We mirror the Fedora Core 4 updates area, and we use
yum
to install things from it, and Red Hat recently released an extremely unsuitable (for us) update to
xorg-x11
(as recounted in MoreFC4Problems ). So we needed to take those buggy RPMs out of circulation and keep them out.
Fortunately this turns out to be pretty easy, because not all RPMs in a directory have to be in the repository metadata that
yum
uses. This let us continue to pull a full mirror from Red Hat (keeping the mirroring script simple) and just built our own metadata that excludes the buggy RPMs we don't want.
Modern
yum
repository metadata is created with the
createrepo
command ( not
yum-arch
, despite the latter being packaged with
yum
and the former not), which is in the
createrepo
RPM.
createrepo
has a
-x
option to exclude RPMs from the metadata it makes;
-x
even takes a glob pattern, like say
xorg-x11-*6.8.2-37.FC4.48.1*
(remember to quote it).
There are two drawbacks with this:
createrepotakes a while to run.- We're now dependent on having a Fedora Core 4 machine around to run the mirroring on (because we probably need to use a
createrepoversion that matches the Fedora Core 4yum, so they agree on the metadata format).
Hopefully someday Red Hat will fix the bugs and we can go back to using all of the current updates and thus to just mirroring the update repository metadata as well as all of the RPMs.
(Because we are only ignoring a specific version of
xorg-x11
,
yum
will include the previous, working Fedora Core 4
xorg-x11
update in the metadata. Which is what we want, because we definitely want that update installed.)