platform/upstream/rpm.git
14 years agoFix rpmProblem reference counting in python bindings
Panu Matilainen [Wed, 18 Nov 2009 09:33:57 +0000 (11:33 +0200)]
Fix rpmProblem reference counting in python bindings

14 years agoDeclare a few python functions only taking one argument as such
Panu Matilainen [Wed, 18 Nov 2009 09:22:55 +0000 (11:22 +0200)]
Declare a few python functions only taking one argument as such

14 years agoRip python checkSignals() wtf'ery
Panu Matilainen [Wed, 18 Nov 2009 09:17:51 +0000 (11:17 +0200)]
Rip python checkSignals() wtf'ery
- since the function takes no arguments, declare it as such...

14 years agoPython archscore() only ever takes one argument, simplify
Panu Matilainen [Wed, 18 Nov 2009 08:54:58 +0000 (10:54 +0200)]
Python archscore() only ever takes one argument, simplify

14 years agoMake python ts.problems() return a python list, not rpm.ps object
Panu Matilainen [Wed, 18 Nov 2009 08:41:26 +0000 (10:41 +0200)]
Make python ts.problems() return a python list, not rpm.ps object
- rpm.ps object only supports iteration and subscript (with wonderfully
  wacko semantics), returning a regular list serves us better
- rip the now useless rpm.ps object type

14 years agoRemove unused psFromPs()
Panu Matilainen [Wed, 18 Nov 2009 07:40:30 +0000 (09:40 +0200)]
Remove unused psFromPs()

14 years agoEliminate broken rpmps append() method from python bindings (RhBug:538218)
Panu Matilainen [Wed, 18 Nov 2009 07:35:41 +0000 (09:35 +0200)]
Eliminate broken rpmps append() method from python bindings (RhBug:538218)
- The code to insert new problems has been using invalid conversion code
  causing crashes since 2004 and nobody noticed, safe to say this is an
  unused interface. Additionally the method argument flags were wrong, it
  was declared as METH_VARARGS but actually expected METH_O semantics. RIP.

15 years agoAdd in-memory hash for caching rpmdb dependency lookups
Panu Matilainen [Fri, 30 Oct 2009 11:31:01 +0000 (13:31 +0200)]
Add in-memory hash for caching rpmdb dependency lookups
- worst case behavior for uncached dependency lookups can be disastrous,
  eg > 35s vs < 1s on my laptop for trying to remove /bin/sh provider
- we only bother caching rpmdb lookups, the other cases plenty fast already
- using in-memory cache avoids nasty in vs out of chroot issues with
  temporary db files, which otherwise were about as fast

15 years agoDocument our new format extensions
Panu Matilainen [Fri, 30 Oct 2009 07:37:36 +0000 (09:37 +0200)]
Document our new format extensions

15 years agoAdd file verifyflags format extension
Panu Matilainen [Fri, 30 Oct 2009 07:33:26 +0000 (09:33 +0200)]
Add file verifyflags format extension

15 years agoAdd file state format extension
Panu Matilainen [Fri, 30 Oct 2009 07:15:36 +0000 (09:15 +0200)]
Add file state format extension

15 years agoUpdate rpmtd formats comments to match reality
Panu Matilainen [Fri, 30 Oct 2009 07:13:08 +0000 (09:13 +0200)]
Update rpmtd formats comments to match reality
- we dont require exact int32 etc types, any numeric type works

15 years agoConvert relative imports within rpm package to absolute imports
David Malcolm [Thu, 15 Oct 2009 19:14:58 +0000 (15:14 -0400)]
Convert relative imports within rpm package to absolute imports

15 years agoPermit any file-like object in rpm.setLogFile()
Panu Matilainen [Thu, 29 Oct 2009 11:54:47 +0000 (13:54 +0200)]
Permit any file-like object in rpm.setLogFile()
- using PyObject_AsFileDescriptor() does away with another Python 3
  incompatibility and makes it more flexible.. but also more murky
  as rpmlogSetFile() only accepts FILE * streams...

