summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2010-10-19Python dbMatch() doesn't take (or need) len argument, fix the docsPanu Matilainen1-1/+1
2010-10-19A few more rpmdb variable/argument renames, missed in previous roundPanu Matilainen2-5/+5
2010-10-19Decouple dbiVerify() from dbiClose()Panu Matilainen4-69/+33
- When RPMDB_FLAG_VERIFYONLY is set, dbiOpen() now only creates and returns the db handle without actually opening it. With this we can sanely implement dbiVerify() as its own separate functionality, also avoiding the need to have duplicate code for creating and tearing down the db environment (which in turn kills our ability to use DB_REGISTER if/when the day comes)
2010-10-19Add flags argument to dbiOpen(), pass through from rpmdbIndexOpen()Panu Matilainen3-5/+6
2010-10-19Oops, dumb copy-paste error causing --verifydb to --rebuilddb insteadPanu Matilainen1-1/+1
2010-10-19Rename rpmdb variables in the backend to rdb to distinguish from its typePanu Matilainen1-16/+16
2010-10-18Generate missing database indexes automaticallyPanu Matilainen3-4/+62
- Now that we know whether backing files were created on open, we can easily detect the need for index generation too. As index generation requires expensive plowing through the entire Packages database, we to create all missing indexes at once instead of risking several loops over Packages. So if we spot a missing index, we open all our indexes and generate all the missing bits in one go. - Berkeley DB does support on-demand index generation for secondary indexes created with db->associate(), but as rpm's indexes are in a slightly different format (they store tag index besides the header number), using it would require various other changes too. Also the BDB indexing callback recieves the data in serialized format, which in rpm's case would mean either headerLoad() for every single indexed bit, or passing the in-memory header through some other indirect means.
2010-10-18Create indexes too on rpmdbInit() (ticket #156)Panu Matilainen1-2/+1
- Seems strange to have an initializer function which doesn't initialize - This leaves RPMDB_FLAG_JUSTCHECK unused...
2010-10-18Avoid returning NULL from prDbiOpenFlags()Panu Matilainen1-1/+1
- While glibc can turn NULL %s to "(nil)", this is not required in any standards. Avoid embarrassing segfault from a silly debug message.
2010-10-18Remember if we created the db backing file on openPanu Matilainen2-37/+26
- Instead of trying to figure out suitable flags beforehand, try to open the db a couple of times with different flags. This way we know whether the backing file was created on open or not. Also simplifies the flag shuffling somewhat. - We also do this when O_CREAT db_mode, for the same reason: rpmdbInit() can be called on existing database too, and we want to know which of the files actually got created.
2010-10-18Lift dbi fcntl() locking out of dbiOpen()Panu Matilainen1-55/+62
- Just to make dbiOpen() shorter and easier to read, locking is different from opening...
2010-10-18Lift secondary index updating out of rpmdbAdd()Panu Matilainen1-118/+126
2010-10-18Support looping over indexes when giving keyp=NULL to rpmdbInitIterator()Florian Festi1-37/+75
2010-10-13Add python bindings for librpmsignPanu Matilainen3-1/+114
- Similarly to the build-bindings, permit import failures as librpmsign might not be installed and we dont want to force the dependencies into every single installation
2010-10-13Oops, fixup rpmsign exit codes on successPanu Matilainen1-0/+2
2010-10-13Make rpmPkgSign() actually honor the signing argumentsPanu Matilainen1-4/+17
- For now just keyid string and hash algorithm supported. The macro fiddling should perhaps go deeper into the signing process but this'll do for now...
2010-10-13Nuke rpmcliSign() out of the orbitPanu Matilainen2-18/+0
2010-10-13Make rpmsign use the new signing interface (minimal conversion for now)Panu Matilainen1-7/+11
2010-10-13Add beginnings of a real API to librpmsignPanu Matilainen2-0/+47
2010-10-12Move plugins out of rpm config directoryPanu Matilainen2-2/+2
- Plugins are by their very nature arch specific, while /usr/lib/rpm is a hodgepodge of all sorts of ... stuff, most of which is arch-independent and all. Use %{_libdir}/rpm-plugins to cleanly differentiate 32 vs 64bit plugin paths
2010-10-12Add 'VCS' keyColin Walters2-0/+5
Spec files have a lot of metadata about a project. However one of the most key components is the upstream version control system which was notably lacking. Resolve this by adding a "VCS" key. There is no specification for contents of this key, given that the set of version control systems (and features thereof) are not well-defined. However, recommendations are: * git: This URL should be in a form that can be passed to "git clone", with the additional feature that an optional fragment identifier "#foo" denotes a branch or tag.
2010-10-12Add 'VCS' keyColin Walters1-0/+1
Spec files have a lot of metadata about a project. However one of the most key components is the upstream version control system which was notably lacking. Resolve this by adding a "VCS" key. There is no specification for contents of this key, given that the set of version control systems (and features thereof) are not well-defined. However, recommendations are: * git: This URL should be in a form that can be passed to "git clone", with the additional feature that an optional fragment identifier "#foo" denotes a branch or tag.
2010-10-12Add --requires etc popt aliases for rpmspec tooPanu Matilainen1-0/+17
- In addition to the regular dependencies, add --buildrequires and --buildconflicts which are just --srpm --requires and --srpm --conflicts in reality
2010-10-12Rpm option descriptions begin with lowercase letters, follow suit in rpmspecPanu Matilainen1-3/+3
2010-10-12Only queryformat is relevant for specfilesPanu Matilainen1-3/+6
- Instead of including the entire rpmQueryPoptTable in rpmspec and showing several bogus options, support --qf/--queryformat "manually"
2010-10-12Support overriding target for rpmspec queries tooPanu Matilainen1-0/+9
2010-10-12Support both binary/source queries in rpmspec tool (RhBug:540807, ticket #89)Panu Matilainen1-1/+6
2010-10-12Add support for querying source rpm from spec tooPanu Matilainen3-4/+11
- Handle source rpm query as a new query source type RPMQV_SPECSRPM, rename the binary query to RPMQV_SPECRPMS, with RPMQV_SPECFILE as a backwards compatibility alias to RPMQV_SPECRPMS.
2010-10-12Add a python accessor for the source headerEric W. Biederman1-0/+6
Make the source header visible to python code.
2010-10-12Add a getter for the source header.Eric W. Biederman2-1/+14
It appears the access to the source header has started to get buried into usability so add an getter so the implementation can change a little without breaking callers.
2010-10-12Fix misc/ include pathPanu Matilainen1-1/+1
- -I$(top_builddir)/include/rpm was never right, and now with fts moved into misc/ this shows as rpm/rpmutil.h not getting found.
2010-10-08Further split the cli-tools to rpminstall, rpmquery and rpmverifyPanu Matilainen2-11/+30
- Installing/erasing packages, querying and verifying require different amount of privileges on the system. Having separate binaries for these functionalities permits limiting the capabilities through SELinux and other similar security mechanisms: for example quering needs much less privileges than installing. - For now, leaving /bin/rpm to be the Swiss Army knife it always was: capable of install/erase, query and verify. Eventually it should be turned into just a dumb wrapper which just execs the per-functionality binaries, but leaving that for later stage, as popt exec/aliasing doesn't quite seem to up to par with the task. Having the separate binaries available at least makes it possible for callers to specify the amount of privileges they need.
2010-10-06Remove filesystem related leftover API definitionsPanu Matilainen2-28/+0
- This should've been in all the way back in commit 51c96db0464f86901b328899106dd8d4159dd878
2010-10-06Use the right variable for absolute path (ticket #137)Aron Griffis1-1/+1
- Fix the problem where rpm attempts to use the tarball as the specfile
2010-10-06Fix generating platform config for armMichal Čihař1-1/+1
- We need to generate platform/arm-linux as well, not only all substitutes.
2010-10-05Require file attribute config to have .attr suffixPanu Matilainen14-5/+7
- Allows for more precise globbing, avoiding potential issues from leftover / accidentally placed files in the fileattrs directory.
2010-10-05Replace __foo_exeonly attribute with a more generic mechanismPanu Matilainen4-8/+9
- Use a list of text keyword tokens to allow for more flags without requiring adding special processing for every new flag we make
2010-10-05Tolerate NULL args in argvSplitString()Panu Matilainen1-1/+5
2010-10-04Add cli switches to override signing key and digest algorithmPanu Matilainen2-1/+10
2010-10-04Adjust rpm.pc private librariesPanu Matilainen1-1/+1
- we no longer have sqlite3 lib ever, but we might have lzma/xz libs
2010-10-04Further streamline rpmcliArgIter() and friendsPanu Matilainen1-13/+12
- Turn applyFilters() into match iterator initializer which optionally applies filters if present - Handle NULL iterator error codes centrally in rpmcliShowMatches()
2010-10-04Lift specfile query out of main rpm(query) into separate binaryPanu Matilainen6-15/+89
- Avoids having to link /bin/rpm with librpmbuild and everything it might bring in (eg libmagic) which are not needed for core operation. - Minimally preserve backwards compatibility with popt exec alias
2010-10-04Simplify queryformat popt callback handlingPanu Matilainen1-9/+1
- No need to separate single vs multiple queryformats, rstrcat() works for both cases. Whether catenating multiply specified queryformats make sense is another question though... - This can't get called with NULL arg (or then popt screwed up its argument checking), dont bother checking.
2010-10-04l10n: Updated Polish (pl) translation to 100%Piotr Drąg1-10/+1
New status: 741 messages complete with 0 fuzzies and 0 untranslated. Transmitted-via: Transifex (www.transifex.net).
2010-10-03l10n: Updated Italian (it) translation to 100%Guido Grazioli1-1333/+1165
New status: 732 messages complete with 0 fuzzies and 0 untranslated. Transmitted-via: Transifex (www.transifex.net).
2010-10-01And now python bindings are really free of librpmbuild internalsPanu Matilainen1-2/+1
- Just one leftover offender in the form of forgotten type rename from commit 675bfca5cc300105f7859f028cc00ea036e72966
2010-10-01Kill spec.buildRoot from pythonPanu Matilainen1-11/+0
- We /could/ of course add a getter for this but ... sorry folks, what rpm happens to use as buildroot internally isn't anybody elses business.
2010-10-01Use the new spec section getter in python bindingsPanu Matilainen1-20/+13
- Whee, for a change more lines removed than added...
2010-10-01Add getter for spec script sections too, bah...Panu Matilainen2-0/+17
- Pretty dumb and all, but to avoid breaking some python users (some folks apparently have found /some/ use for these...)
2010-10-01Use the new spec src/pkg API in python instead of direct access to specPanu Matilainen1-9/+12