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
Panu Matilainen [Tue, 13 May 2008 15:09:35 +0000 (18:09 +0300)]
Add some more rpmtd access methods
- rpmtdGetUint() for 16 and 32 bit integer types, similar to
rpmtdGetString() (equally usable with scalar types and arrays)
- rpmtdToString() which converts "any" header data into string presentation
Panu Matilainen [Tue, 13 May 2008 14:35:32 +0000 (17:35 +0300)]
Convert runInstScript() to use new style headerGet()
- simplifies things quite a bit when we can just iterate over the
prog arg container, no matter if it's string or string array
Panu Matilainen [Tue, 13 May 2008 14:10:42 +0000 (17:10 +0300)]
Simplify prefix shuffling in psm runScript()
- use new style headerGet() and pass the entire tag container down to
doScriptExec(), removing need for big bunch of local variables
- use rpmtd (iterator) methods for processing the prefixes in doScriptExec(),
it does the right thing for legacy non-array RPMTAG_INSTALLPREFIX too
Panu Matilainen [Tue, 13 May 2008 13:12:56 +0000 (16:12 +0300)]
Convert a few cases in rpmfc to use the new rpmtdFromArg() methods
- safety asserts for the expected type for now...
Panu Matilainen [Tue, 13 May 2008 13:11:28 +0000 (16:11 +0300)]
Add methods to construct tag containers from argv and argi arrays
- basic type checking done based on tag (return) type
Panu Matilainen [Tue, 13 May 2008 12:05:22 +0000 (15:05 +0300)]
Convert couple of headerGetEntry() uses to new interface in parsePreamble
Panu Matilainen [Tue, 13 May 2008 11:42:32 +0000 (14:42 +0300)]
Use tag container iterator for ismemberInEntry()
Panu Matilainen [Tue, 13 May 2008 11:40:55 +0000 (14:40 +0300)]
Add support for iterating over tag data container
- rpmtd iterator init + next methods
- string accessor method for RPM_STRING_TYPE and RPM_STRING_ARRAY_TYPE
Panu Matilainen [Tue, 13 May 2008 11:03:08 +0000 (14:03 +0300)]
Convert checkForDuplicates() to use new interfaces
- doesn't gain anything but ...
Panu Matilainen [Tue, 13 May 2008 11:02:40 +0000 (14:02 +0300)]
Add rpmtdTag() method
Panu Matilainen [Tue, 13 May 2008 10:44:04 +0000 (13:44 +0300)]
Simplify initSourceHeader()
- use headerCopyTags() instead of manually doing it for the main tags
- use the new rpmtd interfaces for build restriction copying
Panu Matilainen [Tue, 13 May 2008 10:29:07 +0000 (13:29 +0300)]
Convert headerCopyTags() to use rpmtd internally
Panu Matilainen [Tue, 13 May 2008 10:25:14 +0000 (13:25 +0300)]
Convert headerCopy() to use the new interfaces internally
Panu Matilainen [Tue, 13 May 2008 09:32:25 +0000 (12:32 +0300)]
Add headerPut() for adding data to headers through tag container
- tag container isn't that big a win on add/append operations as it is on
retrieval, just use the existing headerAddEntry() family to do the
actual work
- headerPut() is a nice and short name, lifted from rpm5.org, API might
differ
- flags to control operation, just whether append is permitted or not for now
Panu Matilainen [Tue, 13 May 2008 08:59:19 +0000 (11:59 +0300)]
Use a macro for copying td entries in compat wrappers
- just to avoid tedious umphteen copies of if (c) *c = ...
Panu Matilainen [Tue, 13 May 2008 08:46:33 +0000 (11:46 +0300)]
Convert header tag iterator to use rpmtd
- new API function headerNext() for the new interface
- headerNextIterator() is just a compat wrapper
Panu Matilainen [Tue, 13 May 2008 08:38:38 +0000 (11:38 +0300)]
Convert headerGetEntry() internals to use rpmtd for data
- new public API function headerGet() that returns data in rpmtd, with
flags to control operation (just minmem or no for now)
- headerGet() is nice and short name, lifted from rpm5.org but our API
differs as this takes a separate arg for the tag to get instead of
(ab)using the container to pass data back and forth
- internal compatibility wrapper to keep headerGetEntry() and -MinMem
version working
Panu Matilainen [Tue, 13 May 2008 08:14:50 +0000 (11:14 +0300)]
Start converting header internals to use the rpmtd struct
- turn copyEntry() into a wrapper around copyTdEntry() to avoid having
to convert everything at once
- copyTdEntry() takes rpmtd and populates with data and whether memory
was allocated or not
Panu Matilainen [Tue, 13 May 2008 08:02:45 +0000 (11:02 +0300)]
New "tag data" container struct + some basic methods to deal with it
- to be used for passing around header and extension data
- inspired by similar changes in rpm5.org, details and implementation differ
Panu Matilainen [Mon, 12 May 2008 15:32:11 +0000 (18:32 +0300)]
Remove tags from headerSprintfArguments
- its always rpmTagTable so no point carrying it around
Panu Matilainen [Mon, 12 May 2008 15:27:36 +0000 (18:27 +0300)]
Update translations again for headerfmt.c split
Panu Matilainen [Mon, 12 May 2008 15:26:11 +0000 (18:26 +0300)]
headerfmt.c has translatable strings, add to POTFILES
Panu Matilainen [Mon, 12 May 2008 15:03:47 +0000 (18:03 +0300)]
Use rpmTagGetFoo() instead of local myTagFoo() versions
- hsa tags will always be our default rpmTagTable so we can use the
somewhat optimized rpmTagGet() versions instead of dumb linear searchs
Panu Matilainen [Mon, 12 May 2008 14:25:54 +0000 (17:25 +0300)]
Push extension defaults one level deeper into headerFormat()
Panu Matilainen [Mon, 12 May 2008 14:08:12 +0000 (17:08 +0300)]
Simplify header extension handling
- remove the now unnecessary chaining to different extension tables
Panu Matilainen [Mon, 12 May 2008 13:53:26 +0000 (16:53 +0300)]
Move headerVerifyInfo() to header.[ch] where it logically belongs
- removes the need for copy-paste typeAlign array in package.c
Panu Matilainen [Mon, 12 May 2008 13:31:27 +0000 (16:31 +0300)]
Eliminate copy-paste versions of hdrchkFoo() macros
- just stick 'em into header_internal.h, both header.c and package.c
need it anyway
Panu Matilainen [Mon, 12 May 2008 13:20:13 +0000 (16:20 +0300)]
Convert internal uses of headerSprintf() to headerFormat()
Panu Matilainen [Mon, 12 May 2008 13:16:37 +0000 (16:16 +0300)]
Add simpler headerFormat() function, deprecate headerSprintf()
- headerSprintf() is just a dumb wrapper around headerFormat() now,
tbltags and extensions are not used at all
- baby steps towards eliminating the the tag and extension tables from
the API/ABI...
Panu Matilainen [Mon, 12 May 2008 12:48:31 +0000 (15:48 +0300)]
Split header sprintf formatting to separate source
- header.c is now just low level header handling, headerfmt.c is the
formatting engine and formats.c has the actual formats
- also move bunch of formatting-related stuff from header_internal.h to
headerfmt.c, nothing else needs it
Jindrich Novy [Mon, 12 May 2008 10:46:37 +0000 (12:46 +0200)]
fully translate to CZ after latest po files regeneration
Panu Matilainen [Mon, 12 May 2008 09:54:36 +0000 (12:54 +0300)]
Move header "default" formats to formats.c along with the rest of 'em
Panu Matilainen [Mon, 12 May 2008 09:31:54 +0000 (12:31 +0300)]
Update translations after the big shuffle
Panu Matilainen [Mon, 12 May 2008 09:30:00 +0000 (12:30 +0300)]
Adjust pkg-config now that librpmdb is gone
Panu Matilainen [Mon, 12 May 2008 09:28:12 +0000 (12:28 +0300)]
Fixup paths and Makefiles for rpmdb/ elimination
Panu Matilainen [Mon, 12 May 2008 09:17:01 +0000 (12:17 +0300)]
Start (re-)joining librpmdb and librpm
- the split is largely arbitrary and mostly just causes, well, arbitrary
issues and limitations
- just move content from rpmdb/ to lib/ for now
Panu Matilainen [Mon, 12 May 2008 07:45:33 +0000 (10:45 +0300)]
Rip old, bit-rotten librpm test programs
Panu Matilainen [Mon, 12 May 2008 07:44:07 +0000 (10:44 +0300)]
Rip old, bit-rotten librpmio test programs
Panu Matilainen [Mon, 12 May 2008 07:40:14 +0000 (10:40 +0300)]
Rip old, bit-rotten librpmdb test programs
Panu Matilainen [Mon, 12 May 2008 06:14:09 +0000 (09:14 +0300)]
Remove internal copy of Lua for good
- we can do just fine with externally linked lua, no need to carry
this around
Jindrich Novy [Sat, 10 May 2008 06:55:04 +0000 (08:55 +0200)]
Fully transale RPM to Czech
- convert the po file to UTF-8
- translate all strings
Panu Matilainen [Thu, 8 May 2008 16:03:12 +0000 (19:03 +0300)]
Caught pants down with strlcpy() vs strncpy() semantics
- rstrlcpy() calculates source string size regardless of length limit,
but cpio fields are fixed length character arrays, not strings -> kaboom
- wondering if zero-terminating strncpy() variant might be more fit to our
purposes than strlcpy()-clone
Panu Matilainen [Thu, 8 May 2008 14:10:10 +0000 (17:10 +0300)]
Eliminate static print buffer from prDbiOpenFlags()
- unlikely to actually overflow but it'd be all the more embarrasing
as it's just diagnostics/debug code...
Panu Matilainen [Thu, 8 May 2008 12:24:46 +0000 (15:24 +0300)]
Avoid entirely unnecessary static temp string buffer
Panu Matilainen [Thu, 8 May 2008 11:37:29 +0000 (14:37 +0300)]
Rip useless ROOT_GROUP checking from configure
- it was only used for an ancient RH-specific %_fixgroup anyway which
in turn only ever did anything when building as root - bad bad...
Panu Matilainen [Thu, 8 May 2008 11:36:08 +0000 (14:36 +0300)]
Don't run fixowner and fixgroup at end of %prep
- they'd only work for root, and we don't want to encourage people to build
as root...
Panu Matilainen [Thu, 8 May 2008 10:40:26 +0000 (13:40 +0300)]
Oops, matchpathcon() wants st_mode, not the entire struct stat
Panu Matilainen [Thu, 8 May 2008 10:35:27 +0000 (13:35 +0300)]
Block signals while moving the rpmdb to final location after rebuild
- interrupt there would be pretty disastrous..
Panu Matilainen [Thu, 8 May 2008 10:30:16 +0000 (13:30 +0300)]
Lose the silly db argument from block/unblockSignals()
- unused, and unusable anyway as signals are global, not per db thing...
Panu Matilainen [Thu, 8 May 2008 10:06:34 +0000 (13:06 +0300)]
Restore rpmdb selinux contexts to default after rebuild (rhbz#442149)
Panu Matilainen [Thu, 8 May 2008 09:40:37 +0000 (12:40 +0300)]
is_selinux_enabled() returns 0 if not enabled, not -1
Panu Matilainen [Thu, 8 May 2008 08:53:42 +0000 (11:53 +0300)]
Check for transaction root sanity in rpmtsSetRootDir()
- only regular paths starting with / permitted
- change prototype to permit return codes
Panu Matilainen [Thu, 8 May 2008 08:38:52 +0000 (11:38 +0300)]
Set ts rootdir to /, not empty if rootDir arg is NULL
- lets see what break... ;)
Panu Matilainen [Thu, 8 May 2008 08:27:58 +0000 (11:27 +0300)]
Only append trailing slash to ts rootdir if rootdir != "/"
Panu Matilainen [Thu, 8 May 2008 07:20:39 +0000 (10:20 +0300)]
Fix up some fuzz in Finnish translation
Panu Matilainen [Thu, 8 May 2008 07:07:31 +0000 (10:07 +0300)]
Fix up / remove some fuzzy German translations
Panu Matilainen [Thu, 8 May 2008 07:00:04 +0000 (10:00 +0300)]
Updated Serbian translations from Igor Miletic (rhbz#441101)
Panu Matilainen [Thu, 8 May 2008 06:56:54 +0000 (09:56 +0300)]
Updated Polish translation from Piotr Drąg
Panu Matilainen [Thu, 8 May 2008 06:53:36 +0000 (09:53 +0300)]
Updated German translation from Fabian Affolter (rhbz#438178)
Panu Matilainen [Thu, 8 May 2008 04:48:51 +0000 (07:48 +0300)]
Check rpmAddSignature() return codes (rhbz#442761)
- headerGetEntry() on RPMTAG_HEADERIMMUTABLE already caught the corrupted
package, we just didn't paying attention
- make the hge failed error message a bit more meaningful
Panu Matilainen [Wed, 7 May 2008 09:15:22 +0000 (12:15 +0300)]
Oops, don't access variable after freeing
Panu Matilainen [Wed, 7 May 2008 08:33:33 +0000 (11:33 +0300)]
Oops, plug leak introduced by previous commit
Panu Matilainen [Wed, 7 May 2008 08:12:17 +0000 (11:12 +0300)]
Simplify doPatch()
- use %{uncompress} macro to pass files to patch always
- gains support for lzma patches for free
Panu Matilainen [Wed, 7 May 2008 06:48:39 +0000 (09:48 +0300)]
Plug another memleak from genCpioListAndHeader()
- free fuser + fgroup info instead of NULLing, add comment on side-effects
Panu Matilainen [Wed, 7 May 2008 05:32:36 +0000 (08:32 +0300)]
rpmfi actions is already alloced by rpmfiNew(), don't leak memory
Panu Matilainen [Tue, 6 May 2008 09:48:09 +0000 (12:48 +0300)]
Eliminate nasty hackery with "special" doc + docdir format
- figure out docdir early on in spec parsing, store in package struct
instead of abusing parse buffer
- fixes memleaks from docdir_fmt and headerSprintf too
Panu Matilainen [Tue, 6 May 2008 07:00:07 +0000 (10:00 +0300)]
Eliminate static buffer in lua findkey()
Jindrich Novy [Tue, 6 May 2008 06:47:18 +0000 (08:47 +0200)]
Nuke EXPRBUFSIZ, it is now useless
Jindrich Novy [Tue, 6 May 2008 06:46:50 +0000 (08:46 +0200)]
Don't use static buffer for parsing an expression