[Lucid][SRU][PATCH 1/1] UBUNTU: Remove conflicts statements for compat-wireless meta packages
Leann Ogasawara
leann.ogasawara at canonical.com
Fri Dec 3 02:56:30 UTC 2010
On Thu, 2010-12-02 at 10:55 -0700, Tim Gardner wrote:
> On 12/02/2010 10:11 AM, Stefan Bader wrote:
> > On 12/02/2010 05:45 PM, Leann Ogasawara wrote:
> >> On Thu, 2010-12-02 at 14:55 +0100, Stefan Bader wrote:
> >>> On 12/02/2010 03:11 AM, Leann Ogasawara wrote:
> >>>> BugLink: http://bugs.launchpad.net/bugs/683944
> >>>>
> >>>> SRU Justification:
> >>>>
> >>>> Examining the Lucid compat-wireless LBM meta packages it appears the
> >>>> 'Conflicts:' statements in each of the debian/control.d flavours is
> >>>> unnecessary. The LBM packages themselves already have the appropriate
> >>>> 'Conflicts:' statements. Furthermore, they are coded in only one
> >>>> location in each of the LBM packages
> >>>> (debian/control.d/flavour-control.stub) which is much simpler to track
> >>>> and update vs multiple separate files in each of the meta package
> >>>> flavours.
> >>>>
> >>>> Impact: The package resolver should do the right thing given each
> >>>> compat-wireless-2.6.3X package has correct 'Conflicts"' statements in
> >>>> its dependencies, thus there should be no impact.
> >>>>
> >>>> Test Case: Test installing the LBM compat-wireless meta packages and
> >>>> confirm multiple versions of the compat-wireless package are not
> >>>> installable at the same time.
> >>>>
> >>> Apart from it seeming in various states of being commented out, when testing,
> >>> was there a difference in that the meta package was started to install and when
> >>> pulling the real binary package, failed? Or just as before immediately fails
> >>> when trying to install a conflicting meta package?
> >>
> >> In my testing I saw the following:
> >>
> >> Selecting previously deselected package
> >> linux-backports-modules-wireless-2.6.35-lucid-generic.
> >> (Reading database ... 218140 files and directories currently installed.)
> >> Unpacking linux-backports-modules-wireless-2.6.35-lucid-generic (from
> >> linux-backports-modules-wireless-2.6.35-lucid-generic_2.6.32.26.29_amd64.deb) ...
> >> Selecting previously deselected package
> >> linux-backports-modules-compat-wireless-2.6.35-2.6.32-26-generic.
> >> dpkg:
> >> regarding .../linux-backports-modules-compat-wireless-2.6.35-2.6.32-26-generic_2.6.32-26.25_amd64.deb containing linux-backports-modules-compat-wireless-2.6.35-2.6.32-26-generic:
> >> linux-backports-modules-compat-wireless-2.6.35-2.6.32-26-generic
> >> conflicts with
> >> linux-backports-modules-compat-wireless-2.6.36-2.6.32-26-generic
> >> linux-backports-modules-compat-wireless-2.6.36-2.6.32-26-generic
> >> (version 2.6.32-26.25) is present and installed.
> >> dpkg: error
> >> processing ../linux-backports-modules-compat-wireless-2.6.35-2.6.32-26-generic_2.6.32-26.25_amd64.deb (--install):
> >> conflicting packages - not installing
> >> linux-backports-modules-compat-wireless-2.6.35-2.6.32-26-generic
> >> dpkg: dependency problems prevent configuration of
> >> linux-backports-modules-wireless-2.6.35-lucid-generic:
> >> linux-backports-modules-wireless-2.6.35-lucid-generic depends on
> >> linux-backports-modules-compat-wireless-2.6.35-2.6.32-26-generic;
> >> however:
> >> Package
> >> linux-backports-modules-compat-wireless-2.6.35-2.6.32-26-generic is not
> >> installed.
> >> dpkg: error processing
> >> linux-backports-modules-wireless-2.6.35-lucid-generic (--install):
> >> dependency problems - leaving unconfigured
> >> Errors were encountered while processing:
> >> ../linux-backports-modules-compat-wireless-2.6.35-2.6.32-26-generic_2.6.32-26.25_amd64.deb
> >> linux-backports-modules-wireless-2.6.35-lucid-generic
> >>
> >
> > Ok, so if I read that correctly the effect would be that the meta package gets
> > installed but is left unconfigured because the binary package conflicts. While,
> > I think, with the conflicts in the meta packages too, the meta package would
> > reject being installed.
> > So thinking further, maybe this would allow de-installing the binary package,
> > then installing the meta package, but leaving any previous meta package alone?
> > Which probably could be an issue.
> > Which we already should have on Maverick then. Just that maybe not many people
> > really do this.
> >
> > Stefan
>
> I think the effect is that, given the conflicts, neither the meta
> package or its dependencies could be installed. Furthermore, I do not
> think you can remove a binary package upon which the meta package is
> dependent without also removing the meta package.
After testing, Tim is correct that you cannot remove a binary package
upon which the meta package is dependent without also removing the meta
package.
I've subsequently done the following series of tests for the meta
package. The first series of tests leaves the Conflicts statements
applied. The second series of tests has the Conflicts statements
removed...
== With the Conflicts statements applied ==
1. Install lbm-wireless-2.6.35 and lbm-wireless-2.6.35-meta (confirm
they are installed via dpkg -l):
$ COLUMNS=290 dpkg -l "linux-backports-modules*"
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Cfg-files/Unpacked/Failed-cfg/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Description
+++-==================================================================-================-================================================
ii linux-backports-modules-compat-wireless-2.6.35-2.6.32-26-generic 2.6.32-26.25 compat-wireless Linux modules for version 2.6.32 on x86/x86_64
ii linux-backports-modules-wireless-2.6.35-lucid-generic 2.6.32.26.29 Backported wireless drivers for generic kernel image
2. Attempt to install lbm-wireless-2.6.36 and lbm-wireless-2.6.36-meta
(fails as expected, confirm via dpkg -l):
$ COLUMNS=290 dpkg -l "linux-backports-modules*"
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Cfg-files/Unpacked/Failed-cfg/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Description
+++-==================================================================-================-================================================
ii linux-backports-modules-compat-wireless-2.6.35-2.6.32-26-generic 2.6.32-26.25 compat-wireless Linux modules for version 2.6.32 on x86/x86_64
in linux-backports-modules-compat-wireless-2.6.36-2.6.32-26-generic <none> (no description available)
ii linux-backports-modules-wireless-2.6.35-lucid-generic 2.6.32.26.29 Backported wireless drivers for generic kernel image
in linux-backports-modules-wireless-2.6.36-lucid-generic <none> (no description available)
== With the Conflicts statements removed ==
1. Install lbm-wireless-2.6.35 and lbm-wireless-2.6.35-meta (confirm with dpkg -l):
$ COLUMNS=290 dpkg -l "linux-backports-modules*"
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Cfg-files/Unpacked/Failed-cfg/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Description
+++-==================================================================-================-================================================
ii linux-backports-modules-compat-wireless-2.6.35-2.6.32-26-generic 2.6.32-26.25 compat-wireless Linux modules for version 2.6.32 on x86/x86_64
ii linux-backports-modules-wireless-2.6.35-lucid-generic 2.6.32.26.29 Backported wireless drivers for generic kernel image
2. Attempt to install lbm-wireless-2.6.36 and lbm-wireless-2.6.36-meta
(fails as expected, confirm with dpkg -l):
$ COLUMNS=290 dpkg -l "linux-backports-modules*"
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Cfg-files/Unpacked/Failed-cfg/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Description
+++-==================================================================-================-================================================
ii linux-backports-modules-compat-wireless-2.6.35-2.6.32-26-generic 2.6.32-26.25 compat-wireless Linux modules for version 2.6.32 on x86/x86_64
in linux-backports-modules-compat-wireless-2.6.36-2.6.32-26-generic <none> (no description available)
ii linux-backports-modules-wireless-2.6.35-lucid-generic 2.6.32.26.29 Backported wireless drivers for generic kernel image
iU linux-backports-modules-wireless-2.6.36-lucid-generic 2.6.32.26.29 Backported wireless drivers for generic kernel image
== Overall Analysis ==
The only discrepancy that you'll notice is for the meta package which
has the Conflicts statement removed (ie. proposed patch applied), it
doesn't install the meta package, but does leave it Unpacked:
iU linux-backports-modules-wireless-2.6.36-lucid-generic 2.6.32.26.29 Backported wireless drivers for generic kernel image
The meta package which leaves the Conflicts statement applied (ie. don't
apply proposed patch), it doesn't Unpack:
in linux-backports-modules-wireless-2.6.36-lucid-generic <none> (no description available)
So leaving the Conflicts statement applied in the meta package does
leave your system in a slightly cleaner state. However, LBM is an
elective install, and thusly I assume any user who is comfortable
installing LBM should be comfortable enough to clean up in the event
they try to install multiple LBM compat-wireless meta packages. But I
understand if the majority feels this discrepancy is enough to result in
the rejection of this SRU for both Lucid and Maverick.
Thanks,
Leann
More information about the kernel-team
mailing list