Panu Matilainen [Tue, 3 Jun 2008 10:51:57 +0000 (13:51 +0300)]
Rip doputenv() for good
Panu Matilainen [Tue, 3 Jun 2008 10:48:57 +0000 (13:48 +0300)]
Use setenv() for preparing scriptlet environ
- setenv() allocates memory as needed, no need to leak it
- setenv() is nicer interface for the purpose anyway
Panu Matilainen [Tue, 3 Jun 2008 10:39:07 +0000 (13:39 +0300)]
Rip dosetenv()
- just use regular setenv() instead
- we already carry setenv() in misc/ for platforms that don't have it
Panu Matilainen [Tue, 3 Jun 2008 09:11:05 +0000 (12:11 +0300)]
Unexport rpmsqCaught now that nothing needs it
Panu Matilainen [Tue, 3 Jun 2008 09:10:02 +0000 (12:10 +0300)]
Use rpmsqIsCaught() instead of directly accessing rpmsqCaught sigset
Panu Matilainen [Tue, 3 Jun 2008 09:04:57 +0000 (12:04 +0300)]
Add rpmsqIsCaught() for testing if a signal has been caught
Panu Matilainen [Tue, 3 Jun 2008 08:44:20 +0000 (11:44 +0300)]
Unexpose signal queue and direct manipulation functions
- nothing outside rpmsq needs to fiddle with the queue directly
Panu Matilainen [Tue, 3 Jun 2008 06:09:00 +0000 (09:09 +0300)]
Don't leak memory on python fi.Digest() calls
Panu Matilainen [Mon, 2 Jun 2008 13:10:19 +0000 (16:10 +0300)]
Change rpmTagGetNames() interface to more like that of headerGet()
- instead of returning a newly allocated rpmtd, take container to use
as argument
- return number of tags found, 0 on error (pretty arbitrary, just to
return something...)
Panu Matilainen [Mon, 2 Jun 2008 10:05:46 +0000 (13:05 +0300)]
Remove bogus comment on rpmDoDigest() ignoring algorithm
Panu Matilainen [Mon, 2 Jun 2008 10:02:54 +0000 (13:02 +0300)]
Permit non-md5 digests on --fileid queries
- the used algorithm is not known at this point so we can only do some
"seems to be in the ballbark" checks on the digest
- dynamically allocate memory for binary conversion as needed
Panu Matilainen [Mon, 2 Jun 2008 09:20:22 +0000 (12:20 +0300)]
Check that digest type is actually supported before enabling it
- we don't necessarily support all types listed in pgpHashAlgo_e, it
depends on what NSS happens to support
Panu Matilainen [Mon, 2 Jun 2008 09:18:23 +0000 (12:18 +0300)]
Enable build-time configuration of non-MD5 file checksum digest algorithms
- if not specified (or 0), quietly assume MD5
- otherwise check for supported digest type, complain and fall back to
md5 on invalid
- if non-md5 algorithm is used, add rpmlib() feature dependency to package
Panu Matilainen [Mon, 2 Jun 2008 08:48:22 +0000 (11:48 +0300)]
Document rpmDigestLength() error behavior
Panu Matilainen [Mon, 2 Jun 2008 07:53:38 +0000 (10:53 +0300)]
Eliminate ugly static conversion buffer on rpmdbAdd/Remove
- dynamically allocate on heap when hex to binary conversion is done,
add new parameter to td2key() to communicate this back to caller
- adjust rpmdbAdd+Remove to free key data if signalled by td2key()
Panu Matilainen [Fri, 30 May 2008 11:45:13 +0000 (14:45 +0300)]
Make rpmfiNew() use header specified file digest algo if present
- if not present or unknown algorithm specified, fall back to md5
Panu Matilainen [Fri, 30 May 2008 11:14:17 +0000 (14:14 +0300)]
Use RPMTAG_FILEDIGESTS instead of MD5S internally
- no functional changes
Panu Matilainen [Fri, 30 May 2008 10:57:47 +0000 (13:57 +0300)]
Bring back RPMTAG_FILEDIGESTS now that we're a bit more ready for it
- this reverts commit
6db2a8ec03c057850a0349537c705556068b9d32.
Panu Matilainen [Fri, 30 May 2008 10:16:23 +0000 (13:16 +0300)]
We don't want per-file digest algorithms, just per package...
- rename RPMTAG_FILEDIGESTALGOS to RPMTAG_FILEDIGESTALGO
- change type from integer array to single integer value
Panu Matilainen [Fri, 30 May 2008 09:28:29 +0000 (12:28 +0300)]
rpmfiFDigestHex() instead of manual hex conversion
- showQueryPackage() and python rpmfi_Digest() at least..
Panu Matilainen [Fri, 30 May 2008 09:21:48 +0000 (12:21 +0300)]
Add rpmfiFDigestHex() for converting the binary digest to hex
- conversion (back to) hex presentation is done manually in several places,
might as well have a function to do it...
Panu Matilainen [Fri, 30 May 2008 09:11:16 +0000 (12:11 +0300)]
Mark rpmfiMD5() deprecated
Panu Matilainen [Fri, 30 May 2008 09:06:40 +0000 (12:06 +0300)]
On a second thought, rename rpmfiDigest() to rpmfiFDigest() for consistency
- it operates on current file of the set, not on the entire set so while
changing API, name it similarly to other things that operate on current file
Panu Matilainen [Fri, 30 May 2008 09:02:21 +0000 (12:02 +0300)]
Add fi.Digest() method to python bindings
- use same code for creating the digest object on iteration and method call
- fi.MD5() left around as alias for fi.Digest(), dunno if that's the best
thing to do but it's just a python string so returned size isn't that
critical..
Panu Matilainen [Fri, 30 May 2008 06:22:21 +0000 (09:22 +0300)]
Convert showQueryPackage() to use rpmfiDigest()
Panu Matilainen [Thu, 29 May 2008 17:41:21 +0000 (20:41 +0300)]
Make rpmVerifyFile() honor rpmfi digest algorithm
Panu Matilainen [Thu, 29 May 2008 13:39:11 +0000 (16:39 +0300)]
Use new style headerGet() + rpmtd iteration for rpmfi digest population
Panu Matilainen [Thu, 29 May 2008 13:26:21 +0000 (16:26 +0300)]
Lose unused fdigests array from rpmfi struct
- only used in rpmfiNew() where it's converted to binary from the header
hex presentation and free'd immediately, a local variable will do just as
well
- some useless references in fsm and psm, kill'em too
Panu Matilainen [Thu, 29 May 2008 12:48:40 +0000 (15:48 +0300)]
Make handleOverlappedFiles() honor rpmfi digest algorithm
Panu Matilainen [Thu, 29 May 2008 12:33:44 +0000 (15:33 +0300)]
Teach fsm internals to honor rpmfi digest type
Panu Matilainen [Thu, 29 May 2008 12:26:12 +0000 (15:26 +0300)]
Make rpmfiDecideFate() honor rpmfi digest algorithms
- this gets into trouble if digest algorithm differs between packages,
can't be helped (same is true of rpmfiCompare() too)
Panu Matilainen [Thu, 29 May 2008 12:20:05 +0000 (15:20 +0300)]
Make rpmfiConfigConflict() honor fi digest algorithm
Panu Matilainen [Thu, 29 May 2008 12:16:45 +0000 (15:16 +0300)]
Make rpmfiCompare() use rpmfiDigest() instead of rpmfiMD5()
Panu Matilainen [Thu, 29 May 2008 12:09:58 +0000 (15:09 +0300)]
Make rpmfi initialization honor used digest length
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...