Subject: bug#911: libpolkit-gobject-consolekit-1-0: Ships the elogind variant of the library

From: "Plasma (David Paul)" <[email-masked]>
Date: Fri, 26 Sep 2025 19:57:42 -0500

Package: libpolkit-gobject-consolekit-1-0
Version: 0.105+26+devuan1
Severity: grave
Justification: ships the wrong shared-object library

Dear Maintainer,

Starting from version 0.105-26+devuan1, the
libpolkit-gobject-consolekit-1-0 package incorrectly ships the variant
of libpolkit-gobject-1.so.0.0.0 compiled with elogind session-tracking
rather than the variant compiled with ConsoleKit session-tracking. This
can be easily verified by comparing the checksums of the included
libpolkit-gobject-1.so.0.0.0 file in each of the
libpolkit-gobject-consolekit-1-0 and libpolkit-gobject-elogind-1-0
packages.

# Fix

Once this report is assigned a bug number, I will shortly be submitting
'git am'-ready patches to remedy this issue.

# Explanation

The issue lies with an interaction involving three commands in the
override_dh_install recipe in debian/rules, specifically
```
	dh_install -plibpolkit-gobject-consolekit-1-0 \
		--sourcedir=debian/install/consolekit
	dh_install -a -Nlibpolkit-gobject-consolekit-1-0
	[...]
	dh_install
```

The first command is required in order to copy the build of the
ConsoleKit variant of the library from its non-standard DESTDIR at
debian/install to the staging directory for the 
libpolkit-gobject-consolekit-1-0 binary package.

The second command then handles staging the files for the rest of the
arch-dependent packages, copying files from debian/tmp, the default
DESTDIR.

This leaves the third command with the task of staging the files for
all the remaining binary package which by this point should be all of
the arch-independent packages. However, because the command lacks
either a '-i' or '--remaining-packages' argument, it incorrectly stages
the files for *all* binary packages, copying files from only the
standard DESTDIR. This has the unfortunate consequence of re-staging
the libpolkit-gobject-consolekit-1-0 package, copying the elogind
variant of the library from within debian/tmp rather than the
ConsoleKit variant from debian/install.

-- 
Plasma