Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 4 Feb 2016 11:29:04 +0100
From:      "O. Hartmann" <ohartman@zedat.fu-berlin.de>
To:        freebsd-ports@freebsd.org
Cc:        Patrick Hess <patrickhess@gmx.net>
Subject:   pkg: fails with local repository (file:///) [WAS: Re: pkg: fail to install packages from local file repository targeted via file:///]
Message-ID:  <20160204112904.4067e8b6@freyja.zeit4.iv.bundesimmobilien.de>
In-Reply-To: <4592161.s4kf8P24of@desk8.phess.net>
References:  <20160202103548.1b2adab1@freyja.zeit4.iv.bundesimmobilien.de> <4592161.s4kf8P24of@desk8.phess.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 02 Feb 2016 18:34:01 +0100
Patrick Hess <patrickhess@gmx.net> wrote:

> O. Hartmann wrote:
> > file:///pool/poudriere/data/packages/head-amd64-head-default/meta.txz: No
> > such file or directory repository myrepo has no meta file, using default
> > settings pkg:
> > file:///pool/poudriere/data/packages/head-amd64-head-default/packagesite.txz:
> > No such file or directory Unable to update repository myrepo  
> 
> These files are supposed to be created by "pkg repo". I'm not
> familiar with this nanoBSDbuilding thingamabob, but what happens
> if you just run
> 
>     pkg repo /pool/poudriere/data/packages/head-amd64-head-default
> 
> manually?
> 
> > the documentation doesn't give much about handling local repositories  
> 
> This particular issue is not specific to local repos. In fact,
> any pkg repo, no matter how it's being accessed, should provide
> these two files.
> 
> Patrick

After checking the setup of NanoBSD's and after ensuring the correct
installation of a local package repository via poudriere, exchanging the
PACKAGESITE (url: in repos.conf) with an official site like 

url: "pkg+http://pkg.FreeBSD.org/${ABI}/latest",

does not have any issues.

poudriere(8) provides at the location specified by my alternative, local
repositories' path 

meta.txz

as well as 

packagesite.txz

but they are symbolic links,

[...]
ls -l /pool/poudriere/data/packages/head-amd64-head-default/
total 3
lrwxr-xr-x  1 root  wheel  11  1 Feb. 15:04 All -> .latest/All
lrwxr-xr-x  1 root  wheel  14  1 Feb. 15:04 Latest -> .latest/Latest
lrwxr-xr-x  1 root  wheel  19  1 Feb. 15:04 digests.txz -> .latest/digests.txz
lrwxr-xr-x  1 root  wheel  16  1 Feb. 15:04 meta.txz -> .latest/meta.txz
lrwxr-xr-x  1 root  wheel  23  1 Feb. 15:04 packagesite.txz

It seems that pkg is not handling links - either by intention for security
reasons or by mistake - or I miss some neat configuration option.

Since a remote repo works perfectly as mentioned above, but the local
repository created by poudriere (I do not doubt the correctnes of poudriere's
directory hierarchy because it is as described in pkg-repo(8) and
pkg-repository(5)), I consider this behaviour a bug. FILE: is supported by
fetch(3), and there is no menetioning of the exclusion of symbolic links.

Regards,
oh



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20160204112904.4067e8b6>