#1079871 O: cli-common -- common files between all CLI packages

Package:
wnpp
Source:
wnpp
Submitter:
Andrey Rakhmatullin
Date:
2025-08-25 15:51:00 UTC
Severity:
normal
#1079871#5
Date:
2024-08-28 11:18:00 UTC
From:
To:
I intend to orphan the cli-common package as the Mono team doesn't seem to
exist.

The package description is:
 This package must be installed if a CLI (Common Language Infrastructure)
 runtime environment is desired.
 .
 It covers useful integration and information for CLI implementations in
 Debian GNU/Linux, including:
  * The CLI policy describes how CLI packages should behave and integrate.
  * A FAQ for package maintainers of CLI/.NET applications.
  * Integration for CLRs (Common Language Runtime):
    + Installing libraries into existing GACs (Global Assembly Cache)

#1079871#12
Date:
2025-08-16 12:27:35 UTC
From:
To:
As mentioned in https://bugs.debian.org/1111276, I plan on asking the
removal of src:cli-common from Debian soon. It would then lead to the
removal of the following packages, that all require cli-common in some way:
- cecil
- de4dot
- dnlib
- hexbox
- keepass2
- keepass2-plugin-keepassrpc
- log4net
- nini
- openmcdf
- opentk
- quickroute-gps
- repetier-host
- smuxi

Maintainers and uploaders of these packages are in copy of this e-mail,
as a last call to adopt cli-common if you really need it to stay
available in the Debian archive.

#1079871#17
Date:
2025-08-25 14:29:55 UTC
From:
To:
Hi,
using .NET and uses mono in Debian. Some of them seems very old indeed;
I'm myself using keepass2 (and not keepassxc mainly because of missing
features in v2.7).

So I've tried to update keepass2 package, just to check the effort, to
avoid the use of cli-common-dev package, and I ended up doing this:

- Copy-pasting dh_clideps from cli-common to keepass2 in debian/
- Copy-pasting dh_makeclilibs from mono (assuming it is more up to date
than the one in cli-common)
- Removing the signature of keepass2 which was using a key within
cli-common package

After these changes, the differences according to diffoscope is:
- the updated Depends line
- the fact that the Keepass2.exe file is not signed anymore

I'm not sure if that's really important as it was signed using a
publicly available private-key anyway.


"dh_clideps" allows autodetecting the dependencies needed (like
dh_shdeps) and "dh_makeclilibs" populates "clideps" files in .NET
libraries so dh_clideps can work.




I'm not at all in the mono and .NET development on Debian so I don't
known much about that.

But from what I've seen, I'm thinking that rather bundling these dh
scripts in each packages, maybe these two scripts can be made available
in mono-devel (mono already includes dh_makeclilibs in its debian/
folder, but it seems not shipped in mono-devel binary package) ?


There is also dh_clistrip in both mono and cli-common.

There are also GAC related stuff which I don't know if there are needed,
but according to diffoscope, they are not needed for keepass2 at least.

I'm attaching the keepass2 diff of my modification in case someone is
interested.

#1079871#22
Date:
2025-08-25 15:25:00 UTC
From:
To:
Le Mon, Aug 25, 2025 at 04:29:55PM +0200, Alexis Murzeau a écrit :
next upload to unstable (and should be available before the removal of
cli-common).

So the build-dependency could then be updated to something like:
mono-devel (>= 6.14.1+ds-6) | cli-common-dev
Keeping the ability to have it filled with cli-common-dev would allow
for easier backports to Trixie or older versions of Debian.

#1079871#27
Date:
2025-08-25 15:49:34 UTC
From:
To:
Le Mon, Aug 25, 2025 at 05:25:03PM +0200, Antoine Le Gonidec a écrit :
dropped dh_clideps in an earlier upload.

My advice is to stop using dh_clideps for keepass2, and hardcode the
required dependencies on native libraries directly in debian/control.