15 years agoUpdate module initialization to work with both Python 2.x and 3.x
Panu Matilainen [Thu, 29 Oct 2009 10:56:18 +0000 (12:56 +0200)]
Update module initialization to work with both Python 2.x and 3.x
- split common initialization tasks to separate functions, so that only the
  details of initializing a python module object differ
- patch from David Malcolm

15 years agoRemove unnecessary (cmpfunc) casts from our type objects
Panu Matilainen [Wed, 28 Oct 2009 14:35:32 +0000 (16:35 +0200)]
Remove unnecessary (cmpfunc) casts from our type objects
- cmpfunc is no more in Python 3 and casting NULL to anything makes
  little sense anyhow

15 years agoEliminate ambiguous tp_compare and tp_richcompare from rpm.ds
Panu Matilainen [Wed, 28 Oct 2009 14:27:15 +0000 (16:27 +0200)]
Eliminate ambiguous tp_compare and tp_richcompare from rpm.ds
- both comparison types are highly ambiguous, eg what on earth does
  "foo provides bar = 1" < "bar requires foo > 2" mean?
- if straight ds1.evr vs ds2.evr comparison is needed, we'll be better
  off supporting that through rpm.versionCompare() which has clear semantics
- avoids another Python 3 incompatibility too

15 years agoAdd ds.Compare() as a thin wrapper over rpmdsCompare()
Panu Matilainen [Wed, 28 Oct 2009 14:25:46 +0000 (16:25 +0200)]
Add ds.Compare() as a thin wrapper over rpmdsCompare()

15 years agoType-check rpm.ds() comparison/search arguments everywhere
Panu Matilainen [Wed, 28 Oct 2009 14:24:16 +0000 (16:24 +0200)]
Type-check rpm.ds() comparison/search arguments everywhere
- also make them only accept one argument, simplifying arg parsing

15 years agoRip out stillborn code
Panu Matilainen [Wed, 28 Oct 2009 14:17:21 +0000 (16:17 +0200)]
Rip out stillborn code

15 years agoEliminate the ambigious tp_compare from rpm.hdr
Panu Matilainen [Wed, 28 Oct 2009 13:22:39 +0000 (15:22 +0200)]
Eliminate the ambigious tp_compare from rpm.hdr
- Avoids another Python 3 incompatibility as it doesn't have tp_compare
  anymore
- We could add a compatible tp_richcompare, but comparisons like
  'if h1 < h2: do foo' are highly ambiguous, callers are better of
  using explicit rpm.versinCompare(h1, h2) instead

15 years agoUse PyObject_AsFileDescriptor() instead of object type comparison
Panu Matilainen [Wed, 28 Oct 2009 13:55:35 +0000 (15:55 +0200)]
Use PyObject_AsFileDescriptor() instead of object type comparison
- this permits any file-like object implementing .fileno() method
  (including rpm.fd) to be dup'ed, not just PyFile subtypes
- this also avoids yet another incompatibility with Python 3 which doesn't
  have PyFile_Check() and PyFile_AsFile() at all

15 years agoDont bother calculating hardlink counts when the value is not used
Panu Matilainen [Wed, 28 Oct 2009 08:05:39 +0000 (10:05 +0200)]
Dont bother calculating hardlink counts when the value is not used
- speeds up non-verbose --list queries by some ~50%

15 years agoSupport multiple python versions in brp-python-bytecompile (RhBug:53117)
Panu Matilainen [Tue, 27 Oct 2009 14:07:43 +0000 (16:07 +0200)]
Support multiple python versions in brp-python-bytecompile (RhBug:53117)
- For *.py files in python library path, use matching python interpreter
  version for compiling, this is especially needed for Python 3 which
  is very different from Python 2 code. And even if the code compiled
  with a wrong version, it would be recompiled at run-time when invoked
  with the intended python version, causing verification errors etc.
- For *.py files outside the library path, use "system python" which
  might not be always correct but we dont really know any better.
- Patch from David Malcolm

15 years agoArgh, typo in previous commit
Panu Matilainen [Tue, 27 Oct 2009 13:15:20 +0000 (15:15 +0200)]
Argh, typo in previous commit

15 years agoRemove explicit Py_TPFLAGS_HAVE_RICHCOMPARE from ds type flags
Panu Matilainen [Tue, 27 Oct 2009 12:52:08 +0000 (14:52 +0200)]
Remove explicit Py_TPFLAGS_HAVE_RICHCOMPARE from ds type flags
- HAVE_RICHCOMPARE is included in Py_TPFLAGS_DEFAULT since at least
  Python 2.3 which is as far back as we care, no need to explicitly
  set it. Eliminating the unnecessary flag removes another Python 3
  compatibility issue as the flag is gone there.

15 years agoMake disk space problem reporting slightly saner (RhBug:517418)
Panu Matilainen [Tue, 27 Oct 2009 08:57:35 +0000 (10:57 +0200)]
Make disk space problem reporting slightly saner (RhBug:517418)
- Only report disk space/inode issues for packages that are affected
  instead of piling up all the problems in all filesystems on all remaining
  packages
- The messages are still ambiguous at best, need to figure out something
  better one of these days...

15 years agoLet Python decide the "native" string type for tag names
Panu Matilainen [Tue, 27 Oct 2009 08:44:04 +0000 (10:44 +0200)]
Let Python decide the "native" string type for tag names
- Py_BuildValue("s", ...) returns unicode objects in Python 3, string
  objects in Python 2, this is what we want here

15 years agoPermit unicode as ts.dbMatch() key argument
Panu Matilainen [Fri, 23 Oct 2009 19:10:44 +0000 (22:10 +0300)]
Permit unicode as ts.dbMatch() key argument

15 years agoAllow unicode objects as tag name everywhere
Panu Matilainen [Fri, 23 Oct 2009 18:25:08 +0000 (21:25 +0300)]
Allow unicode objects as tag name everywhere

15 years agoAdd conversion function for handling python unicode -> string issues
Panu Matilainen [Fri, 23 Oct 2009 18:07:10 +0000 (21:07 +0300)]
Add conversion function for handling python unicode -> string issues
- In Python 3 everything is unicode, forcing each and every caller to
  convert manually is a bit much.

15 years agoMake --httpproxy and friends work again (RhBug:529214)
Panu Matilainen [Thu, 22 Oct 2009 07:37:49 +0000 (10:37 +0300)]
Make --httpproxy and friends work again (RhBug:529214)
- macro fiddling to pass the macros set by --httpproxy etc popt aliases
  to the url helper
- ftp proxy and http proxy control the same thing (http proxy) now to
  keep things simple
- while at it, add %__urlhelper_localopts for local customization needs
  without having to override the entire __urlhelperopts macro

15 years agoOn Python 3, use macros to alias all usage of PyInt_ to PyLong_ equivalents
Panu Matilainen [Wed, 21 Oct 2009 10:21:01 +0000 (13:21 +0300)]
On Python 3, use macros to alias all usage of PyInt_ to PyLong_ equivalents
- Python 3 unified PyInt with PyLong, the former no longer exists
- Based on a patch by David Malcolm

15 years agoReplace PyString usage with PyBytes everywhere
Panu Matilainen [Wed, 21 Oct 2009 10:15:44 +0000 (13:15 +0300)]
Replace PyString usage with PyBytes everywhere
- In Python 2.6 PyBytes is just an alias for PyString, Python 3.0
  removed PyString entirely
- Add compatibility defines for Python < 2.6
- Based on David Malcolm's Python 3.x efforts

