mrepo
mrepo copied to clipboard
"merge" feature doesn't work?
the documentation indicates:
| ### Example4: Merging repositories | [dist4] | name = Distribution example $release ($arch) | release = 4 | metadata = apt repomd yum | contrib = rsync://rsync.dist4.org/dist/$release/$arch/$repo/ | extras = rsync://rsync.dist4.org/dist/$release/$arch/$repo/ | merge = mrepo://$nick/contrib/ | mrepo://$nick/extras/
the actual code, however, walks through the listed URLs for a target and, if they are file:// or mrepo://, does a (forced) symlink to the url directory. that means the last url visited is the one and only repository that will be included in the ostensibly merged target. am I doing something wrong?
On Wed, 18 Jan 2012, Rubio9 wrote:
the documentation indicates:
Example4: Merging repositories
[dist4] name = Distribution example $release ($arch) release = 4 metadata = apt repomd yum contrib = rsync://rsync.dist4.org/dist/$release/$arch/$repo/ extras = rsync://rsync.dist4.org/dist/$release/$arch/$repo/ merge = mrepo://$nick/contrib/ mrepo://$nick/extras/
the actual code, however, walks through the listed URLs for a target and, if they are file:// or mrepo://, does a (forced) symlink to the url directory. that means the last url visited is the one and only repository that will be included in the ostensibly merged target. am I doing something wrong?
Yes, merging does no longer work. The mrepo method is now only used for adding repositories to more than one distribution (e.g. adding repoforge to both centos, rhel and sl without requiring 3x downloading).
-- dag wieers, [email protected], http://dag.wieers.com/ -- dagit linux solutions, [email protected], http://dagit.net/
[Any errors in spelling, tact or fact are transmission errors]
Thanks for clarifying. I assume this is now "working as designed" and won't be changed? I have a set of locally created rpms we want to provide to more than one distribution under a consistent repository name. Some of the rpms are of necessity specific to a particular distribution, but most are distro and arch agnostic. I was hoping to essentially use "homebrew = file:///basedir/common/homebrew file:///basedir/$nick/homebrew" to combine both common and distro-specific homebrewed rpms into one repo per distro that incorporates all the homebrews into one repo. Obviously that doesn't work, but wondering if (a) it should or (b) there's a better mrepo way to do that.
No, it definitely is not "working as designed", the functionality disappeared when adding functionality that was deemed more important. And the feature never returned. I think the demand is pretty low for this because you can achieve the same thing by simply adding both repositories on the client side.
I am open for patches implementing this, however the implementation should only affect the output-part (/var/www/mrepo), not the synchronization part (/var/mrepo). And this implementation could in fact also be merged with the "all" repository.
Did this ever get fixed? It would be awesome to be able to use this feature