Differences between revisions 1 and 18 (spanning 17 versions)
Revision 1 as of 2015-12-27 12:28:55
Size: 1595
Editor: ?Marcod'Itri
Comment:
Revision 18 as of 2021-01-15 12:42:26
Size: 2614
Editor: PaulWise
Comment: dpkg merged-/usr
Deletions are marked like this. Additions are marked like this.
Line 14: Line 14:
[[https://anonscm.debian.org/cgit/users/md/usrmerge.git/plain/debian/README.Debian|usrmerge package FAQ]]. [[https://salsa.debian.org/md/usrmerge/raw/master/debian/README.Debian|usrmerge package FAQ]], another highly recommended read is <<mid(20181121140542.GA31273@espresso.pseudorandom.co.uk)>>
Line 20: Line 20:
It does not need to be, but the other major Linux distributions already did. It does not need to be, but some other Linux distributions have done it.
Line 25: Line 25:
 * Merge the lintian check for conflicting files (Bug:767754).
 * Push forward the policy proposal to disallow conflicting files (Bug:759492).
 * Add merged /usr support to the installer (but until all the conflicting files bugs are fixed, DebPkg:usrmerge will still need to be installed).
 * --(Merge the lintian checks for conflicting files (Bug:767754).)--
 * --(Push forward the policy proposal to disallow conflicting files (Bug:759492).)--
 * --(Add merged /usr support to the installer (Bug:810301). (But until all the conflicting files bugs are fixed, DebPkg:usrmerge will still need to be installed).)--
 * --(Enable merged /usr by default in the installer (Bug:839046).)--
 * Recommend installing `usrmerge` on upgrade (Bug:841666)

== Resources for developers ==

=== Conflicting files ===
Packages which provide compatibility symlinks must manage them in the maintainer scripts.

The packages currently in the archive use code like:

{{{
# postinst
if [ "$1" = 'configure' -a ! -e '/usr/bin/which' ]; then
  ln -s /bin/which /usr/bin/which
fi
}}}

{{{
# postrm
if [ "$1" = 'remove' -a -L '/usr/bin/which' ]; then
  rm /usr/bin/which
fi
}}}

=== Adoption rate ===

Merged /usr has been the default since DebianPkg:debootstrap 1.0.85, reverted in 1.0.87 and re-enabled in 1.0.102.

See [[https://qa.debian.org/popcon-graph.php?packages=usrmerge&show_installed=on&from_date=2016-01-01&beenhere=1|popcon]] for upgrades of older systems.
Line 30: Line 59:
 * [[Teams/Dpkg/MergedUsr|dpkg merged-/usr]]

Translation(s): none


The Debian /usr Merge

This page tracks Debian support for the merged /usr directories scheme, i.e. the /{bin,sbin,lib}/ directories becoming symbolic links to /usr/{bin,sbin,lib}/.

The usrmerge package will convert the system it is installed on.

FAQ

For more information, please refer to the usrmerge package FAQ, another highly recommended read is <20181121140542.GA31273@espresso.pseudorandom.co.uk>

Is this about merging /usr/bin/ and /usr/sbin/?

No, there are no plans to do that.

Will switching to a merged /usr be mandatory?

It does not need to be, but some other Linux distributions have done it.

TODO

  • Make more people test a merged /usr by installing usrmerge.

  • Fix the packages with conflicting files.

  • Merge the lintian checks for conflicting files (767754).

  • Push forward the policy proposal to disallow conflicting files (759492).

  • Add merged /usr support to the installer (810301). (But until all the conflicting files bugs are fixed, usrmerge will still need to be installed).

  • Enable merged /usr by default in the installer (839046).

  • Recommend installing usrmerge on upgrade (841666)

Resources for developers

Conflicting files

Packages which provide compatibility symlinks must manage them in the maintainer scripts.

The packages currently in the archive use code like:

# postinst
if [ "$1" = 'configure' -a ! -e '/usr/bin/which' ]; then
  ln -s /bin/which /usr/bin/which
fi

# postrm
if [ "$1" = 'remove' -a -L '/usr/bin/which' ]; then
  rm /usr/bin/which
fi

Adoption rate

Merged /usr has been the default since debootstrap 1.0.85, reverted in 1.0.87 and re-enabled in 1.0.102.

See popcon for upgrades of older systems.

See also