Panu Matilainen [Mon, 26 May 2008 08:13:30 +0000 (11:13 +0300)]
Convert expandFilelist() to new interfaces
- use headerGet() with extensions enabled instead of directly calling
rpmfiBuildFNames() and flip the tag to OLDFILENAMES
Panu Matilainen [Mon, 26 May 2008 08:01:25 +0000 (11:01 +0300)]
Convert headerGetNEVRA() and headerNEVRA() to new headerGet()
Panu Matilainen [Mon, 26 May 2008 08:00:06 +0000 (11:00 +0300)]
Treat epoch as unsigned integer
Panu Matilainen [Mon, 26 May 2008 07:29:30 +0000 (10:29 +0300)]
Kick out fpLookupHeader(), it's been unused since 1999...
Panu Matilainen [Mon, 26 May 2008 06:32:57 +0000 (09:32 +0300)]
Deprecate headerNextIterator()
Panu Matilainen [Mon, 26 May 2008 06:27:02 +0000 (09:27 +0300)]
Convert hsaNext() to new header iterator interface
Panu Matilainen [Mon, 26 May 2008 06:22:17 +0000 (09:22 +0300)]
Convert python rpmMergeHeaders to new interfaces
Panu Matilainen [Mon, 26 May 2008 06:15:54 +0000 (09:15 +0300)]
Convert python hdrKeyList() to new header iterator interface
Panu Matilainen [Mon, 26 May 2008 06:04:28 +0000 (09:04 +0300)]
Minimally convert rpmVerifySignatures() to new interfaces
Panu Matilainen [Fri, 23 May 2008 13:59:04 +0000 (16:59 +0300)]
Unbreak DSA signature trailer handling
- RFC 4880 states the following:
V4 signatures also hash in a final trailer of six octets: the
version of the Signature packet, i.e., 0x04; 0xFF; and a four-octet,
big-endian number that is the length of the hashed data from the
Signature packet (note that this number does not include these final
six octets).
... but we were using size_t, whose size is platform dependent, oops :)
Panu Matilainen [Fri, 23 May 2008 10:47:54 +0000 (13:47 +0300)]
Convert rpmResign() to new header iterator/get interfaces
Panu Matilainen [Fri, 23 May 2008 10:46:21 +0000 (13:46 +0300)]
Don't crash on package without RPMTAG_OS
- damn pubkey "packages"
Panu Matilainen [Fri, 23 May 2008 10:11:13 +0000 (13:11 +0300)]
Convert readFile() to new headerGet()...
Panu Matilainen [Fri, 23 May 2008 10:01:47 +0000 (13:01 +0300)]
Convert getSignid() to new headerGet()
Panu Matilainen [Fri, 23 May 2008 09:49:04 +0000 (12:49 +0300)]
Convert the rest of rpmReadPackageFile() to new headerGet()
Panu Matilainen [Fri, 23 May 2008 09:37:00 +0000 (12:37 +0300)]
Start converting rpmReadPackageFile() to new headerGet()
Panu Matilainen [Fri, 23 May 2008 09:25:51 +0000 (12:25 +0300)]
Convert headerCheckPayloadFormat() to new headerGet() interface
- otoh the function is just dumb and should die but...
Panu Matilainen [Fri, 23 May 2008 09:19:16 +0000 (12:19 +0300)]
Convert rpmReadSignature() to new headerGet() interface
Panu Matilainen [Fri, 23 May 2008 09:10:14 +0000 (12:10 +0300)]
Convert makeHDRSignature() to new headerGet() interface
Panu Matilainen [Fri, 23 May 2008 08:54:08 +0000 (11:54 +0300)]
Convert rpmtsFindPubkey() to new headerGet() interface
Panu Matilainen [Fri, 23 May 2008 08:49:56 +0000 (11:49 +0300)]
Add rpmtdGetIndex() + rpmtdSetIndex() methods
Panu Matilainen [Fri, 23 May 2008 07:31:45 +0000 (10:31 +0300)]
Add rpmtdSetTag() method for setting (or changing) container tag + type
- permit change on non-empty container to compatible type to allow things like
headerGet(h, RPMTAG_FILENAMES, td, HEADERGET_EXT);
rpmtdSetTag(td, RPMTAG_OLDFILENAMES);
headerPut(h, td, HEADERPUT_DEFAULT);
- empty container can be set to any valid type
Jindrich Novy [Fri, 23 May 2008 05:49:43 +0000 (07:49 +0200)]
fix handling of omf dirs (rhbz#448033), thanks to Matthias Clasen
Panu Matilainen [Thu, 22 May 2008 08:25:15 +0000 (11:25 +0300)]
Remove some leftover doxygen @todo markers
Panu Matilainen [Thu, 22 May 2008 07:14:40 +0000 (10:14 +0300)]
Fix printing of patch numbers, doh :)
Panu Matilainen [Thu, 22 May 2008 07:03:04 +0000 (10:03 +0300)]
Include tagexts in potfiles
- nothing to translate there at the moment but..
Panu Matilainen [Thu, 22 May 2008 07:01:23 +0000 (10:01 +0300)]
Add tag data container api to librpm + hacking docs
Panu Matilainen [Thu, 22 May 2008 06:18:48 +0000 (09:18 +0300)]
Oops, rpmTagGetValue() expects tagname without RPMTAG_ prefix
Panu Matilainen [Wed, 21 May 2008 14:59:05 +0000 (17:59 +0300)]
Eliminate rpmTagTable internals from API/ABI completely
- everything is now accessible through other methods, no need to expose
our internals
- tagtbl.c is now included from tagname.c instead and not separately built
Panu Matilainen [Wed, 21 May 2008 14:26:52 +0000 (17:26 +0300)]
Ditch the tagtable argument of (internal) headerDump() function
- might as well ditch the function too I guess...
Panu Matilainen [Wed, 21 May 2008 14:13:51 +0000 (17:13 +0300)]
Don't muck with rpmTagTable internals in python initialization
Panu Matilainen [Wed, 21 May 2008 14:03:15 +0000 (17:03 +0300)]
Dom't muck with rpmTagTable internals in rpmDisplayQueryTags()
Panu Matilainen [Wed, 21 May 2008 13:34:27 +0000 (16:34 +0300)]
Remove double doxygen documentation
Panu Matilainen [Wed, 21 May 2008 13:32:37 +0000 (16:32 +0300)]
Add rpmTagGetNames() public function for retrieving known tag names
- use rpmtd as container to avoid inventing yet more datastructures and
iterators
Panu Matilainen [Wed, 21 May 2008 13:05:29 +0000 (16:05 +0300)]
Include stdlib.h for free()
Panu Matilainen [Wed, 21 May 2008 13:02:10 +0000 (16:02 +0300)]
Slight tweak to rpmvercmp() docs as suggested by Pixel
Panu Matilainen [Wed, 21 May 2008 12:59:39 +0000 (15:59 +0300)]
Include rpmtypes.h first instead of rpmtag.h everywhere
Panu Matilainen [Wed, 21 May 2008 11:51:25 +0000 (14:51 +0300)]
Convert headerGetColor() to use per-datatype iterator
Panu Matilainen [Wed, 21 May 2008 11:49:12 +0000 (14:49 +0300)]
Add per-datatype iterators to rpmtd
- just uint32 and string iterators for now, those are the most common ones
- allows somewhat more convenient code constructs when type is known,
eg no need to separately check for non-null inside loops
Panu Matilainen [Wed, 21 May 2008 10:37:32 +0000 (13:37 +0300)]
Convert rpmfiBuildFDeps() into fooTag() style interface
- fileprovideTag() and filerequireTag() are just thin wrappers around
filedepTag()
- simplify things a good bit by not bothering to create a single allocation
blob for the return
Panu Matilainen [Wed, 21 May 2008 09:45:34 +0000 (12:45 +0300)]
Lose rpmfiBuildFClasses() completely
- only fileclassTag() needs it, move it inline there
- simplify a lot: as we now can deallocate regular string arrays too,
don't bother creating a single allocation blob for the classes
Panu Matilainen [Wed, 21 May 2008 09:41:31 +0000 (12:41 +0300)]
Misplaced assert
- we only care about non-NULL data if we're supposed to free the contents
Panu Matilainen [Wed, 21 May 2008 08:50:27 +0000 (11:50 +0300)]
Eliminate rpmfiBuildFClasses() and rpmfiBuildFDepts() from the API+ABI
- both are only needed by tag extensions, move them there
- headerGet() with extensions enabled provides a nicer API for accessing
the data anyway
Panu Matilainen [Wed, 21 May 2008 08:45:46 +0000 (11:45 +0300)]
Split tag extensions out of formats.c
- they have practically nothing in common now..
Panu Matilainen [Wed, 21 May 2008 08:04:59 +0000 (11:04 +0300)]
Minor fixes to triggercondsTag()
- lose unused variable
- remember to reset versions iterator too
Panu Matilainen [Wed, 21 May 2008 07:40:50 +0000 (10:40 +0300)]
Resurrect triggercondsTag()
- convert to use new interfaces and simplify
Panu Matilainen [Wed, 21 May 2008 06:22:38 +0000 (09:22 +0300)]
Add rpmtdDup() method for deep copying of tag containers
Panu Matilainen [Wed, 21 May 2008 06:02:10 +0000 (09:02 +0300)]
Turn rpmtd freeData into flag bitfield, allowing more precise control
- headerGet() returns even array data in a single allocation block, but
regular (string) arrays need to have the pointers in array freed too
- set immutable flag on header data
Panu Matilainen [Tue, 20 May 2008 13:21:34 +0000 (16:21 +0300)]
Convert mireSkip() to use new interfaces
- let rpmtdFormat() figure conversion to string, simplifies things a lot
Panu Matilainen [Tue, 20 May 2008 09:38:40 +0000 (12:38 +0300)]
Add arraysize format
- it's a bit silly but avoids ugly special casing in formatting
Panu Matilainen [Tue, 20 May 2008 09:18:14 +0000 (12:18 +0300)]
Fix up for RPM_BIN_TYPE td->count abuse just once, in rpmtdCount()
Panu Matilainen [Tue, 20 May 2008 09:09:14 +0000 (12:09 +0300)]
Drop unused variables from formatValues()
Panu Matilainen [Tue, 20 May 2008 09:07:38 +0000 (12:07 +0300)]
Lose the useless rpmtdToString()
- either use rpmtdFormat() or xstrdup() on rpmtdGetString() as appropriate
Panu Matilainen [Tue, 20 May 2008 08:57:30 +0000 (11:57 +0300)]
Lose padding argument from formatters
- formatPrefix already contains the padding, just use rasprintf() on that
to get properly allocated buffer without messing with it manually
- xml format doesn't honor padding anyway so don't bother with it
Panu Matilainen [Tue, 20 May 2008 08:56:47 +0000 (11:56 +0300)]
Avoid leaking memory on legacy header interface emulation
Panu Matilainen [Tue, 20 May 2008 07:16:52 +0000 (10:16 +0300)]
Treat all integer types as unsigned in formatting
Panu Matilainen [Tue, 20 May 2008 07:10:18 +0000 (10:10 +0300)]
Simplify xmlFormat()
- use rpmtdFormat() to convert all data, xmlFormat() only adds the
xml markup now
Panu Matilainen [Tue, 20 May 2008 06:40:24 +0000 (09:40 +0300)]
Add rpmtdFormat() method and enumeration of supported formats
- permits formatting any rpmtd data to our supported formats over
iteration
Panu Matilainen [Tue, 20 May 2008 05:53:05 +0000 (08:53 +0300)]
Handle RPM_CHAR_TYPE too in stringFormat()
- used by filestates and nothing else apparently, duh..
Panu Matilainen [Mon, 19 May 2008 14:51:42 +0000 (17:51 +0300)]
Add stringFormat() for barebones string representation
- use for everything not specifically overridden
- pushes practically all formatting out of formatValue() into formats.c
Panu Matilainen [Mon, 19 May 2008 13:54:29 +0000 (16:54 +0300)]
Make formatter functions operate on rpmtd current item
- avoids extra abuse of the element field and simplifies things a bit
(eventually, not really yet)
Panu Matilainen [Mon, 19 May 2008 12:56:34 +0000 (15:56 +0300)]
Push rpmtd a bit deeper into formatting
- use rpmtd methods for pulling current integer/string values
- allows collapsing string and string array handling into one case
- CHAR/INT8 type aren't handled atm, but then nothing at all uses them...
Panu Matilainen [Mon, 19 May 2008 12:24:24 +0000 (15:24 +0300)]
Minimally convert formatting to pass around rpmtd
Panu Matilainen [Mon, 19 May 2008 05:38:53 +0000 (08:38 +0300)]
Remove unused datafree handling from formatValue()
- the data is always cached and cleared elsewhere..
Jindrich Novy [Tue, 20 May 2008 12:07:10 +0000 (14:07 +0200)]
Ignore quotes in expression
Panu Matilainen [Mon, 19 May 2008 05:27:10 +0000 (08:27 +0300)]
Teach rpmtd about the raw i18n string (array) type
Panu Matilainen [Sat, 17 May 2008 17:15:53 +0000 (20:15 +0300)]
Move all i18n string munging into separate function
Panu Matilainen [Sat, 17 May 2008 06:50:39 +0000 (09:50 +0300)]
Add HEADERGET_RAW flag to disable i18n lookups
Panu Matilainen [Sat, 17 May 2008 06:37:32 +0000 (09:37 +0300)]
Push header getter flags down to internal helpers
Panu Matilainen [Sat, 17 May 2008 06:28:32 +0000 (09:28 +0300)]
Oops, thinko/typo in headerGetFlags
Panu Matilainen [Sat, 17 May 2008 06:25:04 +0000 (09:25 +0300)]
Add typedefs for header get/put flags, use instead of int
Panu Matilainen [Fri, 16 May 2008 15:17:53 +0000 (18:17 +0300)]
Remove unused hRET_s and HE_s definitions for good
Panu Matilainen [Fri, 16 May 2008 15:15:08 +0000 (18:15 +0300)]
Use rpmTag enumeration for finding tag format func instead of names
- comparing strings when we only care about the tag number is waste of time
Panu Matilainen [Fri, 16 May 2008 14:46:49 +0000 (17:46 +0300)]
Eliminate rpmHeaderFormats and rpmHeaderTagExtensions from the API
Panu Matilainen [Fri, 16 May 2008 13:56:32 +0000 (16:56 +0300)]
Push finding of formatter and tag extension functions down to formats.c
Panu Matilainen [Fri, 16 May 2008 13:26:19 +0000 (16:26 +0300)]
Make extension formatter functions opaque
- tag extensions are only needed by headerGet(), formats only by headerFormat()
Panu Matilainen [Fri, 16 May 2008 13:07:41 +0000 (16:07 +0300)]
Eliminate the now unnecessary extension type fields
Panu Matilainen [Fri, 16 May 2008 12:55:44 +0000 (15:55 +0300)]
Split format and tag extensions to separate tables
Jindrich Novy [Fri, 16 May 2008 04:05:25 +0000 (06:05 +0200)]
Update Portugese/Brasilian RPM translation (rhbz#446795)
- thanks to Igor Pires Soares
Panu Matilainen [Thu, 15 May 2008 15:52:18 +0000 (18:52 +0300)]
Dumb segfault in %posttrans
Panu Matilainen [Thu, 15 May 2008 15:28:50 +0000 (18:28 +0300)]
Unbreak conditional formatting
Panu Matilainen [Thu, 15 May 2008 14:17:45 +0000 (17:17 +0300)]
Let rpmtdFreeData() do it's job...
Panu Matilainen [Thu, 15 May 2008 12:24:16 +0000 (15:24 +0300)]
Don't look into extensions when adding tags to python
- tagtable knows all our extensions too, there's no need to
Panu Matilainen [Thu, 15 May 2008 12:13:03 +0000 (15:13 +0300)]
Change headerTagTagFunction() to take tag container as arg
- minimal, crude conversion of all formatTag() functions for now
Panu Matilainen [Thu, 15 May 2008 11:55:59 +0000 (14:55 +0300)]
Minimal conversion of in-rpm python bindings to new headerGet()
- hopefully preserving legacy quirks and all...
Panu Matilainen [Thu, 15 May 2008 10:42:12 +0000 (13:42 +0300)]
Eliminate unnecessary extension fields
- push default extensions yet deeper into format parsing
- single bounds-checked function to retrieve from cache
Panu Matilainen [Thu, 15 May 2008 09:27:20 +0000 (12:27 +0300)]
Permit tags down to HEADER_IMAGE in queries to match previous behavior
Panu Matilainen [Thu, 15 May 2008 09:04:17 +0000 (12:04 +0300)]
Unify header and extension tag handling of headerFormat()
- retrieve both header and extension tag data through headerGet,
- cache the return data for both types for an enormous speedup especially
for array types
Panu Matilainen [Thu, 15 May 2008 05:01:45 +0000 (08:01 +0300)]
Convert rpmtsAddInstallElement() to new headerGet()
Panu Matilainen [Wed, 14 May 2008 12:08:40 +0000 (15:08 +0300)]
Commentary fixes
- "return" is not our registered trademark :)
- document the intent to make rpmtd opaque
Panu Matilainen [Wed, 14 May 2008 11:36:36 +0000 (14:36 +0300)]
Teach headerGet() to retrieve extension tags if enabled with flags
- bit of a kludgery until fooTag() formatters have been converted
to take rpmtd struct as argument
- idea lifted from rpm5.org, implemented independently (and probably quite
differently)
Panu Matilainen [Wed, 14 May 2008 10:26:58 +0000 (13:26 +0300)]
Simplify rpmDisplayQueryTags()
- all relevant tags are now visible in tagtable, don't bother looking up
extensions separately
Panu Matilainen [Wed, 14 May 2008 10:20:46 +0000 (13:20 +0300)]
Teach rpm tag table about extensions
- add rpmTag_e enumerations for all extension tags
- add extension field to headerTagTableEntry_s for things that are "pure"
extensions (instead of just extension overrides) so we have a chance to
catch out anybody trying to insert such tags to headers
Panu Matilainen [Wed, 14 May 2008 07:29:07 +0000 (10:29 +0300)]
Convert headerRegenSigHeader() to new header iterator interface
Panu Matilainen [Wed, 14 May 2008 07:20:56 +0000 (10:20 +0300)]
Convert headerMergeLegacySigs() to new header iterator interface
Panu Matilainen [Wed, 14 May 2008 06:46:04 +0000 (09:46 +0300)]
Convert file color calculation in rpmfcGenerateDepends() to new interface
Panu Matilainen [Wed, 14 May 2008 06:31:24 +0000 (09:31 +0300)]
Convert headerGetColor() to use new headerGet() interface
Panu Matilainen [Wed, 14 May 2008 06:20:51 +0000 (09:20 +0300)]
Convert addTE() to new headerGet() interface
- streamline things a bit while at it...
Panu Matilainen [Wed, 14 May 2008 06:12:40 +0000 (09:12 +0300)]
Convert rpmteNew() to use new headerGet() interface
Panu Matilainen [Tue, 13 May 2008 15:12:13 +0000 (18:12 +0300)]
Simplify rpmInstallLoadMacros() a bit
- use new style headerGet() and let rpmtd work out the string presentation