On 08/14/14 12:42, Bryan Drewery wrote:
On 8/14/2014 2:38 PM, olli hauer wrote:
On 2014-08-14 17:35, Nathan Whitehorn wrote:
On 08/14/14 08:02, Bryan Drewery wrote:
On 5/28/2014 11:54 AM, Nathan Whitehorn wrote:
The current/previous values are also kept so
that the patched pkg can install a package marked either with an x86:64
or amd64-type architecture ID (symlinks will be needed for a little bit
on the package server to allow both clients to work). Limited testing
suggests it works well -- I can fetch and install packages fine. More
testing would be great.
Symlinks are now setup to make testing of this easier.

I'll let Bapt signoff on this patch officially and its timeframe. It
seems reasonable to me. The use of 'x86' almost caused a regression
recently due to its ambiguity.

Cheers,
Bryan

Thanks Bryan! If anyone is interested in testing the adapted pkg, there is a 
patch that can be applied to ports at 
http://people.freebsd.org/~nwhitehorn/pkg-new-abi.diff. It tries to make this 
transition as painless as possible by doing the following things:
1. Have pkg use e.g. FreeBSD:11:amd64 instead of freebsd:11:x86:64 as an ABI 
string.
2. Maintain the freebsd:11:x86:64-type strings as the "altabi" config variable.
3. pkg will install packages where the architecture ID matches either the ABI 
or ALTABI value, which means that new pkg can install packages made with the 
older version.
4. Patches the ports-mgmt/pkg Makefile so that the package for pkg itself is 
given a freebsd:11:x86:64-type architecture. This prevents pkg from choking on 
an update to itself and should, with the symlinks discussed above, make the 
transition painless and transparent.

Especially point (4) I'd appreciate testing on if anyone is generating private 
package repositories.
-Nathan
Hi Nathan,

Thanks for the patch, but there is a possible chicken <-> egg issue.

I removed old pkg packages from the last build and running a new build so pkg 
was build with the patch.
The first client complains about wrong architecture and there was no way to 
reinstall pkg (even not with force)
Quick solution was to distribute pkg-static to the client and reinstall pkg 
with the new pkg-static.
After the upgrade everything is running as usual ;)

Are there better upgrade paths then my quick workaround ?

Output after pd build was finished on the first client.

# pkg update -f
Updating repository catalogue
Fetching meta.txz: 100% of 584 B
Fetching digests.txz: 100% of 43 kB
Fetching packagesite.txz: 100% of 138 kB

Adding new entries: 34%
pkg: wrong architecture: FreeBSD:8:amd64 instead of freebsd:8:x86:64

pkg: repository str contains packages with wrong ABI: FreeBSD:8:amd64
Adding new entries: 100%
pkg: Unable to update repository str


Update with help of the patched pkg

# ~/pkg-static update -f
Updating repository catalogue
pkg-static: Repository str has a wrong packagesite, need to re-create database
Fetching meta.txz: 100% of 584 B
Fetching digests.txz: 100% of 43 kB
Fetching packagesite.txz: 100% of 138 kB

Adding new entries: 100%
Incremental update completed, 500 packages processed:
0 packages updated, 0 removed and 500 added.

--
olli

Something I've mentioned to Bapt a few times is that pkg needs a way to
have a list of accepted ABI strings. Then we could add both the old and
the new style as accepted (internally) so that old and new repositories
will continue to work.


That's one thing this patch does internally, so that the patched version accepts either. Of course, it can't alter previous versions of pkg...
-Nathan
_______________________________________________
freebsd-ports@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"

Reply via email to