Commit Graph

242 Commits

Author SHA1 Message Date
Holger Weiss fbf43f2a31 make-binaries: Include CAPTCHA script with release 2022-05-28 15:00:25 +02:00
Holger Weiss b4c78336a6 make-binaries: Edit rebar.config more carefully
Don't break the (currently nonexistent) case where a dependency's
rebar.config file specifies LDFLAGS before and after "-lstdc++", such as
"-lfoo -lstdc++ -lbar".
2022-05-28 10:21:43 +02:00
Holger Weiss c1ee86e85c make-binaries: Fix linking of EIMP dependencies
Avoid linker errors such as the following when using GCC 10 or newer:

| multiple definition of `gdImageCreateFromJpegPtr'

See: https://gcc.gnu.org/gcc-10/porting_to.html

Fixes #3514.
2022-05-25 20:37:37 +02:00
Holger Weiss e6c1bf9c9a make-binaries: Adjust Mnesia spool directory path
Adjust the default Mnesia directory for compatibility with older binary
packages.

Closes #3818.
2022-05-18 17:08:05 +02:00
Holger Weiss cac31f9325 make-packages: Include systemd unit with RPM
Don't forget to include the /etc/systemd/system/ejabberd.service unit
with the RPM package.

Closes #3816.
2022-05-18 10:20:34 +02:00
Holger Weiss 621445e096 make-installers: Support non-root installation
If the installer is invoked without superuser privileges, warn the user,
ask for the installation prefix, and perform a local installation on
confirmation.
2022-05-17 12:40:12 +02:00
Holger Weiss c54fe5b29e make-installers: Override code on upgrade
Use tar's --skip-old-files option for the data directory (/opt/ejabberd)
only.  Files in the code directory (/opt/ejabberd-$version) should be
overridden on upgrade.
2022-05-16 00:45:01 +02:00
Holger Weiss 6d93d49c6c make-installers: Apply cosmetic changes 2022-05-16 00:13:43 +02:00
Holger Weiss 8addf96f9e make-binaries: Bump dependency versions 2022-05-12 01:02:33 +02:00
Holger Weiss ec36dd7ba1 make-binaries: Bump SQLite and ODBC versions 2022-05-06 14:03:11 +02:00
Badlop 985fa24130 Apparently the --tags option is required to properly describe a brand new tag 2022-05-04 02:39:15 +02:00
Badlop ba5b6133cd Create uninstall.txt with instructions 2022-05-04 02:39:13 +02:00
Badlop 0964f9cbcd Add help header to the installer help 2022-05-04 02:39:12 +02:00
Badlop 06e448b4d0 Once installed, show next steps 2022-05-04 02:39:10 +02:00
Badlop b773bb4cd4 Add some blank lines to output 2022-05-04 02:39:07 +02:00
Holger Weiss 65437d08ef make-binaries: Update to Crosstool-NG 1.25.0-RC2
Update Crosstool-NG to the current release candidate, and use much
shorter "defconfig" files for specifying the configuration.
2022-05-04 00:30:36 +02:00
Holger Weiss a7dc1de980 make-binaries: Try to avoid rebuilding deps
Don't rebuild external dependencies if all of them are up to date.
2022-05-04 00:30:36 +02:00
Holger Weiss ce6f32906a Import script for building command line installers
The tools/make-installers script creates command line installers for
Linux/x64 and Linux/arm64 systems using the archives built by the
tools/make-binaries script.
2022-05-04 00:30:36 +02:00
Holger Weiss ef7470b503 Import script for building DEB and RPM packages
The tools/make-packages script creates DEB and RPM packages for
Linux/x64 and Linux/arm64 systems using the archives built by the
tools/make-binaries script.
2022-05-04 00:30:36 +02:00
Holger Weiss 853be230a8 Import script for building Linux binaries
The tools/make-binaries script creates self-contained OTP releases for
Linux/x64 and Linux/arm64 systems.  All optional ejabberd features are
supported.  Erlang/OTP, Elixir, and all dependencies are downloaded and
built from source (using crosstool-NG).  The generated binaries depend
on glibc 2.17 or later, all other external libraries are linked
statically.

The script should work on any non-ancient Linux/x64 system and requires
just a few common development tools (to bootstrap crosstool-NG).

The release is installed by creating an "ejabberd" user, extracting the
archive into /opt, and moving the systemd unit (or init script) into
place.
2022-05-04 00:30:36 +02:00
Badlop 231dfd776f Support Erlang 25 in "make options": returns attribute with simpler syntax
This was introduced in Erlang/OTP 25.0-rc1
https://erlang.org/download/otp_src_25.0-rc1.readme
https://github.com/erlang/otp/pull/5509

  OTP-17894    Application(s): syntax_tools
               Related Id(s): PR-5509

               The erl_syntax_lib:analyze_attribute/1 function would
               return {Name, {Name, Value}} instead of {Name, Value}
               (which is the documented return value).
2022-02-24 01:02:51 +01:00
Badlop b3211b1f71 Update copyright year to 2022 2022-02-11 09:39:25 +01:00
Kian-Meng Ang adf0f87e99 Fix typos 2022-01-24 08:02:04 +08:00
Badlop 84d23e60d1 In POSIX sh, RANDOM is undefined: use always the other method 2021-12-23 13:57:12 +01:00
Badlop f4e2d278ba Dollar is unnecessary on arithmetic variables 2021-12-23 13:57:10 +01:00
Badlop d8be168cff Use dollar notation instead of legacy backticked 2021-12-23 13:57:08 +01:00
ballerburg9005 14bf197be1
"sort -R" command not POSIX, added "shuf" and "cat" as fallback 2021-08-12 15:14:31 +02:00
Badlop 4914b33f8c Support the recent changes in the "ejabberdctl help" command (#3569) 2021-04-15 20:25:54 +02:00
Badlop 9525978f26 Fix INTRUDER and add padding to second text line
b41ce8828c (r47461104)
2021-03-12 20:50:41 +01:00
Badlop c8bec07c45 Clone to the dir specified in rebar.config... useful for erlang-sqlite3 2021-02-23 19:45:41 +01:00
Holger Weiß b41ce8828c
Add question/answer-based CAPTCHA script (#3533)
* New captcha.sh question/answer based

* Keep original CAPTCHA script

Rather than replacing the original CAPTCHA script, keep it next to the
new one, for the moment.

* CAPTCHA-ng script cleanup

* remove various bashisms
* replace all echos with printf
+ add quotations to many variables

Co-authored-by: Adrien Bourmault <neox@os-k.eu>
Co-authored-by: nico wellpott <nico@magicbroccoli.de>
2021-02-22 09:34:02 +01:00
Badlop 09f5e2aa03 Improve support for rebar3 in "make translations" 2021-02-19 17:00:32 +01:00
Badlop 18c9f5eedf Create annotated tags, meant for releases, instead of lightweight (#3512) 2021-02-16 13:09:27 +01:00
Badlop 26ee3141a9 Improve prepare-tr so *.msg files inform to not edit them (#3484) 2021-02-02 18:58:36 +01:00
Badlop 6e0161470e Update newest copyright year to 2021 (#3464) 2021-01-27 17:02:06 +01:00
Badlop 0b55ded612 When running "make translations" use the external ejabberd_po repository 2021-01-22 13:16:42 +01:00
Paweł Chmielowski cb6322a3a7 Add option to check for missing hex releases to update script 2020-12-18 16:43:20 +01:00
Paweł Chmielowski 9c221848d7 Correctly sort mixed versions vX.Y and X.Y in update-deps script 2020-12-18 16:42:41 +01:00
Paweł Chmielowski 90e0293df3 Update one more place where we had -include("xmpp.hrl") 2020-09-03 14:30:04 +02:00
Badlop e7575ab63f For mod_vcard_* modules, redirect options to mod_vcard 2020-08-21 18:08:59 +02:00
Badlop db2825342c Revert "Dirty workarounds to compile jiffy with Erlang/OTP 23 (#3282)"
This reverts commit 2ca5712507.
2020-07-15 12:12:42 +02:00
Badlop 2ca5712507 Dirty workarounds to compile jiffy with Erlang/OTP 23 (#3282)
Works for me with:
./configure --disable-pam
./rebar get-deps
./rebar configure-deps
./rebar compile
make install

changes in erlang-native-compiler used by jiffy:

src/rebar_port_compiler.erl
-     {"ERL_LDFLAGS"  , " -L$ERL_EI_LIBDIR -lerl_interface -lei"},
+     {"ERL_LDFLAGS"  , " -L$ERL_EI_LIBDIR -lei"},

src/rebar_utils.erl
--dialyzer({no_missing_calls, escript_foldl/3}).
2020-06-01 10:33:06 +02:00
Badlop 64c09c20eb Hide false-positive warnings about mod_delegation Type atom and NS binary 2020-05-07 22:29:54 +02:00
Badlop e6a3b1fa68 Extract translatable strings also from the xmpp library 2020-05-04 16:25:42 +02:00
Badlop 99d21bca49 Don't extract for translation strings from man pages, at least for now 2020-04-17 19:23:18 +02:00
Badlop 1b98084918 Fix previous commit 2020-04-17 19:23:13 +02:00
Badlop d311eaf8f3 Log messages generated by msgmerge and display unexpected ones 2020-04-17 17:28:43 +02:00
Badlop 2d32c66fd7 Update copyright to 2020 (#3149) 2020-01-28 15:49:23 +01:00
Evgeny Khramtsov 5a976719fb Introduce 'vcard' option for the modules supporting vCards
The mapping between vCard's XML elements and YAML elements
of 'vcard' option is straightforward. For example, if you
want mod_muc to return the following vCard:
```
<vCard xmlns='vcard-temp'>
  <FN>Conferences</FN>
  <ADR>
    <WORK/>
    <STREET>Elm Street</STREET>
  </ADR>
