Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 26450 - skunkweb-3.4_beta4.ebuild (new package)
Summary: skunkweb-3.4_beta4.ebuild (new package)
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All All
: High enhancement (vote)
Assignee: Python Gentoo Team
URL:
Whiteboard:
Keywords: EBUILD
Depends on:
Blocks:
 
Reported: 2003-08-11 21:08 UTC by Jacob Smullyan
Modified: 2003-10-24 21:06 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
skunkweb 3.4_beta4 ebuild (skunkweb-3.4_beta4.ebuild,2.30 KB, text/plain)
2003-08-11 21:13 UTC, Jacob Smullyan
Details
slightly revised ebuild (skunkweb-3.4_beta4.ebuild,2.20 KB, text/plain)
2003-08-12 06:13 UTC, Jacob Smullyan
Details
skunkweb-3.4_beta4.ebuild (one mo time) (skunkweb-3.4_beta4.ebuild,2.37 KB, text/plain)
2003-08-12 06:31 UTC, Jacob Smullyan
Details
skunkweb-3.4_beta5.ebuild (skunkweb-3.4_beta5.ebuild,2.43 KB, text/plain)
2003-08-12 20:43 UTC, Jacob Smullyan
Details
skunkweb ebuild that installs httpd_conf.stub (full ebuild, not patch) (skunkweb-3.4_beta5.ebuild,2.55 KB, text/plain)
2003-10-20 19:43 UTC, Jacob Smullyan
Details
ebuild modified to have an apache1 USE flag (skunkweb-3.4_beta5.ebuild,2.92 KB, text/plain)
2003-10-24 14:56 UTC, Jacob Smullyan
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jacob Smullyan 2003-08-11 21:08:12 UTC
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.
Comment 1 Jacob Smullyan 2003-08-11 21:13:52 UTC
Created attachment 15957 [details]
skunkweb 3.4_beta4 ebuild

new ebuild, as promised
Comment 2 Jacob Smullyan 2003-08-11 22:00:40 UTC
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	
}
Comment 3 Jacob Smullyan 2003-08-11 22:03:38 UTC
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.
Comment 4 Jacob Smullyan 2003-08-12 06:13:54 UTC
Created attachment 15971 [details]
slightly revised ebuild
Comment 5 Jacob Smullyan 2003-08-12 06:31:10 UTC
Created attachment 15972 [details]
skunkweb-3.4_beta4.ebuild (one mo time)

added docs.
Comment 6 Jacob Smullyan 2003-08-12 20:18:41 UTC
This should now be version-bumped to skunkweb-4.5_beta5.ebuild.
Comment 7 Jacob Smullyan 2003-08-12 20:43:22 UTC
Created attachment 16010 [details]
skunkweb-3.4_beta5.ebuild

current ebuild.  Fixed skunkweb user/group addition/deletion bug.
Comment 8 Jacob Smullyan 2003-09-17 12:03:23 UTC
Where do I send the pizza to get this ebuild added to cvs? :)
Comment 9 Stuart Herbert (RETIRED) gentoo-dev 2003-10-04 07:48:53 UTC
Bug-wranglers,

After a quick check, it seems that the python herd look after packages like
this.  Can you re-assign please?

Thanks,
Stu
Comment 10 Rob Cakebread (RETIRED) gentoo-dev 2003-10-20 19:22:44 UTC
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. 
Comment 11 Jacob Smullyan 2003-10-20 19:43:00 UTC
Created attachment 19568 [details]
skunkweb ebuild that installs httpd_conf.stub (full ebuild, not patch)
Comment 12 Jacob Smullyan 2003-10-20 19:58:29 UTC
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.  
Comment 13 Rob Cakebread (RETIRED) gentoo-dev 2003-10-24 10:19:48 UTC
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
Comment 14 Jacob Smullyan 2003-10-24 14:56:14 UTC
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.
Comment 15 Jacob Smullyan 2003-10-24 15:07:14 UTC
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.
Comment 16 Rob Cakebread (RETIRED) gentoo-dev 2003-10-24 20:35:37 UTC
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
Comment 17 Jacob Smullyan 2003-10-24 21:06:55 UTC
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.