== Excluding buggy RPMs from a _yum_ repository 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: # _createrepo_ takes 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 _createrepo_ version that matches the Fedora Core 4 _yum_, 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.)