Disable the automatic fortify patch for some older linux hosts, bug 289757
authorJeremy Olexa <darkside@gentoo.org>
Mon, 5 Dec 2011 21:17:31 +0000 (21:17 +0000)
committerJeremy Olexa <darkside@gentoo.org>
Mon, 5 Dec 2011 21:17:31 +0000 (21:17 +0000)
profiles/prefix/ChangeLog
profiles/prefix/linux/profile.bashrc [new file with mode: 0644]

index 03deb5f826b17fa6cd1078eab9fea86a6893a98b..a3d452f4ee77baa25349899eec9780f88486d66c 100644 (file)
@@ -1,6 +1,9 @@
 # ChangeLog for profiles/prefix
 # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/profiles/prefix/ChangeLog,v 1.304 2011/12/01 22:50:18 darkside Exp $
+# $Header: /var/cvsroot/gentoo-x86/profiles/prefix/ChangeLog,v 1.305 2011/12/05 21:17:31 darkside Exp $
+
+  05 Dec 2011; Jeremy Olexa <darkside@gentoo.org> +linux/profile.bashrc:
+  Disable the automatic fortify patch for some older linux hosts, bug 289757
 
   01 Dec 2011; Jeremy Olexa <darkside@gentoo.org> darwin/package.mask,
   linux/package.use.mask, sunos/solaris/package.mask:
diff --git a/profiles/prefix/linux/profile.bashrc b/profiles/prefix/linux/profile.bashrc
new file mode 100644 (file)
index 0000000..8919099
--- /dev/null
@@ -0,0 +1,16 @@
+# This is a ugly issue, see bug 289757 for origins
+# This mimics the check in gcc ebuilds, bug 362315
+#
+# # Remember, bash treats floats like strings..
+
+if [[ ${PN} == gcc && ${EBUILD_PHASE} == unpack ]]; then
+    # Since 2.3 > 2.12 in numerical terms, just compare 2.X to 2.Y, will break
+    # if >=3.0 is ever released
+    VERS=$(/lib/libc.so.6 | head -n1 | grep -o "version [0-9]\.[0-9]" | cut -d. -f2 )
+    if [[ $VERS -lt 12 ]]; then # compare host glibc 2.x to 2.12
+        ewarn "Your host glibc is too old; disabling automatic fortify. bug 289757"
+        GENTOO_PATCH_EXCLUDE="10_all_gcc-default-fortify-source.patch"
+    fi
+fi
+
+# vim: set syn=sh expandtab ts=4: