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

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

    <bug>
          <bug_id>36628</bug_id>
          
          <creation_ts>2019-04-19 12:50:52 +0300</creation_ts>
          <short_desc>Добавить поддержку %pretrans скриптов</short_desc>
          <delta_ts>2022-11-13 20:04:35 +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>rpm-build</component>
          <version>unstable</version>
          <rep_platform>all</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugzilla.altlinux.org/show_bug.cgi?id=43806</see_also>
    
    <see_also>https://bugzilla.altlinux.org/show_bug.cgi?id=34619</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P3</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>33095</blocked>
    
    <blocked>34231</blocked>
    
    <blocked>35492</blocked>
    
    <blocked>36676</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Gleb F-Malinovskiy">glebfm</reporter>
          <assigned_to name="placeholder@altlinux.org">placeholder</assigned_to>
          <cc>aen</cc>
    
    <cc>antohami</cc>
    
    <cc>arseny</cc>
    
    <cc>asy</cc>
    
    <cc>bircoph</cc>
    
    <cc>glebfm</cc>
    
    <cc>ildar</cc>
    
    <cc>imz</cc>
    
    <cc>iv</cc>
    
    <cc>lav</cc>
    
    <cc>ldv</cc>
    
    <cc>placeholder</cc>
    
    <cc>rider</cc>
    
    <cc>vseleznv</cc>
    
    <cc>vt</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>180998</commentid>
    <comment_count>0</comment_count>
    <who name="Gleb F-Malinovskiy">glebfm</who>
    <bug_when>2019-04-19 12:50:52 +0300</bug_when>
    <thetext>В rpm 4.0.4 проблему замены каталогов на симлинки и симлинков на каталоги можно было обойти %pre-скриптом.  rpm 4.x проверяет замену каталогов на симлинки заранее (до %pre) и отказывается начинать транзакцию.
Пользователи rpm 4.x для решения этой задачи используют %pretrans, который не реализован в нашем rpm-build.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181000</commentid>
    <comment_count>1</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2019-04-19 12:56:24 +0300</bug_when>
    <thetext>Так-то оно так, но гораздо лучше было бы реализовать корректную замену каталогов на симлинки и симлинков на каталоги непосредственно в rpm 4.x, тогда и грязные хаки в %pre/%pretrans были бы менее востребованы.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181195</commentid>
    <comment_count>2</comment_count>
    <who name="Sergey Y. Afonin">asy</who>
    <bug_when>2019-04-24 12:05:37 +0300</bug_when>
    <thetext>(In reply to comment #0)

&gt; В rpm 4.0.4 проблему замены каталогов на симлинки и симлинков на каталоги можно
&gt; было обойти %pre-скриптом.  rpm 4.x проверяет замену каталогов на симлинки
&gt; заранее (до %pre) и отказывается начинать транзакцию.

О как. То есть, старое решение из спека в сизифных пакетах можно смело убирать, по-старому уже и не вернётся? В принципе, если изменение было в p8, или ранее, то в Сизифе может и не надо, но в будущем-то тоже явно необходимость у кого-то возникнет...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181198</commentid>
    <comment_count>3</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2019-04-24 13:08:02 +0300</bug_when>
    <thetext>не надо убирать, не спешите. 
Дима как раз пишет про то, что возможен алгоритм обновления с помощью старого rpm.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>215602</commentid>
    <comment_count>4</comment_count>
    <who name="Антон Мидюков">antohami</who>
    <bug_when>2022-10-05 05:30:24 +0300</bug_when>
    <thetext>Проблема добралась до пакета, который есть почти у каждого:
https://bugzilla.altlinux.org/43806

О резоне добавления %pretrans написал здесь:
https://bugzilla.altlinux.org/show_bug.cgi?id=34619#c30</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>215622</commentid>
    <comment_count>5</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2022-10-05 14:57:35 +0300</bug_when>
    <thetext>(In reply to Dmitry V. Levin from comment #1)
&gt; Так-то оно так, но гораздо лучше было бы реализовать корректную замену
&gt; каталогов на симлинки и симлинков на каталоги непосредственно в rpm 4.x,
&gt; тогда и грязные хаки в %pre/%pretrans были бы менее востребованы.

Так-то оно так, но, к сожалению, не всё, что лучше, реализуемо за конечное время.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>215710</commentid>
    <comment_count>6</comment_count>
    <who name="Vitaly Chikunov">vt</who>
    <bug_when>2022-10-07 22:01:46 +0300</bug_when>
    <thetext>(In reply to Dmitry V. Levin from comment #1)
&gt; корректную замену каталогов на симлинки и симлинков на каталоги
&gt; непосредственно в rpm 4.x

1. В апстриме это не реализовано?
2. Это не решаемая задача или простая задача, которую всем лень сделать?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>215711</commentid>
    <comment_count>7</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2022-10-07 22:51:35 +0300</bug_when>
    <thetext>(In reply to Vitaly Chikunov from comment #6)
&gt; (In reply to Dmitry V. Levin from comment #1)
&gt; &gt; корректную замену каталогов на симлинки и симлинков на каталоги
&gt; &gt; непосредственно в rpm 4.x
&gt; 
&gt; 1. В апстриме это не реализовано?

Нет, в апстриме это не реализовано, см. handleRemovalConflict().

&gt; 2. Это не решаемая задача или простая задача, которую всем лень сделать?

Видимо, это очень сложная задача.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>215715</commentid>
    <comment_count>8</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2022-10-07 23:15:42 +0300</bug_when>
    <thetext>(In reply to Dmitry V. Levin from comment #7)
&gt; (In reply to Vitaly Chikunov from comment #6)
&gt; &gt; 2. Это не решаемая задача или простая задача, которую всем лень сделать?
&gt; 
&gt; Видимо, это очень сложная задача.

Даже постановка задачи является непростой задачей.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>217275</commentid>
    <comment_count>9</comment_count>
    <who name="Repository Robot">repository-robot</who>
    <bug_when>2022-11-13 18:58:40 +0300</bug_when>
    <thetext>rpm-build-4.0.4.185-alt1 -&gt; sisyphus:

 Tue Oct 11 2022 Vitaly Chikunov &lt;vt@altlinux&gt; 4.0.4.185-alt1
 - Backport packaging &apos;%pretrans&apos; Lua scriptlets (ALT#36628).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>217278</commentid>
    <comment_count>10</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2022-11-13 19:57:56 +0300</bug_when>
    <thetext>Виталий, спасибо! Уже можно использовать ? Есть примеры ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>217279</commentid>
    <comment_count>11</comment_count>
    <who name="Vitaly Chikunov">vt</who>
    <bug_when>2022-11-13 20:04:35 +0300</bug_when>
    <thetext>(In reply to Anton Farygin from comment #10)
&gt; Виталий, спасибо! Уже можно использовать ? Есть примеры ?

Можно попробовать. Примеры тут

https://docs.fedoraproject.org/en-US/packaging-guidelines/Directory_Replacement/</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>