Jeremy Katz wrote:
On Mon, 2008-07-28 at 22:44 +0200, Jeroen van Meeuwen wrote:
> First extending yum's exclude setting with packages excluded from the
> compose in the kickstart package manifest helps in group selection (see
> also #456882), since @core has a mandatory package called
> "fedora-logos". Although livecd-tools already removes the packages
> (after package and group selection) in the excluded list, I think this
> is cleaner as not even dependency resolving will know about the package
> explicitly excluded (and the package is thus not pulled in accidently,
> afterwards).
The problem with this is that it's an (albeit subtle) change in what the
semantics of the kickstart config are. The fact that you don't end up
with broken deps, even if you do something silly like -glibc, is
something that's been relatively important in the past. And given that
you can do per-repo exclusion of packages,
This sounds to me like moving the exclude functionality of the package
manifest to the repo configuration directive...
I don't know that switching
to - being an exclude vs a deselect is advantageous enough to
outweigh
the loss wrt broken deps.
If you do something like -glibc you may have very good reasons for doing
so. Note that -glibc and including
customly-compiled-appliance-worthy-glibc is a very, very valid use case.
1) an explicit exclude should be excluded no matter what. Failed
dependencies are a good indicator you have excluded the wrong package.
2) Randomly including what is explicitly indicated should be excluded
changes the semantics of the kickstart package manifest from "a decent
way to configure what packages should be on the system, and what
packages should absolutely not" to a "monkey's selection of the
available packages". If you can't reasonably, accurately predict what it
does, it's done for.
Especially as any change here needs to be handled consistently
across
all tools using kickstart files, not just livecd-creator.
Well... actually only the tools using kickstart files that have
exclusive dependency resolving. pungi for example has inclusive
dependency resolving and ignores the explicit package manifest excludes
as well, and for valid reasons as it is allowing conflicts in the
package set because it's installation media and doesn't know what
packages may or may not be preferred. Revisor then again allows
exclusive dependency resolving as well and again is one of the tools on
the list that is going to change (for the better, as I explained).
You give me a list of packages or tools that show this kind of behavour,
please. I know anaconda is one of them, so what else?
Kind regards,
Jeroen van Meeuwen
-kanarip