public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-dev] [PATCH] Profile cleanup, pt. 2: multilib mess
@ 2017-01-21 22:59 Michał Górny
  2017-01-21 22:59 ` [gentoo-dev] [PATCH 1/8] profiles/hardened: Include base amd64-multilib profile in subprofile Michał Górny
                   ` (8 more replies)
  0 siblings, 9 replies; 12+ messages in thread
From: Michał Górny @ 2017-01-21 22:59 UTC (permalink / raw
  To: gentoo-dev

Hi, everyone.

Here's the result of a side project I'm running. It's a set of patches
to profiles that attempt to simplify and clean the structure a bit.
I've checked it using profile-dumper [1] and it's mostly NFC, except
that some stuff irrelevant to the arch in question being removed.

The main goal was to reduce the role of features/* subtree that served
as some kind of weird all-in-one middleware for multiple profiles. These
patches:

a. kill features/*bit-* completely -- all stuff is moved to appropriate
arch profiles,

b. kill LIBDIR declarations out of features/multilib -- also moved to
appropriate arch profiles.

The main goal is simplicity. I think it's really better when you don't
have to guess which of 10 implicitly inherited profiles set the final
value, and it's really bad when minor parent order changes in some
profile can randomly effect the results of a derived one.

Right now this is terrible. For example, the arch/amd64/x32 profile
inherited features/multilib a second time just to reset libdir which has
been indirectly set by parent profile.

I can't stay this is enough to make things perfect but I think it's
a step in the right direction. Cleaner profiles make it easier to
improve them more in the future.

Productive comments welcome.

[1]:https://github.com/mgorny/profile-cleanup



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

* [gentoo-dev] [PATCH 1/8] profiles/hardened: Include base amd64-multilib profile in subprofile
  2017-01-21 22:59 [gentoo-dev] [PATCH] Profile cleanup, pt. 2: multilib mess Michał Górny
@ 2017-01-21 22:59 ` Michał Górny
  2017-03-02 14:09   ` [gentoo-dev] profiles/arch/amd64/no-multilib cleanup WAS: " Michael Haubenwallner
  2017-01-21 22:59 ` [gentoo-dev] [PATCH 2/8] profiles: Move amd64-specific masks to amd64 where they belong Michał Górny
                   ` (7 subsequent siblings)
  8 siblings, 1 reply; 12+ messages in thread
From: Michał Górny @ 2017-01-21 22:59 UTC (permalink / raw
  To: gentoo-dev; +Cc: Michał Górny

Include arch/amd64/no-multilib in the hardened no-multilib amd64
variant. Confirmed with profile-dumper that it does not currently change
anything.
---
 profiles/hardened/linux/amd64/no-multilib/parent | 1 +
 1 file changed, 1 insertion(+)

diff --git a/profiles/hardened/linux/amd64/no-multilib/parent b/profiles/hardened/linux/amd64/no-multilib/parent
index 8305c3556463..0defac31415d 100644
--- a/profiles/hardened/linux/amd64/no-multilib/parent
+++ b/profiles/hardened/linux/amd64/no-multilib/parent
@@ -1,2 +1,3 @@
+../../../../arch/amd64/no-multilib
 ..
 ../../../../features/64bit-native
-- 
2.11.0



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

* [gentoo-dev] [PATCH 2/8] profiles: Move amd64-specific masks to amd64 where they belong
  2017-01-21 22:59 [gentoo-dev] [PATCH] Profile cleanup, pt. 2: multilib mess Michał Górny
  2017-01-21 22:59 ` [gentoo-dev] [PATCH 1/8] profiles/hardened: Include base amd64-multilib profile in subprofile Michał Górny
@ 2017-01-21 22:59 ` Michał Górny
  2017-01-21 22:59 ` [gentoo-dev] [PATCH 3/8] profiles/*/amd64/*/no-multilib: stop using features/64bit-native Michał Górny
                   ` (6 subsequent siblings)
  8 siblings, 0 replies; 12+ messages in thread
From: Michał Górny @ 2017-01-21 22:59 UTC (permalink / raw
  To: gentoo-dev; +Cc: Michał Górny

Move the amd64-specific masks from features/64bit-native to
arch/amd64/no-multilib. There is no reason to apply them to non-x86
architectures really. NFC, confirmed with profile-dumper.
---
 profiles/arch/amd64/no-multilib/package.mask     |  15 +++
 profiles/arch/amd64/no-multilib/package.use.mask |  10 +-
 profiles/features/64bit-native/package.mask      | 150 -----------------------
 profiles/features/64bit-native/package.use.mask  |  23 ----
 profiles/features/64bit-native/use.mask          |  18 +--
 5 files changed, 25 insertions(+), 191 deletions(-)
 delete mode 100644 profiles/features/64bit-native/package.mask
 delete mode 100644 profiles/features/64bit-native/package.use.mask

diff --git a/profiles/arch/amd64/no-multilib/package.mask b/profiles/arch/amd64/no-multilib/package.mask
index 3e615cc50977..2aa8bca4ae67 100644
--- a/profiles/arch/amd64/no-multilib/package.mask
+++ b/profiles/arch/amd64/no-multilib/package.mask
@@ -2,6 +2,18 @@
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
+# James Le Cuirot <chewi@gentoo.org> (13 Aug 2016)
+# Steam requires amd64 multilib. These are steam-overlay packages.
+dev-util/adobe-air-runtime
+games-util/steam-client-meta
+games-util/steam-games-meta
+games-util/steam-launcher
+games-util/steam-meta
+
+# Andreas K. Huettel <dilfridge@gentoo.org>
+# Novell Groupwise Client sadly needs a 32bit java vm (bundled)
+mail-client/novell-groupwise-client
+
 # AMD64 Team <amd64@gentoo.org>
 # Mask packages that rely on amd64 multilib
 =app-editors/emacs-18*
@@ -26,6 +38,7 @@ dev-lang/idb
 dev-lang/ifc
 dev-perl/Archive-Rar
 dev-python/skype4py
+dev-util/android-ndk
 dev-util/android-sdk-update-manager
 dev-util/android-studio
 dev-util/biew
@@ -38,6 +51,7 @@ games-action/heretic2
 games-action/heretic2-demo
 games-action/hotline-miami
 games-action/intrusion2
+games-action/lugaru
 games-action/mutantstorm-demo
 games-action/phobiaii
 games-action/rune
@@ -116,6 +130,7 @@ games-rpg/nwn-data
 games-rpg/nwn-penultima
 games-rpg/nwn-penultimarerolled
 games-rpg/nwn-shadowlordsdreamcatcherdemon
+games-rpg/penumbra-collection
 games-rpg/wasteland2
 games-server/etqw-ded
 games-server/nwn-ded
diff --git a/profiles/arch/amd64/no-multilib/package.use.mask b/profiles/arch/amd64/no-multilib/package.use.mask
index 705dbb67b71c..c97f8e70927f 100644
--- a/profiles/arch/amd64/no-multilib/package.use.mask
+++ b/profiles/arch/amd64/no-multilib/package.use.mask
@@ -1,7 +1,11 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
+# Mike Frysinger <vapier@gentoo.org> (12 Aug 2016)
+# Requires sys-boot/grub:0 which is masked here.
+sys-apps/memtest86+ floppy
+
 # Alexandre Rostovtsev <tetromino@gentoo.org> (24 Jun 2012)
 # Disable 32-bit parts of wine, bug #351436
 app-emulation/wine mono
@@ -20,3 +24,7 @@ net-im/skype apulse
 # Tim Harder <radhermit@gentoo.org> (17 Jan 2016)
 # Skype requires multilib support
 net-im/bitlbee skype
+
+# Alexis Ballier <aballier@gentoo.org> (13 Aug 2009)
+# Requires wine
+media-sound/lmms vst
diff --git a/profiles/features/64bit-native/package.mask b/profiles/features/64bit-native/package.mask
deleted file mode 100644
index 05215b179a2d..000000000000
--- a/profiles/features/64bit-native/package.mask
+++ /dev/null
@@ -1,150 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-# James Le Cuirot <chewi@gentoo.org> (13 Aug 2016)
-# Steam requires amd64 multilib. These are steam-overlay packages.
-dev-util/adobe-air-runtime
-games-util/steam-client-meta
-games-util/steam-games-meta
-games-util/steam-launcher
-games-util/steam-meta
-
-# Andreas K. Huettel <dilfridge@gentoo.org>
-# Novell Groupwise Client sadly needs a 32bit java vm (bundled)
-mail-client/novell-groupwise-client
-
-# AMD64 Team <amd64@gentoo.org>
-# Mask packages that rely on amd64 multilib
-app-accessibility/mbrola
-app-accessibility/perlbox-voice
-app-arch/stuffit
-app-benchmarks/cpuburn
-=app-editors/emacs-18*
-app-emulation/crossover-bin
-app-emulation/crossover-office-bin
-app-emulation/crossover-office-pro-bin
-app-emulation/playonlinux
-app-emulation/q4wine
->=app-i18n/atokx3-3.0.0
-app-office/ooextras
-app-emulation/winetricks
-app-text/acroread
-dev-embedded/libftd2xx
-dev-embedded/openocd
-dev-lang/icc
-dev-lang/idb
-dev-lang/ifc
-dev-perl/Archive-Rar
-dev-python/skype4py
-dev-util/android-sdk-update-manager
-dev-util/android-ndk
-dev-util/biew
-games-action/cs2d
-games-action/descent3
-games-action/descent3-demo
-games-action/heretic2
-games-action/heretic2-demo
-games-action/lugaru
-games-action/mutantstorm-demo
-games-action/phobiaii
-games-action/rune
-games-action/spacetripper-demo
-games-arcade/aquaria
-games-arcade/barbarian-bin
-games-arcade/jardinains
-games-arcade/gish-demo
-games-emulation/caps
-games-emulation/nestra
-games-emulation/zinc
-games-emulation/zsnes
-games-fps/avp
-games-fps/doom3-cdoom
-games-fps/doom3-chextrek
-games-fps/doom3-data
-games-fps/doom3-demo
-games-fps/doom3-ducttape
-games-fps/doom3-eventhorizon
-games-fps/doom3-hellcampaign
-games-fps/doom3-inhell
-games-fps/doom3-lms
-games-fps/doom3-mitm
-games-fps/doom3-roe
-games-fps/doom3
-games-fps/enemy-territory-etpro
-games-fps/enemy-territory-omnibot
-games-fps/enemy-territory-truecombat
-games-fps/enemy-territory
-games-fps/etqw-bin
-games-fps/etqw-data
-games-fps/etqw-demo
-games-fps/glxquake-bin
-games-fps/legends
-games-fps/postal2
-games-fps/postal2mp-demo
-games-fps/quake3-bin
-games-fps/quake3-demo
-games-fps/quake3-ra3
-games-fps/quake4-bin
-games-fps/quake4-data
-games-fps/quake4-demo
-games-fps/rtcw
-games-fps/rtcwmp-demo
-games-fps/rtcwsp-demo
-games-fps/sauerbraten
-games-fps/serious-sam-tfe
-games-fps/serious-sam-tse
-games-fps/soldieroffortune
-games-fps/soldieroffortune-demo
-games-fps/unreal-tournament
-games-fps/ut2003
-games-fps/ut2003-demo
-games-fps/ut2004-demo
-games-puzzle/hoh-bin
-games-roguelike/adom
-games-rpg/eschalon-book-1-demo
-games-rpg/nwmouse
-games-rpg/nwmovies
-games-rpg/nwn
-games-rpg/nwn-cep
-games-rpg/nwn-data
-games-rpg/nwn-penultima
-games-rpg/nwn-penultimarerolled
-games-rpg/nwn-shadowlordsdreamcatcherdemon
-games-rpg/penumbra-collection
-games-server/etqw-ded
-games-server/nwn-ded
-games-server/ut2003-ded
-games-simulation/bcs-demo
-games-strategy/darwinia
-games-strategy/darwinia-demo
-games-strategy/defcon-demo
-games-strategy/dominions2
-games-strategy/heroes3
-games-strategy/heroes3-demo
-games-strategy/majesty-demo
-games-strategy/smac
-games-strategy/spaz
-media-fonts/acroread-asianfonts
-media-sound/ventrilo-server-bin
-media-video/binkplayer
-media-video/tsmuxer
-net-im/skype
-net-im/skypetab-ng
-net-print/cndrvcups-common-lb
-net-print/cndrvcups-lb
-net-misc/icaclient
-net-misc/ps3mediaserver
-sci-biology/foldingathome
-sci-electronics/eagle
-sci-chemistry/cara-bin
-sci-chemistry/cyana
-sci-chemistry/icm
-sci-chemistry/mars
-sci-libs/ipp
-sys-libs/lib-compat-loki
-www-plugins/nspluginwrapper
-
-# AMD64 Team; <amd64@gentoo.org>
-# grub-1 is not available on no-multilib-profiles;
-<sys-boot/grub-1.99
diff --git a/profiles/features/64bit-native/package.use.mask b/profiles/features/64bit-native/package.use.mask
deleted file mode 100644
index c778ad68ddd7..000000000000
--- a/profiles/features/64bit-native/package.use.mask
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-# Mike Frysinger <vapier@gentoo.org> (12 Aug 2016)
-# Requires sys-boot/grub:0 which is masked here.
-sys-apps/memtest86+ floppy
-
-# Alexandre Rostovtsev <tetromino@gentoo.org> (04 Jul 2012)
-# Disable 32-bit parts of wine, bug #351436
-app-emulation/wine mono
-
-# Apr 28, 2008 Sébastien Fabbro <bicatali@gentoo.org>
-# ifc masked
-sci-libs/acml ifc
-
-# Alexis Ballier <aballier@gentoo.org> (13 Aug 2009)
-# Requires wine
-media-sound/lmms vst
-
-# Tomas Chvatal <scarabeus@gentoo.org> (13 Nov 2014)
-# The apulse is 32b used there only
-net-im/skype apulse
diff --git a/profiles/features/64bit-native/use.mask b/profiles/features/64bit-native/use.mask
index 6ad7395d2678..25c245751fb4 100644
--- a/profiles/features/64bit-native/use.mask
+++ b/profiles/features/64bit-native/use.mask
@@ -1,25 +1,9 @@
-# Copyright 1999-2013 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
 # USE flags masked because providing packages require a 32-bit ABI
 
-# 2007/08/29 Christoph Mende <angelos@gentoo.org>
-# app-accessibility/mbrola is x86 only
-mbrola
-
-# 2007/08/24 Michael Marineau <marineam@gentoo.org>
-# Xen HVM support requires building 32-bit binaries.
-hvm
-
 # 2008/02/13 - Chris Gianelloni <wolf31o2@gentoo.org>
 # Mask multilib, since we cannot use it.
 multilib
-
-# 2009/05/11 Doug Goldstein <cardoe@gentoo.org>
-# Mask 32bit since this will always require emulation packages
-32bit
-
-# Michał Górny <mgorny@gentoo.org> (26 Jan 2013)
-# Mask the multilib flags back for non-multilib profile.
-abi_x86_32
-- 
2.11.0



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

* [gentoo-dev] [PATCH 3/8] profiles/*/amd64/*/no-multilib: stop using features/64bit-native
  2017-01-21 22:59 [gentoo-dev] [PATCH] Profile cleanup, pt. 2: multilib mess Michał Górny
  2017-01-21 22:59 ` [gentoo-dev] [PATCH 1/8] profiles/hardened: Include base amd64-multilib profile in subprofile Michał Górny
  2017-01-21 22:59 ` [gentoo-dev] [PATCH 2/8] profiles: Move amd64-specific masks to amd64 where they belong Michał Górny
@ 2017-01-21 22:59 ` Michał Górny
  2017-01-21 22:59 ` [gentoo-dev] [PATCH 4/8] profiles/*/ppc64: " Michał Górny
                   ` (5 subsequent siblings)
  8 siblings, 0 replies; 12+ messages in thread
From: Michał Górny @ 2017-01-21 22:59 UTC (permalink / raw
  To: gentoo-dev; +Cc: Michał Górny

---
 profiles/arch/amd64/no-multilib/use.mask             | 6 +++++-
 profiles/default/linux/amd64/13.0/no-multilib/parent | 1 -
 profiles/hardened/linux/amd64/no-multilib/parent     | 1 -
 profiles/hardened/linux/amd64/no-multilib/use.mask   | 6 +++++-
 4 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/profiles/arch/amd64/no-multilib/use.mask b/profiles/arch/amd64/no-multilib/use.mask
index 7ff4d5f149a4..c32c1ba43a85 100644
--- a/profiles/arch/amd64/no-multilib/use.mask
+++ b/profiles/arch/amd64/no-multilib/use.mask
@@ -1,4 +1,4 @@
-# Copyright 1999-2013 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
@@ -12,6 +12,10 @@ mbrola
 # Xen HVM support requires building 32-bit binaries.
 hvm
 
+# 2008/02/13 - Chris Gianelloni <wolf31o2@gentoo.org>
+# Mask multilib, since we cannot use it.
+multilib
+
 # 2009/05/11 Doug Goldstein <cardoe@gentoo.org>
 # Mask 32bit since this will always require emulation packages
 32bit
diff --git a/profiles/default/linux/amd64/13.0/no-multilib/parent b/profiles/default/linux/amd64/13.0/no-multilib/parent
index 521b28aab857..7f1f3bc017ee 100644
--- a/profiles/default/linux/amd64/13.0/no-multilib/parent
+++ b/profiles/default/linux/amd64/13.0/no-multilib/parent
@@ -1,3 +1,2 @@
 ..
 ../../../../../arch/amd64/no-multilib
-../../../../../features/64bit-native
diff --git a/profiles/hardened/linux/amd64/no-multilib/parent b/profiles/hardened/linux/amd64/no-multilib/parent
index 0defac31415d..2909df6d3ca6 100644
--- a/profiles/hardened/linux/amd64/no-multilib/parent
+++ b/profiles/hardened/linux/amd64/no-multilib/parent
@@ -1,3 +1,2 @@
 ../../../../arch/amd64/no-multilib
 ..
-../../../../features/64bit-native
diff --git a/profiles/hardened/linux/amd64/no-multilib/use.mask b/profiles/hardened/linux/amd64/no-multilib/use.mask
index da6756de2671..2e9b62f80708 100644
--- a/profiles/hardened/linux/amd64/no-multilib/use.mask
+++ b/profiles/hardened/linux/amd64/no-multilib/use.mask
@@ -1,4 +1,4 @@
-# Copyright 1999-2012 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
@@ -15,6 +15,10 @@ mbrola
 # Xen HVM support requires building 32-bit binaries.
 hvm
 
+# 2008/02/13 - Chris Gianelloni <wolf31o2@gentoo.org>
+# Mask multilib, since we cannot use it.
+multilib
+
 # 2009/05/11 Doug Goldstein <cardoe@gentoo.org>
 # Mask 32bit since this will always require emulation packages
 32bit
-- 
2.11.0



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

* [gentoo-dev] [PATCH 4/8] profiles/*/ppc64: stop using features/64bit-native
  2017-01-21 22:59 [gentoo-dev] [PATCH] Profile cleanup, pt. 2: multilib mess Michał Górny
                   ` (2 preceding siblings ...)
  2017-01-21 22:59 ` [gentoo-dev] [PATCH 3/8] profiles/*/amd64/*/no-multilib: stop using features/64bit-native Michał Górny
@ 2017-01-21 22:59 ` Michał Górny
  2017-01-21 22:59 ` [gentoo-dev] [PATCH 5/8] profiles/features: Remove unused *bit-native Michał Górny
                   ` (4 subsequent siblings)
  8 siblings, 0 replies; 12+ messages in thread
From: Michał Górny @ 2017-01-21 22:59 UTC (permalink / raw
  To: gentoo-dev; +Cc: Michał Górny

---
 profiles/arch/powerpc/ppc64/64le/make.defaults                    | 6 +++++-
 profiles/arch/powerpc/ppc64/64le/parent                           | 1 -
 profiles/arch/powerpc/ppc64/64le/use.mask                         | 7 +++++++
 profiles/arch/powerpc/ppc64/64ul/make.defaults                    | 5 ++++-
 profiles/arch/powerpc/ppc64/64ul/parent                           | 1 -
 profiles/arch/powerpc/ppc64/64ul/use.mask                         | 4 ++++
 .../hardened/linux/powerpc/ppc64/64bit-userland/make.defaults     | 8 ++++++++
 profiles/hardened/linux/powerpc/ppc64/64bit-userland/parent       | 1 -
 8 files changed, 28 insertions(+), 5 deletions(-)
 create mode 100644 profiles/arch/powerpc/ppc64/64le/use.mask
 create mode 100644 profiles/hardened/linux/powerpc/ppc64/64bit-userland/make.defaults

diff --git a/profiles/arch/powerpc/ppc64/64le/make.defaults b/profiles/arch/powerpc/ppc64/64le/make.defaults
index 3f18179c2231..64cad24bb366 100644
--- a/profiles/arch/powerpc/ppc64/64le/make.defaults
+++ b/profiles/arch/powerpc/ppc64/64le/make.defaults
@@ -1,4 +1,4 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
@@ -7,3 +7,7 @@ CFLAGS="-O2 -pipe"
 CXXFLAGS="${CFLAGS}"
 FFLAGS="${CFLAGS}"
 FCFLAGS="${CFLAGS}"
+
+# moved from 64bit-native, TODO: move it upwards
+SYMLINK_LIB="yes"
+LIBDIR_ppc64="lib64"
diff --git a/profiles/arch/powerpc/ppc64/64le/parent b/profiles/arch/powerpc/ppc64/64le/parent
index 00012cfe73e4..f3229c5b9876 100644
--- a/profiles/arch/powerpc/ppc64/64le/parent
+++ b/profiles/arch/powerpc/ppc64/64le/parent
@@ -1,2 +1 @@
-../../../../features/64bit-native
 ..
diff --git a/profiles/arch/powerpc/ppc64/64le/use.mask b/profiles/arch/powerpc/ppc64/64le/use.mask
new file mode 100644
index 000000000000..dc7ace0c8e46
--- /dev/null
+++ b/profiles/arch/powerpc/ppc64/64le/use.mask
@@ -0,0 +1,7 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+# 2008/02/13 - Chris Gianelloni <wolf31o2@gentoo.org>
+# Mask multilib, since we cannot use it.
+multilib
diff --git a/profiles/arch/powerpc/ppc64/64ul/make.defaults b/profiles/arch/powerpc/ppc64/64ul/make.defaults
index d740c6b24d38..02dca659c5ca 100644
--- a/profiles/arch/powerpc/ppc64/64ul/make.defaults
+++ b/profiles/arch/powerpc/ppc64/64ul/make.defaults
@@ -1,4 +1,4 @@
-# Copyright 1999-2008 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
@@ -9,3 +9,6 @@ MULTILIB_ABIS="ppc64"
 
 CFLAGS_ppc64="-m64"
 
+# moved from 64bit-native, TODO: move it upwards
+SYMLINK_LIB="yes"
+LIBDIR_ppc64="lib64"
diff --git a/profiles/arch/powerpc/ppc64/64ul/parent b/profiles/arch/powerpc/ppc64/64ul/parent
index 00012cfe73e4..f3229c5b9876 100644
--- a/profiles/arch/powerpc/ppc64/64ul/parent
+++ b/profiles/arch/powerpc/ppc64/64ul/parent
@@ -1,2 +1 @@
-../../../../features/64bit-native
 ..
diff --git a/profiles/arch/powerpc/ppc64/64ul/use.mask b/profiles/arch/powerpc/ppc64/64ul/use.mask
index 6a1af02e7e9f..cea52a136d86 100644
--- a/profiles/arch/powerpc/ppc64/64ul/use.mask
+++ b/profiles/arch/powerpc/ppc64/64ul/use.mask
@@ -76,3 +76,7 @@ audit
 # unregisterised ghc arch for now.
 # no ghci - no TH
 template_haskell
+
+# 2008/02/13 - Chris Gianelloni <wolf31o2@gentoo.org>
+# Mask multilib, since we cannot use it.
+multilib
diff --git a/profiles/hardened/linux/powerpc/ppc64/64bit-userland/make.defaults b/profiles/hardened/linux/powerpc/ppc64/64bit-userland/make.defaults
new file mode 100644
index 000000000000..26e49fcee5b7
--- /dev/null
+++ b/profiles/hardened/linux/powerpc/ppc64/64bit-userland/make.defaults
@@ -0,0 +1,8 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+# moved from features/64bit-native
+# TODO: figure out how to inherit this from arch profile
+SYMLINK_LIB="yes"
+LIBDIR_ppc64="lib64"
diff --git a/profiles/hardened/linux/powerpc/ppc64/64bit-userland/parent b/profiles/hardened/linux/powerpc/ppc64/64bit-userland/parent
index 52bcba73e7a5..f3229c5b9876 100644
--- a/profiles/hardened/linux/powerpc/ppc64/64bit-userland/parent
+++ b/profiles/hardened/linux/powerpc/ppc64/64bit-userland/parent
@@ -1,2 +1 @@
 ..
-../../../../../features/64bit-native
-- 
2.11.0



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

* [gentoo-dev] [PATCH 5/8] profiles/features: Remove unused *bit-native
  2017-01-21 22:59 [gentoo-dev] [PATCH] Profile cleanup, pt. 2: multilib mess Michał Górny
                   ` (3 preceding siblings ...)
  2017-01-21 22:59 ` [gentoo-dev] [PATCH 4/8] profiles/*/ppc64: " Michał Górny
@ 2017-01-21 22:59 ` Michał Górny
  2017-01-21 22:59 ` [gentoo-dev] [PATCH 6/8] profiles: Inline features/multilib/lib32 Michał Górny
                   ` (3 subsequent siblings)
  8 siblings, 0 replies; 12+ messages in thread
From: Michał Górny @ 2017-01-21 22:59 UTC (permalink / raw
  To: gentoo-dev; +Cc: Michał Górny

---
 profiles/features/32bit-native/eapi           |  1 -
 profiles/features/32bit-native/make.defaults  |  9 ---------
 profiles/features/32bit-native/packages       |  6 ------
 profiles/features/32bit-native/profile.bashrc |  7 -------
 profiles/features/32bit-native/use.force      |  2 --
 profiles/features/32bit-native/use.mask       |  9 ---------
 profiles/features/64bit-native/eapi           |  1 -
 profiles/features/64bit-native/make.defaults  | 10 ----------
 profiles/features/64bit-native/profile.bashrc | 18 ------------------
 profiles/features/64bit-native/use.force      |  2 --
 profiles/features/64bit-native/use.mask       |  9 ---------
 11 files changed, 74 deletions(-)
 delete mode 100644 profiles/features/32bit-native/eapi
 delete mode 100644 profiles/features/32bit-native/make.defaults
 delete mode 100644 profiles/features/32bit-native/packages
 delete mode 100644 profiles/features/32bit-native/profile.bashrc
 delete mode 100644 profiles/features/32bit-native/use.force
 delete mode 100644 profiles/features/32bit-native/use.mask
 delete mode 100644 profiles/features/64bit-native/eapi
 delete mode 100644 profiles/features/64bit-native/make.defaults
 delete mode 100644 profiles/features/64bit-native/profile.bashrc
 delete mode 100644 profiles/features/64bit-native/use.force
 delete mode 100644 profiles/features/64bit-native/use.mask

diff --git a/profiles/features/32bit-native/eapi b/profiles/features/32bit-native/eapi
deleted file mode 100644
index 7ed6ff82de6b..000000000000
--- a/profiles/features/32bit-native/eapi
+++ /dev/null
@@ -1 +0,0 @@
-5
diff --git a/profiles/features/32bit-native/make.defaults b/profiles/features/32bit-native/make.defaults
deleted file mode 100644
index f23c882330fd..000000000000
--- a/profiles/features/32bit-native/make.defaults
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-FEATURES="-multilib-strict"
-
-MULTILIB_STRICT_DIRS=""
-MULTILIB_STRICT_DENY=""
-MULTILIB_STRICT_EXEMPT=""
diff --git a/profiles/features/32bit-native/packages b/profiles/features/32bit-native/packages
deleted file mode 100644
index 887f05da9931..000000000000
--- a/profiles/features/32bit-native/packages
+++ /dev/null
@@ -1,6 +0,0 @@
-# Copyright 2006-2008 Gentoo Foundation.
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-# We don't need kgcc64 to build kernels.
--*sys-devel/kgcc64
diff --git a/profiles/features/32bit-native/profile.bashrc b/profiles/features/32bit-native/profile.bashrc
deleted file mode 100644
index c601900384e3..000000000000
--- a/profiles/features/32bit-native/profile.bashrc
+++ /dev/null
@@ -1,7 +0,0 @@
-# Here we die on any arch that isn't 32-bit.
-case ${ARCH} in
-	amd64) die "This architecture always uses a 64-bit kernel. Please use an x86 profile!" ;;
-	mips) die "This architecture always uses a 64-bit kernel." ;;
-	ppc64) die "This architecture always uses a 64-bit kernel. Please use a ppc profile!" ;;
-	sparc) die "This architecture always uses a 64-bit kernel." ;;
-esac
diff --git a/profiles/features/32bit-native/use.force b/profiles/features/32bit-native/use.force
deleted file mode 100644
index 78a0ced5d86d..000000000000
--- a/profiles/features/32bit-native/use.force
+++ /dev/null
@@ -1,2 +0,0 @@
-# Force disable multilib USE flag
--multilib
diff --git a/profiles/features/32bit-native/use.mask b/profiles/features/32bit-native/use.mask
deleted file mode 100644
index f5d4435fdbce..000000000000
--- a/profiles/features/32bit-native/use.mask
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright 2004-2008 Gentoo Foundation.
-# Distributed under the terms of the GNU General Public License, v2
-# $Id$
-
-# SECTION: Mask
-
-# 2008/02/13 - Chris Gianelloni <wolf31o2@gentoo.org>
-# Mask multilib, since we cannot use it.
-multilib
diff --git a/profiles/features/64bit-native/eapi b/profiles/features/64bit-native/eapi
deleted file mode 100644
index 7ed6ff82de6b..000000000000
--- a/profiles/features/64bit-native/eapi
+++ /dev/null
@@ -1 +0,0 @@
-5
diff --git a/profiles/features/64bit-native/make.defaults b/profiles/features/64bit-native/make.defaults
deleted file mode 100644
index 550c923fea54..000000000000
--- a/profiles/features/64bit-native/make.defaults
+++ /dev/null
@@ -1,10 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-# We disable the symlink, since we won't be using it.
-SYMLINK_LIB="yes"
-
-# Since we're doing a pure 64-bit, we want LIBDIR to be lib64
-LIBDIR_amd64="lib64"
-LIBDIR_ppc64="lib64"
diff --git a/profiles/features/64bit-native/profile.bashrc b/profiles/features/64bit-native/profile.bashrc
deleted file mode 100644
index 71acdf820a05..000000000000
--- a/profiles/features/64bit-native/profile.bashrc
+++ /dev/null
@@ -1,18 +0,0 @@
-# Here we remove any ABI that isn't native.
-case ${ARCH} in
-	mips)
-		# Both n32 and n64 are 64-bit kernel and userland.
-		# n64 is 64-bit pointers/long
-		# n32 is 32-bit pointers/long
-		case ${USE} in
-			n32)
-				export CFLAGS="${CFLAGS/-mabi=*/-mabi=n32}"
-				export CXXFLAGS="${CFLAGS}"
-				;;
-			n64)
-				export CFLAGS="${CFLAGS/-mabi=*/-mabi=64}"
-				export CXXFLAGS="${CFLAGS}"
-				;;
-		esac
-		;;
-esac
diff --git a/profiles/features/64bit-native/use.force b/profiles/features/64bit-native/use.force
deleted file mode 100644
index 78a0ced5d86d..000000000000
--- a/profiles/features/64bit-native/use.force
+++ /dev/null
@@ -1,2 +0,0 @@
-# Force disable multilib USE flag
--multilib
diff --git a/profiles/features/64bit-native/use.mask b/profiles/features/64bit-native/use.mask
deleted file mode 100644
index 25c245751fb4..000000000000
--- a/profiles/features/64bit-native/use.mask
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-# USE flags masked because providing packages require a 32-bit ABI
-
-# 2008/02/13 - Chris Gianelloni <wolf31o2@gentoo.org>
-# Mask multilib, since we cannot use it.
-multilib
-- 
2.11.0



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

