This series introduces the global USE flag 'split-usr' to control whether binaries and libraries are split into separate / and /usr directories, or if they are always installed in /usr. This is a step toward making merged /usr workable on Gentoo for the average user.
This USE flag is already being used by some packages, including sys-apps/baselayout and sys-apps/systemd. This series also moves the gen_usr_ldscript function to a new eclass, and makes it a noop on most systems when split-usr is enabled. Moving it to a new eclass allows us to avoid adding IUSE="split-usr" to every ebuild that uses toolchain-funcs.eclass. Mike Gilbert (6): profiles: add global USE flag 'split-usr' profiles: enable USE="split-usr" in base usr-ldscript.eclass: copy gen_usr_ldscript from toolchain-funcs.eclass usr-ldscript.eclass: return early if USE=split-usr is disabled Convert ebuilds to inherit usr-ldscript toolchain-funcs.eclass: deprecate gen_usr_ldscript app-accessibility/brltty/brltty-5.2-r1.ebuild | 2 +- app-accessibility/brltty/brltty-6.0-r1.ebuild | 2 +- app-arch/bzip2/bzip2-1.0.6-r11.ebuild | 2 +- app-arch/bzip2/bzip2-1.0.7.ebuild | 2 +- app-arch/bzip2/bzip2-1.0.8.ebuild | 2 +- app-arch/bzip2/bzip2-9999.ebuild | 2 +- app-arch/xz-utils/xz-utils-5.2.4-r2.ebuild | 2 +- app-arch/xz-utils/xz-utils-5.2.4-r3.ebuild | 2 +- app-arch/xz-utils/xz-utils-9999.ebuild | 2 +- dev-libs/expat/expat-2.2.6.ebuild | 2 +- dev-libs/expat/expat-2.2.7.ebuild | 2 +- dev-libs/libaio/libaio-0.3.110.ebuild | 2 +- dev-libs/libaio/libaio-0.3.111.ebuild | 2 +- dev-libs/libaio/libaio-0.3.112.ebuild | 2 +- dev-libs/libaio/libaio-9999.ebuild | 2 +- dev-libs/libedit/libedit-20130712.3.1.ebuild | 2 +- dev-libs/libedit/libedit-20170329.3.1.ebuild | 2 +- dev-libs/libiconv/libiconv-1.14-r1.ebuild | 2 +- dev-libs/libiconv/libiconv-1.15.ebuild | 2 +- dev-libs/libintl/libintl-0.19.7.ebuild | 2 +- dev-libs/libintl/libintl-0.19.8.1.ebuild | 2 +- dev-libs/libintl/libintl-0.20.1.ebuild | 2 +- dev-libs/libpcre/libpcre-8.41-r1.ebuild | 2 +- dev-libs/libpcre/libpcre-8.42.ebuild | 2 +- dev-libs/libpcre/libpcre-8.43.ebuild | 2 +- dev-libs/libpcre2/libpcre2-10.32.ebuild | 2 +- dev-libs/libpcre2/libpcre2-10.33.ebuild | 2 +- .../libpwquality/libpwquality-1.4.0.ebuild | 2 +- .../libusb-compat-0.1.5-r2.ebuild | 2 +- .../libusb-compat-0.1.5-r3.ebuild | 2 +- dev-libs/libusb/libusb-1.0.19-r1.ebuild | 2 +- dev-libs/libusb/libusb-1.0.21.ebuild | 2 +- dev-libs/libusb/libusb-1.0.22.ebuild | 2 +- dev-libs/lzo/lzo-2.10.ebuild | 2 +- eclass/toolchain-funcs.eclass | 15 +- eclass/usr-ldscript.eclass | 160 ++++++++++++++++++ .../iptables/iptables-1.6.1-r3.ebuild | 2 +- .../iptables/iptables-1.6.2-r2.ebuild | 2 +- .../iptables/iptables-1.8.2-r2.ebuild | 2 +- .../iptables/iptables-1.8.3-r1.ebuild | 2 +- net-libs/libmnl/libmnl-1.0.3-r1.ebuild | 2 +- net-libs/libmnl/libmnl-1.0.4.ebuild | 2 +- net-libs/libnftnl/libnftnl-1.0.8-r1.ebuild | 2 +- net-libs/libnftnl/libnftnl-1.1.1-r1.ebuild | 2 +- net-libs/libnftnl/libnftnl-1.1.2-r1.ebuild | 2 +- net-libs/libnftnl/libnftnl-1.1.3.ebuild | 2 +- net-libs/libtirpc/libtirpc-1.0.2-r1.ebuild | 2 +- net-libs/libtirpc/libtirpc-1.0.3.ebuild | 2 +- net-libs/libtirpc/libtirpc-1.1.4.ebuild | 2 +- profiles/base/make.defaults | 4 + profiles/use.desc | 1 + sys-apps/acl/acl-2.2.52-r1.ebuild | 2 +- sys-apps/acl/acl-2.2.53.ebuild | 2 +- sys-apps/attr/attr-2.4.47-r2.ebuild | 2 +- sys-apps/attr/attr-2.4.48-r2.ebuild | 2 +- sys-apps/attr/attr-2.4.48-r3.ebuild | 2 +- sys-apps/dmapi/dmapi-2.2.12-r1.ebuild | 2 +- sys-apps/keyutils/keyutils-1.5.11-r1.ebuild | 2 +- sys-apps/keyutils/keyutils-1.5.9-r4.ebuild | 2 +- sys-apps/keyutils/keyutils-1.6.ebuild | 2 +- sys-apps/openrc/openrc-0.34.11.ebuild | 2 +- sys-apps/openrc/openrc-0.38.3-r1.ebuild | 2 +- sys-apps/openrc/openrc-0.38.3.ebuild | 2 +- sys-apps/openrc/openrc-0.41.2.ebuild | 2 +- sys-apps/openrc/openrc-9999.ebuild | 2 +- .../tcp-wrappers-7.6.22-r1.ebuild | 2 +- sys-apps/util-linux/util-linux-2.33-r1.ebuild | 2 +- sys-apps/util-linux/util-linux-2.33.1.ebuild | 2 +- sys-apps/util-linux/util-linux-2.33.2.ebuild | 2 +- sys-apps/util-linux/util-linux-2.34-r2.ebuild | 2 +- sys-apps/util-linux/util-linux-9999.ebuild | 2 +- sys-auth/skey/skey-1.1.5-r11.ebuild | 2 +- .../freebsd-cddl/freebsd-cddl-11.1.ebuild | 2 +- .../freebsd-cddl/freebsd-cddl-9.1.ebuild | 2 +- .../freebsd-lib/freebsd-lib-11.1-r1.ebuild | 2 +- .../freebsd-lib/freebsd-lib-9.1-r11.ebuild | 2 +- sys-fs/e2fsprogs/e2fsprogs-1.44.5.ebuild | 2 +- sys-fs/e2fsprogs/e2fsprogs-1.44.6.ebuild | 2 +- sys-fs/e2fsprogs/e2fsprogs-1.45.1-r1.ebuild | 2 +- sys-fs/e2fsprogs/e2fsprogs-1.45.2.ebuild | 2 +- sys-fs/lvm2/lvm2-2.02.116.ebuild | 2 +- sys-fs/lvm2/lvm2-2.02.145-r2.ebuild | 2 +- sys-fs/lvm2/lvm2-2.02.183.ebuild | 2 +- sys-fs/lvm2/lvm2-2.02.184-r4.ebuild | 2 +- sys-fs/lvm2/lvm2-2.02.185.ebuild | 2 +- sys-fs/lvm2/lvm2-2.03.05.ebuild | 2 +- sys-fs/reiser4progs/reiser4progs-1.1.0.ebuild | 2 +- sys-fs/reiser4progs/reiser4progs-1.2.0.ebuild | 2 +- sys-fs/reiser4progs/reiser4progs-1.2.1.ebuild | 2 +- .../reiserfsprogs/reiserfsprogs-3.6.25.ebuild | 2 +- .../reiserfsprogs/reiserfsprogs-3.6.27.ebuild | 2 +- sys-fs/sysfsutils/sysfsutils-2.1.0.ebuild | 2 +- sys-fs/xfsprogs/xfsprogs-4.17.0-r1.ebuild | 2 +- sys-fs/xfsprogs/xfsprogs-4.19.0.ebuild | 2 +- sys-fs/xfsprogs/xfsprogs-4.20.0.ebuild | 2 +- sys-fs/xfsprogs/xfsprogs-5.0.0.ebuild | 2 +- sys-fs/zfs/zfs-0.6.5.11-r2.ebuild | 2 +- sys-fs/zfs/zfs-0.7.13.ebuild | 2 +- sys-fs/zfs/zfs-0.7.9999.ebuild | 2 +- sys-fs/zfs/zfs-0.8.1.ebuild | 2 +- sys-fs/zfs/zfs-9999.ebuild | 2 +- sys-libs/cracklib/cracklib-2.9.6-r2.ebuild | 2 +- sys-libs/cracklib/cracklib-2.9.7.ebuild | 2 +- .../e2fsprogs-libs-1.44.5.ebuild | 2 +- .../e2fsprogs-libs-1.44.6.ebuild | 2 +- .../e2fsprogs-libs-1.45.1.ebuild | 2 +- .../e2fsprogs-libs-1.45.2.ebuild | 2 +- sys-libs/glibc/glibc-2.19-r2.ebuild | 2 +- sys-libs/glibc/glibc-2.26-r7.ebuild | 2 +- sys-libs/glibc/glibc-2.27-r6.ebuild | 2 +- sys-libs/glibc/glibc-2.28-r6.ebuild | 2 +- sys-libs/glibc/glibc-2.29-r2.ebuild | 2 +- sys-libs/glibc/glibc-9999.ebuild | 2 +- sys-libs/gpm/gpm-1.20.7-r2.ebuild | 2 +- sys-libs/libaal/libaal-1.0.6.ebuild | 2 +- sys-libs/libaal/libaal-1.0.7-r1.ebuild | 2 +- sys-libs/libaal/libaal-1.0.7.ebuild | 2 +- sys-libs/libcap/libcap-2.26-r2.ebuild | 2 +- sys-libs/libcap/libcap-2.27.ebuild | 2 +- sys-libs/libnih/libnih-1.0.3-r3.ebuild | 2 +- sys-libs/ncurses/ncurses-6.1-r2.ebuild | 2 +- sys-libs/ncurses/ncurses-6.1-r3.ebuild | 2 +- sys-libs/ncurses/ncurses-6.1_p20181020.ebuild | 2 +- sys-libs/pam/pam-1.2.1-r2.ebuild | 2 +- sys-libs/pam/pam-1.3.0-r2.ebuild | 2 +- sys-libs/pam/pam-1.3.1-r1.ebuild | 2 +- sys-libs/pwdb/pwdb-0.62-r1.ebuild | 2 +- sys-libs/readline/readline-6.3_p8-r3.ebuild | 2 +- sys-libs/readline/readline-7.0_p3-r1.ebuild | 2 +- sys-libs/readline/readline-7.0_p3.ebuild | 2 +- sys-libs/readline/readline-7.0_p5.ebuild | 2 +- sys-libs/readline/readline-8.0.ebuild | 2 +- sys-libs/zlib/zlib-1.2.11-r2.ebuild | 2 +- sys-process/audit/audit-2.6.4.ebuild | 2 +- sys-process/audit/audit-2.7.1.ebuild | 2 +- sys-process/audit/audit-2.8.2.ebuild | 2 +- sys-process/audit/audit-2.8.3.ebuild | 2 +- sys-process/audit/audit-2.8.4.ebuild | 2 +- sys-process/procps/procps-3.3.15-r1.ebuild | 2 +- 139 files changed, 304 insertions(+), 146 deletions(-) create mode 100644 eclass/usr-ldscript.eclass -- 2.22.0
