Well, as we do have quite a few custom built RPM’s, I was searching for a new solution to manage the repo(s). Currently I do have a single repository per distribution.
One thing one needs to know about createrepo (from createrepo), it doesn’t support this type of thing in the first place. So I had to come up with another way of doing it. First, I created a proper layout (much like the Debian Official Repository layout):
- dists/
- sle9/ (contains the repodata for SLES 9)
- sle10/ (contains the repodata for SLES 10)
- esx35/ (contains the repodata for VMware ESX 3.5)
- i586/
- noarch/
- ppc64/
- src/
- x86_64/
As you can see, this is gonna get tricky in regards to managing the RPMS in a single place, while keeping the distributions apart.
So I went ahead, rewrote the script that perviously managed our two repositories for SLES 9/10. The limitation I pointed out above (keeping the RPMS in a single place), is easily overcome by using bind-mounts (sure it looks messy).
Now the only problem I’m still facing is that createrepo isn’t even looking at the excludes when it’s called by the script. But if I pass the raw command line the script is calling on a simple shell, it works like a charm .. So I don’t have the slightest clue right now, why in gods name it ain’t working … 🙁