* [gentoo-dev] [PATCH 6/8] profiles: Inline features/multilib/lib32
  2017-01-21 22:59 [gentoo-dev] [PATCH] Profile cleanup, pt. 2: multilib mess Michał Górny
                   ` (4 preceding siblings ...)
  2017-01-21 22:59 ` [gentoo-dev] [PATCH 5/8] profiles/features: Remove unused *bit-native Michał Górny
@ 2017-01-21 22:59 ` Michał Górny
  2017-01-21 22:59 ` [gentoo-dev] [PATCH 7/8] profiles: Inline features/32bit-userland Michał Górny
                   ` (2 subsequent siblings)
  8 siblings, 0 replies; 12+ messages in thread
From: Michał Górny @ 2017-01-21 22:59 UTC (permalink / raw
  To: gentoo-dev; +Cc: Michał Górny

NFC except for effective LIBDIR_* for architectures irrelevant to
the profile at hand.
---
 profiles/arch/amd64-fbsd/make.defaults                      |  3 ++-
 profiles/arch/amd64-fbsd/parent                             |  2 +-
 profiles/arch/amd64/make.defaults                           |  6 +++++-
 profiles/arch/amd64/parent                                  |  2 +-
 .../default/linux/sparc/experimental/multilib/make.defaults |  4 +++-
 profiles/default/linux/sparc/experimental/multilib/parent   |  2 +-
 profiles/features/multilib/lib32/eapi                       |  1 -
 profiles/features/multilib/lib32/make.defaults              | 13 -------------
 profiles/features/multilib/lib32/parent                     |  1 -
 9 files changed, 13 insertions(+), 21 deletions(-)
 delete mode 100644 profiles/features/multilib/lib32/eapi
 delete mode 100644 profiles/features/multilib/lib32/make.defaults
 delete mode 100644 profiles/features/multilib/lib32/parent

diff --git a/profiles/arch/amd64-fbsd/make.defaults b/profiles/arch/amd64-fbsd/make.defaults
index 42329af60819..b2170df430f0 100644
--- a/profiles/arch/amd64-fbsd/make.defaults
+++ b/profiles/arch/amd64-fbsd/make.defaults
@@ -1,4 +1,4 @@
-# Copyright 1999-2015 Gentoo Foundation.
+# Copyright 1999-2017 Gentoo Foundation.
 # Distributed under the terms of the GNU General Public License, v2
 # $Id$
 # System-wide defaults for the G/FBSD Portage system
@@ -32,6 +32,7 @@ VIDEO_CARDS="apm ark chips cirrus cyrix dummy i128 intel mach64 mga \
 # distros.
 # Adjust multilib dirs for multilib-strict.
 LIBDIR_amd64_fbsd="lib"
+LIBDIR_x86_fbsd="lib32"
 MULTILIB_STRICT_DIRS="/lib32 /usr/lib32 /usr/kde/*/lib32 /usr/qt/*/lib32 /usr/X11R6/lib32"
 SYMLINK_LIB="no"
 
diff --git a/profiles/arch/amd64-fbsd/parent b/profiles/arch/amd64-fbsd/parent
index db3aa68cdfc0..014611b2535c 100644
--- a/profiles/arch/amd64-fbsd/parent
+++ b/profiles/arch/amd64-fbsd/parent
@@ -1,3 +1,3 @@
 ../base
-../../features/multilib/lib32
+../../features/multilib
 todo
diff --git a/profiles/arch/amd64/make.defaults b/profiles/arch/amd64/make.defaults
index 96a6803f351a..0049d67bce78 100644
--- a/profiles/arch/amd64/make.defaults
+++ b/profiles/arch/amd64/make.defaults
@@ -1,4 +1,4 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
@@ -18,6 +18,10 @@ DEFAULT_ABI="amd64"
 # Do not remove this one, or all kinds of hell breaks loose.
 ABI="amd64"
 
+# TODO: move this to a deprecated subprofile
+LIBDIR_x86="lib32"
+SYMLINK_LIB="yes"
+
 # 64bit specific settings.
 CFLAGS_amd64="-m64"
 LDFLAGS_amd64="-m elf_x86_64"
diff --git a/profiles/arch/amd64/parent b/profiles/arch/amd64/parent
index d8d1efff8456..c5b66f7e9c9c 100644
--- a/profiles/arch/amd64/parent
+++ b/profiles/arch/amd64/parent
@@ -1,2 +1,2 @@
 ../base
-../../features/multilib/lib32
+../../features/multilib
diff --git a/profiles/default/linux/sparc/experimental/multilib/make.defaults b/profiles/default/linux/sparc/experimental/multilib/make.defaults
index e7aebfdaa360..c8bad628fd9a 100644
--- a/profiles/default/linux/sparc/experimental/multilib/make.defaults
+++ b/profiles/default/linux/sparc/experimental/multilib/make.defaults
@@ -1,4 +1,4 @@
-# Copyright 1999-2008 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
@@ -11,3 +11,5 @@ FEATURES="userpriv"
 # can't set this in the top level make.defaults as it breaks
 # sys-kernel/linux-headers for non-multilib profiles
 CFLAGS_sparc64="-m64"
+
+LIBDIR_sparc32="lib32"
diff --git a/profiles/default/linux/sparc/experimental/multilib/parent b/profiles/default/linux/sparc/experimental/multilib/parent
index 7607023366ad..04ec01cf0979 100644
--- a/profiles/default/linux/sparc/experimental/multilib/parent
+++ b/profiles/default/linux/sparc/experimental/multilib/parent
@@ -1,3 +1,3 @@
 ..
 ../../../../../releases/13.0
-../../../../../features/multilib/lib32
+../../../../../features/multilib
diff --git a/profiles/features/multilib/lib32/eapi b/profiles/features/multilib/lib32/eapi
deleted file mode 100644
index 7ed6ff82de6b..000000000000
--- a/profiles/features/multilib/lib32/eapi
+++ /dev/null
@@ -1 +0,0 @@
-5
diff --git a/profiles/features/multilib/lib32/make.defaults b/profiles/features/multilib/lib32/make.defaults
deleted file mode 100644
index b3ab33c98e43..000000000000
--- a/profiles/features/multilib/lib32/make.defaults
+++ /dev/null
@@ -1,13 +0,0 @@
-# Copyright 1999-2011 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-# Let baselayout create the lib symlink.
-SYMLINK_LIB="yes"
-
-# 32-bit LIBDIR
-LIBDIR_ppc="lib32"
-LIBDIR_x86="lib32"
-LIBDIR_x86_fbsd="lib32"
-LIBDIR_sparc32="lib32"
-LIBDIR_s390="lib32"
diff --git a/profiles/features/multilib/lib32/parent b/profiles/features/multilib/lib32/parent
deleted file mode 100644
index f3229c5b9876..000000000000
--- a/profiles/features/multilib/lib32/parent
+++ /dev/null
@@ -1 +0,0 @@
-..
-- 
2.11.0



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

* [gentoo-dev] [PATCH 7/8] profiles: Inline features/32bit-userland
  2017-01-21 22:59 [gentoo-dev] [PATCH] Profile cleanup, pt. 2: multilib mess Michał Górny
                   ` (5 preceding siblings ...)
  2017-01-21 22:59 ` [gentoo-dev] [PATCH 6/8] profiles: Inline features/multilib/lib32 Michał Górny
@ 2017-01-21 22:59 ` Michał Górny
  2017-01-21 22:59 ` [gentoo-dev] [PATCH 8/8] profiles: Move LIBDIR_* declarations into specific arches Michał Górny
  2017-02-01 12:28 ` [gentoo-dev] [PATCH] Profile cleanup, pt. 2: multilib mess Michał Górny
  8 siblings, 0 replies; 12+ messages in thread
