pkgsrc-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
pkg/48110: PKG_DBDIR in /etc/pkg_install.conf is ignored by pkgsrc make
>Number: 48110
>Category: pkg
>Synopsis: PKG_DBDIR in /etc/pkg_install.conf is ignored by pkgsrc make
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: pkg-manager
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Thu Aug 08 14:35:00 +0000 2013
>Originator: Toby Karyadi
>Release: NetBSD 6.1
>Organization:
>Environment:
NetBSD my.example.com 6.1 NetBSD 6.1 (XEN3_DOM0) amd64
>Description:
The PKG_DBDIR variable in /etc/pkg_install.conf is obeyed by pkg_add,
pkg_delete, and pkg_info. However when an install from source using make under
pkgsrc is done, the pkg meta data always ends up in /var/db/pkg, the default
location, unless it is overridden in /etc/mk.conf or set in the environment
variable. If PKG_DBDIR is set to a non-default location, and you also do a
build in pkgsrc, pkg_info can produce a different result than what the pkgsrc
build & install machinery sees.
For acceptable licenses warning message says that it should be set in
pkg_install.conf or mk.conf (I don't know whether it would actually works).
Since 'make install' performs very similar action as pkg_add, PKG_DBDIR from
pkg_install.conf should take effect. That is of course unless it is also set in
mk.conf or in the environment variable, in which case it should be overriden.
>How-To-Repeat:
# # Save your current pkg_install.conf and mk.conf
# [ -f /etc/pkg_install.conf ] && (cd /etc && mv pkg_install.conf
pkg_install.conf.orig)
# [ -f /etc/mk.conf ] && (cd /etc/ && mv mk.conf mk.conf.orig)
# cd /usr/pkgsrc
# pkg-admin config-var PKG_DBDIR
/var/db/pkg
# make -V PKG_DBDIR
/var/db/pkg
# echo 'PKG_DBDIR=/usr/pkg/var/db/pkg' > /etc/pkg_install.conf
# pkg-admin config-var PKG_DBDIR
/usr/pkg/var/db/pkg
# make -V PKG_DBDIR
/var/db/pkg
# # Wot??
# echo 'PKG_DBDIR=/usr/pkg/var/db/pkg' > /etc/mk.conf
# make -V PKG_DBDIR
/usr/pkg/var/db/pkg
# # Hmmm, okay, it's either a bug or a documentation problem, or pebkac.
# # Restore your original pkg_install.conf and mk.conf
>Fix:
Workaround:
Set PKG_DBDIR in /etc/mk.conf (for NetBSD) or in ${PREFIX}/etc/mk.conf, where
PREFIX is defaulted to /usr/pkg on other platforms. Or export it as as
environment variable.
IMHO, the fix is to also somehow consult pkg_install.conf in the pkgsrc make
machinery.
Home |
Main Index |
Thread Index |
Old Index