From: Evgeny Sinelnikov <sin@altlinux.org>
To: ALT Linux Team development discussions <devel@lists.altlinux.org>
Subject: Re: [devel] [#348147] DONE (try 6) systemd.git=255.6-alt1 systemd-boot-trigger.git=1.1-alt1
Date: Sat, 25 May 2024 05:31:14 +0400
Message-ID: <CAK42-Gq5uc9W=1SBmNMACHWNLb3PdZbaf+w8TwSqeqUiFOYRkQ@mail.gmail.com> (raw)
In-Reply-To: <CAK42-GpL3udyfD5096LzZps1268PveN5vqUgV3muiuv6iuH4KQ@mail.gmail.com>
сб, 25 мая 2024 г. в 02:21, Evgeny Sinelnikov <sin@altlinux.org>:
>
> Доброй ночи.
>
> пт, 24 мая 2024 г. в 20:49, Yuri Sedunov <aris@altlinux.org>:
> >
> > В Пт, 24/05/2024 в 16:53 +0300, Alexey Shabalin пишет:
> > > пт, 24 мая 2024 г. в 13:57, Anton Farygin <rider@basealt.ru>:
> > > >
> > > > On 24.05.2024 11:52, Dmitry V. Levin wrote:
> > > > > On Thu, May 23, 2024 at 11:51:13AM +0000, Girar pender (shaba)
> > > > > wrote:
> > > > > > https://git.altlinux.org/tasks/archive/done/_339/348147/logs/events.6.3.log
> > > > > > 2024-May-23 11:09:14 :: task #348147 for sisyphus resumed by
> > > > > > shaba:
> > > > > > #100 removed
> > > > > > #140 build 255.6-alt1 from /people/shaba/packages/systemd.git
> > > > > > fetched at 2024-May-23 07:42:21
> > > > > После того, как этот пакет попал в Сизиф, сломалась сборка около
> > > > > сотни
> > > > > пакетов, в которых есть файлы для systemd или udev.
> > > > >
> > > > Да, я тоже заметил.
> > > >
> > > > Надеюсь исправление тоже надо делать только в одном месте.
> > >
> > > Этого следовало ожидать. Значения в pkgconfig(systemd) изменились,
> > > эти пакеты заглядывают в него что бы узнать куда устанавливать файлы.
> > > В задании #349068
> >
> > id=349068 locked=no shared=no fail_early=yes test_only=no repo=sisyphus
> > owner=shaba state=EPERM
> >
> > И чего это никто не спешит одобрить и запустить это задание?
> >
> > > подготовлен rpm-build в котором макросы
> > > синхронизированы с pkgconfig(systemd).
> > > Прошу пропустить задание.
> > > Не уверен, что все 100% исправит, но большую часть точно.
> > >
> >
>
> Потенциально, для некоторых пакетов это исправление не спасает.
>
> Например, если в этих пакетах /lib/tmpfiles.d прописан явно. Проверил
> на примере freeipa (на примере rpm не подтвердилось).
[...]
>
> Или, например, если в этих пакетах /lib/udev/rules.d прописан явно.
> Проверил на примере mdadm, fwupd и spice-vdagent .
[...]
В общем, главный просчет состоит в том, что %buildroot не повторяет
usrmerge корневой директории.
$ find / -maxdepth 1 | while read p; do [ -L "$p" ] || continue ; echo
-n "$p -> "; readlink -f $p; done
/lib -> /usr/lib
/bin -> /usr/bin
/sbin -> /usr/sbin
/lib64 -> /usr/lib64
/libx32 -> /usr/libx32
Во время сборки никто её в %buildroot не повторяет. Да и симлинки там
довольно проблематично обрабатывать:
--- a/.gear/freeipa.spec
+++ b/.gear/freeipa.spec
@@ -566,6 +565,8 @@
%make_build
%install
+mkdir -p %buildroot/usr/lib
+ln -s usr/lib %buildroot/lib
%makeinstall_std
%if_without only_client
...
Processing files: freeipa-server-4.11.1-alt4
error: File path component must be directory
(/usr/src/tmp/freeipa-buildroot/lib):
/usr/src/tmp/freeipa-buildroot/lib/systemd/system/ipa.service
...
$ ls -l ~/hasher/chroot/usr/src/tmp/freeipa-buildroot/lib
lrwxrwxrwx 1 sin_b sin_b 7 мая 25 04:41
/home/sin/hasher/chroot/usr/src/tmp/freeipa-buildroot/lib -> usr/lib
$ ls -l ~/hasher/chroot/usr/src/tmp/freeipa-buildroot/usr/lib/systemd/system/ipa.service
-rw-r--r-- 1 sin_b sin_b 294 мая 25 04:41
/home/sin/hasher/chroot/usr/src/tmp/freeipa-buildroot/usr/lib/systemd/system/ipa.service
Не пострадают лишь те пакеты, которые не используют pkg-config и не
рассчитывают на то, что между возвращаемыми именами каталогов от
pkg-config и макросами в /usr/lib/rpm/platform/$(arch)-linux/macros
имеются расхождения:
- https://git.altlinux.org/tasks/349068/gears/100/git?p=git;a=commitdiff;h=a3c3f9554099a2bee37709448f85963c1cf6d5f1
$ pkg-config --define-variable=prefix=/usr
--variable=systemdsystemunitdir systemd
/lib/systemd/system
$ sudo chroot ~/hasher/chroot pkg-config --define-variable=prefix=/usr
--variable=systemdsystemunitdir systemd
/usr/lib/systemd/system
$ rpm --eval '%_unitdir'
/lib/systemd/system
$ sudo chroot ~/hasher/chroot rpm --eval '%_unitdir'
/lib/systemd/system
$ rpm -qf /usr/share/pkgconfig/systemd.pc
libsystemd-devel-254.10-alt2.x86_64
$ sudo chroot ~/hasher/chroot rpm -qf /usr/share/pkgconfig/systemd.pc
libsystemd-devel-255.6-alt1.x86_64
Если не дожидаться исправления в rpm-build вариант - сделать во всех
спеках сломанных пакетов временный хак, как в systemd:
# usr merged path
%define _binfmtdir %_prefix/lib/binfmt.d
%define _env_dir %_prefix/lib/environment.d
%define _journal_catalogdir %_prefix/lib/systemd/catalog
%define _modprobedir %_prefix/lib/modprobe.d
%define _modules_loaddir %_prefix/lib/modules-load.d
%define _presetdir %_prefix/lib/systemd/system-preset
%define _user_presetdir %_prefix/lib/systemd/user-preset
%define _sysctldir %_prefix/lib/sysctl.d
%define _sysusersdir %_prefix/lib/sysusers.d
%define _systemd_dir %_prefix/lib/systemd
%define _tmpfilesdir %_prefix/lib/tmpfiles.d
%define _unitdir %_prefix/lib/systemd/system
%define _user_unitdir %_prefix/lib/systemd/user
%define _udev_hwdbdir %_prefix/lib/udev/hwdb.d
%define _udev_rulesdir %_prefix/lib/udev/rules.d
%define _gen_dir %_prefix/lib/systemd/system-generators
%define _user_gen_dir %_prefix/lib/systemd/user-generators
%define _env_gen_dir %_prefix/lib/systemd/system-environment-generators
%define _user_env_gen_dir %_prefix/lib/systemd/user-environment-generators
И поправить "ручные" строки вида /lib/udev/rules.d на %_udev_rulesdir
Но это всё та же проблема исправления множества пакетов. А, кроме
того, у множества пакетов, наоборот, в скриптах сборки всё прибито
гвоздями...
В общем... Я думаю это проблема, конечно.
--
Sin (Sinelnikov Evgeny)
next prev parent reply other threads:[~2024-05-25 1:31 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-05-24 8:52 ` Dmitry V. Levin
2024-05-24 10:57 ` Anton Farygin
2024-05-24 13:53 ` Alexey Shabalin
2024-05-24 16:49 ` Yuri Sedunov
2024-05-24 22:21 ` Evgeny Sinelnikov
2024-05-25 1:31 ` Evgeny Sinelnikov [this message]
2024-05-25 0:40 ` [devel] mismatched systemd.pc also present in p11 (was: [#348147] DONE (try 6) systemd.git=255.6-alt1 systemd-boot-trigger.git=1.1-alt1) Arseny Maslennikov
2024-05-25 0:49 ` Aleksey Novodvorsky
2024-05-25 2:11 ` Aleksey Novodvorsky
2024-05-25 3:50 ` Evgeny Sinelnikov
2024-05-25 12:37 ` Arseny Maslennikov
2024-05-25 14:56 ` Aleksey Novodvorsky
2024-05-25 15:31 ` Arseny Maslennikov
2024-05-25 16:34 ` Yuri Sedunov
2024-05-25 17:19 ` Arseny Maslennikov
2024-05-25 18:39 ` Aleksey Novodvorsky
2024-05-25 19:27 ` Yuri Sedunov
2024-05-25 21:52 ` Evgeny Sinelnikov
2024-05-27 12:57 ` Alexey Shabalin
2024-05-27 15:26 ` Arseny Maslennikov
2024-05-27 15:47 ` Alexey Shabalin
2024-05-27 16:12 ` [devel] cramming incompatible systemd updates into Sisyphus Dmitry V. Levin
2024-05-27 16:31 ` Alexey Shabalin
2024-05-27 16:52 ` Alexey Shabalin
2024-05-27 17:09 ` Dmitry V. Levin
2024-05-27 17:24 ` Alexey Shabalin
2024-05-27 16:48 ` [devel] setting %_unitdir and etc. in Sisyphus Arseny Maslennikov
2024-05-27 16:58 ` Alexey Shabalin
2024-05-27 17:11 ` Dmitry V. Levin
2024-05-25 22:36 ` [devel] mismatched systemd.pc also present in p11 (was: [#348147] DONE systemd.git=255.6-alt1 ...) Arseny Maslennikov
2024-05-25 23:19 ` Evgeny Sinelnikov
2024-05-26 3:21 ` Aleksey Novodvorsky
2024-05-26 16:16 ` [devel] Сборочные ресурсы для p11 Evgeny Sinelnikov
2024-05-26 21:40 ` [devel] mismatched systemd.pc also present in p11 Vitaly Lipatov
2024-05-26 21:50 ` Aleksey Novodvorsky
2024-05-26 22:33 ` Arseny Maslennikov
2024-05-28 4:54 ` Anton Farygin
2024-05-28 5:18 ` Aleksey Novodvorsky
2024-05-28 6:37 ` Anton Farygin
2024-05-28 6:42 ` Arseny Maslennikov
2024-05-28 6:56 ` Anton Farygin
2024-05-28 9:37 ` Anton Farygin
2024-05-28 10:05 ` Dmitry V. Levin
2024-05-28 10:17 ` [devel] Icarus Ivan A. Melnikov
2024-05-28 11:03 ` [devel] mismatched systemd.pc also present in p11 Anton Farygin
2024-05-28 7:31 ` Oleg Solovyov
2024-05-28 7:35 ` Anton Farygin
2024-05-25 3:32 ` [devel] [#348147] DONE (try 6) systemd.git=255.6-alt1 systemd-boot-trigger.git=1.1-alt1 Evgeny Sinelnikov
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='CAK42-Gq5uc9W=1SBmNMACHWNLb3PdZbaf+w8TwSqeqUiFOYRkQ@mail.gmail.com' \
--to=sin@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