From: Michał Górny @ 2017-01-21 22:59 UTC (permalink / raw
  To: gentoo-dev; +Cc: Michał Górny

---
 profiles/arch/powerpc/ppc64/32ul/parent                          | 2 +-
 profiles/default/linux/sparc/13.0/parent                         | 2 +-
 profiles/features/32bit-userland/eapi                            | 1 -
 profiles/features/32bit-userland/parent                          | 1 -
 profiles/features/32bit-userland/profile.bashrc                  | 9 ---------
 .../linux/powerpc/ppc64}/32bit-userland/packages                 | 0
 profiles/hardened/linux/powerpc/ppc64/32bit-userland/parent      | 2 +-
 7 files changed, 3 insertions(+), 14 deletions(-)
 delete mode 100644 profiles/features/32bit-userland/eapi
 delete mode 100644 profiles/features/32bit-userland/parent
 delete mode 100644 profiles/features/32bit-userland/profile.bashrc
 rename profiles/{features => hardened/linux/powerpc/ppc64}/32bit-userland/packages (100%)

diff --git a/profiles/arch/powerpc/ppc64/32ul/parent b/profiles/arch/powerpc/ppc64/32ul/parent
index feb40253cb27..0cd1f96e3181 100644
--- a/profiles/arch/powerpc/ppc64/32ul/parent
+++ b/profiles/arch/powerpc/ppc64/32ul/parent
@@ -1,3 +1,3 @@
-../../../../features/32bit-userland
+../../../../features/multilib
 ..
 ../../ppc32
