[Bug 1673247] Re: package snapd 2.23.1 failed to install/upgrade: trying to overwrite '/etc/apparmor.d/usr.lib.snapd.snap-confine', which is also in package snap-confine 2.23.1
Tom Chiverton
1673247 at bugs.launchpad.net
Sun Jun 16 14:49:03 UTC 2024
This still happens ?
Unpacking snapd (2.63+24.04) over (2.62+24.04build1) ...
Setting up snapd (2.63+24.04) ...
Installing new version of config file /etc/apparmor.d/usr.lib.snapd.snap-confine.real ...
snapd.failure.service is a disabled or a static unit not running, not starting it.
snapd.snap-repair.service is a disabled or a static unit not running, not starting it.
Failed to restart snapd.mounts-pre.target: Operation refused, unit snapd.mounts-pre.target may be requested by dependency only (it is configured to refuse manual start/stop).
See system logs and 'systemctl status snapd.mounts-pre.target' for details.
Could not execute systemctl: at /usr/bin/deb-systemd-invoke line 148.
Processing triggers for man-db (2.12.0-4build2) ...
Processing triggers for dbus (1.14.10-4ubuntu4) ...
Processing triggers for mailcap (3.70+nmu1ubuntu1) ...
Processing triggers for desktop-file-utils (0.27-2build1) ...
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
0 to upgrade, 0 to newly install, 0 to remove and 0 not to upgrade.
falken at frame:~$ systemctl status snapd.mounts-pre.target
● snapd.mounts-pre.target - Mounting snaps
Loaded: loaded (/usr/lib/systemd/system/snapd.mounts-pre.target; static)
Active: active since Sun 2024-06-16 14:29:38 BST; 1h 14min ago
Notice: journal has been rotated since unit was started, output may be
incomplete.
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=24.04
DISTRIB_CODENAME=noble
DISTRIB_DESCRIPTION="Ubuntu 24.04 LTS"
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to dpkg in Ubuntu.
https://bugs.launchpad.net/bugs/1673247
Title:
package snapd 2.23.1 failed to install/upgrade: trying to overwrite
'/etc/apparmor.d/usr.lib.snapd.snap-confine', which is also in package
snap-confine 2.23.1
Status in snapd:
Won't Fix
Status in dpkg package in Ubuntu:
In Progress
Status in snapd package in Ubuntu:
In Progress
Status in dpkg source package in Trusty:
Confirmed
Status in snapd source package in Trusty:
In Progress
Status in dpkg source package in Xenial:
Confirmed
Status in snapd source package in Xenial:
Confirmed
Status in dpkg source package in Yakkety:
Invalid
Status in snapd source package in Yakkety:
Invalid
Status in dpkg source package in Zesty:
Confirmed
Status in snapd source package in Zesty:
Confirmed
Bug description:
When the ubuntu installer runs it has an option to download updates during the install. When this happens snapd/snap-confine 2.22.6 are installed on /target. The upgrade brings in snapd/snap-confine 2.23.1 which has a conffile in /etc/apparmor.d/usr.lib.snapd.snap-confine. The snapd packages declares a breaks/replaces: snapd-confine (<< 2.23) which works correctly on regular upgrades. However it does fail on upgrades with the "--root=/target" that is used by ubiquity. After a bit of debugging it turns out the reason is that
src/archives.c:tarobject() has a check for obsolete conffiles in the block
around "Is the file an obsolete conffile ...". There is a stat() here that
checks that the conff->name and the fnamevb are the same file. This check
fails to take the instdir into account and therefore the loop does not
continue but falls through to the "does_replace()" checks.
--------------------------------------------
Snap 2.23.1 fails to upgrade from 2.21.
Known facts:
- reporters (and apport) indicate it fails during the install via the live-cd
- not reproducible so far on an already installed system
- breaks/replaces of snapd are correct
- When adding "xenial-proposed" to apt-setup in ubiquity and installing
Cause:
- when ubiquity runs it uses "dpkg --root=/target --unpack ..." - however when doing the conffile checking dpkg does not handle the "--root" parameter correctly and checks something against "/" instead of "/target".
---------------------------------------------
I really don't know what else to add...
ProblemType: Package
DistroRelease: Ubuntu 16.04
Package: snapd 2.23.1
ProcVersionSignature: Ubuntu 4.8.0-36.36~16.04.1-generic 4.8.11
Uname: Linux 4.8.0-36-generic x86_64
ApportVersion: 2.20.1-0ubuntu2.5
Architecture: amd64
CasperVersion: 1.376.2
Date: Wed Mar 15 16:03:33 2017
DuplicateSignature:
package:snapd:2.23.1
Unpacking snapd (2.23.1) over (2.21) ...
dpkg: error processing archive /target/var/cache/apt/archives/snapd_2.23.1_amd64.deb (--unpack):
trying to overwrite '/etc/apparmor.d/usr.lib.snapd.snap-confine', which is also in package snap-confine 2.23.1
ErrorMessage: trying to overwrite '/etc/apparmor.d/usr.lib.snapd.snap-confine', which is also in package snap-confine 2.23.1
LiveMediaBuild: Ubuntu-GNOME 16.04.2 LTS "Xenial Xerus" - Release amd64 (20170215)
RelatedPackageVersions:
dpkg 1.18.4ubuntu1.1
apt 1.2.19
SourcePackage: snapd
Title: package snapd 2.23.1 failed to install/upgrade: trying to overwrite '/etc/apparmor.d/usr.lib.snapd.snap-confine', which is also in package snap-confine 2.23.1
UpgradeStatus: No upgrade log present (probably fresh install)
To manage notifications about this bug go to:
https://bugs.launchpad.net/snapd/+bug/1673247/+subscriptions
More information about the foundations-bugs
mailing list