15 years agoEnsure RPMSENSE_RPMLIB bit is always set on rpmlib() requires in rpmds flags
Panu Matilainen [Wed, 21 Oct 2009 09:47:35 +0000 (12:47 +0300)]
Ensure RPMSENSE_RPMLIB bit is always set on rpmlib() requires in rpmds flags
- some packages in the wild have rpmlib() requires without the flag set
  due to older rpm not always setting it (for one, rpmdeps as external
  dependency  generator could cause such deps), causing bogus dependency
  failures on install
- only fix up dependencies coming from a header, rpmdsSingle() correctness
  is up to the caller

15 years agoEnsure rpmlib() dependency sanity on build
Panu Matilainen [Wed, 21 Oct 2009 09:23:50 +0000 (12:23 +0300)]
Ensure rpmlib() dependency sanity on build
- only requires on rpmlib(foo) are allowed
- make sure any rpmlib() foo dependencies have RPMSENSE_RPMLIB bit set,
  rpmdeps as external dependency generator can create rpmlib() dependencies
  without the bit set, and also any manual rpmlib() deps wont have it

15 years agoFix memory leaks on error exit from parseRCPOT()
Panu Matilainen [Wed, 21 Oct 2009 09:22:33 +0000 (12:22 +0300)]
Fix memory leaks on error exit from parseRCPOT()

15 years agoRemove leftovers from python header files
Panu Matilainen [Mon, 19 Oct 2009 14:21:31 +0000 (17:21 +0300)]
Remove leftovers from python header files
- rpmSingleHeaderFromFD() and hdrLoad() are now implemented in python,
  declarations accidentally left here
- make rpmMergeHeaders() static, nothing outside header-py.c needs

15 years agoConvert all usage of two-expression exception raising to modern syntax
David Malcolm [Thu, 15 Oct 2009 19:14:59 +0000 (15:14 -0400)]
Convert all usage of two-expression exception raising to modern syntax

Replace all usage of the two-expression
    raise foo, 'bar'
syntax with the long-equivalent
    raise foo('bar')
as the old syntax was removed in Python 3 (PEP 3109), and the new syntax
is supported in Python 2

15 years agoPyVarObject_HEAD_INIT() compatibility macro for Python < 2.6
Panu Matilainen [Mon, 19 Oct 2009 08:06:07 +0000 (11:06 +0300)]
PyVarObject_HEAD_INIT() compatibility macro for Python < 2.6

15 years agoGeneralize type object initialization to work with both Python 2.* and Python 3.*
David Malcolm [Thu, 15 Oct 2009 19:14:57 +0000 (15:14 -0400)]
Generalize type object initialization to work with both Python 2.* and Python 3.*

The layout of PyVarObject changed between python 2 and python 3, and this leads
to the existing code for all of the various PyTypeObject initializers failing to
compile with python 3

Change the way we initialize these structs to use PyVarObject_HEAD_INIT directly,
rather than merely PyObject_HEAD_INIT, so that it compiles cleanly with both major
versions of Python

15 years agoPy_TYPE() compatibility macro for Python < 2.6
Panu Matilainen [Mon, 19 Oct 2009 07:57:13 +0000 (10:57 +0300)]
Py_TYPE() compatibility macro for Python < 2.6

15 years agoGeneralize access to ob_type so that they work with both Python 2.* and Python 3.*
David Malcolm [Thu, 15 Oct 2009 19:14:56 +0000 (15:14 -0400)]
Generalize access to ob_type so that they work with both Python 2.* and Python 3.*

Python 2's various object structs use macros to implement common fields at the top of each
struct.

Python 3's objects instead embed a PyObject struct as the first member within the more refined
object structs.

Use the Py_TYPE() macro when accessing ob_type in order to encapsulate this difference.

