www/nginx pkg-plist + pkgng (detectable?)
Matthew Seaman
matthew at FreeBSD.org
Sat Mar 30 07:30:19 UTC 2013
On 30/03/2013 02:40, Michael Gmelin wrote:
> pkg-plist contains:
>
> %%WWWDATA%%@exec mkdir -p -m 755 www/nginx-dist
> %%WWWDATA%%@exec if [ ! -d %D/www/nginx/ ] ; then ln -fs
> %D/www/nginx-dist %D/www/nginx; fi
> %%WWWDATA%%www/nginx-dist/EXAMPLE_DIRECTORY-DONT_ADD_OR_TOUCH_ANYTHING
> %%WWWDATA%%www/nginx-dist/index.html
> %%WWWDATA%%www/nginx-dist/50x.html
> %%WWWDATA%%@exec chmod a-w www/nginx-dist
> %%WWWDATA%%@unexec if [ -L %D/www/nginx ]; then rm -f %D/www/nginx; fi
> %%WWWDATA%%@dirrmtry www/nginx-dist
>
> cd /usr/ports/www/nginx
> make install clean
>
> # pkg info -R nginx | grep www/nginx-dist
>
> /usr/local/www/nginx-dist/50x.html: 3c264d74770fd706d59c68d90ca1eb893ac379a666ff136f9acc66ca01daec02
> /usr/local/www/nginx-dist/EXAMPLE_DIRECTORY-DONT_ADD_OR_TOUCH_ANYTHING: 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b
> /usr/local/www/nginx-dist/index.html: 38ffd4972ae513a0c79a8be4573403edcd709f0f572105362b08ff50cf6de521
> /usr/local/www/nginx-dist/: y
> mkdir -p -m 755 www/nginx-dist
> if [ ! -d /usr/local/www/nginx/ ] ; then ln -fs /usr/local/www/nginx-dist /usr/local/www/nginx; fi
> chmod a-w www/nginx-dist
>
> This means in practice, once you create a binary package (pseudo code):
> pkg create nginx
> pkg repo .
> ...
> pkg install nginx
>
> You'll be left with a www/nginx-dist relative to wherever you've been
> in the file. I assume that pkg-plist should use %D/www/nginx instead of
> www/nginx in mkdir and chmod. So it's probably a bug in the port
> itself. Is this something that pkgng could potentially catch in future?
Leftovers when a package is removed? That's definitely a bug, and at
the moment, such things will be picked up by package building software
like poudriere or tinderbox. Testing on redports would flag up this
problem, and if a commit to a port introduces such behaviour the
maintainer should be getting emails from QAT and maybe pointyhat.
There are plans afoot to introduce building packages in chroots and
doing things like generating several smaller sub-packages from one port
(eg. separate docs packages, separate shlibs pacakges etc.) which will
have ramifications on the way plists are handled. That should make it
virtually impossible to create a package that install files which aren't
registered in /var/db/pkg/local.sqlite.
Cheers,
Matthew
--
Dr Matthew J Seaman MA, D.Phil.
PGP: http://www.infracaninophile.co.uk/pgpkey
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 268 bytes
Desc: OpenPGP digital signature
URL: <http://lists.freebsd.org/pipermail/freebsd-ports/attachments/20130330/7617c1c1/attachment.sig>
More information about the freebsd-ports
mailing list