[Pulp-list] incorrect RPM paths in sync attempts
Michael Hrivnak
mhrivnak at redhat.com
Mon Apr 27 13:13:07 UTC 2015
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.milligan at last-bastion.net>
To: pulp-list at 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 at redhat.com
https://www.redhat.com/mailman/listinfo/pulp-list
More information about the Pulp-list
mailing list