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

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

    <bug>
          <bug_id>34809</bug_id>
          
          <creation_ts>2018-04-14 12:37:52 +0300</creation_ts>
          <short_desc>Следует удалить лишние компоненты из systemd-utils</short_desc>
          <delta_ts>2018-08-17 15:14:06 +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>systemd-utils</component>
          <version>unstable</version>
          <rep_platform>all</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>WONTFIX</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P3</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sergey Y. Afonin">asy</reporter>
          <assigned_to name="Alexey Shabalin">shaba</assigned_to>
          <cc>evg</cc>
    
    <cc>mike</cc>
    
    <cc>shaba</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>170406</commentid>
    <comment_count>0</comment_count>
    <who name="Sergey Y. Afonin">asy</who>
    <bug_when>2018-04-14 12:37:52 +0300</bug_when>
    <thetext>Уж коль скоро в системе с sysvinit нельзя удалить systemd-utils, не следует упаковывать в пакет совсем ненужные компоненты:

# rpm -qf /bin/journalctl
systemd-utils-237-alt2.M80P.2

# rpm -qf /bin/systemctl
systemd-utils-237-alt2.M80P.2

Если это безобразие только в p8, можно на p8 перевесить.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>170407</commentid>
    <comment_count>1</comment_count>
    <who name="Sergey Y. Afonin">asy</who>
    <bug_when>2018-04-14 12:41:17 +0300</bug_when>
    <thetext>Как вариант, действительно общеупотребительное вынести в какой-нибудь systemd-common.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>170432</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Shabalin">shaba</who>
    <bug_when>2018-04-17 01:50:46 +0300</bug_when>
    <thetext>systemd-utils и есть обще употребительное.
Добавление systemctl в этот пакет чисто техническое, и выстраданное. По другому уже не получается. Тяжело усидеть на двух стульях.
Решаемая проблема в следующем.
Все описанное ниже решалось для p8, и в sisyphus сделано для однообразия.
Старый rpm в p8 работает не так как в sisyphus. При обновлении новый rpm сначала устанавливает все пакеты и потом удаляет старые. Старый обрабатывает по одному - ставит новый и тут же удаляет старый. Отсюда получается проблема с библиотекой libsystemd-shared. Точнее с программами, которые её используют. Выглядит это следующим образом.
При dist-upgrade:
- обновляется libsystemd-shared и тут же удаляется старая.
- обновляются systemd-utils (systemd-tmpfiles, systemd-sysctl - они нужны и в SysV)
- обновляется udev. В случае SysV все хорошо, udev рестартуется с помощью service (init-скрипта). А вот в случае systemd рестартуется с помощью systemctl. Но в этот момент systemctl уже не рабочий, т.к. libsystemd-shared уже обновилась, а systemctl (который в пакете systemd) еще нет. Получается ошибка обновления и в системе остаются два пакета udev.
- обновляется systemd, в котором systemctl. Но уже поздно.

Т.е. надо добиться нужного порядка обновления, сначала systemd, а потом udev.
Но добавить зависимость в udev на systemd нельзя, потому что пользователям SysV прилетит systemd. Указанный Conflicts в udev на systemd &lt; %EVR никак не помогает, apt ведёт себя по-своему.

Самым надёжный способ гарантировать нужную libsystemd-shared для systemctl это разместить их в одном пакете. Но libsystemd-shared нужна и самому &quot;первому&quot; пакету systemd-utils. Поэтому и было принято решение перенести и libsystemd-shared, и systemctl в один пакет systemd-utils.

Есть еще один вариант, это объединить udev и systemd. Он бы меня вполне устроил, если бы нашёлся смелый мантейнер сопровождать специальный отдельный udev для SysV систем. Типа eudev в gentoo.

Другой вариант, новый rpm в p8. Но его даже не рассматриваем, это слишком большое изменение для стабильного бранча.

Journalctl перенес до кучи. Он точно не помешает, т.к. позволяет читать лог-файлы, скопированные с другого компьютера. А размер 63К не значительный.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>170435</commentid>
    <comment_count>3</comment_count>
    <who name="Sergey Y. Afonin">asy</who>
    <bug_when>2018-04-17 12:02:48 +0300</bug_when>
    <thetext>(In reply to comment #2)

&gt; Самым надёжный способ гарантировать нужную libsystemd-shared для systemctl это
&gt; разместить их в одном пакете.

А собрать systemctl статикой не вариант? Тем более, раз всё равно нельзя библиотеку обновить отдельно. И, кстати, а как с остальными приложениями, её использующими?

&gt; Другой вариант, новый rpm в p8. Но его даже не рассматриваем, это слишком
&gt; большое изменение для стабильного бранча.

Это да, точно не стоит. Хотя хочется иногда.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>173422</commentid>
    <comment_count>4</comment_count>
    <who name="Alexey Shabalin">shaba</who>
    <bug_when>2018-08-17 15:14:06 +0300</bug_when>
    <thetext>(В ответ на комментарий №3)
&gt; (In reply to comment #2)
&gt; 
&gt; &gt; Самым надёжный способ гарантировать нужную libsystemd-shared для systemctl это
&gt; &gt; разместить их в одном пакете.
&gt; 
&gt; А собрать systemctl статикой не вариант? Тем более, раз всё равно нельзя
&gt; библиотеку обновить отдельно. И, кстати, а как с остальными приложениями, её
&gt; использующими?
Можно, и так будет сделано (systemctl со статической libsystemd).
Беда в том, что сейчас уже в системе у пользователей не статический.
Поэтому прилетают новые библиотеки, и старый сразу становится не рабочим. А новый еще не установился, а его уже пытаются использовать (udev прилетает раньше и пытается перезапуститься).

&gt; 
&gt; &gt; Другой вариант, новый rpm в p8. Но его даже не рассматриваем, это слишком
&gt; &gt; большое изменение для стабильного бранча.
&gt; 
&gt; Это да, точно не стоит. Хотя хочется иногда.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>