LINUX.ORG.RU

gentoo переход на 17.1 профиль

 


3

2

Добрый день.
Помогите разобраться. В наличии:
sys-apps/baselayout-2.2
sys-apps/openrc-0.30
sys-devel/gcc-6.4.0

Сейчас профиль
eselect profile list
[12] default/linux/amd64/17.0 *

unsymlink-lib выдает следующее:
/usr/lib is a real directory! was the migration done already?

ls -la /usr{/,/local/}

/usr/:
total 252K
drwxr-xr-x  14 root root 4.0K Jan 19  2015 ./
drwxr-xr-x  23 root root 4.0K Jan 16 13:48 ../
drwxr-xr-x   3 root root  60K Feb 12 13:22 bin/
drwxr-xr-x 206 root root  20K Feb 11 19:21 include/
drwxr-xr-x  12 root root 4.0K Oct 28 23:47 lib/
drwxr-xr-x   9 root root  52K Jan 29 01:58 lib32/
drwxr-xr-x  77 root root  68K Feb 11 19:21 lib64/
drwxr-xr-x  11 root root 4.0K Feb  9 18:29 libexec/
drwxr-xr-x   7 root root 4.0K Feb 12 13:26 local/
drwxrwxr-x 172 root root 4.0K Feb  9 17:00 portage/
drwxr-xr-x   2 root root 4.0K Feb 12 13:20 sbin/
drwxr-xr-x 141 root root 4.0K Feb 11 19:21 share/
drwxr-xr-x   5 root root 4.0K Oct 19 10:42 src/
drwxr-xr-x   6 root root 4.0K Jun 20  2013 x86_64-pc-linux-gnu/
lrwxrwxrwx   1 root root    8 Jun 20  2013 tmp -> /var/tmp/

/usr/local/:
total 28K
drwxr-xr-x  7 root root 4.0K Feb 12 13:26 ./
drwxr-xr-x 14 root root 4.0K Jan 19  2015 ../
drwxr-xr-x  2 root root 4.0K Jan 26 22:18 bin/
drwxr-xr-x  2 root root 4.0K Jan 10  2015 lib32/
drwxr-xr-x  2 root root 4.0K Sep 13  2016 lib64/
drwxr-xr-x  2 root root 4.0K Jun 20  2013 sbin/
drwxr-xr-x  4 root root 4.0K Aug 31  2016 share/



Если я сейчас сделаю eseelect profile и добавлю в make.conf
SYMLINK_LIB=no LIBDIR_x86=lib, не получится кактус вместо системы? Как вообще правильно будет раскрутиться? baselayout обновлялся в 2013 году.

★★★

Ответ на: комментарий от Deleted

нет, не дошло. Что я должен сделать?

arrecck ★★★
() автор топика

Если ты сам не можешь с этим разобраться, ты точно уверен, что хочешь переключиться на тестовый профиль? Чем тебя 2017.0 не устраивает?

grem ★★★★★
()
Последнее исправление: grem (всего исправлений: 1)

Там в новости доходчиво было расписано. Читай еще раз.

добавлю в make.conf SYMLINK_LIB=no LIBDIR_x86=lib

не нужно этого делать

sehellion ★★★★★
()

Берём попкорн и наблюдаем говнистость красноглазиков)

А потом плачут, что гента теряет популярность, ебилды пилить некому.

anonymous
()
Ответ на: комментарий от anonymous

Пяткой в грудь будут бить и говорить, что все у них хорошо

anonymous
()
Ответ на: комментарий от sehellion

может мы про разные новости говорим?
Там переход с multilib_symylink на multilib_nosymlink. У меня система без симлинка.

Title: Experimental amd64 17.1 profiles up for testing
Author: Michał Górny <mgorny@gentoo.org>
Posted: 2017-12-26
Revision: 3
News-Item-Format: 2.0
Display-If-Profile: default/linux/amd64/13.0
Display-If-Profile: default/linux/amd64/13.0/selinux
Display-If-Profile: default/linux/amd64/13.0/desktop
Display-If-Profile: default/linux/amd64/13.0/desktop/gnome
Display-If-Profile: default/linux/amd64/13.0/desktop/gnome/systemd
Display-If-Profile: default/linux/amd64/13.0/desktop/plasma
Display-If-Profile: default/linux/amd64/13.0/desktop/plasma/systemd
Display-If-Profile: default/linux/amd64/13.0/developer
Display-If-Profile: default/linux/amd64/13.0/no-multilib
Display-If-Profile: default/linux/amd64/13.0/systemd
Display-If-Profile: default/linux/amd64/17.0
Display-If-Profile: default/linux/amd64/17.0/selinux
Display-If-Profile: default/linux/amd64/17.0/hardened
Display-If-Profile: default/linux/amd64/17.0/hardened/selinux
Display-If-Profile: default/linux/amd64/17.0/desktop
Display-If-Profile: default/linux/amd64/17.0/desktop/gnome
Display-If-Profile: default/linux/amd64/17.0/desktop/gnome/systemd
Display-If-Profile: default/linux/amd64/17.0/desktop/plasma
Display-If-Profile: default/linux/amd64/17.0/desktop/plasma/systemd
Display-If-Profile: default/linux/amd64/17.0/developer
Display-If-Profile: default/linux/amd64/17.0/no-multilib
Display-If-Profile: default/linux/amd64/17.0/no-multilib/hardened
Display-If-Profile: default/linux/amd64/17.0/no-multilib/hardened/selinux
Display-If-Profile: default/linux/amd64/17.0/systemd

