[Pulp-list] incorrect RPM paths in sync attempts

Alan Milligan alan.milligan at last-bastion.net
Tue Apr 28 11:41:17 UTC 2015


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.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