Please find attached an ebuild for skunkweb-3.4b4. SkunkWeb is a Python web application server/framework: http://skunkweb.sf.net/. It is dual GPL/BSD licensed (take your pick). The ebuild should probably go in dev-python, as quixote and twisted, our non-zope brethren, are there, too. This ebuild will build an apache module is the apache2 use flag is present. I originally had another use flag for apache1, but lintool didn't like that flag so I took it out. If you weren't averse to adding an apache1 flag, then I'd require apache1 and use apxs in configure were it present. This ebuild requires egenix-mx-base. jacob smullyan Reproducible: Always Steps to Reproduce: 1. 2. 3.
Created attachment 15957 [details] skunkweb 3.4_beta4 ebuild new ebuild, as promised
Comment on attachment 15957 [details] skunkweb 3.4_beta4 ebuild # Copyright 1999-2003 Gentoo Technologies, Inc. # Distributed under the terms of the GNU General Public License v2 # $Header: $ DESCRIPTION="robust Python web application server" HOMEPAGE="http://skunkweb.sourceforge.net/" NEWP=`echo ${P} | sed -e 's|_beta|b|'` S=${WORKDIR}/${NEWP} SRC_URI="mirror://sourceforge/skunkweb/${NEWP}.tar.gz" LICENSE="GPL-2 BSD" SLOT="0" KEYWORDS="~x86 ~ppc ~sparc ~sparc64 ~alpha" IUSE="#{IUSE} apache apache2" DEPEND=">=dev-lang/python-2.2 >=dev-python/egenix-mx-base-2.0.4 apache2? ( >=net-www/apache-2.0.47 ) " pkg_setup() { if ! groupmod skunkweb; then groupadd skunkweb || die "problem adding group skunkweb" fi if ! id skunkweb; then useradd -g skunkweb -s /bin/false -d /usr/share/skunkweb -c "SkunkWeb user" skunkweb || die "problem adding user skunkweb" fi } pkg_postinst() { einfo " " einfo "NOTICE!" einfo "User and group 'skunkweb' have been added." } pkg_postrm() { if [ -z "${INSTALLING}" ] ; then einfo ">>> removing skunkweb user" userdel skunkweb || die "error removing skunk user" einfo ">>> removing skunkweb group" groupdel skunkweb || die "error removing skunkweb group" else einfo ">>> skunkweb user and group preserved" fi } src_compile() { local myconf if use apache2; then myconf="${myconf} --with-apxs=/usr/sbin/apxs2" else myconf="${myconf} --without-mod_skunkweb" fi ./configure \ --with-user=skunkweb \ --with-group=skunkweb \ --localstatedir=/var/lib/skunkweb \ --bindir=/usr/bin \ --libdir=/usr/lib/skunkweb \ --sysconfdir=/etc/skunkweb \ --prefix=/usr/share/skunkweb \ --with-cache=/var/lib/skunkweb/cache \ --with-docdir=/usr/share/doc/${P} \ --with-logdir=/var/log/skunkweb \ --with-python=/usr/bin/python \ ${myconf} || die "configure failed" emake || die } # TODO: # add cronjob for cache reaper. This doesn't really cut it; the cronjob should look through # the scope matchers and find all the cache locations. # logrotate script? # apache configuration? src_install() { make DESTDIR=${D} APXSFLAGS="-c" install || die if use apache2; then exeinto /usr/lib/apache2-extramodules doexe SkunkWeb/mod_skunkweb/.libs/mod_skunkweb.so fi }
Sorry, I screwed up slightly in adding this bug. The first attachment was broken, and in attempting to edit it, I made a long comment (#2) instead. comment #2 should supersede the attachment.
Created attachment 15971 [details] slightly revised ebuild
Created attachment 15972 [details] skunkweb-3.4_beta4.ebuild (one mo time) added docs.
This should now be version-bumped to skunkweb-4.5_beta5.ebuild.
Created attachment 16010 [details] skunkweb-3.4_beta5.ebuild current ebuild. Fixed skunkweb user/group addition/deletion bug.
Where do I send the pizza to get this ebuild added to cvs? :)
Bug-wranglers, After a quick check, it seems that the python herd look after packages like this. Can you re-assign please? Thanks, Stu
Hi Jacob, I've been testing your ebuild. It looks like /SkunkWeb/mod_skunkweb/httpd_conf.stub is missing? A new web application GLEP was just approved, but it doesn't seem to address your apache1 question: http://www.gentoo.org/proj/en/glep/glep-0011.html Alastair, should we add a local USE flag for apache1? The ebuild has an internal web server or they can use apache1 or apache2.
Created attachment 19568 [details] skunkweb ebuild that installs httpd_conf.stub (full ebuild, not patch)
Thanks for testing! The ebuild I just attached is untested, because I'm not near a gentoo box at the moment I can use for testing; but as I just added two rather straightforward lines, I'm hoping it works.
Hi Jacob, if you want you can add 'apache1' as a USE option. We can then add it to /usr/portage/profiles/use.local.desc So if they don't have apache1 or apache2 set it will use the internal server. Sound good? If so I'll commit it as soon as you make the apache1 changes. Thanks
Created attachment 19744 [details] ebuild modified to have an apache1 USE flag This implements an apache1 USE flag. If apache2 is in USE, apache1 is ignored.
Here it is. What the attached ebuild does not do is insist that at most one of aoache1 and apache2 are in USE. AFAIK gentoo doesn't have a policy of insisting that use flags make sense; I sort of wish it did. I also wavered about whether to add a cron job to clean the skunkweb cache, but don't see a lot of other ebuilds doing this (unlike RPMs in some distributions), so left it out.
Ok, Jacob, I put it in portage. I just put in ~x86 because thats all I've tested it with. I notice you're a developer for Skunkweb, so can you tell me which of the arches you tested it under, and if it was Gentoo? You had ~sparc64 listed, but that isn't valid (see PORTDIR/profiles/keywords.desc) Thanks, Rob
Super! Thanks, Rob! I've tested it with Gentoo for x86 and ppc; I would expect it to run under sparc and any other architecture Python supports. I don't know where sparc64 came from; I copied it mindlessly from somewhere.