public inbox for gentoo-hardened@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-hardened] Re: [gentoo-dev] profiles/features/64bit-native/package.use.mask contents redundancy
       [not found] <20120211173807.4d1a47ae@sf.home>
@ 2012-02-11 18:48 ` Sergei Trofimovich
  2012-02-11 19:41   ` Sergei Trofimovich
  0 siblings, 1 reply; 4+ messages in thread
From: Sergei Trofimovich @ 2012-02-11 18:48 UTC (permalink / raw
  To: gentoo-dev; +Cc: gentoo-hardened

[-- Attachment #1: Type: text/plain, Size: 1714 bytes --]

[ CCed gentoo-hardened@lists.gentoo.org
  to warn against possible breakage. Touching
  profiles make me nervous.
  TS: http://archives.gentoo.org/gentoo-dev/msg_7c41ab6653426048c2e8b0f271637bf3.xml ]

> 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.

Synced this bit with a fix:

|  11 Feb 2012; Sergei Trofimovich <slyfox@gentoo.org>
|  hardened/linux/amd64/no-multilib/parent:
|  Make hardened/linux/amd64/no-multilib include arch/amd64/no-multilib
|  (http://archives.gentoo.org/gentoo-dev/msg_7c41ab6653426048c2e8b0f271637bf3.x
|  ml). Approved by Zorry.

Thanks!

> [1]:
> 
> $ portage/gentoo-x86/profiles: fgrep -R amd64/no-multilib . | grep -v ChangeLog | grep -v '$Header' | grep -v /CVS/
>     ./default/linux/amd64/10.0/no-multilib/parent:../../../../../arch/amd64/no-multilib
>     ./default/linux/amd64/2008.0/no-multilib/parent:../../../../../arch/amd64/no-multilib
>     ./hardened/linux/amd64/10.0/no-multilib/deprecated:hardened/linux/amd64/no-multilib
> $ portage/gentoo-x86/profiles: fgrep -R features/64bit-native . | grep -v ChangeLog | grep -v '$Header' | grep -v /CVS/
>     ./arch/powerpc/ppc64/64ul/parent:../../../../features/64bit-native
>     ./default/linux/amd64/10.0/no-multilib/parent:../../../../../features/64bit-native
>     ./default/linux/amd64/2008.0/no-multilib/parent:../../../../../features/64bit-native
>     ./hardened/linux/amd64/no-multilib/parent:../../../../features/64bit-native
>     ./hardened/linux/powerpc/ppc64/64bit-userland/parent:../../../../../features/64bit-native

-- 

  Sergei

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [gentoo-hardened] Re: [gentoo-dev] profiles/features/64bit-native/package.use.mask contents redundancy
  2012-02-11 18:48 ` [gentoo-hardened] Re: [gentoo-dev] profiles/features/64bit-native/package.use.mask contents redundancy Sergei Trofimovich
@ 2012-02-11 19:41   ` Sergei Trofimovich
  2012-02-12 18:15     ` Sergei Trofimovich
  0 siblings, 1 reply; 4+ messages in thread
From: Sergei Trofimovich @ 2012-02-11 19:41 UTC (permalink / raw
  To: gentoo-dev; +Cc: gentoo-hardened

[-- Attachment #1: Type: text/plain, Size: 827 bytes --]

> > 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.
> 
> Synced this bit with a fix:
> 
> |  11 Feb 2012; Sergei Trofimovich <slyfox@gentoo.org>
> |  hardened/linux/amd64/no-multilib/parent:
> |  Make hardened/linux/amd64/no-multilib include arch/amd64/no-multilib
> |  (http://archives.gentoo.org/gentoo-dev/msg_7c41ab6653426048c2e8b0f271637bf3.x
> |  ml).

And the change brought the breakage:

New profiles popped up:
| /usr/portage/profiles/arch/base
| /usr/portage/profiles/features/multilib
| /usr/portage/profiles/features/multilib/lib32

Likely because of double inclusion of some suspicious
parent profiles.

Reverted the change :[

-- 

  Sergei

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [gentoo-hardened] Re: [gentoo-dev] profiles/features/64bit-native/package.use.mask contents redundancy
  2012-02-11 19:41   ` Sergei Trofimovich
@ 2012-02-12 18:15     ` Sergei Trofimovich
       [not found]       ` <4F3823A4.7010008@gentoo.org>
  0 siblings, 1 reply; 4+ messages in thread
From: Sergei Trofimovich @ 2012-02-12 18:15 UTC (permalink / raw
  To: gentoo-dev; +Cc: gentoo-hardened

[-- Attachment #1: Type: text/plain, Size: 3761 bytes --]

> > > 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.
> > 
> > Synced this bit with a fix:
> > 
> > |  11 Feb 2012; Sergei Trofimovich <slyfox@gentoo.org>
> > |  hardened/linux/amd64/no-multilib/parent:
> > |  Make hardened/linux/amd64/no-multilib include arch/amd64/no-multilib
> > |  (http://archives.gentoo.org/gentoo-dev/msg_7c41ab6653426048c2e8b0f271637bf3.x
> > |  ml).
> 
> And the change brought the breakage:
> 
> New profiles popped up:
> | /usr/portage/profiles/arch/base
> | /usr/portage/profiles/features/multilib
> | /usr/portage/profiles/features/multilib/lib32
> 
> Likely because of double inclusion of some suspicious
> parent profiles.
> 
> 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-no-multilib'
 - and 'profiles/arch/amd64/no-multilib' back to 'hardened/linux/amd64/no-multilib'
It would state explicitely that it does not inherit anything.

[ Another option would be to simplify 'default/linux/amd64' thing not to include '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

-- 

  Sergei

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [gentoo-hardened] Re: [gentoo-dev] profiles/features/64bit-native/package.use.mask contents redundancy
       [not found]       ` <4F3823A4.7010008@gentoo.org>
@ 2012-02-13 16:16         ` Sergei Trofimovich
  0 siblings, 0 replies; 4+ messages in thread
From: Sergei Trofimovich @ 2012-02-13 16:16 UTC (permalink / raw
  To: gentoo-dev; +Cc: gentoo-hardened

[-- Attachment #1: Type: text/plain, Size: 877 bytes --]

On Sun, 12 Feb 2012 12:40:04 -0800
Zac Medico <zmedico@gentoo.org> wrote:

> On 02/12/2012 10:15 AM, Sergei Trofimovich wrote:
> > Feature request:
> >     Can we add a double-inclusion detector for profiles to repoman?
> 
> If it's not too noisy. Right now, profiles.desc contains 83 profiles
> with double inclusions like this. See attached data and scripts.

Looks nice!

'desktop/*' thing needs serious effort to restructure that.
If teams are willing to make things saner, I would go for
warning addition (maybe, guarded by --include-dev option).

some mips profiles are scary too:
    http://dev.gentoo.org/~slyfox/profiles_mips.png

Another alternative would be to skip double-inclusion of identical profiles at
the portage level, but it sounds very fragile and counterintuitive.

Maybe, a bit less fragile, than current state.

-- 

  Sergei

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2012-02-13 17:02 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <20120211173807.4d1a47ae@sf.home>
2012-02-11 18:48 ` [gentoo-hardened] Re: [gentoo-dev] profiles/features/64bit-native/package.use.mask contents redundancy Sergei Trofimovich
2012-02-11 19:41   ` Sergei Trofimovich
2012-02-12 18:15     ` Sergei Trofimovich
     [not found]       ` <4F3823A4.7010008@gentoo.org>
2012-02-13 16:16         ` Sergei Trofimovich

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox