Wandering Thoughts archives

2007-06-14

Getting source RPMs with yumdownloader (part 2)

To follow up the first installment, it turns out that enabling the source repositories has a side effect that I didn't think about at the time: it no longer looks in the default repositories.

(This is a general thing in yumdownloader: any time you specify a repository explicitly, it disables all the default ones. This makes me grumpy. While you can argue that this makes a sort of sense, it is not how yum itself behaves when you enable repositories, and yumdownloader uses the exact same command line switch that yum does, so people are going to expect it to behave the same.)

This matters because there are binary RPMs that are built from source RPMs with different names; the obvious case is most of the -devel RPMs, but there are a number of others that are less obvious (this is why the extra mapping step mentioned in the first installment exists). Unfortunately yumdownloader consults the normal binary RPM repositories to find this information, and without them gets nowhere.

(At least you get an error message.)

Since this means that you now really want to give yumdownloader at least seven switches (six of them with arguments) to download source RPMs, I now have a shell script I call yumsource:

; cat yumsource
#!/bin/sh
yumdownloader --source \
    -e core-source -e core \
    -e extras-source -e extras \
    -e updates-source -e updates \
    "$@"

(Add extra repositories to taste. I admit my real script has the livna repository too.)

linux/YumdownloaderSourceII written at 23:22:15; Add Comment


Page tools: See As Normal.
Search:
Login: Password:
Atom Syndication: Recent Pages, Recent Comments.

This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.