Hi, All! I try to refactor nevral.py, and play with rpm-python... ==== >>> import rpm, os >>> _db = rpm.opendb(1) >>> _ts = rpm.TransactionSet('/', _db) >>> s = '/arc/parted-1.4.10-1.i386.rpm' >>> _fd = os.open(s, os.O_RDONLY) >>> _hdr = rpm.headerFromPackage(_fd)[0] >>> os.close(_fd) >>> _hdr[rpm.RPMTAG_NAME] 'parted' >>> _hdr[rpm.RPMTAG_VERSION] '1.4.10' >>> _ts.add(_hdr, (_hdr, s), 'u') >>> _ts.order() >>> _ts.depcheck() >>> _ts.getKeys() Segmentation fault (core dumped) vb:/arc# gdb /usr/bin/python core GNU gdb Red Hat Linux (5.1-1) [skip] #0 py_rpmtransGetKeys (s=0x80c3f60, args=0x80b0b18) at rpmmodule.c:1453 1453 rpmmodule.c: No such file or directory. in rpmmodule.c (gdb) bt #0 py_rpmtransGetKeys (s=0x80c3f60, args=0x80b0b18) at rpmmodule.c:1453 #1 0x08055752 in PyEval_CallObjectWithKeywords () #2 0x0805562e in PyEval_CallObjectWithKeywords () #3 0x0805445c in PyEval_EvalCode () #4 0x08052155 in PyEval_EvalCode () #5 0x080655c7 in PyRun_File () #6 0x080649c8 in PyRun_InteractiveOne () #7 0x08064810 in PyRun_InteractiveLoop () #8 0x0806472f in PyRun_AnyFile () #9 0x08050284 in Py_Main () #10 0x0804fc33 in main () #11 0x400743f6 in __libc_start_main (main=0x804fc14 <main>, argc=1, ubp_av=0xbffffa34, init=0x804f1b0 <_init>, fini=0x8096590 <_fini>, rtld_fini=0x4000d2dc <_dl_fini>, stack_end=0xbffffa2c) at ../sysdeps/generic/libc-start.c:129 ==== rpm-4.0.4-7x rpm-python-4.0.4-7x -- Bor.