www/nginx pkg-plist + pkgng (detectable?)
Michael Gmelin
freebsd at grem.de
Mon Apr 8 08:31:19 UTC 2013
On Sat, 30 Mar 2013 14:23:20 +0100
Michael Gmelin <freebsd at grem.de> wrote:
> On Sat, 30 Mar 2013 05:39:21 -0500
> Bryan Drewery <bdrewery at FreeBSD.org> wrote:>
> Let me elaborate this with a complete test sequence (starting in a
> clean jail):
>
> # cd /usr/ports/ports-mgmt/pkg
> # make install clean
> # pkg -v
> 1.0.9
> (which is port version 1.0.9_2)
> # echo "WITH_PKGNG=1" >> /etc/make.conf
> # pkg2ng
> # cd /usr/ports/www/nginx
> # make && make clean
> (this is so only dependencies get installed)
> # find /usr | sort | uniq >/tmp/beforeinstall
> # make install clean
> # find /usr | sort | uniq >/tmp/afterinstall
> # diff /tmp/beforeinstall /tmp/afterinstall | wc -l
> 32
> # pkg delete -y nginx
> # find /usr | sort | uniq >/tmp/afterdelete
> # diff /tmp/beforeinstall /tmp/afterdelete | wc -l
> 0
>
> (At this point it's clear that the package cleans up after itself
> ok after removal)
>
> # make install clean
> # mkdir /tmp/pkg
> # cd /tmp/pkg
> # pkg create nginx
> # pkg repo .
> # find .
> .
> ./nginx-1.2.7_1,1.txz
> ./repo.txz
> # pkg delete -y nginx
> # PACKAGESITE=file:/tmp/pkg pkg update
> # PACKAGESITE=file:/tmp/pkg pkg install -y nginx
> # find .
> .
> ./nginx-1.2.7_1,1.txz
> ./repo.txz
> ./www
> ./www/nginx-dist
>
>
> I did the same procedure using pkg_* (starting from scratch):
> # cd /usr/ports/www/nginx
> # make install clean
> # mkdir /tmp/pkg
> # cd /tmp/pkg
> # pkg_create -b nginx-\*
> # find .
> .
> ./nginx-1.2.7_1,1.tbz
> # pkg_delete nginx-\*
> # pkg_add nginx-*
> # find .
> .
> ./nginx-1.2.7_1,1.tbz
> # pkg_info
> nginx-1.2.7_1,1 Robust and small WWW server
> pcre-8.32 Perl Compatible Regular Expressions library
>
> So the problem only happens when using pkgng, not when using pkg_*.
> With pkg_* it seems like "mkdir www/nginx-dist" is executed relative
> to @cwd, while with pkgng it's executed relative to `pwd`.
Any news on this? Has it been fixed in pkg (I think it's primarily a
bug in the port)
>
> On a different note, two things I noticed while playing with pkgng:
> - The bootstrap code delivered with 9.1 installs pkg version 1.0.2,
> since pkg is still improved rapidly, wouldn't it make sense to
> bootstrap to the latest version from ports (or at least output a
> warning, that there might be a more recent version)?
Seems like it's fixed.
> - pkg2ng does not alter make.conf, nor tell the user to do so. If you
> assume that all users of pkg only use binary packages that might
> make sense. But since you'll see a lot of converting users (in
> the end this is what pkg2ng is for) either altering make.conf or at
> least giving a hint to the user (something like "Don't forget to
> add 'WITH_PKGNG=1' to your /etc/make.conf") would be nice. Even
> though I'm really should know that at this point, I forgot it
> several times, which puts the machines affected in a pretty ugly
> state after installing additional ports.
pkg-message or pkg2ng could warn about this. Actually, I think it would
be best if pkg2ng should add the line to make.conf.
>
> Cheers,
> Michael
>
--
Michael Gmelin
More information about the freebsd-ports
mailing list