Commit Graph

342 Commits

Author SHA1 Message Date
Colin Walters
a2c5d1e659 Run rustfmt, and fix CI check for it
Moving the crate to the toplevel broke the CI check for `rustfmt`.
Fix it and run `cargo fmt`.
2020-12-21 19:59:31 -05:00
Jonathan Lebon
db775f43ec Default to sqlite rpmdb backend on f34
There won't be any support for writing to the bdb backend in f34, so
e.g. pkglayering won't work (and obviously even composes wouldn't work
once the buildroot moves to f34).

Instead of requiring the whole world to add an `rpmdb` key in their
manifests, let's just add a compile flag for it, and tweak the spec file
to use this flag on f34.
2020-12-21 19:01:48 -05:00
Colin Walters
9c9188ceae rust: Add deny(unused_must_use)
We're maintaining the operating system, let's hard require
that errors are checked.
2020-12-11 06:58:45 -05:00
Timothée Ravier
b7fa99e408 rust: Fix various clippy warnings 2020-12-10 15:07:11 -05:00
Colin Walters
f1488e52f0 Move the main Rust infra (i.e. Cargo.toml) to the toplevel
I think we should have done this as soon as it was clear that
Rust was sticking and not just an optional thing.

Reasons to make this change now:
 - More clear that Rust is going to be the majority of code in the future
 - `cargo build` and `cargo test` in a fresh git clone Just Work
 - Paves the way for using `cargo` to build C/C++ instead of Automake
