Re: merged-/usr-via-symlinks vs a-different-layout
Guillem Jover writes:
> 3) Switching packages to the merged-/usr layout could have been
> accomplished automatically via debhelper for a coverage of around
> 99% (?) of the archive. With something along the lines of:
>
> ,---
> D=debian/tmp
> for d in /bin /sbin /lib; do
> for p in $(find $D/$d ! -type d); do
> b="${p##$D/}"
> m="$D/usr$b"
> if [ ! -e "$m" ]; then
> mkdir -p "$(dirname $m)"
> mv "$p" "$m"
> ln -s "${m##$D}" "$p"
> fi
> done
> done
> `---
>
> With the property that it would handle gracefully all cases were the
> maintainer has checked that no compat symlinks are required and has
> then progressively moved the pathname installation to their final
> destination under /usr.
That is not merged-/usr, but a different filesystem layout.
So, no, it is not possible to switch packages to merged-/usr this way.
> 4) Due to having to support the broken merged-/usr-via-symlinks
> deployment, when we want to move the contents of the binary
> packages to the merged-/usr layout, we require now to include tons
> of logic in (probably new) maintainer scripts, when we have been
> trying to remove them altogether. :( With even more files untracked
> by dpkg itself, bypassing the packaging system even more, when the
> compat symlinks could have been shipped in the binary packages.
As far as I know maintainer scripts are only required for moving files
from / to /usr when (a) a compat symlink is required, and (b) only when
both merged-/usr and non-merged-/usr is supported.
Ansgar
Reply to: