Subject: Re: please review mailman package
To: Manuel Bouyer <>
From: Frederick Bruckman <>
List: tech-pkg
Date: 07/25/2002 19:36:22
On Thu, 25 Jul 2002, Manuel Bouyer wrote:

> I created a package for mailman, the GNU list manager. However, as it's
> a somewhat complex package, I'd like to have someone review it before it
> gets commited.
> Most of the package (exept doc and apache fragment config which goes in the
> standart place) installs under $PREFIX/mailman. There's not easy way to
> install it in the standart distribution. Especially there's no infrastructure
> in the sources to separate executables (binaries or scripts) from
> config file or data files.

You could install it under "${PREFIX}/lib/mailman", then make links
under ${PREFIX}/bin for the executables the user is likely to invoke
(with unique names, perhaps starting with "mailman-"). Just a thought.
At least that avoids polluting the top level.

> There are one issues left:
> the software is written in python. I don't know python, but it seems that
> when a file is used python will dump the bytecode for this file to disk:
> is is used, a myfile.pyc will appear. This pollutes the
> $PREFIX/mailman hierarchy, and the package won't deinstall cleanly.
> Is there a way to deal with this in pkgsrc ?

I don't know python either, but I didn't have that problem after
installing your package and running "$PREFIX/mailbin/bin/version",
also ".../arch" and ".../check_perms", before deinstalling. If there
is something else that creates such files the first time it's
installed, why not run that once in a "post-install" target so that it
can be added to the PLIST?

Alternatively, if there are directories in $PREFIX which accumulate
easily reproducible crud (not user maintained files), you could remove
them with "@unexec rm -r %D/path", rather than "@dirrm path",
notwithstanding complaints by pkglint.

> The package is available here:

One other thing: "/usr/pkg/mailman/bin/check_perms" complains a lot,
and suggests that it be re-run with "-f". Perhaps that should be done
in your install script?