Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
|
|
- 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)
|
|
|
|
|
|
|
|
- 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.
|
|
- Seems strange to have an initializer function which doesn't
initialize
- This leaves RPMDB_FLAG_JUSTCHECK unused...
|
|
- While glibc can turn NULL %s to "(nil)", this is not required in
any standards. Avoid embarrassing segfault from a silly debug message.
|
|
- 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.
|
|
- Just to make dbiOpen() shorter and easier to read, locking is
different from opening...
|
|
|
|
|
|
- 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
|
|
|
|
- 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...
|
|
|
|
|
|
|
|
- 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
|
|
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.
|
|
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.
|
|
- In addition to the regular dependencies, add --buildrequires
and --buildconflicts which are just --srpm --requires and
--srpm --conflicts in reality
|
|
|
|
- Instead of including the entire rpmQueryPoptTable in rpmspec and
showing several bogus options, support --qf/--queryformat "manually"
|
|
|
|
|
|
- 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.
|
|
Make the source header visible to python code.
|
|
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.
|
|
- -I$(top_builddir)/include/rpm was never right, and now with fts
moved into misc/ this shows as rpm/rpmutil.h not getting found.
|
|
- 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.
|
|
- This should've been in all the way back in
commit 51c96db0464f86901b328899106dd8d4159dd878
|
|
- Fix the problem where rpm attempts to use the tarball as the specfile
|
|
- We need to generate platform/arm-linux as well, not only all substitutes.
|
|
- Allows for more precise globbing, avoiding potential issues from
leftover / accidentally placed files in the fileattrs directory.
|
|
- Use a list of text keyword tokens to allow for more flags without
requiring adding special processing for every new flag we make
|
|
|
|
|
|
- we no longer have sqlite3 lib ever, but we might have lzma/xz libs
|
|
- Turn applyFilters() into match iterator initializer which optionally
applies filters if present
- Handle NULL iterator error codes centrally in rpmcliShowMatches()
|
|
- 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
|
|
- 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.
|
|
New status: 741 messages complete with 0 fuzzies and 0 untranslated.
Transmitted-via: Transifex (www.transifex.net).
|
|
New status: 732 messages complete with 0 fuzzies and 0 untranslated.
Transmitted-via: Transifex (www.transifex.net).
|
|
- Just one leftover offender in the form of forgotten type rename
from commit 675bfca5cc300105f7859f028cc00ea036e72966
|
|
- 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.
|
|
- Whee, for a change more lines removed than added...
|
|
- Pretty dumb and all, but to avoid breaking some python users
(some folks apparently have found /some/ use for these...)
|
|
|