Wednesday, November 01, 2017

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

No comments:

Post a Comment