Debian packaging practices evolved over time. This page provides some historical perspective about how those practices evolved. This data was generated with a sligthly customized version of lintian, a rather basic script, and data from snapshot.debian.org starting in 2005. This is a static page, last refreshed in July 2019. If it is not fresh enough, nag the author!
All graphs are for Debian unstable (main only, not contrib/non-free), and provide the number of packages in each case over time. Vertical lines indicate release dates.
How you can help
- Provide ideas for more graphs. The current to-do list is:
- co-maintenance and teams
- init scripts vs systemd units vs both
- patches and tags (DEP-3)
- Make the necessary changes to lintian so that in can report information about the above stuff.
- Help include the lintian modifications into standard lintian.
That's #926766 (debhelper compat level), #926767 (patch system), #926768 (VCS and VCS URI). It would also be helpful to fix #926799 (lintian: hangs when dpkg-source fails).
- Hack on the data collection itself (there are development instructions in README.md)
Contact: Lucas Nussbaum <email@example.com>
Debhelper compatibility level
Source formats and patch systems
Version Control System
Copyright format: machine-readable (DEP-5) vs old format
Autopkgtest test suite
Inspired by code smells (any characteristic in the source code of a program that possibly indicates a deeper problem), this page also provides a list of packages that should be refreshed to newer standards.
This is subjective (and feel free to criticize, but I might feel free to ignore critics :-) ). Here is the logic:
- Debhelper compatibility level: on 2019-04-01, 87% of packages in unstable have a debhelper compatibility level of 9 or higher (9: 31%; 10: 18%; 11: 33%; 12: 5%). Therefore, using a debhelper compatibility level lower than 9 is a smell.
- Build system: on 2019-04-01, 85% of packages in unstable use dh (cdbs: 7.3%; debhelper: 6.6%; dhmk: 0.8%; no helper at all: 0.4%). So, not using dh is a smell.
- Source format and patch system: on 2019-04-01, 95% of packages in unstable use 3.0 (quilt) (92.8%) or 3.0 (native) (2.0%). Therefore, not using 3.0 is a smell
- VCS: On 2019-04-01, 84.5% of packages use Git, 12.8% use no VCS at all, and 2.7% use another VCS. 52.7% use Git on Salsa, 27.8% use Git on Alioth (and will likely move to Salsa), while 4% use another Git platform. Therefore, not using Git and Salsa is a smell (except if the package is using dgit).
- Overall, 67.5% of packages use a debhelper compatibility level >= 9, dh, 3.0 (native) or 3.0 (quilt), Git, and either Salsa or Alioth.
List of packages with smells:
Contact: Lucas Nussbaum <firstname.lastname@example.org>. See Introduction for pointers to source code.