A new set of 17.1 amd64 profiles has been added to the Gentoo
repository. Those profiles switch to a more standard 'no SYMLINK_LIB'
multilib layout, and require explicit migration as described below. They
are considered experimental at the moment, and have a fair risk
of breaking your system. We would therefore like to ask our users to
test them on their non-production ~amd64 systems.

In those profiles, the lib->lib64 compatibility symlink is removed.
The 'lib' directory becomes a separate directory, that is used
for cross-arch and native non-library packages (gcc, clang) and 32-bit
libraries on the multilib profile (for better compatibility with
prebuilt x86 packages).

Migration from both 13.0 and 17.0 profiles is supported. In case
of the former, please read the news item for 17.0 upgrade first
and enable gcc 6.4.0 or newer first as explained there.

The migration is performed using app-portage/unsymlink-lib tool.
The following steps can be used to upgrade your system:

1. Sync and upgrade your system to the newest package versions
   to reduce the risk of issues.

2. Install the tool, e.g. via 'emerge -1v app-portage/unsymlink-lib'

3. Run 'unsymlink-lib --analyze' and check the output for obvious
   mistakes. If you need to perform any changes to the system, remember
   to run 'unsymlink-lib --analyze' again afterwards.

[past this point do not call emerge or modify /usr manually]

4. This is a very good time to make a backup.

5. Run 'unsymlink-lib --migrate'. You can add '--pretend' first to see
   what is going to happen.

6. Reboot your system and see if it still boots. Check if important
   programs work. In particular, check if e.g. 'emerge --info' works
   (but do not install anything). If you hit any serious problems,
   you can use 'unsymlink-lib --rollback' to revert the changes
   and return to step 3.

7. Run 'unsymlink-lib --finish'. You can add '--pretend' first to see
   what is going to happen but note that you're going to see a very long
   list of files to remove.

8. Switch the profile, e.g.:

     eselect profile set --force default/linux/amd64/17.1/desktop

[at this point you can start using emerge again]

9. Rebuild sys-devel/gcc. If you are switching from 13.0 profiles,
   rebuild sys-devel/binutils and sys-libs/glibc afterwards.

10. If you are using a multilib profile, rebuild all 32-bit packages.
    This can be done using:

      emerge -1v /lib32 /usr/lib32

    Alternatively, if you are switching from one of the 13.0 profiles
    you can rebuild all packages as detailed in the 17.0 news item.

11. Once the last 32-bit package is rebuilt, your package manager
    should remove the orphaned /lib32 and /usr/lib32 symlinks. If that
    does not happen, remove them manually.

For known issues, please see bug #506276 [1]. If you have any problems
with the new profiles or the migration procedure, please report a bug
and make it block the tracker.

For more information on the layout, please see the wiki article
on AMD64 multilib layouts [2].

[1]:https://bugs.gentoo.org/506276
[2]:https://wiki.gentoo.org/wiki/Project:AMD64/Multilib_layout

arrecck ★★★
() автор топика
Ответ на: комментарий от Deleted

да,там хардкод

 if os.path.isdir(lib) and not os.path.islink(lib):
        print('%s is a real directory! was the migration done already?' % (lib,), file=sys.stderr)
        raise SystemExit(1)

arrecck ★★★
() автор топика
Ответ на: комментарий от sehellion

SYMLINK_LIB=no LIBDIR_x86=lib уже выставлены в профиле. Это я уже грепнул.

arrecck ★★★
() автор топика
Ответ на: комментарий от Deleted

перешел, emerge вылетает с ошибкой из-за profile.bashrc в профиле


if [[ "${EBUILD_PHASE}" == "setup" ]] && [[ -L ${ROOT%/}/lib || -L ${ROOT%/}/usr/lib ]] ; then
	eerror "Please follow the instructions in the news item:"
	eerror "2017-12-26-experimental-amd64-17-1-profiles"
	eerror "or choose the 17.0 profile."
	die "ERROR: 17.1 migration has not been performed!!"
