[Pulp-dev] IBM's yum "repository" vs a normal sane repository
Sean Myers
sean.myers at redhat.com
Mon Jan 22 22:20:19 UTC 2018
On 01/19/2018 02:36 PM, Will Darton wrote:
> Brian thanks for the response
> So pardon my newb question here, but I've not delved this deep in yum repo
> xmls..
> Would the formatting of the xml make a difference?
Not Brian, but the short answer is "no". Long answer below.
> In the foreman generated primary.xml I have a stanza such as this
> <?xml version="1.0" encoding="UTF-8"?>
> <metadata packages="10" xmlns="http://linux.duke.edu/metadata/common"
> xmlns:rpm="http://linux.duke.edu/metadata/rpm"><package type="rpm">
> <name>libgomp</name>
> <arch>ppc</arch>
> <version epoch="0" rel="1" ver="6.3.0" />
> <checksum pkgid="YES" type="sha256">081c485b68e30e6c3f53a3b0932f3b
> 0067d687797713303734060e6c555da745</checksum>
> <summary>GCC OpenMP 2.5 shared support library</summary>
> <description>This package contains GCC shared support library which is
> needed
> for OpenMP 2.5 support.
>
>
> if [ "0" == 1 ]
> then
>
> Work in Progress</description>
> <packager />
>
>
> And then in the direct mirrored primary.xml I have the same stanza but with
> proper formatting
> <package type="rpm">
> <name>libgomp</name>
> <arch>ppc</arch>
> <version epoch="0" ver="6.3.0" rel="1"/>
> <checksum type="sha256" pkgid="YES">081c485b68e30e6c3f53a3b0932f3b
> 0067d687797713303734060e6c555da745</checksum>
> <summary>GCC OpenMP 2.5 shared support library</summary>
> <description>This package contains GCC shared support library which is
> needed
> for OpenMP 2.5 support.
>
>
> if [ "0" == 1 ]
> then
>
> Work in Progress</description>
> <packager></packager>
>
>
>
> I do notice also in the foreman/pulp generated primary.xml, there appears
> to be a missing <packager> stanza after the </description> So I'm guessing
> the xml is getting misread as its ingested and regenerated by pulp
<packager /> is functionally identical to <packager></packager>[0]; the location
of the slashes matters there.
Additionally, whitespace between tags should't matter[1][2], so the newline
before "<package" doesn't matter.
I think it's unlikely that those two things are the cause of the problem here.
The original error does indicate a malformed xml document, unfortunately doesn't
go into detail about exactly where:
> TypeError: Parsing primary.xml error: Start tag expected, '<' not
> found
I suspect it's failing on the very start of the document, though, since that's
the only real place a parser can be sure it needs to see a start tag.
In your direct mirrored xml example, the xml declaration [0] and the outer
metadata tag as seen in the foreman-generated xml seem to be missing:
> <?xml version="1.0" encoding="UTF-8"?>
> <metadata ... >
It might be useful to debugging to paste that mirrored primary.xml somewhere, in
its entirety.
[0]: https://www.w3.org/TR/REC-xml/#sec-prolog-dtd
[1]: https://www.w3.org/TR/REC-xml/#NT-EmptyElemTag - Note that the definition
there implicitly supports only "<tag/>" or "<tag />", but support for
"<tag></tag>" is demonstrated in the examples.
[2]: https://www.w3.org/TR/REC-xml/#sec-white-space - "In editing XML documents,
it is often convenient to use "white space" (spaces, tabs, and blank lines) to
set apart the markup for greater readability. Such white space is *typically not
intended for inclusion in the delivered version of the document*.[emphasis mine]"
[3]: https://www.w3.org/TR/REC-xml/#sec-element-content - "An element type has
element content when elements of that type MUST contain only child elements (no
character data), *optionally separated by white space*[emphasis mine]"
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 866 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/pulp-dev/attachments/20180122/7563accb/attachment.sig>
More information about the Pulp-dev
mailing list