[РЕШЕНО] cl-update и сторонние оверлеи.

Начиная с portage-2.2.17 cl-update перестаёт подхватывать добавляемые layman оверлеи, со стабильным portage всё работает. Видимо это связано с переходом portage на плугины.

Исправлено в новых утилитах.

Привет. Никак не пойму, синхронизирует ли cl-update steam-overlay? layman -l говорит что он есть,

 # layman -l
 * calculate                 [Git       ] (git://git.calculate.ru/calculate/overlay.git                                                                                                                                                       )
 * distros                   [Git       ] (git://git.calculate.ru/calculate/distros.git                                                                                                                                                       )
 * steam-overlay             [Git       ] (git://github.com/anyc/steam-overlay.git      

emerge --sync его синхронизирует, но в выхлопе cl-update вижу только distros, calculate и portage.

 # cl-update -s
Синхронизация репозиториев
 * Синхронизация Distros репозитория ...                                                                                                                                                                                                 [ ok ]
 * Синхронизация Calculate репозитория ...                                                                                                                                                                                               [ ok ]
 * Синхронизация Portage репозитория ...                                                                                                                                                                                                 [ ok ]
 * Синхронизация завершена
Конфигурация системы
 * Исправление настроек ...                                                                                                                                                                                                              [ ok ]
 * Обновление конфигурационных файлов ...                                                                                                                                                                                                [ ok ]
 * Обновление системы завершено!

В документации cl-update http://www.calculate-linux.org/main/ru/cl-update написано:

-o [ON/OFF], --update-other [ON/OFF]

Выполняет обновление сторонних оверлеев (не являющихся репозиториями дистрибутива). По умолчанию выключено. Для того, чтобы изменить действие по умолчанию, надо изменить значение переменной cl_update_other_set секции update; для этого можно выполнить следующую команду:
cl-core-variables --set update.cl_update_other_set=on

а cl-update -h говорит, что

-o [ON/OFF], --update-other [ON/OFF]
                        обновлять остальные оверлеи (*включено по умолчанию*)

Так выключено или включено по умолчанию?
Ладно, сделал

cl-core-variables --set update.cl_update_other_set=on

По прежнему вижу в выхлопе cl-update только distros, calculate и portage.
Пробовал:

cl-update -o
cl-update -o ON
cl-update --update-other
cl-update --update-other ON

без разницы, steam-overlay нет. Заглянул в /etc/portage/repos.conf/layman.conf, увидел в секции [steam-overlay]

auto-sync = No

При этом для [distros] и [calculate] он тоже No. Что не мешает им обновляться однако. Исправил на Yes. В выхлопе cl-update ничего не изменилось. Обратил внимание, что cl-update говорит Синхронизация репозиториев, а не оверлеев. Судя по документации и подсказке утилиты, репозиторий и оверлей разные сущности, за работу с которыми отвечают разные ключи. Мозг начал взрываться. Всякий репозиторий - оверлей, но не всякий оверлей является репозиторием, я правильно понял? Возможно утилита просто не показывает мне синхронизацию оверлеев, или она действительно этого не делает?

Справочная информация. У меня ~amd64.

 # emerge -pv eix layman portage calculate-utils
These are the packages that would be merged, in order:
Calculating dependencies... done!
[ebuild   R    ] sys-apps/portage-2.2.18::gentoo  USE="(ipc) -build -doc -epydoc (-selinux) -xattr" LINGUAS="ru" PYTHON_TARGETS="python2_7 -pypy -python3_3 -python3_4" 0 KiB
[ebuild   R    ] app-portage/eix-0.30.7::gentoo  USE="dep nls optimization strong-optimization -debug -doc -security -sqlite -strong-security -swap-remote -tools" LINGUAS="ru -de" 0 KiB
[ebuild   R    ] app-portage/layman-2.3.0::gentoo  USE="git sync-plugin-portage -bazaar -cvs -darcs -g-sorcery -gpg -mercurial -squashfs -subversion {-test}" PYTHON_TARGETS="python2_7 -pypy -python3_3 -python3_4" 0 KiB
[ebuild   R    ] sys-apps/calculate-utils-3.3.1.3:3::calculate  USE="client console desktop qt4 server -minimal -pxe" PYTHON_TARGETS="python2_7" 0 KiB

Конфиги portage (комментарии удалены):

 # ls -l /etc/portage/make.conf/
итого 28
-rw-r--r-- 1 root root  649 мар 19 15:50 0-base
-rw-r--r-- 1 root root   48 авг 25  2014 ccache
-rw-r--r-- 1 root root   69 янв 30 19:25 cpu_flags
-rw-r--r-- 1 root root 2644 мар 21 05:48 custom
-rw-r--r-- 1 root root   94 мар 23 15:35 features
-rw-r--r-- 1 root root   54 мар 23 17:37 local-overlay
-rw-r--r-- 1 root root  266 мар 22 22:00 use
 # cat /etc/portage/make.conf/0-base
source /var/lib/layman/make.conf

 # cat /etc/portage/make.conf/local-overlay
PORTDIR_OVERLAY="$PORTDIR_OVERLAY /usr/local/portage"

Конфиги eix:

 # ls -l /etc/eixrc/
итого 8
-rw-r--r-- 1 root root 1233 мар 23 17:41 00-eixrc
-rw-r--r-- 1 root root  408 мар 23 17:42 50-calculate

Первый пустой, второй дефолтный с NOSTATUSLINE=true

 # cat /etc/eix-sync.conf
!have_changed=:
!emergecmd='/usr/sbin/cl-core --method update --sync-only --skip-eix-update'

Конфиги layman:
/etc/layman/layman.conf http://pastebin.calculate-linux.ru/ru/show/10674

 # cat /var/lib/layman/make.conf
PORTDIR_OVERLAY="
/var/lib/layman/calculate
/var/lib/layman/distros
$PORTDIR_OVERLAY"

По идее этот конфиг устарел и больше не нужен в новом layman, но поскольку утилиты автоматически воткнули мне в /etc/portage/make.conf/0-base строку

source /var/lib/layman/make.conf

я его не трогаю.

 # cat /etc/portage/repos.conf/layman.conf
[calculate]
priority = 50
location = /var/lib/layman/calculate
layman-type = git
sync-type = laymansync
sync-uri = git://git.calculate.ru/calculate/overlay.git
auto-sync = Yes

[distros]
priority = 50
location = /var/lib/layman/distros
layman-type = git
sync-type = laymansync
sync-uri = git://git.calculate.ru/calculate/distros.git
auto-sync = Yes

[steam-overlay]
priority = 50
location = /var/lib/layman/steam-overlay
layman-type = git
sync-type = laymansync
sync-uri = git://github.com/anyc/steam-overlay.git
auto-sync = Yes

Если честно, я совсем запутался как весь этот бардак теперь работает. Может ли кто нибудь развёрнуто объяснить логику работы cl-update со сторонними оверлеями?

cl-update -s -o должен был синхронизировать steam-overlay.

Видят ли утилиты его как сторонний оверлей:

cl-core-variables-show --filter other
1 Like

Mikhail Hiretsky wrote:

cl-update -s -o должен был синхронизировать steam-overlay.

Видят ли утилиты его как сторонний оверлей:
[…]

Нет, не видят. По всей видимости он был добавлен до появления этих механизмов. Удалил\добавил через layman, появился, обновляется, однако никак не отображается в выхлопе утилиты. Можно ли добавить информации в выхлоп, чтобы точно знать, синхронизирует ли она остальные оверлеи или нет? Разобрался, отображается, спасибо за ответ.

Mikhail Hiretsky wrote:

cl-update -s -o должен был синхронизировать steam-overlay.

Видят ли утилиты его как сторонний оверлей:
[…]

И всё таки не работает. Я в предыдущем посте машины попутал.

 # cl-core-variables-show --filter other
 * Список переменных
+---------------------------------+-----+------------+--------+
|Переменная                       |Режим|Расположение|Значение|
+---------------------------------+-----+------------+--------+
|install.cl_install_other_set     | wb  |            |on      |
|update.cl_update_other_rep_data  | rt  |            |        |
|update.cl_update_other_rep_name  | rl  |            |        |
|update.cl_update_other_rep_path  | rl  |            |        |
|update.cl_update_other_set       | wb  |   system   |on      |
|update.cl_update_wait_another_set| wb  |            |on      |
+---------------------------------+-----+------------+--------+

Оверлей есть, layman его видит.

Откатил portage, layman и eix до стабильных версий, всё починилось. Выяснил - начиная с portage-2.2.17 cl-update перестаёт подхватывать добавляемые layman оверлеи, со стабильным portage всё работает. Видимо это связано с переходом portage на плугины.

Неплохо было бы >=sys-apps/portage-2.2.17 глобально в профиле, пока всё не устаканится.

Исправлено в calculate-utils-3.3.1.4

Mikhail Hiretsky wrote:

Исправлено в calculate-utils-3.3.1.4

Михаил, как то странно оно исправлено :slight_smile: Ниже самоговорящий консольный лог. Я снёс все сторонние оверлеи, убедился в этом, вычистил все хвосты от них и попробовал снова добавить. Один оверлей добавился, а второй нет…

supercomp / # layman -l

 * calculate                 [Git       ] (git://git.calculate.ru/calculate/overlay.git                                                                                                                                                       )
 * distros                   [Git       ] (git://git.calculate.ru/calculate/distros.git                                                                                                                                                       )

supercomp / # emerge -p portage calculate-utils

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R    ] sys-apps/portage-2.2.18::gentoo  USE="(ipc) -build -doc -epydoc (-selinux) -xattr" LINGUAS="ru" PYTHON_TARGETS="python2_7 -pypy -python3_3 -python3_4" 0 KiB
[ebuild   R    ] sys-apps/calculate-utils-3.3.1.5:3::calculate  USE="client console desktop qt4 server -minimal -pxe" PYTHON_TARGETS="python2_7" 0 KiB

Total: 2 packages (2 reinstalls), Size of downloads: 0 KiB
supercomp / # cl-core-variables-show --filter other_rep
 * Список переменных
+-------------------------------+-----+------------+--------+
|Переменная                     |Режим|Расположение|Значение|
+-------------------------------+-----+------------+--------+
|update.cl_update_other_rep_data| rt  |            |        |
|update.cl_update_other_rep_name| rl  |            |        |
|update.cl_update_other_rep_path| rl  |            |        |
+-------------------------------+-----+------------+--------+
supercomp / # layman -a torbrowser

 * Adding overlay...
 * Overlay "torbrowser" is not an official. Continue install? [y/n]: y
 * Running Git... # ( cd /var/lib/layman  && /usr/libexec/calculate/cl-git-wrapper clone git://github.com/MeisterP/torbrowser-overlay.git /var/lib/layman/torbrowser )
Cloning into '/var/lib/layman/torbrowser'...
remote: Counting objects: 1180, done.
remote: Total 1180 (delta 0), reused 0 (delta 0), pack-reused 1180
Receiving objects: 100% (1180/1180), 2.57 MiB | 1.35 MiB/s, done.
Resolving deltas: 100% (575/575), done.
Checking connectivity... done.
 * Running Git... # ( cd /var/lib/layman/torbrowser  && /usr/libexec/calculate/cl-git-wrapper config user.name "layman" )
 * Running Git... # ( cd /var/lib/layman/torbrowser  && /usr/libexec/calculate/cl-git-wrapper config user.email "layman@localhost" )
 * Successfully added overlay(s) torbrowser.

supercomp / # layman -a steam-overlay

 * Adding overlay...
 * Overlay "steam-overlay" is not an official. Continue install? [y/n]: y
 * Running Git... # ( cd /var/lib/layman  && /usr/libexec/calculate/cl-git-wrapper clone git://github.com/anyc/steam-overlay.git /var/lib/layman/steam-overlay )
Cloning into '/var/lib/layman/steam-overlay'...
remote: Counting objects: 1543, done.
remote: Total 1543 (delta 0), reused 0 (delta 0), pack-reused 1543
Receiving objects: 100% (1543/1543), 309.49 KiB | 343.00 KiB/s, done.
Resolving deltas: 100% (673/673), done.
Checking connectivity... done.
 * Running Git... # ( cd /var/lib/layman/steam-overlay  && /usr/libexec/calculate/cl-git-wrapper config user.name "layman" )
 * Running Git... # ( cd /var/lib/layman/steam-overlay  && /usr/libexec/calculate/cl-git-wrapper config user.email "layman@localhost" )
 * Successfully added overlay(s) steam-overlay.
supercomp / # layman -l

 * calculate                 [Git       ] (git://git.calculate.ru/calculate/overlay.git                                                                                                                                                       )
 * distros                   [Git       ] (git://git.calculate.ru/calculate/distros.git                                                                                                                                                       )
 * steam-overlay             [Git       ] (git://github.com/anyc/steam-overlay.git                                                                                                                                                            )
 * torbrowser                [Git       ] (git://github.com/MeisterP/torbrowser-overlay.git  
supercomp / # cl-core-variables-show --filter other_rep
 * Список переменных
+-------------------------------+-----+------------+-------------------------------------+
|Переменная                     |Режим|Расположение|Значение                             |
+-------------------------------+-----+------------+-------------------------------------+
|update.cl_update_other_rep_data| rt  |            |torbrowser:/var/lib/layman/torbrowser|
|update.cl_update_other_rep_name| rl  |            |torbrowser                           |
|update.cl_update_other_rep_path| rl  |            |/var/lib/layman/torbrowser           |
+-------------------------------+-----+------------+-------------------------------------+