fi


ls -la /lib
lrwxrwxrwx 1 root root 5 Jan 16 13:48 /lib -> lib64/

Куда он должен указывать?

arrecck ★★★
() автор топика
Ответ на: комментарий от andreyu

я их уже почитал, я их уже сюда скопипастил. Читаем мое первое сообщение. У меня другой случай.

arrecck ★★★
() автор топика
Ответ на: комментарий от arrecck

«ls -la /lib» никуда не должен указаывать, на 17.1 это самостоятельная директория для lib32 и для файлов подо все архитектуры.

так что пробуй пункты в новости по порядку и пофиг на их выхлопы

Deleted
()
Последнее исправление: Lifun (всего исправлений: 1)
Ответ на: комментарий от arrecck

До ребута у тебя система не отдуплится, переключи профиль в 17.1, ребутнись, если всё сделал правильно, оно загрузится, сделаешь unsimlink-lib --finish, если не загрузится — будешь из чрута допиливать.

r3lgar ★★★★★
()

я тоже офигел от предложения удалить /lib32

deity ★★★★
()
Последнее исправление: deity (всего исправлений: 1)
Ответ на: комментарий от grem

обновляюсь с git и какие-то новости мне прилетают

В оверлеях они встречаются (точно есть в lua, ибо тоже получаю), но в основном дереве их нет.

r3lgar ★★★★★
()

не получится кактус вместо системы?

новости не читай, вопросы задавай.

A new set of 17.1 amd64 profiles has been added to the Gentoo
repository. Those profiles switch to a more standard 'no SYMLINK_LIB'
multilib layout, and require explicit migration as described below. They
are considered experimental at the moment, and have a fair risk
of breaking your system.

ну и дальше там же есть хауту как переехать

The following steps can be used to upgrade your system:
...

Deleted
()
Ответ на: комментарий от r3lgar

У меня один оверлей, в котором один пакет. Все новости из основного. Но может я путаю с другим компом, где по старинке обновляюсь. Дома проверю.

grem ★★★★★
()

Собрал. По памяти
1. удаляем симлинки на lib из корня и usr
2. удаляем директории lib32
3. emerge baselayout openrc netifrc gentoo-functions
4. emerge glibc
5. emerge gcc
6. reboot
64-bit бинари должны работать.
Всем спасибо. Решено.

arrecck ★★★
() автор топика
Ответ на: комментарий от r3lgar

Посмотрел, часть новостей есть:

  [1]      2013-09-27  Separate /usr on Linux requires initramfs
  [2]      2014-06-15  GCC 4.8.3 defaults to -fstack-protector
  [3]      2014-10-26  GCC 4.7 Introduced the New C++11 ABI 
  [4]      2015-02-01  ffmpeg/libav conflict management: USE=libav
  [5]      2015-02-02  New portage plug-in sync system
  [6]      2015-04-16  FFmpeg default
  [7]      2015-07-25  Python 3.4 enabled by default
  [8]      2015-08-13  OpenSSH 7.0 disables ssh-dss keys by default
  [9]      2015-10-22  GCC 5 Defaults to the New C++11 ABI
  [10]     2015-12-16  Python ABIFLAGS rebuild needed
  [11]     2016-04-24  Changes in default VIDEO_CARDS
  [12]     2016-06-19  L10N USE_EXPAND variable replacing LINGUAS
  [13]     2016-08-11  Grub2 multislot default setting is changing
  [14]     2017-10-13  OpenRC "service" binary removal
  [15]     2017-11-30  New 17.0 profiles in the Gentoo repository
  [16]     2017-12-26  Experimental amd64 17.1 profiles up for testing
  [17]     2018-01-30  Portage rsync tree verification

Систему ставил в июле, поэтому их так мало. Предположу, что для тех приложений, которых у меня нет, новости не приходят.

grem ★★★★★
()
Ответ на: комментарий от RazrFalcon

Прежде чем утверждать, кэш новостей снеси и обнови дерево.

r3lgar ★★★★★
()
Ответ на: комментарий от grem

Предположу, что для тех приложений, которых у меня нет, новости не приходят.

Новости приходят все, но показываются по условию (открой файл с новостью, там всё наглядно).

Но вообще, раз вас уже двое, то призываю Pinkbyte, чтобы рассудил.

r3lgar ★★★★★
()
Ответ на: комментарий от r3lgar

Настройки такие :

$ cat /etc/portage/repos.conf/gentoo.conf
[DEFAULT]
main-repo = gentoo

