Commit Graph

2935 Commits

Author SHA1 Message Date
dependabot-preview[bot]
5b421ddaf0 build(deps): bump libglnx from 3c285a7 to 84b981a
Bumps libglnx from `3c285a7` to `84b981a`.

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-22 15:35:06 +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
Jonathan Lebon
f3ccd92cd7 Release 2020.3
Seems about time, but also to get the crypto-policies workaround out:
https://github.com/coreos/fedora-coreos-tracker/issues/540
2020-06-19 11:39:16 -04: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
Jonathan Lebon
8e632156f7 ci: Adapt to workspace being HOME
The CoreOS CI shared lib sets `HOME` to the workspace:

a81bfab789

and there's no easy way for it to detect when `HOME` is correctly set:

8574f04d96
853d5fdef3

For now, just work around this until we have a cleaner solution. (Though
it makes sense overall to uses `$HOME` anyway instead of hardcoding
`/root`).
2020-06-17 15:05:53 -04:00
Jonathan Lebon
83b385bc59 libpriv/scripts: Replace crypto-policies lua script
The latest crypto-policies package changed recently to dynamically set
the policy at install time so that if FIPS is enabled, the selected
backend is `FIPS`:

9b9c9f7378

This doesn't really make sense for us though since the compose server
configuration should be decoupled from the installroot. (More generally,
this also affects e.g. `yum install --installroot`).

Override the script for now so that we always select the `DEFAULT`
policy. We'll discuss with upstream to see what the right solution is
there.

