If I install utrans-rc, it generates a /etc/init.d/exim4 file, which
conflicts with the file installed by the exim4-base
package.
This results in this prompt when installing exim4-base.
Configuration file '/etc/init.d/exim4'
==> File on system created by you or by a script.
==> File also in package provided by package maintainer.
What would you like to do about it ? Your options are:
Y or I : install the package maintainer's version
N or O : keep your currently-installed version
D : show the differences between the versions
Z : start a shell to examine the situation
The default action is to keep your current version.
*** exim4 (Y/I/N/O/D/Z) [default=N] ?
I suppose that this happens if exim4-base is unpacked but not configured
before utrans-rc is configured, but I'm not sure.
Thanks. I am away until Thursday, but will look then. Maybe the postinst should use the trigger so it happens after all packages are installed and configured. Mark
Lucas, Thanks for this. I am afraid I am unable to reproduce. There might be a potential issue in that /etc/init.d/exim is in exim4-base whereas /usr/lib/systemd/system/exim4.service is in exim4-daemon-light. Having said that, I cannot generate a failure by installing utrans-rc and exim4-base or exim4-daemon-light. It would seem that your error is caused by utrans-rc producing /etc/init.d/exim4 from /usr/lib/systemd/system/exim4.service before exim4-base is installed. But exim4-daemon-light depends on exim4-base, so I don't currently see how that can happen. Do you have a reliable reproducer? Thanks Mark
incus launch images:debian/13 d13 --vm --type c2-m4 # or: incus launch images:debian/13 d13 incus exec d13 -- apt-get -y install utrans-rc Or mmdebstrap: mmdebstrap --variant=minbase --chrooted-customize-hook='apt update && apt -o APT::Install-Recommends=yes install -y utrans-rc' trixie /dev/null (Inspired from Zeha's reproducer in #1108944) Lucas
Lucas,
me.
Mark
commit 27a1dee33fef7659c121eb7da3f180988351f5ed
Author: Mark Hindley <mark@hindley.org.uk>
Date: Sat Jul 12 12:54:21 2025 +0100
utrans-rc.postinst: use manual trigger to regenerate scripts so it happens after all other packages are configured.
Closes: #1108949
diff --git a/debian/utrans-rc.postinst b/debian/utrans-rc.postinst
index c0a3ae1..14078f3 100644
--- a/debian/utrans-rc.postinst
+++ b/debian/utrans-rc.postinst
@@ -3,7 +3,12 @@
set -e
case "$1" in
- configure) utrans-rc ;;
+ configure)
+ # Remove any timestamp to force regeneration of all scripts.
+ rm -f /var/tmp/${DPKG_MAINTSCRIPT_PACKAGE}.stamp
+ # Trigger regeneration.
+ dpkg-trigger /usr/lib/systemd/system
+ ;;
triggered) utrans-rc -u ;;
esac
# dh_installdeb will replace this with shell code automatically
We believe that the bug you reported is fixed in the latest version of
unit-translator, which is due to be installed in the Debian FTP archive.
A summary of the changes between this version and the previous one is
attached.
Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to 1108949@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Mark Hindley <leepen@debian.org> (supplier of updated unit-translator package)
(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
Format: 1.8
Date: Sat, 12 Jul 2025 12:56:36 +0100
Source: unit-translator
Architecture: source
Version: 0.7-2
Distribution: unstable
Urgency: medium
Maintainer: Mark Hindley <leepen@debian.org>
Changed-By: Mark Hindley <leepen@debian.org>
Closes: 1108949
Changes:
unit-translator (0.7-2) unstable; urgency=medium
.
* d/control: bump Standards Version (no changes).
* utrans-rc.postinst: use manual trigger to regenerate scripts so that
it happens after all packages are configured. (Closes: #1108949)
Checksums-Sha1:
e8cf6f8ca89d6c0c9459d672308e8d95a36cb87f 2029 unit-translator_0.7-2.dsc
ca737b6a1c55fd33cb9d5203d4422fa2eb307146 4096 unit-translator_0.7-2.debian.tar.xz
f9b2250bc84af29f9c6c912c3c2b382a2400fd5f 7041 unit-translator_0.7-2_amd64.buildinfo
Checksums-Sha256:
44468a29e4d7720ccf586dda9ac124fc7fe5cf4af6483ba7f74e3c506c670f91 2029 unit-translator_0.7-2.dsc
0150bce397d860a4d70fe8bb3291bcafae5636bf0b2843104e31fbd95c0e15b8 4096 unit-translator_0.7-2.debian.tar.xz
5508d20d00a5d81bd66f248a1aea72ec47a1bb9b3adc1fe3abdd3fdcdf2ff622 7041 unit-translator_0.7-2_amd64.buildinfo
Files:
66c975612f80f547c31aba3e8148e208 2029 admin optional unit-translator_0.7-2.dsc
222b686efb516e3500e2082962f94427 4096 admin optional unit-translator_0.7-2.debian.tar.xz
d793cc8ddb75566799b804544a1bca30 7041 admin optional unit-translator_0.7-2_amd64.buildinfo
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCAAdFiEEUGwVpCsK9aCoVCPu0opFvzKH1kkFAmhyd8kACgkQ0opFvzKH
1kko8xAApQk+D/siW8miXSCTUfqKP2Od2SY4VIUpD+1TbgFCne8ioeNI9JhO9/EE
LTOzfG2eYH09459fpcDaTV+OYL7fjnU/gz+uXcRI07VgHFWe6FAREqcw1emfBW6x
CYLY/oX+LQSA2O+fZPv+v4hforQpf4TAc2Vtq45ql67AYo7Vzfwm2qIVv0tVK+da
sPCt6XMLfwVAgIxCFBolLJo1nNH7DYZ09wReXzqteoMzxaR3MW8DuVXmiFCGVFcB
q1MaklWAwVsDtioS1z8krxvFpPLzcX3SrIcApYXBns+DDuJZTq94zBDKaEwbEoIm
MPa66ks+gQnjE1l/cIl5VFcWrPBvcIIVM8o0CyMwAc3IokkYF+y3VqTOXUujzvzE
a3p5Fw5wSp/mxnhNMDAhb1FXPU4D+HThTV4gXtiY8Fjc1thoyz6fgMqz6svEoysx
gbEHqjyuBw8MfuDPuL0Go9o2Ye9iXuwOF051tkXxR/XRQtgSIyujCFn4+s80r4If
jqEt02BDrlA9+9aGOcsmzKxKTyNB6JjWR1XDgEgdhU2nuo6mZrv0GdeMRQQpZJxj
YGDFSx53szraCDBw7b/IW3T58vTOZ3Y0+60pb14JYAnjHj4KTvKDpO4KFwXsoi6A
tg9j37XlYBd3+GH5Pg72twZEnelutEU2AGDc9Li2glYh3ZttS+o=
=uCw3
-----END PGP SIGNATURE-----
Hi, Happened to come across this bug. This is a very predictable path. Normally those have security concerns as anybody on the system can create this file between here and where it's used. Were those considered? (I haven't checked the code, I only read the patch here). Paul
Paul, Thanks for this. file is used (passed to find's -ctime option). I couldn't think of an adverse security implication. Although, maybe I am not sufficiently imaginative? What have I missed or not considered? Mark
Hi, If the timestamp is put in the (far) future, the action you want to trigger might not happen. What is the timestamp used for? Paul
Paul, recently than the timestamp are converted again to see if the generated output is different. So, updating of already generated files could be prevented by changing the time.stamp file mtime. I saw that as pointless rather than a security issue. If you think I have underestimated the significance and impact, the file could be moved under /var/lib/? Thanks for your time with this. Mark