Package: lintian Version: 2.68.0 Hi,
lintian on aptitude-robot emits (beyond others) these two tags of which I'm not sure if they're true or false positives: W: aptitude-robot: uses-dpkg-database-directly etc/init.d/aptitude-robot W: aptitude-robot: uses-dpkg-database-directly usr/sbin/aptitude-robot-session Actually it is wrong that these scripts access dpkg's _database_. They only access respectively check for other accesses of /var/lib/dpkg/lock: […]/aptitude-robot → git grep /var/lib/dpkg aptitude-robot-session:if fuser -s /var/lib/dpkg/lock ; then debian/init.d: if fuser -s /var/lib/dpkg/lock ; then […]/aptitude-robot → So my question (mostly to Guillem, X-Debbugs-CC'ed): Does this file really belong to the "internal interface", "the entire dpkg database, its layout and files"? If yes, how do I check with dpkg's tools if dpkg's database is currently locked or more generally in use? (And maybe a hint in the lintian tag description would be nice. :-) If no, lintian should continue check for "/var/lib/dpkg" in code, but ignore all occurrences of "/var/lib/dpkg/lock" before emitting the tag. Depending on the answer, please either close this "bug report" or adjust the severity accordingly. TIA! -- System Information: Debian Release: bullseye/sid APT prefers unstable APT policy: (990, 'unstable'), (600, 'testing'), (500, 'unstable-debug'), (500, 'buildd-unstable'), (110, 'experimental'), (1, 'experimental-debug'), (1, 'buildd-experimental') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 5.5.0-1-amd64 (SMP w/4 CPU cores) Kernel taint flags: TAINT_FIRMWARE_WORKAROUND, TAINT_UNSIGNED_MODULE Locale: LANG=C.UTF-8, LC_CTYPE=C.UTF-8 (charmap=UTF-8), LANGUAGE=C.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: sysvinit (via /sbin/init) LSM: AppArmor: enabled Versions of packages lintian depends on: ii binutils 2.34-6 ii bzip2 1.0.8-2 ii diffstat 1.63-1 ii dpkg 1.19.7 ii dpkg-dev 1.19.7 ii file 1:5.38-4 ii gettext 0.19.8.1-10 ii gpg 2.2.20-1 ii intltool-debian 0.35.0+20060710.5 ii libapt-pkg-perl 0.1.36+b3 ii libarchive-zip-perl 1.68-1 ii libcapture-tiny-perl 0.48-1 ii libclass-xsaccessor-perl 1.19-3+b3 ii libclone-perl 0.45-1 ii libcpanel-json-xs-perl 4.19-1 ii libdevel-size-perl 0.83-1+b1 ii libdigest-sha-perl 6.02-1+b2 ii libdpkg-perl 1.19.7 ii libemail-valid-perl 1.202-1 ii libfile-basedir-perl 0.08-1 ii libfile-find-rule-perl 0.34-1 ii libfont-ttf-perl 1.06-1 ii libhtml-parser-perl 3.72-5 ii libio-async-loop-epoll-perl 0.20-1 ii libio-async-perl 0.75-1 ii libjson-maybexs-perl 1.004000-1 ii liblist-compare-perl 0.53-1 ii liblist-moreutils-perl 0.416-1+b5 ii libmoo-perl 2.004000-1 ii libmoox-aliases-perl 0.001006-1 ii libnamespace-clean-perl 0.27-1 ii libpath-tiny-perl 0.112-1 ii libsereal-decoder-perl 4.011+ds-1 ii libsereal-encoder-perl 4.011+ds-1 ii libtext-levenshtein-perl 0.13-1 ii libtimedate-perl 2.3200-1 ii libtry-tiny-perl 0.30-1 ii libtype-tiny-perl 1.010001-1 ii libunicode-utf8-perl 0.62-1+b1 ii liburi-perl 1.76-2 ii libxml-libxml-perl 2.0134+dfsg-2 ii libxml-writer-perl 0.625-1 ii libyaml-libyaml-perl 0.81+repack-1 ii man-db 2.9.1-1 ii patchutils 0.3.4-2+b1 ii perl [libdigest-sha-perl] 5.30.0-10 ii t1utils 1.41-4 ii xz-utils 5.2.4-1+b1 Versions of packages lintian recommends: ii libperlio-gzip-perl 0.19-1+b6 Versions of packages lintian suggests: ii binutils-multiarch 2.34-6 ii libtext-template-perl 1.58-1 -- no debconf information