On 28/12/15 at 14:24 +0100, Bastien ROUCARIES wrote: > *On Sat, Dec 26, 2015 at 12:20 PM, Lucas Nussbaum <lu...@debian.org> wrote: > > Hi, > > > > Following my blog post yesterday with updated graphs about Debian > > packaging evolution[1], I prepared lists of packages for each kind of > > "outdatedness". Of course not all practices highlighted below are > > deprecated, and there are good reasons to continue to do some of them. > > But still, given that they all represent a clear minority of packages, I > > thought that it would be useful to list the related packages. (I > > honestly didn't know if some of my packages would show up in the lists!) > > > > [1] http://www.lucas-nussbaum.net/blog/?p=891 > > > > The lists are available at https://people.debian.org/~lucas/qa-20151226/ > > > > I also pushed them to alioth, so you can either do: > > ssh people.debian.org 'grep -A 10 YOURNAME > > ~lucas/public_html/qa-20151226/*ddlist' > > or: > > ssh alioth.debian.org 'grep -A 10 YOURNAME ~lucas/qa-20151226/*ddst' > > > > the meaning of the lists is: > > Could you open a bug under lintian, with the code you use (snippet). I > will add pedantic warning
Actually, adding checks to lintian for that kind of things was discussed a long time ago, and was declined. That's why I did it outside lintian. But I'm very happy that you are willing to add checks for this stuff to lintian! :-) My (quick and dirty) code is at http://anonscm.debian.org/cgit/collab-qa/dhistory.git/tree/parse.rb#n146 > > qa-helper_classic_debhelper.txt (3647 packages) > > > > The package is still using "classic" debhelper (no dh, no CDBS). > > How do you check ? The relevant code is: # helper res['pkghelper'] = [] if dsc =~ /debhelper/ or File::exists?("#{sdir}/debian/compat") res['pkghelper'] << 'debhelper' if rules =~ /\sdh\s/ res['pkghelper'] << 'dh' end if dsc =~ /cdbs/ or rules =~ /cdbs/ res['pkghelper'] << 'cdbs' end else res['pkghelper'] << 'no-debhelper' end > > qa-helper_not_debhelper.txt (144 packages) > > > > The package is not using debhelper (nor dh, nor CDBS). > > How do you check ? see above > > qa-patch_dpatch.txt (170 packages) > > > > The package is using dpatch. > > How do you check ? Relevant code: # patch system res['patch'] = [] if res['format'] == '3.0 (quilt)' res['patch'] << '3.0 (quilt)' elsif res['format'] == '1.0' if File::exists?("#{sdir}/debian/patches/series") and rules =~ /quilt/ res['patch'] << 'quilt' end if File::exists?("#{sdir}/debian/patches/00list") and rules =~ /dpatch/ res['patch'] << 'dpatch' end if rules =~ /simple-patchsys.mk/ res['patch'] << 'simple-patchsys' end if res['patch'] == [] and File::exists?("#{sdir}/debian/patches/") res['patch'] << 'other' end if diffgz and `zcat #{diffgz} | lsdiff --strip 1 | grep -v ^debian`.chomp != "" res['patch'] << 'modified-files-outside-debian' end end > > qa-patch_modified-files-outside-debian.txt (1156 packages) > > > > The package has modified files outside the debian/ directory (not tracked > > using patches). > > How do you check ? See above > > qa-patch_more_than_one.txt (201 packages) > > > > The package uses more than one "patch system". In most cases, it means > > that > > the package uses a patch system, but also has files modified directly > > outside > > of debian/. > > > > qa-patch_other.txt (51 packages) > > How do you check ? For "more_than_one", the trick is that the above code can match several patch systems. > > The package has patches, but uses an unidentified/unknown patch system. > > > > qa-patch_quilt.txt (445 packages) > > > > The package uses quilt (with 1.0 format, not 3.0 format). > > How do you check ? Depend on quilt ? No: if File::exists?("#{sdir}/debian/patches/series") and rules =~ /quilt/ but "debian/patches/series exists + depends on quilt" would be a more accurate check. > > qa-patch_simple-patchsys.txt (129 packages) > > > > The package uses simple-patchsys. > > How do you check ? if rules =~ /simple-patchsys.mk/ > > qa-vcs_but_not_git_or_svn.txt (290 packages) > > > > The package is maintained using a VCS, which is not either Git or SVN. > > This one is really bellow pedantic... > > > qa-vcs_more_than_one_declared_vcs.txt (1 package) > > > > The package declares more than one VCS. > > > How do you check ? Relevant code: res['vcs'] = control.lines.grep(/^(XS-)?Vcs-/i).map { |l| l.chomp.gsub(/^(XS-)?Vcs-([^:]+):.*$/i, '\2').downcase }.uniq - ['browser', 'browse'] (I will open a lintian bug pointing to that discussion) Lucas