From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from pigeon.gentoo.org ([208.92.234.80] helo=lists.gentoo.org) by finch.gentoo.org with esmtp (Exim 4.60) (envelope-from ) id 1Rwdur-0005Ld-PJ for garchives@archives.gentoo.org; Sun, 12 Feb 2012 18:12:50 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 6A7C7E077B; Sun, 12 Feb 2012 18:12:23 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) by pigeon.gentoo.org (Postfix) with ESMTP id 9FB66E076F; Sun, 12 Feb 2012 18:11:48 +0000 (UTC) Received: from sf.home (unknown [178.125.127.149]) (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) (Authenticated sender: slyfox) by smtp.gentoo.org (Postfix) with ESMTPSA id 6C9771B4015; Sun, 12 Feb 2012 18:11:45 +0000 (UTC) Date: Sun, 12 Feb 2012 21:15:53 +0300 From: Sergei Trofimovich To: gentoo-dev@lists.gentoo.org Cc: gentoo-hardened@lists.gentoo.org Subject: [gentoo-hardened] Re: [gentoo-dev] profiles/features/64bit-native/package.use.mask contents redundancy Message-ID: <20120212211553.2e5ac911@sf.home> In-Reply-To: <20120211224136.6637e662@sf.home> References: <20120211173807.4d1a47ae@sf.home> <20120211214848.75eea595@sf.home> <20120211224136.6637e662@sf.home> X-Mailer: Claws Mail 3.7.10 (GTK+ 2.24.8; x86_64-pc-linux-gnu) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-hardened@lists.gentoo.org Reply-to: gentoo-hardened@lists.gentoo.org Mime-Version: 1.0 Content-Type: multipart/signed; micalg=PGP-SHA1; boundary="Sig_/ZW7PF9=wlsne8Hd1wfQcQAz"; protocol="application/pgp-signature" X-Archives-Salt: 4a026496-3cdd-4124-aca9-03a82f721e67 X-Archives-Hash: 1b7b3123516fb7a8ff834135b67dfebc --Sig_/ZW7PF9=wlsne8Hd1wfQcQAz Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable > > > Looks like 'arch/amd64/no-multilib' profile inclusion is kept in > > > sync with 'features/64bit-native' one: [1]. Exception is > > > 'hardened/linux/amd64/no-multilib' profile. Looks like a bug. > >=20 > > Synced this bit with a fix: > >=20 > > | 11 Feb 2012; Sergei Trofimovich > > | hardened/linux/amd64/no-multilib/parent: > > | Make hardened/linux/amd64/no-multilib include arch/amd64/no-multilib > > | (http://archives.gentoo.org/gentoo-dev/msg_7c41ab6653426048c2e8b0f27= 1637bf3.x > > | ml). >=20 > And the change brought the breakage: >=20 > New profiles popped up: > | /usr/portage/profiles/arch/base > | /usr/portage/profiles/features/multilib > | /usr/portage/profiles/features/multilib/lib32 >=20 > Likely because of double inclusion of some suspicious > parent profiles. >=20 > Reverted the change :[ Zorry and blueness helped me to investigated the issue further. 'default/linux/amd64/10.0/no-multilib' contains duplicate inheritance chain: Simple script [1] shows us profile loading order: /subvolumes/gentoo-portage/profiles/base /subvolumes/gentoo-portage/profiles/default/linux /subvolumes/gentoo-portage/profiles/arch/base /subvolumes/gentoo-portage/profiles/features/multilib /subvolumes/gentoo-portage/profiles/features/multilib/lib32 /subvolumes/gentoo-portage/profiles/arch/amd64 /subvolumes/gentoo-portage/profiles/default/linux/amd64 /subvolumes/gentoo-portage/profiles/releases /subvolumes/gentoo-portage/profiles/releases/10.0 /subvolumes/gentoo-portage/profiles/default/linux/amd64/10.0 /subvolumes/gentoo-portage/profiles/arch/base /subvolumes/gentoo-portage/profiles/features/multilib /subvolumes/gentoo-portage/profiles/features/multilib/lib32 /subvolumes/gentoo-portage/profiles/arch/amd64 /subvolumes/gentoo-portage/profiles/arch/amd64/no-multilib /subvolumes/gentoo-portage/profiles/features/64bit-native /subvolumes/gentoo-portage/profiles/default/linux/amd64/10.0/no-multilib What we see here is repeating block: /subvolumes/gentoo-portage/profiles/arch/base /subvolumes/gentoo-portage/profiles/features/multilib /subvolumes/gentoo-portage/profiles/features/multilib/lib32 /subvolumes/gentoo-portage/profiles/arch/amd64 /subvolumes/gentoo-portage/profiles/default/linux/amd64 which can rollback all changes introduced by the profiles: /subvolumes/gentoo-portage/profiles/releases /subvolumes/gentoo-portage/profiles/releases/10.0 /subvolumes/gentoo-portage/profiles/default/linux/amd64/10.0 Does not sound like a good thing. For those who can't read: http://dev.gentoo.org/~slyfox/profiles_default.png Notice the 'arch/amd64' inheritance both by 'arch/amd64/no-multilib' 'default/linux/amd64' I think 'arch/amd64/no-multilib' does not need any parents as any profile belongs to some arch, so pulls it explicitely. Even thing like prefix (has the same double-inclusion "feature" as well): http://dev.gentoo.org/~slyfox/profiles_prefix.png I suggest to: - drop 'parents' for 'profiles/arch/amd64/no-multilib' - [optionally] move 'profiles/arch/amd64/no-multilib' to 'features/amd64-n= o-multilib' - and 'profiles/arch/amd64/no-multilib' back to 'hardened/linux/amd64/no-m= ultilib' It would state explicitely that it does not inherit anything. [ Another option would be to simplify 'default/linux/amd64' thing not to in= clude 'profiles/arch' ] Thoughts? Feature request: Can we add a double-inclusion detector for profiles to repoman? Thanks for your patience! [1] #!/usr/bin/env python import portage for p in portage.settings.profiles: print "%s" % p --=20 Sergei --Sig_/ZW7PF9=wlsne8Hd1wfQcQAz Content-Type: application/pgp-signature; name=signature.asc Content-Disposition: attachment; filename=signature.asc -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.17 (GNU/Linux) iEYEARECAAYFAk84AdwACgkQcaHudmEf86rwfgCeLvEPpBYbsc16WTXSZhbu/LvE WqAAn2/Wb5xPH+o8YA0WkscAgXHyMqAv =/Ujb -----END PGP SIGNATURE----- --Sig_/ZW7PF9=wlsne8Hd1wfQcQAz--