Package: smartmontools
Version: 7.1-1
Severity: importantUsertags: varmisuse

The current system of shipping drivedb.h in /var has some downsides:

 * debsums will complain if the user has ever ran update-smart-drivedb
 * if smartmontools is updated to a newer Debian revision after the
   user ran update-smart-drivedb, then the user's updates will be
   overwritten and reverted by the update of the package.

Please install drivedb.h to /usr and then add code to the postinst that
will copy the /usr drivedb.h into /var when the /var drivedb.h is
either missing or is an older copy of the file.

Unfortunately, while the package contains a drivedb.h with a valid
Subversion $Id value, the file downloaded by update-smart-drivedb does
not contain a valid version number in the $Id value, so it will be hard
to determine if the downloaded file is newer or older than the /usr
drivedb.h. Looking at the code this seems to be because the default URL
does not contain the $Id header and only the "sf" and "trac" URLs do
contain correct $Id headers. Since git doesn't support $Id substitution
it would probably be a good idea for upstream to add a version number
to the file that isn't dependent on Subversion $Id substitution, which
could then be used for fixing this issue.

   $ sudo apt -qq reinstall smartmontools

   $ grep -F '$Id' /var/lib/smartmontools/drivedb/drivedb.h
     { "$Id: drivedb.h 5008 2019-12-28 21:40:37Z chrfranke $",
   
   $ sudo rm -f /var/lib/smartmontools/drivedb/drivedb.h
   
   $ sudo update-smart-drivedb
   /var/lib/smartmontools/drivedb/drivedb.h updated from 
branches/RELEASE_7_0_DRIVEDB
   
   $ grep -F '$Id' /var/lib/smartmontools/drivedb/drivedb.h
     { "$Id$",
   
-- System Information:
Debian Release: bullseye/sid
  APT prefers testing-debug
  APT policy: (900, 'testing-debug'), (900, 'testing'), (800, 
'unstable-debug'), (800, 'unstable'), (790, 'buildd-unstable'), (700, 
'experimental-debug'), (700, 'experimental'), (690, 'buildd-experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 5.9.0-4-amd64 (SMP w/4 CPU threads)
Locale: LANG=en_AU.utf8, LC_CTYPE=en_AU.utf8 (charmap=UTF-8),
LANGUAGE=en_AU:en
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
   
Versions of packages smartmontools depends on:
ii  debianutils          4.11.2
ii  libc6                2.31-5
ii  libcap-ng0           0.7.9-2.2
ii  libgcc-s1 [libgcc1]  10.2.0-19
ii  libselinux1          3.1-2+b1
ii  libstdc++6           10.2.0-19
ii  libsystemd0          246.6-4
ii  lsb-base             11.1.0

smartmontools recommends no packages.

Versions of packages smartmontools suggests:
ii  bsd-mailx [mailx]  8.1.2-0.20180807cvs-2
ii  curl               7.72.0-1
ii  gpg                2.2.20-1
pn  gsmartcontrol      <none>
ii  lynx               2.9.0dev.6-1
ii  smart-notifier     0.28-6
ii  wget               1.20.3-1+b3

-- no debconf information

-- debsums errors found:
debsums: changed file /var/lib/smartmontools/drivedb/drivedb.h (from 
smartmontools package)

-- 
bye,
pabs

https://wiki.debian.org/PaulWise

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to