[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