Comps fails to validate (patch inside!)

Bill Nottingham notting at splat.cc
Mon Jul 14 03:40:52 UTC 2014


As the guilty party in many cases for not updating the .rng file...

Kevin Fenzi (kevin at scrye.com) said: 
> > The comps-el4.xml.in and comps-el5.xml.in changes remove a nearly
> > empty <group> named "editors".  The description claims that the group
> > contains emacs and vi, but it doesn't.  All it contains is an XEmacs
> > metapkg.  As an XEmacs developer, I am flattered that our product was
> > included, but the current comps.rng knows nothing of <metapkg>.  This
> > looks like it was mistakenly included, or mistakenly not removed all
> > the way, hence the removal.
> 
> Seems fine. 

As Kevin said, EPEL groups are additive to RHEL groups; the descriptions are
supposed to match what they are in RHEL/CentOS if they share the name of a
group in EL. Hence, you can remove an empty 'editors' group, but I wouldn't
change the description.

> > In comps-epel7.xml.in, we currently have an <environment> prior to any
> > <group>.  That is not allowed by comps.rng, which wants all <group>s
> > first, then <environment>s.  This patch moves the <environment> to
> > satisfy that restriction.  But there is something odd here.  That is
> > the one and only <environment> in the file.  Is this a mistake?
> > Should there be <environment>s in comps-epel7.xml.in at all?  If so,
> > where are the rest of them?
> 
> epel comps files are additive to rhel comps files. So, they will be
> much smaller in general and not have any of the base env stuff. 
> I don't know off hand if rhel7 uses env's, but I think so. 

It does.

> > In addition to the dangling "clustering" reference that started this
> > thread, comps-f18.xml.in, comps-f19.xml.in, comps-f20.xml.in,
> > comps-f21.xml.in, and comps-f22.xml.in all have a libreoffice group
> > that is missing <default> and <uservisible> elements.  i took my best
> > guess at what the values of those elements should be.  In addition,
> > all but comps-f18.xml.in have a <group> named "3d-printing".  However,
> > that is not a valid ID, because it starts with a digit.  I changed it
> > to "three-d-printing", but somebody can probably come up with a better
> > name than that.
> 
> Fun. 

Please don't change group names in released releases - it's essentially an
ABI for kickstart files, and we don't want to break those. I suspect the fix
here is to change the definition to allow groups that start with a number -
yum handles this OK.


> > There are quite a few <packagereq> elements that do not carry a "type"
> > attribute.  It looks like comps.rng is supposed to support this, and
> > that those elements are supposed to default to the type "optional".
> > However, the "type" attribute has to be <optional> for that to work.

It's not optional - having no type set makes the type 'mandatory'. From the
yum code:

                genre = child.attrib.get('type')
                if not genre:
                    genre = u'mandatory'

The logic is that for groups that are used as building blocks of
environments, they're not intended to be modified - so all packages are
mandatory, and there are no optional/defualt ones.


> > In the "core" group, there is a package declared like this:
> > 
> >       <packagereq arch="armhfp"
> > type="mandatory">uboot-tools</packagereq>
> > 
> > but comps.rng doesn't know anything about an "arch" attribute.
> > Assuming that this is actually correct, and that consuming tools know
> > to expect such an attribute, I added support for this to comps.rng.
> 
> No idea here. Dennis and/or other arm folks might know more.

yum doesn't use arch= here, but it's used by some tools that process comps
files to write new ones. It's fine to add it to comps.rng.

> > Finally, in some <environment>'s <optionlist>'s <groupid>s, a
> > "default" attribute has appeared.  The current comps.rng does not
> > allow that.  Once again, assuming that this is actually correct and
> > that consuming tools expect that attribute, I added support for it.

Yes, that's correct.

Bill


More information about the devel mailing list