15 years agoAvoid using python's print for Python 3.x compatibility
Panu Matilainen [Mon, 19 Oct 2009 07:30:48 +0000 (10:30 +0300)]
Avoid using python's print for Python 3.x compatibility
- print chanced from statement to a function in python 3, for our
  purposes sys.stdout.write() is sufficient and avoids dealing with
  the incompatibilities between Python 2.x and 3.x
- suggested by David Malcolm / Ville Skyttä

15 years agoUnbreak lzdio/xzdio
Panu Matilainen [Sat, 17 Oct 2009 09:15:29 +0000 (12:15 +0300)]
Unbreak lzdio/xzdio
- revert part of b0d1038190be5cb4b45e2c2c7c84ee7022164ba2 which broke
  the split-personality lzdio/xzdio

15 years agoSkip posttrans scripts of failed transaction elements
Panu Matilainen [Sat, 17 Oct 2009 08:25:53 +0000 (11:25 +0300)]
Skip posttrans scripts of failed transaction elements

15 years agoSince we really want a FILE* then get one in the first place
Panu Matilainen [Fri, 16 Oct 2009 10:36:39 +0000 (13:36 +0300)]
Since we really want a FILE* then get one in the first place
- this is visible in the librpmbuild exported goo, rename the member
  to force build-breakage on the poor souls trying to use librpmbuild API

15 years agoUse a helper function for finding fileno of specific io type
Panu Matilainen [Thu, 15 Oct 2009 11:51:28 +0000 (14:51 +0300)]
Use a helper function for finding fileno of specific io type
- also differentiate between lzdio and xzdio here

15 years agoLose unnecessary url type checking from fdSize()
Panu Matilainen [Thu, 15 Oct 2009 11:33:45 +0000 (14:33 +0300)]
Lose unnecessary url type checking from fdSize()
- we're only dealing with local files once fd is opened

15 years agoLose unused leftover definitions
Panu Matilainen [Thu, 15 Oct 2009 11:23:20 +0000 (14:23 +0300)]
Lose unused leftover definitions

15 years agoEliminate ufdio-specific read, write, seek and close
Panu Matilainen [Fri, 16 Oct 2009 09:49:08 +0000 (12:49 +0300)]
Eliminate ufdio-specific read, write, seek and close
- we dont do network IO anymore so ufdio only differs from fdio by
  downloading the file on open if necessary, after that it's just fdio

15 years agoUse fd.tell() instead of going around through os.lseek() with fdno
Panu Matilainen [Thu, 15 Oct 2009 08:36:46 +0000 (11:36 +0300)]
Use fd.tell() instead of going around through os.lseek() with fdno

15 years agoAdd tell() method to rpm.fd class
Panu Matilainen [Thu, 15 Oct 2009 08:34:26 +0000 (11:34 +0300)]
Add tell() method to rpm.fd class

15 years agoAdd ftell() clone to FD_t
Panu Matilainen [Thu, 15 Oct 2009 08:33:18 +0000 (11:33 +0300)]
Add ftell() clone to FD_t

15 years agoAvoid unnecessary dup'ing of file descriptors on header list operations
Panu Matilainen [Thu, 15 Oct 2009 08:01:00 +0000 (11:01 +0300)]
Avoid unnecessary dup'ing of file descriptors on header list operations
- convert to rpm.fd on python side already add use internal helper
  which only accepts rpm.fd type to avoid having to dup around on
  every item

15 years agoAccept rpm.fd() types file objects everywhere in python bindings
Panu Matilainen [Thu, 15 Oct 2009 07:11:37 +0000 (10:11 +0300)]
Accept rpm.fd() types file objects everywhere in python bindings
- turn rpmfdFromPyObject() into a python-level object converter, add
  a separate C-level getter for the fd pointer itself
- take advantage of python refcounting to handle differences between
  native vs converted rpm.fd in callers so we can simply decref the
  rpmfdFromPyObject() result without having to worry whether it was
  converted or not (ie should we close it or not)

