From: Alexey Sokolov <alexey+gentoo@asokolov.org>
To: gentoo-dev@lists.gentoo.org
Subject: Re: [gentoo-dev] Deprecating AMD64 17.0 profiles?
Date: Tue, 10 Nov 2020 09:21:53 +0000 [thread overview]
Message-ID: <e7f34840-06cf-ce58-7bf3-c29da4802bbd@asokolov.org> (raw)
In-Reply-To: <X6pHRPCSMXnBKoZd@gentoo.org>
[-- Attachment #1: Type: text/plain, Size: 2651 bytes --]
10.11.2020 08:55, Fabian Groffen пишет:
> On 09-11-2020 19:38:28 +0000, Alexey Sokolov wrote:
>> Hi Fabian
>> I tried to migrate my prefix to 17.1, and there are issues.
>>
>> 1) unsymlink-lib requires "--root ~/gentoo" and otherwise produces an
>> error "/usr/lib is a real directory! was the migration done already?"
>
> I think unsymlink-lib doesn't have Prefix support, but in addition,
> what unsymlink-lib is trying to achieve, is not a thing perhaps on
> Prefix.
>
> A prefix system (at least all of mine) doesn't have libXX or lib/XX
> (a.k.a. multilib) directories. The /usr-split was long ago removed,
> and thus what we have is:
>
> lib -> usr/lib
>
> Now, SYMLINK_LIB=no seems to split into lib and lib64, but lib64 does
> not exist on Prefix systems.
>
> Since Prefix is non-multilib by design*, I wonder if unsymlink-lib is
> necessary in the best case, but going to break the Prefix system in the
> worst case.
>
> What instructed you to perform the migration? Was it the news-item? I
> don't think it should apply for Prefix profiles, and perhaps we should
> be happy the tool won't work.
It was the big scary warning about the deprecation whenever I run
emerge. It contains list of steps.
> * non-multilib is a decision dating back a decade or so, which means
> effectively any Prefix install you encounter should be non-multilib
>
>
>> 2) $ unsymlink-lib --root ~/gentoo --migrate --pretend
>> usage: unsymlink-lib [-h] [-p] [--root ROOT] [--analyze] [--migrate]
>> [--rollback] [--finish] [--force-rollback]
>> [--resume-finish] [-P PREFIX] [--hardlink]
>> unsymlink-lib: error: Requested action requires root privileges
>>
>> Well, I worked it around by adding "is_root = True" to unsymlink-lib
>
> Did it do anything to your system like creating a lib64 directory? Does
> anything work (because I have doubts on whether your system can still
> find the libs in there now).
Yes. Attaching logs.
>
>>
>> 3) Step 9 (Rebuild gcc) fails:
>> configure:4372: checking whether the C compiler works
>>
>>
>>
>> configure:4394: x86_64-pc-linux-gnu-gcc conftest.c >&5
>>
>>
>>
>> /home/user/gentoo/usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/../../../../x86_64-pc-linux-gnu/bin/as:
>> error while loading shared libraries:
>> libopcodes-2.34.0.gentoo-sys-devel-binutils-st.so: cannot open shared
>
> Something like this I was suspecting. Can you still rollback? If you
> can, I'd try that and hope it restores your system in working order.
Yeah, don't worry, this is my ebuild-testing chroot. I just did "lxc
restore".
--
Best regards,
Alexey "DarthGandalf" Sokolov
[-- Attachment #2: analyze.log --]
[-- Type: text/x-log, Size: 6533 bytes --]
Analyzing files installed into lib & lib64...
directories that will be moved to /home/user/gentoo/lib/:
(+ 0 files)
directories whose contents will be split between /home/user/gentoo/lib/ and /home/user/gentoo/lib64/:
orphan dirs/files (not owned by any package) that will be moved to /home/user/gentoo/lib/:
gentoo
modprobe.d
systemd
orphan dirs/files (not owned by any package) that will be kept in /home/user/gentoo/lib64/:
ld-2.31.so
ld-linux-x86-64.so.2
libBrokenLocale-2.31.so
libBrokenLocale.so.1
libSegFault.so
libanl-2.31.so
libanl.so.1
libc-2.31.so
libc.so.6
libcrypt-2.31.so
libcrypt.so.1
libdl-2.31.so
libdl.so.2
libkmod.so.2
libkmod.so.2.3.5
libm-2.31.so
libm.so.6
libmemusage.so
libmvec-2.31.so
libmvec.so.1
libnsl-2.31.so
libnsl.so.1
libnss_compat-2.31.so
libnss_compat.so.2
libnss_db-2.31.so
libnss_db.so.2
libnss_dns-2.31.so
libnss_dns.so.2
libnss_files-2.31.so
libnss_files.so.2
libnss_hesiod-2.31.so
libnss_hesiod.so.2
libpcprofile.so
libpthread-2.31.so
libpthread.so.0
libresolv-2.31.so
libresolv.so.2
librt-2.31.so
librt.so.1
libthread_db-1.0.so
libthread_db.so.1
libutil-2.31.so
libutil.so.1
directories that will be moved to /home/user/gentoo/usr/lib/:
(+ 0 files)
directories whose contents will be split between /home/user/gentoo/usr/lib/ and /home/user/gentoo/usr/lib64/:
orphan dirs/files (not owned by any package) that will be moved to /home/user/gentoo/usr/lib/:
Mcrt1.o
Scrt1.o
audit
binutils
cmake
crt1.o
crti.o
crtn.o
debug
engines-1.1
gawk
gcc
gconv
gcrt1.o
gettext
glibc-2.31
help2man
libffi
misc
perl5
pkgconfig
portage
python-exec
python3.7
systemd
terminfo
tmpfiles.d
xml2Conf.sh
orphan dirs/files (not owned by any package) that will be kept in /home/user/gentoo/usr/lib64/:
libBrokenLocale.a
libBrokenLocale.so
libacl.so
libacl.so.1
libacl.so.1.1.2253
libanl.a
libanl.so
libasprintf.so
libasprintf.so.0
libasprintf.so.0.0.0
libassuan.so
libassuan.so.0
libassuan.so.0.8.3
libattr.so
libattr.so.1
libattr.so.1.1.2448
libb2.so
libb2.so.1
libb2.so.1.0.4
libblkid.so
libblkid.so.1
libblkid.so.1.1.0
libbz2.so
libbz2.so.1
libbz2.so.1.0
libbz2.so.1.0.6
libc.a
libc.so
libc_nonshared.a
libcrypt.a
libcrypt.so
libcrypto.so
libcrypto.so.1.1
libcurl.so
libcurl.so.4
libcurl.so.4.6.0
libcurses.so
libdb-5.3.a
libdb-5.3.la
libdb-5.3.so
libdb.a
libdb.so
libdl.a
libdl.so
libexpat.so
libexpat.so.1
libexpat.so.1.6.10
libexpatw.so
libexpatw.so.1
libexpatw.so.1.6.10
libfdisk.so
libfdisk.so.1
libfdisk.so.1.1.0
libffi.so
libffi.so.7
libffi.so.7.1.0
libfl.a
libform.so
libform.so.6
libform.so.6.2
libformw.so
libformw.so.6
libformw.so.6.2
libg.a
libgcrypt.so
libgcrypt.so.20
libgcrypt.so.20.2.6
libgdbm.so
libgdbm.so.6
libgdbm.so.6.0.0
libgdbm_compat.so
libgdbm_compat.so.4
libgdbm_compat.so.4.0.0
libgettextlib-0.21.so
libgettextlib.so
libgettextpo.so
libgettextpo.so.0
libgettextpo.so.0.5.7
libgettextsrc-0.21.so
libgettextsrc.so
libgmp.so
libgmp.so.10
libgmp.so.10.4.0
libgmpxx.so
libgmpxx.so.4
libgmpxx.so.4.6.0
libgnutls-openssl.so
libgnutls-openssl.so.27
libgnutls-openssl.so.27.0.2
libgnutls.so
libgnutls.so.30
libgnutls.so.30.28.1
libgnutlsxx.so
libgnutlsxx.so.28
libgnutlsxx.so.28.1.0
libgpg-error.so
libgpg-error.so.0
libgpg-error.so.0.29.0
libgpgme.so
libgpgme.so.11
libgpgme.so.11.22.0
libgpgmepp.so
libgpgmepp.so.6
libgpgmepp.so.6.9.0
libhistory.so
libhistory.so.8
libhistory.so.8.0
libhogweed.so
libhogweed.so.6
libhogweed.so.6.0
libidn2.so
libidn2.so.0
libidn2.so.0.3.7
libkmod.so
libksba.so
libksba.so.8
libksba.so.8.11.6
libltdl.la
libltdl.so
libltdl.so.7
libltdl.so.7.3.1
liblzma.so
liblzma.so.5
liblzma.so.5.2.5
libm.a
libm.so
libmagic.so
libmagic.so.1
libmagic.so.1.0.0
libmcheck.a
libmenu.so
libmenu.so.6
libmenu.so.6.2
libmenuw.so
libmenuw.so.6
libmenuw.so.6.2
libmount.so
libmount.so.1
libmount.so.1.1.0
libmpc.so
libmpc.so.3
libmpc.so.3.2.0
libmpfr.so
libmpfr.so.6
libmpfr.so.6.1.0
libmvec.a
libmvec.so
libncurses++.so
libncurses++.so.6
libncurses++.so.6.2
libncurses++w.so
libncurses++w.so.6
libncurses++w.so.6.2
libncurses.so
libncurses.so.6
libncurses.so.6.2
libncursesw.so
libncursesw.so.6
libncursesw.so.6.2
libnettle.so
libnettle.so.8
libnettle.so.8.0
libnghttp2.so
libnghttp2.so.14
libnghttp2.so.14.20.0
libnpth.so
libnpth.so.0
libnpth.so.0.1.2
libnss_compat.so
libnss_db.so
libnss_dns.so
libnss_files.so
libnss_hesiod.so
libpanel.so
libpanel.so.6
libpanel.so.6.2
libpanelw.so
libpanelw.so.6
libpanelw.so.6.2
libpcre.so
libpcre.so.1
libpcre.so.1.2.12
libpcre2-8.so
libpcre2-8.so.0
libpcre2-8.so.0.10.0
libpcre2-posix.so
libpcre2-posix.so.2
libpcre2-posix.so.2.0.3
libpcrecpp.so
libpcrecpp.so.0
libpcrecpp.so.0.0.2
libpcreposix.so
libpcreposix.so.0
libpcreposix.so.0.0.7
libperl.so
libperl.so.5.30
libperl.so.5.30.3
libpkgconf.a
libpkgconf.so
libpkgconf.so.3
libpkgconf.so.3.0.0
libpopt.so
libpopt.so.0
libpopt.so.0.0.0
libprocps.so
libprocps.so.8
libprocps.so.8.0.2
libpthread.a
libpthread.so
libpython3.7m.so
libpython3.7m.so.1.0
libreadline.so
libreadline.so.8
libreadline.so.8.0
libresolv.a
libresolv.so
librt.a
librt.so
libsandbox.so
libseccomp.so
libseccomp.so.2
libseccomp.so.2.4.3
libsmartcols.so
libsmartcols.so.1
libsmartcols.so.1.1.0
libssl.so
libssl.so.1.1
libtasn1.so
libtasn1.so.6
libtasn1.so.6.6.0
libtextstyle.so
libtextstyle.so.0
libtextstyle.so.0.1.1
libthread_db.so
libtinfo.so
libtinfo.so.6
libtinfo.so.6.2
libtinfow.so
libtinfow.so.6
libtinfow.so.6.2
libunistring.so
libunistring.so.2
libunistring.so.2.1.0
libutil.a
libutil.so
libuuid.so
libuuid.so.1
libuuid.so.1.3.0
libxml2.so
libxml2.so.2
libxml2.so.2.9.10
libz.so
libz.so.1
libz.so.1.2.11
libzstd.so
libzstd.so.1
libzstd.so.1.4.4
locale
preloadable_libintl.so
directories that will be moved to /home/user/gentoo/usr/local/lib/:
(+ 0 files)
directories whose contents will be split between /home/user/gentoo/usr/local/lib/ and /home/user/gentoo/usr/local/lib64/:
Warning: no lib32 paths found. This is fine if you are running no-multilib,
otherwise this is suspicious.
The state has been saved and the migration is ready to proceed.
To initiate it, please run:
/home/user/gentoo/usr/lib/python-exec/python3.7/unsymlink-lib --migrate
Please do not perform any changes to the system at this point.
If you performed any changes, please rerun the analysis.
[-- Attachment #3: ls-l.log --]
[-- Type: text/x-log, Size: 1036 bytes --]
total 55928
-rw-r--r-- 1 user user 6533 Nov 10 09:18 analyze.log
drwxr-xr-x 1 user user 790 Oct 6 20:11 bin
drwxr-xr-x 1 user user 1052 Nov 10 09:17 etc
lrwxrwxrwx 1 user user 7 Nov 10 09:19 lib -> lib.new
drwxr-xr-x 1 user user 46 Nov 10 09:19 lib.new
drwxr-xr-x 1 user user 1334 Oct 9 19:44 lib64
-rw-r--r-- 1 user user 0 Nov 10 09:19 ls-l.log
-rw-r--r-- 1 user user 1448 Nov 10 09:19 migrate-pretend.log
-rw-r--r-- 1 user user 838 Nov 10 09:19 migrate.log
drwxr-xr-x 1 user user 0 Jul 20 00:04 run
drwxr-xr-x 1 user user 212 Oct 6 20:11 sbin
-rw-r--r-- 1 user user 1467019 Jul 19 23:48 stage1.log
-rw-r--r-- 1 user user 11120838 Jul 20 00:04 stage2.log
-rw-r--r-- 1 user user 44644530 Jul 20 00:49 stage3.log
-rwxr-xr-x 1 user user 3327 Jul 20 08:18 startprefix
-rwxr-xr-x 1 user user 3332 Sep 1 23:12 startprefix2
drwxr-xr-x 1 user user 0 Jul 20 08:12 tmp
drwxr-xr-x 1 user user 130 Nov 10 09:19 usr
drwxr-xr-x 1 user user 42 Jul 20 00:43 var
[-- Attachment #4: migrate.log --]
[-- Type: text/x-log, Size: 838 bytes --]
[/home/user/gentoo/lib32] & /home/user/gentoo/lib -> /home/user/gentoo/lib.new ...
[/home/user/gentoo/usr/lib32] & /home/user/gentoo/usr/lib -> /home/user/gentoo/usr/lib.new ...
[/home/user/gentoo/usr/local/lib32] & /home/user/gentoo/usr/local/lib -> /home/user/gentoo/usr/local/lib.new ...
Updating: /home/user/gentoo/lib -> lib.new ...
Updating: /home/user/gentoo/usr/lib -> lib.new ...
Updating: /home/user/gentoo/usr/local/lib -> lib.new ...
Initial migration complete. Please now test whether your system works
correctly. It might be a good idea to try rebooting it. Once tested,
complete the migration and clean up backup files via calling:
/home/user/gentoo/usr/lib/python-exec/python3.7/unsymlink-lib --finish
If you wish to revert the changes, run:
/home/user/gentoo/usr/lib/python-exec/python3.7/unsymlink-lib --rollback
[-- Attachment #5: migrate-pretend.log --]
[-- Type: text/x-log, Size: 1457 bytes --]
Those are the actions that would be performed:
mkdir /home/user/gentoo/lib.new
cp -a --reflink=auto -- /home/user/gentoo/lib/systemd /home/user/gentoo/lib/gentoo /home/user/gentoo/lib/modprobe.d /home/user/gentoo/lib.new/
mkdir /home/user/gentoo/usr/lib.new
cp -a --reflink=auto -- /home/user/gentoo/usr/lib/xml2Conf.sh /home/user/gentoo/usr/lib/Scrt1.o /home/user/gentoo/usr/lib/libffi /home/user/gentoo/usr/lib/python-exec /home/user/gentoo/usr/lib/gettext /home/user/gentoo/usr/lib/terminfo /home/user/gentoo/usr/lib/python3.7 /home/user/gentoo/usr/lib/systemd /home/user/gentoo/usr/lib/portage /home/user/gentoo/usr/lib/cmake /home/user/gentoo/usr/lib/Mcrt1.o /home/user/gentoo/usr/lib/gconv /home/user/gentoo/usr/lib/binutils /home/user/gentoo/usr/lib/debug /home/user/gentoo/usr/lib/perl5 /home/user/gentoo/usr/lib/gcc /home/user/gentoo/usr/lib/help2man /home/user/gentoo/usr/lib/gcrt1.o /home/user/gentoo/usr/lib/crtn.o /home/user/gentoo/usr/lib/crt1.o /home/user/gentoo/usr/lib/glibc-2.31 /home/user/gentoo/usr/lib/misc /home/user/gentoo/usr/lib/gawk /home/user/gentoo/usr/lib/tmpfiles.d /home/user/gentoo/usr/lib/pkgconfig /home/user/gentoo/usr/lib/audit /home/user/gentoo/usr/lib/crti.o /home/user/gentoo/usr/lib/engines-1.1 /home/user/gentoo/usr/lib.new/
mkdir /home/user/gentoo/usr/local/lib.new
ln -s -f -T lib.new /home/user/gentoo/lib
ln -s -f -T lib.new /home/user/gentoo/usr/lib
ln -s -f -T lib.new /home/user/gentoo/usr/local/lib
next prev parent reply other threads:[~2020-11-10 9:21 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-10-22 15:17 [gentoo-dev] [PATCH] profiles: Reorder AMD64 profile list to place 17.1 on top Brian Evans
2020-10-22 15:44 ` Michał Górny
2020-10-22 19:16 ` [gentoo-dev] Deprecating AMD64 17.0 profiles? Andreas K. Hüttel
2020-11-07 11:42 ` Alexey Sokolov
2020-11-07 11:56 ` Fabian Groffen
2020-11-09 19:38 ` Alexey Sokolov
2020-11-10 7:55 ` Fabian Groffen
2020-11-10 8:34 ` Michał Górny
2020-11-10 8:41 ` Fabian Groffen
2020-11-10 8:49 ` Michał Górny
2020-11-10 8:53 ` Fabian Groffen
2020-11-10 9:13 ` Michał Górny
2020-11-10 9:21 ` Alexey Sokolov [this message]
2020-11-10 9:27 ` Fabian Groffen
2020-11-07 13:39 ` Andreas K. Huettel
2020-11-07 14:01 ` Alexey Sokolov
2020-11-09 10:30 ` Jaco Kroon
2020-11-09 10:59 ` Ulrich Mueller
2020-11-09 11:09 ` Jaco Kroon
2020-11-09 11:45 ` Marek Szuba
2020-11-09 11:54 ` Peter Stuge
2020-11-09 12:48 ` Aaron Bauman
2020-11-09 12:57 ` Andreas K. Huettel
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=e7f34840-06cf-ce58-7bf3-c29da4802bbd@asokolov.org \
--to=alexey+gentoo@asokolov.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