diff --git a/profiles/default/linux/sparc/13.0/parent b/profiles/default/linux/sparc/13.0/parent
index 222c2cf56930..483b02751681 100644
--- a/profiles/default/linux/sparc/13.0/parent
+++ b/profiles/default/linux/sparc/13.0/parent
@@ -1,3 +1,3 @@
 ..
 ../../../../releases/13.0
-../../../../features/32bit-userland
+../../../../features/multilib
diff --git a/profiles/features/32bit-userland/eapi b/profiles/features/32bit-userland/eapi
deleted file mode 100644
index 7ed6ff82de6b..000000000000
--- a/profiles/features/32bit-userland/eapi
+++ /dev/null
@@ -1 +0,0 @@
-5
diff --git a/profiles/features/32bit-userland/parent b/profiles/features/32bit-userland/parent
deleted file mode 100644
index ef64da6e1d20..000000000000
--- a/profiles/features/32bit-userland/parent
+++ /dev/null
@@ -1 +0,0 @@
-../multilib
diff --git a/profiles/features/32bit-userland/profile.bashrc b/profiles/features/32bit-userland/profile.bashrc
deleted file mode 100644
index 9eebc767690d..000000000000
--- a/profiles/features/32bit-userland/profile.bashrc
+++ /dev/null
@@ -1,9 +0,0 @@
-# Here we remove any ABI that isn't 32-bit.
-case ${PROFILE_ARCH} in
-	mips64)
-		# This is for o32 (64-bit kernel, 32-bit userland) so we force -mabi=32
-		export CHOST="mips-unknown-linux-gnu"
-		export CFLAGS="${CFLAGS/-mabi=*/-mabi=32}"
-		export CXXFLAGS="${CFLAGS}"
-		;;
-esac
diff --git a/profiles/features/32bit-userland/packages b/profiles/hardened/linux/powerpc/ppc64/32bit-userland/packages
similarity index 100%
rename from profiles/features/32bit-userland/packages
rename to profiles/hardened/linux/powerpc/ppc64/32bit-userland/packages
diff --git a/profiles/hardened/linux/powerpc/ppc64/32bit-userland/parent b/profiles/hardened/linux/powerpc/ppc64/32bit-userland/parent
index 926c3281b862..97dffb64c4d1 100644
--- a/profiles/hardened/linux/powerpc/ppc64/32bit-userland/parent
+++ b/profiles/hardened/linux/powerpc/ppc64/32bit-userland/parent
@@ -1,2 +1,2 @@
 ..