15 years agoMake fdUpdateDigests() static now that its possible
Panu Matilainen [Wed, 14 Oct 2009 14:22:25 +0000 (17:22 +0300)]
Make fdUpdateDigests() static now that its possible

15 years agoMake FD_t struct opaque, finally
Panu Matilainen [Wed, 14 Oct 2009 14:19:09 +0000 (17:19 +0300)]
Make FD_t struct opaque, finally

15 years agoEliminate last remaining FD_t struct privacy violation
Panu Matilainen [Wed, 14 Oct 2009 14:14:38 +0000 (17:14 +0300)]
Eliminate last remaining FD_t struct privacy violation
- add getter for fd digest bundle, uninline the setter

15 years agoRemove cpio stuff from FD_t
Panu Matilainen [Wed, 14 Oct 2009 14:03:14 +0000 (17:03 +0300)]
Remove cpio stuff from FD_t
- only the FSM cares about cpio position, move it there - there's only
  ever one fd active inside FSM, no need to track it per-fd

15 years agoMove debug goo defs to rpmio.c
Panu Matilainen [Wed, 14 Oct 2009 13:15:05 +0000 (16:15 +0300)]
Move debug goo defs to rpmio.c

15 years agoMove pile of helpers from rpmio_internal.h to rpmio.c, remove unused stuff
Panu Matilainen [Wed, 14 Oct 2009 13:10:08 +0000 (16:10 +0300)]
Move pile of helpers from rpmio_internal.h to rpmio.c, remove unused stuff
- nothing outside rpmio.c needs these, make 'em static there
- uninlining reveals quite a few completely unused helpers...

15 years agoMove fd statistics foo inside rpmio.c now that it can
Panu Matilainen [Wed, 14 Oct 2009 13:02:00 +0000 (16:02 +0300)]
Move fd statistics foo inside rpmio.c now that it can

15 years agoMove fdDigest*() to rpmio.c where they better belong
Panu Matilainen [Wed, 14 Oct 2009 12:59:39 +0000 (15:59 +0300)]
Move fdDigest*() to rpmio.c where they better belong

15 years agoRemove pointless inlining of stuff in rpmio
Panu Matilainen [Wed, 14 Oct 2009 12:12:43 +0000 (15:12 +0300)]
Remove pointless inlining of stuff in rpmio

15 years agoUse common "not implemented" implementation of Fseek()
Panu Matilainen [Wed, 14 Oct 2009 11:45:54 +0000 (14:45 +0300)]
Use common "not implemented" implementation of Fseek()

15 years agoAdd first rough-cut python bindings for rpmio fd
Panu Matilainen [Wed, 14 Oct 2009 11:14:51 +0000 (14:14 +0300)]
Add first rough-cut python bindings for rpmio fd
- attempt to mimic python file object where possible, but nowhere near
  all methods are supported, either just not yet done or due to
  underlying limitations

15 years agoRaise exception in the converter, not caller
Panu Matilainen [Mon, 12 Oct 2009 12:15:39 +0000 (15:15 +0300)]
Raise exception in the converter, not caller

15 years agoPermit changing rpm.td tag from python
Panu Matilainen [Mon, 12 Oct 2009 12:05:50 +0000 (15:05 +0300)]
Permit changing rpm.td tag from python

15 years agoAdd limited support for modifying headers to python
Panu Matilainen [Mon, 12 Oct 2009 11:43:44 +0000 (14:43 +0300)]
Add limited support for modifying headers to python
- for now we only support tag deletion and assigning rpmtd objects, limiting
  this to copying data from other headers

15 years agoFix format extension memleak on empty strings
Panu Matilainen [Mon, 12 Oct 2009 10:49:50 +0000 (13:49 +0300)]
Fix format extension memleak on empty strings

15 years agoOutput dependency type on --requires etc queries if verbose (RhBug:528342)
Panu Matilainen [Mon, 12 Oct 2009 08:03:14 +0000 (11:03 +0300)]
Output dependency type on --requires etc queries if verbose (RhBug:528342)

