Hi Marco, On Thu, Jan 04, 2024 at 05:27:39PM +0100, Marco d'Itri wrote: > Please just describe in detail why these changes will be needed.
The bootstrap protocol is to unpack all relevant packages and then configure them. deboostrap currently deviates from the bootstrap protocol in performing a merge, but DEP17 will revert eventually. Let us assume that coreutils moves /bin/cp to /usr/bin/cp. Then a bootstrapping tool unpacks all relevant binary packages, but does not perform any kind of merging. The init-system-helpers dependency on usrmerge | usr-is-merge causes usrmerge to be installed. usrmerge.postinst runs convert-usrmerge on an unmerged tree. This will call "ldd /bin/cp", but "/bin/cp" does not exist and convert-usrmerge fails. This is bad. The patch makes usrmerge work in a scenario where cp has been moved to /usr/bin/cp already. This change is only useful very temporarily. The plan goes on to change base-files to install the aliasing symbolic links. Then, base-files will provide usr-is-merged and usrmerge will no longer be installed by bootstrapping tools. For changing base-files we need to do a coordinated upload of involved packages. In adding this change to convert-usrmerge, we reduce the packages involved and can convert coreutils at an earlier time. The change about restorecon is cautious and not strictly necessary. I do not see a scenario where this should practically make a difference. Helmut