From owner-freebsd-pkgbase@freebsd.org Wed Jul 27 09:20:09 2016 Return-Path: Delivered-To: freebsd-pkgbase@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4F565BA662B for ; Wed, 27 Jul 2016 09:20:09 +0000 (UTC) (envelope-from matthew@FreeBSD.org) Received: from smtp.infracaninophile.co.uk (smtp.infracaninophile.co.uk [81.2.117.100]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "smtp.infracaninophile.co.uk", Issuer "infracaninophile.co.uk" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id C988F19D9 for ; Wed, 27 Jul 2016 09:20:08 +0000 (UTC) (envelope-from matthew@FreeBSD.org) Received: from ox-dell39.ox.adestra.com (unknown [85.199.232.226]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: m.seaman@infracaninophile.co.uk) by smtp.infracaninophile.co.uk (Postfix) with ESMTPSA id CA5B98570; Wed, 27 Jul 2016 09:19:57 +0000 (UTC) Authentication-Results: smtp.infracaninophile.co.uk; dmarc=none header.from=FreeBSD.org Authentication-Results: smtp.infracaninophile.co.uk/CA5B98570; dkim=none; dkim-atps=neutral Subject: Re: amd64 vs. x86:64 architecture mismatch in FreeBSD-base repo To: Ben Woods References: <0295c3e9-a6ed-9081-ae3d-0668138289d3@bluerosetech.com> <4793bae9-9346-300f-b331-96fb54f7d2a0@FreeBSD.org> Cc: "freebsd-pkgbase@freebsd.org" From: Matthew Seaman Message-ID: Date: Wed, 27 Jul 2016 10:19:39 +0100 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0 MIME-Version: 1.0 In-Reply-To: Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="Vq59DPQrXgdN4qimcJ2D6SwLA7K4LTGBL" X-Spam-Status: No, score=-0.4 required=5.0 tests=BAYES_00,RDNS_NONE, SPF_SOFTFAIL autolearn=no autolearn_force=no version=3.4.1 X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on smtp.infracaninophile.co.uk X-BeenThere: freebsd-pkgbase@freebsd.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: "Packaging the FreeBSD base system." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 27 Jul 2016 09:20:09 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --Vq59DPQrXgdN4qimcJ2D6SwLA7K4LTGBL Content-Type: multipart/mixed; boundary="D3GUlPPh8fik2wmOBIm9wrspSq4gpx96m" From: Matthew Seaman To: Ben Woods Cc: "freebsd-pkgbase@freebsd.org" Message-ID: Subject: Re: amd64 vs. x86:64 architecture mismatch in FreeBSD-base repo References: <0295c3e9-a6ed-9081-ae3d-0668138289d3@bluerosetech.com> <4793bae9-9346-300f-b331-96fb54f7d2a0@FreeBSD.org> In-Reply-To: --D3GUlPPh8fik2wmOBIm9wrspSq4gpx96m Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 07/27/16 09:17, Ben Woods wrote: > On Wednesday, 27 July 2016, Matthew Seaman wrote:= >> >> Interesting. I've just seen exactly the same thing when trying to >> update my CURRENT VM. It's the transition from FreeBSD:11:amd64 to >> FreeBSD:12:amd64 which seems to be the root cause. >> >> The old 'freebsd:12:x86:64' ABI style is something that pkg(8) moved >> away from many years ago. It appears in the package metadata as 'arch= ': >> >> # pkg info -RF FreeBSD-lib-12.0.s20160727061717.txz | head -10 >> name: "FreeBSD-lib" >> origin: "base" >> version: "12.0.s20160727061717" >> comment: "lib package" >> maintainer: "re@FreeBSD.org" >> www: "https://www.FreeBSD.org" >> abi: "FreeBSD:12:amd64" >> arch: "freebsd:12:x86:64" <<<----*** >> prefix: "/" >> flatsize: 106186 >> >> which I believe is more significant for certain ARM and MIPS >> architectures: i386 and amd64 only have one architecture variant apiec= e. >> >> Still, curious about how to get over this major version number bump. >> >> Cheers, >> >> Matthew >> >=20 > Hi Matthew, >=20 > Please see right at the bottom of the PkgBase wiki page where I have > explained how to get around the one time ABI bump during major upgrades= =2E >=20 > https://wiki.freebsd.org/PkgBase#Major_Version_Upgrades >=20 > Regards, > Ben >=20 >=20 Hmmm... where essentially the command you propose is: # env ABI=3Dfreebsd:12:x86:64 pkg upgrade -r FreeBSD-base Unfortunately this doesn't work: codling:/home/matthew:# env ABI=3Dfreebsd:12:x86:64 pkg upgrade -r FreeBSD-base pkg: Warning: Major OS version upgrade detected. Running "pkg-static install -f pkg" recommended Updating FreeBSD-base repository catalogue... Repository FreeBSD-base has a wrong packagesite, need to re-create databa= se pkg: file:///usr/obj/usr/src/repo/freebsd:12:x86:64/latest/meta.txz: No such file or directory repository FreeBSD-base has no meta file, using default settings pkg: file:///usr/obj/usr/src/repo/freebsd:12:x86:64/latest/packagesite.txz: No such file or directory Unable to update repository FreeBSD-base All repositories are up-to-date. pkg: Repository FreeBSD-base cannot be opened. 'pkg update' required Checking for upgrades (0 candidates): 100% Processing candidates (0 candidates): 100% Checking integrity... done (0 conflicting) Your packages are up to date. 'freebsd:12:x86:64' is the old-style ABI format that went out in about pkg-1.5.x or pkg-1.6.x or so and is now known inside pkg(8) as ALTABI. codling:/home/matthew:# pkg -vv | grep ABI ABI =3D "FreeBSD:11:amd64"; ALTABI =3D "freebsd:11:x86:64"; The base repo directory is named using the new style ABI: codling:/home/matthew:# ls -la /usr/obj/usr/src/repo/ total 12 drwxr-xr-x 3 matthew wheel 512 Jul 27 07:14 ./ drwxr-xr-x 23 matthew wheel 512 Jul 26 17:43 ../ drwxr-xr-x 3 root wheel 512 Jul 27 07:32 FreeBSD:12:amd64/ Even so: codling:/home/matthew:# env ABI=3DFreeBSD:12:amd64 pkg upgrade -r FreeBSD= -base pkg: Warning: Major OS version upgrade detected. Running "pkg-static install -f pkg" recommended Updating FreeBSD-base repository catalogue... Fetching meta.txz: 100% 264 B 0.3kB/s 00:01 Fetching packagesite.txz: 100% 48 KiB 49.0kB/s 00:01 Processing entries: 0% pkg: wrong architecture: freebsd:12:x86:64 instead of FreeBSD:12:amd64 pkg: repository FreeBSD-base contains packages with wrong ABI: freebsd:12:x86:64 Processing entries: 100% Unable to update repository FreeBSD-base All repositories are up-to-date. pkg: Repository FreeBSD-base cannot be opened. 'pkg update' required Checking for upgrades (0 candidates): 100% Processing candidates (0 candidates): 100% Checking integrity... done (0 conflicting) Your packages are up to date. I think I may need a 'pkg-static' compiled under 12.0 to make this work, which is an interesting chicken-and-egg problem. There does seem to be some confusion between 'Architecture' and 'ABI'. Do we need to introduce a concept of 'Architecture' for some base system packages? This would say what sort of system hardware a kernel package could be installed on, like so: 'x86:64' or 'mips:be' (notice this says nothing about FreeBSD or FreeBSD's major version level.) Then we'd need some sort of additional logic for working for out what ABIs are compatible with what Architectures and also a new magic variable ${ARCHITECTURE} for the low-level base system bits, analogous to ${ABI}. Cheers, Matthew --D3GUlPPh8fik2wmOBIm9wrspSq4gpx96m-- --Vq59DPQrXgdN4qimcJ2D6SwLA7K4LTGBL Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- iQIcBAEBCgAGBQJXmHyzAAoJEABRPxDgqeTnVUsP+gOc0uE8brVM1kb1ZwoGKc7W qDznnJVEHBB8/S5J1ujIqVUN/WwPhG/TBAHav1s4uiDm508Ejbxu8e7as9zpaybh gPrbbWQgXP3mIOTTzvdeGb4tEEfSvBdZR0B1yYenmx2HJumBNT/FmhIytUQwW6DQ TMuI6gp/+0Mdkdv03kXNc8IkeXYBSvmrkMaX6Nwh4z2WU2b0it566Zn8zhWR1JF0 ickZ9+blQuVIUuRtSlnezOr/DbKeiQlxBqY+1o0ufqWxw01WFfyQzwFw0F06hc5U x4QYe8u/DRty+9NsvnxShAUCmuOFrIUqQAeByj2vVJFqgB4x1V1oAgTrFPK4erJS 4Y5MRUhxuXCX2JQO6oGH/o/yq+rYJRDfi60tNiPRjnV7xeuALSBfJW2VPHLo5SDE pT+EjgmbyTtw++R4RKb31vJhTM/0DjMfgmc8DfYGicrtW+52G9G71nvtpTEYdZGd 5oDH5Lx/fdf8E8iq/pN198FfiN9f8YSo6e1EvKi3wLmzO5OoRjcVUnEG5d0ukKbT C2RxCFK6efDZwrbsiKWFEKVhF7qjF9u2ezDMUsDKzxnaklROKGC4Y6a94cfpbXeo kwlmS5w5owOXgcI9/ux9+jpKditEZ6kDcvTh6y+3SYqYJa2GfEG0r2J8pvUeaWGB a4bx2Vs8t7MO0ergTePF =Uxns -----END PGP SIGNATURE----- --Vq59DPQrXgdN4qimcJ2D6SwLA7K4LTGBL--