Make sure /lib/cpp is installed. Right now, the ebuild is just copying the wrapper...
authorJeremy Huddleston <eradicator@gentoo.org>
Wed, 7 Jun 2006 02:36:16 +0000 (02:36 +0000)
committerJeremy Huddleston <eradicator@gentoo.org>
Wed, 7 Jun 2006 02:36:16 +0000 (02:36 +0000)
Package-Manager: portage-2.1_rc4-r3

app-admin/eselect-compiler/ChangeLog
app-admin/eselect-compiler/Manifest
app-admin/eselect-compiler/eselect-compiler-2.0.0_rc1-r4.ebuild
app-admin/eselect-compiler/eselect-compiler-2.0.0_rc1-r5.ebuild [new file with mode: 0644]
app-admin/eselect-compiler/files/digest-eselect-compiler-2.0.0_rc1-r5 [new file with mode: 0644]

index 18221e01f17a87e9b99a6552c243d818773d7a17..6c49f573aa1032d26e2051561f7d57c5d6822c9e 100644 (file)
@@ -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:
index 900855f7d6ee0c7c0cc87da729003b769c07b499..23b9eaa950a22decc953bf48c2380362142f0e9a 100644 (file)
@@ -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-----
index 4199c72d1aa2e8bc8d851abb512247fc47c4b85e..7404c15b52eccbce3064a1520e58fe46a590bb38 100644 (file)
@@ -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 (file)
index 0000000..5006c54
--- /dev/null
@@ -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 (file)
index 0000000..e5670a7
--- /dev/null
@@ -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