Commit Graph

15 Commits

Author SHA1 Message Date
Michael Schroeder 7cc9eb84a3 Add support for reading BDB without the library
This commit implements a read-only backend that allows accessing
of BerkeleyDB databases without using the BerkeleyDB library.
The code supports btree version 9-10 and hash version 8-10.

There are two use cases for this:

1) Conversion of an existing BerkeleyDB to a different
   backend.

2) Allowing package scriptlets to do database queries while
   in a transaction that replaced rpm with a version that
   no longer links against BerkeleyDB.

If both BerkeleyDB and the read-only backend are enabled, rpm will
default to BerkeleyDB.
2020-01-13 16:12:13 +02:00
Panu Matilainen 5322cdbaf1 Explicitly enable all our database backends in CI
BDBD, LMDB and SQLite were already implicitly enabled via build
dependencies, but NDB build has not been enabled at all.
Came up when discussing read-only BDB in #980.
2020-01-08 15:07:02 +02:00
Panu Matilainen 1f5d2097c0 Build sqlite backend in CI
Should've been in commit 07129b641b, doh.
2019-10-18 16:16:10 +03:00
Panu Matilainen 8671726738 Run CI builds with -Werror 2019-10-16 12:12:40 +03:00
Panu Matilainen 5c0801a1a3 Change the default crypto implementation to libgcrypt (from NSS)
libgcrypt is a much more straightforward and lightweight as a library,
doesn't come with a massive runtime library of its own, runtime which
messes with SIGPIPE and all, has a nice clearly compatible license (LGPL)
and is somewhat faster than NSS. What's not to like?

Change the default and add relevant documentation to INSTALL. Drop
the hopefully now unnecessary override from distcheck flags, and
switch CI over too. Note that in CI, openssl-devel is still needed
for ima-evm (missing dep in ima-evm-utils-devel?)
2019-09-11 09:58:00 +03:00
Panu Matilainen f50e26f1f3 Add a dummy line to CI setup to allow controlling dnf gpgcheck per build
This doesn't do anything at all in itself because all the repositories
have gpgcheck=1 by default. However adding this line allows disabling
the gpgcheck for individual builds via Semaphore build settings, which
allows us work around signatures on rawhide breaking semi-regularly,
blocking our CI for no fault of our own.
2019-08-19 14:08:08 +03:00
Panu Matilainen 595c4f2740 Run full distcheck as the CI test for wider coverage
Unlike plain "check", this will catch regressions to out-of-tree builds,
source files present in git but missing in tarballs, etc so they are
found when introduced instead of pre-release heat.

To make this work we need to move the working dir inside docker away
from /opt, the combination of root user and distcheck blows the our whole
directory away at some point and things dont work so well after that.

In addition, rpmtests.log is no more in a nice and easy location
because it's failing somewhere inside the nested build thingie, so
try to find it...

We also need a few more packages installed now: git for the changelog
and doxygen for api docs. And ima-evm-utils-devel to build the plugin,
not the utils.
2019-06-03 13:47:40 +03:00
Panu Matilainen ad16a04b6e Add plugin for logging audit events for package operations as per OSPP v4.2
When enabled, log audit events for package install, update and remove.
The log includes the operation, package nevra, signature check result,
whether signatures are being enforced enforced and overall operation
result code. Package install/update/remove are logged as such,
obsoletion is logged as install + remove (whereas the erasure element
on updates is silent). Enable compilation in CI.

Loosely based on initial RHEL 7-8 implementations by Pavlina Moravcova
Varekova and Florian Festi (RhBug:1555326, RhBug:1607612)
2019-04-09 11:04:02 +02:00
Panu Matilainen 13750cfa1d Disable modularity repos in our CI
We have no need for modularity so it's only excess weight to download
and more s*** that will occasionally break, taking our CI down with
it for absolutely no good reason.
2019-02-26 12:31:24 +02:00
Panu Matilainen 24aa081791 Enable Python bindings in CI
No idea why it was not there, there are important API tests that are
only covered via the bindings. Drop /usr/bin/python from the install
while at it, we don't need that for anything anymore.
2019-02-26 12:17:46 +02:00
Panu Matilainen d15ea79139 Ensure /usr/bin/python is present in the CI environment
Oh the joys of Python 3 transition :(
2018-06-12 16:20:13 +03:00
Neal Gompa c84292fe23 ci: Add lmdb-devel to CI Dockerfile 2017-08-17 12:50:12 +03:00
Neal Gompa 110abd2fc3 ci: Add libzstd-devel to CI Dockerfile 2017-08-09 17:41:03 +02:00
Igor Gnatenko c9a373f4aa ci: enable silent rules
So any warnings/errors will be way more visible in log.

Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
2017-07-20 17:44:23 +02:00
Igor Gnatenko 718e89a7c1 add Fedora's Dockerfile for CI
Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
2017-07-20 17:44:23 +02:00