I am still waiting for my dev status to come, but here they go. All these ebuilds assume net-jabber exists, so you will have to add it to /etc/portage/categories.
Created attachment 23198 [details] Main jabber server (jabberd)
Created attachment 23199 [details] ebuild for msn transport
Created attachment 23200 [details] Jit. A very good ICQ transport that uses wpjabber.
I think this is definitely the more elegant setup. One issue I see is that the majority of these transports need to be compiled from within the jabberd source directory. I don't have an issue with it pulling in the jabberd source, I just need to figure out how the transport ebuild will know which version of jabberd is installed. Or I could just make them all depend on jabberd-1.4.3.
Why do you supply a different multiple.xml file rather than use the one included in the jabberd source?
Taking this one from wranglers. I'm humpback's mentor.
humpback I'll be posting a new version of the jabberd ebuild here for you to take a look at. I want you to note some major differences between what you carved from jabber-server. Mainly we don't want to use 'cp' commands in the src_install, we want to use insinto/doins. I realize that luke-jr did this originally but I'm just trying to tell you what's right and wrong. :)
Created attachment 23218 [details] jabberd-1.4.3.ebuild Here is my attachment. It's not finished yet. Notice also that we are trying to use fowners and fperms instead of chown and chmod, and those steps belong in src_install. I've only just started using them, from what I can tell they don't support recursion yet, so it's a bit of a pain but I think makes things quite cleaner. Also I added some vertical whitespace to the einfo lines and only print the ones needed.
Don't be so quick to blame it on luke-jr, it was the way it was before he was around.
Yes my apologies. After talking in #gentoo-dev I realized that this was standard practice for a while.
I really dont remenber why i added that multiple xml. I think that one was simpler to edit so i added that. The jabberd documentation is vary bad so a new user having to setup all would be a pain. And also the .xml file included in jabberd searchs for the .so modules in the local path and we install them elsewhere. I am going to work in a new multiple.xml file that is based on jabber.xml from jabberd-1.4.3 because some new interesting features where added in 1.4.3 .
Created attachment 23298 [details] msn-transport This new version already depends on 1.4.3. And already makes use of the fact that jabberd.ebuild sends the includes to the proper place. Also it installs the .so module in /usr/lib/jabberd as that will be the new location, that is still not fixed in jabberd.ebuild and in the xml files. (Attention that jit uses a diferent jabber server implementation so its files should probably not go to /usr/lib/jabberd)
humpback since the existing ebuild used /usr/lib/jabber why not keep that and change the other to /usr/include/jabber
Created attachment 23299 [details] jabberd-1.4.3.ebuild Updated jabberd. Should be all set except for the /usr/include/jabber stuff.
Created attachment 23300 [details] msn-transport-1.2.8_rc1.ebuild Fixed some small stuff in the SRC_URI and in unpack
Created attachment 23304 [details] jabberd-1.4.3.ebuild This version installs the header files in /usr/include/jabberd. It uses: cd ${S}/jabberd tar cf - `find . -name \*.h` | (cd ${D}/usr/include/jabberd ; tar xvf -) assert "Failed to install header files to /usr/include/jabberd" So if someone does not like this please say so.
Created attachment 23305 [details] multiple.xml
Created attachment 23306 [details] xdb-ldap.xml
Created attachment 23307 [details] msnt.xml
Created attachment 23308 [details] jabberd-1.4.3.ebuild missing dodir
Alright jabberd and msn-transport are installing nicely for me. I'll leave it to you to actually start the services and add any documentation to get a server running. Great work so far. Be sure to remember the syntax/formatting changes I've mentioned to you here and in jabber. Especially the tab thing. I believe repoman will stop if it sees leading spaces anyway. Eventually I'll run my own server. :)
Created attachment 23325 [details] File for msn-transport
Created attachment 23326 [details] msn-transport-1.2.8_rc1.ebuild that installs the doc
Created attachment 23327 [details] new version of self-cert.sh
Created attachment 23328 [details] README.Gentoo for jabberd
Created attachment 23329 [details] jabberd-1.4.3.ebuild that installs the doc
I think this almost closes down this. Tonight i will take care of JIT and probably Yahoo.
Created attachment 23447 [details] jit-1.1.6.ebuild New Jit ebuild. Installs doc and uses new locations for .so, and uses fperms and fowners
Created attachment 23448 [details] jit.xml
Created attachment 23449 [details] README.Gentoo for JIT Ok, today i will go for yahoo. Any ideas on what other transports to make ebuilds?
Created attachment 23497 [details] jabberd-1.4.3.ebuild installs file needed by yahoo transport
Created attachment 23498 [details] yahoo-transport-2.3.0.ebuild
Created attachment 23500 [details, diff] Patch for yahoo's makefile
Created attachment 23502 [details] README.Gentoo for yahoo
Created attachment 23503 [details] yahootrans.xml And with that i think it is all done.
Created attachment 23505 [details] jud-0.5.ebuild
Created attachment 23506 [details] jud makefile patch
Created attachment 23507 [details] README.Gentoo for jud And jud is done :) Now we are only missing mu-conf I never managed to get this working. But the ebuild will probably be easy.
Created attachment 23550 [details] mu-conference-0.6.0.ebuild
Created attachment 23551 [details, diff] Patch for MUC
Created attachment 23552 [details] muctrans.xml
Created attachment 23553 [details] README.Gentoo for MUC
Created attachment 23554 [details] Updated jit.xml Small change needed to the IP of the ICQ server
Created attachment 23555 [details] updated jabber.rc6-r5 startup script Well, my jabber server (jabber.felisberto.net) is now running with theses ebuilds. And i follows my own instructions to setup the transports :) So i guess someone else should test it to see what problems they might have.
Trying to come up with a naming scheme. Are the various transports and plugins specific to jabberd? Or will they work with other server implementations? I'm wondering if we should prefix them with the server they are written for, like jabberd-msn-transport.
Most of them need to be run by jabberd (all except JIT). But they work with any Jabber Daemon. Normally the dependancy will show what the transport needs.
net-im/jabberd is in portage. Moving on to others. I will do all except for MSN, which I will save for you when you get developer status.
net-im/jit is in portage
Created attachment 23623 [details] new jit-1.1.6.ebuild In the jabber way each transport is a jabberdaemon that runs in a special way. That jabberdaemon connects to the main daemon that the users also connect. In our setup jabberd is the main daemon while msn, yahoo and muc are special daemons. msn, yahoo and muc need jabberd to build (they use his header files) and also need him to be runned (jud actually runs inside the main jabber daemon). Jit on the other hand uses the same system but needs a diferente jabber daemon to run, it uses wpjabber so in does not DEPEND or RDEPEND on jabberd. In theory one could use any of the daemons at: http://www.jabber.org/software/servers.php as our main server. So that said it would be interesting to have a virtual/jabberserver that would be provided by the main servers, and then have correct DEPEND and RDEPEND. For example this way JIT would only have a RDEPEND="virtual/jabberserver" and msn would have DEPEND="net-im/jabberd" and RDEPEND="net-im/jabberd virtual/jabberserver" I hope you understand my pour english.
You make a very good point. Right now to keep things simple we will just have it depend on jabberd. This also makes sense since we don't have any other jabber server packages in portage. Otherwise you can always change it when you make developer status.
net-im/yahoo-transport is in portage
Is there a jud XML file needed? Also instead of doing the mv statement to rename the jud-ansi-c directory, we prefer to just re-define ${S} like this: S=${WORKDIR}/${PN}-ansi-c Doing mv's is nasty business. Otherwise I'm committing net-im/jud.
Humpback in the future, if you are making a new ebuild I would start by copying /usr/portage/skel.ebuild and just modifying it to your package. All of your ebuilds are missing some needed stuff for gentoo ebuilds like the 3-line header and SLOT line. Starting with the skel.ebuild and reading the comments for each part of the ebuild will go a long way to making you a better ebuild author.
net-im/mu-conference is now in portage as well. That is everything except msn-transport I believe.
What, no AIM (AIM-t)?
Don: No, jud does not need a .xml file because in this setup it runs from inside the main jabber daemon. Chris Carlin: AIM has been stoped for a long time. I will never the less make an ebuild. I will start work on it today.
Ok, i got a message from the MSN guys with info on what the problem with curl 7.10.8. I filled a bug on this and am marking this one depend on it.
Created attachment 23681 [details] aimtrans.xml
Created attachment 23682 [details] README.Gentoo for aimtransport
Created attachment 23683 [details] aimtransport ebuild This one is not named aim-transport because that would give problems with net-im/aim a aim client . Also the last "stable" aim-transport release is almost a year old, so i did a new snapshot.
Re comment #60: How would aim-transport give problems? Maybe I'm missing something.
Created attachment 23685 [details] aim-transport.ebuild This is fixed now. I was probably making a small error. Thanks spyderous for making me look a fifth time.
As another exercise please clean up your msn-transport ebuild with the guidelines in the Gentoo Ebuild HOWTO and /usr/portage/skel.ebuild. aim-transport ebuild looks good. I'm just worried about supporting snapshots.
One thing that we can't do when submitting new packages is adding them into ARCHes (even ~ARCH) that you haven't personally tested. If the package already exists and another arch developer has added ~ARCH or ARCH, then a new version or revision may be added with ~ARCH. While this isn't exactly a NEW package, I want to treat it as so and so we should only be adding it in into the ~ARCHes which we are testing on. I only have x86. Do you have others that you have tested on?
Created attachment 23794 [details] msn-transport-1.2.8_rc1.ebuild I cleaned it, now repoman does not complain anymore :) I did not like the mv of the source dir so i fixed taht also in a more gentooist way (i think). About the ARCH's i tought i was supposed to mark that ~ARCH, i will sstop doing that and only make that ~x86 because that is what i have. I have acess to a PPC box so i will try to build there and if it goes ok (it runs) i will mark ~ppc untill someone actully uses it heavily on ppc. About the aim, as we talked as soon as i have it working on my server and test it a bit it is ok to go to portage, and i will support it.
Created attachment 23878 [details] yahoo-transport-2.3.0-r1.ebuild This adds a patch to the auth system. The patch is based on: http://mailman.jabber.org/pipermail/jadmin/2004-January/013922.html With my "addition": http://mailman.jabber.org/pipermail/jadmin/2004-January/014034.html
Created attachment 23879 [details] yahootrans.xml This changes the yahoo server name. With the previous one yahoo transport would report that the user was online and he was not.
*** Bug 37393 has been marked as a duplicate of this bug. ***
net-im herd in full effect.
Created attachment 24304 [details] Meta package.... sort of This is an updated jabber-server that tells users to use the new system.
Humpback I'm getting some access violations here: >>> Install jabberd-1.4.3-r1 into /var/tmp/portage/jabberd-1.4.3-r1/image/ category net-im ACCESS DENIED open_wr: /etc/group.29694 groupadd: unable to lock group file useradd: unknown group jabber chown: `jabber:jabber': invalid user chown: `jabber:jabber': invalid user chown: `jabber:jabber': invalid user chown: `jabber:jabber': invalid user chown: `jabber:jabber': invalid user chown: `jabber:jabber': invalid user chmod: failed to get attributes of `/var/tmp/portage/jabberd-1.4.3-r1/image//var/spool/jabber/error.log': No such file or directory chmod: failed to get attributes of `/var/tmp/portage/jabberd-1.4.3-r1/image//var/spool/jabber/record.log': No such file or directory ./lib/latin1tab.h ./lib/lib.h ./lib/asciitab.h ./lib/hashtable.h ./lib/xmlparse.h ./lib/iasciitab.h ./lib/xmldef.h ./lib/xmltok.h ./lib/utf8tab.h ./lib/xmltok_impl.h ./lib/xmlrole.h ./lib/nametab.h ./jabberd.h ./single.h man: prepallstrip: strip: strip: usr/sbin/jabberd >>> Completed installing into /var/tmp/portage/jabberd-1.4.3-r1/image/ --------------------------- ACCESS VIOLATION SUMMARY --------------------------- LOG FILE = "/tmp/sandbox-jabberd-1.4.3-r1-29622.log" open_wr: /etc/group.29694 --------------------------------------------------------------------------------
Just a follow up my errors were due to ebuild not creating the group and then the user properly. Humpack fixed those problems.
This is now marked stable in portage. Thanks to all that helped.