FreeBSD-10 pkg Heads Up

Glen Barber gjb at FreeBSD.org
Wed Jan 22 16:53:26 EST 2014


On Wed, Jan 22, 2014 at 04:04:38PM -0500, John Baldwin wrote:
> On Tuesday, January 21, 2014 2:21:50 pm Pete Wright wrote:
> > Hey All,
> > This bit me this morning and figured I'd pass along the info.  I
> > upgraded my workstation to FreeBSD-10.0-RELEASE from the latest release
> > candidate.  that went fine.  then i attempted to upgrade my packages and
> > found that nothing needed to be upgraded...interesting.  i then went to
> > re-install the nvidia xorg driver to make the nvidia.ko match my new
> > kernel and it complained about xorg-server not being available.  odd.
> > after some digging it looks like i needed to create a new repo.  Here
> > was my existing repo config:
> > 
> > > cat /usr/local/etc/pkg/repos/FreeBSD.conf 
> > FreeBSD: {
> >   url: "pkg+http://pkg.freebsd.org/${ABI}/latest",
> >   mirror_type: "srv",
> >   enabled: yes
> > }
> > 
> > 
> > I created a new repository pointing to this releases packages like so:
> > > cat /usr/local/etc/pkg/repos/FreeBSD-rel10.conf 
> > FreeBSD-10-rel: {
> >   url: "pkg+http://pkg.freebsd.org/${ABI}/release/0",
> >   mirror_type: "srv",
> >   enabled: yes
> > }
> > 
> > I'm back in business now.  Not sure if this was in the release notes or
> > not (i may have missed it).  Hopefully this helps someone else out!
> 
> Do you even need a FreeBSD.conf file?

At minimum (for pkg.FreeBSD.org mirrors), you need
/etc/pkg/FreeBSD.conf so pkg is aware of where the signing signatures
are, and what type of signature is used.  (Last I looked at these
specific bits, that is.)

On a side note, the xorg-server package should be available within the
next 24 hours.  The weekly build for that port failed, unfortunately. :(

> I think at one point that was in
> the early adopters instructions, but I think the current state is that
> pkg should work out of the box without needing any conf files.  Perhaps try 
> renaming /usr/local/etc/pkg to /usr/local/etc/pkg.old and see if pkg works 
> correctly.  (If not you can move pkg.old back.)
> 

My suspicion here is /etc/pkg/FreeBSD.conf is overriding
/usr/local/etc/pkg/repos/FreeBSD.conf.  To be sure what pkg thinks its
repository is, you can look at 'pkg -vv' output, and the repositories
are listed at the bottom.

There is a bit of a sharp edge here: when using more than one repository
with the same name, (in Pete's case, I suspect that there will be two
FreeBSD repositories listed in 'pkg -vv'), it is possible to fetch
packages from *both* repositories.  So, what happens is, something like:

    # pkg install x11/kde4

will blow up horribly if both repositories are not relatively
synchronized.  (Meaning, there are no origins changed in one, but the
other has not caught up with the change.)  This is part of the reason
the release/10.0.0/ tag had to be re-created.  I ran into this exact
problem during the original 10.0-RELEASE builds, and packages on the
dvd1.iso image for kde4 would not install.

There's also a bit of a chicken-and-egg problem here regarding the
FreeBSD.conf file shipped with the release.  (Keep in mind, I did not
know xorg-server was missing in the 'latest/' directory until today.)

By shipping the release with the stock FreeBSD.conf pkg configuration,
nothing needs to be done for new installations or upgrades.  The
downside, such as the recent xorg-server build breakage, is it is
possible that immediately after the release, something changes in the
ports tree, and we end up in a situation where a specific package (and
dependent packages) are not available with the default configuration.

Conversely, if we ship with the pkg configuration that is used to build
the ISOs (src/release/pkg_repos/release-dvd.conf), while the packages
will install remotely just fine (using 'release/0/' in the URL in place of
'latest/'), now we are in a situation where manual intervention must be
taken to change to a repository URL that has updated packages, otherwise
they will never receive critical updates.

Arguably, neither is either more or less ideal than the other, as both
have their up- and down-sides.

It is something I intend to resolve (be it documentation or otherwise),
before the next release.

Glen

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 834 bytes
Desc: not available
URL: <http://lists.nycbug.org/pipermail/talk/attachments/20140122/dfc061ab/attachment.bin>


More information about the talk mailing list