bionic 1.6.3:
1. Verified that the lock is hold during dpkg run added lslocks to
aptitude prerm:
$ lxc exec bbb -- strace -o $PWD/log -e openat,open,close,fcntl python3
$PWD/foo.py
(Reading database ... 28970 files and directories currently installed.)
Removing aptitude (0.8.10-6ubuntu1) ...
COMMAND PID TYPE SIZE MODE M START END PATH
atd 198 POSIX 4B WRITE 0 0 0 /run/atd.pid
python3 2751 POSIX 0B WRITE 0 0 0 /var/lib/dpkg/lock-frontend
python3 2751 POSIX 0B WRITE 0 0 0 /var/cache/apt/archives/lock
cron 196 FLOCK 4B WRITE 0 0 0 /run/crond.pid
dpkg 2761 POSIX 0B WRITE 0 0 0 /var/lib/dpkg/lock
Removing aptitude-common (0.8.10-6ubuntu1) ...
Processing triggers for man-db (2.8.3-2) ...
2. With system lock helt in my script:
#!/usr/bin/python3
import apt, apt_pkg
c = apt.Cache()
if c["aptitude-common"].is_installed:
c["aptitude-common"].mark_delete()
else:
c["aptitude-common"].mark_install()
with apt_pkg.SystemLock():
c.commit()
$ lxc exec bbb -- strace -o $PWD/log.locked -e openat,open,close,fcntl python3
$PWD/foo.py
(Reading database ... 28970 files and directories currently installed.)
Removing aptitude (0.8.10-6ubuntu1) ...
COMMAND PID TYPE SIZE MODE M START END PATH
atd 198 POSIX 4B WRITE 0 0 0 /run/atd.pid
dpkg 3106 POSIX 0B WRITE 0 0 0 /var/lib/dpkg/lock
cron 196 FLOCK 4B WRITE 0 0 0 /run/crond.pid
python3 3096 POSIX 0B WRITE 0 0 0 /var/lib/dpkg/lock-frontend
python3 3096 POSIX 0B WRITE 0 0 0 /var/cache/apt/archives/lock
Removing aptitude-common (0.8.10-6ubuntu1) ...
Processing triggers for man-db (2.8.3-2) ...
Works fine.
3. Investigating strace also shows that the lock-frontend is acquired
once, and not released until the end.
** Tags removed: verification-needed-bionic
** Tags added: verification-done-bionic
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1795407
Title:
python-apt frontend locking
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/python-apt/+bug/1795407/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs