sys-libs/glibc: expose a knob to downgrade glibc
authorSergei Trofimovich <slyfox@gentoo.org>
Tue, 23 Jul 2019 07:12:09 +0000 (08:12 +0100)
committerSergei Trofimovich <slyfox@gentoo.org>
Tue, 23 Jul 2019 07:14:33 +0000 (08:14 +0100)
It's not something to be used lightly. Useful when the damage was not
yet done to the rest of the system.

Usage example:
    # I_ALLOW_TO_BREAK_MY_SYSTEM=yes emerge -v1 "=glibc-${old-version}"

Be prepared to deal with downgrade consequences like disappeared symbols
and versions of symbols

Package-Manager: Portage-2.3.69, Repoman-2.3.16
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
sys-libs/glibc/glibc-2.29-r2.ebuild
sys-libs/glibc/glibc-9999.ebuild

index da78a273d19fc72659cf68146311e3b493cb2bf3..313e5c6b440490c29466247b6b0f5f10f5c5f8a2 100644 (file)
@@ -614,7 +614,7 @@ sanity_prechecks() {
                if has_version ">${CATEGORY}/${P}-r10000" ; then
                        eerror "Sanity check to keep you from breaking your system:"
                        eerror " Downgrading glibc is not supported and a sure way to destruction."
-                       die "Aborting to save your system."
+                       [[ ${I_ALLOW_TO_BREAK_MY_SYSTEM} = yes ]] || die "Aborting to save your system."
                fi
 
                if ! do_run_test '#include <unistd.h>\n#include <sys/syscall.h>\nint main(){return syscall(1000)!=-1;}\n' ; then
index 2b0697465d55cc8b92e1135ac937dda4529ba427..0ba2efb974c9596c3918b7a9cda4709631d19eea 100644 (file)
@@ -621,7 +621,7 @@ sanity_prechecks() {
                if has_version ">${CATEGORY}/${P}-r10000" ; then
                        eerror "Sanity check to keep you from breaking your system:"
                        eerror " Downgrading glibc is not supported and a sure way to destruction."
-                       die "Aborting to save your system."
+                       [[ ${I_ALLOW_TO_BREAK_MY_SYSTEM} = yes ]] || die "Aborting to save your system."
                fi
 
                if ! do_run_test '#include <unistd.h>\n#include <sys/syscall.h>\nint main(){return syscall(1000)!=-1;}\n' ; then