Re: [arch-general] Something really wrong with yum-createrepo from AUR - doesn't work. [Solved - sort of]

2010-03-13 Thread David C. Rankin
On 03/13/2010 01:57 PM, David C. Rankin wrote:
 Guys,
 
   The yum-createrepo package seems not to be the same as the createrepo 
 package
 that you normally see. Specifically executing the yum-createrepo script with 
 the
 help option discloses:
 
 [13:35 nirvana:/home/backup/rpms] # createrepo --help
 Usage: genpkgmetadata.py [options]
 
 Options:
   --version show program's version number and exit
   -h, --helpshow this help message and exit
   -q, --quiet   output nothing except for serious errors
   -v, --verbose output more debugging info.
 snip
 
 Huh?? Usage: genpkgmetadata.py [options]
 
   genpkgmetadata.py is part of createrepo, but the expected output is:
 
 13:38 nemesis:~ createrepo --help
 
 createrepo [options] directory-of-packages
 
 Options:
  -u, --baseurl url = optional base url location for all files
  -o, --outputdir dir = optional directory to output to
  -x, --exclude = files globs to exclude, can be specified multiple times
  -q, --quiet = run quietly
 
   The AUR package doesn't seem to be looking for the correct input. You 
 can't
 create or update a repository without specifying where the repository is??
 However, the packages do share many of the same options -p pretty, -d create
 sqlite dbs, etc.., but regardless, running the yum-createrepo from AUR fails:
 
 [13:41 nirvana:/home/backup/rpms] # createrepo --update -d factory_11.0/
 Traceback (most recent call last):
   File /usr/share/createrepo/genpkgmetadata.py, line 249, in module
 main(sys.argv[1:])
   File /usr/share/createrepo/genpkgmetadata.py, line 223, in main
 mdgen.doPkgMetadata()
   File /usr/lib/python2.6/site-packages/createrepo/__init__.py, line 367, in
 doPkgMetadata
 self.writeMetadataDocs(packages)
   File /usr/lib/python2.6/site-packages/createrepo/__init__.py, line 531, in
 writeMetadataDocs
 self.primaryfile.write(po.xml_dump_primary_metadata())
   File /usr/lib/python2.6/site-packages/yum/packages.py, line 1082, in
 xml_dump_primary_metadata
 msg += misc.to_unicode(self._dump_format_items())
   File /usr/lib/python2.6/site-packages/yum/packages.py, line 967, in
 _dump_format_items
 msg += self._dump_requires()
   File /usr/lib/python2.6/site-packages/yum/packages.py, line 1022, in
 _dump_requires
 mylist = self._requires_with_pre()
   File /usr/lib/python2.6/site-packages/yum/packages.py, line 1278, in
 _requires_with_pre
 pre = map(self._is_pre_req, lst)
   File /usr/lib/python2.6/site-packages/yum/packages.py, line 1268, in 
 _is_pre_req
 rpm.RPMSENSE_SCRIPT_PRE |
 AttributeError: 'module' object has no attribute 'RPMSENSE_PREREQ'
 
 Anybody have an idea what is going on? I think if the errors are corrected it
 will work, but I'm nut sure the PKGCONFIG is putting all the pieces together
 correctly. I guess I'll try just putting the package together from source and
 compare what is going on, but if anybody has any ideas, I would welcome the
 input and help.
 
 

Alright,

The answer to the first question is AUR is pulling in the development 
version
of 'yum-createrepo' which is much different from the stable release of
createrepo. They are the same package, but miles apart.

The stable release is:

http://createrepo.baseurl.org/download/createrepo-0.4.11.tar.gz

The development release used by AUR is:

http://createrepo.baseurl.org/download/createrepo-0.9.8.tar.gz

Using the stable release, installed from source works, but gives deprecation
warnings. The following just calls createrepo -d --update opensuse_11.0/ and
then call gpg to sign the repo. The warnings from create repo are the first 3
below. Yes, I know libgladeui is a corrupt package. How do I work around the
deprecations:

[14:12 nirvana:/home/backup/rpms] # ./data/updt-sign-repo.sh
sqlite metadata tables found -- updating

/usr/share/createrepo/dumpMetadata.py:24: DeprecationWarning: the md5 module is
deprecated; use hashlib instead
  import md5
/usr/share/createrepo/dumpMetadata.py:25: DeprecationWarning: the sha module is
deprecated; use the hashlib module instead
  import sha
/usr/share/createrepo/dumpMetadata.py:47: DeprecationWarning: use the name 
attribute
  fname = self.filename[:-3]
980/5301 * i586/libopencore-amrwb0-0.1.2-0.pm.1.1.i586.rpm  
mm
Error opening package - i586/libgladeui-1-7-3.4.3-24.1.i586.rpm
5301/5301 * src/cairomm-1.4.8-16.1.src.rpm
rpmpmmpm
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Update of metadata (sqlite) -- OK


Signing the repository after update...

Other than the deprecation warnings, with the stable version of createrepo,
repoview and gpg, I can completely manage the 3 rpm repositories I maintain on
my Arch box -- that's cool...



-- 
David C. Rankin, J.D.,P.E.
Rankin Law Firm, PLLC
510 Ochiltree Street
Nacogdoches, Texas 75961
Telephone: (936) 715-9333
Facsimile: (936) 715-9339
www.rankinlawfirm.com


Re: [arch-general] Something really wrong with yum-createrepo from AUR - doesn't work. [Solved - sort of]

2010-03-13 Thread Loui Chang
 On 03/13/2010 01:57 PM, David C. Rankin wrote:
  The yum-createrepo package seems not to be the same as the
  createrepo package that you normally see. Specifically executing
  the yum-createrepo script with the help option discloses:
  

It's better if these things are documented on the package's AUR page.