15 years agoAdd RPMTAG_VERBOSE extension
Panu Matilainen [Mon, 12 Oct 2009 08:02:56 +0000 (11:02 +0300)]
Add RPMTAG_VERBOSE extension
- hack to permit different query formatting based on rpm's verbosity level

15 years agoPermit conditional query formats on not yet cached data too
Panu Matilainen [Mon, 12 Oct 2009 07:48:59 +0000 (10:48 +0300)]
Permit conditional query formats on not yet cached data too

15 years agoOops, configuring wrong ts in rpm.ts() initialization
Panu Matilainen [Sat, 10 Oct 2009 09:36:38 +0000 (12:36 +0300)]
Oops, configuring wrong ts in rpm.ts() initialization

15 years agoMove further initialization from python ts tp_new to tp_init
Panu Matilainen [Fri, 9 Oct 2009 12:44:06 +0000 (15:44 +0300)]
Move further initialization from python ts tp_new to tp_init
- lose the unnecessary rpmts_Wrap(), it's not needed and just gets
  in the way of things

15 years agoRevert explicit PyErr_NoMemory() returns to just returning NULL
Panu Matilainen [Fri, 9 Oct 2009 08:57:46 +0000 (11:57 +0300)]
Revert explicit PyErr_NoMemory() returns to just returning NULL
- tp_alloc failing is likely to be OOM but we dont know that for a fact,
  and the failing method is responsible for setting the exception

15 years agoHandle NULL in ts get/setKeyring as python None
Panu Matilainen [Fri, 9 Oct 2009 08:44:41 +0000 (11:44 +0300)]
Handle NULL in ts get/setKeyring as python None

15 years agoKill off _rpmb.error exception type
Panu Matilainen [Fri, 9 Oct 2009 06:35:42 +0000 (09:35 +0300)]
Kill off _rpmb.error exception type
- import of _rpmb messes up rpm.error to point to _rpmb.error which we
  do not want
- use ValueError for unparsable spec for now, need to figure something
  saner there still

15 years agoPermit setting and getting ts keyring from python
Panu Matilainen [Fri, 9 Oct 2009 06:30:37 +0000 (09:30 +0300)]
Permit setting and getting ts keyring from python

15 years agoAdd bindings for rpm keyring and pubkey types
Panu Matilainen [Fri, 9 Oct 2009 06:02:19 +0000 (09:02 +0300)]
Add bindings for rpm keyring and pubkey types

15 years agoAdd an interface to parse armored OpenPGP from memory
Panu Matilainen [Fri, 9 Oct 2009 05:48:13 +0000 (08:48 +0300)]
Add an interface to parse armored OpenPGP from memory
- refactor the decoding part out of pgpReadPkts() to separate helper,
  and add pgpParsePkts() around that

15 years agoSupport passing extra options to dep generator scripts
Panu Matilainen [Wed, 7 Oct 2009 09:09:00 +0000 (12:09 +0300)]
Support passing extra options to dep generator scripts

15 years agoLose unused python/perl/java stringbuffers from rpmfc
Panu Matilainen [Tue, 6 Oct 2009 12:05:06 +0000 (15:05 +0300)]
Lose unused python/perl/java stringbuffers from rpmfc

15 years agoBah, get the new ocaml-scripts into tarballs too
Panu Matilainen [Tue, 6 Oct 2009 10:22:22 +0000 (13:22 +0300)]
Bah, get the new ocaml-scripts into tarballs too
- should've been in commit 82e7dd702013d3679fda438333de30afdec17a4f

15 years agoPython namespace import fiddling
Panu Matilainen [Tue, 6 Oct 2009 10:13:23 +0000 (13:13 +0300)]
Python namespace import fiddling
- import rpm instead of _rpm for exception name compatibility
- import the lowlevel transaction class as _rpmts, makes it slightly
  easier to see which is which

