diff options
author | Jeremy Huddleston <eradicator@gentoo.org> | 2006-06-07 02:36:16 +0000 |
---|---|---|
committer | Jeremy Huddleston <eradicator@gentoo.org> | 2006-06-07 02:36:16 +0000 |
commit | a82fb92aca6471e8abf7cbf2628615a60af156d4 (patch) | |
tree | f5aacb428e105600cbb8228dc7ba81a97c1ce4e6 /app-admin | |
parent | Stable on amd64 wrt security Bug #123022. (diff) | |
download | historical-a82fb92aca6471e8abf7cbf2628615a60af156d4.tar.gz historical-a82fb92aca6471e8abf7cbf2628615a60af156d4.tar.bz2 historical-a82fb92aca6471e8abf7cbf2628615a60af156d4.zip |
Make sure /lib/cpp is installed. Right now, the ebuild is just copying the wrapper to that location, but I'll have this handled properly by compiler.eselect in a later release.
Package-Manager: portage-2.1_rc4-r3
Diffstat (limited to 'app-admin')
5 files changed, 201 insertions, 13 deletions
diff --git a/app-admin/eselect-compiler/ChangeLog b/app-admin/eselect-compiler/ChangeLog index 18221e01f17a..6c49f573aa10 100644 --- a/app-admin/eselect-compiler/ChangeLog +++ b/app-admin/eselect-compiler/ChangeLog @@ -1,6 +1,15 @@ # ChangeLog for app-admin/eselect-compiler # Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/app-admin/eselect-compiler/ChangeLog,v 1.19 2006/06/02 22:01:10 eradicator Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-admin/eselect-compiler/ChangeLog,v 1.20 2006/06/07 02:36:16 eradicator Exp $ + +*eselect-compiler-2.0.0_rc1-r5 (07 Jun 2006) + + 07 Jun 2006; Jeremy Huddleston <eradicator@gentoo.org> + eselect-compiler-2.0.0_rc1-r4.ebuild, + +eselect-compiler-2.0.0_rc1-r5.ebuild: + Make sure /lib/cpp is installed. Right now, the ebuild is just copying the + wrapper to that location, but I'll have this handled properly by + compiler.eselect in a later release. 02 Jun 2006; Jeremy Huddleston <eradicator@gentoo.org> eselect-compiler-2.0.0_rc1-r4.ebuild: diff --git a/app-admin/eselect-compiler/Manifest b/app-admin/eselect-compiler/Manifest index 900855f7d6ee..23b9eaa950a2 100644 --- a/app-admin/eselect-compiler/Manifest +++ b/app-admin/eselect-compiler/Manifest @@ -10,14 +10,18 @@ MD5 41ae1c7a156d13710a458bd1a70078f3 files/eselect-compiler-2.0.0_rc1-inherit.pa RMD160 67805308fc7dacb16730873b2cc72f902b0ed61f files/eselect-compiler-2.0.0_rc1-inherit.patch 645 SHA256 b22f15cf016ee3e4314a88c148c3b2fd02fc97128a94af5eab0fb015939a61fe files/eselect-compiler-2.0.0_rc1-inherit.patch 645 DIST compiler-config-2.0.0_rc1.tar.gz 117180 RMD160 dbcd8120139c75f40ae2405746ab2a5f26e810b4 SHA1 3a1a1605dd0e8b59ba5d796c4583244f46f97a03 SHA256 a911a7b0a1184c576500df8530e77823f976dce387001c581ba89ac8edfe30c2 -EBUILD eselect-compiler-2.0.0_rc1-r4.ebuild 4934 RMD160 f9605eaaa96e74bd8fa4f9c5a3ac3c2d927fffed SHA1 7af9cdedafd8335597b66a3fc86a37659c65924d SHA256 f6c8a3634f47886e30def0801327bd207681d503f340d00982a07ee71cf047ea -MD5 4bf2d082d4dc7d6a4e5f24a06c78854c eselect-compiler-2.0.0_rc1-r4.ebuild 4934 -RMD160 f9605eaaa96e74bd8fa4f9c5a3ac3c2d927fffed eselect-compiler-2.0.0_rc1-r4.ebuild 4934 -SHA256 f6c8a3634f47886e30def0801327bd207681d503f340d00982a07ee71cf047ea eselect-compiler-2.0.0_rc1-r4.ebuild 4934 -MISC ChangeLog 5296 RMD160 692298768465b13b15f6a75769bc815b6be00ea9 SHA1 dcb2a1d3294fee61c4632a43676eebfd0beb87c6 SHA256 cd828f8b715de91e2c6ed3501c2c82da7bb3081ef114cf72246d877d103c8531 -MD5 60a51b61ab9fed3f91d6f306edb09ef4 ChangeLog 5296 -RMD160 692298768465b13b15f6a75769bc815b6be00ea9 ChangeLog 5296 -SHA256 cd828f8b715de91e2c6ed3501c2c82da7bb3081ef114cf72246d877d103c8531 ChangeLog 5296 +EBUILD eselect-compiler-2.0.0_rc1-r4.ebuild 5031 RMD160 217b012a99ad5c4548ef17686d387061c2546b7c SHA1 05de55f796e1d3702f2730c3a7a34b916e122f34 SHA256 1f2a8784a1dc071073251479e4ea989c81b28ea1a4367020563ce9d3a42ec049 +MD5 b669ead637aef801bcca1bb5c81c1f99 eselect-compiler-2.0.0_rc1-r4.ebuild 5031 +RMD160 217b012a99ad5c4548ef17686d387061c2546b7c eselect-compiler-2.0.0_rc1-r4.ebuild 5031 +SHA256 1f2a8784a1dc071073251479e4ea989c81b28ea1a4367020563ce9d3a42ec049 eselect-compiler-2.0.0_rc1-r4.ebuild 5031 +EBUILD eselect-compiler-2.0.0_rc1-r5.ebuild 5031 RMD160 25a7b021fb6195b2361f2757847438d4b556eb28 SHA1 5b3c2060576ed97b9d07a13b4ba630710212f604 SHA256 71c1d8edc4043dcb6c478126e3cb7bf53a7861971f5128902fc710b4a1083ec8 +MD5 ed0054129b8b5025c8ff833ad7be3552 eselect-compiler-2.0.0_rc1-r5.ebuild 5031 +RMD160 25a7b021fb6195b2361f2757847438d4b556eb28 eselect-compiler-2.0.0_rc1-r5.ebuild 5031 +SHA256 71c1d8edc4043dcb6c478126e3cb7bf53a7861971f5128902fc710b4a1083ec8 eselect-compiler-2.0.0_rc1-r5.ebuild 5031 +MISC ChangeLog 5664 RMD160 f71c1724795cb0d4d70750437887313c41af3d4e SHA1 e2f6592feef2c0f09785dffa9bc571bdacbb7d87 SHA256 f602d7ebfee0ca8180c2ead2385a83ea7309e0f1055701ec62765c48540854aa +MD5 e0e62e1c2e16fb0c5aa9a39c73703cde ChangeLog 5664 +RMD160 f71c1724795cb0d4d70750437887313c41af3d4e ChangeLog 5664 +SHA256 f602d7ebfee0ca8180c2ead2385a83ea7309e0f1055701ec62765c48540854aa ChangeLog 5664 MISC metadata.xml 162 RMD160 d002486a43522f2116b1d9d59828c484956d66e2 SHA1 d6b4923897f6ae673b4f93646f5b4ba61d5a2c3c SHA256 65a915d44de1f01d4b7f72d313b4192c38374a9835d24988c00c1e73dca5805a MD5 567094e03359ffc1c95af7356395228d metadata.xml 162 RMD160 d002486a43522f2116b1d9d59828c484956d66e2 metadata.xml 162 @@ -25,10 +29,13 @@ SHA256 65a915d44de1f01d4b7f72d313b4192c38374a9835d24988c00c1e73dca5805a metadata MD5 63440bc21fdf46cc94352893f2fd6e3e files/digest-eselect-compiler-2.0.0_rc1-r4 277 RMD160 3b08c6248c4f7f8d14ac66ff0fb70bb8c8276c53 files/digest-eselect-compiler-2.0.0_rc1-r4 277 SHA256 ba21ae92f613fd0a6f34b3fda34d1d82c6b284c045481b9686b66fd9e373c21e files/digest-eselect-compiler-2.0.0_rc1-r4 277 +MD5 63440bc21fdf46cc94352893f2fd6e3e files/digest-eselect-compiler-2.0.0_rc1-r5 277 +RMD160 3b08c6248c4f7f8d14ac66ff0fb70bb8c8276c53 files/digest-eselect-compiler-2.0.0_rc1-r5 277 +SHA256 ba21ae92f613fd0a6f34b3fda34d1d82c6b284c045481b9686b66fd9e373c21e files/digest-eselect-compiler-2.0.0_rc1-r5 277 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.3 (GNU/Linux) -iD8DBQFEgLkSOpjtAl+gMRURAjumAKDQv3CPHaP6SHiK2y+JmfQGfxysygCeL3ZU -6trG7aQSJ8xWp3W4TEyk8FA= -=HMAU +iD8DBQFEhjuvOpjtAl+gMRURAq1HAJ9uDwmbctfetmh7uN5qlcbxdt2TKwCg2glD +PiolQDWSNqFD8ExHSjqjiyA= +=ZDUS -----END PGP SIGNATURE----- diff --git a/app-admin/eselect-compiler/eselect-compiler-2.0.0_rc1-r4.ebuild b/app-admin/eselect-compiler/eselect-compiler-2.0.0_rc1-r4.ebuild index 4199c72d1aa2..7404c15b52ec 100644 --- a/app-admin/eselect-compiler/eselect-compiler-2.0.0_rc1-r4.ebuild +++ b/app-admin/eselect-compiler/eselect-compiler-2.0.0_rc1-r4.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2006 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/app-admin/eselect-compiler/eselect-compiler-2.0.0_rc1-r4.ebuild,v 1.4 2006/06/02 22:17:20 eradicator Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-admin/eselect-compiler/eselect-compiler-2.0.0_rc1-r4.ebuild,v 1.5 2006/06/07 02:36:16 eradicator Exp $ inherit eutils multilib toolchain-funcs @@ -129,6 +129,10 @@ src_install() { dodoc README make DESTDIR="${D}" install || die + # For bug #135749 + exeinto /lib + newexe ${D}/usr/libexec/eselect/compiler/compiler-wrapper cpp + doenvd ${FILESDIR}/25eselect-compiler # This is installed by sys-devel/gcc-config diff --git a/app-admin/eselect-compiler/eselect-compiler-2.0.0_rc1-r5.ebuild b/app-admin/eselect-compiler/eselect-compiler-2.0.0_rc1-r5.ebuild new file mode 100644 index 000000000000..5006c5420c4a --- /dev/null +++ b/app-admin/eselect-compiler/eselect-compiler-2.0.0_rc1-r5.ebuild @@ -0,0 +1,165 @@ +# Copyright 1999-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-admin/eselect-compiler/eselect-compiler-2.0.0_rc1-r5.ebuild,v 1.1 2006/06/07 02:36:16 eradicator Exp $ + +inherit eutils multilib toolchain-funcs + +DESCRIPTION="Utility to configure the active toolchain compiler" +HOMEPAGE="http://www.gentoo.org/" + +MY_PN="compiler-config" +MY_P="${MY_PN}-${PV}" +S="${WORKDIR}/${MY_P}" + +SRC_URI=" http://dev.gentoo.org/~eradicator/toolchain/${MY_PN}/${MY_P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd" +IUSE="hardened" + +RDEPEND=">=app-admin/eselect-1.0_rc1" + +# We want to verify that compiler profiles exist for our toolchain +pkg_setup() { + delete_invalid_profiles + + local abi + for abi in $(get_all_abis) ; do + local ctarget=$(get_abi_CHOST ${abi}) + if ! grep -q "^[[:space:]]*ctarget=${ctarget}$" ${ROOT}/etc/eselect/compiler/*.conf ; then + eerror "We weren't able to find a valid eselect compiler profile for ${abi}." + eerror "Please do the following to re-emerge gcc, then retry emerging" + eerror "eselect-compiler:" + eerror "# emerge -v --oneshot sys-devel/gcc" + + die "Missing eselect-compiler profile for ${abi}" + fi + done +} + +pkg_postinst() { + # Activate the profiles + if [[ ! -f "${ROOT}/etc/eselect/compiler/selection.conf" ]] ; then + ewarn "This looks like the first time you are installing eselect-compiler. We are" + ewarn "activating toolchain profiles for the CTARGETs needed by your portage" + ewarn "profile. You should have profiles installed from compilers that you emerged" + ewarn "after October, 2005. If a compiler you have installed is missing an" + ewarn "eselect-compiler profile, you can either re-emerge the compiler, create the" + ewarn "profile yourself, or you can migrate profiles from gcc-config-1.x by doing:" + ewarn "# eselect compiler migrate" + ewarn + ewarn "Note that if you use the migration tool, your current profiles will be" + ewarn "replaced, so you should backup the data in /etc/eselect/compiler first." + echo + einfo "The following profiles have been activated. If an incorrect profile is" + einfo "chosen or an error is reported, please use 'eselect compiler set' to" + einfo "manually choose it" + + local abi + for abi in $(get_all_abis) ; do + local ctarget=$(get_abi_CHOST ${abi}) + local extra_options="" + + if [[ ${abi} == ${DEFAULT_ABI} ]] ; then + extra_options="-n" + fi + + local spec + if use hardened ; then + spec="hardened" + else + spec="vanilla" + fi + + local isset=0 + local tuple + for tuple in "${CHOST}" "${CTARGET}" "${ctarget}" ; do + local version + for version in "$(gcc-fullversion)" ; do + local profile + for profile in "${abi}-${spec}" "${spec}" "${abi}-default" "default" "${abi}-vanilla" "vanilla" ; do + if eselect compiler set ${tuple}-${version}/${profile} ${extra_options} &> /dev/null ; then + einfo "${abi}: ${tuple}-${version}/${profile}" + + isset=1 + break + fi + done + [[ ${isset} == 1 ]] && break + done + [[ ${isset} == 1 ]] && break + done + + if [[ ${isset} == 0 ]] ; then + eerror "${abi}: Unable to determine an appropriate profile. Please set manually." + fi + done + else + eselect compiler update + fi + + local file + local resource_profile=0 + for file in ${ROOT}/etc/env.d/05gcc* ; do + if [[ -f ${file} ]] ; then + ewarn "Removing env.d entry which was used by gcc-config:" + ewarn " ${file}" + + rm -f ${file} + + resource_profile=1 + fi + done + + if [[ ${resource_profile} == 1 ]] ; then + echo + ewarn "You should source /etc/profile in your open shells." + + fi +} + +src_unpack() { + unpack ${A} + cd ${S} + epatch ${FILESDIR}/${P}-inherit.patch +} + +src_install() { + dodoc README + make DESTDIR="${D}" install || die + + # For bug #135749 + exeinto /lib + newexe ${D}/usr/libexec/eselect/compiler/compiler-wrapper cpp + + doenvd ${FILESDIR}/25eselect-compiler + + # This is installed by sys-devel/gcc-config + rm ${D}/usr/bin/gcc-config +} + +# The profiles are protected by CONFIG_PROJECT until eselect-compiler is installed, so we need to clean out +# the invalid profiles when eselect-compiler is first installed +delete_invalid_profiles() { + # Some toolchain.eclass installed confs had some bugs in them. We + # could just use sed to update them, but then portage won't remove + # them automatically on unmerge. + local file + for file in $(grep "^[[:space:]]*chost=" ${ROOT}/etc/eselect/compiler/*.conf | cut -f1 -d:) ; do + rm ${file} + done + for file in $(grep "^[[:space:]]*spec=" ${ROOT}/etc/eselect/compiler/*.conf | cut -f1 -d:) ; do + rm ${file} + done + + # First we need to clean out /etc/eselect/compiler as there may + # be some profiles in there which were not unmerged with gcc. + local item + for item in $(grep "^[[:space:]]*binpath=" ${ROOT}/etc/eselect/compiler/*.conf | sed 's/:.*binpath=/:/') ; do + local file=${item%:*} + local binpath=${item#*:} + [[ -d ${binpath} ]] || rm ${file} + done +} + diff --git a/app-admin/eselect-compiler/files/digest-eselect-compiler-2.0.0_rc1-r5 b/app-admin/eselect-compiler/files/digest-eselect-compiler-2.0.0_rc1-r5 new file mode 100644 index 000000000000..e5670a7296b1 --- /dev/null +++ b/app-admin/eselect-compiler/files/digest-eselect-compiler-2.0.0_rc1-r5 @@ -0,0 +1,3 @@ +MD5 b67d2f339f159da455d19c49e4868d9c compiler-config-2.0.0_rc1.tar.gz 117180 +RMD160 dbcd8120139c75f40ae2405746ab2a5f26e810b4 compiler-config-2.0.0_rc1.tar.gz 117180 +SHA256 a911a7b0a1184c576500df8530e77823f976dce387001c581ba89ac8edfe30c2 compiler-config-2.0.0_rc1.tar.gz 117180 |