[Lucid][SRU][PATCH 1/1] UBUNTU: Remove conflicts statements for compat-wireless meta packages

Tim Gardner tcanonical at tpi.com
Fri Dec 3 13:06:08 UTC 2010


On 12/03/2010 01:51 AM, Stefan Bader wrote:
> On 12/03/2010 03:56 AM, Leann Ogasawara wrote:
>> 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
>>
> Up to now we don't have any majority (at least not from the number of people
> alone). There is Tim and me and you in between. :) I am sort of also in between.
> I see the maintenance advantage of not having to care about the conflicts in the
> meta package. My main concern was that this may lead to situations with
> dependencies messed up but your testing removes that.
> So the only change is the half-installed meta until you clean up. I guess this
> is not a big issue. On the other hand there likely will be the valid question of
> "why do you change things if they are not broken" (even more as the change could
> turn things into slightly more brokenness depending on the point of view).
> Especially doing that change for an LTS. But, as you say, the package is an
> elective install.
> So a little bit more on the ack than then nak side here. I guess you are
> similar. So I think if nobody steps up here and voices issues, lets do it.
>
> -Stefan

The maintenance benefits of removing the conflicts statements far 
outweigh the noise of an unpacked package, something that an 'apt-get 
install -f' will quickly clean-up.

Without actually having tested synaptics, I'm betting it won't even let 
you get to the point where you even _notice_ you have an unpacked package.

rtg
-- 
Tim Gardner tim.gardner at canonical.com




More information about the kernel-team mailing list