public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "James Le Cuirot" <chewi@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] data/gentoo-news:master commit in: 2023-01-28-rap-prefix-sysroot/
Date: Sat, 28 Jan 2023 22:14:01 +0000 (UTC)	[thread overview]
Message-ID: <1674943832.3adad1954b1463ddfe5c9f7d39e308d6b57b2769.chewi@gentoo> (raw)

commit:     3adad1954b1463ddfe5c9f7d39e308d6b57b2769
Author:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
AuthorDate: Sat Jan 28 22:10:13 2023 +0000
Commit:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
CommitDate: Sat Jan 28 22:10:32 2023 +0000
URL:        https://gitweb.gentoo.org/data/gentoo-news.git/commit/?id=3adad195

2023-01-28-rap-prefix-sysroot: Add news item

Signed-off-by: James Le Cuirot <chewi <AT> gentoo.org>

 .../2023-01-28-rap-prefix-sysroot.en.txt           | 67 ++++++++++++++++++++++
 1 file changed, 67 insertions(+)

diff --git a/2023-01-28-rap-prefix-sysroot/2023-01-28-rap-prefix-sysroot.en.txt b/2023-01-28-rap-prefix-sysroot/2023-01-28-rap-prefix-sysroot.en.txt
new file mode 100644
index 0000000..205250b
--- /dev/null
+++ b/2023-01-28-rap-prefix-sysroot/2023-01-28-rap-prefix-sysroot.en.txt
@@ -0,0 +1,67 @@
+Title: Breaking changes to the RAP Prefix toolchain
+Author: James Le Cuirot <chewi@gentoo.org>
+Posted: 2023-01-28
+Revision: 1
+News-Item-Format: 2.0
+Display-If-Profile: default/linux/amd64/17.0/no-multilib/prefix/*
+Display-If-Profile: default/linux/amd64/17.1/no-multilib/prefix/*
+Display-If-Profile: default/linux/amd64/23.0/no-multilib/prefix/*
+Display-If-Profile: default/linux/amd64/23.0/split-usr/no-multilib/prefix/*
+Display-If-Profile: default/linux/arm/17.0/armv7a/prefix/*
+Display-If-Profile: default/linux/arm/23.0/armv7a/prefix/*
+Display-If-Profile: default/linux/arm/23.0/split-usr/armv7a/prefix/*
+Display-If-Profile: default/linux/arm64/17.0/prefix/*
+Display-If-Profile: default/linux/arm64/23.0/prefix/*
+Display-If-Profile: default/linux/arm64/23.0/split-usr/prefix/*
+Display-If-Profile: default/linux/ppc64le/17.0/prefix/*
+Display-If-Profile: default/linux/riscv/20.0/rv64gc/lp64d/prefix/*
+Display-If-Profile: default/linux/riscv/23.0/rv64/lp64d/prefix/*
+Display-If-Profile: default/linux/riscv/23.0/rv64/split-usr/lp64d/prefix/*
+Display-If-Profile: default/linux/x86/17.0/prefix/*
+Display-If-Profile: default/linux/x86/23.0/prefix/*
+Display-If-Profile: default/linux/x86/23.0/split-usr/prefix/*
+
+We are changing the way the toolchain operates on RAP Prefix systems in order to
+reduce the number of hacks we need to apply and make cross-compiling easier.
+
+If you using a non-RAP "Prefix Guest" or "Prefix Stack" variant (e.g. macOS)
+then this does not apply.
+
+If you're not sure what kind of prefix you have, then check whether the
+prefix-guest USE flag is enabled.
+
+  portageq envvar USE | grep prefix-guest
+
+If you are using a libc other than glibc (e.g. musl) then this *does* apply, but
+your libc will *not* break, so you should not carry out the following procedure.
+The only other package known to be affected is dev-libs/libbsd, which you can
+simply update. If you find another package affected by this, then please file a
+bug report.
+
+WARNING! It is important that you carry out the following procedure, otherwise
+your toolchain will break when you next update your compiler or glibc.
+
+  1. Run the following to create a temporary symlink:
+
+     EPREFIX=$(portageq envvar EPREFIX)
+     mkdir -p "${EPREFIX}${EPREFIX%/*}"
+     ln -sn "${EPREFIX}" "${EPREFIX}${EPREFIX}"
+
+  2. Update or rebuild all installed slots of sys-devel/gcc and sys-devel/clang
+     (if any). Feel free to remove any you no longer need.
+
+  3. Update or rebuild sys-libs/glibc.
+
+  4. Run the following to remove the symlink:
+
+     EPREFIX=$(portageq envvar EPREFIX)
+     rm "${EPREFIX}${EPREFIX}"
+
+  5. If dev-libs/libbsd is installed, then update it to 0.11.7-r2 or later.
+
+If you are reading this having updated glibc first and you are no longer able to
+build anything, then don't panic. Simply execute the lines below and then carry
+out the regular procedure above.
+
+  EPREFIX=$(portageq envvar EPREFIX)
+  portageq contents "${EPREFIX}" $(portageq best_version "${EPREFIX}" sys-libs/glibc) | xargs grep -lIF -d skip "GNU ld script" | xargs sed -i -r "s: /(usr|lib): ${EPREFIX}/\1:g"


             reply	other threads:[~2023-01-28 22:14 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-28 22:14 James Le Cuirot [this message]
  -- strict thread matches above, loose matches on Subject: below --
2023-02-01 23:49 [gentoo-commits] data/gentoo-news:master commit in: 2023-01-28-rap-prefix-sysroot/ James Le Cuirot
2023-03-25 22:45 James Le Cuirot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1674943832.3adad1954b1463ddfe5c9f7d39e308d6b57b2769.chewi@gentoo \
    --to=chewi@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox