<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>49808</bug_id>
          
          <creation_ts>2024-03-26 23:24:40 +0300</creation_ts>
          <short_desc>/sbin/ifup is a broken symlink to /etc on merged-usr</short_desc>
          <delta_ts>2024-04-05 18:05:01 +0300</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>etcnet</component>
          <version>unstable</version>
          <rep_platform>x86_64</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P5</priority>
          <bug_severity>blocker</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>46738</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Arseny Maslennikov">arseny</reporter>
          <assigned_to name="Mikhail Efremov">sem</assigned_to>
          <cc>aen</cc>
    
    <cc>iv</cc>
    
    <cc>ldv</cc>
    
    <cc>rider</cc>
    
    <cc>sem</cc>
    
    <cc>shaba</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>243560</commentid>
    <comment_count>0</comment_count>
    <who name="Arseny Maslennikov">arseny</who>
    <bug_when>2024-03-26 23:24:40 +0300</bug_when>
    <thetext>После апгрейда на filesystem 3 симлинк /sbin/ifup (и другие подобные программы из комплекта etcnet) будет разрешён системой так:
* /;
* /sbin -&gt; (прошли по /sbin -&gt; usr/sbin) -&gt; /usr/sbin;
* /usr/sbin/ifup -&gt; (прошли по ifup -&gt; ../etc/net/scripts/ifup) -&gt; /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.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>243561</commentid>
    <comment_count>1</comment_count>
    <who name="Arseny Maslennikov">arseny</who>
    <bug_when>2024-03-26 23:25:04 +0300</bug_when>
    <thetext>(In reply to Arseny Maslennikov from comment #0)
&gt; Прошу исправить упаковку так, как будет удобно разработчикам проекта etcnet.

 Вариантов, как именно это сделать, может быть много, но файл contrib/Makefile выглядит неудачным: `$(prefix)` там — это никакой не prefix, от балды используется где-то `$(etcnetdir)`, а где-то явно etc/net. Класть опакеченные программы под /etc тем более давно пора перестать.

Я бы на месте разработчиков воспользовался поводом и сделал бы программы в /sbin самостоятельными (пусть даже они вызывали бы поначалу ещё не переложенный файл из /etc/net/scripts), но это не единственное решение текущей баги.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>243752</commentid>
    <comment_count>2</comment_count>
    <who name="AEN">aen</who>
    <bug_when>2024-03-29 15:36:00 +0300</bug_when>
    <thetext>Блокер p11 в части usrmerge</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>243963</commentid>
    <comment_count>3</comment_count>
    <who name="Mikhail Efremov">sem</who>
    <bug_when>2024-04-02 20:49:47 +0300</bug_when>
    <thetext>(In reply to Arseny Maslennikov from comment #1)
&gt; (In reply to Arseny Maslennikov from comment #0)
&gt; &gt; Прошу исправить упаковку так, как будет удобно разработчикам проекта etcnet.
&gt; 
&gt;  Вариантов, как именно это сделать, может быть много, но файл
&gt; contrib/Makefile выглядит неудачным: `$(prefix)` там — это никакой не
&gt; prefix, от балды используется где-то `$(etcnetdir)`, а где-то явно etc/net.

Там prefix - это на самом деле destdir, в остальном бардака в общем-то нет: etcnetdir - это $prefix/etc/net/, а etc/net - это вообще путь в дереве исходников.

&gt; Класть опакеченные программы под /etc тем более давно пора перестать.

Сейчас мне точно не хочется делать серьезные изменения в etcnet, это надо делать аккуратно и вдумчиво. Для решения проблемы с filesystem3 мне бы хотелось как раз обойтись минимум изменений.
Но что-то мне все варианты, которые я попробовал, не нравятся.
Склоняюсь к мысли, что на время перехода проще всего сделать симлинк абсолютным, а потом просто изменить на относительный в /usr/sbin/.

&gt; Я бы на месте разработчиков воспользовался поводом и сделал бы программы в
&gt; /sbin самостоятельными (пусть даже они вызывали бы поначалу ещё не
&gt; переложенный файл из /etc/net/scripts), но это не единственное решение
&gt; текущей баги.

Если там будет просто
exec /etc/net/scripts/что-то 
то это ничем не лучше абсолютного симлинка.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>243969</commentid>
    <comment_count>4</comment_count>
    <who name="Arseny Maslennikov">arseny</who>
    <bug_when>2024-04-02 22:08:44 +0300</bug_when>
    <thetext>(In reply to Mikhail Efremov from comment #3)
&gt; (In reply to Arseny Maslennikov from comment #1)
&gt; &gt; (In reply to Arseny Maslennikov from comment #0)
&gt; &gt; &gt; Прошу исправить упаковку так, как будет удобно разработчикам проекта etcnet.
&gt; &gt; 
&gt; &gt;  Вариантов, как именно это сделать, может быть много, но файл
&gt; &gt; contrib/Makefile выглядит неудачным: `$(prefix)` там — это никакой не
&gt; &gt; prefix, от балды используется где-то `$(etcnetdir)`, а где-то явно etc/net.
&gt; 
&gt; Там prefix - это на самом деле destdir, в остальном бардака в общем-то нет:
&gt; etcnetdir - это $prefix/etc/net/, а etc/net - это вообще путь в дереве
&gt; исходников.
&gt; 
&gt; &gt; Класть опакеченные программы под /etc тем более давно пора перестать.
&gt; 
&gt; Сейчас мне точно не хочется делать серьезные изменения в etcnet, это надо
&gt; делать аккуратно и вдумчиво. Для решения проблемы с filesystem3 мне бы
&gt; хотелось как раз обойтись минимум изменений.

Ладно. Ни на чём не настаиваю. :)

&gt; Но что-то мне все варианты, которые я попробовал, не нравятся.
&gt; Склоняюсь к мысли, что на время перехода проще всего сделать симлинк
&gt; абсолютным, а потом просто изменить на относительный в /usr/sbin/.

А готова ли к абсолютным симлинкам программа usrmerge-hier-convert? Вроде бы да, но, если пойдём этим путём, нужно будет проверить ещё раз.

Да и не факт, что получится упаковать абсолютный симлинк, я никогда этого не делал, а в bug 49857 это не получилось.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>244049</commentid>
    <comment_count>5</comment_count>
    <who name="Mikhail Efremov">sem</who>
    <bug_when>2024-04-03 18:29:32 +0300</bug_when>
    <thetext>[#344295] TESTED etcnet.git=0.9.30-alt1

Можно потестировать перед коммитом в Сизиф.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>244235</commentid>
    <comment_count>6</comment_count>
    <who name="Repository Robot">repository-robot</who>
    <bug_when>2024-04-05 18:05:01 +0300</bug_when>
    <thetext>etcnet-0.9.30-alt1 -&gt; sisyphus:

 Wed Apr 03 2024 Mikhail Efremov &lt;sem@altlinux&gt; 0.9.30-alt1
 - build: Temporary use absolute symlinks for scripts (closes: #49808).
 - build: Don&apos;t hardcode relative symlinks.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>