Panu Matilainen [Tue, 17 Jun 2008 06:07:37 +0000 (09:07 +0300)]
Replace headerRemoveEntry() with headerDel() everywhere
- this is a no-brainer s/headerRemoveEntry/headerDel/g operation as the
interface didn't actually change at all
Panu Matilainen [Tue, 17 Jun 2008 06:02:41 +0000 (09:02 +0300)]
Rename headerRemoveEntry() to headerDel(), add compat wrapper
- no differences here except headerDel is a nice short name (lifted from
rpm5.org) to go with the new headerGet() etc family
- deprecate headerRemoveEntry()
Panu Matilainen [Tue, 17 Jun 2008 05:49:19 +0000 (08:49 +0300)]
Eliminate last headerFreeData() in rpmfi
Panu Matilainen [Sat, 14 Jun 2008 11:43:15 +0000 (14:43 +0300)]
Preserve headerNext() allocation behavior
- commit
bca23d19af0a6d7371d18f6fd763e37e03f6e21a accidentally changed
it to MINMEM which breaks signature checking, lovely...
Panu Matilainen [Sat, 14 Jun 2008 08:31:15 +0000 (11:31 +0300)]
Lose the useless tag data type fields from rpmds
- we know names and evrs are string arrays, if they're not we're screwed
anyway, and flags need to be freed if header is not around
- there goes hfd() too...
Panu Matilainen [Mon, 16 Jun 2008 06:24:46 +0000 (09:24 +0300)]
Use PRIu64 for file size formatter in queries
Panu Matilainen [Mon, 16 Jun 2008 06:06:15 +0000 (09:06 +0300)]
Doxygen parameter name mismatch
Panu Matilainen [Fri, 13 Jun 2008 13:55:12 +0000 (16:55 +0300)]
Deprecate headerGetEntry() and headerGetEntryMinMemory()
Panu Matilainen [Fri, 13 Jun 2008 13:52:39 +0000 (16:52 +0300)]
Convert rpmtsSolve() to new headerGet()
Panu Matilainen [Fri, 13 Jun 2008 13:44:35 +0000 (16:44 +0300)]
Kill off hge() and hfd() vectors in rpmfi_s
- hfd() with FORCEFREE or STRING_ARRAY is just regular free()
- hge() no longer needed...
Panu Matilainen [Fri, 13 Jun 2008 13:38:10 +0000 (16:38 +0300)]
Lose the remaining hge() uses in rpmfi relocation
- ugly hackery for now, otoh it wasn't pretty to start with...
- always make a "sparse" dupe of directory names so we know how to free
it even if just some of the directories were relocated (this was broken
from the previous round of relocation alloca removal hackery)
- take advantage of RPMTD_PTR_ALLOCED to correctly free in all cases
Panu Matilainen [Fri, 13 Jun 2008 11:17:08 +0000 (14:17 +0300)]
RPMTAG_FILEFLAGS is not used for anything in relocations
Panu Matilainen [Fri, 13 Jun 2008 10:59:04 +0000 (13:59 +0300)]
Convert validRelocation parts of relocateFileList() to new headerGet()
- one piece at a time, this baby breaks easily ;)
- take advantage of iterating over td as possible..
Panu Matilainen [Fri, 13 Jun 2008 10:52:32 +0000 (13:52 +0300)]
Unbreak relocations broken by
621e7518418a0e031d302e8681fe0bf81d0c4b72
- stick scareFlags into rpmfi_s for now so they're available everywhere
- subtle games with how fi->dil is alloced on scareMem behavior, don't
blow up and don't leak memory either
- stuff scareFlags into rpmfi struct for now
Jindrich Novy [Fri, 13 Jun 2008 10:51:01 +0000 (12:51 +0200)]
Use 64bit sizes by default in rpmcache
Jindrich Novy [Fri, 13 Jun 2008 10:31:26 +0000 (12:31 +0200)]
Allow spaces in Source/Patch URLs and filenames
Panu Matilainen [Fri, 13 Jun 2008 09:23:46 +0000 (12:23 +0300)]
Simplify providePackageNVR()
- convert providePackageNVR() to new headerGet()
- use rpmds to figure if we already have the provide instead of manually
doing it
Panu Matilainen [Fri, 13 Jun 2008 08:42:46 +0000 (11:42 +0300)]
hfd with FORCEFREE is just _free()
Panu Matilainen [Fri, 13 Jun 2008 08:42:06 +0000 (11:42 +0300)]
Convert rpmpsmStage() to new headerGet()
- grabbing fi->fuser and fi->fgroup there seem completely unnecessary,
they're always populated from rpmfiNew() afaict...
- hfd() with FORCEFREE is just the same as _free()...
Panu Matilainen [Fri, 13 Jun 2008 08:27:13 +0000 (11:27 +0300)]
Convert runImmedTriggers() to use new headerGet()
Panu Matilainen [Fri, 13 Jun 2008 08:17:00 +0000 (11:17 +0300)]
Minimally convert handleOneTrigger() to use new headerGet()
Panu Matilainen [Fri, 13 Jun 2008 07:27:46 +0000 (10:27 +0300)]
Convert legacyRetrofit() to new headerGet()
Panu Matilainen [Fri, 13 Jun 2008 07:21:40 +0000 (10:21 +0300)]
Minimally convert handleInstInstalledFiles() to new headerGet()
- fi->hge style doesn't matter as otherStates is just local temp variable,
use MINMEM always to avoid unnecessary copy (DEFAULT wouldn't copy either
atm but..)
Panu Matilainen [Fri, 13 Jun 2008 07:16:24 +0000 (10:16 +0300)]
Minimally convert rpmdbFindFpList() to use new headerGet()
Panu Matilainen [Fri, 13 Jun 2008 07:09:20 +0000 (10:09 +0300)]
Minimally convert rpmdsNew() to use new headerGet()
- take advantage of HEADERGET_ALLOC to avoid manually duplicating Flags
- otherwise just dumb minimal conversion for now, rpmds could make use
of rpmtd iteration etc but leaving that for later...
Panu Matilainen [Thu, 12 Jun 2008 14:37:33 +0000 (17:37 +0300)]
Convert a few hge()'s in relocation code to new headerGet() & friends
Panu Matilainen [Thu, 12 Jun 2008 14:09:35 +0000 (17:09 +0300)]
Make fssizes tag extension 64bit
- type changing doesn't matter much as this is just runtime generated data,
not from headers
- also gets rid of the remaining old hge() use in tagexts
Panu Matilainen [Thu, 12 Jun 2008 14:03:04 +0000 (17:03 +0300)]
Change rpmGetFilesystemUsage() size args to rpm_loff_t
Panu Matilainen [Thu, 12 Jun 2008 13:41:31 +0000 (16:41 +0300)]
Make rpmfiFSize() return rpm_loff_t type, fixup callers
- Internally file sizes are still stored as 32bit, going to 64bit wouldn't
make much sense (would only waste memory for nothing) as long as we're
bound by cpio's 32bit per-file limit. Being "64bit ready" for filesizes
doesn't hurt anything though...
Panu Matilainen [Thu, 12 Jun 2008 12:31:27 +0000 (15:31 +0300)]
rpmfiNew() doesn't use old hge() anymore
Panu Matilainen [Thu, 12 Jun 2008 12:29:40 +0000 (15:29 +0300)]
Use long archive size always in rpmfi
Panu Matilainen [Thu, 12 Jun 2008 12:05:43 +0000 (15:05 +0300)]
Add more 64bit size tags + tag extensions for converting from old values
Panu Matilainen [Thu, 12 Jun 2008 12:01:58 +0000 (15:01 +0300)]
Move 32 to 64 bit tag conversion to helper function
Panu Matilainen [Thu, 12 Jun 2008 11:16:28 +0000 (14:16 +0300)]
Use HEADERGET_ALLOC instead of manual copy in longfilesizesTag()
Panu Matilainen [Thu, 12 Jun 2008 10:35:09 +0000 (13:35 +0300)]
Use HEADERGET_ALLOC instead of manually copying the data in rpmfiNew()
- headerGet() knows better how to create a copy of the data, let it...
Panu Matilainen [Thu, 12 Jun 2008 08:04:33 +0000 (11:04 +0300)]
Dumb thinko in header data allocation
Jindrich Novy [Wed, 11 Jun 2008 14:13:18 +0000 (16:13 +0200)]
Use rpm_loff_t in printFileInfo()
- and use snprintf
Panu Matilainen [Wed, 11 Jun 2008 09:26:52 +0000 (12:26 +0300)]
Add headerGet() flag to force allocation of returned data
- earlier there was no way for caller to know if returned data or parts
of it pointed to header memory (other than "know" how rpm behaves on
given types), this allows consistent behavior for callers (ie you
always "own" the returned data, not depending on header) when needed
- if HEADERGET_ALLOC flag is set, all returned data is malloced, instead
of possibly pointing to header memory depending on type
- HEADERGET_ALLOC overrides HEADERGET_MINMEM if both specified
- adjust various header internal callers to accept flags instead of just
minmem argument
- TODO: make sure tag extensions honor this too (all but fsnamesTag
currently allocate anyway)
Panu Matilainen [Wed, 11 Jun 2008 07:31:14 +0000 (10:31 +0300)]
Make rpmps generic number field 64bit, rename getter method
- rename the parameters + internal use to more generic "number"
- rename ugly and dumb rpmProblemGetLong() to rpmProblemGetDiskNeed()
and return rpm_loff_t
- the number field is used for some other purposes too (whether dep problem
is for installed package), work around this for now by just defining
rpmProblemGetDiskNeed() result value as undefined on non-disk related
problems ;)
Panu Matilainen [Wed, 11 Jun 2008 06:25:02 +0000 (09:25 +0300)]
Enable rpmDoDigest() to pass large file sizes
- should probably be off_t instead of rpm_loff_t as this is lowlevel io
business and only verification code cares about the size reported by
it, otoh forcing 64bit always avoids having to deal with variable
off_t type on printing.. shrug
Panu Matilainen [Tue, 10 Jun 2008 15:11:32 +0000 (18:11 +0300)]
Add new tag extension to retrieve filesizes as 64bit types
- convert old 32bit sizes to 64bit if large sizes aren't present in header
- if large sizes are present, we malloc + copy the result to have consistent
behavior for rpmfi
Panu Matilainen [Tue, 10 Jun 2008 13:00:33 +0000 (16:00 +0300)]
Minimally convert rpmfiBuildFNames() to new headerGet()
Panu Matilainen [Tue, 10 Jun 2008 12:05:31 +0000 (15:05 +0300)]
Callers are now well known, require non-NULL arguments
Jindrich Novy [Tue, 10 Jun 2008 13:33:24 +0000 (15:33 +0200)]
Add 64bit filesizes to header on build
Jindrich Novy [Tue, 10 Jun 2008 12:42:50 +0000 (14:42 +0200)]
rpmtsUpdateDSI now uses rpm_loff_t for fileSize
Jindrich Novy [Tue, 10 Jun 2008 12:41:10 +0000 (14:41 +0200)]
Use 64bit data types in diskspaceInfo_s
Jindrich Novy [Tue, 10 Jun 2008 12:37:52 +0000 (14:37 +0200)]
Create RPMTAG_LONGFILESIZES to hold 64bit filesizes
Panu Matilainen [Tue, 10 Jun 2008 11:36:12 +0000 (14:36 +0300)]
Eliminate rpmfiBuildFNames() from the API
- headerGet() with extensions enabled provides a nicer interface to
the data, no need to expose it
Panu Matilainen [Tue, 10 Jun 2008 11:31:43 +0000 (14:31 +0300)]
Eliminate rpmfiBuildFNames() use in psm
Panu Matilainen [Tue, 10 Jun 2008 11:29:30 +0000 (14:29 +0300)]
Add RPMTAG_ORIGFILENAMES tag extension
Panu Matilainen [Tue, 10 Jun 2008 11:24:57 +0000 (14:24 +0300)]
Eliminate rpmfiBuildFNames() use in python
Panu Matilainen [Tue, 10 Jun 2008 10:40:51 +0000 (13:40 +0300)]
Use rpmFileHasSuffix() instead of doing it manually
Panu Matilainen [Tue, 10 Jun 2008 10:35:20 +0000 (13:35 +0300)]
Convert psm rpmInstallSourcePackage() to new headerGet()
Panu Matilainen [Tue, 10 Jun 2008 10:08:11 +0000 (13:08 +0300)]
Convert psm markReplacedFiles() to new headerGet() interface
Panu Matilainen [Tue, 10 Jun 2008 07:04:52 +0000 (10:04 +0300)]
fwrite() returns size_t, use correct type
Panu Matilainen [Tue, 10 Jun 2008 07:02:52 +0000 (10:02 +0300)]
Use correct type for strlen()
Panu Matilainen [Tue, 10 Jun 2008 06:59:09 +0000 (09:59 +0300)]
Silly signedness mismatch in pgpMpiSet()
Panu Matilainen [Tue, 10 Jun 2008 06:54:51 +0000 (09:54 +0300)]
Use nlink_t for hardlink count types
- avoids some signed vs unsigned comparisons
Panu Matilainen [Mon, 9 Jun 2008 16:00:37 +0000 (19:00 +0300)]
Change tag extension returns codes to match headerGet()
Panu Matilainen [Mon, 9 Jun 2008 12:42:24 +0000 (15:42 +0300)]
FD_t contentLength field is useless for us too...
Panu Matilainen [Mon, 9 Jun 2008 12:38:28 +0000 (15:38 +0300)]
Lose bunch of unused fields from FD_t
- leftovers from times of internal http/dav etc transports..
Panu Matilainen [Mon, 9 Jun 2008 12:33:27 +0000 (15:33 +0300)]
Use 64bit type for fdSet/GetCpioPos() in rpmio
Panu Matilainen [Mon, 9 Jun 2008 09:58:43 +0000 (12:58 +0300)]
Use 64bit type internally for printing size when reading sig header
Panu Matilainen [Mon, 9 Jun 2008 09:48:34 +0000 (12:48 +0300)]
Use 64bit type for rpmte package size reporting
- RPMTAG_SIGSIZE limits to 32bit in practise currently
Panu Matilainen [Mon, 9 Jun 2008 09:36:19 +0000 (12:36 +0300)]
Use 64bit type internally for total file size counting in build
- ensure we don't overflow RPMTAG_SIZE which is 32bit for now
Panu Matilainen [Mon, 9 Jun 2008 09:29:07 +0000 (12:29 +0300)]
Use 64bit type internally for package archive size & offset
- cpio "new" ascii format limits individual files to UINT32_MAX, no such
limit on the entire archive though
- RPMSIGTAG_PAYLOADSIZE is 32bit type atm, assert that the archive size
fits to UINT32_MAX despite internal presentation being larger
- FD_t limits the real archive to rpm_off_t still
Panu Matilainen [Mon, 9 Jun 2008 09:00:12 +0000 (12:00 +0300)]
Use rpm_loff_t for transaction callback amount+total arguments
- ought to be safe as data is only ever automatically converted to larger
type on notify calls
Panu Matilainen [Mon, 9 Jun 2008 06:31:00 +0000 (09:31 +0300)]
Handle NULL in str2hge()
- at least apt-rpm expects to pass empty version as NULL to rpmdsSingle(),
don't blow up...
Panu Matilainen [Sat, 7 Jun 2008 10:17:52 +0000 (13:17 +0300)]
rpmtdCount() knows how to handle BIN types, use it..
Panu Matilainen [Sat, 7 Jun 2008 08:43:54 +0000 (11:43 +0300)]
Couple of more 64bit format types
Panu Matilainen [Sat, 7 Jun 2008 08:32:02 +0000 (11:32 +0300)]
Remove unused variable
Panu Matilainen [Sat, 7 Jun 2008 08:31:32 +0000 (11:31 +0300)]
Handle 64bit type in headerMergeLegacySigs()
- not that any legacy tags have 64bit type but shuts up gcc..
Panu Matilainen [Sat, 7 Jun 2008 08:29:16 +0000 (11:29 +0300)]
Use inttypes.h formats in stringFormat()
- add 64bit type while at it
Panu Matilainen [Sat, 7 Jun 2008 07:51:53 +0000 (10:51 +0300)]
Teach rpmdb about 64bit types
Panu Matilainen [Fri, 6 Jun 2008 20:47:37 +0000 (23:47 +0300)]
Add access methods for 64bit integer types to rpmtd
Panu Matilainen [Fri, 6 Jun 2008 15:53:44 +0000 (18:53 +0300)]
Fix typo in sqlite backend preventing it from building
Jindrich Novy [Fri, 6 Jun 2008 13:15:01 +0000 (15:15 +0200)]
Introduce 64bit rpm_loff_t
Jindrich Novy [Fri, 6 Jun 2008 13:10:57 +0000 (15:10 +0200)]
Teach sqlite backend 64bit handling
Jindrich Novy [Fri, 6 Jun 2008 13:04:25 +0000 (15:04 +0200)]
Handle RPM_INT64_TYPE in header functions
Jindrich Novy [Fri, 6 Jun 2008 13:03:19 +0000 (15:03 +0200)]
Introduce htonll()
Jindrich Novy [Fri, 6 Jun 2008 12:57:05 +0000 (14:57 +0200)]
Introduce RPM_INT64_TYPE
Panu Matilainen [Tue, 3 Jun 2008 11:26:34 +0000 (14:26 +0300)]
Unexport file state machine internals
- fsmGetTs(), fsmGetFi(), fileStageString(), fileActionString(),
fsmMapPath(), fsmMapAttrs() and fsmStage() aren't needed outside fsm,
make 'em static to avoid leaking to symbol space
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.