-../../../../../features/32bit-userland
+../../../../../features/multilib
-- 
2.11.0



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

* [gentoo-dev] [PATCH 8/8] profiles: Move LIBDIR_* declarations into specific arches
  2017-01-21 22:59 [gentoo-dev] [PATCH] Profile cleanup, pt. 2: multilib mess Michał Górny
                   ` (6 preceding siblings ...)
  2017-01-21 22:59 ` [gentoo-dev] [PATCH 7/8] profiles: Inline features/32bit-userland Michał Górny
@ 2017-01-21 22:59 ` Michał Górny
  2017-02-01 12:28 ` [gentoo-dev] [PATCH] Profile cleanup, pt. 2: multilib mess Michał Górny
  8 siblings, 0 replies; 12+ messages in thread
From: Michał Górny @ 2017-01-21 22:59 UTC (permalink / raw
  To: gentoo-dev; +Cc: Michał Górny

---
 profiles/arch/amd64/make.defaults                  |  2 ++
 profiles/arch/amd64/x32/make.defaults              |  3 ++-
 profiles/arch/amd64/x32/parent                     |  1 -
 profiles/arch/arm64/make.defaults                  |  2 ++
 profiles/arch/powerpc/make.defaults                |  3 ---
 profiles/arch/s390/make.defaults                   |  5 ++++-
 .../sparc/experimental/multilib/make.defaults      |  1 +
 profiles/features/multilib/make.defaults           | 24 +---------------------
 8 files changed, 12 insertions(+), 29 deletions(-)
 delete mode 100644 profiles/arch/powerpc/make.defaults

diff --git a/profiles/arch/amd64/make.defaults b/profiles/arch/amd64/make.defaults
index 0049d67bce78..807790c710d3 100644
--- a/profiles/arch/amd64/make.defaults
+++ b/profiles/arch/amd64/make.defaults
@@ -18,8 +18,10 @@ DEFAULT_ABI="amd64"
 # Do not remove this one, or all kinds of hell breaks loose.
 ABI="amd64"
 
+LIBDIR_amd64="lib64"
 # TODO: move this to a deprecated subprofile
 LIBDIR_x86="lib32"
+LIBDIR_x32="libx32"
 SYMLINK_LIB="yes"
 
 # 64bit specific settings.
diff --git a/profiles/arch/amd64/x32/make.defaults b/profiles/arch/amd64/x32/make.defaults
index d06c616b15fa..c6c6c90d74ec 100644
--- a/profiles/arch/amd64/x32/make.defaults
+++ b/profiles/arch/amd64/x32/make.defaults
@@ -1,4 +1,4 @@
-# Copyright 1999-2014 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
@@ -6,6 +6,7 @@ DEFAULT_ABI="x32"
 ABI="x32"
 MULTILIB_ABIS="amd64 x86 x32"
 
+LIBDIR_x86="lib"
 SYMLINK_LIB="no"
 
 # Michał Górny <mgorny@gentoo.org> (01 Jul 2014)
diff --git a/profiles/arch/amd64/x32/parent b/profiles/arch/amd64/x32/parent
index 6ee1b9eff10c..f3229c5b9876 100644
--- a/profiles/arch/amd64/x32/parent
+++ b/profiles/arch/amd64/x32/parent
@@ -1,2 +1 @@
 ..
-../../../features/multilib
diff --git a/profiles/arch/arm64/make.defaults b/profiles/arch/arm64/make.defaults
index 6a75c191a621..20318a45380b 100644
--- a/profiles/arch/arm64/make.defaults
+++ b/profiles/arch/arm64/make.defaults
@@ -12,5 +12,7 @@ CXXFLAGS="${CFLAGS}"
 FFLAGS="${CFLAGS}"
 FCFLAGS="${CFLAGS}"
 
+LIBDIR_arm64="lib64"
+
 # Defaults for video drivers
 VIDEO_CARDS="fbdev"
diff --git a/profiles/arch/powerpc/make.defaults b/profiles/arch/powerpc/make.defaults
deleted file mode 100644
index 445a68b5ea0f..000000000000
--- a/profiles/arch/powerpc/make.defaults
+++ /dev/null
@@ -1,3 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
diff --git a/profiles/arch/s390/make.defaults b/profiles/arch/s390/make.defaults
index aa7b92133fb3..a4076b2adfc1 100644
--- a/profiles/arch/s390/make.defaults
+++ b/profiles/arch/s390/make.defaults
@@ -1,4 +1,4 @@
-# Copyright 1999-2014 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
@@ -15,6 +15,9 @@ CXXFLAGS="${CFLAGS}"
 FFLAGS="${CFLAGS}"
 FCFLAGS="${CFLAGS}"
 
+LIBDIR_s390x="lib64"
+LIBDIR_s390="lib"
+
 INPUT_DEVICES="void"
 VIDEO_CARDS="dummy"
 
diff --git a/profiles/default/linux/sparc/experimental/multilib/make.defaults b/profiles/default/linux/sparc/experimental/multilib/make.defaults
index c8bad628fd9a..85bff4ebd437 100644
--- a/profiles/default/linux/sparc/experimental/multilib/make.defaults
+++ b/profiles/default/linux/sparc/experimental/multilib/make.defaults
@@ -13,3 +13,4 @@ FEATURES="userpriv"
 CFLAGS_sparc64="-m64"
 
 LIBDIR_sparc32="lib32"
+LIBDIR_sparc64="lib64"
diff --git a/profiles/features/multilib/make.defaults b/profiles/features/multilib/make.defaults
index 72248e2390ef..2e201e35d31a 100644
--- a/profiles/features/multilib/make.defaults
+++ b/profiles/features/multilib/make.defaults
@@ -1,4 +1,4 @@
-# Copyright 1999-2013 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
@@ -15,25 +15,3 @@ USE="multilib"
 MULTILIB_STRICT_DIRS="/lib32 /lib /usr/lib32 /usr/lib /usr/kde/*/lib32 /usr/kde/*/lib /usr/qt/*/lib32 /usr/qt/*/lib /usr/X11R6/lib32 /usr/X11R6/lib"
 MULTILIB_STRICT_DENY="64-bit.*shared object"
 MULTILIB_STRICT_EXEMPT="(perl5|gcc|gcc-lib|binutils|eclipse-3|debug|portage|udev|systemd|clang|python-exec)"
-
-# 64-bit LIBDIR
-LIBDIR_amd64="lib64"
-LIBDIR_amd64_fbsd="lib64"
-LIBDIR_arm64="lib64"
-LIBDIR_n64="lib64"	# MIPS n64
-LIBDIR_ppc64="lib64"
-LIBDIR_s390x="lib64"
-LIBDIR_sparc64="lib64"
-
-# 32-bit LIBDIR
-LIBDIR_arm="lib"
-LIBDIR_x86="lib"
-LIBDIR_x86_fbsd="lib"
-LIBDIR_o32="lib"	# MIPS o32
-LIBDIR_ppc="lib"
-LIBDIR_s390="lib"
-LIBDIR_sparc32="lib"
-
-# Somewhere in-between!
-LIBDIR_x32="libx32"	# x86-64 x32
-LIBDIR_n32="lib32"	# MIPS n32
-- 
2.11.0



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

* Re: [gentoo-dev] [PATCH] Profile cleanup, pt. 2: multilib mess
  2017-01-21 22:59 [gentoo-dev] [PATCH] Profile cleanup, pt. 2: multilib mess Michał Górny
                   ` (7 preceding siblings ...)
  2017-01-21 22:59 ` [gentoo-dev] [PATCH 8/8] profiles: Move LIBDIR_* declarations into specific arches Michał Górny
@ 2017-02-01 12:28 ` Michał Górny
  8 siblings, 0 replies; 12+ messages in thread
From: Michał Górny @ 2017-02-01 12:28 UTC (permalink / raw
  To: gentoo-dev

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

W dniu 21.01.2017, sob o godzinie 23∶59 +0100, użytkownik Michał Górny
napisał:
> The main goal was to reduce the role of features/* subtree that
> served
> as some kind of weird all-in-one middleware for multiple profiles.
> These
> patches:
> 
> a. kill features/*bit-* completely -- all stuff is moved to
> appropriate
> arch profiles,
> 
> b. kill LIBDIR declarations out of features/multilib -- also moved to
> appropriate arch profiles.
> 
> The main goal is simplicity. I think it's really better when you
> don't
> have to guess which of 10 implicitly inherited profiles set the final
> value, and it's really bad when minor parent order changes in some
> profile can randomly effect the results of a derived one.
> 
> Right now this is terrible. For example, the arch/amd64/x32 profile
> inherited features/multilib a second time just to reset libdir which
> has
> been indirectly set by parent profile.
> 
> I can't stay this is enough to make things perfect but I think it's
> a step in the right direction. Cleaner profiles make it easier to
> improve them more in the future.

Merged.

-- 
Best regards,
Michał Górny

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 963 bytes --]

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

* [gentoo-dev] profiles/arch/amd64/no-multilib cleanup WAS: [PATCH 1/8] profiles/hardened: Include base amd64-multilib profile in subprofile
  2017-01-21 22:59 ` [gentoo-dev] [PATCH 1/8] profiles/hardened: Include base amd64-multilib profile in subprofile Michał Górny
@ 2017-03-02 14:09   ` Michael Haubenwallner
  2017-03-02 16:40     ` Michał Górny
  0 siblings, 1 reply; 12+ messages in thread
From: Michael Haubenwallner @ 2017-03-02 14:09 UTC (permalink / raw
  To: gentoo-dev

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

On 01/21/2017 11:59 PM, Michał Górny wrote:
> Include arch/amd64/no-multilib in the hardened no-multilib amd64
> variant. Confirmed with profile-dumper that it does not currently change
> anything.
> ---
>  profiles/hardened/linux/amd64/no-multilib/parent | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/profiles/hardened/linux/amd64/no-multilib/parent b/profiles/hardened/linux/amd64/no-multilib/parent
> index 8305c3556463..0defac31415d 100644
> --- a/profiles/hardened/linux/amd64/no-multilib/parent
> +++ b/profiles/hardened/linux/amd64/no-multilib/parent
> @@ -1,2 +1,3 @@
> +../../../../arch/amd64/no-multilib
>  ..
> 

As hardened/linux/amd64 does inherit arch/amd64, this way arch/amd64
always overrides arch/amd64/no-multilib, rendering the latter useless.

Instead, profiles/hardened/linux/amd64/no-multilib/parent should read:
 ..
 ../../../../arch/amd64/no-multilib

Beyond that:
While arch/amd64/no-multilib of course _is_ an override to arch/amd64,
question is whether it also should _perform_ the override by itself.

Currently it does perform the override, causing lots of subsequent profiles
to end up with arch/amd64 inherited multiple times - most prominent is the
default/linux/amd64/13.0/no-multilib profile.

So removing arch/amd64/no-multilib/parent would simplify things here.

Thoughts?
/haubi/

[-- Attachment #2: hardened.amd64.no-multilib_parent-order.diff --]
[-- Type: text/plain, Size: 986 bytes --]

From 9457fd8eb330a94a15bb91decec522fe1c027986 Mon Sep 17 00:00:00 2001
From: Michael Haubenwallner <haubi@gentoo.org>
Date: Thu, 2 Mar 2017 13:52:58 +0100
Subject: [PATCH] profiles/hardened/linux/amd64/no-multilib: inherit
 arch/amd64/no-multilib late

Whether  arch/amd64/no-multilib  does _inherit_  arch/amd64
or not,  arch/amd64/no-multilib  does _extend_   arch/amd64 anyway.

So inheriting  arch/amd64/no-multilib  before  arch/amd64  always will
    reset the  arch/amd64/no-multilib  to the  arch/amd64  values.
---
 profiles/hardened/linux/amd64/no-multilib/parent | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/profiles/hardened/linux/amd64/no-multilib/parent b/profiles/hardened/linux/amd64/no-multilib/parent
index 2909df6..9bf59c5 100644
--- a/profiles/hardened/linux/amd64/no-multilib/parent
+++ b/profiles/hardened/linux/amd64/no-multilib/parent
@@ -1,2 +1,2 @@
-../../../../arch/amd64/no-multilib
 ..
+../../../../arch/amd64/no-multilib
-- 
2.10.2


[-- Attachment #3: arch.amd64.no-multilib_extension-only.diff --]
[-- Type: text/plain, Size: 886 bytes --]

From 3f8eb7869937d6da2f79b0a6eeb448f6eedea7b3 Mon Sep 17 00:00:00 2001
From: Michael Haubenwallner <haubi@gentoo.org>
Date: Thu, 2 Mar 2017 14:45:16 +0100
Subject: [PATCH] profiles/arch/amd64/no-multilib: do not inherit arch/amd64

While arch/amd64/no-multilib of course _is_ an override to arch/amd64,
is should not _perform_ the override by itself, as that causes lots of
subsequent profiles to end up with arch/amd64 inherited multiple times,
most prominent is the default/linux/amd64/13.0/no-multilib profile.
---
 profiles/arch/amd64/no-multilib/parent | 1 -
 1 file changed, 1 deletion(-)
 delete mode 100644 profiles/arch/amd64/no-multilib/parent

diff --git a/profiles/arch/amd64/no-multilib/parent b/profiles/arch/amd64/no-multilib/parent
deleted file mode 100644
index f3229c5..00000000
--- a/profiles/arch/amd64/no-multilib/parent
+++ /dev/null
@@ -1 +0,0 @@
-..
-- 
2.10.2


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

* Re: [gentoo-dev] profiles/arch/amd64/no-multilib cleanup WAS: [PATCH 1/8] profiles/hardened: Include base amd64-multilib profile in subprofile
  2017-03-02 14:09   ` [gentoo-dev] profiles/arch/amd64/no-multilib cleanup WAS: " Michael Haubenwallner
@ 2017-03-02 16:40     ` Michał Górny
  0 siblings, 0 replies; 12+ messages in thread
From: Michał Górny @ 2017-03-02 16:40 UTC (permalink / raw
  To: gentoo-dev

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

W dniu 02.03.2017, czw o godzinie 15∶09 +0100, użytkownik Michael
Haubenwallner napisał:
> On 01/21/2017 11:59 PM, Michał Górny wrote:
> > Include arch/amd64/no-multilib in the hardened no-multilib amd64
> > variant. Confirmed with profile-dumper that it does not currently change
> > anything.
> > ---
> >  profiles/hardened/linux/amd64/no-multilib/parent | 1 +
> >  1 file changed, 1 insertion(+)
> > 
> > diff --git a/profiles/hardened/linux/amd64/no-multilib/parent b/profiles/hardened/linux/amd64/no-multilib/parent
> > index 8305c3556463..0defac31415d 100644
> > --- a/profiles/hardened/linux/amd64/no-multilib/parent
> > +++ b/profiles/hardened/linux/amd64/no-multilib/parent
> > @@ -1,2 +1,3 @@
> > +../../../../arch/amd64/no-multilib
> >  ..
> > 
> 
> As hardened/linux/amd64 does inherit arch/amd64, this way arch/amd64
> always overrides arch/amd64/no-multilib, rendering the latter useless.
> 
> Instead, profiles/hardened/linux/amd64/no-multilib/parent should read:
>  ..
>  ../../../../arch/amd64/no-multilib
> 
> Beyond that:
> While arch/amd64/no-multilib of course _is_ an override to arch/amd64,
> question is whether it also should _perform_ the override by itself.
> 
> Currently it does perform the override, causing lots of subsequent profiles
> to end up with arch/amd64 inherited multiple times - most prominent is the
> default/linux/amd64/13.0/no-multilib profile.
> 
> So removing arch/amd64/no-multilib/parent would simplify things here.
> 
> Thoughts?

I was considering that as well but I didn't really have time to look
into it properly. If it doesn't break anything, it's fine with me. You
may want to talk with arch team first, though.

-- 
Best regards,
Michał Górny

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 963 bytes --]

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

end of thread, other threads:[~2017-03-02 16:40 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-01-21 22:59 [gentoo-dev] [PATCH] Profile cleanup, pt. 2: multilib mess Michał Górny
2017-01-21 22:59 ` [gentoo-dev] [PATCH 1/8] profiles/hardened: Include base amd64-multilib profile in subprofile Michał Górny
2017-03-02 14:09   ` [gentoo-dev] profiles/arch/amd64/no-multilib cleanup WAS: " Michael Haubenwallner
2017-03-02 16:40     ` Michał Górny
2017-01-21 22:59 ` [gentoo-dev] [PATCH 2/8] profiles: Move amd64-specific masks to amd64 where they belong Michał Górny
2017-01-21 22:59 ` [gentoo-dev] [PATCH 3/8] profiles/*/amd64/*/no-multilib: stop using features/64bit-native Michał Górny
2017-01-21 22:59 ` [gentoo-dev] [PATCH 4/8] profiles/*/ppc64: " Michał Górny
2017-01-21 22:59 ` [gentoo-dev] [PATCH 5/8] profiles/features: Remove unused *bit-native Michał Górny
2017-01-21 22:59 ` [gentoo-dev] [PATCH 6/8] profiles: Inline features/multilib/lib32 Michał Górny
2017-01-21 22:59 ` [gentoo-dev] [PATCH 7/8] profiles: Inline features/32bit-userland Michał Górny
2017-01-21 22:59 ` [gentoo-dev] [PATCH 8/8] profiles: Move LIBDIR_* declarations into specific arches Michał Górny
2017-02-01 12:28 ` [gentoo-dev] [PATCH] Profile cleanup, pt. 2: multilib mess Michał Górny

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