Michael, That was exactly it!
My stuff is/has been unchanged using the createrepo libraries and been completely solid across all kinds of yum environments for over a decade: yet apparently incorrect ;) Alan On 04/27/2015 11:13 PM, Michael Hrivnak wrote: > Alan, > > My guess is that the problem will go away if you add a trailing slash to the > URL in your "xml:base" tag. > > When joining a relative path onto a base URL, it is correct to drop any > trailing segments after the last slash. You can read the details in RFC 3986. > > https://tools.ietf.org/html/rfc3986#section-5.2.3 > > And we can see that python's urljoin follows the RFC: > >>>> import urlparse >>>> urlparse.urljoin('https://linux.last-bastion.net/LBN/up2date/cloud/19', >>>> 'rubygem-boxgrinder-bastion-1.0.10-1.lbn19.noarch.rpm') > 'https://linux.last-bastion.net/LBN/up2date/cloud/rubygem-boxgrinder-bastion-1.0.10-1.lbn19.noarch.rpm' >>>> urlparse.urljoin('https://linux.last-bastion.net/LBN/up2date/cloud/19/', >>>> 'rubygem-boxgrinder-bastion-1.0.10-1.lbn19.noarch.rpm') > 'https://linux.last-bastion.net/LBN/up2date/cloud/19/rubygem-boxgrinder-bastion-1.0.10-1.lbn19.noarch.rpm' > > > Michael > > ----- Original Message ----- > From: "Alan Milligan" <alan.milli...@last-bastion.net> > To: pulp-list@redhat.com > Sent: Sunday, April 26, 2015 11:57:37 PM > Subject: [Pulp-list] incorrect RPM paths in sync attempts > > Hi, > > Trying to set up a sync feed against my yum channels, I'm getting > incorrect RPM paths according to my yum server logs. For example, with > a repo feed https://linux.last-bastion.net/LBN/up2data/cloud/19, package > attempts are made for (eg) > https://linux.last-bastion.net/LBN/up2date/cloud/rubygem-boxgrinder-bastion-1.0.10-1.lbn19.noarch.rpm > (it's dropped the '19' directory from the url path) - and thus the > package not found.... > > I'm wondering if there's not something nasty going on - there is logic > to munge the location in the xml (but that only looks like for the > localised distributor, not the importer). > > I use xml:base within my location directives in primary.xml: > > <location xml:base="https://linux.last-bastion.net/LBN/up2date/cloud/19" > href="rubygem-boxgrinder-bastion-1.0.10-1.lbn19.noarch.rpm"/> > > This is of course valid schema repodata, and all of the same yum > libraries handle all of this validly on the same pulp server. Note that > this is a pure xml-based yum repo (no sqlite). This is on pulp 2.6.0. > > Anyone have any ideas? > > Alan > > _______________________________________________ > Pulp-list mailing list > Pulp-list@redhat.com > https://www.redhat.com/mailman/listinfo/pulp-list _______________________________________________ Pulp-list mailing list Pulp-list@redhat.com https://www.redhat.com/mailman/listinfo/pulp-list