Subject: pkg/28331: make update fails in pkgtools/pkg_install
To: None <pkg-manager@netbsd.org, gnats-admin@netbsd.org,>
From: None <martti.kuparinen@iki.fi>
List: pkgsrc-bugs
Date: 11/16/2004 16:35:00
>Number:         28331
>Category:       pkg
>Synopsis:       make update fails in pkgtools/pkg_install
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Nov 16 16:35:00 +0000 2004
>Originator:     Martti Kuparinen
>Release:        NetBSD 2.0_RC5
>Organization:
>Environment:
System: NetBSD p2.piuha.net 2.0_RC5 NetBSD 2.0_RC5 (P2) #0: Fri Nov 12 09:49:26 EET 2004 root@p2.piuha.net:/usr/src/sys/arch/i386/compile/P2 i386
Architecture: i386
Machine: i386
>Description:

I can't run "make update" in /usr/pkgsrc/pkgtools/pkg_install without
first running "make". For all other packages it's sufficient to execute
only "make update" as it first builds the package and then performs the
actual update procedure.

>How-To-Repeat:

# pkg_add -V
20041031

Now, try this:

# cd /usr/pkgsrc/pkgtools/pkg_install
# make update
===> Deinstalling for pkg_install
Running /usr/pkgsrc/pkgtools/pkg_install/work/pkg_install-20041110/delete/pkg_de
lete -r -N -f pkg_install-20041031
/usr/pkgsrc/pkgtools/pkg_install/work/pkg_install-20041110/delete/pkg_delete: no
t found
===> Checking for vulnerabilities in pkg_install-20041110
...
===> Installing for pkg_install-20041110
===> pkg_install-20041031 is already installed - perhaps an older version?
*** If so, you may use either of:
***  - "pkg_delete pkg_install-20041031" and "/usr/bin/make reinstall" to upgrad
e properly
***  - "/usr/bin/make update" to rebuild the package and all of its dependencies
***  - "/usr/bin/make replace" to replace only the package without re-linking
***    dependencies, risking various problems.
*** Error code 1

So it didn't work. It seems the user MUST first build the package and
then run make update:

# make clean clean-depends
# make
# make update
===> Deinstalling for pkg_install
Running /usr/pkgsrc/pkgtools/pkg_install/work/pkg_install-20041110/delete/pkg_de
lete -r -N -f pkg_install-20041031
Package `pkg_install-20041031' is marked as not for deletion
Deleting anyway
===> Checking for vulnerabilities in pkg_install-20041110
...
===> Registering installation for pkg_install-20041110
===> Cleaning for pkg_install-20041110

>Fix:

Maybe add a check which verifies that ${BUILD_COOKIE} exists and if not,
instruct the user to run "make && make update" instead of "make update".