2020-12-09 17:42:35 -05:00
dependabot[bot]
264b07eb82 build(deps): bump serde_derive from 1.0.117 to 1.0.118 in /rust
Bumps [serde_derive](https://github.com/serde-rs/serde) from 1.0.117 to 1.0.118.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.117...v1.0.118)

Signed-off-by: dependabot[bot] <support@github.com>
2020-12-09 05:37:49 -05:00
dependabot[bot]
87024019da build(deps): bump structopt from 0.3.20 to 0.3.21 in /rust
Bumps [structopt](https://github.com/TeXitoi/structopt) from 0.3.20 to 0.3.21.
- [Release notes](https://github.com/TeXitoi/structopt/releases)
- [Changelog](https://github.com/TeXitoi/structopt/blob/master/CHANGELOG.md)
- [Commits](https://github.com/TeXitoi/structopt/compare/v0.3.20...v0.3.21)

Signed-off-by: dependabot[bot] <support@github.com>
2020-12-08 18:47:31 -05:00
dependabot[bot]
c62c393c1e build(deps): bump serde from 1.0.117 to 1.0.118 in /rust
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.117 to 1.0.118.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.117...v1.0.118)

Signed-off-by: dependabot[bot] <support@github.com>
2020-12-08 17:57:00 -05:00
dependabot[bot]
215ed95e47 build(deps): bump serde_json from 1.0.59 to 1.0.60 in /rust
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.59 to 1.0.60.
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](https://github.com/serde-rs/json/compare/v1.0.59...v1.0.60)

Signed-off-by: dependabot[bot] <support@github.com>
2020-12-08 03:53:49 -05:00
dependabot[bot]
03fcca6f38 build(deps): bump libc from 0.2.80 to 0.2.81 in /rust
Bumps [libc](https://github.com/rust-lang/libc) from 0.2.80 to 0.2.81.
- [Release notes](https://github.com/rust-lang/libc/releases)
- [Commits](https://github.com/rust-lang/libc/compare/0.2.80...0.2.81)

Signed-off-by: dependabot[bot] <support@github.com>
2020-12-07 18:03:12 -05:00
Jonathan Lebon
73fe78140d history: Use shorthand struct initialization
This lit up in my editor.
2020-12-07 12:58:33 -05:00
dependabot[bot]
e6bcb855d6 build(deps): bump anyhow from 1.0.34 to 1.0.35 in /rust
Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.34 to 1.0.35.
- [Release notes](https://github.com/dtolnay/anyhow/releases)
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.34...1.0.35)

Signed-off-by: dependabot[bot] <support@github.com>
2020-12-07 11:40:00 -05:00
Luca BRUNO
57f7e1fa8e core: add a guard for temporary-etc context and move to Rust
This adds a guard around the postprocessing logic dealing with
creating/destroying a temporary-etc context, and moves it to Rust.
2020-12-07 08:23:49 -05:00
Colin Walters
a0a5db7b73 compose: Use static enablement for ostree systemd services
I was looking at the output of `ostree admin config-diff`
on a base FCOS boot.  It'd be really nice to trim that down
as much as possible, so we can cleanly capture the difference
between user config and system config.

Let's use static enablement rather than presets.
2020-12-02 22:40:31 +01:00
Colin Walters
887d362906 Convert some code to compile in C++ mode
This is part of investigating using https://cxx.rs/
In order to make this really work, we need to convert some of our C
code to C++ so we can include cxx.rs-generated code.

This starts by converting just two files as a starting point.
I did the minimal porting; I didn't try to actually rewrite them
to resemble modern C++, just "C in C++ mode".
2020-12-01 22:07:49 +01:00
dependabot[bot]
be41946737 build(deps): bump nix from 0.19.0 to 0.19.1 in /rust
Bumps [nix](https://github.com/nix-rust/nix) from 0.19.0 to 0.19.1.
- [Release notes](https://github.com/nix-rust/nix/releases)
- [Changelog](https://github.com/nix-rust/nix/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nix-rust/nix/compare/v0.19.0...v0.19.1)

Signed-off-by: dependabot[bot] <support@github.com>
2020-11-30 18:10:22 +01:00
Jonathan Lebon
589d0cbd2b rust: Move to new systemd journal API for opening
The `Journal::open` API has been deprecated in favour of the new
`OpenOptions` builder pattern.

We could dedupe this a bit more, though the mock journal in the history
code makes it trickier and there's little value in mocking the builder
pattern too.
2020-11-19 00:09:27 +01:00
Colin Walters
a76ddf0cef Rewrite livefs
Now always based on an overlayfs:
f2773c1b55
This fixes a whole swath of problems with the previous design,
including the danger in replacing `/usr/lib/ostree-boot` which
broke booting for some people.

Further, we don't need to push a rollback deployment; the livefs
changes are always transient.  So now we store livefs state
in `/run` instead of in the origin file.

Since we're doing a rewrite, it's now in Rust for much more safety.

We also always work in terms of incremental diffs between commits;
the previous huge hammer of swapping `/usr` was way too dangerous.
2020-11-16 19:07:16 +01:00
dependabot[bot]
213d8f0aa2 build(deps): bump openat-ext from 0.1.8 to 0.1.9 in /rust
Bumps [openat-ext](https://github.com/cgwalters/openat-ext) from 0.1.8 to 0.1.9.
- [Release notes](https://github.com/cgwalters/openat-ext/releases)
- [Commits](https://github.com/cgwalters/openat-ext/compare/v0.1.8...v0.1.9)

Signed-off-by: dependabot[bot] <support@github.com>
2020-11-16 11:02:20 +01:00
dependabot[bot]
f77cf1a968 build(deps): bump systemd from 0.7.1 to 0.8.1 in /rust
Bumps [systemd](https://github.com/jmesmon/rust-systemd) from 0.7.1 to 0.8.1.
- [Release notes](https://github.com/jmesmon/rust-systemd/releases)
- [Commits](https://github.com/jmesmon/rust-systemd/compare/systemd-0.7.1...systemd-0.8.1)

Signed-off-by: dependabot[bot] <support@github.com>
2020-11-16 10:39:06 +01:00
Colin Walters
7ed1c0b1e8 Remove coreos-rootfs command
This effectively reverts commit: c8113bde32
We never ended up using it; instead the `rdcore` bits from
`coreos-installer` have the rootfs reprovisioning logic.
2020-11-12 18:59:49 +01:00
dependabot[bot]
25c80101fc build(deps): bump anyhow from 1.0.33 to 1.0.34 in /rust
Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.33 to 1.0.34.
- [Release notes](https://github.com/dtolnay/anyhow/releases)
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.33...1.0.34)

Signed-off-by: dependabot[bot] <support@github.com>
2020-11-09 08:08:30 +00:00
Colin Walters
6ccf0e06bb treefile: Fix hashing of externals
See https://github.com/coreos/rpm-ostree/pull/2206#issuecomment-721372634

The commit 7f579a55d3fb7ec1cb9f74f8ec6bc36675df2ccc broke hashing
of overlay commits; this is a super evil bug because it causes us
to silently do the wrong thing.

The cause here is the GLib bindings don't (AFAICS) support getting
a `&mut` for a GLib boxed value.

Move all of the treefile checksum code into one place - this is
far saner.  The reason I didn't do this before is that it
will cause a spurious rebuild when one updates rpm-ostree, but...eh.
2020-11-04 22:05:54 +01:00
Colin Walters
10906f4a00 rust/lockfile: Use from_glib_full to avoid manual free
This is cleaner.
2020-11-04 03:48:42 -05:00
Colin Walters
96c2d8998d daemon: Rewrite some core initramfs-overlay logic in Rust
We had a memory safety/UB bug in the C code; let's use
that as a good motivation to rewrite in Rust.  It's a nice
self contained bit.
2020-11-02 21:27:35 +01:00
dependabot[bot]
542453a1f9 build(deps): bump serde_yaml from 0.8.13 to 0.8.14 in /rust
Bumps [serde_yaml](https://github.com/dtolnay/serde-yaml) from 0.8.13 to 0.8.14.
- [Release notes](https://github.com/dtolnay/serde-yaml/releases)
- [Commits](https://github.com/dtolnay/serde-yaml/compare/0.8.13...0.8.14)

Signed-off-by: dependabot[bot] <support@github.com>
2020-11-02 11:37:28 +01:00
dependabot[bot]
926c55c63d build(deps): bump systemd from 0.7.0 to 0.7.1 in /rust
Bumps [systemd](https://github.com/jmesmon/rust-systemd) from 0.7.0 to 0.7.1.
- [Release notes](https://github.com/jmesmon/rust-systemd/releases)
- [Commits](https://github.com/jmesmon/rust-systemd/compare/systemd-0.7.0...systemd-0.7.1)

Signed-off-by: dependabot[bot] <support@github.com>
2020-11-02 09:28:50 +01:00
Colin Walters
5775b00570 rust: Use Borrow<GString> in a few places
Particularly in places like the lockfile code where we were iterating
on a list of packages, validating UTF-8 and `memcpy()`ing strings
from C is...well, unnecessary.

I don't think there's any actual real performance concerns right
now but let's use this as a best practice because the patterns
we establish *will* be copy+pasted or at least used as inspiration
for other places where performance might matter.
2020-10-30 11:25:55 +01:00
Colin Walters
1e0a15c8d8 treefile: Directly write to String
I happened to scroll past this code while doing something
else and noticed what we were doing here was silly - no need
to re-validate UTF-8 etc when serde can hand us a `String` directly.
2020-10-30 10:59:27 +01:00
Colin Walters
520b29f1b5 composepost: Fix to use write_all()
Clippy reports this as an error; I think in practice Linux
doesn't return short writes for regular files, but it's still
a good idea to do the right thing here.
2020-10-30 10:21:23 +01:00
Colin Walters
885eb9ce01 Remove ffi_view_str/ffi_new_string functions
Let's just use the GLib translation bits rather than rolling our own;
this applies primarily to `ffi_new_string()`.

However, I think in most cases performance here doesn't
matter enough to have an even more special case that avoids duplicating
the string.  Let's remove the `ffi_view_str()` optimization too
in favor of consistently using GLib translation.

In the future perhaps we should argue for adding a `from_glib_str_unchecked()`
to the upstream GLib bindings.
2020-10-29 20:00:29 +01:00
Colin Walters
a2bbc12812 rust: Enable lto by default
This avoids us leaking all of the Rust symbols as public
into our shared library.

Came up in team chat since one person tried to copy just `/usr/bin/rpm-ostree`
from the dev container into a target and got a linker crash; but
really we want to avoid all the duplicated symbols entirely.

(And we should investigate cross-language LTO because that's the
 only way to get full savings)
2020-10-29 19:00:14 +01:00
Luca BRUNO
87775cb6a9 daemon/syscore: push livefs introspection to Rust
This starts bridging parts of the daemon syscore logic to Rust
plumbing, moving the livefs detection logic over there as a first
consumer. That was the simplest logic available for wiring, and
mostly meant as a sanity check.
2020-10-29 17:57:02 +01:00
Colin Walters
af37608d9b Update to openat-ext 0.1.8, use new file writing API
This cleans up several cases.

Remove the utils path.
2020-10-28 05:51:27 -04:00
Jonathan Lebon
535a6f4327 rust/libdnf-sys: Drop Cargo.lock
As Luca pointed out in #2258, this is a library and technically
shouldn't have a lockfile.
2020-10-26 16:51:04 +01:00
dependabot[bot]
aee2e0ec9d build(deps): bump systemd from 0.6.0 to 0.7.0 in /rust
Bumps [systemd](https://github.com/jmesmon/rust-systemd) from 0.6.0 to 0.7.0.
- [Release notes](https://github.com/jmesmon/rust-systemd/releases)
- [Commits](https://github.com/jmesmon/rust-systemd/compare/v0.6.0...systemd-0.7.0)

Signed-off-by: dependabot[bot] <support@github.com>
2020-10-26 16:15:58 +01:00
dependabot[bot]
cee8869af3 build(deps): bump rayon from 1.4.1 to 1.5.0 in /rust
Bumps [rayon](https://github.com/rayon-rs/rayon) from 1.4.1 to 1.5.0.
- [Release notes](https://github.com/rayon-rs/rayon/releases)
- [Changelog](https://github.com/rayon-rs/rayon/blob/master/RELEASES.md)
- [Commits](https://github.com/rayon-rs/rayon/compare/rayon-core-v1.4.1...rayon-core-v1.5.0)

Signed-off-by: dependabot[bot] <support@github.com>
2020-10-26 16:15:50 +01:00
dependabot[bot]
2b93098826 build(deps): bump libc from 0.2.79 to 0.2.80 in /rust
Bumps [libc](https://github.com/rust-lang/libc) from 0.2.79 to 0.2.80.
- [Release notes](https://github.com/rust-lang/libc/releases)
- [Commits](https://github.com/rust-lang/libc/compare/0.2.79...0.2.80)

Signed-off-by: dependabot[bot] <support@github.com>
2020-10-26 14:54:57 +01:00
Colin Walters
9a472f923b compose: Print a warning with boot-location: new
It's tempting to flip the default, but let's encourage
people to adapt to the `modules` version now.

Plus infrastructure to add deprecation warnings here
will come in handy in the future.
2020-10-23 12:43:26 -04:00
Jonathan Lebon
e99be88af8 rust: Update deps
```
$ cargo upgrade
$ cargo update
```
2020-10-19 18:34:16 -04:00
dependabot-preview[bot]
8f8b4411ac build(deps): bump libc from 0.2.77 to 0.2.79 in /rust
Bumps [libc](https://github.com/rust-lang/libc) from 0.2.77 to 0.2.79.
- [Release notes](https://github.com/rust-lang/libc/releases)
- [Commits](https://github.com/rust-lang/libc/compare/0.2.77...0.2.79)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-16 10:38:02 -04:00
dependabot-preview[bot]
5cc77f9ea1 build(deps): bump serde_json from 1.0.57 to 1.0.59 in /rust
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.57 to 1.0.59.
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](https://github.com/serde-rs/json/compare/v1.0.57...v1.0.59)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-15 22:52:24 -04:00
dependabot-preview[bot]
3f768241af build(deps): bump structopt from 0.3.18 to 0.3.19 in /rust
Bumps [structopt](https://github.com/TeXitoi/structopt) from 0.3.18 to 0.3.19.
- [Release notes](https://github.com/TeXitoi/structopt/releases)
- [Changelog](https://github.com/TeXitoi/structopt/blob/master/CHANGELOG.md)
- [Commits](https://github.com/TeXitoi/structopt/compare/v0.3.18...v0.3.19)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-15 17:55:30 -04:00
Jonathan Lebon
96af966b38 rust/treefile: Use shorthand initialization for Treefile
This lit up in my editor which does linting in the background.
2020-10-14 03:44:19 +02:00
dependabot-preview[bot]
7139db2cc5 build(deps): bump anyhow from 1.0.32 to 1.0.33 in /rust
Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.32 to 1.0.33.
- [Release notes](https://github.com/dtolnay/anyhow/releases)
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.32...1.0.33)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-14 03:44:19 +02:00
dependabot-preview[bot]
f8a961319b build(deps): bump openat-ext from 0.1.5 to 0.1.6 in /rust
Bumps [openat-ext](https://github.com/cgwalters/openat-ext) from 0.1.5 to 0.1.6.
- [Release notes](https://github.com/cgwalters/openat-ext/releases)
- [Commits](https://github.com/cgwalters/openat-ext/compare/v0.1.5...v0.1.6)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-05 19:35:22 +02:00
dependabot-preview[bot]
56a2cf732b build(deps): bump libc from 0.2.77 to 0.2.79 in /rust/libdnf-sys
Bumps [libc](https://github.com/rust-lang/libc) from 0.2.77 to 0.2.79.
- [Release notes](https://github.com/rust-lang/libc/releases)
- [Commits](https://github.com/rust-lang/libc/compare/0.2.77...0.2.79)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-05 18:40:52 +02:00
dependabot-preview[bot]
0f8c09a64b build(deps): bump chrono from 0.4.18 to 0.4.19 in /rust
Bumps [chrono](https://github.com/chronotope/chrono) from 0.4.18 to 0.4.19.
- [Release notes](https://github.com/chronotope/chrono/releases)
- [Changelog](https://github.com/chronotope/chrono/blob/main/CHANGELOG.md)
- [Commits](https://github.com/chronotope/chrono/compare/v0.4.18...v0.4.19)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-05 18:40:45 +02:00
dependabot-preview[bot]
0c91ad0b48 build(deps): bump rayon from 1.4.0 to 1.4.1 in /rust
Bumps [rayon](https://github.com/rayon-rs/rayon) from 1.4.0 to 1.4.1.
- [Release notes](https://github.com/rayon-rs/rayon/releases)
- [Changelog](https://github.com/rayon-rs/rayon/blob/master/RELEASES.md)
- [Commits](https://github.com/rayon-rs/rayon/compare/rayon-core-v1.4.0...rayon-core-v1.4.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-05 18:17:23 +02:00
dependabot-preview[bot]
c365dd7d14 build(deps): bump structopt from 0.3.17 to 0.3.18 in /rust
Bumps [structopt](https://github.com/TeXitoi/structopt) from 0.3.17 to 0.3.18.
- [Release notes](https://github.com/TeXitoi/structopt/releases)
- [Changelog](https://github.com/TeXitoi/structopt/blob/master/CHANGELOG.md)
- [Commits](https://github.com/TeXitoi/structopt/compare/v0.3.17...v0.3.18)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-30 11:17:29 +00:00
dependabot-preview[bot]
f997618f2b build(deps): bump chrono from 0.4.15 to 0.4.18 in /rust
Bumps [chrono](https://github.com/chronotope/chrono) from 0.4.15 to 0.4.18.
- [Release notes](https://github.com/chronotope/chrono/releases)
- [Changelog](https://github.com/chronotope/chrono/blob/main/CHANGELOG.md)
- [Commits](https://github.com/chronotope/chrono/compare/v0.4.15...v0.4.18)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-28 14:40:14 +00:00
dependabot-preview[bot]
ac21add95d build(deps): bump openat-ext from 0.1.4 to 0.1.5 in /rust
Bumps [openat-ext](https://github.com/cgwalters/openat-ext) from 0.1.4 to 0.1.5.
- [Release notes](https://github.com/cgwalters/openat-ext/releases)
- [Commits](https://github.com/cgwalters/openat-ext/commits/v0.1.5)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-28 14:03:39 +00:00
Jonathan Lebon
da0f614666 rust: adapt to new systemd journal API
The next/previous functions were renamed, and the journal is no longer
seeked to the head on open, so we have to do it manually. We did that
already in most places, except one.

For more information, see:
https://github.com/jmesmon/rust-systemd/pull/121
2020-09-25 13:08:30 +00:00
dependabot-preview[bot]
9f706c09f3 build(deps): bump systemd from 0.5.0 to 0.6.0 in /rust
Bumps [systemd](https://github.com/jmesmon/rust-systemd) from 0.5.0 to 0.6.0.
- [Release notes](https://github.com/jmesmon/rust-systemd/releases)
- [Commits](https://github.com/jmesmon/rust-systemd/compare/v0.5.0...v0.6.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-25 13:08:30 +00:00
dependabot-preview[bot]
edabae8c59 build(deps): bump glib-sys from 0.10.0 to 0.10.1 in /rust
Bumps [glib-sys](https://github.com/gtk-rs/sys) from 0.10.0 to 0.10.1.
- [Release notes](https://github.com/gtk-rs/sys/releases)
- [Commits](https://github.com/gtk-rs/sys/compare/glib-sys-0.10.0...glib-sys-0.10.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-21 12:32:41 +00:00
dependabot-preview[bot]
8552edf092 build(deps): bump serde_derive from 1.0.115 to 1.0.116 in /rust
Bumps [serde_derive](https://github.com/serde-rs/serde) from 1.0.115 to 1.0.116.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.115...v1.0.116)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-16 16:35:55 +02:00
dependabot-preview[bot]
d3ba96dd31 build(deps): bump serde from 1.0.115 to 1.0.116 in /rust
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.115 to 1.0.116.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.115...v1.0.116)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-16 01:53:12 +02:00
dependabot-preview[bot]
e82cdb59e5 build(deps): bump libc from 0.2.76 to 0.2.77 in /rust
Bumps [libc](https://github.com/rust-lang/libc) from 0.2.76 to 0.2.77.
- [Release notes](https://github.com/rust-lang/libc/releases)
- [Commits](https://github.com/rust-lang/libc/compare/0.2.76...0.2.77)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-16 00:24:11 +02:00
dependabot-preview[bot]
e977978731 build(deps): bump libc from 0.2.76 to 0.2.77 in /rust/libdnf-sys
Bumps [libc](https://github.com/rust-lang/libc) from 0.2.76 to 0.2.77.
- [Release notes](https://github.com/rust-lang/libc/releases)
- [Commits](https://github.com/rust-lang/libc/compare/0.2.76...0.2.77)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-15 23:35:05 +02:00
dependabot-preview[bot]
a2b9ada99f build(deps): bump glib from 0.10.1 to 0.10.2 in /rust
Bumps [glib](https://github.com/gtk-rs/glib) from 0.10.1 to 0.10.2.
- [Release notes](https://github.com/gtk-rs/glib/releases)
- [Commits](https://github.com/gtk-rs/glib/commits/0.10.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-15 22:36:47 +02:00
dependabot-preview[bot]
d3ffbb118e build(deps): bump gio from 0.9.0 to 0.9.1 in /rust
Bumps [gio](https://github.com/gtk-rs/gio) from 0.9.0 to 0.9.1.
- [Release notes](https://github.com/gtk-rs/gio/releases)
- [Commits](https://github.com/gtk-rs/gio/compare/0.9.0...0.9.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-14 10:23:29 -04:00
Colin Walters
456a3ec7c2 compose: Add rpmdb option, default to bdb
The design of https://fedoraproject.org/wiki/Changes/Sqlite_Rpmdb
is problematic for us for multiple reasons.  The first big reason
is that rpm-ostree is designed for "cross" builds and e.g. today
we use a Fedora-derived container to build RHEL CoreOS images.

However the default database lives inside the `rpm` package which
means that if we e.g. upgrade the coreos-assembler container to F33
it will suddenly try to use sqlite for RHCOS which is obviously broken.

Related to this, rebases from f32 to f33 w/layered packages
are broken: https://bugzilla.redhat.com/show_bug.cgi?id=1876194#c3

With this we can configure things to continue to use bdb for f33
for ostree-based systems, so that by enforcing an upgrade order
f32 → f33 [bdb] → f34 [sqlite] ... the intermediate f33 w/bdb
still understands sqlite and hence rebases will work.
2020-09-11 10:06:28 -04:00
Colin Walters
cdf2c47b46 Use ostree-rs, and oxidize more treefile checksumming
The main goal here is simply to start the ball rolling
in having rpm-ostree use the ostree-rs crate, so we can
use it for other code in the future.  We also bump the
glib crate to a new major, but no code changes were
required for that.

I spent a bit of time looking through our C code for
an example to oxidize, but almost all of our C code using
libostree also has calls back into other nontrivial rpm-ostree
C code.  To make a lot more oxidation progress I think we need
to invent an internal `librpmostree-sys` crate so we can have
Rust -> C calls.

I found this bit of treefile code computing the checksum that
we can oxidize - and as soon as we have more libdnf bindings
we can move all of the checksumming into Rust too.
2020-09-09 21:26:53 -04:00
dependabot-preview[bot]
bfed42a99f build(deps): bump rayon from 1.3.1 to 1.4.0 in /rust
Bumps [rayon](https://github.com/rayon-rs/rayon) from 1.3.1 to 1.4.0.
- [Release notes](https://github.com/rayon-rs/rayon/releases)
- [Changelog](https://github.com/rayon-rs/rayon/blob/master/RELEASES.md)
- [Commits](https://github.com/rayon-rs/rayon/compare/v1.3.1...rayon-core-v1.4.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-08 14:01:44 -04:00
dependabot-preview[bot]
0c521f0513 build(deps): bump structopt from 0.3.16 to 0.3.17 in /rust
Bumps [structopt](https://github.com/TeXitoi/structopt) from 0.3.16 to 0.3.17.
- [Release notes](https://github.com/TeXitoi/structopt/releases)
- [Changelog](https://github.com/TeXitoi/structopt/blob/master/CHANGELOG.md)
- [Commits](https://github.com/TeXitoi/structopt/compare/v0.3.16...v0.3.17)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-03 18:41:38 -04:00
Colin Walters
b14ecaea86 Move the "cbindgen typedefs" to their own file
I'm going to add more and they would get unwieldly inlined in the TOML.
2020-08-29 18:41:38 -04:00
Colin Walters
122718c4af rust: Fix deprecation warnings
Came up in a recent CI run.
2020-08-27 05:22:57 -04:00
dependabot-preview[bot]
3a8ef107e5 build(deps): bump systemd from 0.4.0 to 0.5.0 in /rust
Bumps [systemd](https://github.com/jmesmon/rust-systemd) from 0.4.0 to 0.5.0.
- [Release notes](https://github.com/jmesmon/rust-systemd/releases)
- [Commits](https://github.com/jmesmon/rust-systemd/commits/v0.5.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-24 16:45:35 -04:00
dependabot-preview[bot]
35f4a1a883 build(deps): bump libc from 0.2.74 to 0.2.76 in /rust
Bumps [libc](https://github.com/rust-lang/libc) from 0.2.74 to 0.2.76.
- [Release notes](https://github.com/rust-lang/libc/releases)
- [Commits](https://github.com/rust-lang/libc/compare/0.2.74...0.2.76)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-24 11:38:59 -04:00
dependabot-preview[bot]
9b428c1ca0 build(deps): bump libc from 0.2.74 to 0.2.76 in /rust/libdnf-sys
Bumps [libc](https://github.com/rust-lang/libc) from 0.2.74 to 0.2.76.
- [Release notes](https://github.com/rust-lang/libc/releases)
- [Commits](https://github.com/rust-lang/libc/compare/0.2.74...0.2.76)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-24 10:29:15 -04:00
dependabot-preview[bot]
12e5625990 build(deps): bump curl from 0.4.31 to 0.4.33 in /rust
Bumps [curl](https://github.com/alexcrichton/curl-rust) from 0.4.31 to 0.4.33.
- [Release notes](https://github.com/alexcrichton/curl-rust/releases)
- [Commits](https://github.com/alexcrichton/curl-rust/compare/curl-sys-0.4.31...curl-sys-0.4.33)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-24 09:42:28 -04:00
dependabot-preview[bot]
618041902d build(deps): bump serde_derive from 1.0.114 to 1.0.115 in /rust
Bumps [serde_derive](https://github.com/serde-rs/serde) from 1.0.114 to 1.0.115.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.114...v1.0.115)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-21 18:08:33 -04:00
Colin Walters
e3978c924f Add testutils generate-synthetic-upgrade
We want to test upgrades that actually change files as a general
rule; in some cases we want to test "large" upgrades to validate
performance.

This code generates a "synthetic" upgrade that adds an ELF note
to a percentage of ELF files (randomly selected).  By doing
it this way we are only actually testing one version of the code.

Migrated from https://github.com/coreos/coreos-assembler/pull/1635/
using the Rust code from https://github.com/ostreedev/ostree/pull/2127
2020-08-18 17:23:15 +02:00
dependabot-preview[bot]
d2d3e04ee2 build(deps): bump clap from 2.33.2 to 2.33.3 in /rust
Bumps [clap](https://github.com/clap-rs/clap) from 2.33.2 to 2.33.3.
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/v2.33.3/CHANGELOG.md)
- [Commits](https://github.com/clap-rs/clap/compare/v2.33.2...v2.33.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-18 16:17:29 +02:00
dependabot-preview[bot]
27e39801b1 build(deps): bump serde from 1.0.114 to 1.0.115 in /rust
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.114 to 1.0.115.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.114...v1.0.115)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-18 15:57:23 +02:00
dependabot-preview[bot]
1394b0eb1b build(deps): bump chrono from 0.4.13 to 0.4.15 in /rust
Bumps [chrono](https://github.com/chronotope/chrono) from 0.4.13 to 0.4.15.
- [Release notes](https://github.com/chronotope/chrono/releases)
- [Changelog](https://github.com/chronotope/chrono/blob/main/CHANGELOG.md)
- [Commits](https://github.com/chronotope/chrono/compare/v0.4.13...v0.4.15)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-17 15:46:27 +02:00
dependabot-preview[bot]
20494a77b5 build(deps): bump structopt from 0.3.15 to 0.3.16 in /rust
Bumps [structopt](https://github.com/TeXitoi/structopt) from 0.3.15 to 0.3.16.
- [Release notes](https://github.com/TeXitoi/structopt/releases)
- [Changelog](https://github.com/TeXitoi/structopt/blob/master/CHANGELOG.md)
- [Commits](https://github.com/TeXitoi/structopt/compare/v0.3.15...v0.3.16)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-17 15:19:46 +02:00
dependabot-preview[bot]
5975a59e92 build(deps): bump clap from 2.33.1 to 2.33.2 in /rust
Bumps [clap](https://github.com/clap-rs/clap) from 2.33.1 to 2.33.2.
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/v2.33.2/CHANGELOG.md)
- [Commits](https://github.com/clap-rs/clap/compare/v2.33.1...v2.33.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-10 11:49:52 -04:00
Kelvin Fan
c9cb6005ff treefile: change remove-from-packages implementation
Fix https://github.com/coreos/rpm-ostree/issues/2068: `remove-from-packages`
deleting files that it shouldn't.
Filter out files that user wants removed at `checkout_package_into_root()`,
instead of at the `handle_remove_files_from_package()` function that does
not check whether files are used by other rpms before removing them.
2020-08-05 21:07:20 +02:00
dependabot-preview[bot]
c349a14600 build(deps): bump libc from 0.2.73 to 0.2.74 in /rust/libdnf-sys
Bumps [libc](https://github.com/rust-lang/libc) from 0.2.73 to 0.2.74.
- [Release notes](https://github.com/rust-lang/libc/releases)
- [Commits](https://github.com/rust-lang/libc/compare/0.2.73...0.2.74)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-04 23:36:26 +02:00
dependabot-preview[bot]
142d86dbeb build(deps): bump libc from 0.2.73 to 0.2.74 in /rust
Bumps [libc](https://github.com/rust-lang/libc) from 0.2.73 to 0.2.74.
- [Release notes](https://github.com/rust-lang/libc/releases)
- [Commits](https://github.com/rust-lang/libc/compare/0.2.73...0.2.74)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-04 22:42:38 +02:00
Jonathan Lebon
1c9ea5dab3 ci: Bump MSRV to 1.43.1
This is available in the RHEL 8.2 buildroot now. Also fixes compilation
with latest `openat-ext` crate which uses `std::usize::MAX`.
2020-07-27 21:14:43 +02:00
dependabot-preview[bot]
b196136b4f build(deps): bump openat-ext from 0.1.2 to 0.1.4 in /rust
Bumps [openat-ext](https://github.com/cgwalters/openat-ext) from 0.1.2 to 0.1.4.
- [Release notes](https://github.com/cgwalters/openat-ext/releases)
- [Commits](https://github.com/cgwalters/openat-ext/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-27 21:14:43 +02:00
dependabot-preview[bot]
e53281bef6 build(deps): bump serde_json from 1.0.56 to 1.0.57 in /rust
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.56 to 1.0.57.
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](https://github.com/serde-rs/json/compare/v1.0.56...v1.0.57)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-27 19:57:32 +02:00
dependabot-preview[bot]
5e1565941f build(deps): bump nix from 0.17.0 to 0.18.0 in /rust
Bumps [nix](https://github.com/nix-rust/nix) from 0.17.0 to 0.18.0.
- [Release notes](https://github.com/nix-rust/nix/releases)
- [Changelog](https://github.com/nix-rust/nix/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nix-rust/nix/compare/v0.17.0...v0.18.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-27 18:32:16 +02:00
dependabot-preview[bot]
421be07737 build(deps): bump curl from 0.4.30 to 0.4.31 in /rust
Bumps [curl](https://github.com/alexcrichton/curl-rust) from 0.4.30 to 0.4.31.
- [Release notes](https://github.com/alexcrichton/curl-rust/releases)
- [Commits](https://github.com/alexcrichton/curl-rust/compare/curl-sys-0.4.30...curl-sys-0.4.31)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-27 17:27:23 +02:00
dependabot-preview[bot]
15cea98dca build(deps): bump anyhow from 1.0.31 to 1.0.32 in /rust
Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.31 to 1.0.32.
- [Release notes](https://github.com/dtolnay/anyhow/releases)
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.31...1.0.32)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-27 16:02:07 +02:00
dependabot-preview[bot]
1d0ebd16da build(deps): bump libc from 0.2.72 to 0.2.73 in /rust/libdnf-sys
Bumps [libc](https://github.com/rust-lang/libc) from 0.2.72 to 0.2.73.
- [Release notes](https://github.com/rust-lang/libc/releases)
- [Commits](https://github.com/rust-lang/libc/compare/0.2.72...0.2.73)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-20 09:56:35 -04:00
dependabot-preview[bot]
35c40eff2b build(deps): bump libc from 0.2.71 to 0.2.72 in /rust
Bumps [libc](https://github.com/rust-lang/libc) from 0.2.71 to 0.2.72.
- [Release notes](https://github.com/rust-lang/libc/releases)
- [Commits](https://github.com/rust-lang/libc/compare/0.2.71...0.2.72)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-16 18:06:29 -04:00
dependabot-preview[bot]
58a085859f build(deps): bump serde_json from 1.0.55 to 1.0.56 in /rust
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.55 to 1.0.56.
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](https://github.com/serde-rs/json/compare/v1.0.55...v1.0.56)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-16 17:12:02 -04:00
dependabot-preview[bot]
1fbf4b8ba4 build(deps): bump libc from 0.2.71 to 0.2.72 in /rust/libdnf-sys
Bumps [libc](https://github.com/rust-lang/libc) from 0.2.71 to 0.2.72.
- [Release notes](https://github.com/rust-lang/libc/releases)
- [Commits](https://github.com/rust-lang/libc/compare/0.2.71...0.2.72)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-16 16:50:13 -04:00
dependabot-preview[bot]
7e32318fb3 build(deps): bump chrono from 0.4.11 to 0.4.13 in /rust
Bumps [chrono](https://github.com/chronotope/chrono) from 0.4.11 to 0.4.13.
- [Release notes](https://github.com/chronotope/chrono/releases)
- [Changelog](https://github.com/chronotope/chrono/blob/master/CHANGELOG.md)
- [Commits](https://github.com/chronotope/chrono/compare/v0.4.11...v0.4.13)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-16 15:46:06 -04:00
Kelvin Fan
4d836dd88e treefile: Allow greater/less than versions for pkgs
Add a helper function for whitespace_split_packages() so that it now
splits a String by whitespace only if it is not wrapped between single
quotes.

This should allow RHCOS to use syntax like podman > 1.4 in the treefile.

Also add new unit tests and tweak existing compose tests to test this
functionality.
2020-07-08 19:25:41 +02:00
dependabot-preview[bot]
e6b06f1fb2 build(deps): bump curl from 0.4.29 to 0.4.30 in /rust
Bumps [curl](https://github.com/alexcrichton/curl-rust) from 0.4.29 to 0.4.30.
- [Release notes](https://github.com/alexcrichton/curl-rust/releases)
- [Commits](https://github.com/alexcrichton/curl-rust/compare/curl-sys-0.4.29...curl-sys-0.4.30)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-29 12:19:29 -04:00
dependabot-preview[bot]
a5745314ef build(deps): bump structopt from 0.3.14 to 0.3.15 in /rust
Bumps [structopt](https://github.com/TeXitoi/structopt) from 0.3.14 to 0.3.15.
- [Release notes](https://github.com/TeXitoi/structopt/releases)
- [Changelog](https://github.com/TeXitoi/structopt/blob/master/CHANGELOG.md)
- [Commits](https://github.com/TeXitoi/structopt/compare/v0.3.14...v0.3.15)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-23 14:50:29 -04:00
dependabot-preview[bot]
490067a753 build(deps): bump serde_derive from 1.0.112 to 1.0.114 in /rust
Bumps [serde_derive](https://github.com/serde-rs/serde) from 1.0.112 to 1.0.114.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.112...v1.0.114)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-23 13:54:37 -04:00
dependabot-preview[bot]
60f8ebf4d4 build(deps): bump serde from 1.0.112 to 1.0.114 in /rust
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.112 to 1.0.114.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.112...v1.0.114)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-23 18:10:15 +02:00
dependabot-preview[bot]
9baa188084 build(deps): bump rayon from 1.3.0 to 1.3.1 in /rust
Bumps [rayon](https://github.com/rayon-rs/rayon) from 1.3.0 to 1.3.1.
- [Release notes](https://github.com/rayon-rs/rayon/releases)
- [Changelog](https://github.com/rayon-rs/rayon/blob/master/RELEASES.md)
- [Commits](https://github.com/rayon-rs/rayon/compare/rayon-core-v1.3.0...v1.3.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-22 14:46:54 +02:00
Colin Walters
0207d17fcd ffiutil: Format full errors from anyhow
We need to use this alternative formatter to get full errors
including the full context chain.  IMO the anyhow default is broken.
2020-06-17 17:39:42 -04:00
dependabot-preview[bot]
3156b545f2 build(deps): bump serde_json from 1.0.53 to 1.0.55 in /rust
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.53 to 1.0.55.
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](https://github.com/serde-rs/json/compare/v1.0.53...v1.0.55)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-15 17:29:01 -04:00