[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1006859: lintian: warn about devhelp version 1 files



Package: lintian
Version: 2.114.0
Severity: wishlist

Please complain about files that are devhelp version 1 files, since
that version is deprecated and devhelp suggests that support for it
will be removed at some point.

   $ devhelp 
   
   (devhelp:2215391): devhelp-WARNING **: 21:28:24.414: The file
   'file:///usr/share/devhelp/books/python3.9/python3.9.devhelp.gz'
   uses the Devhelp index file format version 1, which is deprecated. A
   future version of Devhelp may remove the support for the format
   version 1. The index file should be ported to the Devhelp index file
   format version 2.

Reading the code, it appears the file name simply encodes the format
version, *.devhelp and *.devhelp.gz are version 1, while *.devhelp2 and
*.devhelp2.gz  are version two.

So lintian needs to complain about files in these paths, but often the
subdirectory of the books directory is instead a symlink to elsewhere,
so lintian should *safely* follow any symlinks in the books directory:

   /usr/share/devhelp/books/*/*.devhelp
   /usr/share/devhelp/books/*/*.devhelp.gz
   
Here are the relevant parts of the code:

   typedef enum {
           FORMAT_VERSION_1,
   
           /* The main change is that version 2 uses <keyword> instead of
            * <function>.
            */
           FORMAT_VERSION_2
   } FormatVersion;
   
   typedef struct {
   ...
           FormatVersion version;
   ...
   } DhParser;
   
   ...
   
   gboolean
   _dh_parser_read_file (GFile   *index_file,
                         gchar  **book_title,
                         gchar  **book_id,
                         gchar  **book_language,
                         GNode  **book_tree,
                         GList  **all_links,
                         GError **error)
   {
           DhParser *parser;
   
   ...
   
           parser = g_new0 (DhParser, 1);
   
           index_file_uri = g_file_get_uri (index_file);
   
           if (g_str_has_suffix (index_file_uri, ".devhelp2")) {
                   parser->version = FORMAT_VERSION_2;
                   gz = FALSE;
           } else if (g_str_has_suffix (index_file_uri, ".devhelp")) {
                   parser->version = FORMAT_VERSION_1;
                   gz = FALSE;
           } else if (g_str_has_suffix (index_file_uri, ".devhelp2.gz")) {
                   parser->version = FORMAT_VERSION_2;
                   gz = TRUE;
           } else {
                   parser->version = FORMAT_VERSION_1;
                   gz = TRUE;
           }
   
   ...
   
           /* At this point we know that the file exists, the G_IO_ERROR_NOT_FOUND
            * has been catched earlier. So print warning.
            */
           if (parser->version == FORMAT_VERSION_1)
                   g_warning ("The file '%s' uses the Devhelp index file format version 1, "
                              "which is deprecated. A future version of Devhelp may remove "
                              "the support for the format version 1. The index file should "
                              "be ported to the Devhelp index file format version 2.",
                              index_file_uri);
   
-- System Information:
Debian Release: bookworm/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.16.0-3-amd64 (SMP w/8 CPU threads; PREEMPT)
Kernel taint flags: TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
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 lintian depends on:
ii  binutils                        2.38-2
ii  bzip2                           1.0.8-5
ii  diffstat                        1.64-1
ii  dpkg                            1.21.1
ii  dpkg-dev                        1.21.1
ii  file                            1:5.41-2
ii  gettext                         0.21-4
ii  gpg                             2.2.27-3
ii  intltool-debian                 0.35.0+20060710.5
ii  libapt-pkg-perl                 0.1.40+b1
ii  libarchive-zip-perl             1.68-1
ii  libcapture-tiny-perl            0.48-1
ii  libclass-xsaccessor-perl        1.19-3+b8
ii  libclone-perl                   0.45-1+b2
ii  libconfig-tiny-perl             2.28-1
ii  libconst-fast-perl              0.014-1.1
ii  libcpanel-json-xs-perl          4.27-1+b1
ii  libdata-dpath-perl              0.58-1
ii  libdata-validate-domain-perl    0.10-1.1
ii  libdata-validate-uri-perl       0.07-2
ii  libdevel-size-perl              0.83-1+b3
pn  libdigest-sha-perl              <none>
ii  libdpkg-perl                    1.21.1
ii  libemail-address-xs-perl        1.04-1+b4
ii  libencode-perl                  3.16-1+b1
ii  libfile-basedir-perl            0.09-1
ii  libfile-find-rule-perl          0.34-1
ii  libfont-ttf-perl                1.06-1.1
ii  libhtml-html5-entities-perl     0.004-1.1
ii  libio-interactive-perl          1.023-1
ii  libio-prompt-tiny-perl          0.003-1
ii  libipc-run3-perl                0.048-2
ii  libjson-maybexs-perl            1.004003-1
ii  liblist-compare-perl            0.55-1
ii  liblist-someutils-perl          0.58-1
ii  liblist-utilsby-perl            0.11-1
ii  libmoo-perl                     2.005004-3
ii  libmoox-aliases-perl            0.001006-1.1
ii  libnamespace-clean-perl         0.27-1
ii  libpath-tiny-perl               0.122-1
ii  libperlio-gzip-perl             0.19-1+b8
ii  libperlio-utf8-strict-perl      0.009-1+b1
ii  libproc-processtable-perl       0.634-1+b1
ii  libsereal-decoder-perl          4.023+ds-1
ii  libsereal-encoder-perl          4.023+ds-1
ii  libsort-versions-perl           1.62-1
ii  libsyntax-keyword-try-perl      0.27-1
ii  libterm-readkey-perl            2.38-1+b3
ii  libtext-glob-perl               0.11-2
ii  libtext-levenshteinxs-perl      0.03-4+b9
ii  libtext-markdown-discount-perl  0.13-1+b1
ii  libtext-xslate-perl             3.5.9-1+b1
ii  libtime-duration-perl           1.21-1
ii  libtime-moment-perl             0.44-1+b4
ii  libtimedate-perl                2.3300-2
ii  libunicode-utf8-perl            0.62-1+b3
ii  liburi-perl                     5.10-1
ii  libxml-libxml-perl              2.0207+dfsg+really+2.0134-1
ii  libyaml-libyaml-perl            0.83+ds-1+b1
ii  lzip                            1.23-1
ii  lzop                            1.04-2
ii  man-db                          2.10.1-1
ii  patchutils                      0.4.2-1
ii  perl [libencode-perl]           5.34.0-3
ii  t1utils                         1.41-4
ii  unzip                           6.0-26
ii  xz-utils                        5.2.5-2

lintian recommends no packages.

Versions of packages lintian suggests:
ii  binutils-multiarch     2.38-2
ii  libtext-template-perl  1.60-1

-- no debconf information

-- 
bye,
pabs

https://wiki.debian.org/PaulWise

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


Reply to: