Panu Matilainen [Tue, 22 Sep 2009 11:52:57 +0000 (14:52 +0300)]
Fix endless loop on RPMDBI_PACKAGES iteration when offset specified
Panu Matilainen [Tue, 22 Sep 2009 09:32:02 +0000 (12:32 +0300)]
Unbreak --tid and --querybynumber
- broken ages ago somewhere between 4.4.x and 4.6.x by typing changes
presumably
- C99 strtoul() can figure the base on its own, remove unnecessary work
Panu Matilainen [Tue, 22 Sep 2009 07:21:47 +0000 (10:21 +0300)]
DB_INCOMPLETE was removed in BDB 4.1 and we dont support older versions
Panu Matilainen [Tue, 22 Sep 2009 06:26:39 +0000 (09:26 +0300)]
Remove ancient, unused code to filter duplicates on rpmdb rebuild
- enabling this as-is would be murderous to multilib systems
- getting duplicates in the db would be a bug elsewhere
Panu Matilainen [Mon, 21 Sep 2009 11:36:59 +0000 (14:36 +0300)]
Rip out dependency caching
- it doesn't speed up things that much, is broken in some chroot
scenarios and is ugly ugly hardwired BDB hackery where it doesn't belong
Panu Matilainen [Mon, 21 Sep 2009 11:04:34 +0000 (14:04 +0300)]
Move rpmdb home creation from backends to one level higher
- this is a common operation for any backends, avoid duplication
- only try to create it once instead of every index open, and if it
doesn't exist and cant be created, error out instead of trying to continue
in vain
Panu Matilainen [Mon, 21 Sep 2009 11:00:46 +0000 (14:00 +0300)]
Add an internal API for getting rpmdb home wrt chroot state, use it
Panu Matilainen [Mon, 21 Sep 2009 08:59:25 +0000 (11:59 +0300)]
Remove pointless per-index api version
Panu Matilainen [Mon, 21 Sep 2009 08:36:16 +0000 (11:36 +0300)]
DB config stuff not needed outside dbconfig.c, make them static
- additionally make the popt struct const since it can...
Panu Matilainen [Mon, 21 Sep 2009 08:32:43 +0000 (11:32 +0300)]
BDB is not optional at least currently, remove useless ifdefs
Panu Matilainen [Mon, 21 Sep 2009 08:29:27 +0000 (11:29 +0300)]
Remove useless no-op "teardown" and "usecursors" config bits
Panu Matilainen [Mon, 21 Sep 2009 08:00:50 +0000 (11:00 +0300)]
Remove BDB RPC "support"
- it's insecure, used by nobody (its been rather broken for a long
time) and all, but BDB 4.8.x removed RPC support from upstream so we
cant very well support in the future even if we wanted to
Panu Matilainen [Mon, 21 Sep 2009 07:29:38 +0000 (10:29 +0300)]
Remove XA "support" from the backend
- it's removed from BDB 4.8.x and this has hardly ever done anything anyway
Panu Matilainen [Fri, 18 Sep 2009 10:53:46 +0000 (13:53 +0300)]
Remove unused db/dbenv methods "documentary" from the source
Panu Matilainen [Fri, 18 Sep 2009 10:05:49 +0000 (13:05 +0300)]
Use db3Free() for on sqlite backend close too
Panu Matilainen [Fri, 18 Sep 2009 10:13:59 +0000 (13:13 +0300)]
Always populate dbi->dbi_file on db3New()
- Only the actual db->open() wants NULL for temporary databases, everywhere
else we want the tag name. Handle the temporary case where it counts
instead of complicating things everywhere for the one special case.
Panu Matilainen [Fri, 18 Sep 2009 08:56:05 +0000 (11:56 +0300)]
Mop up leftover root/home foobar
Panu Matilainen [Fri, 18 Sep 2009 08:51:21 +0000 (11:51 +0300)]
Per-dbi root and home dont make sense, always use rpmdb paths
Panu Matilainen [Fri, 18 Sep 2009 06:49:28 +0000 (09:49 +0300)]
Sigh.. when not using environment, absolute paths are required
Panu Matilainen [Thu, 17 Sep 2009 13:28:09 +0000 (16:28 +0300)]
Always open database files relative to database home
- This allows the db to move freely wherever (such as across chroots,
RhBug:507309 and pile of related issues) .. and is even recommended
by BDB documentation. Well duh.
Panu Matilainen [Thu, 17 Sep 2009 09:51:28 +0000 (12:51 +0300)]
EXIT_FAILURE being defined is already handled in system.h
Panu Matilainen [Thu, 17 Sep 2009 09:40:29 +0000 (12:40 +0300)]
Compare pointers against NULL, not 0
Panu Matilainen [Thu, 17 Sep 2009 09:25:31 +0000 (12:25 +0300)]
Have BDB use our allocation routines now that we can
- rfree() prototype doesn't match free() but it doesn't matter in this
case as it's just a convencience wrapper with no extra functionality
and setting NULL is ok according to BDB docs
- db->set_alloc() can't be used if environment is used, fix the condition
Panu Matilainen [Thu, 17 Sep 2009 08:36:10 +0000 (11:36 +0300)]
Add runtime settable custom memory allocation failure callback routine
- lets API users perform theirn own cleanup / exit through their own
routines in case of allocation failure, or even try to free up
some memory and retry allocation
Panu Matilainen [Wed, 16 Sep 2009 14:28:22 +0000 (17:28 +0300)]
Always use build + use our own allocator functions
- Consistent across platforms and will allow some things macros dont and
memory checkers these days are smart enough to get decent output anyway
- Minimal namespacing with r-prefix, add compatibility macros to system.h
for now so we dont have to change the entire codebase for this
- Also make rpmutil.h where the declarations and gcc __attribute__ macros
are available everywhere
Panu Matilainen [Wed, 16 Sep 2009 13:18:06 +0000 (16:18 +0300)]
Eliminate unnecessary variable
Florian Festi [Wed, 16 Sep 2009 12:59:48 +0000 (14:59 +0200)]
Remove unused local variable
Panu Matilainen [Wed, 16 Sep 2009 12:36:44 +0000 (15:36 +0300)]
Remove db environment on close on chrooted operations
- As we open the db from outside the chroot, the environment ends up
containing paths that are not valid once we enter the chroot causing
dumb issues like RhBug:513699 and RhBug:507309.
- We'd be better off removing the environment always after access but
limiting to chroots for now as the rpmdb open/close path is full of races
when environment is not present. Chroots are somewhat special environemnts
anyway and typically not concurrently accessed so it's less of an issue
there.
- While this still has all sorts of issues, it at least leaves the rpmdb
in chroot in a functional state after initial install.
Panu Matilainen [Wed, 16 Sep 2009 12:12:28 +0000 (15:12 +0300)]
Move the default transaction lock out of BDB environment namespace
- We dont want the transaction lock to get mixed with the BDB environment,
nor do we want it wiped out with it as the ts lock protects things
*around* the environment. Unlike the environment, any fcntl locks on
the file get released when process dies, so if there is a lock,
there's a process alive holding it and you'd better not remove it.
- Use the same lock path in macro configuration and built-in fallback
- Make it a hidden file to avoid people confusing lock file existence
with it actually being locked
Panu Matilainen [Wed, 16 Sep 2009 11:08:28 +0000 (14:08 +0300)]
There's a function to test string equivalence...
Panu Matilainen [Wed, 16 Sep 2009 11:00:54 +0000 (14:00 +0300)]
Throw out useless db statistics structs
- besides being completely unused, these structs are defined by BDB
public headers, no need to mirror them in rpm
Panu Matilainen [Wed, 16 Sep 2009 10:57:01 +0000 (13:57 +0300)]
Throw out pile of unused "stuff" from 2002
Panu Matilainen [Wed, 16 Sep 2009 09:41:44 +0000 (12:41 +0300)]
Minor cleanup to newRpmdb()
- no need to free what hasn't been allocated yet
Panu Matilainen [Wed, 16 Sep 2009 09:27:12 +0000 (12:27 +0300)]
One complicated way to write xstrdup() .. pff
- sqlite backend uses dbi subfile for table name, leave it alone although
it is the same as the file name...
- allocate + free both file and table name separately
Panu Matilainen [Wed, 16 Sep 2009 09:08:58 +0000 (12:08 +0300)]
Eliminate long since unused db subfile from bdb code
Panu Matilainen [Wed, 16 Sep 2009 08:56:12 +0000 (11:56 +0300)]
Remove unnecessary arguments to db init and fini
- bdb environments are per db_home, not per file so dbfile etc dont make
sense here
Florian Festi [Mon, 14 Sep 2009 14:19:33 +0000 (16:19 +0200)]
Also skip to be erased files in "netsharedpath"
fixes rhbz#494640
Panu Matilainen [Tue, 15 Sep 2009 09:57:51 +0000 (12:57 +0300)]
Initialize rpm earlier in rpm2cpio (RhBug:523260)
- url retrieval requires macros to be loaded
Panu Matilainen [Tue, 15 Sep 2009 08:05:27 +0000 (11:05 +0300)]
Take non-gi errors into account too (SuseBug:527191)
- patch from OpenSUSE / Michael Schroeder
Panu Matilainen [Tue, 15 Sep 2009 07:56:58 +0000 (10:56 +0300)]
Allow absolute paths in file lists again (SuseBug:535594, RhBug:521760)
- patch from OpenSUSE / Michael Schroeder
- build-time generated file lists should be placed in the build directory,
but at least one valid use case for this is things like %files -f %{SOURCE10}
Roland McGrath [Wed, 9 Sep 2009 18:07:10 +0000 (11:07 -0700)]
find-debuginfo.sh: use permissions 444 for all .debug files
Signed-off-by: Roland McGrath <roland@redhat.com>
Panu Matilainen [Tue, 15 Sep 2009 05:45:14 +0000 (08:45 +0300)]
Don't add dependency type into file requires and provides (RhBug:523282)
- unintended change in commit
3d8656f040d2c780c88d0cd63594898f0605a6fa
Panu Matilainen [Mon, 14 Sep 2009 10:23:34 +0000 (13:23 +0300)]
Clean up rpmalAllFileSatisfiesDepend() a bit
- avoid multiple strrchr() calls
- avoid _constfree(), the string size is known from strrchr() so we dont
need to allocate on heap at all
Panu Matilainen [Mon, 14 Sep 2009 06:48:49 +0000 (09:48 +0300)]
Single point of exit for doSetupMacro() to clean up freeing allocations
Panu Matilainen [Thu, 10 Sep 2009 14:16:12 +0000 (17:16 +0300)]
Oops, accessing the wrong header in processBinaryFiles()
- dumb mistakes from commit
4177fdffd6e7414123062e8716afb22596608531
Panu Matilainen [Thu, 10 Sep 2009 12:03:13 +0000 (15:03 +0300)]
Rip the broken asynchronous psm machinery
- it was only "used" for the ldconfig optimization and actually been
completely broken since the ordering rewrite
Panu Matilainen [Thu, 10 Sep 2009 12:02:36 +0000 (15:02 +0300)]
Rip the broken ldconfig optimization hack (RhBug:513224)
- it doesn't optimize much and what's worse, it sometimes optimizes out
calls that would've been necessary
Panu Matilainen [Thu, 10 Sep 2009 11:14:49 +0000 (14:14 +0300)]
Rip unnecessary headerDump() and the last ancient artifacts using it
- xml format dump gives an output that can actually be further processed
Panu Matilainen [Thu, 10 Sep 2009 11:05:08 +0000 (14:05 +0300)]
Rip unused and useless headerGetLangs()
- nothing in the world uses it and the info is available through
regular headerGet() anyway
Panu Matilainen [Thu, 10 Sep 2009 11:04:18 +0000 (14:04 +0300)]
Rip unused and useless headerUsageCount()
Panu Matilainen [Wed, 9 Sep 2009 11:19:20 +0000 (14:19 +0300)]
Eliminate unused goo from findEntry()
Panu Matilainen [Wed, 9 Sep 2009 09:17:10 +0000 (12:17 +0300)]
Handle NULL header in doHeaderUnload()
- avoids having to separately check elsewhere and avoids segfaulting
on headerUnload() and headerReload() on NULL headers
Panu Matilainen [Wed, 9 Sep 2009 08:52:47 +0000 (11:52 +0300)]
Eliminate pointless increment
Panu Matilainen [Wed, 9 Sep 2009 08:47:59 +0000 (11:47 +0300)]
Eliminate yet more unused calculations from header code...
Panu Matilainen [Wed, 9 Sep 2009 08:42:18 +0000 (11:42 +0300)]
Eliminate unused pad calculations from header code
Panu Matilainen [Wed, 9 Sep 2009 08:38:28 +0000 (11:38 +0300)]
Eliminate yet another unused variable in header code
Panu Matilainen [Wed, 9 Sep 2009 08:10:41 +0000 (11:10 +0300)]
Eliminate last remaining leftovers from "8/98 bug" workaround
- the ieprev calculations aren't used for anything, should've been in
commit
4d0d54492c7d539cc806ca9e7fa59e919c28e45d really
Panu Matilainen [Wed, 9 Sep 2009 08:06:45 +0000 (11:06 +0300)]
Eliminate unnecessary variable & related goo from regionSwab()
Panu Matilainen [Tue, 8 Sep 2009 11:11:59 +0000 (14:11 +0300)]
Initialize diff on declaration where it fits comfortably on one line
Panu Matilainen [Tue, 8 Sep 2009 11:10:34 +0000 (14:10 +0300)]
Move variable to block local scope, not needed elsewhere
Panu Matilainen [Tue, 8 Sep 2009 11:07:52 +0000 (14:07 +0300)]
Remove unnecessary assignment, diff is block local scope here
Panu Matilainen [Tue, 8 Sep 2009 11:05:16 +0000 (14:05 +0300)]
Reduce the number of exit points in parseFormat() to error and ok cases
- avoid a dozen redundant freeFormat() calls and dont bother NULLing
local variable at the end
Panu Matilainen [Mon, 7 Sep 2009 15:41:32 +0000 (18:41 +0300)]
Add -Wempty-body to default options if gcc supports it
- ...to help protect against screwups like
2ee45ef12aaa958b78c56b6d83bb18aa6a477d15
Panu Matilainen [Mon, 7 Sep 2009 14:50:43 +0000 (17:50 +0300)]
Eliminate unused variable
Panu Matilainen [Mon, 7 Sep 2009 14:39:39 +0000 (17:39 +0300)]
Eliminate unused variable
Panu Matilainen [Mon, 7 Sep 2009 14:10:12 +0000 (17:10 +0300)]
Minor rpmfcGenerateDependsHelper() cleanups
- initialize at declaration time, remove unnecessary variables etc
Panu Matilainen [Mon, 7 Sep 2009 14:00:49 +0000 (17:00 +0300)]
Move rl to the scope where its needed, dont bother assigning NULL
Panu Matilainen [Mon, 7 Sep 2009 13:59:01 +0000 (16:59 +0300)]
Single point of exit for doPatch() to clean up freeing
Panu Matilainen [Mon, 7 Sep 2009 13:39:40 +0000 (16:39 +0300)]
Eliminate bogus variable initialization
- i isn't used outside the loop at the end, move it there...
Panu Matilainen [Mon, 7 Sep 2009 13:34:20 +0000 (16:34 +0300)]
Add noreturn annotations to javadeps
Panu Matilainen [Mon, 7 Sep 2009 13:23:32 +0000 (16:23 +0300)]
Help compilers/analyzers a bit with luaL_error()
- luaL_error() never returns but as other tools dont know this it
raises false alarms
Panu Matilainen [Mon, 7 Sep 2009 12:52:36 +0000 (15:52 +0300)]
Add noreturn annotations to argerror() helper functions
Panu Matilainen [Mon, 7 Sep 2009 12:07:12 +0000 (15:07 +0300)]
Add noreturn annotation to die() .. which itself should die
Panu Matilainen [Mon, 7 Sep 2009 12:04:01 +0000 (15:04 +0300)]
Avoid theoretical NULL pointer dereference
- if sbp ends up not set it's an "internal error" really, dont bother
with error message
Panu Matilainen [Mon, 7 Sep 2009 11:54:45 +0000 (14:54 +0300)]
Avoid couple of (theoretical) NULL pointer dereferences
Panu Matilainen [Mon, 7 Sep 2009 11:42:04 +0000 (14:42 +0300)]
Remove bogus non-null check
- rpmdsInit() only returns NULL if passed NULL, which can't happen
as ods is already verified to be non-NULL
Panu Matilainen [Mon, 7 Sep 2009 11:15:56 +0000 (14:15 +0300)]
Ugh, erroneously introduced ; busting the conditional
- broken long time ago in commit
2ee45ef12aaa958b78c56b6d83bb18aa6a477d15
Panu Matilainen [Mon, 7 Sep 2009 11:03:47 +0000 (14:03 +0300)]
Avoid potentially calling a NULL function pointer
Panu Matilainen [Mon, 7 Sep 2009 10:19:23 +0000 (13:19 +0300)]
Eliminate unused calculations
Panu Matilainen [Mon, 7 Sep 2009 10:17:47 +0000 (13:17 +0300)]
Eliminate unused variable
Panu Matilainen [Mon, 7 Sep 2009 09:23:21 +0000 (12:23 +0300)]
Eliminate bunch of unused variables
Panu Matilainen [Mon, 7 Sep 2009 09:17:07 +0000 (12:17 +0300)]
Eliminate unused variable and pointless null-check
Panu Matilainen [Mon, 7 Sep 2009 09:05:10 +0000 (12:05 +0300)]
Fix dumb some dumb leaks in python spec code
Panu Matilainen [Mon, 7 Sep 2009 08:49:25 +0000 (11:49 +0300)]
Eliminate unused counter variable
Panu Matilainen [Mon, 7 Sep 2009 08:44:44 +0000 (11:44 +0300)]
Remove unused initialization
Panu Matilainen [Mon, 7 Sep 2009 08:42:28 +0000 (11:42 +0300)]
Remove redundant reinitialization, cleanup
Panu Matilainen [Mon, 7 Sep 2009 08:16:16 +0000 (11:16 +0300)]
Add RPM_GNUC_NONNULL macro for portable use of gcc nonnull attribute
- gcc itself can only warn on literal NULL's passed where nonnull is
expected but static analyzers can make better use of the info
Panu Matilainen [Fri, 4 Sep 2009 10:38:58 +0000 (13:38 +0300)]
Fix memleak in headerGetDumber() .. err .. Number()
Jindrich Novy [Thu, 3 Sep 2009 05:57:34 +0000 (07:57 +0200)]
Handle .desktop files with spaces in filename (rhbz#520920)
- thanks to Edward Sheldrake
Panu Matilainen [Wed, 2 Sep 2009 12:34:35 +0000 (15:34 +0300)]
Use %{nvra} as default query format, much simpler...
Panu Matilainen [Wed, 2 Sep 2009 11:43:00 +0000 (14:43 +0300)]
Panu Matilainen [Wed, 2 Sep 2009 11:08:57 +0000 (14:08 +0300)]
Take advantage of headerGetNumber() to get buildtime..
Panu Matilainen [Wed, 2 Sep 2009 10:53:27 +0000 (13:53 +0300)]
Further simplify rpmVersionCompare()
- headerGetNumber() side-effect of returning zero on errors fits this
job perfectly, simplifying things somewhat
Panu Matilainen [Wed, 2 Sep 2009 10:47:02 +0000 (13:47 +0300)]
Deprecate headerGetColor(), implement using headerGetNumber()
Panu Matilainen [Wed, 2 Sep 2009 10:46:23 +0000 (13:46 +0300)]
Eliminate headerGetColor() uses everywhere
Panu Matilainen [Wed, 2 Sep 2009 10:57:54 +0000 (13:57 +0300)]
Add header color tag extension, ie headerGetColor()
- use common numeric tag generation helper for header color
and dbinstance tags
Panu Matilainen [Wed, 2 Sep 2009 10:27:18 +0000 (13:27 +0300)]
Add convenience function for retrieving numeric header data
Panu Matilainen [Wed, 2 Sep 2009 10:24:59 +0000 (13:24 +0300)]
Oops, dont leak memory on invalid types to headerGet[As]String()
Panu Matilainen [Wed, 2 Sep 2009 10:06:25 +0000 (13:06 +0300)]
Take advantage of new header string getters
Panu Matilainen [Wed, 2 Sep 2009 10:00:59 +0000 (13:00 +0300)]
Clean up rpmtsAddInstallElement() a bit
- only bother retrieving os, arch and colors if actually needed
- obsoletes are never colored, remove the related cruft