pkg_info fails for non-installed packages when PKG_CACHE is set to a directory the current user can't write to
Oct 27 snapshot, amd64. When PKG_CACHE is set: $ cat /etc/profile export PKG_CACHE=/var/cache/pkg To a directory the current user lacks write access to: $ touch /var/cache/pkg/somefile touch: /var/cache/pkg/somefile: Permission denied Trying to call pkg_info on an uninstalled package fails: $ pkg_info -e lumina-1.3.0pl1p2; echo $? 1 $ pkg_info lumina-1.3.0pl1p2 Fatal error: bad PKG_CACHE directory /var/cache/pkg at /usr/libdata/perl5/OpenBSD/PackageRepository.pm line 669. This is surprising, because I didn't expect pkg_info to write anything but temporary files; PKG_CACHE is not documented on pkg_info(1). The program doesn't apparently even intend to cache anything, as when I temporarily set PKG_CACHE to something writable: $ cd $HOME $ PKG_CACHE=. pkg_info lumina-1.3.0pl1p2 Information for https://ftp.eu.openbsd.org/pub/OpenBSD/snapshots /packages/amd64/lumina-1.3.0pl1p2.tgz Comment: Lumina Desktop Environment Description: Lumina-DE is a lightweight, BSD licensed desktop environment. Maintainer: Bryan C. Everly WWW: http://lumina-desktop.org/ It works, but nothing is actually cached: $ ls lumina-1.3.0pl1p2.tgz ls: lumina-1.3.0pl1p2.tgz: No such file or directory Is this a bug, or just an unsupported use case?
Re: pkg_info fails for non-installed packages when PKG_CACHE is set to a directory the current user can't write to
On Mon, Oct 30, 2017 at 09:05:53PM +0200, Lari Rasku wrote: > Oct 27 snapshot, amd64. > > When PKG_CACHE is set: > > $ cat /etc/profile > export PKG_CACHE=/var/cache/pkg > > To a directory the current user lacks write access to: > > $ touch /var/cache/pkg/somefile > touch: /var/cache/pkg/somefile: Permission denied > > Trying to call pkg_info on an uninstalled package fails: > > $ pkg_info -e lumina-1.3.0pl1p2; echo $? > 1 > $ pkg_info lumina-1.3.0pl1p2 > Fatal error: bad PKG_CACHE directory /var/cache/pkg >at /usr/libdata/perl5/OpenBSD/PackageRepository.pm line 669. > > This is surprising, because I didn't expect pkg_info to write anything but > temporary files; PKG_CACHE is not documented on pkg_info(1). The program > doesn't apparently even intend to cache anything, as when I temporarily set > PKG_CACHE to something writable: Fun one. Well, people usually don't define PKG_CACHE manually, but rely on the ports tree to do it when needed. Tweaking the full chain to only handle it with pkg_add would be feasible. Somewhat low priority.
Re: pkg_info fails for non-installed packages when PKG_CACHE is set to a directory the current user can't write to
On Wed, Nov 01, 2017 at 11:51:52AM +0100, Marc Espie wrote: > On Mon, Oct 30, 2017 at 09:05:53PM +0200, Lari Rasku wrote: > > Oct 27 snapshot, amd64. > > > > When PKG_CACHE is set: > > > > $ cat /etc/profile > > export PKG_CACHE=/var/cache/pkg > > > > To a directory the current user lacks write access to: > > > > $ touch /var/cache/pkg/somefile > > touch: /var/cache/pkg/somefile: Permission denied > > > > Trying to call pkg_info on an uninstalled package fails: > > > > $ pkg_info -e lumina-1.3.0pl1p2; echo $? > > 1 > > $ pkg_info lumina-1.3.0pl1p2 > > Fatal error: bad PKG_CACHE directory /var/cache/pkg > > at /usr/libdata/perl5/OpenBSD/PackageRepository.pm line 669. > > > > This is surprising, because I didn't expect pkg_info to write anything but > > temporary files; PKG_CACHE is not documented on pkg_info(1). The program > > doesn't apparently even intend to cache anything, as when I temporarily set > > PKG_CACHE to something writable: > > Fun one. Well, people usually don't define PKG_CACHE manually, but rely > on the ports tree to do it when needed. > > Tweaking the full chain to only handle it with pkg_add would be feasible. > > Somewhat low priority. Fairly easy to fix actually, so it's going to be in current, thx
Re: pkg_info fails for non-installed packages when PKG_CACHE is set to a directory the current user can't write to
Marc Espie kirjoitti 11/01/17 klo 20:11: On Wed, Nov 01, 2017 at 11:51:52AM +0100, Marc Espie wrote: >> Somewhat low priority. > > Fairly easy to fix actually, so it's going to be in current, thx Sweet. Well, people usually don't define PKG_CACHE manually, but rely on the ports tree to do it when needed. Oh, it's a ports tree mechanism? I only use packages, so I've been using it for a fast reinstall/lookup cache in case I come to second thoughts about some package: $ cat /etc/profile export PKG_CACHE=/var/cache/pkg export PKG_PATH=$PKG_CACHE:installpath Though this came back to bite me when I tried upgrading packages yesterday, as pkg_add -u naturally quit its search at the cache. This one probably isn't a supported use case...
Re: pkg_info fails for non-installed packages when PKG_CACHE is set to a directory the current user can't write to
Hi Lari/Marc/all, On Thu, 2 Nov 2017 00:21:08 +0200 Lari Rasku wrote: > Oh, it's a ports tree mechanism? I only use packages, so I've been > using it for a fast reinstall/lookup cache in case I come to second > thoughts about some package: Likewise, I have: $ printenv | fgrep PKG_ PKG_CACHE=/var/cache/pkg PKG_PATH=$PKG_CACHE:http://mirror. /var/cache/pkg/ is group writable by wheel, so unpriv sysadmins can do pkg_add -n to download & cache items, for root to install later. I thought the cache was to reduce remote package server/network load. Cheers, -- Craig Skinner | http://linkd.in/yGqkv7