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

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

    <bug>
          <bug_id>39444</bug_id>
          
          <creation_ts>2020-12-16 01:28:10 +0300</creation_ts>
          <short_desc>[PATHCH] [RFC] Собрать systemd-sysctl, systemd-tmpfiles и systemd-modules-load без лишних зависимостей</short_desc>
          <delta_ts>2021-02-04 20:37:20 +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>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P5</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Gleb F-Malinovskiy">glebfm</reporter>
          <assigned_to name="Alexey Shabalin">shaba</assigned_to>
          <cc>glebfm</cc>
    
    <cc>ldv</cc>
    
    <cc>legion</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>194930</commentid>
    <comment_count>0</comment_count>
    <who name="Gleb F-Malinovskiy">glebfm</who>
    <bug_when>2020-12-16 01:28:10 +0300</bug_when>
    <thetext>Периодически люди страдают, что в их системы с sysvinit (через используемые в startup программы) приезжает целый libsystemd-shared со всеми его зависимостями.

Есть два патча:
http://git.altlinux.org/people/glebfm/packages/..git?p=systemd.git;h=refs/heads/patch-link-some-progs-with-libsystemd-statically

Этот патч сделает эти три программы гораздо больше в смысле размера, но их (по идее) можно будет использовать и с systemd и с sysvinit.


http://git.altlinux.org/people/glebfm/packages/..git?p=systemd.git;h=refs/heads/patch-add-standalone-systemd-sysctl-and-systemd-modules-load

А этот патч (применяется с -Dstandalone-binaries=true) позволяет сделать отдельные версии этих трёх программ (с суффиксом .standalone) чтобы их можно было запаковать отдельно.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>194931</commentid>
    <comment_count>1</comment_count>
    <who name="Gleb F-Malinovskiy">glebfm</who>
    <bug_when>2020-12-16 01:37:34 +0300</bug_when>
    <thetext>(Ответ для Gleb F-Malinovskiy на комментарий #0)
&gt; Есть два патча:

У обоих идея одна и та же -- собрать эти программы с частями systemd статически, а с остальными библиотеками, как положено, динамически.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195000</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Shabalin">shaba</who>
    <bug_when>2020-12-16 20:14:39 +0300</bug_when>
    <thetext>Т.е. нужны отдельные:
- systemd-tmpfiles.standalone
- systemd-sysctl.standalone
- systemd-modules-load.standalone
Я правильно понял?

Первый патч я немного переделаю, по аналогии с link-systemctl-shared.
Только у меня сомнение, что первый патч вообще нужен, если для sysvinit будут подготовлены отдельные *.standalone. systemctl статический нужен потому, что вовремя обновления в системе на некоторое время могут оказаться libsystemd и systemd разных версий, а %post скрипты дергают systemctl, который в этот момент может оказаться нерабочим(если будет shared).
А вот systemd-sysctl, systemd-modules-load, systemd-tmpfiles вроде дергают из %post, хотя могут конечно. Особенно systemd-tmpfiles.

PS: еще надо filetrigger переписать, что бы на sysvinit использовать *.standalone утилиты.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195001</commentid>
    <comment_count>3</comment_count>
    <who name="Gleb F-Malinovskiy">glebfm</who>
    <bug_when>2020-12-16 20:28:29 +0300</bug_when>
    <thetext>(Ответ для Alexey Shabalin на комментарий #2)
&gt; Т.е. нужны отдельные:
&gt; - systemd-tmpfiles.standalone
&gt; - systemd-sysctl.standalone
&gt; - systemd-modules-load.standalone
&gt; Я правильно понял?
&gt; 
&gt; Первый патч я немного переделаю, по аналогии с link-systemctl-shared.
&gt; Только у меня сомнение, что первый патч вообще нужен, если для sysvinit
&gt; будут подготовлены отдельные *.standalone.

Моя мысль была в том, что эти патчи взаимоисключающие.
Т.е. либо собрать все эти программы статически (и не плодить вторых экземпляров), либо собрать вторые экземпляры, а обычные программы оставить собранными с libsystemd-shared .</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195027</commentid>
    <comment_count>4</comment_count>
    <who name="Alexey Shabalin">shaba</who>
    <bug_when>2020-12-17 16:03:30 +0300</bug_when>
    <thetext>В сизиф ушла новая сборка systemd-247.2-alt1, где добавлены отдельные пакеты:
- systemd-modules-load-standalone
- systemd-sysctl-standalone
- systemd-sysusers-standalone
- systemd-tmpfiles-standalone

Если вам будет удобнее все эти команды в одном пакете, дайте знать, переделаю.

Предлагаю sysvinit адаптировать для их использования.
Тут надо подумать как лучше сделать, но думаю пользователи и разработчики sysvinit лучше справятся.

1) в fedora в rpm есть интересная фишка - RemovePathPostfixes: .standalone
Если есть возможность добавить её в наш rpm, то я адаптирую standalone пакеты под неё.

2) Либо в rc.sysinit на использовать *.standalone бинарники

3) Либо нужны симлинки (типа systemd-sysctl -&gt; systemd-sysctl.standalone), тогда rc.sysinit можно не трогать.

4) так же не забудьте про filetrigger, которые сейчас есть в systemd-utils

5) после перевода sysvinit на использование standalone пакетов, я планирую смержить systemd-utils с основным пакетом. В отдельном виде он для sysvinit больше не нужет.


PS: это уже другая тема, её наверно стоит обсудить в рассылке.
Идея в том, что бы перевести создание системных пользователей в rpm пакетах на использование systemd-sysuser.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195902</commentid>
    <comment_count>5</comment_count>
    <who name="Alexey Gladkov">legion</who>
    <bug_when>2021-02-01 14:13:24 +0300</bug_when>
    <thetext># rpm --lastchange startup
* Ср янв 27 2021 Alexey Gladkov &lt;legion@altlinux.ru&gt; 0.9.9.11-alt1
- Use standalone versions of systemd utilities.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>