Re: [RFC] DEP-6: Meta-Package debian/control field
Eugene V. Lyubimkin wrote:
> Hello,
Hello Eugene,
thanks for your feedback.
> David Paleino wrote:
>> Implementation
> [...]
>> ### Package managers ###
> [...]
>> If any dependant package is a meta-package, as defined by this
>> document, it should **NOT** be removed, opposed to what the current
>> implementations do. The package manager should then add the removed
>> package to a "blacklist" for the dependant meta-package. This allows
>> for upgrades of the meta-package without re-installing everything again,
>> i.e. the package manager should check the dependencies of the
>> meta-package against its blacklist, if present.
>
> No, it doesn't. Dpkg and any sane high-level package manager won't
> consider installing/upgrading/keeping some package (meta or not) without
> all Depends installed.
We can always change our tools to comply with that, no? :)
> What you described above seems more like 'Recommends'-handling to me, and
> some high-level package managers (I can say for cupt) have some logic to
> not install the same recommended packages again if they were not installed
> or removed when upgrading "parent" packages.
Yes, it's a concept similar to Recommends, the only difference is that you
cannot override their installation (while, at the current state, you CAN say
not to install Recommends).
>> #### Blacklist management ####
>> Package managers should allow for deletion of the blacklist upon
>> removal of the meta-package.
>>
>> Moreover, they should allow the deletion of the blacklist, and the
>> installation of the missing meta-package dependencies at the same time.
>
> The "blacklist" support also is already present somewhere (speaking of
> cupt, you can set pin like "-2000" to some package, and it won't be pulled
> for Recommends/Suggests).
Ok, I was thinking at something more automated, to be honest. See this
example:
# apt-get install metapackage
# apt-get --purge remove dependency1
At this point, "dependency1" gets blacklisted or -- if you prefer -- the
package manager sets is pin to -infinity.
# apt-get clean-blaclist metapackage
The "blacklist" for metapackage gets cleaned, and, at the same time, a "apt-
get --reinstall install metapackage" is issued.
(sorry for using apt-get and not cupt for my examples ;))
> To summarize: if I am not mistaken, this DEP cannot be implemented due to
> technical reasons in its current form.
Could you please expand this a bit?
Adding a new field to debian/control always needs a change in our tools, and
this one touches package managers. What's wrong with this? :)
Thanks for commenting,
David
--
. ''`. Debian developer | http://wiki.debian.org/DavidPaleino
: :' : Linuxer #334216 --|-- http://www.hanskalabs.net/
`. `'` GPG: 1392B174 ----|---- http://snipr.com/qa_page
`- 2BAB C625 4E66 E7B8 450A C3E1 E6AA 9017 1392 B174
Reply to: