tools/librpm-tizen.git
16 years agoOnly try to pubkeys from rpmdb if we non-db keys didn't exist
Panu Matilainen [Thu, 3 Jul 2008 06:11:55 +0000 (09:11 +0300)]
Only try to pubkeys from rpmdb if we non-db keys didn't exist
- try to avoid opening the db unnecessarily, if the keys have been migrated
  out of the db, the db probably only has duplicates (right? :)

16 years agoDon't leak memory on duplicate pubkeys
Panu Matilainen [Wed, 2 Jul 2008 16:07:06 +0000 (19:07 +0300)]
Don't leak memory on duplicate pubkeys

16 years agoDon't leak memory on python expandMacro()
Panu Matilainen [Wed, 2 Jul 2008 16:00:56 +0000 (19:00 +0300)]
Don't leak memory on python expandMacro()

16 years agoPlug a dumb memleak that has crept into rpmReadPackageFile()
Panu Matilainen [Wed, 2 Jul 2008 15:49:05 +0000 (18:49 +0300)]
Plug a dumb memleak that has crept into rpmReadPackageFile()
- jumps to exit from very early on, make sure sigtd is reset early so
  calling rpmtdFreeData() is safe

16 years agoChange rpmts keyring get/set interface to more transparent handling
Panu Matilainen [Wed, 2 Jul 2008 12:08:51 +0000 (15:08 +0300)]
Change rpmts keyring get/set interface to more transparent handling
- add extra parameter to rpmtsGetKeyring() to automatically load up default
  keyring if not already set
- rpmtsSetKeyring() with NULL keyring just frees up current keyring
- adjust callers wrt the change
- allows more transparent action for various "legacy" code-paths

16 years agoAdd documentation for keyring
Panu Matilainen [Wed, 2 Jul 2008 11:24:20 +0000 (14:24 +0300)]
Add documentation for keyring

16 years agoMake rpmkeyring.h public header
Panu Matilainen [Wed, 2 Jul 2008 11:23:30 +0000 (14:23 +0300)]
Make rpmkeyring.h public header

16 years agoAdd docs for the new rpmts methods, deprecate rpmtsFindPubkey()
Panu Matilainen [Wed, 2 Jul 2008 10:55:50 +0000 (13:55 +0300)]
Add docs for the new rpmts methods, deprecate rpmtsFindPubkey()

16 years agoLoad pubkeys from both files and rpmdb for now
Panu Matilainen [Wed, 2 Jul 2008 10:48:00 +0000 (13:48 +0300)]
Load pubkeys from both files and rpmdb for now
- easy enough and doesn't cost really anything
- at some point, start warning about legacy gpg-keys in rpmdb, suggest
  conversion method / do it automatically & such...

16 years agoSome keyring improvements
Panu Matilainen [Wed, 2 Jul 2008 10:31:12 +0000 (13:31 +0300)]
Some keyring improvements
- keep keyring sorted by keyid, use bsearch for key lookups
- check for key in keyring before adding it to avoid dupes
- actually check that pubkey parameters match the signature on keyring
  lookup like was done in rpmtsFindPubkey()

16 years agoEliminate remaining signature checking bits from rpmts
Panu Matilainen [Tue, 1 Jul 2008 14:35:21 +0000 (17:35 +0300)]
Eliminate remaining signature checking bits from rpmts
- rpmdb-specific rpmtsFindPubkey() no longer needed for anything, and
  neither are the cached packets and stuff

16 years agoUse keyring even when using pubkeys from rpmdb
Panu Matilainen [Tue, 1 Jul 2008 14:32:11 +0000 (17:32 +0300)]
Use keyring even when using pubkeys from rpmdb
- build-time switchable, could easily be run-time too

16 years agoPass keyring, not the full ts to lowlevel signature routines
Panu Matilainen [Tue, 1 Jul 2008 14:00:04 +0000 (17:00 +0300)]
Pass keyring, not the full ts to lowlevel signature routines
- lazy loading of default keyring on ts iteration works nicely for
  everything but package signature verification which doesn't access the
  db now that the keys are not in the db anymore
- make rpmtsSetKeyring(NULL) load the default keyring, a bit ugly but
  it'll have to do for now

16 years agoEliminate digest calculation statistics from signature code
Panu Matilainen [Tue, 1 Jul 2008 12:50:05 +0000 (15:50 +0300)]
Eliminate digest calculation statistics from signature code
- if we want them back, they just need to be detached from the ts...

16 years agoAdd methods for getting and setting the keyring used by a transaction
Panu Matilainen [Tue, 1 Jul 2008 12:46:18 +0000 (15:46 +0300)]
Add methods for getting and setting the keyring used by a transaction
- semantics of exactly when and how this is permitted needs more thought...

16 years agoMove keyring related typedefs to rpmtypes.h
Panu Matilainen [Tue, 1 Jul 2008 12:38:32 +0000 (15:38 +0300)]
Move keyring related typedefs to rpmtypes.h

16 years agoProof of concept rpmtsFindPubkey() implementation with the new keyring
Panu Matilainen [Tue, 1 Jul 2008 12:25:06 +0000 (15:25 +0300)]
Proof of concept rpmtsFindPubkey() implementation with the new keyring
- ifdeffed out for now, needs a bit more flesh and a working
  import routine

16 years agoBeginnings of an abstract keyring
Panu Matilainen [Tue, 1 Jul 2008 12:24:04 +0000 (15:24 +0300)]
Beginnings of an abstract keyring
- in librpmio to avoid dependencies on higher level stuff
- for now it's just an in-memory structure that needs to be populated
  by someone simply by feeding in GPG public keys

16 years agoCreate ascii armor that rpm itself accepts
Panu Matilainen [Tue, 1 Jul 2008 11:35:44 +0000 (14:35 +0300)]
Create ascii armor that rpm itself accepts

16 years agoUpdate parseNoSource() and addSource() to accept only unsigned SourceXX numbers
Jindrich Novy [Tue, 1 Jul 2008 10:52:16 +0000 (12:52 +0200)]
Update parseNoSource() and addSource() to accept only unsigned SourceXX numbers

16 years agofindSource() eats only unsigned SourceXX numbers
Jindrich Novy [Tue, 1 Jul 2008 10:51:08 +0000 (12:51 +0200)]
findSource() eats only unsigned SourceXX numbers

16 years agodoPatchMacro() now uses parseUnsignedNum()
Jindrich Novy [Tue, 1 Jul 2008 10:49:19 +0000 (12:49 +0200)]
doPatchMacro() now uses parseUnsignedNum()

16 years agodoSetupMacro() now uses parseUnsignedNum()
Jindrich Novy [Tue, 1 Jul 2008 10:48:50 +0000 (12:48 +0200)]
doSetupMacro() now uses parseUnsignedNum()

16 years agodoUntar() accepts only unsigned SourceXX numbers
Jindrich Novy [Tue, 1 Jul 2008 10:47:36 +0000 (12:47 +0200)]
doUntar() accepts only unsigned SourceXX numbers

16 years agoConvert doPatch() to use parseUnsignedNum()
Jindrich Novy [Tue, 1 Jul 2008 10:46:16 +0000 (12:46 +0200)]
Convert doPatch() to use parseUnsignedNum()

16 years agoUse the same number types for SourceXX tags as returned by parseUnsignedNum()
Jindrich Novy [Tue, 1 Jul 2008 10:43:47 +0000 (12:43 +0200)]
Use the same number types for SourceXX tags as returned by parseUnsignedNum()

16 years agoConvert Epoch parsing to use parseUnsignedNum()
Jindrich Novy [Tue, 1 Jul 2008 10:42:12 +0000 (12:42 +0200)]
Convert Epoch parsing to use parseUnsignedNum()

16 years agoAvoid reading negative constants from SourceXX, PatchXX tags
Jindrich Novy [Tue, 1 Jul 2008 10:41:35 +0000 (12:41 +0200)]
Avoid reading negative constants from SourceXX, PatchXX tags
- convert parseNum() to parseUnsignedNum()
- don't misleadingly declare it to return int, when the result is
  always unsigned due to strtoul() call

16 years agoEliminate the nasty global _dig and _digp variables from rpmpgp
Panu Matilainen [Tue, 1 Jul 2008 08:22:40 +0000 (11:22 +0300)]
Eliminate the nasty global _dig and _digp variables from rpmpgp
- pass the digest + parameters around as arguments instead

16 years agoUnexport all the umphteen pgp related tables
Panu Matilainen [Mon, 16 Jun 2008 14:49:02 +0000 (17:49 +0300)]
Unexport all the umphteen pgp related tables
- nothing outside rpmpgp.c needs

16 years agoMake every pgp function not needed by other parts of rpm static
Panu Matilainen [Mon, 16 Jun 2008 14:01:29 +0000 (17:01 +0300)]
Make every pgp function not needed by other parts of rpm static

16 years agoWe don't need ts to stash the keyid locally now
Panu Matilainen [Mon, 16 Jun 2008 08:12:15 +0000 (11:12 +0300)]
We don't need ts to stash the keyid locally now

16 years agoheaderCheck() does not recurse
Panu Matilainen [Mon, 16 Jun 2008 07:59:23 +0000 (10:59 +0300)]
headerCheck() does not recurse
- it can be re-entered by the way of rpmtsFindPubkey() but that doesn't
  matter now as dig etc are local variables

16 years agoDetach pgp digest from transaction set
Panu Matilainen [Wed, 25 Jun 2008 08:17:17 +0000 (11:17 +0300)]
Detach pgp digest from transaction set
- pass the pgp container around as argument as needed
- eliminate the related API from rpmts

16 years agoPass pgpDig around from rpmVerifySignature()
Panu Matilainen [Sat, 14 Jun 2008 11:48:53 +0000 (14:48 +0300)]
Pass pgpDig around from rpmVerifySignature()
- get the digest once in rpmVerifySignature() and pass to verification
  functions, signature is part of the digest so no need for separate call..

16 years agoDetach signature tag data from transaction set
Panu Matilainen [Sat, 14 Jun 2008 14:09:50 +0000 (17:09 +0300)]
Detach signature tag data from transaction set
- pass signature tag data around as argument to rpmVerifySignature() as
  needed
- eliminate the related API from rpmts

16 years agoActually use the sigtd passed to verifier functions
Panu Matilainen [Sat, 14 Jun 2008 11:03:11 +0000 (14:03 +0300)]
Actually use the sigtd passed to verifier functions

16 years agoStart getting signature tag out of transaction set
Panu Matilainen [Sat, 14 Jun 2008 10:49:37 +0000 (13:49 +0300)]
Start getting signature tag out of transaction set
- collect various signature items into rpmtd and pass around to
  verifyFooSignature() checkers

16 years ago(char)NULL doesn't make much sense, use \0 instead
Panu Matilainen [Mon, 30 Jun 2008 12:13:54 +0000 (15:13 +0300)]
(char)NULL doesn't make much sense, use \0 instead
- shuts up another gcc warning

16 years agoFix missspelling in macro name (_initddir -> _initrddir), thanks to
Jindrich Novy [Mon, 30 Jun 2008 10:23:42 +0000 (12:23 +0200)]
Fix missspelling in macro name (_initddir -> _initrddir), thanks to
- Ville Skyttä
- old macro with typo is kept for compatiblity

16 years agosize_t for "left" is wrong, use rpm_loff_t instead
Panu Matilainen [Mon, 30 Jun 2008 08:28:32 +0000 (11:28 +0300)]
size_t for "left" is wrong, use rpm_loff_t instead

16 years agostrntoul() is supposed to return unsigned long, not int
Panu Matilainen [Mon, 30 Jun 2008 08:24:34 +0000 (11:24 +0300)]
strntoul() is supposed to return unsigned long, not int
- the type mismatch busts up handling on largish files...

16 years agodebugedit: Include empty CU current directories (rhbz#444310)
Panu Matilainen [Fri, 27 Jun 2008 12:15:46 +0000 (15:15 +0300)]
debugedit: Include empty CU current directories (rhbz#444310)
- patch from Jan Kratochvil

16 years agoUse correct formatters for debug-printing in rpmtsInitDSI()
Panu Matilainen [Fri, 27 Jun 2008 11:39:39 +0000 (14:39 +0300)]
Use correct formatters for debug-printing in rpmtsInitDSI()

16 years agoUse correct formatters for debug-printing sizes in printSize()
Panu Matilainen [Fri, 27 Jun 2008 10:49:48 +0000 (13:49 +0300)]
Use correct formatters for debug-printing sizes in printSize()
- on x86_64 size_t happens to be 64bit, not so on x86...

16 years agoAdjust python callback for amount+total type change
Panu Matilainen [Fri, 27 Jun 2008 10:02:23 +0000 (13:02 +0300)]
Adjust python callback for amount+total type change

16 years agoArgh, the tag is LONGSIZE, not LARGESIZE
Panu Matilainen [Thu, 26 Jun 2008 14:52:31 +0000 (17:52 +0300)]
Argh, the tag is LONGSIZE, not LARGESIZE

16 years agoTake new directory into account in rpmbuild test
Jindrich Novy [Thu, 26 Jun 2008 13:58:40 +0000 (15:58 +0200)]
Take new directory into account in rpmbuild test

16 years agoAdd new BUILDROOT directory to default rpm build dirs.
Jindrich Novy [Thu, 26 Jun 2008 13:56:55 +0000 (15:56 +0200)]
Add new BUILDROOT directory to default rpm build dirs.

16 years agoAdd new macros for enabling default build root
Jindrich Novy [Thu, 26 Jun 2008 13:56:11 +0000 (15:56 +0200)]
Add new macros for enabling default build root

16 years agoMake --info work on large packages too
Panu Matilainen [Thu, 26 Jun 2008 13:37:06 +0000 (16:37 +0300)]
Make --info work on large packages too

16 years agoTeach build about 64bit payload etc size tags
Panu Matilainen [Thu, 26 Jun 2008 13:34:32 +0000 (16:34 +0300)]
Teach build about 64bit payload etc size tags
- only use 64bit variants for packages that actually need it to avoid
  breaking compatibility when not needed
- old rpm will bail out "cleanly" (with an obscure error message) if
  the 32bit size tags are missing but at least it doesn't crash...

16 years agoTeach rpmAddSignature() and rpmReadSignature() about 64bit tags
Panu Matilainen [Thu, 26 Jun 2008 13:28:17 +0000 (16:28 +0300)]
Teach rpmAddSignature() and rpmReadSignature() about 64bit tags
- use 64bit size if it exists, otherwise quietly fall back to 32bit one
- can't use tag extensions to convert there as legacy sigtags conflict
  with things like RPMTAG_NAME

16 years agoRPMTAG_LONGSIGSIZE and RPMTAG_LONGARCHIVESIZE are signature tags
Panu Matilainen [Thu, 26 Jun 2008 13:23:56 +0000 (16:23 +0300)]
RPMTAG_LONGSIGSIZE and RPMTAG_LONGARCHIVESIZE are signature tags
- move them from regular tag space to sigtag space, fortunately these
  don't require special conversion

16 years agoOnly insert 64bit filesizes on build if required
Panu Matilainen [Thu, 26 Jun 2008 13:10:49 +0000 (16:10 +0300)]
Only insert 64bit filesizes on build if required
- older rpm's get pretty upset on encounter with 64bit integers, avoid
  unnecessary breakage as very few packages actually need large file sizes
- Add per-filelist flag for large files, enabled from addFile() as we
  check sizes. It's basically a no-op for now as we error out if any
  single file exceeds cpio per file limit.

16 years agoUnbreak compressFilelist()
Panu Matilainen [Thu, 26 Jun 2008 10:59:06 +0000 (13:59 +0300)]
Unbreak compressFilelist()
- well and truly broken by yours truly by a Monday morning commit
  efe1665024e374a8f8704d229b1d306af232c396, blush...
- can't use headerIsSource() here, as build calls compressFilelist()
  before RPMTAG_SOURCERPM is added to the header, revert to earlier hack
  and check filename beginning with / or not
- dncmp() expects address of a string, not the string itself, this was
  masked by the above bug

16 years agoAdd a bit of protection against oversized files
Panu Matilainen [Thu, 26 Jun 2008 08:38:28 +0000 (11:38 +0300)]
Add a bit of protection against oversized files
- max size of individual files in cpio new ascii format is well known,
  check we don't try to stuff in larger than what fits and abort cleanly
- this should do as long as we only support new ascii format cpio payloads

16 years agoType corrections
Panu Matilainen [Thu, 26 Jun 2008 07:50:01 +0000 (10:50 +0300)]
Type corrections
- Fread() and Fwrite() return ssize_t, not int32_t
- sigtag is rpmSigTag, not int32_t

16 years agoFix handling of "%posttrans -p /xxx" with no body (Pascal Rigaux)
Panu Matilainen [Wed, 25 Jun 2008 07:59:20 +0000 (10:59 +0300)]
Fix handling of "%posttrans -p /xxx" with no body (Pascal Rigaux)

16 years agoAdjust autotest querytag expectations to match current tags
Panu Matilainen [Wed, 25 Jun 2008 06:56:12 +0000 (09:56 +0300)]
Adjust autotest querytag expectations to match current tags

16 years agoAdjust autotests for rpmi etc removal
Panu Matilainen [Wed, 25 Jun 2008 06:53:21 +0000 (09:53 +0300)]
Adjust autotests for rpmi etc removal

16 years agoForce "rpm" popt context for everything but build
Panu Matilainen [Wed, 25 Jun 2008 06:33:50 +0000 (09:33 +0300)]
Force "rpm" popt context for everything but build
- we want the same set of aliases to be seen no matter what name we're
  invoked with, except for build which has it's own set of aliases
- this has a nice little side-effect of permitting popt aliases to work
  from source tree on non-static builds despite libtool calling executables
  lt-something instead of their real names

16 years ago--buildpolicy is rpmbuild, not rpm, alias
Panu Matilainen [Wed, 25 Jun 2008 06:20:27 +0000 (09:20 +0300)]
--buildpolicy is rpmbuild, not rpm, alias

16 years agoKill the million duplicate aliases in rpmpopt
Panu Matilainen [Wed, 25 Jun 2008 06:19:13 +0000 (09:19 +0300)]
Kill the million duplicate aliases in rpmpopt

16 years agoEliminate rpmd, rpmi, rpmk, rpmq "helper binaries"
Panu Matilainen [Wed, 25 Jun 2008 06:18:51 +0000 (09:18 +0300)]
Eliminate rpmd, rpmi, rpmk, rpmq "helper binaries"
- it's all rolled into "rpm" itself, these are just clutter and complicate
  things needlessly
- leave symlinks to rpmquery, rpmverify, rpmsign and rpmdb -> rpm to
  preserve some compatibility (at least rpmquery is known to be used
  in scripts)

16 years agoUpdate rpm manpage wrt build modes
Panu Matilainen [Tue, 24 Jun 2008 13:07:05 +0000 (16:07 +0300)]
Update rpm manpage wrt build modes
- the build modes have been removed ages ago, just point to rpmbuild manual

16 years agoEliminate build-related aliases on "rpm"
Panu Matilainen [Tue, 24 Jun 2008 12:23:30 +0000 (15:23 +0300)]
Eliminate build-related aliases on "rpm"
- "rpm" for building packages hasn't worked in ~six years, time to clean
  up the junk from rpmpopt

16 years agoEliminate already commented out build mode aliases for rpm
Panu Matilainen [Tue, 24 Jun 2008 08:11:38 +0000 (11:11 +0300)]
Eliminate already commented out build mode aliases for rpm
- these haven't been enabled in six years and not coming back...

16 years agoEliminate rpmb aliases from rpmpopt
Panu Matilainen [Tue, 24 Jun 2008 08:09:00 +0000 (11:09 +0300)]
Eliminate rpmb aliases from rpmpopt

16 years agoEliminate the pointless rpmb + rpmt symlinkery
Panu Matilainen [Tue, 24 Jun 2008 08:08:05 +0000 (11:08 +0300)]
Eliminate the pointless rpmb + rpmt symlinkery
- just build "rpmbuild" executable and install to bindir instead of
  mucking with several different names

16 years agoForce FD_CLOEXEC on all potentially open descriptors
Panu Matilainen [Tue, 24 Jun 2008 07:08:37 +0000 (10:08 +0300)]
Force FD_CLOEXEC on all potentially open descriptors
- instead of just "100 should be large enough", use sysconf() to grab
  number of max open files and do them all. If sysconf() fails,
  use 1024 as "should be enough for everybody"

16 years agoRemove artificial limit in dependency loop elimination attempts
Panu Matilainen [Mon, 23 Jun 2008 13:57:51 +0000 (16:57 +0300)]
Remove artificial limit in dependency loop elimination attempts
- continue processing as long as progress can be made instead of artificial
  hardcoded magic "try ten times"

16 years agoAvoid silly deprecation warning on headerFreeData()
Panu Matilainen [Mon, 23 Jun 2008 12:02:10 +0000 (15:02 +0300)]
Avoid silly deprecation warning on headerFreeData()

16 years agoSimplify requires and provides addition in rpmfcGenerateDepends()
Panu Matilainen [Mon, 23 Jun 2008 11:37:54 +0000 (14:37 +0300)]
Simplify requires and provides addition in rpmfcGenerateDepends()
- just feed (name, evr and flags) one by one into header instead of
  constructing arrays of them

16 years agoOops, provideflags were being inserted as requireflags
Panu Matilainen [Mon, 23 Jun 2008 11:31:54 +0000 (14:31 +0300)]
Oops, provideflags were being inserted as requireflags

16 years agoAdd Malay translation from Sharuzzaman Ahmat Raslan
Panu Matilainen [Mon, 23 Jun 2008 05:46:51 +0000 (08:46 +0300)]
Add Malay translation from Sharuzzaman Ahmat Raslan

16 years agoDumb, dumb thinko/leftover from earlier prototype...
Panu Matilainen [Thu, 19 Jun 2008 13:08:00 +0000 (16:08 +0300)]
Dumb, dumb thinko/leftover from earlier prototype...

16 years agoUse type-specific headerPuts() for rpmcache
Panu Matilainen [Thu, 19 Jun 2008 12:52:54 +0000 (15:52 +0300)]
Use type-specific headerPuts() for rpmcache
- ...to finish of undoing yesterdays damage, sigh ;)

16 years agoUse type-specific headerPut() for the case where it makes sense in relocs
Panu Matilainen [Thu, 19 Jun 2008 12:52:19 +0000 (15:52 +0300)]
Use type-specific headerPut() for the case where it makes sense in relocs

16 years agoUse type-specific headerPut() in rpmpsmStage()
Panu Matilainen [Thu, 19 Jun 2008 12:51:07 +0000 (15:51 +0300)]
Use type-specific headerPut() in rpmpsmStage()

16 years agoUse type-specific headerPut() for installtid stuff in rpmdbAdd()
Panu Matilainen [Thu, 19 Jun 2008 12:50:32 +0000 (15:50 +0300)]
Use type-specific headerPut() for installtid stuff in rpmdbAdd()

16 years agoUse type-specific headerPut()'s for rpmtsImportPubkey()
Panu Matilainen [Thu, 19 Jun 2008 12:49:09 +0000 (15:49 +0300)]
Use type-specific headerPut()'s for rpmtsImportPubkey()

16 years agoUse type-specific headerPut()'s for legacy retrofitting stuff
Panu Matilainen [Thu, 19 Jun 2008 12:48:31 +0000 (15:48 +0300)]
Use type-specific headerPut()'s for legacy retrofitting stuff

16 years agoUse type-specific headerPut() where makes sense in build/parseScript
Panu Matilainen [Thu, 19 Jun 2008 12:47:04 +0000 (15:47 +0300)]
Use type-specific headerPut() where makes sense in build/parseScript

16 years agoUse type-specific headerPut() where makes sense in build/rpmfc.c
Panu Matilainen [Thu, 19 Jun 2008 12:46:34 +0000 (15:46 +0300)]
Use type-specific headerPut() where makes sense in build/rpmfc.c

16 years agouse type-specific headerPut() on all of build/reqprov.c
Panu Matilainen [Thu, 19 Jun 2008 12:45:57 +0000 (15:45 +0300)]
use type-specific headerPut() on all of build/reqprov.c

16 years agoUse type-specific headerPut() on all of build/parseSpec.c
Panu Matilainen [Thu, 19 Jun 2008 12:45:37 +0000 (15:45 +0300)]
Use type-specific headerPut() on all of build/parseSpec.c

16 years agoUse type-specific headerPut() for all of build/parsePreamble.c
Panu Matilainen [Thu, 19 Jun 2008 12:45:06 +0000 (15:45 +0300)]
Use type-specific headerPut() for all of build/parsePreamble.c

16 years agoUse type-specific headerPut() for all of build/parseChangelog.c
Panu Matilainen [Thu, 19 Jun 2008 12:44:29 +0000 (15:44 +0300)]
Use type-specific headerPut() for all of build/parseChangelog.c

16 years agoUse type specific headerPut() for all of build/pack.c
Panu Matilainen [Thu, 19 Jun 2008 12:43:45 +0000 (15:43 +0300)]
Use type specific headerPut() for all of build/pack.c

16 years agoUse type specific headerPut() for all of build/files.c
Panu Matilainen [Thu, 19 Jun 2008 12:43:14 +0000 (15:43 +0300)]
Use type specific headerPut() for all of build/files.c

16 years agoAdd type-safe headerPutFoo() methods for supported tag data types
Panu Matilainen [Thu, 19 Jun 2008 12:41:58 +0000 (15:41 +0300)]
Add type-safe headerPutFoo() methods for supported tag data types
- requiring all access through rpmtdFromFoo() just adds unnecessary
  indirection and pain for little gain, the header is fairly intelligent
  when it comes to inserting data
- this gives us various benefits over the old headerAddEntry() interface too:
  + basic type checking done by compiler
  + extra sanity checking (ie you can't add string data to integer tags,
    don't permit adding more than one entry to non-array data etc)
  + "do the right thing" approach - add / append as needed and supported
    by various types
  + headerPutString() can now be used on both single strings and string
    arrays making the interface much nicer for the rather common case of
    appending strings one by one to string array tags

16 years agoDumb thinko breaking scriptlet interpreter
Panu Matilainen [Wed, 18 Jun 2008 13:14:36 +0000 (16:14 +0300)]
Dumb thinko breaking scriptlet interpreter

16 years agoGroup legacy interfaces at the end of header.h
Panu Matilainen [Wed, 18 Jun 2008 12:39:59 +0000 (15:39 +0300)]
Group legacy interfaces at the end of header.h
- out of sight, out of mind ;)
- add deprecation warnings where missing
- move to header_legacy doxygen group to avoid littering main documentation

16 years agoConvert headerAddI18NString() to use headerPut()
Panu Matilainen [Wed, 18 Jun 2008 12:22:46 +0000 (15:22 +0300)]
Convert headerAddI18NString() to use headerPut()

16 years agoSwitch around headerAdd*Entry() family vs headerPut()
Panu Matilainen [Wed, 18 Jun 2008 12:16:05 +0000 (15:16 +0300)]
Switch around headerAdd*Entry() family vs headerPut()
- make internal header add + append take rpmtd as argument, legacy
  interfaces are just wrappers around them
- add deprecation markers

16 years agoSwitch around headerMod() and headerModifyEntry()
Panu Matilainen [Wed, 18 Jun 2008 11:59:13 +0000 (14:59 +0300)]
Switch around headerMod() and headerModifyEntry()
- headerModifyEntry() is the legacy interface going away, make it
  use headerMod() and deprecate it

16 years agoStuff legacy compat wrappers out of sight into header_internal.c
Panu Matilainen [Wed, 18 Jun 2008 11:54:41 +0000 (14:54 +0300)]
Stuff legacy compat wrappers out of sight into header_internal.c
- probably need to carry the compat stuff around for a while but get
  them out of the way...
- headerFreeTag() and headerFreeData() are just the same thing, with
  headerFreeTag() supposedly being the "new" interface which never was
  used, duh :)

16 years agoStart shredding legacy cruft out of header code
Panu Matilainen [Wed, 18 Jun 2008 11:35:56 +0000 (14:35 +0300)]
Start shredding legacy cruft out of header code
- headerGetRaw() can now be done with just a flag to headerGet()

16 years agoConvert signature code to use headerPut()
Panu Matilainen [Wed, 18 Jun 2008 10:15:46 +0000 (13:15 +0300)]
Convert signature code to use headerPut()
- tags in signature header overlap with those in "regular" header,
  can't use rpmtdFromFoo() as that would give totally bogus types and errors
- just add a wrapper around headerPut() that behaves like headerAddEntry()