Re: createrep question

Seth Vidal <[email protected]>
Newsgroups gmane.linux.rpm.yum
Message-ID <[email protected]>

On Thu, 25 Feb 2010, Kidwell,jr, Jack wrote:

> The master himself! Thanks for the quick reply.
>
> Since it's COTS, I cannot provide the RPM. The vendor appears to offer an RPM as an afterthought; their principal market is Windows.
>
> I've patched our createrepo to relax this behavior with a command line option. Would this be useful to others?
>

I suspect 'relaxing' that behavior will result in other 'interesting' 
results/behavior.

If you cannot provide the actual rpm - how about providing the header of 
the rpm?

run this script against the rpm, it'll output a pkgname.hdr file - send me 
that file.

thanks,
-sv

_______________________________________________
Yum mailing list
[email protected]
http://lists.baseurl.org/mailman/listinfo/yum
returnhdrfile.py (text/plain, 729 B)
#!/usr/bin/python

import rpm
import sys
import os

def returnHdr(ts, package):
    """hand back the rpm header or raise an Error if the pkg is fubar"""
    try:
        fdno = os.open(package, os.O_RDONLY)
    except OSError, e:
        print "Error opening file"
    ts.setVSFlags(~(rpm.RPMVSF_NOMD5|rpm.RPMVSF_NEEDPAYLOAD))
    try:
        hdr = ts.hdrFromFdno(fdno)
    except rpm.error, e:
        print "Error opening package"
    if type(hdr) != rpm.hdr:
        print "Error opening package"
    ts.setVSFlags(0)
    os.close(fdno)
    return hdr

ts = rpm.TransactionSet()
hdr = returnHdr(ts, sys.argv[1])
fn = '%s.hdr' % hdr['name']
fo = open(fn, 'w')
fo.write(hdr.unload(1))
fo.close()
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.