[gentoo]
location = /usr/portage
#sync-type = rsync
sync-type = git
#sync-uri = rsync://rsync.gentoo.org/gentoo-portage
sync-uri = https://github.com/gentoo-mirror/gentoo

auto-sync = yes                                                                          
# for daily squashfs snapshots
#sync-type = squashdelta
#sync-uri = mirror://gentoo/../snapshots/squashfs

grem ★★★★★
()
Ответ на: комментарий от grem

gentoo-mirror

Старая тестовая площадка Michał Górny? Тогда всё понятно. Там была синхронизация с CVS-деревом, где новости есть.

Официальное git-дерево — git://github.com/gentoo/gentoo.git.

r3lgar ★★★★★
()

Как же я рад, что перешёл на NixOS...

anonymous
()
Ответ на: комментарий от r3lgar

А это разве дерево не для разработчиков? Где-то читал, что пользователям лучше другой использовать.

По твоей ссылке как раз написано к тому же «The official mirror of the Gentoo ebuild repository», а по моей просто «Official Gentoo ebuild repository »

grem ★★★★★
()
Последнее исправление: grem (всего исправлений: 1)
Ответ на: комментарий от r3lgar

Вот здесь, например, пишут, что

1. https://gitweb.gentoo.org/repo/gentoo.git (cgit for offical repo)
2. https://github.com/gentoo/gentoo (GitHub mirror)
3. https://github.com/gentoo-mirror/gentoo (GitHub mirror with pre-generated metadata cache)

For development, please use either 1. or 2. You can submit Pull Requests either via mail (git request-pull) or using GitHub mirror.

For user syncing, 3. is preferable. However, please do not submit Pull Requests there. Also note that signatures are not mirrored there at the moment.

grem ★★★★★
()
Ответ на: комментарий от grem

А это разве дерево не для разработчиков?

У генты нет юзеров.

(cgit for offical repo)

Периодически ощутимо тормозит.

For user syncing, 3. is preferable.

Надо будет попинать того, кто устроил всю эту путаницу.

r3lgar ★★★★★
()
Ответ на: комментарий от r3lgar

Я тоже где-то уж совсем официальных сообщений не нашёл. но на форумах часто ссылаются именно на реп., который у меня прописан. ЧТо-то там с метаданными на других зеркалах.

grem ★★★★★
()
Ответ на: комментарий от grem

ЧТо-то там с метаданными на других зеркалах.

Их тупо нет. Но никто не запрещал их генерировать. Для этого можно к портажу прикрутить хук.

r3lgar ★★★★★
()
Ответ на: комментарий от r3lgar

Да, только если нет метаданных об архивах, он при генерации метафайлов будет всё выкачивать, а мне это совсем не нужно.

grem ★★★★★
()
Ответ на: комментарий от grem

Предположу, что для тех приложений, которых у меня нет, новости не приходят.

Да. Также новости приходя специфичные для профиля, то есть если у тебя не-hardened профиль, то новости о изменении в hardened-профилях тебе приходить не будет

Pinkbyte ★★★★★
()
Ответ на: комментарий от r3lgar

Всё равно пока не нашёл официальных рекомендаций какое зеркало использовать, но чаще всего на форумах попадалось то, которое прописал.

С ним один раз была проблема, когда он несколько дней не обновлялся.

grem ★★★★★
()
Последнее исправление: grem (всего исправлений: 1)
Ответ на: комментарий от grem

ИМХО здесь всё достаточно разжевано.

1 и 2 - это по сути одно и тоже(разница только в том, что 1 хостится на инфраструктуре проекта, а 2 - на гитхабе)

Pinkbyte ★★★★★
()
Ответ на: комментарий от Pinkbyte

Вот и я думаю, что его следует использовать.

r3lgar, вот, Pinkbyte подтверждает, что для «пользователей» тот, который с метаданными. В остальных, видимо, новостей поэтому и нет - разработчикам они ни к чему.

grem ★★★★★
()
Ответ на: комментарий от grem

разработчикам они ни к чему

Не согласен, разработчик должен в первую очередь выполнять свою задачу, а не отслеживать изменение, внесённые другими.

r3lgar ★★★★★
()
Ответ на: комментарий от r3lgar

У меня, например, в виртуалке система для тестирования правок ebuild'ов. Некоторые локально смотрю, если не слишком много изменений в системе требуют.

К тому же это гит для внесения конечных изменений разработчиками, а не для синхронизации пользователем.

grem ★★★★★
()
Ответ на: комментарий от grem

К тому же это гит для внесения конечных изменений разработчиками, а не для синхронизации пользователем.

Зато сразу видно, кому надо оторвать руки — коммиты-то в основное дерево вливают разработчики.

r3lgar ★★★★★
()

Ставь слаку!

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.