Title: riscv upgrade to 20.0 profiles
Author: Andreas K. Hüttel <[email protected]>
Posted: 2021-06-20
Revision: 1
News-Item-Format: 2.0
Display-If-Profile: default/linux/riscv/17.0/rv64gc/lp64d
Display-If-Profile: default/linux/riscv/17.0/rv64gc/lp64d/systemd
Display-If-Profile: default/linux/riscv/17.0/rv64gc/lp64
Display-If-Profile: default/linux/riscv/17.0/rv64gc/lp64/systemd
On RISC-V we are switching from two-level library directories (e.g.,
/usr/lib64/lp64d) to a more traditional directory architecture.
This is done via the profile upgrade from 17.0 to 20.0 profiles.
We recommend to re-install from scratch using a 20.0 profile based
stage. 17.0 profiles will be deprecated immediately and removed
in 6 months.
If you want to upgrade an existing installation, the following
steps should be taken. Please read all commands carefully first and
make sure you understand them, since the procedure is risky. The
commands are given for a lp64d profile; in case of a lp64 profile,
always replace lp64d with lp64.
# cd /usr/local/lib64
# cp -av lp64d/. .
# rm -rf lp64d
# ln -s . lp64d
# cd /usr/lib64
# cp -av lp64d/. .
# rm -rf lp64d
# ln -s . lp64d
# cd /lib64
# cp -av lp64d/. .
# rm -rf lp64d
# sln . lp64d
Note that the last command uses "sln" instead of "ln -s".
Then switch from your 17.0 profile to the corresponding 20.0 profile,
either by using "eselect profile" or by manually changing the
/etc/portage/make.profile symlink.
Next, rebuild all packages:
# emerge -eav world
As last step, check if portage has removed any of the symlinks created
above, and if yes, recreate them.