Panu Matilainen [Thu, 29 May 2008 12:04:46 +0000 (15:04 +0300)]
More preliminaries for non-md5 file checksums
- add rpmfiDigest() method (similar to one in rpm5.org) for retrieving
file digest, algorithm and digest size
- make rpmfiMD5() just a special case of rpmfiDigest()
Panu Matilainen [Thu, 29 May 2008 09:29:23 +0000 (12:29 +0300)]
Rename rpmfi internals to talk about digest rather than md5
- no functional changes
Panu Matilainen [Thu, 29 May 2008 08:48:00 +0000 (11:48 +0300)]
Rename rpmfi and fsm checksum md5-sum fields to refer to digest
- no functional changes
- groundwork for supporting other than md5 checksums
Panu Matilainen [Mon, 2 Jun 2008 06:48:41 +0000 (09:48 +0300)]
Unbreak handling of packages without epoch
- rpmtdToString() returned NULL on empty data, rpmtdFormat() returns
(unknown type) which isn't exactly appropriate value for epoch...
Panu Matilainen [Sat, 31 May 2008 10:28:05 +0000 (13:28 +0300)]
More generic iterators replaced with safer string iterators
- additionally ensure rasprintf() will never get passed NULL where string
is expected in doScriptExec()
Panu Matilainen [Sat, 31 May 2008 10:20:21 +0000 (13:20 +0300)]
Use safer per-datatype iterator instead of generic one
Panu Matilainen [Sat, 31 May 2008 10:18:19 +0000 (13:18 +0300)]
Replace couple of generic td iterators with safer string iteration
Jindrich Novy [Thu, 29 May 2008 07:48:16 +0000 (09:48 +0200)]
Make Group: tag not mandatory in spec
Panu Matilainen [Wed, 28 May 2008 06:53:30 +0000 (09:53 +0300)]
Move key size fixups from rpmdbAdd & Remove to td2key()
Panu Matilainen [Wed, 28 May 2008 06:42:31 +0000 (09:42 +0300)]
Don't bother with rpmtdInit(), headerGet() resets index anyway
Panu Matilainen [Wed, 28 May 2008 06:41:34 +0000 (09:41 +0300)]
Eliminate ill-indented block obfuscating the code
Panu Matilainen [Wed, 28 May 2008 06:35:13 +0000 (09:35 +0300)]
Unify rpmdbAdd() and rpmdbRemove() debug logging
- move the debugging out of the loop, we only print once for a given tag
anyway
- dumb helper function for prepping the actual output
Panu Matilainen [Wed, 28 May 2008 06:04:31 +0000 (09:04 +0300)]
Unify rpmdbAdd() and rpmdbRemove() tag data to key "conversion"
- the tag container contains everything needed for converting
- ugly static buffer for holding data from binary conversions needed,
figure a better way...
Panu Matilainen [Wed, 28 May 2008 05:20:19 +0000 (08:20 +0300)]
dbi->dbi_rpmtag had better be the same as rpmtag here...
Panu Matilainen [Wed, 28 May 2008 04:52:19 +0000 (07:52 +0300)]
Convert rpmdbAdd() to new headerGet() + friends
Panu Matilainen [Tue, 27 May 2008 18:49:02 +0000 (21:49 +0300)]
Remove RPMTAG_BASENAMES special casing from rpmdbAdd()
- no longer needed as we don't support uncompressed filelists in the db
anyway (commit
30bb2ba4c8e481dd1c18e6ce8cd6c563fb42e23b)
Panu Matilainen [Tue, 27 May 2008 18:33:28 +0000 (21:33 +0300)]
Eliminate ill-indented block obfuscating the code
Panu Matilainen [Tue, 27 May 2008 18:27:20 +0000 (21:27 +0300)]
Convert rpmdbRemoev() to take advantage of new interfaces
- use headerGet() and rpmtd iterator on the result
- eliminates breaking out of loop kludgery
- allows all filemd5s fiddling to be done in one spot
Panu Matilainen [Tue, 27 May 2008 17:16:17 +0000 (20:16 +0300)]
Turn silly one-case switches into if's
Panu Matilainen [Tue, 27 May 2008 11:26:54 +0000 (14:26 +0300)]
Minimally convert rpmdbFindbyFile() to new headerGet()
Jindrich Novy [Mon, 26 May 2008 14:14:25 +0000 (16:14 +0200)]
Remove unused pointer
Jindrich Novy [Mon, 26 May 2008 14:09:46 +0000 (16:09 +0200)]
Remove legacy RPMSENSE_SERIAL.
Panu Matilainen [Mon, 26 May 2008 14:23:36 +0000 (17:23 +0300)]
Similar payload compressor headerGet() conversion for rpmpsmStage()
Panu Matilainen [Mon, 26 May 2008 14:19:07 +0000 (17:19 +0300)]
Convert rpm2cpio to new headerGet()
Panu Matilainen [Mon, 26 May 2008 14:07:00 +0000 (17:07 +0300)]
Oops, don't free data we're supposed to pass around...
Panu Matilainen [Mon, 26 May 2008 13:24:07 +0000 (16:24 +0300)]
Use rpmds methods to check for duplicates in addReqProv()
- simplifies things quite a bit...
Panu Matilainen [Mon, 26 May 2008 12:28:03 +0000 (15:28 +0300)]
Convert addPackageProvides() to new headerGet()
Panu Matilainen [Mon, 26 May 2008 12:27:33 +0000 (15:27 +0300)]
Leftover debug junk removal
Panu Matilainen [Mon, 26 May 2008 12:25:11 +0000 (15:25 +0300)]
Convert writeRPM() to use new headerGet()
Panu Matilainen [Mon, 26 May 2008 12:16:39 +0000 (15:16 +0300)]
Convert processPackageFiles() to new headerGet() interface
Panu Matilainen [Mon, 26 May 2008 11:45:00 +0000 (14:45 +0300)]
Convert addFileToTag() to new headerGet()
Panu Matilainen [Mon, 26 May 2008 11:31:54 +0000 (14:31 +0300)]
Convert timeCheck() to new headerGet() & resurrect functionality
- it's been broken since forever as it used RPMTAG_OLDFILENAMES but by the
time it got called, the filenames had already been compressed so it didn't
find anything to check
- largely useless but easy to fix, shrug..
Panu Matilainen [Mon, 26 May 2008 10:17:07 +0000 (13:17 +0300)]
Convert rpmInstall() to new headerGet()
Panu Matilainen [Mon, 26 May 2008 10:14:53 +0000 (13:14 +0300)]
Convert rpmVersionComprare() to new headerGet()
Panu Matilainen [Mon, 26 May 2008 09:40:43 +0000 (12:40 +0300)]
Convert triggertypeTag() to new headerGet()
Panu Matilainen [Mon, 26 May 2008 08:42:57 +0000 (11:42 +0300)]
Convert compressFilelist() to new headerGet()
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..