#1028210 check-dfsg-status: add support for non-free-firmware/ and local/

#1028210#5
Date:
2023-01-08 15:39:18 UTC
From:
To:
Hi,

I was playing around adding detection for "local/" in this tool.
I did like how it was done for contrib/: a lot of copy-pasting.
(see this ugly patch in attachment).


Now I realize all this code should be copy-pasted once again
for "non-free-firmware/" which feels wrong.

By the way the current regexp works by luck but does not
seems to work by design; so I get false positives
for packages actually in (main)/locales.


I would factorize this duplicated/triplicated code,
but I just don't know Perl engouh.


The "local/" trick could later be mandated for other tools that
generate or handle locally built .deb not meant to me distributed,
like "non-free" but even worse/restrictive;
which now get mixed up with the official packages.

Greetings,
------------------------


Sample output:

========================================

             Locally built packages installed on brix

! debconf-i18n                        full internationalization support for debconf
  doom-wad                            IWAD for "Doom" game
  doom2-masterlevels-wad              game PWAD for Master Levels for DOOM II
  doom2-nerve-wad                     game PWAD for Doom 2: No Rest for the Living
  doom2-wad                           game IWAD for Doom 2: Hell on Earth
! gnupg-l10n                          GNU privacy guard - localization files
  griffon-legend-data                 game data for The Griffon Legend
  grimfandango-demo-en-data           game data for Grim Fandango (demo)
  hhgg-data                           game data for The Hitchhiker's Guide to the Galaxy
  jazz-jackrabbit-hh95-data           game data for Jazz Jackrabbit Holiday Hare '95

.... .... ....

  Locally built packages with status other than installed on brix


grimfandango-fr-data                ( ins)

  12 non-free packages, 0.4% of 3396 installed packages.
!  -> missing one count for non-free-firmware
  16 contrib packages, 0.5% of 3396 installed packages.
  77 local packages, 2.3% of 3396 installed packages.