← Back to context

Comment by simoncion

3 days ago

> All I can say is that Gentoo specifically forbids downgrading glibc.

Nope. You're protected from accidentally doing it, not forbidden. Look:

  # I_ALLOW_TO_BREAK_MY_SYSTEM=yes emerge -1v =sys-libs/glibc-2.43-r4
  These are the packages that would be merged, in order:
  <snip>
  [ebuild     UD ] sys-libs/glibc-2.43-r4:2.2::gentoo [2.44-r3:2.2::gentoo] <snip>

  Total: 1 package (1 downgrade), Size of downloads: 0 KiB

  >>> Verifying ebuild manifests
  
  >>> Running pre-merge checks for sys-libs/glibc-2.43-r4
  
  >>> Emerging (1 of 1) sys-libs/glibc-2.43-r4::gentoo
   * glibc-2.43.tar.xz BLAKE2B SHA512 size ;-) ...           [ ok ]
   * glibc-2.43-patches-5.tar.xz BLAKE2B SHA512 size ;-) ... [ ok ]
   * Checking whether python3_14 is suitable ...
   *   dev-lang/python:3.14 ...                              [ ok ]
   * Using python3.14 to build (via PYTHON_COMPAT iteration)
  >>> Unpacking source...
   * Checking general environment sanity.
   * Sanity check to keep you from breaking your system:
   *  Downgrading glibc is not supported and a sure way to destruction.
   * Performing simple compile test for ABI=amd64 ...
   <snip>

If you don't set that environment variable, the downgrade blows up at the "Sanity check to keep you from breaking your system:" step with a message that includes a call stack that pretty much tells you how to override the safety check:

  * Call stack:
  *     ebuild.sh, line  143:  Called src_unpack
  *   environment, line 3570:  Called sanity_prechecks
  *   environment, line 3199:  Called die
  * The specific snippet of code:
  *               [[ ${I_ALLOW_TO_BREAK_MY_SYSTEM} = yes ]] || die "Aborting to save your system.";