From: Arseny Maslennikov <arseny@altlinux.org>
To: ALT Linux Team development discussions <devel@lists.altlinux.org>
Subject: Re: [devel] [p11-release-mgmt] usrmerge action proposal
Date: Tue, 4 Jul 2023 16:11:37 +0300
Message-ID: <ZKQaiQGYiiXiWX6H@cello> (raw)
In-Reply-To: <ZKQaFPEN0qnNWGnz@cello>
[-- Attachment #1: Type: text/plain, Size: 4758 bytes --]
On Tue, Jul 04, 2023 at 04:09:40PM +0300, Arseny Maslennikov wrote:
> On Thu, Jun 22, 2023 at 02:35:37PM +0300, Arseny Maslennikov wrote:
> > Ждём ваших конструктивных ответов и встречных вопросов.
>
> Одним из самых трудоёмких изменений, если не самым, станет usrmerge.
> В следующем письме я предложу предварительный план действий.
Предварительный план действий, выработанный с учётом реалий нашей
пакетной системы, выглядит так:
1) Определить, что слиянию с аналогами внутри /usr подлежат:
/bin
/lib
/lib64
/libx32
/sbin
Надеюсь, я никого не забыл.
2) Тем или иным образом научить rpm создавать симлинк вида
/bin/x -> ../usr/bin/x
..., если в пакете существует /usr/bin/x и Provides: /bin/x.
Аналогично для всех каталогов из списка 1.
Таким образом, на переходном этапе будет не нужно указывать в %files
пакетов все эти симлинки, чтобы потом их убирать, и пакеты продолжат
удовлетворять зависимостям на такие файлы.
Важно, чтобы сначала удалялся старый путь, как обычно при установке
пакета, а симлинк возникал после этой фазы.
2.1) Бекпортировать поддержку в p10.
3) Подготовить пакет filesystem версии 3: поместить в нём файлтриггер,
который проверяет, не состоят ли каталоги из списка 1 целиком из
симлинков внутрь /usr, и превращает такой каталог с симлинками в симлинк
на каталог.
Сценарий файлтриггера должен будет давать предельно ясную информацию и
диагностические сообщения на стандартные потоки. Нужно будет либо
положиться на static coreutils, либо очень осторожно обращаться с
обычными и dynamic linker.
4) Этот пункт, видимо, потребует содействия мейнтейнеров.
Заменить макросы, использующие старые каталоги (%_udevrulesdir,
%_tmpfilesdir и другие), и пересобрать с ними пакеты, что-либо
помещающие в эти каталоги.
Приближённое число затрагиваемых бинарных пакетов:
% grep -E '^/(bin|lib[^/]*|sbin)/[a-z0-9_-]+' contents-index |
grep -vE '^/lib/(systemd|udev|sysusers.d|modules[^/]*|modprobe.d|security|tmpfiles.d)' | # exclude known places
cut -f2 -d$'\t' | grep -v '^/' | # exclude path provides
sort | uniq | wc -l
528
Оценка дана по x86_64 + noarch. Исходных, конечно, будет меньше.
При обновлении на эти пакеты будет действовать правило 2, поэтому их
содержимое будет доступно.
Некоторые пакеты, например, vim-common, сейчас упаковывают разные
файловые объекты в /bin и /usr/bin; другие пакеты ставят файлы прямо
в %buildroot/bin. Их потребуется исправить руками. (Справедливости ради,
многие из них и так стоит обновить)
5) Этот пункт вступает в действие на каждой машине индивидуально при
обновлении её пакетов.
Файлтриггер из пункта 3 обнаруживает, что можно ввести симлинки, и
делает это, завершая процесс usrmerge на данной системе.
----
На текущий момент непонятно:
— есть ли не обозначенные выше пакеты, требующие пристального внимания;
— нужен ли особый подход к системам, применяющим overlayfs вблизи
охваченных путей /* и /usr/*.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
next prev parent reply other threads:[~2023-07-04 13:11 UTC|newest]
Thread overview: 73+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-06-22 11:35 [devel] forthcoming p11: a call for requests and action Arseny Maslennikov
2023-06-22 11:52 ` Yuri Sedunov
2023-08-28 16:17 ` Yuri Sedunov
2023-09-25 10:34 ` Yuri Sedunov
2023-11-21 9:29 ` Yuri Sedunov
2023-06-25 11:14 ` Anton Farygin
2023-06-28 12:55 ` Dmitry V. Levin
2023-06-28 16:22 ` Andrey Savchenko
2023-06-28 17:35 ` Gleb Fotengauer-Malinovskiy
2023-06-30 16:00 ` Mikhail Efremov
2023-07-04 13:19 ` [devel] procps-ng-4.0 Arseny Maslennikov
2023-07-04 13:09 ` [devel] [p11-release-mgmt] usrmerge Arseny Maslennikov
2023-07-04 13:11 ` Arseny Maslennikov [this message]
2023-11-21 21:41 ` Sergey Y. Afonin
2023-11-21 22:13 ` Arseny Maslennikov
2023-07-07 19:27 ` [devel] forthcoming p11: a call for requests and action Alexey Shabalin
2023-07-08 6:56 ` Alexey V. Vissarionov
2023-07-08 11:52 ` Denis Medvedev
2023-07-08 12:17 ` Dmitry V. Levin
2023-08-16 17:48 ` [devel] forthcoming p11: FTBFS summary Arseny Maslennikov
2023-08-16 18:09 ` Arseny Maslennikov
2023-08-16 18:20 ` Anton Zhukharev
2023-08-24 7:33 ` Arseny Maslennikov
2023-08-24 8:06 ` Arseny Maslennikov
2023-08-24 9:47 ` [devel] I: possible double ncurses abi Arseny Maslennikov
2023-08-28 9:42 ` [devel] possible double ncurses abi: call for approvals Arseny Maslennikov
2023-08-28 10:45 ` Dmitry V. Levin
2023-08-28 11:30 ` Dmitry V. Levin
2023-08-28 20:40 ` Arseny Maslennikov
2023-08-29 6:56 ` Dmitry V. Levin
2023-08-24 8:15 ` [devel] forthcoming p11: FTBFS summary Gleb Fotengauer-Malinovskiy
2023-08-24 8:16 ` Gleb Fotengauer-Malinovskiy
2023-08-24 12:29 ` [devel] python3 FTBFS Ivan A. Melnikov
2023-09-03 14:54 ` Daniel
2023-09-04 7:52 ` Ivan A. Melnikov
2023-08-31 9:50 ` [devel] forthcoming p11: FTBFS summary Arseny Maslennikov
2023-08-31 9:59 ` Dmitry V. Levin
2023-08-31 12:01 ` Anton Farygin
2023-09-07 9:44 ` [devel] forthcoming p11: FTBFS summary available at gitery Arseny Maslennikov
2023-09-07 9:56 ` Yuri Sedunov
2023-09-07 10:15 ` Arseny Maslennikov
2023-09-07 10:31 ` Aleksey Novodvorsky
2023-09-07 11:25 ` Arseny Maslennikov
2023-09-07 10:44 ` Aleksey Novodvorsky
2023-09-07 11:07 ` Arseny Maslennikov
2023-09-07 11:18 ` Sergey V Turchin
2023-09-07 10:49 ` Sergey V Turchin
2023-09-07 10:56 ` Arseny Maslennikov
2023-09-07 10:58 ` Sergey V Turchin
2023-10-18 8:20 ` [devel] I: forthcoming p11: FTBFS summary, more announcements Arseny Maslennikov
2023-10-31 15:45 ` [devel] forthcoming p11: FTBFS summary Arseny Maslennikov
2023-10-31 15:49 ` Arseny Maslennikov
2023-11-01 9:02 ` Sergey Bolshakov
2023-11-01 9:26 ` Arseny Maslennikov
2023-10-31 16:03 ` Aleksey Novodvorsky
2023-11-01 4:06 ` Andrey Cherepanov
2023-11-01 5:51 ` Ivan A. Melnikov
2024-02-04 21:25 ` [devel] [p11-release-mgmt] closing in, hopefully Arseny Maslennikov
2024-02-04 23:34 ` Grigory Ustinov
2024-02-05 1:39 ` Aleksey Novodvorsky
2024-02-05 5:51 ` Anton Farygin
2024-02-05 6:13 ` Andrey Savchenko
2024-02-05 8:01 ` Роман Алифанов
2024-02-05 23:13 ` Alexey V. Vissarionov
2024-04-26 17:11 ` [devel] forthcoming p11: пора чинить пакеты Arseny Maslennikov
2024-04-27 10:09 ` alexei
2024-04-27 10:35 ` [devel] " Sergey V Turchin
2024-04-27 14:12 ` [devel] " Anton Farygin
2024-04-30 3:42 ` Alexey V. Vissarionov
2024-04-30 6:24 ` Anton Farygin
2024-04-28 10:36 ` [devel] forthcoming p11: пора чинить пакеты: jq -> обновление valgrind Anton Farygin
2024-04-28 11:28 ` Anton Farygin
2024-04-30 18:02 ` [devel] forthcoming p11: пора чинить пакеты Arseny Maslennikov
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=ZKQaiQGYiiXiWX6H@cello \
--to=arseny@altlinux.org \
--cc=devel@lists.altlinux.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
ALT Linux Team development discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
public-inbox-index devel
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.devel
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git