ppa-purge is not multi-arch aware
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
ppa-purge |
Fix Committed
|
Undecided
|
Unassigned | ||
ppa-purge (Ubuntu) |
Fix Released
|
High
|
Unassigned | ||
Precise |
Won't Fix
|
High
|
Unassigned | ||
Quantal |
Fix Released
|
High
|
Unassigned |
Bug Description
[Impact]
* Using ppa-purge on a ppa that has multi-arch packages will cause the aptitude dependency resolver to remove all foreign-arch packages installed on the system.
* This is fixed by generating a package revert list that explicity includes all multiarch packages
[Test Case]
1. Install ia32-libs and a ppa with multi-arch packages (i.e. ppa:gnome3-
2. Try to purge this ppa.
Aptitude will prompt to remove all i386 packages on the system, effectively breaking multi-arch installation.
[Regression Potential]
None. ppa-purge is currently completely broken on multiarch systems. The changes in this script are also perfectly safe on non-multiarch systems, where the end result (i.e. generated package revert list) is the same as the previous version.
=== Original Bug Report ===
It doesn't seem to be parsing the extra list of sources for the other arch, leaving the other arch packages installed which prevents downgrading.
sarvatt@
[sudo] password for sarvatt:
Updating packages lists
PPA to be removed: xorg-edgers ppa
comm: file 2 is not in sorted order
Package revert list generated:
intel-
libcairo2-
libcairo-
libdrm-
libegl1-
libffi6/oneiric libffi-dev/oneiric libgbm1/oneiric libgl1-
libgl1-
libgl1-
libgles2-
libkms1/oneiric libopenvg1-
libpciaccess-
libtxc-
libva-dev/oneiric libva-egl1/oneiric libva-glx1/oneiric libva-tpi1/oneiric
libva-x11-1/oneiric libwayland0/oneiric libwayland-
linux-libc-
unity/oneiric unity-common/
xorg/oneiric xserver-
xserver-
xserver-
xserver-
xserver-
xserver-
xserver-
xserver-
xserver-
xserver-
xserver-
xserver-
xserver-
xserver-
xserver-
xserver-
xserver-
xserver-
xserver-
xserver-
xutils-dev/oneiric
Disabling xorg-edgers PPA from
/etc/apt/
Disabling xorg-edgers PPA from
/etc/apt/
Updating packages lists
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Release 'oneiric' for 'libtxc-dxtn0' was not found
E: Release 'oneiric' for 'libva-egl1' was not found
Unable to find an archive "oneiric" for the package "libtxc-dxtn0"
Unable to find an archive "oneiric" for the package "libva-egl1"
Unable to find an archive "oneiric" for the package "libtxc-dxtn0"
Unable to find an archive "oneiric" for the package "libva-egl1"
The following packages will be DOWNGRADED:
intel-gpu-tools lib32ffi6 libcairo-gobject2
libcairo-
libdrm-intel1{b} libdrm-nouveau1a{b} libdrm-radeon1{b} libdrm2{b}
libegl1-mesa libegl1-mesa-dev libegl1-
libffi6{b} libgbm1 libgl1-mesa-dev libgl1-mesa-dri{b}
libgl1-
libgles1-mesa libgles2-mesa libglu1-mesa libglu1-mesa-dev libkms1
libopenvg1-mesa libpciaccess-dev libpciaccess0{b} libpixman-1-0
libpixman-1-dev libunity-core-4.0-4 libva-dev libva-glx1 libva-tpi1
libva-x11-1 libva1 libwayland-dev libwayland0 linux-libc-dev
linux-
x11-common xorg xserver-common xserver-xorg xserver-xorg-core
xserver-xorg-dev xserver-
xserver-
xserver-
xserver-
xserver-
xserver-
xserver-
xserver-
xserver-
xserver-
xserver-
xserver-
xserver-
xserver-
xserver-
xserver-
xserver-
xserver-
The following packages will be REMOVED:
libtar0{u} libxcb-xv0{u} xul-ext-
0 packages upgraded, 0 newly installed, 89 downgraded, 3 to remove and 3 not upgraded.
Need to get 16.3 MB of archives. After unpacking 2,540 kB will be freed.
The following packages have unmet dependencies:
libdrm-radeon1: Breaks: libdrm-radeon1 (!= 2.4.26-1ubuntu1) but 2.4.27+
libdrm-radeon1: Breaks: libdrm-radeon1 (!= 2.4.27+
libva-
libgl1-mesa-dri: Breaks: libgl1-mesa-dri (!= 7.11-0ubuntu3) but 7.12.0~
libgl1-mesa-dri: Breaks: libgl1-mesa-dri (!= 7.12.0~
libgl1-mesa-glx: Breaks: libgl1-mesa-glx (!= 7.11-0ubuntu3) but 7.12.0~
libgl1-mesa-glx: Breaks: libgl1-mesa-glx (!= 7.12.0~
libglapi-mesa: Breaks: libglapi-mesa (!= 7.11-0ubuntu3) but 7.12.0~
libglapi-mesa: Breaks: libglapi-mesa (!= 7.12.0~
libffi6: Breaks: libffi6 (!= 3.0.11~rc1-2) but 3.0.11~
libffi6: Breaks: libffi6 (!= 3.0.11~
libdrm2: Breaks: libdrm2 (!= 2.4.26-1ubuntu1) but 2.4.27+
libdrm2: Breaks: libdrm2 (!= 2.4.27+
libdrm-nouveau1a: Breaks: libdrm-nouveau1a (!= 2.4.26-1ubuntu1) but 2.4.27+
libdrm-nouveau1a: Breaks: libdrm-nouveau1a (!= 2.4.27+
libdrm-intel1: Breaks: libdrm-intel1 (!= 2.4.26-1ubuntu1) but 2.4.27+
libdrm-intel1: Breaks: libdrm-intel1 (!= 2.4.27+
libva-egl1: Depends: libva1 (> 1.0.15) but 1.0.12-2 is to be installed.
libpciaccess0: Breaks: libpciaccess0 (!= 0.12.1-2) but 0.12.902-
libpciaccess0: Breaks: libpciaccess0 (!= 0.12.902-
xserver-
The following actions will resolve these dependencies:
Remove the following packages:
1) ia32-libs-multiarch
2) libacl1
3) libasound2
4) libasound2-plugins
5) libasyncns0
6) libatk1.0-0
7) libattr1
8) libaudio2
9) libavahi-client3
10) libavahi-common3
11) libc6
12) libcomerr2
13) libcups2
14) libcupsimage2
15) libcurl3
16) libdatrie1
17) libdb5.1
18) libdbus-1-3
19) libdrm-intel1
20) libdrm-nouveau1a
21) libdrm-radeon1
22) libdrm2
23) libexpat1
24) libffi6
25) libflac8
26) libfontconfig1
27) libfreetype6
28) libgcc1
29) libgcrypt11
30) libgdbm3
31) libgdk-pixbuf2.0-0
32) libgl1-mesa-dri
33) libgl1-mesa-glx
34) libglapi-mesa
35) libglib2.0-0
36) libgnutls26
37) libgpg-error0
38) libgssapi-krb5-2
39) libice6
40) libidn11
41) libjack-jackd2-0
42) libjasper1
43) libjpeg62
44) libjson0
45) libk5crypto3
46) libkeyutils1
47) libkrb5-3
48) libkrb5support0
49) liblcms1
50) libldap-2.4-2
51) libllvm2.9
52) libmng1
53) libnspr4
54) libnspr4-0d
55) libnss3
56) libnss3-1d
57) libogg0
58) libpciaccess0
59) libpcre3
60) libpng12-0
61) libpulse0
62) libqt4-dbus
63) libqt4-declarative
64) libqt4-designer
65) libqt4-network
66) libqt4-opengl
67) libqt4-qt3support
68) libqt4-script
69) libqt4-scripttools
70) libqt4-sql
71) libqt4-svg
72) libqt4-test
73) libqt4-xml
74) libqt4-xmlpatterns
75) libqtcore4
76) libqtgui4
77) librtmp0
78) libsamplerate0
79) libsasl2-2
80) libsasl2-modules
81) libselinux1
82) libsm6
83) libsndfile1
84) libspeexdsp1
85) libsqlite3-0
86) libssl1.0.0
87) libstdc++6
88) libtasn1-3
89) libthai0
90) libtiff4
91) libtxc-dxtn0
92) libudev0
93) libuuid1
94) libva-driver-intel
95) libva-egl1
96) libvorbis0a
97) libvorbisenc2
98) libwrap0
99) libx11-6
100) libx11-xcb1
101) libxau6
102) libxcb-dri2-0
103) libxcb-render0
104) libxcb-shm0
105) libxcb-xfixes0
106) libxcb1
107) libxcomposite1
108) libxcursor1
109) libxdamage1
110) libxdmcp6
111) libxext6
112) libxfixes3
113) libxft2
114) libxi6
115) libxinerama1
116) libxrandr2
117) libxrender1
118) libxss1
119) libxt6
120) libxxf86vm1
121) xserver-
122) zlib1g
Leave the following dependencies unresolved:
123) ia32-libs recommends ia32-libs-multiarch
124) libgl1-mesa-glx recommends libgl1-mesa-dri (>= 7.2)
Accept this solution? [Y/n/q/?] q
Abandoning all efforts to resolve these dependencies.
Abort.
ProblemType: BugDistroRelease: Ubuntu 11.10
Package: ppa-purge 0.2.8+bzr56
ProcVersionSign
Uname: Linux 3.1.0-1-generic x86_64
ApportVersion: 1.23-0ubuntu4
Architecture: amd64
Date: Sun Nov 20 17:02:29 2011Installatio
PackageArchitec
ProcEnviron:
PATH=(custom, user)
LANG=en_US.UTF-8
SHELL=
UpgradeStatus: Upgraded to oneiric on 2011-10-21 (30 days ago)
Related branches
- Robert Hooker: Approve
- Tormod Volden: Approve
-
Diff: 63 lines (+23/-4)3 files modifieddebian/changelog (+6/-0)
debian/control (+1/-1)
ppa-purge (+16/-3)
summary: |
- ppa-purge is does not work properly with multiarch + ppa-purge is not multi-arch aware |
Changed in ppa-purge (Ubuntu): | |
status: | Confirmed → Fix Committed |
Changed in ppa-purge: | |
status: | New → Fix Committed |
Changed in ppa-purge (Ubuntu): | |
status: | Fix Committed → Triaged |
Changed in ppa-purge (Ubuntu Precise): | |
importance: | Undecided → High |
Changed in ppa-purge (Ubuntu Quantal): | |
importance: | Undecided → High |
Changed in ppa-purge (Ubuntu Precise): | |
status: | New → Triaged |
Changed in ppa-purge (Ubuntu Quantal): | |
status: | New → Triaged |
description: | updated |
information type: | Public → Public Security |
information type: | Public Security → Public |
I'm guessing this is due to Bug #831768 since ppa-purge uses aptitude.