После апгрейда на filesystem 3 симлинк /sbin/ifup (и другие подобные программы из комплекта etcnet) будет разрешён системой так: * /; * /sbin -> (прошли по /sbin -> usr/sbin) -> /usr/sbin; * /usr/sbin/ifup -> (прошли по ifup -> ../etc/net/scripts/ifup) -> /usr/etc/net/scripts/ifup. Мягко говоря, не туда. При беглом взгляде на спек и исходники стало понятно, что автоматически пакет к этому не умеет адаптироваться. https://git.altlinux.org/gears/e/etcnet.git?p=etcnet.git;a=blob;f=contrib/Makefile;h=d8a9e8a802fc6d8f6a85f984986054562e97d965;hb=fb324ab82056623754ece69ae21eba4e7c82f7e0#l84 Содержимое относительного симлинка не вычисляют, а просто хардкодят. Прошу исправить упаковку так, как будет удобно разработчикам проекта etcnet.
(In reply to Arseny Maslennikov from comment #0) > Прошу исправить упаковку так, как будет удобно разработчикам проекта etcnet. Вариантов, как именно это сделать, может быть много, но файл contrib/Makefile выглядит неудачным: `$(prefix)` там — это никакой не prefix, от балды используется где-то `$(etcnetdir)`, а где-то явно etc/net. Класть опакеченные программы под /etc тем более давно пора перестать. Я бы на месте разработчиков воспользовался поводом и сделал бы программы в /sbin самостоятельными (пусть даже они вызывали бы поначалу ещё не переложенный файл из /etc/net/scripts), но это не единственное решение текущей баги.
Блокер p11 в части usrmerge
(In reply to Arseny Maslennikov from comment #1) > (In reply to Arseny Maslennikov from comment #0) > > Прошу исправить упаковку так, как будет удобно разработчикам проекта etcnet. > > Вариантов, как именно это сделать, может быть много, но файл > contrib/Makefile выглядит неудачным: `$(prefix)` там — это никакой не > prefix, от балды используется где-то `$(etcnetdir)`, а где-то явно etc/net. Там prefix - это на самом деле destdir, в остальном бардака в общем-то нет: etcnetdir - это $prefix/etc/net/, а etc/net - это вообще путь в дереве исходников. > Класть опакеченные программы под /etc тем более давно пора перестать. Сейчас мне точно не хочется делать серьезные изменения в etcnet, это надо делать аккуратно и вдумчиво. Для решения проблемы с filesystem3 мне бы хотелось как раз обойтись минимум изменений. Но что-то мне все варианты, которые я попробовал, не нравятся. Склоняюсь к мысли, что на время перехода проще всего сделать симлинк абсолютным, а потом просто изменить на относительный в /usr/sbin/. > Я бы на месте разработчиков воспользовался поводом и сделал бы программы в > /sbin самостоятельными (пусть даже они вызывали бы поначалу ещё не > переложенный файл из /etc/net/scripts), но это не единственное решение > текущей баги. Если там будет просто exec /etc/net/scripts/что-то то это ничем не лучше абсолютного симлинка.
(In reply to Mikhail Efremov from comment #3) > (In reply to Arseny Maslennikov from comment #1) > > (In reply to Arseny Maslennikov from comment #0) > > > Прошу исправить упаковку так, как будет удобно разработчикам проекта etcnet. > > > > Вариантов, как именно это сделать, может быть много, но файл > > contrib/Makefile выглядит неудачным: `$(prefix)` там — это никакой не > > prefix, от балды используется где-то `$(etcnetdir)`, а где-то явно etc/net. > > Там prefix - это на самом деле destdir, в остальном бардака в общем-то нет: > etcnetdir - это $prefix/etc/net/, а etc/net - это вообще путь в дереве > исходников. > > > Класть опакеченные программы под /etc тем более давно пора перестать. > > Сейчас мне точно не хочется делать серьезные изменения в etcnet, это надо > делать аккуратно и вдумчиво. Для решения проблемы с filesystem3 мне бы > хотелось как раз обойтись минимум изменений. Ладно. Ни на чём не настаиваю. :) > Но что-то мне все варианты, которые я попробовал, не нравятся. > Склоняюсь к мысли, что на время перехода проще всего сделать симлинк > абсолютным, а потом просто изменить на относительный в /usr/sbin/. А готова ли к абсолютным симлинкам программа usrmerge-hier-convert? Вроде бы да, но, если пойдём этим путём, нужно будет проверить ещё раз. Да и не факт, что получится упаковать абсолютный симлинк, я никогда этого не делал, а в bug 49857 это не получилось.
[#344295] TESTED etcnet.git=0.9.30-alt1 Можно потестировать перед коммитом в Сизиф.
etcnet-0.9.30-alt1 -> sisyphus: Wed Apr 03 2024 Mikhail Efremov <sem@altlinux> 0.9.30-alt1 - build: Temporary use absolute symlinks for scripts (closes: #49808). - build: Don't hardcode relative symlinks.