15 years agoTeach the internal dep generator about OCaml
Panu Matilainen [Tue, 6 Oct 2009 09:34:44 +0000 (12:34 +0300)]
Teach the internal dep generator about OCaml
- OCaml seems to have fairly well detectable magic in its files, nice
- Dont call the regular find-requires from the scripts now that internal
  is working

15 years agoAdd OCaml dependency generator scripts (Richard W.M. Jones)
Panu Matilainen [Tue, 6 Oct 2009 09:29:37 +0000 (12:29 +0300)]
Add OCaml dependency generator scripts (Richard W.M. Jones)

15 years agoDeprecate %__lzma, use %__xz in it.
Ville Skyttä [Mon, 3 Aug 2009 21:48:32 +0000 (00:48 +0300)]
Deprecate %__lzma, use %__xz in it.

15 years agoDecompress lzma files with xz.
Ville Skyttä [Mon, 3 Aug 2009 18:08:55 +0000 (21:08 +0300)]
Decompress lzma files with xz.

15 years agoImprove perl.req here-doc skipping.
Ville Skyttä [Tue, 22 Sep 2009 18:11:20 +0000 (21:11 +0300)]
Improve perl.req here-doc skipping.

This version is stricter in finding the end identifier by using equality test
instead of a regex (as a side effect, fixes rhbz#524929) as well as parsing
quoted identifiers, and adds support for identifiers in backticks.

15 years agoDelete ancient and defunc python test programs
Panu Matilainen [Mon, 5 Oct 2009 15:23:55 +0000 (18:23 +0300)]
Delete ancient and defunc python test programs

15 years agoDont leak memory from rpm.fi() methods
Panu Matilainen [Mon, 5 Oct 2009 14:23:34 +0000 (17:23 +0300)]
Dont leak memory from rpm.fi() methods
- Py_BuildValue() always copies the data mallocing here is just wrong

15 years agoHandle all rpmds variants in its constructor
Panu Matilainen [Mon, 5 Oct 2009 13:42:52 +0000 (16:42 +0300)]
Handle all rpmds variants in its constructor
- either it takes a header + tag, or (name, flags, version) tuple + tag
  to generate a single dep
- push rpm.dsSingle() compatibility out to python side
- hdr.dsFromHeader() and hdr.dsOfHeader() no longer need to be in rpmds-py.c

15 years agorpmdb open failing is certainly an rpm error, not TypeError
Panu Matilainen [Mon, 5 Oct 2009 12:38:45 +0000 (15:38 +0300)]
rpmdb open failing is certainly an rpm error, not TypeError

15 years agoDead code removal
Panu Matilainen [Mon, 5 Oct 2009 12:36:54 +0000 (15:36 +0300)]
Dead code removal

15 years agoPermit threads during rpmReadPackageFile()
Panu Matilainen [Mon, 5 Oct 2009 12:25:59 +0000 (15:25 +0300)]
Permit threads during rpmReadPackageFile()

15 years agoType mismatch is TypeError, not rpm.error
Panu Matilainen [Mon, 5 Oct 2009 12:22:12 +0000 (15:22 +0300)]
Type mismatch is TypeError, not rpm.error

15 years agoPush hdrFromFdno() error code handling over to python side
Panu Matilainen [Mon, 5 Oct 2009 12:19:01 +0000 (15:19 +0300)]
Push hdrFromFdno() error code handling over to python side
- return (rpmrc, header) tuple from C to let python do whatever it
  wishes with the information
- let python side worry about generating backwards compatible returns

15 years agoPush hdrCheck() error code handling over to python side
Panu Matilainen [Mon, 5 Oct 2009 11:55:37 +0000 (14:55 +0300)]
Push hdrCheck() error code handling over to python side
- return (rpmrc, message) tuple from C to let python do whatever it
  wishes with the information
- let python side worry about generating backwards compatible returns