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

Reply via email to