Subject: Re: update pkgsrc package
To: None <tech-pkg@netbsd.org>
From: Georges Heinesch <geohei-ml@geohei.lu>
List: tech-pkg
Date: 05/20/2001 19:10:17
Quoting David Brownlee (18-May-01 10:54:26):

[...]

>> 3. When updating a new package, I guess the right thing would be to
>> cd
>>    to the relevant directory and to say:
>>
>>        "make clean" (or "make clean CLEANDEPENDS=YES" ?)
>>        "make fetch-list | sh"
>>        "make update"
>>
>>    Is that correct?

>   That would be a good procedure.

... but doesn't work for some reason. I was told that pkgsrc is "an
administrator's dream". Well, the initial installation via sup was
still pretty easy, but an update seems much harder that predicted.

"lintpkgsrc -i" showed me that pkglint was not up-to-date any more

----- cut here -----
# cd /usr/pkgsrc/pkgtools/pkglint
# make clean CLEANDEPENDS=YES
===> Cleaning for p5-Data-Dumper-2.101
===> Cleaning for p5-Devel-DProf-19990108
===> Cleaning for p5-Devel-Peek-1.0001
===> Cleaning for perl-5.6.0nb5
===> Cleaning for perl-base-5.6.0nb1
===> Cleaning for perl-mk-1.1
===> Cleaning for p5-CGI-2.75
===> Cleaning for pkglint-2.53
----- cut here -----

The files were lying already in /usr/pkgsrc/distfiles

----- cut here -----
# make fetch-list
/bin/mkdir -p /usr/pkgsrc/distfiles/
/bin/mkdir -p /usr/pkgsrc/pkgtools/pkglint/../../distfiles/
----- cut here -----

Now comes the interesting part:

----- cut here -----
# make update
===> Deinstalling for pkglint-2.53
Running PKG_DBDIR=/var/db/pkg /usr/sbin/pkg_delete -r pkglint-2.53
===> Validating dependencies for pkglint-2.53
===> Extracting for pkglint-2.53
===> Required installed package perl>=5.0: perl-5.6.0nb5 found
===> Required installed package perl-mk-1.1: perl-mk-1.1 found
===> Building for pkglint-2.53
/usr/bin/sed -e 's|@PREFIX@|/usr/pkg|g'      -e 's|@PORTSDIR@|/usr/pkgsrc/pkgtools/pkglint/../..|g'  -e 's|@DISTVER@|2.53|g'         < /usr/pkgsrc/pkgtools/pkglint/files/pkglint.pl         > /usr/pkgsrc/pkgtools/pkglint/work/pkglint
/usr/bin/sed -e 's|@PREFIX@|/usr/pkg|g'      -e 's|@PORTSDIR@|/usr/pkgsrc/pkgtools/pkglint/../..|g'  -e 's|@DISTVER@|2.53|g'         < /usr/pkgsrc/pkgtools/pkglint/files/lintpkgsrc.pl          > /usr/pkgsrc/pkgtools/pkglint/work/lintpkgsrc
/usr/bin/sed -e 's|@PREFIX@|/usr/pkg|g'      -e 's|@PORTSDIR@|/usr/pkgsrc/pkgtools/pkglint/../..|g'  -e 's|@DISTVER@|2.53|g'         < /usr/pkgsrc/pkgtools/pkglint/files/plist-clash.pl         > /usr/pkgsrc/pkgtools/pkglint/work/plist-clash
/usr/bin/sed -e 's|@PREFIX@|/usr/pkg|g'      -e 's|@PORTSDIR@|/usr/pkgsrc/pkgtools/pkglint/../..|g'  < /usr/pkgsrc/pkgtools/pkglint/files/pkglint.1          > /usr/pkgsrc/pkgtools/pkglint/work/pkglint.1
nroff -mandoc /usr/pkgsrc/pkgtools/pkglint/work/pkglint.1 >/usr/pkgsrc/pkgtools/pkglint/work/pkglint.0
/usr/bin/sed -e 's|@PREFIX@|/usr/pkg|g'      -e 's|@PORTSDIR@|/usr/pkgsrc/pkgtools/pkglint/../..|g'  < /usr/pkgsrc/pkgtools/pkglint/files/lintpkgsrc.1           > /usr/pkgsrc/pkgtools/pkglint/work/lintpkgsrc.1
nroff -mandoc /usr/pkgsrc/pkgtools/pkglint/work/lintpkgsrc.1 >/usr/pkgsrc/pkgtools/pkglint/work/lintpkgsrc.0
===> Installing for pkglint-2.53
install -c -o root -g wheel -m 555 /usr/pkgsrc/pkgtools/pkglint/work/pkglint /usr/pkg/bin/pkglint
install -c -o root -g wheel -m 555 /usr/pkgsrc/pkgtools/pkglint/work/lintpkgsrc /usr/pkg/bin/lintpkgsrc
install -c -o root -g wheel -m 555 /usr/pkgsrc/pkgtools/pkglint/work/plist-clash /usr/pkg/bin/plist-clash
install -c -o root -g wheel -m 444 /usr/pkgsrc/pkgtools/pkglint/work/lintpkgsrc.0 /usr/pkg/man/cat1
install -c -o root -g wheel -m 444 /usr/pkgsrc/pkgtools/pkglint/work/lintpkgsrc.1 /usr/pkg/man/man1
install -c -o root -g wheel -m 444 /usr/pkgsrc/pkgtools/pkglint/work/pkglint.0 /usr/pkg/man/cat1
install -c -o root -g wheel -m 444 /usr/pkgsrc/pkgtools/pkglint/work/pkglint.1 /usr/pkg/man/man1
===> Registering installation for pkglint-2.53
pkglint-2.53 requires installed package p5-CGI-2.75
pkglint-2.53 requires installed package p5-Data-Dumper-2.101
pkglint-2.53 requires installed package p5-Devel-DProf-19990108
pkglint-2.53 requires installed package p5-Devel-Peek-1.0001
pkglint-2.53 requires installed package perl-5.6.0nb5
pkglint-2.53 requires installed package perl-base-5.6.0nb1
pkglint-2.53 requires installed package perl-mk-1.1
`/usr/pkgsrc/pkgtools/pkglint/work/.DDIR' is up to date.
===> Cleaning for pkglint-2.53
----- cut here -----

And this is the result:

----- cut here -----
# rehash
# lintpkgsrc -i
Use of uninitialized value in concatenation (.) at /usr/pkg/bin/lintpkgsrc line 387.
Use of uninitialized value in concatenation (.) at /usr/pkg/bin/lintpkgsrc line 391.
Use of uninitialized value in opendir at /usr/pkg/bin/lintpkgsrc line 466.
Use of uninitialized value in concatenation (.) at /usr/pkg/bin/lintpkgsrc line 466.
Unable to opendir(): No such file or directory at /usr/pkg/bin/lintpkgsrc line 466.
----- cut here -----

What went wrong?
How am I supposed to upgrade a package?

TIA

-- 
Cu  Georges Heinesch, Luxembourg
    geohei@geohei.lu
    http://www.geohei.lu
    PGP RSA & DH/DSS public key on request and on public servers

... don't do anything, I wouldn't do ...