== Getting source RPMs with _yumdownloader_ In theory, the _yumdownloader_ program that is part of the _yum-utils_ package will download the source RPMs if you want it to. In practice I spent a long time having it not work on my Fedora Core 6 machines, until I read yet another bland bit of advice telling me to use it and decided to figure out just what was going on. (The problem was quite frustrating, because _yumdownloader_ never complained; it just silently did nothing.) It turns out that the trick is that *you need to specifically enable the source repositories*; these are not enabled by default. At least in Fedora Core 6, the names of these repositories are _core-source_, _updates-source_, and _extras-source_ (for the core, core updates, and Fedora Extras respectively). Unless you already know where an RPM package comes from, you might as well enable all three. And I have to praise the Fedora Wiki's [[guide on how to rebuild kernel RPMs http://fedoraproject.org/wiki/Docs/CustomKernel]]. Not only is it a useful guide to building kernel RPMs, but without it I wouldn't have been pushed into figuring out what was up with _yumdownloader_. (I do suggest [[using quilt to put together patches PatchingRPMsWithQuilt]] instead of their more brute-force approach.) === Sidebar: why _yumdownloader_ is silent when this happens _Yumdownloader_'s silence in this case is probably a bug, and it's sort of an interesting one. The normal process complains if a command line argument cannot be mapped into one or more RPMs. However, when you ask for source RPMs there is an additional step to map the RPMs found for each command line argument into their source RPM, and this mapping code doesn't check to see if it wound up with any source RPMs. (I suspect that the _yumdownloader_ developers have the source RPM repositories enabled by default.)