Bug#1112150: log4net: Removal of cli-common from the Debian archive

2026-05-14 Thread james_montgomery
Dear maintainer,

This follows up on Antoine Le Gonidec's cli-common removal bug #1112150 [1].

As he noted there, cli-common itself has been orphaned for a long time [2].

The broader Mono-side decoupling work was already done in mono [3].

Since log4net still build-depends on cli-common-dev and the binary package
still relies on cli-common-generated metadata, it is one of the remaining
leaf packages blocking that removal work.

I've prepared a patch for log4net to remove the remaining cli-common
integration and attached the debdiff for review.

The patch is versioned as 1.2.10+dfsg-9.1 as a potential NMU. It drops
cli-common-dev from Build-Depends-Indep, removes the cli-common helper
calls from debian/rules, removes the obsolete installcligac/cligacpolicy
inputs, and replaces ${cli:Depends} with explicit Mono runtime
dependencies.

I built it successfully in sbuild on unstable/amd64. The resulting
package no longer ships /usr/share/cli-common/*, piuparts passes, and
this also appears to address #1102176 [4].

That bug is caused by the broken policy.1.2.log4net.dll path from the old
cli-common policy integration.

If there are no objections, I can follow up with an NMU after the usual
waiting period.

References:
 [1] https://bugs.debian.org/1112150
 [2] https://bugs.debian.org/1079871
 [3] https://bugs.debian.org/276
 [4] https://bugs.debian.org/1102176

Regards,
James



Bug#1112150: log4net: Removal of cli-common from the Debian archive

2026-05-14 Thread James Montgomery
diff -Nru log4net-1.2.10+dfsg/debian/changelog 
log4net-1.2.10+dfsg/debian/changelog
--- log4net-1.2.10+dfsg/debian/changelog2023-04-27 08:37:50.0 
-0400
+++ log4net-1.2.10+dfsg/debian/changelog2026-05-14 19:31:31.0 
-0400
@@ -1,3 +1,18 @@
+log4net (1.2.10+dfsg-9.1) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * Remove cli-common integration from the packaging:
+- drop the cli-common-dev build dependency and obsolete cli substvar
+- stop invoking cli-common debhelper helpers during the package build
+- remove the obsolete GAC policy and package registration inputs
+- add explicit Mono runtime dependencies for the shipped assembly
+- keep the built log4net.dll non-executable after dropping cli-common
+  fixup helpers
+  * This stops shipping the broken cli-common policy/package artifacts that
+block migration and installation. (Closes: #1112150, #1102176)
+
+ -- James Montgomery   Thu, 14 May 2026 19:31:31 
-0400
+
 log4net (1.2.10+dfsg-9) unstable; urgency=medium
 
   * add build-indep target (Closes: #999313)
diff -Nru log4net-1.2.10+dfsg/debian/cligacpolicy 
log4net-1.2.10+dfsg/debian/cligacpolicy
--- log4net-1.2.10+dfsg/debian/cligacpolicy 2023-04-27 08:37:50.0 
-0400
+++ log4net-1.2.10+dfsg/debian/cligacpolicy 1969-12-31 19:00:00.0 
-0500
@@ -1,2 +0,0 @@
-# SNK File Assembly Name   VersionsAssembly Ver.   
Priority
-debian/log4net.snk log4net 1.2.8.0-1.2.9.991.2.10.0
10
diff -Nru log4net-1.2.10+dfsg/debian/control log4net-1.2.10+dfsg/debian/control
--- log4net-1.2.10+dfsg/debian/control  2023-04-27 08:37:50.0 -0400
+++ log4net-1.2.10+dfsg/debian/control  2026-05-14 19:28:55.0 -0400
@@ -2,9 +2,15 @@
 Section: libs
 Priority: optional
 Maintainer: Debian CLI Libraries Team 

-Uploaders: Dylan R. E. Moonfire , Sebastian Dröge 
, Mirco Bauer 
-Build-Depends: debhelper-compat (= 13)
-Build-Depends-Indep: cli-common-dev (>= 0.8~), mono-devel (>= 2.4.2.3), 
sharutils
+Uploaders:
+ Dylan R. E. Moonfire ,
+ Sebastian Dröge ,
+ Mirco Bauer ,
+Build-Depends:
+ debhelper-compat (= 13),
+Build-Depends-Indep:
+ mono-devel (>= 2.4.2.3),
+ sharutils,
 Standards-Version: 3.8.3
 Homepage: http://logging.apache.org/log4net/
 Vcs-Git: https://salsa.debian.org/dotnet-team/log4net.git
@@ -12,8 +18,15 @@
 
 Package: liblog4net1.2-cil
 Architecture: all
-Depends: ${cli:Depends}, ${misc:Depends}
-Replaces: liblog4net-cil
+Depends:
+ libmono-system-data4.0-cil,
+ libmono-system-web4.0-cil,
+ libmono-system-xml4.0-cil,
+ libmono-system4.0-cil,
+ mono-runtime,
+ ${misc:Depends},
+Replaces:
+ liblog4net-cil,
 Description: highly configurable logging API for the CLI
  log4net is a tool to help the programmer output log statements to a variety
  of output targets. log4net is a port of the excellent log4j framework to the
@@ -29,8 +42,12 @@
 
 Package: liblog4net-cil-dev
 Architecture: all
-Depends: liblog4net1.2-cil (= ${binary:Version}), ${misc:Depends}
-Replaces: liblog4net-cil, liblog4net1.2-cil (<< 1.2.10+dfsg-4)
+Depends:
+ liblog4net1.2-cil (= ${binary:Version}),
+ ${misc:Depends},
+Replaces:
+ liblog4net-cil,
+ liblog4net1.2-cil (<< 1.2.10+dfsg-4),
 Description: highly configurable logging API for the CLI
  log4net is a tool to help the programmer output log statements to a variety
  of output targets. log4net is a port of the excellent log4j framework to the
diff -Nru log4net-1.2.10+dfsg/debian/installcligac 
log4net-1.2.10+dfsg/debian/installcligac
--- log4net-1.2.10+dfsg/debian/installcligac2023-04-27 08:37:50.0 
-0400
+++ log4net-1.2.10+dfsg/debian/installcligac1969-12-31 19:00:00.0 
-0500
@@ -1 +0,0 @@
-/usr/lib/cli/log4net-1.2/log4net.dll
diff -Nru log4net-1.2.10+dfsg/debian/rules log4net-1.2.10+dfsg/debian/rules
--- log4net-1.2.10+dfsg/debian/rules2023-04-27 08:37:50.0 -0400
+++ log4net-1.2.10+dfsg/debian/rules2026-05-14 19:31:31.0 -0400
@@ -24,6 +24,7 @@
/r:System.Data \
/r:System.Web \
$(shell find src -name "*.cs")
+   chmod 0644 bin/log4net.dll
touch $@
 
 clean:
@@ -52,18 +53,12 @@
dh_installdocs
dh_installexamples
dh_installman
-   dh_installcligac
-   dh_cligacpolicy
dh_link
dh_strip
-   dh_clistrip
dh_compress
dh_fixperms
-   dh_clifixperms
dh_installdeb
dh_shlibdeps
-   dh_makeclilibs -m 1.2.10
-   dh_clideps -d
dh_gencontrol
dh_md5sums
dh_builddeb