ejabberd 2.1 beta1 has been released for testing purposes - first beta of the upcoming ejabberd-2.1.0 is available. Reproducible: Always Steps to Reproduce:
Several parts of ejabberdctl and src_install might be unnecessary now. I am working on a new ebuild respecting that.
ProcessOne has released the second beta of ejabberd 2.1.0. It's available at http://www.process-one.net/downloads/ejabberd/2.1.0-beta2/ The changes between this second beta and previous one are: A STUN server has been added, see the ejabberd Guide for configuration details Updated many translation files: Chinese, Dutch, French, Galician, German, Italian, Norwegian, Polish, Portugese (Brazil), Russian, Slovak, Spanish, Turkish, and Ukrainian PubSub fixes MUC and doc improvements A few bugfixes
Created attachment 201880 [details] promised ebuild The attached ebuild presents a cleanup of the original ebuild and uses EAPI2.
Created attachment 201884 [details, diff] patch against 2.0.5-r3 (to 2.1.0_beta2)
There is a few problems with previous ebuild 1) There is two docs dirs into /usr/share/doc, with partially duplicated contents, as emake install also installs them, but into /usr/share/doc/${PN} 2) It's using original ejabberdctl, which is just overloaded with not really needed, in view of gentoo baselayout system, features and acting as installer in some cases, making it an efficient tool to garbage your installation and violate portage consistency regulation in right hands ;) 3) It's installs ejabberd into /usr/share directory, while it should be located into /usr/lib/erlang/lib/, as Erlang regulations require (otherwise it could be problematic for other programs to find ejabberd modules, if they will want to) (or ERL_DIR variable into /etc/env.d should be supplied).
Created attachment 202123 [details, diff] new diff from ejabberd-2.0.5-r3 here is new version of ebuild implemented in "old way", but contain some cleanups from previous ebuild & added CAPTCHA support, missed in previous ebuild
Created attachment 202124 [details, diff] add path to html docs to wrapper
Created attachment 202125 [details, diff] add description of new USE flags
Created attachment 202127 [details] & finally - full new ebuild
(In reply to comment #5) > There is a few problems with previous ebuild > > 1) There is two docs dirs into /usr/share/doc, with partially duplicated > contents, as emake install also installs them, but into /usr/share/doc/${PN} I will try to fix that. > 2) It's using original ejabberdctl, which is just overloaded with not really > needed, in view of gentoo baselayout system, features and acting as installer > in some cases, making it an efficient tool to garbage your installation and > violate portage consistency regulation in right hands ;) Ok, I'll try to get rid of it entirely then, for the init system at least. (And possible write a patch to strip out any dangerous stuff from it, leaving just the live, debug, attach, control abilities.) > 3) It's installs ejabberd into /usr/share directory, while it should be located > into /usr/lib/erlang/lib/, as Erlang regulations require (otherwise it could be > problematic for other programs to find ejabberd modules, if they will want to) > (or ERL_DIR variable into /etc/env.d should be supplied). It does not install into /usr/share here... filelist: /usr/sbin/ejabberdctl /usr/lib/ejabberd/priv/msgs/vi.msg /usr/lib/ejabberd/priv/msgs/pt-br.msg /usr/lib/ejabberd/priv/msgs/tr.msg /usr/lib/ejabberd/priv/msgs/ru.msg /usr/lib/ejabberd/priv/msgs/de.msg /usr/lib/ejabberd/priv/msgs/pt.msg /usr/lib/ejabberd/priv/msgs/sk.msg /usr/lib/ejabberd/priv/msgs/es.msg /usr/lib/ejabberd/priv/msgs/th.msg /usr/lib/ejabberd/priv/msgs/eo.msg /usr/lib/ejabberd/priv/msgs/uk.msg /usr/lib/ejabberd/priv/msgs/fr.msg /usr/lib/ejabberd/priv/msgs/no.msg /usr/lib/ejabberd/priv/msgs/nl.msg /usr/lib/ejabberd/priv/msgs/sv.msg /usr/lib/ejabberd/priv/msgs/cs.msg /usr/lib/ejabberd/priv/msgs/zh.msg /usr/lib/ejabberd/priv/msgs/gl.msg /usr/lib/ejabberd/priv/msgs/it.msg /usr/lib/ejabberd/priv/msgs/pl.msg /usr/lib/ejabberd/priv/msgs/ja.msg /usr/lib/ejabberd/priv/msgs/ca.msg /usr/lib/ejabberd/priv/msgs/wa.msg /usr/lib/ejabberd/priv/lib/stringprep_drv.so /usr/lib/ejabberd/priv/lib/expat_erl.so /usr/lib/ejabberd/priv/lib/tls_drv.so /usr/lib/ejabberd/priv/lib/iconv_erl.so /usr/lib/ejabberd/priv/lib/ejabberd_zlib_drv.so /usr/lib/ejabberd/priv/bin/epam /usr/lib/ejabberd/priv/bin/captcha.sh /usr/lib/ejabberd/include/jlib.hrl /usr/lib/ejabberd/include/ejabberd.hrl /usr/lib/ejabberd/include/eldap/eldap.hrl /usr/lib/ejabberd/include/eldap/ELDAPv3.hrl /usr/lib/ejabberd/include/mod_muc/mod_muc_room.hrl /usr/lib/ejabberd/include/mod_roster.hrl /usr/lib/ejabberd/include/ejabberd_ctl.hrl /usr/lib/ejabberd/include/mod_privacy.hrl /usr/lib/ejabberd/include/mod_pubsub/pubsub.hrl /usr/lib/ejabberd/include/ejabberd_commands.hrl /usr/lib/ejabberd/include/mod_proxy65/mod_proxy65.hrl /usr/lib/ejabberd/include/XmppAddr.hrl /usr/lib/ejabberd/include/adhoc.hrl /usr/lib/ejabberd/include/web/ejabberd_http.hrl /usr/lib/ejabberd/include/web/ejabberd_web_admin.hrl /usr/lib/ejabberd/include/ejabberd_config.hrl /usr/lib/ejabberd/ebin/mod_irc.beam /usr/lib/ejabberd/ebin/ejabberd_auth_odbc.beam /usr/lib/ejabberd/ebin/xml_stream.beam /usr/lib/ejabberd/ebin/win32_dns.beam /usr/lib/ejabberd/ebin/mod_roster_odbc.beam /usr/lib/ejabberd/ebin/mod_offline_odbc.beam /usr/lib/ejabberd/ebin/node_pep.beam /usr/lib/ejabberd/ebin/mod_muc_log.beam /usr/lib/ejabberd/ebin/ejabberd_debug.beam /usr/lib/ejabberd/ebin/ejabberd.app /usr/lib/ejabberd/ebin/mod_last_odbc.beam /usr/lib/ejabberd/ebin/mod_version.beam /usr/lib/ejabberd/ebin/mod_disco.beam /usr/lib/ejabberd/ebin/mod_adhoc.beam /usr/lib/ejabberd/ebin/ejabberd_auth_pam.beam /usr/lib/ejabberd/ebin/ejabberd_stun.beam /usr/lib/ejabberd/ebin/node_buddy.beam /usr/lib/ejabberd/ebin/p1_fsm.beam /usr/lib/ejabberd/ebin/mod_ping.beam /usr/lib/ejabberd/ebin/ejabberd_web.beam /usr/lib/ejabberd/ebin/ejabberd_node_groups.beam /usr/lib/ejabberd/ebin/mod_offline.beam /usr/lib/ejabberd/ebin/ejabberd_config.beam /usr/lib/ejabberd/ebin/eldap_utils.beam /usr/lib/ejabberd/ebin/pubsub_db_odbc.beam /usr/lib/ejabberd/ebin/mod_privacy_odbc.beam /usr/lib/ejabberd/ebin/mod_echo.beam /usr/lib/ejabberd/ebin/node_pep_odbc.beam /usr/lib/ejabberd/ebin/node_flat.beam /usr/lib/ejabberd/ebin/mod_muc.beam /usr/lib/ejabberd/ebin/ELDAPv3.beam /usr/lib/ejabberd/ebin/mod_service_log.beam /usr/lib/ejabberd/ebin/mod_muc_room.beam /usr/lib/ejabberd/ebin/ejabberd_logger_h.beam /usr/lib/ejabberd/ebin/ejabberd_local.beam /usr/lib/ejabberd/ebin/nodetree_virtual.beam /usr/lib/ejabberd/ebin/ejabberd_auth_ldap.beam /usr/lib/ejabberd/ebin/ejd2odbc.beam /usr/lib/ejabberd/ebin/mod_pubsub_odbc.beam /usr/lib/ejabberd/ebin/mod_http_fileserver.beam /usr/lib/ejabberd/ebin/ejabberd_check.beam /usr/lib/ejabberd/ebin/acl.beam /usr/lib/ejabberd/ebin/ejabberd_ctl.beam /usr/lib/ejabberd/ebin/eldap_filter.beam /usr/lib/ejabberd/ebin/extauth.beam /usr/lib/ejabberd/ebin/ejabberd_app.beam /usr/lib/ejabberd/ebin/mod_privacy.beam /usr/lib/ejabberd/ebin/epam.beam /usr/lib/ejabberd/ebin/treap.beam /usr/lib/ejabberd/ebin/mod_private.beam /usr/lib/ejabberd/ebin/ejabberd_hooks.beam /usr/lib/ejabberd/ebin/nodetree_tree.beam /usr/lib/ejabberd/ebin/ejabberd_auth.beam /usr/lib/ejabberd/ebin/mod_ip_blacklist.beam /usr/lib/ejabberd/ebin/ejabberd_auth_anonymous.beam /usr/lib/ejabberd/ebin/ejabberd_socket.beam /usr/lib/ejabberd/ebin/cyrsasl_anonymous.beam /usr/lib/ejabberd/ebin/ejabberd_c2s_config.beam /usr/lib/ejabberd/ebin/ejabberd_http_bind.beam /usr/lib/ejabberd/ebin/node_public.beam /usr/lib/ejabberd/ebin/gen_pubsub_node.beam /usr/lib/ejabberd/ebin/jd2ejd.beam /usr/lib/ejabberd/ebin/node_private.beam /usr/lib/ejabberd/ebin/cyrsasl_digest.beam /usr/lib/ejabberd/ebin/mod_shared_roster.beam /usr/lib/ejabberd/ebin/mod_pubsub.beam /usr/lib/ejabberd/ebin/randoms.beam /usr/lib/ejabberd/ebin/mod_vcard.beam /usr/lib/ejabberd/ebin/mod_last.beam /usr/lib/ejabberd/ebin/mod_http_bind.beam /usr/lib/ejabberd/ebin/node_dispatch.beam /usr/lib/ejabberd/ebin/mod_announce.beam /usr/lib/ejabberd/ebin/gen_mod.beam /usr/lib/ejabberd/ebin/ejabberd_sup.beam /usr/lib/ejabberd/ebin/idna.beam /usr/lib/ejabberd/ebin/nodetree_dag.beam /usr/lib/ejabberd/ebin/shaper.beam /usr/lib/ejabberd/ebin/ejabberd_tmp_sup.beam /usr/lib/ejabberd/ebin/ejabberd_loglevel.beam /usr/lib/ejabberd/ebin/node_dag.beam /usr/lib/ejabberd/ebin/node_hometree_odbc.beam /usr/lib/ejabberd/ebin/ejabberd_http_poll.beam /usr/lib/ejabberd/ebin/ejabberd_system_monitor.beam /usr/lib/ejabberd/ebin/ejabberd_zlib.beam /usr/lib/ejabberd/ebin/xml.beam /usr/lib/ejabberd/ebin/gen_iq_handler.beam /usr/lib/ejabberd/ebin/ejabberd_s2s_in.beam /usr/lib/ejabberd/ebin/gen_pubsub_nodetree.beam /usr/lib/ejabberd/ebin/ejabberd_frontend_socket.beam /usr/lib/ejabberd/ebin/ejabberd_router.beam /usr/lib/ejabberd/ebin/tls.beam /usr/lib/ejabberd/ebin/mod_proxy65.beam /usr/lib/ejabberd/ebin/stringprep.beam /usr/lib/ejabberd/ebin/dynamic_compile.beam /usr/lib/ejabberd/ebin/ejabberd_s2s.beam /usr/lib/ejabberd/ebin/ejabberd_sm.beam /usr/lib/ejabberd/ebin/node_hometree.beam /usr/lib/ejabberd/ebin/nodetree_tree_odbc.beam /usr/lib/ejabberd/ebin/cyrsasl_plain.beam /usr/lib/ejabberd/ebin/eldap_pool.beam /usr/lib/ejabberd/ebin/ejabberd_rdbms.beam /usr/lib/ejabberd/ebin/ejabberd_listener.beam /usr/lib/ejabberd/ebin/pubsub_subscription.beam /usr/lib/ejabberd/ebin/mod_vcard_ldap.beam /usr/lib/ejabberd/ebin/mod_vcard_odbc.beam /usr/lib/ejabberd/ebin/cyrsasl.beam /usr/lib/ejabberd/ebin/mod_proxy65_stream.beam /usr/lib/ejabberd/ebin/p1_mnesia.beam /usr/lib/ejabberd/ebin/mod_configure2.beam /usr/lib/ejabberd/ebin/ejabberd_captcha.beam /usr/lib/ejabberd/ebin/mod_configure.beam /usr/lib/ejabberd/ebin/mod_proxy65_lib.beam /usr/lib/ejabberd/ebin/ejabberd_auth_external.beam /usr/lib/ejabberd/ebin/mod_private_odbc.beam /usr/lib/ejabberd/ebin/stun_codec.beam /usr/lib/ejabberd/ebin/adhoc.beam /usr/lib/ejabberd/ebin/ejabberd_receiver.beam /usr/lib/ejabberd/ebin/mod_irc_connection.beam /usr/lib/ejabberd/ebin/ejabberd_update.beam /usr/lib/ejabberd/ebin/node_flat_odbc.beam /usr/lib/ejabberd/ebin/ejabberd_s2s_out.beam /usr/lib/ejabberd/ebin/eldap.beam /usr/lib/ejabberd/ebin/mod_proxy65_sm.beam /usr/lib/ejabberd/ebin/pubsub_index.beam /usr/lib/ejabberd/ebin/mod_register.beam /usr/lib/ejabberd/ebin/mod_caps.beam /usr/lib/ejabberd/ebin/sha.beam /usr/lib/ejabberd/ebin/ejabberd.beam /usr/lib/ejabberd/ebin/ejabberd_web_admin.beam /usr/lib/ejabberd/ebin/ejabberd_service.beam /usr/lib/ejabberd/ebin/iconv.beam /usr/lib/ejabberd/ebin/mod_roster.beam /usr/lib/ejabberd/ebin/ejabberd_auth_internal.beam /usr/lib/ejabberd/ebin/ejabberd_commands.beam /usr/lib/ejabberd/ebin/translate.beam /usr/lib/ejabberd/ebin/mod_time.beam /usr/lib/ejabberd/ebin/XmppAddr.beam /usr/lib/ejabberd/ebin/ejabberd_admin.beam /usr/lib/ejabberd/ebin/stringprep_sup.beam /usr/lib/ejabberd/ebin/node_mb.beam /usr/lib/ejabberd/ebin/node_club.beam /usr/lib/ejabberd/ebin/ejabberd_http.beam /usr/lib/ejabberd/ebin/ejabberd_piefxis.beam /usr/lib/ejabberd/ebin/jlib.beam /usr/lib/ejabberd/ebin/mod_proxy65_service.beam /usr/lib/ejabberd/ebin/pubsub_subscription_odbc.beam /usr/lib/ejabberd/ebin/ejabberd_c2s.beam /usr/lib/ejabberd/ebin/mod_stats.beam /usr/share/doc/ejabberd/release_notes_1.0.0.txt /usr/share/doc/ejabberd/release_notes_0.9.txt /usr/share/doc/ejabberd/release_notes_1.1.3.txt /usr/share/doc/ejabberd/release_notes_2.0.2.txt /usr/share/doc/ejabberd/release_notes_0.9.8.txt /usr/share/doc/ejabberd/release_notes_1.1.1.txt /usr/share/doc/ejabberd/release_notes_1.1.0.txt /usr/share/doc/ejabberd/release_notes_2.0.1.txt /usr/share/doc/ejabberd/webadmmain.png /usr/share/doc/ejabberd/discorus.png /usr/share/doc/ejabberd/webadmmainru.png /usr/share/doc/ejabberd/logo.png /usr/share/doc/ejabberd/release_notes_0.9.1.txt /usr/share/doc/ejabberd/release_notes_2.0.5.txt /usr/share/doc/ejabberd/release_notes_2.0.4.txt /usr/share/doc/ejabberd/release_notes_2.0.3.txt /usr/share/doc/ejabberd/release_notes_2.1.0.txt /usr/share/doc/ejabberd/release_notes_2.0.0.txt /usr/share/doc/ejabberd/yozhikheader.png /usr/share/doc/ejabberd/guide.html /usr/share/doc/ejabberd/release_notes_1.1.4.txt /usr/share/doc/ejabberd/release_notes_1.1.2.txt /usr/share/doc/ejabberd-2.1.0_beta2/release_notes_2.1.0.txt.xz /usr/share/doc/ejabberd-2.1.0_beta2/html/webadmmain.png /usr/share/doc/ejabberd-2.1.0_beta2/html/discorus.png /usr/share/doc/ejabberd-2.1.0_beta2/html/webadmmainru.png /usr/share/doc/ejabberd-2.1.0_beta2/html/dev.html /usr/share/doc/ejabberd-2.1.0_beta2/html/logo.png /usr/share/doc/ejabberd-2.1.0_beta2/html/features.html /usr/share/doc/ejabberd-2.1.0_beta2/html/yozhikheader.png /usr/share/doc/ejabberd-2.1.0_beta2/html/guide.html /etc/conf.d/ejabberd /etc/jabber/ejabberd.cfg /etc/jabber/inetrc /etc/jabber/self-cert.sh /etc/jabber/ejabberdctl.cfg /etc/jabber/ssl.cnf /etc/pam.d/xmpp /etc/init.d/ejabberd
Created attachment 202132 [details] ebuild + correct docdir + captcha useflag + minor fixes I fixed the docdir issue (econf does not set --docdir by itself), fixed some other minor issues and added the useflag/dependency for captcha support.
Created attachment 202133 [details, diff] patch against 2.0.5-r3 (-> 2.1.0_beta2) I do not like messing with the sample config, as that will have to be adjusted whenever the sample config is changed (plugin configs might get multiple lines, paths may change).
(In reply to comment #10) > (In reply to comment #5) > > 3) It's installs ejabberd into /usr/share directory, while it should be located > > into /usr/lib/erlang/lib/, as Erlang regulations require (otherwise it could be > > problematic for other programs to find ejabberd modules, if they will want to) > > (or ERL_DIR variable into /etc/env.d should be supplied). > It does not install into /usr/share here... > filelist: sorry, "typo" /usr/share -> /usr/lib.
(In reply to comment #13) > sorry, "typo" /usr/share -> /usr/lib. > also, apps inside erlang/lib/ should installed in ${P}, not ${PN}
(In reply to comment #14) > (In reply to comment #13) > > sorry, "typo" /usr/share -> /usr/lib. > > > also, apps inside erlang/lib/ should installed in ${P}, not ${PN} badlop of ejabberd says that he could not find any official documentation about how Erlang wants third party programs to be installed. So he looked at how other programs install themselve from source, and how other distributions install them, and just followed that example. If you can point him/us to any official guideline on third party program installation, telling where and how they shall be installed, he/we would be glad.
Probably that is such a doc? http://www.erlang.org/doc/design_principles/applications.html#app_dir Anyway, this is default ERL_LIBS path, so, if any developer will want to use some of ejabberd modules, for it's own ejabberd-module development, for example, he will be forced to use some -pa switches or ERL_LIBS, of something like that. (It's also possible to embed other application into yours, but as ejabberd isn't strictly OTP-compilant this is hardly possible with it, but maybe this will be fixed later) While there is no harm of following Erlang's firmware-like structure, but it removes some possibility of problems, I suppose that every Erlang application should be installed in such way, until some conflicts will rise up. As now ejabberd only Erlang application in tree, I suppose we may install it harmless, as it will also provide some usefull modules from CEAN, but later, if P1 will not fix all their mess with namespacing, it should be somehow isolated.
The installation path issue has an upstream tracker entry: https://support.process-one.net/browse/EJAB-696
Created attachment 202173 [details, diff] install doc via --docdir & remove garbage after it (In reply to comment #11) > I fixed the docdir issue (econf does not set --docdir by itself) > Seems ejabberd have hardcoded EJABBERD_DOC_PATH to /share/doc/ejabberd/guide.html. So, new template still needed =/
The first realease candidate of ejabberd 2.1 has been released by ProcessOne. you can grab it at: http://www.process-one.net/downloads/ejabberd/2.1.0-rc1/ The changes brought since beta2 include: More PubSub fixes BOSH module optimization and clean-up S2S fixes Translation updates: Japanese, Esperanto, Swedish Support Zlib compression after STARTTLS encryption Rename erlang log file sasl.log to erlang.log Remove the word "END" of release_notes file because it seems unnecessary ;-)
Created attachment 203918 [details, diff] patch 2.0.5-r3 --> 2.1.0_rc1
Testing the new patch. Works for me pretty well. Did (limited) testing with both R12 and R13 (upstream still recommends R12, calls R13 "experimental"). Took me a while to figure out how the ejabberdctl functionality got split. I followed the discussion on why, but the fact that a diverges from the processone docs is a bit of a concern? I wonder if ejabberdctl should be mod'd to explicitly say that start isn't supported and init.d/ejabberd should be used instead? Otherwise you get weird nodedown message with no clue? Also, "live" isn't supported, neither through init.d nor ebabberdctl. I tend to use it, so ... You can still get it (for better or worse?) via /usr/sbin/ejabberd ... but ... given that init.d sets up things to run under the jabber id, if you do this as root, well you send yourself into hell. The server writes various /var files as root and then trying to start as jabber, e.g., via init.d, just stops with no messages. It tries to drop an erlang dump but can't in root, but even if it does, it's not very helpful. Ended up being the cookie file in /var/run/jabber but was a pain to find. I'm just wondering how to help people not get completely confused, given that ejabbberd is considered a bit hard to manage anyway. Add "live" support in init.d? Add some kind of error/warning in sbin/ejabberd if run as a different user (yuck).
The second release candidate of ejabberd 2.1 has been published by ProcessOne. The list of changes in RC2 compared to RC1 are: Use queue to reduce quadratic time effort on selective receive. Pack presences stored in C2S processes to reduce memory consumption. Support gen_tcp send timeout to close the connection if the destination has disconnected ungracefully or cannot keep up with the rate at which we are sending data. Pubsub node names are used verbatim, without separating by slash, unless a node plugin uses its own separator. Many miscellaneous fixes and improvements in PubSub, PEP and Caps. New general option max_fsm_queue. New option backlog for ejabberd_listener to increase TCP backlog. New mod_pubsub option max_items_node. New CAPTCHA example script. In default config, only local accounts can create rooms and pubsub nodes. New Greek translation. Also updated Catalan and Polish. Improve compilation in Mac OS X Snow Leopard. ...new ebuild in progress...
copy RC1 to RC2 works fine.
Created attachment 208978 [details, diff] patch (2.0.5-r3->2.1.0_rc2) My variant of the 2.1 ebuild, including abovementioned improvements.
ejabberd 2.1.0 is finally released, and it comes with an enormous list of 314 new features, improvements and bugfixes. It has been 21 months since the last major ejabberd release 2.0.0, and 8 months since 2.0.5. Very brief list of additions: Erlang/OTP R13 support HTTP-Bind (BOSH) optimization and clean-up LDAPS support MUC rooms can require a CAPTCHA to join the room PubSub: major improvements. Update to XEP version 1.12 PEP and Caps: many improvements Run commands with ejabberdctl or other frontends (XML-RPC, HTTP) STUN server XEPs like: XMPP Ping, Roster Versioning, Import/Export Format
Created attachment 210162 [details, diff] ejabberd-2.0.5-r3.ebuild --> ejabberd-2.1.0.ebuild diff New diff. Also resolve bug #288414
I have an suggestion to move self-cert.sh with ssl.conf from /etc/jabberd to /usr/share/doc/${P}/ssl It's useful only once and only if you agreed how it does certs. It just annoying and, if it would be installed with dobin/newins, it will not be compressed for doc dir, and could be used as simply as now it is,
Created attachment 210348 [details, diff] ejabberd-2.1.0.evadim-nn.diff A small improvements for Vadim's ebuild. Patch done from his version. (don't look on bad formatting, it's just because gentoo syntax uses 4 symbols for tab instead of normal 8 symbols, so diff may look bad, but in ebuild it will be ok (at least in vim ;)))
Created attachment 210349 [details] files/self-cert-v3.sh New script for self-certing. Written from scratch. In my ebuild it's placed into /usr/share/doc/${PF}/ssl, reads (default) config from /etc/ssl/ejabberd.cnf and writes output (default) into /etc/jabber/ssl.pem Also, you may use full files from here: http://git.niifaq.ru/portage-niifaq/tree/net-im/ejabberd
We are pleased to announce the bugfix release ejabberd 2.1.1, which was published on the 17th of December. ejabberd 2.1.1 contains several important bugfixes over last month's major release. None of the fixes is critical, but you are encouraged to update if you are running ejabberd 2.1.0. rename ebuild works.
I've put everything from this bug report and also live ebuild into my overlay (layman -a rion) everything seems to work fine except ssl (tested with live ebuild). it just timeouts. I didn't try to debug this since i'm quite sleepy atm but this worked w/o ssl modifications in these ebuilds earlier.
Why using patches? They sort of get outdated really fast, and are extremely inconvinient towards end-user. E.g. #patch < ejabberd-2.1.0.ebuild.diff patching file ejabberd-2.0.5-r3.ebuild Hunk #1 FAILED at 1. Would you kindly post full ebuilds from now on?
(In reply to comment #32) > Why using patches? They sort of get outdated really fast, and are extremely > inconvinient towards end-user. > Would you kindly post full ebuilds from now on? Maybe in addition to the patch, for convenience. But Gentoo devs prefer patches as far as my understanding goes, thus I will continue to post patches.
Created attachment 214845 [details, diff] patch 2.0.5-r3 -> 2.1.1
Created attachment 214847 [details] ebuild
I'm fine with full files in addition to patches, though I never noticed preference towards /ebuild/ patches in any of gentoo devs I happened to talk to. Not sure where you got that impression from, but let's leave it at that.
There's no wrapper script installed with ejabberd-2.1.1.ebuild, and ejabbredctl says something like 'account is not available atm' and exits. I suddenly feel like staying on 2.0.5 for a bit more.
This bug is opened for too long... Lets finally squash it down. I've commited preliminary version of ebuild into my overlay: svn co http://overlays.gentoo.org/dev/pva/net-im/ejabberd This ebuild is based on Andrian Nord and Vadim's work (yea I need something to start with and since we use Vadim's ebuild at gentoo.ru I've started with it). While I do my tests, guys could you try it (not on production, of course) and tell me what you think? Dennis, are there any specific things you wish to change? I found that your ebuild and Vadim's are rather close...
(In reply to comment #38) > Dennis, are there any specific things you wish to change? I found that your > ebuild and Vadim's are rather close... iirc he was using some deprecated || dies, I improved some formatting and quoting consistency. I think that sums up the differences.
Just small status update on this issue. I've updated ebuild and currently it became closer to what it should became eventually in the tree: 1. I moved all source modification part to src_prepare() as it should be 2. Paths configuration is done there too. It's actually a bit hacky but the reason is that we avoid upstream paths and enjoy our /etc/jabber no matter what. Still it works but I'll try to send better patch upstream later (most probably with next version bump) 3. I've decided to use upstream's ejabberdctl script. It works rather nice here, but it occurred that su in Gentoo has bug 301957 and without fix ejabberdctl is unable to work. I hope to have fix in portage to the moment I'll finish my tests. 4. now ebuild uses ssl-cert eclass - standard approach for ebuilds but still useful and configurable (just take a look at eclass to see what variables it's possible to modify, then these variables into /etc/portage/env/net-im/ejabberd and you'll get nice certificate for ejabberd during package installation; and once you'll wish to update certificate, just remove it from /etc/ and reinstall (probably binary) package). 5. I've pushed erlang[ssl] dependency to fix bug 288414. This issue it's better to discuss on that bug. 6. Finally what's left is init scripts: there is ejabberd-3.initd, from which it's possible to get idea what'll happen with it in future (basically it'll run ejabberdctl as suggested by Roy at bug 210234). I'm going to add possibility to pass command line options for ejabberdctl there and still it needs some tests. This way I hope we'll fix all known bugs at the moment. Comments are and bug reports are welcome.
Has anyone taken a look at Ycarus' stuff (layman -a zugaina)? Though I haven't tried his (?) ebuild, he does seem to keep up with it. It's already on 2.1.2.
upgraded from 2.0.5 to 2.1.2 shadow+ejabberd-ebuilds from http://overlays.gentoo.org/dev/pva/net-im/ejabberd didn't work - ejabberd just won't start, useless-error (badarg) in logs, think something wrong with ejabberdctl, but couldn't find any hint, why ejabberd crashed ebuild zugaina-overlay worked for me ("out of the box") --- only difference in ejabberd.cfg between both ebuilds was the ssl-path, but no ssl error in log
(In reply to comment #42) > shadow+ejabberd-ebuilds from http://overlays.gentoo.org/dev/pva/net-im/ejabberd > didn't work - ejabberd just won't start, useless-error (badarg) in logs, think > something wrong with ejabberdctl, but couldn't find any hint, why ejabberd > crashed Have you tried `ejabberdctl live` to see why it fail to start? I'm pretty sure, that error is completely unrelated to ebuild... I don't have link at hand but there was lengthy discussion about some crash that happens after incorrect stop of ejabberd and for me `ejabbercdctl stop && ejabberdctl start` fixed this issue, while others reported that they had to reboot OS or do other magic steps... but again, all that steps has nothing to do with ebuild. Mike, thanks, for note. I'll review that ebuild.
(In reply to comment #41) > Has anyone taken a look at Ycarus' stuff (layman -a zugaina)? Ok, what I see there is just Night Nord's ebuild for this same bug, or are there any changes? (In reply to comment #42) > shadow+ejabberd-ebuilds from http://overlays.gentoo.org/dev/pva/net-im/ejabberd > didn't work - ejabberd just won't start, useless-error (badarg) in logs, think > something wrong with ejabberdctl, but couldn't find any hint, why ejabberd > crashed Ah, I found one uncommited change that could cause this. Now everything should be Ok. Please retry. And init script now should work too. As a part of modifications I've noticed some bugs in previous scripts: 1. ERL_MAX_PORTS, ERL_FULLSWEEP_AFTER never actually worked (to work they should be exported in init.d script...) Use /etc/jabbed/ejabbedctl.cfg for these now, please. 2. I don't see how reload could work since there is no reopen-log option for ejabberdctl (neither our's nor upstream). Did it really worked? How? So now I think everything is in place. Everybody are encourage to try it before it entered the tree. If I broke something, now is the good time to fix.
> Have you tried `ejabberdctl live` to see why it fail to start?... No. start,stop,reboot also no. /etc/inite,d/ejabberd reload or restart never worked for any veriosn/ebuild. will retry. from the overlay to yours I just need to change the ssl-path right - rest is same?
(In reply to comment #45) > /etc/inite,d/ejabberd reload or restart never worked for any veriosn/ebuild. Thanks. That's what I expected after reading scripts itself, but I wasn't sure, since no bug was opened. > will retry. from the overlay to yours I just need to change the ssl-path right > - rest is same? I think you don't need this, since old ssl certificate will be in place and ejabberd will continue use it. The main differences in configuration I see are: 1) configuration moved from /etc/conf.d/ejabbed to /etc/jabber/ejabbedctl.cfg and 2) cookie location changed to /var/spool/jabber. At conf.d/ejabbed the only thing that probably worked was EJABBERD_NODE (all other things were either ignored or broken), thus I've wrote init script to take EJABBERD_NODE into account, but in any case it's better to move it into /etc/jabber/ejabbedctl.cfg (ERLANG_NODE there). Second item (cookie) affects only cluster installation but since important for performance tunning things were broken in our package I doubt anybody had enough load to enjoy building cluster and thus I think nobody is affected by this change.
@Peter Volkov Your shadow+ejabberd ebuilds are working now. 1 Problem: I had to set ERLANG_NODE=ejabberd@_myhostname_. If not, it started with ejabberd@localhost and led to this error: ---------------------------------------------------- =CRASH REPORT==== 26-Jan-2010::22:28:12 === crasher: initial call: application_master:init/4 pid: <0.37.0> registered_name: [] exception exit: {bad_return,{{ejabberd_app,start,[normal,[]]}, {'EXIT',"Error reading Mnesia database"}}} in function application_master:init/4 ancestors: [<0.36.0>] messages: [{'EXIT',<0.38.0>,normal}] links: [<0.36.0>,<0.6.0>] dictionary: [] trap_exit: true status: running heap_size: 987 stack_size: 24 reductions: 111 neighbours: ------------------------------------- Perhaps a elog-message? -------------- '/etc/init.d/ejabberd stop' leads to still running process: jabber 19807 0.0 0.0 10520 280 ? S 22:45 0:00 /usr/lib64/erlang/erts-5.7.4/bin/epmd -daemon ---------------------- '/etc/init.d /ejabberd restart' should be an automated stop+delay+start, to get it work ------ I have very stripped down ejabberd.cfg (short,no comments, minimum needed, readable) so etc-update isn't helpful. installing the config as ejabberd.cfg.example and do a later comparison for new options would be better. (like net-misc/tor)
(In reply to comment #47) > '/etc/init.d/ejabberd stop' leads to still running process: jabber 19807 0.0 > 0.0 10520 280 ? S 22:45 0:00 > /usr/lib64/erlang/erts-5.7.4/bin/epmd -daemon About epmd: http://www.ejabberd.im/epmd
Hi, ejabberd-2.1.2 is out now.
Would you also see bug 306597 (http://bugs.gentoo.org/show_bug.cgi?id=306597)? It's still revelant for 2.1.2. Patch works on 2.1.2 with no modifications.
ejabberd-2.1.3 is out now.
(In reply to comment #35) > ebuild Bumping that to 2.1.3 seems to work without trouble.
Finally I've wrote and tested upgrading path and commited ejabberd-2.1.3 hardmasked(!) to the tree. Guys, please, test it and report if something went wrong. I'm interested both in positive and negative feedback. Changes that were done mostly documented here in comment #40. The difference is that I hope ebuild should now handle some important parts of upgrade by itself (thank you jamatik for tests btw, that really helped). If there are any questions, please, ask here and I'll try to address them. Keeping this bug open until ejabberd will be unmasked.
Some issues people reported here were fixed (basically init script and typos in elog messages). I'm going to unmask this package this weekend as it looks like everything works. If somebody have any comments, please, speak now :)
* Cannot find $EPATCH_SOURCE! Value for $EPATCH_SOURCE is: * * /usr/portage/net-im/ejabberd/files/2.1.1-mod_statsdx.patch * ( 2.1.1-mod_statsdx.patch )
(In reply to comment #55) > * Cannot find $EPATCH_SOURCE! Value for $EPATCH_SOURCE is: Thank you. Fixed.
2.1.4 is available already several days and it works fine for me. pva, i don't see you online all this time ;)
Hi, I have problems with the new init-script: # /etc/init.d/ejabberd start * Caching service dependencies ... [ ok ] * Service ejabberd starting This account is currently not available. [ !! ] * ERROR: ejabberd failed to start ... when setting a valid shell for the user jabber: # usermod -s /bin/sh jabber # /etc/init.d/ejabberd start * Service ejabberd starting erlexec: HOME must be set [ !! ] * ERROR: ejabberd failed to start Setting home also doesn't help? # usermod -d /var/spool/jabber jabber # /etc/init.d/ejabberd start * Service ejabberd starting erlexec: HOME must be set [ !! ] * ERROR: ejabberd failed to start I have the required sys-apps/shadow version installed: # emerge --info sys-apps/shadow Portage 2.1.8.3 (default/linux/amd64/10.0/desktop/gnome, gcc-4.4.3, glibc-2.10.1-r1, 2.6.33-gentoo x86_64) ================================================================= System Settings ================================================================= System uname: Linux-2.6.33-gentoo-x86_64-AMD_Phenom-tm-_II_X2_550_Processor-with-gentoo-1.12.13 Timestamp of tree: Mon, 07 Jun 2010 05:15:01 +0000 app-shells/bash: 4.0_p37 dev-java/java-config: 2.1.10 dev-lang/python: 2.6.5-r2, 3.1.2-r3 dev-python/pycrypto: 2.1.0 dev-util/cmake: 2.6.4-r3 sys-apps/baselayout: 1.12.13 sys-apps/sandbox: 1.6-r2 sys-devel/autoconf: 2.13, 2.65 sys-devel/automake: 1.9.6-r3, 1.10.3, 1.11.1 sys-devel/binutils: 2.18-r3 sys-devel/gcc: 4.4.3-r2 sys-devel/gcc-config: 1.4.1 sys-devel/libtool: 2.2.6b virtual/os-headers: 2.6.30-r1 ACCEPT_KEYWORDS="amd64" ACCEPT_LICENSE="*" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-O2 -pipe -march=native" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/X11/xkb /usr/share/config /var/lib/hsqldb" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/revdep-rebuild /etc/sandbox.d /etc/splash /etc/terminfo" CXXFLAGS="-O2 -pipe -march=native" DISTDIR="/usr/portage-local/distfiles" FEATURES="assume-digests distlocks fixpackages news parallel-fetch protect-owned sandbox sfperms strict unmerge-logs unmerge-orphans userfetch" GENTOO_MIRRORS="http://gentoo.wheel.sk/ http://gentoo.supp.name/ http://de-mirror.org/distro/gentoo/" LANG="de_AT.UTF-8" LDFLAGS="-Wl,-O1" LINGUAS="de" MAKEOPTS="-j3" PKGDIR="/usr/portage-local/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/portage-local/layman/techwolf /usr/portage-local/layman/enlightenment /usr/portage-local/layman/sunrise /usr/portage-local/layman/linuxlovers_at" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="3dnow 3dnowext X a52 aac acl acpi alsa amd64 audacious bash-completion berkdb branding bzip2 cairo cdr cli consolekit cracklib crypt cups cxx dbus dri dts dvb dvd dvdr eds emboss encode evo exif fam fbcondecor ffmpeg firefox flac fortran fuse gdbm gdu geoip gif gimp gnome gpm gstreamer gtk hal iconv idn ipv6 jabber java java6 jingle jpeg lame lcms libnotify mad mikmod mmx mng modules mozdevelop mp3 mp4 mpeg mudflap multilib nautilus ncurses nls nptl nptlonly nsplugin nvidia ogg opengl openmp pam pango pcre pdf perl png policykit ppds pppd python qt3support qt4 quicktime readline reflection samba sdl session smp spell spl sse sse2 sse3 sse4 ssl startup-notification suid svg sysfs tcpd theora tiff truetype unicode usb vorbis x264 xcb xml xorg xulrunner xv xvid zlib" ALSA_CARDS="emu10k1" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" DVB_CARDS="usb-dib0700" ELIBC="glibc" INPUT_DEVICES="evdev keyboard mouse wacom" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="de" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="nvidia" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS ================================================================= Package Settings ================================================================= sys-apps/shadow-4.1.4.2-r2 was built with the following: USE="cracklib (multilib) nls pam -audit (-selinux) -skey"
(In reply to comment #58) > sys-apps/shadow-4.1.4.2-r2 was built with the following: > USE="cracklib (multilib) nls pam -audit (-selinux) -skey" Oh, sorry, you need >=sys-apps/shadow-4.1.4.2-r3. I've updated ebuild. Thanks for report.
(In reply to comment #57) > 2.1.4 is available already several days and it works fine for me. Bumped. Thank you for report. > pva, i don't see you online all this time ;) I'm out of town recently, so while I have internet around it's not very stable and thus I'm not using IM here. But probably will do. IAC just mail me, or bump bug ;)
ejabberd unmasked. Thank you guys for reports/tests/silence ) If there are any new issues, open new bugs, please.