This also works around the fact that rpm-ostree doesn't yet implement
Lua (#749).

Related: https://bugzilla.redhat.com/show_bug.cgi?id=1847454
Resolves: https://github.com/coreos/fedora-coreos-tracker/issues/540
2020-06-17 15:05:53 -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
dependabot-preview[bot]
3c7f8a8742 build(deps): bump serde from 1.0.111 to 1.0.112 in /rust
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.111 to 1.0.112.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.111...v1.0.112)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-15 16:33:31 -04:00
dependabot-preview[bot]
c3d07889fd build(deps): bump openat from 0.1.18 to 0.1.19 in /rust
Bumps [openat](https://github.com/tailhook/openat) from 0.1.18 to 0.1.19.
- [Release notes](https://github.com/tailhook/openat/releases)
- [Commits](https://github.com/tailhook/openat/compare/v0.1.18...v0.1.19)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-15 15:35:05 -04:00
dependabot-preview[bot]
bbc87124ef build(deps): bump serde_derive from 1.0.111 to 1.0.112 in /rust
Bumps [serde_derive](https://github.com/serde-rs/serde) from 1.0.111 to 1.0.112.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.111...v1.0.112)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-15 14:31:07 -04:00
dependabot-preview[bot]
0e40a4102d build(deps): bump indicatif from 0.14.0 to 0.15.0 in /rust
Bumps [indicatif](https://github.com/mitsuhiko/indicatif) from 0.14.0 to 0.15.0.
- [Release notes](https://github.com/mitsuhiko/indicatif/releases)
- [Commits](https://github.com/mitsuhiko/indicatif/compare/0.14.0...0.15.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-15 13:37:59 -04:00
dependabot-preview[bot]
b47d2826bf build(deps): bump serde_yaml from 0.8.12 to 0.8.13 in /rust
Bumps [serde_yaml](https://github.com/dtolnay/serde-yaml) from 0.8.12 to 0.8.13.
- [Release notes](https://github.com/dtolnay/serde-yaml/releases)
- [Commits](https://github.com/dtolnay/serde-yaml/compare/0.8.12...0.8.13)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-15 13:05:39 -04:00
dependabot-preview[bot]
bb39dac1cd build(deps): bump libdnf from 066c627 to 44c436b
Bumps [libdnf](https://github.com/rpm-software-management/libdnf) from `066c627` to `44c436b`.
- [Release notes](https://github.com/rpm-software-management/libdnf/releases)
- [Commits](066c6273ef...44c436bbe9)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-15 13:05:31 -04:00
dependabot-preview[bot]
748704a7c8 build(deps): bump libglnx from fc9073e to 3c285a7
Bumps libglnx from `fc9073e` to `3c285a7`.

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-15 12:40:54 -04:00
dependabot-preview[bot]
a694198d9a build(deps): bump libdnf from 65c7e43 to 066c627
Bumps [libdnf](https://github.com/rpm-software-management/libdnf) from `65c7e43` to `066c627`.
- [Release notes](https://github.com/rpm-software-management/libdnf/releases)
- [Commits](65c7e43fe9...066c6273ef)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-10 16:53:40 -04:00
Jonathan Lebon
fdb63ce699 app/status: Print missing newline for AutomaticUpdates 2020-06-08 22:10:13 +02:00
dependabot-preview[bot]
125dde1ce6 build(deps): bump libglnx from bf851fb to fc9073e
Bumps libglnx from `bf851fb` to `fc9073e`.

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-08 09:59:34 -04:00
dependabot-preview[bot]
65156cb1b7 build(deps): bump libc from 0.2.70 to 0.2.71 in /rust/libdnf-sys
Bumps [libc](https://github.com/rust-lang/libc) from 0.2.70 to 0.2.71.
- [Release notes](https://github.com/rust-lang/libc/releases)
- [Commits](https://github.com/rust-lang/libc/compare/0.2.70...0.2.71)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-03 22:59:23 +02:00
dependabot-preview[bot]
c59315e889 build(deps): bump libc from 0.2.70 to 0.2.71 in /rust
Bumps [libc](https://github.com/rust-lang/libc) from 0.2.70 to 0.2.71.
- [Release notes](https://github.com/rust-lang/libc/releases)
- [Commits](https://github.com/rust-lang/libc/compare/0.2.70...0.2.71)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-03 17:16:03 +02:00
dependabot-preview[bot]
fdef9e13f8 build(deps): bump serde from 1.0.110 to 1.0.111 in /rust
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.110 to 1.0.111.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.110...v1.0.111)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-03 16:26:29 +02:00
dependabot-preview[bot]
3b1dfdc8ff build(deps): bump serde_derive from 1.0.110 to 1.0.111 in /rust
Bumps [serde_derive](https://github.com/serde-rs/serde) from 1.0.110 to 1.0.111.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.110...v1.0.111)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-03 10:38:15 +02:00
Jonathan Lebon
412d025e06 tests: Make more resistant to releasever changes
Now that cosa and FCOS have moved to f32, a bunch of tests are breaking.
Let's make them more resistant to releasever changes.

While we're here though, bump the container image we use on the target
host to f32, and update the systemd example output.
2020-06-02 19:37:43 +02:00
Colin Walters
1db9fa000f rebase: Remove requirement for --experimental with local rebases
We've been shipping the MCO code using this for a long time,
it needs to stay in its current form and is not experimental.
2020-05-29 15:14:32 -04:00
Colin Walters
eaee25783a daemon: Add an error prefix in local repo pulls
One OpenShift user saw this from rpm-ostree:

```
client(id:cli dbus:1.583 unit:machine-config-daemon-host.service uid:0) added; new total=1
Initiated txn UpdateDeployment for client(id:cli dbus:1.583 unit:machine-config-daemon-host.service uid:0): /org/projectatomic/rpmostree1/rhcos
Txn UpdateDeployment on /org/projectatomic/rpmostree1/rhcos failed: File header size 4294967295 exceeds size 0
```

which isn't very helpful. Let's add some error
prefixing here just to clarify this is pulling from
the repo.

xref https://github.com/ostreedev/ostree/pull/2118
2020-05-29 14:55:25 -04:00
Colin Walters
37e7ab2e33 test-override-kernel: Support f32
CI is failing on this now that FCOS has switched.
2020-05-29 12:35:15 -04:00
Colin Walters
784629c7b1 rojig-build: Just expand %_isa
I have no idea why I came up with the previous code instead
of just expanding `%_isa`.  The old code blew up for me
trying to use rojig w/silverblue because of the `abi` in:

```
$ rpm -q --provides gawk | grep \(
gawk(abi) = 3.0
gawk(x86-64) = 5.0.1-5.fc31
$
```

We can definitely assume that we have the same value of `_isa`
at rojig build time as for the target.
2020-05-27 10:30:53 -04:00
Colin Walters
75ae584e6d tests/kola: Move into tests/kolainst, run installed
Switch to the "installed" model introduced by:
https://github.com/coreos/coreos-assembler/pull/1441

It's hard to support running tests *both* from the srcdir
and installed; in this case because we have a symlink that needs
to be followed, which kola knows how to do from the srcdir
but not when installed.  Let's establish a new convention of
`tests/kolainst`.   In our case we follow the symlink manually
for now.

That bit will be cleaned up when we eventually switch entirely
to kola tests.
2020-05-26 15:34:00 -04:00
dependabot-preview[bot]
2e5402bd91 build(deps): bump libc from 0.2.69 to 0.2.70 in /rust/libdnf-sys
Bumps [libc](https://github.com/rust-lang/libc) from 0.2.69 to 0.2.70.
- [Release notes](https://github.com/rust-lang/libc/releases)
- [Commits](https://github.com/rust-lang/libc/compare/0.2.69...0.2.70)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-24 14:17:42 -04:00
dependabot-preview[bot]
e1af969d2d build(deps): bump anyhow from 1.0.28 to 1.0.31 in /rust
Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.28 to 1.0.31.
- [Release notes](https://github.com/dtolnay/anyhow/releases)
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.28...1.0.31)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-24 13:59:38 -04:00
Stephen Gallagher
541b43beaa spec: Fix up conditionals for ELN
The `rust-toolset` package does not exist in Fedora, so we cannot
use it for BuildRequires. Change the conditional to exclude ELN
from the %rhel conditional.

Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
2020-05-23 10:18:00 -04:00
Jonathan Lebon
f8667c65f7 spec: Bump version to 2020.2
This should've been part of the last release commit.
2020-05-23 10:18:00 -04:00
Colin Walters
70462a9a05 compose: Add a "warn and sleep" if --unified-core is not provided
Start adding some pain if `--unified-core` isn't provided
to help flush out anyone relying on it.  (And I think today
pungi is not passing it, so e.g. Fedora IoT/Silverblue are impacted)

Prep for merging https://github.com/coreos/rpm-ostree/pull/1793

Co-authored-by: Jonathan Lebon <jonathan@jlebon.com>
2020-05-20 17:17:28 +02:00
Colin Walters
4311f6ede7 compose: Remove --output-repodata-dir
This was apparently removed in: 2263bb35f6
It's done nothing for the last 5 years, I think it's safe to remove.

I was just looking at this code when thinking about extensions.
2020-05-20 00:09:12 +02:00
dependabot-preview[bot]
52280e319a build(deps): bump clap from 2.33.0 to 2.33.1 in /rust
Bumps [clap](https://github.com/clap-rs/clap) from 2.33.0 to 2.33.1.
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/v2.33.1/CHANGELOG.md)
- [Commits](https://github.com/clap-rs/clap/compare/v2.33.0...v2.33.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-19 17:52:52 +02:00
dependabot-preview[bot]
86bad78646 build(deps): bump libc from 0.2.69 to 0.2.70 in /rust
Bumps [libc](https://github.com/rust-lang/libc) from 0.2.69 to 0.2.70.
- [Release notes](https://github.com/rust-lang/libc/releases)
- [Commits](https://github.com/rust-lang/libc/compare/0.2.69...0.2.70)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-19 17:20:37 +02:00
Doug Hellmann
d160ed181c docs/background: Fix benefits and drawbacks formatting
The lists of pros and cons for each approach in the background section
of the manual use markdown formatting that is rendered as nested
lists. Separate the lists of benefits and drawbacks so that readers of
https://rpm-ostree.readthedocs.io/en/latest/manual/background/ and the
rendered markdown on github can understand which items are pros and
which are cons.

Signed-off-by: Doug Hellmann <dhellmann@redhat.com>
2020-05-15 12:58:17 -07:00
Jonathan Lebon
b7ff1612ea upgrader: Reset ref before fetching commit by override
This is a short-term hack until we can depend on the new
`timestamp-check-from-rev` from ostree:

https://github.com/ostreedev/ostree/pull/2099

That way, we still get downgrade protection, but wrt the checked out
deployment, not the local ref.

For more information, see
https://github.com/coreos/rpm-ostree/pull/2094
https://github.com/coreos/fedora-coreos-tracker/issues/481
2020-05-15 10:30:13 -07:00
Jonathan Lebon
1f5863a33f upgrader: Add more error-prefixing
Both libostree and the upgrader do timestamp checks, and the error
message is exactly the same. So it's hard to tell which path exactly
failed.

Add some error-prefixing to make debugging easier.
2020-05-15 10:30:13 -07:00
Colin Walters
0bfd20c900 build-sys: Disable zchunk for libdnf if we don't have it
Going to update rpm-ostree for RHEL 8.3, we did a huge bump
in libdnf which now defaults to enabling zchunk in its build
system.  We added the infrastructure before to detect things,
so propagate that to libdnf.
2020-05-14 17:52:43 -07:00
Colin Walters
ac5489b065 Release 2020.2
Mostly motivated by keeping the release train going:
https://bugzilla.redhat.com/show_bug.cgi?id=1827712#c18
2020-05-14 13:40:26 -07:00
Colin Walters
0de332bd84 build-sys: Remove --enable-new-name
We didn't ship this for a long time and...well, naming is hard, I guess
it's not going to happen soon.
2020-05-14 13:18:00 -07:00
Luke Blevins
2e58c19e33 Recognize other kernel packages with provides
Remove installonlypkg use and check if other kernel types are provided

Remove unneeded g_printerr statement

Update src/libpriv/rpmostree-core.c

Based on feedback

Co-authored-by: Jonathan Lebon <jonathan@jlebon.com>
2020-05-14 08:14:19 -07:00
Colin Walters
1bd69619eb treefile: Add readonly-executables
Same motivation as
7392259332

I think we should encourage removing the writable bits from
executables.  This has happened to me:
https://thomask.sdf.org/blog/2019/11/09/take-care-editing-bash-scripts.html

And not having the writable bit may help prevent hardlink
corruption with OSTree in some cases.

We can't do this by default, but add a convenient treefile option
for it.

This starts out by just doing this for RPMs, but I'll add
a secondary pass which does it during postprocessing soon too.
2020-05-12 08:39:37 -07:00
Colin Walters
6df03da742 tests: Move more code to kola
Continuing the migration.
2020-05-12 00:34:26 +02:00
dependabot-preview[bot]
338365cf3f build(deps): bump serde_json from 1.0.51 to 1.0.53 in /rust
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.51 to 1.0.53.
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](https://github.com/serde-rs/json/compare/v1.0.51...v1.0.53)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-11 23:52:07 +02:00
dependabot-preview[bot]
81a8bca5f7 build(deps): bump serde_yaml from 0.8.11 to 0.8.12 in /rust
Bumps [serde_yaml](https://github.com/dtolnay/serde-yaml) from 0.8.11 to 0.8.12.
- [Release notes](https://github.com/dtolnay/serde-yaml/releases)
- [Commits](https://github.com/dtolnay/serde-yaml/compare/0.8.11...0.8.12)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-11 23:00:51 +02:00
dependabot-preview[bot]
498796020b build(deps): bump serde_derive from 1.0.106 to 1.0.110 in /rust
Bumps [serde_derive](https://github.com/serde-rs/serde) from 1.0.106 to 1.0.110.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.106...v1.0.110)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-11 22:01:48 +02:00
Jonathan Lebon
92a83ad722 Makefile.am: Link with --enable-new-dtags
When g-ir-scanner runs, it uses a stub binary to help introspect the
target rpm-ostree library. That binary needs to link to the library, and
of course, transitively, to our bundled libdnf. Since we run the scanner
uninstalled, we use `LD_LIBRARY_PATH` to point the stub at the libdnf
from the build directory.

When we compile rpm-ostree, we use `-rpath` to point it at our libdnf,
which emits a `DT_RPATH` attribute. However, during dynamic linking at
runtime, it turns out that `LD_LIBRARY_PATH` has *lower* precedence than
`DT_RPATH`. This means that if there is already a libdnf at
`/usr/lib64/rpm-ostree`, it takes precedence.

This subtlety is mostly fine to ignore usually, because the stub doesn't
actually run any rpm-ostree business logic, so it doesn't really matter
that it runs against the "technically wrong" `libdnf.so.2`.

Where it becomes obvious something is off however is if we've just
built a new libdnf, and we have new code which references symbols from
the new libdnf that aren't in the stale libdnf at `$libdir/rpm-ostree`.

And this is exactly what was happening in CI (though it's of course
possible to reproduce this locally as well): we were using a new symbol,
`hy_goal_favor`, and building inside the cosa buildroot image, which
already has rpm-ostree installed, and so `ld.so` chose the bundled
libdnf of the installed rpm-ostree when loading the `g-ir-scanner` stub.
Thus why it failed with:

```
./tmp-introspectzh0n2cga/.libs/lt-RpmOstree-1.0: symbol lookup error: .libs/librpmostree-1.so.1: undefined symbol: hy_goal_favor
```

And of course, the root cause here has nothing to do with the stub in
itself. It's actually trivially easy to see the behaviour difference wrt
`LD_LIBRARY_PATH` on installed binaries. Using a shared object
from `python3-libdnf` which links to libdnf without using rpath, we can
see that `LD_LIBRARY_PATH` has an effect:

```
$ ldd /usr/lib64/python3.7/site-packages/libdnf/_transaction.so | grep libdnf
        libdnf.so.2 => /lib64/libdnf.so.2 (0x00007fdde789e000)
$ LD_LIBRARY_PATH=./libdnf-build/libdnf ldd /usr/lib64/python3.7/site-packages/libdnf/_transaction.so | grep libdnf
        libdnf.so.2 => ./libdnf-build/libdnf/libdnf.so.2 (0x00007fa615048000)
```

Whereas with rpm-ostree:

```
$ ldd /usr/bin/rpm-ostree | grep libdnf
        libdnf.so.2 => /usr/lib64/rpm-ostree/libdnf.so.2 (0x00007f7da5271000)
$ LD_LIBRARY_PATH=./libdnf-build/libdnf ldd /usr/bin/rpm-ostree | grep libdnf
        libdnf.so.2 => /usr/lib64/rpm-ostree/libdnf.so.2 (0x00007fc905dbd000)
```

And going further down the rabbit hole, `DT_RPATH` is in fact considered
deprecated for this reason; it makes it harder to run with uninstalled
libraries or whatever reason one has to want to override a library (one
can still use `LD_PRELOAD`, though the semantics are different, and it's
less commonly used than `LD_LIBRARY_PATH`). Instead, we should use
`DT_RUNPATH`, which does have lower precedence than `LD_LIBRARY_PATH`,
matching the usual behaviour.

To make the linker emit `DT_RUNPATH` attributes, we have to use the
`--enable-new-dtags` flag. This also then fixes the g-ir-scanner issue
described above.
2020-05-11 21:42:05 +02:00
dependabot-preview[bot]
2b52b33e19 build(deps): bump libdnf from ee81887 to 65c7e43
Bumps [libdnf](https://github.com/rpm-software-management/libdnf) from `ee81887` to `65c7e43`.
- [Release notes](https://github.com/rpm-software-management/libdnf/releases)
- [Commits](ee81887228...65c7e43fe9)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-11 21:15:29 +02:00
dependabot-preview[bot]
ff2fbdb3bf build(deps): bump serde from 1.0.106 to 1.0.110 in /rust
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.106 to 1.0.110.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.106...v1.0.110)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-11 20:50:55 +02:00