summaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)AuthorFilesLines
2009-12-07Removed obsolete "db3" entry in dbi_config_defaultFlorian Festi1-1/+1
2009-12-07Remove support for sqlite based rpm databaseFlorian Festi7-1733/+193
Also remove abstraction layer between rpmdb.h and the back end in lib/backend/
2009-12-07Bump soname for all our librariesPanu Matilainen1-1/+1
- while the "really public" API of librpmio has only been enhanced, librpm and librpmbuild use some supposedly internal bits which *have* changed considerably, so just to prevent anybody thinking they can combine librpmio from rpm 4.7 and librpm from this... - librpmbuild hasn't seen much real change but some (unfortunately) exposed struct members have changed so... - librpm is mostly compatible but as rpmal has become internal API, we need to bump (annoyingly, as nothing actually uses rpmal ... sigh)
2009-12-07Always return malloced data from i18n extensions for consistencyPanu Matilainen1-1/+1
2009-11-25Fix signature password checking result on abnormal conditions (RhBug:496754)Panu Matilainen1-1/+2
- Execve() failure wasn't returning an error code, causing rpm to think the password was ok when we couldn't even try verifying - Stricter return code checking from the password checking child: the password can only be ok if the child exits with WIFEXITED() *and* WIFEXITCODE() of 0. Also WIFEXITCODE() should only be called if WIFEXITED() returns true.
2009-11-24Dont blow up on headers without requireflags in rpmdsNew()Panu Matilainen1-1/+1
2009-11-20Error out early trying to install on readonly fs (ticket #99, RhBug:464750)Panu Matilainen1-1/+1
- simply make readonly filesystems appear as full, preventing install early instead of failing with cpio errors in middle of transaction
2009-11-20Add RPMTAG_EPOCHNUM tag extensionPanu Matilainen2-0/+17
- return RPMTAG_EPOCH but convert non-existent epoch to 0, as rpm internals treat it
2009-10-30Add in-memory hash for caching rpmdb dependency lookupsPanu Matilainen1-17/+50
- worst case behavior for uncached dependency lookups can be disastrous, eg > 35s vs < 1s on my laptop for trying to remove /bin/sh provider - we only bother caching rpmdb lookups, the other cases plenty fast already - using in-memory cache avoids nasty in vs out of chroot issues with temporary db files, which otherwise were about as fast
2009-10-30Add file verifyflags format extensionPanu Matilainen2-0/+37
2009-10-30Add file state format extensionPanu Matilainen2-0/+42
2009-10-30Update rpmtd formats comments to match realityPanu Matilainen1-9/+9
- we dont require exact int32 etc types, any numeric type works
2009-10-28Dont bother calculating hardlink counts when the value is not usedPanu Matilainen1-1/+1
- speeds up non-verbose --list queries by some ~50%
2009-10-27Make disk space problem reporting slightly saner (RhBug:517418)Panu Matilainen2-4/+12
- Only report disk space/inode issues for packages that are affected instead of piling up all the problems in all filesystems on all remaining packages - The messages are still ambiguous at best, need to figure out something better one of these days...
2009-10-21Ensure RPMSENSE_RPMLIB bit is always set on rpmlib() requires in rpmds flagsPanu Matilainen1-0/+8
- some packages in the wild have rpmlib() requires without the flag set due to older rpm not always setting it (for one, rpmdeps as external dependency generator could cause such deps), causing bogus dependency failures on install - only fix up dependencies coming from a header, rpmdsSingle() correctness is up to the caller
2009-10-17Skip posttrans scripts of failed transaction elementsPanu Matilainen1-2/+2
2009-10-14Eliminate last remaining FD_t struct privacy violationPanu Matilainen1-2/+2
- add getter for fd digest bundle, uninline the setter
2009-10-14Remove cpio stuff from FD_tPanu Matilainen2-12/+10
- only the FSM cares about cpio position, move it there - there's only ever one fd active inside FSM, no need to track it per-fd
2009-10-14Move fdDigest*() to rpmio.c where they better belongPanu Matilainen1-0/+1
2009-10-12Fix format extension memleak on empty stringsPanu Matilainen1-1/+1
2009-10-12Add RPMTAG_VERBOSE extensionPanu Matilainen2-0/+16
- hack to permit different query formatting based on rpm's verbosity level
2009-10-12Permit conditional query formats on not yet cached data tooPanu Matilainen1-1/+1
2009-10-02Return error code from rpmtsAddEraseElement() failurePanu Matilainen2-1/+4
- trying to remove non-installed header counts as an error
2009-10-02Push the rpmtsGetKeys() stuff over to python completelyPanu Matilainen2-40/+0
- trivially implemented in python by iterating over transaction element keys, we dont need no stinking extra librpm APIs for this
2009-10-01Add API for setting preferred transaction file colorPanu Matilainen2-0/+18
- not strictly needed as it gets its default from a macro but .. shrug
2009-09-30Add alternative header iterator methodPanu Matilainen2-10/+26
- we dont always want the actual contents of the tag to be copied on iteration, so add an interface that returns the next tag in the header - this lets callers to decide what to do with the tag and how to retrieve it
2009-09-22Remove no longer necessary RPMDBI_PACKAGES special casingPanu Matilainen1-4/+0
2009-09-22Fix endless loop on RPMDBI_PACKAGES iteration when offset specifiedPanu Matilainen1-2/+4
2009-09-22Unbreak --tid and --querybynumberPanu Matilainen1-34/+10
- 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
2009-09-22DB_INCOMPLETE was removed in BDB 4.1 and we dont support older versionsPanu Matilainen1-5/+3
2009-09-22Remove ancient, unused code to filter duplicates on rpmdb rebuildPanu Matilainen2-28/+0
- enabling this as-is would be murderous to multilib systems - getting duplicates in the db would be a bug elsewhere
2009-09-21Rip out dependency cachingPanu Matilainen2-95/+0
- 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
2009-09-21Move rpmdb home creation from backends to one level higherPanu Matilainen4-12/+10
- 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
2009-09-21Add an internal API for getting rpmdb home wrt chroot state, use itPanu Matilainen3-19/+27
2009-09-21Remove pointless per-index api versionPanu Matilainen2-4/+3
2009-09-21DB config stuff not needed outside dbconfig.c, make them staticPanu Matilainen1-5/+4
- additionally make the popt struct const since it can...
2009-09-21BDB is not optional at least currently, remove useless ifdefsPanu Matilainen1-6/+0
2009-09-21Remove useless no-op "teardown" and "usecursors" config bitsPanu Matilainen1-9/+1
2009-09-21Remove BDB RPC "support"Panu Matilainen3-73/+20
- 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
2009-09-21Remove XA "support" from the backendPanu Matilainen1-3/+0
- it's removed from BDB 4.8.x and this has hardly ever done anything anyway
2009-09-21Remove unused db/dbenv methods "documentary" from the sourcePanu Matilainen1-38/+0
2009-09-21Use db3Free() for on sqlite backend close tooPanu Matilainen1-6/+1
2009-09-21Always populate dbi->dbi_file on db3New()Panu Matilainen3-34/+15
- 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.
2009-09-21Mop up leftover root/home foobarPanu Matilainen2-32/+7
2009-09-21Per-dbi root and home dont make sense, always use rpmdb pathsPanu Matilainen4-20/+11
2009-09-18Sigh.. when not using environment, absolute paths are requiredPanu Matilainen1-1/+7
2009-09-17Always open database files relative to database homePanu Matilainen1-8/+1
- 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.
2009-09-17Have BDB use our allocation routines now that we canPanu Matilainen2-5/+5
- 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
2009-09-17Eliminate unnecessary variablePanu Matilainen1-7/+4
2009-09-16Remove unused local variableFlorian Festi1-1/+0