a modified ebuild to support jabberd2 using JCR Reproducible: Always Steps to Reproduce: 1. 2. 3. Actual Results: can't use it with a jabberd2 server Portage 2.0.50-r10 (default-x86-2004.0, gcc-3.3.3, glibc-2.3.3.20040420-r1, 2.6.8-rc2) ================================================================= System uname: 2.6.8-rc2 i686 Pentium III (Coppermine) Gentoo Base System version 1.4.16 distcc 2.13 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] ccache version 2.3 [enabled] Autoconf: sys-devel/autoconf-2.59-r4 Automake: sys-devel/automake-1.8.5-r1 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-march=pentium3 -O2 -pipe -fomit-frame-pointer " CHOST="i686-pc-linux-gnu" COMPILER="" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.1/share/config /usr/kde/3.2/share/config /usr/kde/3/share/config /usr/lib/mozilla/defaults/pref /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/bind /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=pentium3 -O2 -pipe -fomit-frame-pointer " DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs buildpkg ccache sandbox" GENTOO_MIRRORS="http://mirror.switch.ch/mirror/gentoo/ ftp://ftp.wh2.tu-dresden.de/pub/mirrors/gentoo ftp://mirror.switch.ch/mirror/gentoo/" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://10.0.4.11/gentoo-portage" USE="X aalib alsa apache2 apm arts avi berkdb cdr crypt cups dlz dvd encode esd fbcon foomaticdb gdbm gif gnome gpm gtk gtk2 imlib jabber2 java jpeg kde kerberos ldap libg++ libwww lzw mad mikmod mmx motif mozilla mpeg mysql ncurses nls oggvorbis opendlm opengl oss pam pdflib perl png postgres python qmail qt quicktime readline sasl scanner sdl slang spell sse ssl svga tcltk tcpd tetex tiff tinydyndns truetype virus-scan x86 xml xml2 xmms xv zlib"
Created attachment 38638 [details] updated ebuild
Created attachment 38639 [details] init file for a muc-conference compiled with jcr
Created attachment 38640 [details] new conf file for mu-conference compiled to support jabberd2 (using JCR)
It would be nice to have this working soon with the main packages. Having two sets of init scripts for jabberd2 and jabberd is not a good idea.
reply to #3: I'll have a look to merge the two init scripts
Created attachment 39191 [details] updated init merged jabber14 and jabber2 scripts
Created attachment 39192 [details] new conf.d (jabber2)
Created attachment 39193 [details] renamed mu-conference-conf.d to mu-conference-conf.d-jabber14 required by new ebuild
Created attachment 39194 [details] updated ebuild
Would you write a quick step-by-step procedures to get this installed? Yes, this is just me having no time and being impatient. So far I generated the digest (in /usr/local/portage), copied over patch files as they errored and now am stuck on the jcr compilation (which seems to have no ebuild). Thanks for your work and sry to bother you.
Created attachment 41454 [details, diff] diff of all the modifications
step by step guide: - apply the new diff to you ebuild - add jabber2 to USE - emerge jabber-2* - emerge mu-conference - enjoy :)
Would it be possible to add a Jabber 2 ebuild to portage anytime soon so that this workaround isn't needed?
reply to #13: actually if you want mu-conference with a jabber2 server you have to compile it with JCR.
Hi, Using your modification (patch). It is fine except: (I believe these are errors in your updated mu-conference-0.6.0-r2.ebuild) 1) We should use "~x86" instead "x86" for now. 2) Jabberd2 jabber server is now masked in package.mask file. Some day it will be unmasked. And then, if an user forget to add jabber2 USE flag into /etc/make.conf those lines: DEPEND="jabber2? ( >=net-im/jabberd-2* ) !jabber2? ( >=net-im/jabberd-1.4* ) mean jabberd-2.x package/server (jabberd2) will be installed but all script logic is then wrong (log and pid paths are different for example). It is better to use: DEPEND="jabber2? ( >=net-im/jabberd-2 ) !jabber2? ( =net-im/jabberd-1.4* ) Using ">=category_name/package_name*" is a tipycal error in writing ebuilds listeed here: http://www.gentoo.org/proj/en/devrel/handbook/handbook.xml?part=2&chap=1#doc_chap5 3) Permisions and ownerships: After: insinto /etc/jabberd doins ${FILESDIR}/muc-jcr.xml || die it is good to have: fowners jabber:jabber /etc/jabberd/muc-jcr.xml fperms 660 /etc/jabberd/muc-jcr.xml Also we need chown jabber:jabber /var/jabberd/spool -R 4) These are errors in at the very end of src_install() : dodoc: README.jcr does not exist dodoc: FAQ does not exist 5) Content of /etc/conf.d/muc-transport (for jabber2 USE flag) should be: # Copyright 1999-2004 Gentoo Foundation # Distributed under the terms of the GNU General Public License, v2 or later # $Header: /var/cvsroot/gentoo-x86/net-im/mu-conference/files/mu-conference-conf.d,v 1.4 2004/07/08 17:35:01 humpback Exp $ CONFIG="/etc/jabberd/muc-jcr.xml" #Need to find a way to fix the "double" expansion #PIDFILE= grep pid ${CONFIG} | sed -e 's/<[^>]*>//g' | sed s/' '//g PIDFILE="/var/jabberd/pid/muctrans.pid" So, in ebuild "mu-conference-conf.d-jabber14" occurance shoud be substituted with "mu-conference-conf.d-jabber2" and vice versa. 6) Most important: services shouldn't be started under root privileges. I updated ebuild to use start-stop-script --start -c user_name:group_name logic (in this case net-in/jabberd created jabber:jabber user and group. We will use it.). 7) dev-util/pkgconfig is dependency since mu-conference 0.6.0. Please read mu-conference FAQ. 8) It is better to leave default passwd in muc-jcr.xml that is "secret" --- Cheers, Ssl
Created attachment 60589 [details] Updated ebuild New version of mu-conference ebuild
Created attachment 60590 [details] Updated init file Simplified and fixed /etc/init.d/muc-transport file
Again, step by step guide: mkdir -p /usr/local/portage/net-im/mu-conference/files Populate that directory so the content looks like here: mu-conference-conf.d-jabber14 muc-transport.init-r3 mu-conference-conf.d-jabber2 muc-jcr.xml muctrans.xml Copy these there from /usr/portage/net-im/mu-conference/files/ : mu-conference-makefile.patch README.Gentoo Put last updated mu-conference ebuild to /usr/local/portage/net-im/mu-conference cd there ebuild mu-conference-0.6.0-r2.ebuild digest add jabber2 to USE emerge jabberd; configure your installation of jabberd2 emerge mu-conference Ssl
FWIW, I built by copying /usr/portage/net-im/mu-conference to /usr/local/portage/net-im/mu-conference , applying the diff (attachment 41454 [details, diff]) and d/l'ing the updated ebuild & init files. However, mu-conference segfaults after a few seconds. Don't have time to investigate. Oh well.
*** Bug 155857 has been marked as a duplicate of this bug. ***
xmerlin, maybe you want to take this?
net-im/mu-conference-0.7 already depends on jabberd or jabberd2