I'm going to be submitting this in the next few days, as soon as I get the ebuild finalized. I just wanted to post here to let people know, just in case someone else decides to make one.
Created attachment 12858 [details] geneweb-4.09.ebuild geneweb-4.09.ebuild Geneweb is a family tree server. It has its own http server and can be used to create/edit or just view a web page. A password can be set to allow the database to be editable over the web. It has export and import support for GEDCOM family tree databases. I'll be making a few changes to this in the next week. So don't make any changes or submit any patches without first checking with me. I may have already fixed it.
Created attachment 12859 [details] geneweb-4.09.ebuild geneweb-4.09.ebuild Geneweb is a family tree server. It has its own http server and can be used to create/edit or just view a web page. A password can be set to allow the database to be editable over the web. It has export and import support for GEDCOM family tree databases. I'll be making a few changes to this in the next week. So don't make any changes or submit any patches without first checking with me. I may have already fixed it.
Created attachment 12860 [details] geneweb-4.09.ebuild created tar file to include the files/ directory
Created attachment 12874 [details] updated geneweb-4.09.ebuild same as previous version (I think). I just added the ChangeLog which I forgot before
Can someone stick this ebuild into portage? It has the ~x86 flag, and in my opinion works better than some of the other ~x86 ebuilds I've tried. Once it gets into portage I think some people might notice it, and then hopefully I/we can get some bugs reported about this ebuild.
I don't understand why this hasn't been added to portage yet? I wish I had CVS access to do it myself, but I don't. If this package doesn't move to the tree then it will never be tested and will never be stable. Thank you.
I'll take a look at this ebuild as soon as I have some spare time, but it's somewhat complicated so it'll take some time.
OK, I've taken a look at the ebuild and here are some suggestions to make it even better. :) 1. Is the src_unpack() function really necessary? It seems to work like the base.eclass function without all the patching functionality. 2. Users and groups should be added by using the enewuser() and enewgroup() functions provided by the eutils eclass. Removing them is as far as I know not necessary (so you can remove the pkg_postrm() function). 3. It's better to use "sh ${FILESDIR}/geneweb.conf.d" rather than ". ${FILESDIR}/geneweb.conf.d" because it makes sure the right shell is used. 4. It'd be more flexible/less error prone to use "mkdir -p" to create ${GENEWEBDB}.
Thanks a lot for the help. Just one question, about removing the user/group in postrm. Personally I like when packages remove as much as possible when they are removed (except data and anything that the user might have changed). Groups and users are one thing that I don't like lingering around. Is there anything standard about doing this or not? Either gentoo policy, or "standard linux" policy?
There'll soon be a new method for adding and removing users/groups, but since it's not completely implemented yet I'd recommend to print a message via einfo so the user gets informed that he may remove the entries (that's because most other ebuilds like OpenSSH, Privoxy and all games using the games eclass don't remove the users/groups they create). Please submit your fixed ebuild :)
Created attachment 13782 [details] Updated geneweb ebuild Only a couple changes really, the mkdir -p thing, and I no longer remove the groups in post_rm(). 1) I tried using "sh" instead of "." to source the environment variables and it doesn't seem to work? 2) I didn't have much success with the enewgroup and enewuser commands. They are commented out in this ebuild. If you know of a syntactical error let me know. Otherwise I'll just wait until a new system is in place and replace it with that.
I just thought of something... Should I stop and running geneweb processes in the pre_rm() function?
*** Bug 12420 has been marked as a duplicate of this bug. ***
Hi, The web-apps herd is currently working on delivering some important changes to the way that web-based applications are installed and managed on Gentoo Linux. Until this work is complete, we're not commiting ebuilds for new packages. I've marked this bug as 'LATER'. As soon as we are able to, we will come back to this bug and help you convert your ebuild to our new approach. Many thanks for your patience, Stu
One comment...this is not really a web-app... The program runs it's own httpd server AFAIK, and on it's own port (default is 8319). It has not depend on, nor does it have any association with apache, or any other free or commerical "web" server. Thus it isn't really a "web"-app, IMHO, like php-nuke, phpgroupware, etc... So it wouldn't rely on any new Gentoo eclass or system for these apps. Unless I am misunderstanding what the purpose of thes new "important changes to the way that web-based applications are installed and managed on Gentoo", then this ebuild is stable IMHO and can be committed to CVS now.
This ebuild is ready to be submitted. See my last comment.
seemant, are you sure this is a science related package? I mean I guess if there is no other category to put it in, then I guess it is. I would prefer app-misc or net-misc or something like that.
I hope this ebuild isn't being held up because of comment #14. This is not an apache-dependant application. I have been running it happily using my ebuild for a long time now. Just add it to portage, it has a ~x86 flag anyways. http://sidicpc22.uwaterloo.ca:8081/a?lang=en
I have a bug in your ebuild. If you try to build it it will fall over when it tries to change the permisions on the logfile. I suspect it was already created when you wrote that part of your ebuild. My solution was to add this at around line 146 (just before it tries to do the chmod) if [ ! -x $LOGFILE ]; then einfo "Creating $LOGFILE ..." touch $LOGFILE fi Also, in the info two of the variables are blank and produce this output * You may safely remove the user and * the group . See userdel and groupdel. This is in the pkg_postrm function, perhaps these variables are not available there? Can I ask why you are removing them when they are used for file permissions? I would also change the last bit of einfo to include some info on starting geneweb, or start it as part of the ebuild. Hope that helps you ...
Created attachment 27021 [details, diff] Logfile patch for geneweb ebuild. This is a patch to create the geneweb logfile if it doesn't already exist.
Created attachment 27056 [details, diff] Patch for ebuild This patch replaces my last one, it creates the logfile, but it also creates the files in the geneweb DB directory needed to run gwsetup, it also copies gwsetup into the bin directory.
This should go in the new www-server category
Please add to portage
If someone makes me developer, I could help maintain this package.
Please, attach a plaintext ebuild for the current version and reopen then. We don't want tarballs. http://www.gentoo.org/proj/en/devrel/handbook/handbook.xml?part=2&chap=3#doc_chap2
Created attachment 66319 [details] geneweb-4.09-r1.ebuild
Created attachment 66320 [details] geneweb.conf.d
Created attachment 66321 [details] geneweb.init.d
Please obsolete the patch, it is included in the geneweb-4.09-r1.ebuild I just uploaded.
I renamed the geneweb-4.09-r1.ebuild to geneweb-4.10.ebuild for the "new" version of geneweb. Everything works fine!
I haven't tested this in a while. I just set up my new server, I will probably install geneweb from scratch on that machine, create a new geneweb database (just as a test). Then delete it, and import my old geneweb database. Then the next task it to test 4.10.
Created attachment 77321 [details] geneweb-4.10.ebuild Tested and works. To export your old database and try this one from scratch: mv /home/geneweb /home/geneweb-backup cd /home/geneweb-backup gwu <dbname> -o <dbname>.gw emerge -u geneweb cp /home/geneweb-backup/<dbname>.gw /home/geneweb/ cd /home/geneweb gwc <dbname>.gw -o <dbname> cp /home/geneweb-backup/<dbname>.gwf .
BTW, it's just like dumping a mysql database and upgrading to a new version of mysql
Comment on attachment 77321 [details] geneweb-4.10.ebuild The pkg_postinst() is rather broken. - That DB setup should be moved to pkg_config(), most of it should be however done in src_install() anyway. - Don't use adduser etc. in ebuilds. That's what enewuser/enewgroup from eutils.eclass is for! - There's doconfd/doinitd for installing init scripts/conf.d files.
I've been meaning to submit this to sunrise. Thanks for the tips, I'll incorporate those and then submit to the sunrise guys for review. I can't believe that enewuser isn't being used yet...that was suggested to me a long time ago. Actually I have enewuser in there, but it is commented out. Maybe it didn't work properly at the time.
I've made a ton of changes to the ebuild. One of the remaining issues is this executable stacks QA error. QA Notice: the following files contain executable stacks Files with executable stacks will not work properly (or at all!) on some architectures/operating systems. A bug should be filed at http://bugs.gentoo.org/ to make sure the file is fixed. For more information, see http://hardened.gentoo.org/gnu-stack.xml Please include this file in your report: /var/tmp/portage/geneweb-4.10/temp/scanelf-execstack.log "RWX --- --- usr/bin/gwc" "RWX --- --- usr/bin/gwd" "RWX --- --- usr/bin/gwu" "RWX --- --- usr/bin/consang" "RWX --- --- usr/bin/ged2gwb" "RWX --- --- usr/bin/gwb2ged" "RWX --- --- usr/bin/gwsetup" I've tried changing the Makefile and using -ccopt --noexecstack to no avail... I've also emailed the upstream author as well.
I have added it to portage. Thanks for input. ps I'm taking maintainership just because I use it. If someone is interested or there is an herd to which it should belongs, feel free to add it