Bug 49472

Summary: Migrate /sbin/ifup correctly
Product: Sisyphus Reporter: Arseny Maslennikov <arseny>
Component: usrmerge-hier-convertAssignee: Arseny Maslennikov <arseny>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: major    
Priority: P5 CC: aen, arseny, glebfm, ldv, obirvalger, placeholder, vt
Version: unstable   
Hardware: all   
OS: Linux   
Bug Depends on:    
Bug Blocks: 46738    

Description Arseny Maslennikov 2024-02-21 17:07:19 MSK
В репозитории встречается следующее:
  /sbin/ifup -> ../etc/net/scripts/ifup

Если наивно переместить симлинк в /usr/sbin/ifup, он будет разрешаться не в то, во что нужно. При миграции установленной системы ссылку нужно пересоздавать заново.

В указанном примере это означает, что автоматически должна появляться ссылка:
  /usr/sbin/ifup -> ../../etc/net/scripts/ifup
Comment 1 Arseny Maslennikov 2024-02-21 17:10:01 MSK
Алгоритм кажется понятным:
— вычислить путь, по которому смотрит ссылка напрямую (не проводить каноникализацию, а только первый её шаг);
— сделать относительную ссылку в новом месте, смотрящую по этому пути.
— удалить старую.
Comment 2 Repository Robot 2024-04-10 00:25:07 MSK
usrmerge-0.5-alt1 -> sisyphus:

 Tue Apr 09 2024 Arseny Maslennikov <arseny@altlinux> 0.5-alt1
 - 0.4 -> 0.5; see commit history for details.
   Notably:
   + Taught hier-convert to fix symlinks in unmerged dirs pointing
     to a location which usrmerge maps to itself. (Closes: 49472)
 - Introduced new subpackages:
   + usrmerge-block;
   + usrmerge-ensure.