On Oct 19, 2016, at 7:27 AM, Alexey Loubyansky
<alexey.loubyansky(a)redhat.com> wrote:
Me and Stuart have been thinking about how to express feature-pack
package selection in an XML. Each one came up with a proposal but we
appear to have slightly different preferences. In case anybody has an
opinion or a better suggestion, please, share.
Brief description: feature-pack consists of packages. A package is a
unit of content. So a set of packages determines the target installation
content-wise. Feature-pack has a set of default packages. These are the
packages that get installed by default, i.e. when the user installs the
feature-pack w/o specifying any package preferences. In addition to the
default ones a feature-pack may contains non-default packages, these are
present in the feature-pack but will be installed only if the user
explicitly asks for them.
So, the question is how to express these package preferences in an XML.
Proposal 1.
- include-default flag (element or attribute) which defaults to true
(meaning the default packages will be included by default);
Th “include” element is still supported here, right? So, I can get all the default ones
and then use include elements to pull in additional ones.
- if include-default is false (meaning nothing is installed by
default),
then 'include' element can be used to pick the specific packages
(default and non-default ones) to be installed;
- otherwise (when include-default is true) 'exclude' element can be used
to exclude specific undesired default packages.
Can “exclude” be used to exclude dependencies? So I want “a” but not its dependency “b”?
If the answer is yes for optional dependencies, what if the dependency isn’t optional?
Proposal 2.
- exclude element - applicable to any package and means do not install
the package (and its dependencies);
- include element - applicable to non-default packages and means do
install the non-default package (and its dependencies);
What happens if it’s used for a default package? The tool forgives this, right?
- pick element - applicable to any package and means install only the
picked package(s)
and it’s dependencies? If yes, all its dependencies or only non-optional?
ignoring other default and non-default ones. pick
cannot be used in combination with exclude and include.
Basically, 'include' and 'exclude' in both proposals are practically the
same. The difference is how the picking is expressed. In the first one,
everything is explicitly excluded and then the desired ones are
explicitly included, in the second one the desired ones are simply
explicitly picked.
The answers to my questions on Proposal 1 impact the semantics of include/exclude in
different cases, so I’ll defer expressing an opinion for now. :)
Thanks,
Alexey
_______________________________________________
wildfly-dev mailing list
wildfly-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/wildfly-dev
--
Brian Stansberry
Manager, Senior Principal Software Engineer
JBoss by Red Hat