</vCard>
```
you need to set the configuration as:
```
modules:
  ...
  mod_muc:
    vcard:
      fn: Conferences
      adr:
        -
          work: true
          street: Elm Street
  ...
```
2019-08-02 13:59:42 +03:00
Evgeny Khramtsov 35576b4608 Improve hooks validator and fix bugs related to hooks registration 2019-07-29 10:46:20 +03:00
Evgeny Khramtsov 9ef52f2b0f Fix UTF-8 support in translation files 2019-07-24 11:34:40 +03:00
Evgeny Khramtsov 0e48adb1ed Fix opt_type.sh script and re-generate options 2019-07-16 18:06:51 +03:00
Evgeny Khramtsov 49214d9cc5 Report invalid translation strings 2019-06-24 21:09:29 +03:00
Evgeny Khramtsov e788592a88 Generate paths for poedit 2019-06-22 18:07:36 +03:00
Evgeny Khramtsov 1ca61821c6 Update extract-tr.sh script 2019-06-22 17:24:15 +03:00
Evgeny Khramtsov 00f2a736eb Improve extraction of translated strings
Now every such string MUST be encapsulated into ?T() macro.
The macro itself is defined in include/translate.hrl.
Example:

-module(foo).
-export([bar/1]).
-include("translate.hrl").

bar(Lang) ->
    translate:translate(Lang, ?T("baz")).
2019-06-22 17:08:45 +03:00
Evgeny Khramtsov 27a1771deb Fix creation of type spec for map() options 2019-06-20 19:09:36 +03:00
Christophe Romain 4fe995c272 Add helper to check xep implementations and versions 2019-06-17 12:02:23 +02:00
Evgeny Khramtsov a205ebad2b Get rid of "well-known" type 2019-06-15 12:53:16 +03:00
Evgeny Khramtsov ea76b87461 Ignore beams compiled by Elixir 2019-06-14 23:35:51 +03:00
Evgeny Khramtsov 56a0e736c7 Accept output argument in tools/opt_types.sh 2019-06-14 23:19:08 +03:00
Evgeny Khramtsov a02cff0e78 Use new configuration validator 2019-06-14 12:33:26 +03:00
Mickaël Rémond b90fe4c5c9
Improve captcha.sh script documentation 2019-05-25 11:21:30 +02:00
Evgeny Khramtsov 7c16e29984 Write hooks_type_test.erl to correct location 2019-05-15 21:45:30 +03:00
Evgeny Khramtsov 7a03a125aa Make static hooks analyzer working again 2019-05-15 21:40:36 +03:00
Paweł Chmielowski a40eb79cd0 Commit back, change reverted by mistake 2019-02-26 12:16:48 +01:00
Paweł Chmielowski daf9c99728 Update deps 2019-02-26 10:32:02 +01:00
Paweł Chmielowski 65b94ae9c8 Improve update-deps-releases 2019-02-26 10:32:02 +01:00
Badlop 4947e97ccd Provide source code filename in *.po, so editors can show the source code 2019-02-22 12:31:02 +01:00
Badlop 17a59b795f Fix "make translations", got broken in 446e6e6f3 2019-02-22 12:30:05 +01:00
Badlop 55417dfb37 Update copyright to 2019 (#2756) 2019-01-08 22:53:27 +01:00
Paweł Chmielowski 06d69c5277 Fix decompressing of custom elements with custom namespace 2019-01-07 16:08:58 +01:00
Paweł Chmielowski 0b31aa490b Add xml compression to sql backend of mam 2018-11-28 11:25:16 +01:00
Paweł Chmielowski dce4e4de6d Add check for files missing in hex packaging 2018-06-29 12:51:20 +02:00
Evgeniy Khramtsov 446e6e6f3b Update ejabberd.pot 2018-06-20 12:32:10 +03:00
Evgeniy Khramtsov 66fc1bf3b6 Remove 'iqdisc' option
Since we got rid of all bottle-neck processes and we have
a connection pool for every database, the option is no longer
needed and in fact is detrimental: in practice what you get
is just a bunch of overloaded processes in the IQ handlers pool
no matter how much you increase the `iqdisc` value.

Given that there are close to zero operators understanding
the meaning of the option and, hence, not using it all,
it's not simply deprecated but completely removed.

The commit also deprecates the following functions:
- gen_iq_handler:add_iq_handler/6
- gen_iq_handler:handle/5
- gen_iq_handler:iqdisc/1
2018-02-11 12:54:15 +03:00
Paweł Chmielowski 4b9d299e90 Make update-deps-releases.pl work with older perl 2017-11-20 10:41:52 +01:00
Paweł Chmielowski e2f4cb5838 Remove find-outdated-deps script, we have better replacement for it 2017-10-02 11:49:34 +02:00
Evgeniy Khramtsov 6658806820 Generate more readable code for run_fold hooks 2017-10-02 10:47:03 +03:00
Badlop 221e58fff0 Simplify prepare-tr.sh to work with new extract-tr.sh 2017-09-27 10:57:03 +02:00
Badlop 9b043ae276 Move prepare-translations.sh from contrib to tools/prepare-tr.sh 2017-09-27 10:56:58 +02:00
Evgeniy Khramtsov adfb924808 Replace translate:mark/1 with ?T() macro 2017-09-24 12:42:35 +03:00
Evgeniy Khramtsov c378ea403e Add script to extract translation strings 2017-09-24 00:08:01 +03:00
Paweł Chmielowski b1082a96c9 Add ability to update changelog in update-deps-releases 2017-07-20 11:43:25 +02:00
Paweł Chmielowski 43fc29873e Add refresh repos option in update-deps-releases 2017-07-14 15:08:13 +02:00
Paweł Chmielowski 9dd03c873c Fix clone code in update-deps-release 2017-06-28 16:47:31 +02:00
Paweł Chmielowski dc7fa076d7 Fix problem with updating deps in rebar.config for non-tags 2017-06-28 16:36:59 +02:00
Paweł Chmielowski 85a08a087b Improve update-deps-releases deps parsing 2017-06-27 14:56:00 +02:00
Paweł Chmielowski 10fcfa860a Show operations to perform before asking to apply them 2017-06-14 14:05:41 +02:00
Paweł Chmielowski d8f05acb67 Add script for managing updates to deps 2017-06-12 19:23:41 +02:00
Holger Weiss c76253cb0a tools/hook_deps.sh: Search for escript in PATH 2017-02-23 17:38:56 +01:00
Paweł Chmielowski 7c2ccb2cb7 Add tool for checking which dependences need update 2017-01-23 12:24:25 +01:00
Evgeniy Khramtsov 1176e1f096 Add script to check hook dependencies 2017-01-16 17:14:33 +03:00
Evgeniy Khramtsov 6a3691ef7c Add xdata generator and make some code using it 2016-10-07 10:31:03 +03:00
Evgeniy Khramtsov 3112a7187f Test anonymous auth 2016-09-25 09:57:56 +03:00
Evgeniy Khramtsov fa31e3ef23 Deprecate jlib:integer_to_binary/1 and jlib:binary_to_integer/1 2016-09-24 23:34:28 +03:00
Evgeniy Khramtsov 58969fb854 Improve namespace handling 2016-09-24 14:17:21 +03:00
Evgeniy Khramtsov 53209b9ab1 Add tests for s2s code 2016-09-23 12:30:33 +03:00
Evgeniy Khramtsov e987b88848 Make common tests working again 2016-09-13 12:30:05 +03:00
Evgeniy Khramtsov c29a48695d Rename #error{} record to #stanza_error{} 2016-09-08 17:08:48 +03:00