Sometimes the changelog entries contain "<" and/or ">" symbols.
For
example, a fragment of the changelog of "k3b" package:
* Wed Oct 6 02:00:00 2004 Harald Hoyer <harald(a)redhat.com>
0:0.11.17-1
- version 0.11.17
- revert the dao -> tao change
- add the suid feature to every app automatically
note the "->" in the line:
- revert the dao -> tao change
When I create my local repodata ("cd somewhere; createrepo ."), the
correspond fragment appears in the "repodata/other.xml.gz" file, in the
form of:
- revert the dao -> tao change
Then, when I update my repodata by "createrepo --update .", I receive an
error:
> Scanning old repo data
> Indexed 2997 base nodes
> Indexed 3001 filelist nodes
> /var/ftp/.4/fedora-8/fedora/i386/./repodata/other.xml.gz:118813:
> parser error : Detected an entity reference loop
- revert the dao -> tao change
>
^
> Traceback (most recent call last):
> File "/usr/share/createrepo/genpkgmetadata.py", line 722, in
<module>
> main(sys.argv[1:])
> File "/usr/share/createrepo/genpkgmetadata.py", line 645, in main
> mdgen.doPkgMetadata(directory)
> File "/usr/share/createrepo/genpkgmetadata.py", line 161, in
> doPkgMetadata
> basefile, flfile, otherfile, opts)
> File "/usr/share/createrepo/readMetadata.py", line 41, in __init__
> self.scan()
> File "/usr/share/createrepo/readMetadata.py", line 64, in scan
> root = libxml2.parseFile(self.files['other']).getRootElement()
> File "/usr/lib/python2.5/site-packages/libxml2.py", line 1279, in
> parseFile
> if ret is None:raise parserError('xmlParseFile() failed')
> libxml2.parserError: xmlParseFile() failed
IOW, the initial "full" createrepo run seems OK, the subsequent run with
"--update" is failed.
Any comments? Whether it is some bug in createrepo, or in some yum
components?
Regards,
Dmitry Butskoy
http://www.fedoraproject.org/wiki/DmitryButskoy