Commit Graph

3593 Commits

Author SHA1 Message Date
Jonathan Lebon
0d12cb5548
Merge pull request #2702 from coreos/dependabot/cargo/cxx-1.0.40 2021-03-31 16:43:29 -04:00
Jonathan Lebon
d66f2bfd92
Merge pull request #2711 from coreos/dependabot/cargo/rust-ini-0.17.0
build(deps): bump rust-ini from 0.16.1 to 0.17.0
2021-03-31 10:39:02 -04:00
Jonathan Lebon
306715de1c
Merge pull request #2714 from jlebon/pr/daemon-architecture
docs: Add page about the daemon interface
2021-03-31 09:25:35 -04:00
Jonathan Lebon
e54d376055 build(deps): bump cxx and cxx-build from 1.0.33 to 1.0.41
The 1.0.41 includes a fix we need:

https://github.com/dtolnay/cxx/issues/799
2021-03-30 20:25:22 -04:00
Jonathan Lebon
7b2c2db3c9 docs: Add page about the daemon interface
To help new contributors trying to understand how it all fits together.
2021-03-30 16:09:22 -04:00
dependabot[bot]
77ce1064a3
build(deps): bump rust-ini from 0.16.1 to 0.17.0
Bumps [rust-ini](https://github.com/zonyitoo/rust-ini) from 0.16.1 to 0.17.0.
- [Release notes](https://github.com/zonyitoo/rust-ini/releases)
- [Commits](https://github.com/zonyitoo/rust-ini/compare/v0.16.1...v0.17.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-03-30 12:39:33 +00:00
Jonathan Lebon
bef1fc7926
Merge pull request #2703 from coreos/dependabot/cargo/anyhow-1.0.40
build(deps): bump anyhow from 1.0.38 to 1.0.40
2021-03-30 08:38:23 -04:00
Ukpai Ugochi
695312fc43 Help text on error: Transaction in progress #2341
This is a feature request, to add help text to get new users unblocked.
2021-03-30 08:37:35 -04:00
Jonathan Lebon
914e79f414
Merge pull request #2706 from cgwalters/depmod-rs
Migrate `depmod` helper to core.rs
2021-03-29 16:32:40 -04:00
Jonathan Lebon
b73c2a6f0d
Merge pull request #2708 from cgwalters/more-indoc
rust: More usage of indoc
2021-03-29 14:52:04 -04:00
Colin Walters
4298fd4ddd rust: More usage of indoc
There's a lot more of this in the code, just decided to do a little
bit more in treefile.rs mostly.
2021-03-29 17:50:06 +00:00
Kelvin Fan
dedf2a2653
Merge pull request #2700 from cgwalters/indoc
rust: Use indoc crate
2021-03-29 13:18:43 -04:00
Colin Walters
eba911c00a Migrate depmod helper to core.rs
Since it's called from both client and compose side, it should be
in core.  Migrate to Rust too.
2021-03-29 16:43:19 +00:00
Jonathan Lebon
be4fe77ebb
Merge pull request #2692 from cgwalters/bwrap-rs 2021-03-29 12:42:18 -04:00
Jonathan Lebon
307d52044b
Merge pull request #2705 from cgwalters/fix-treefile-leak
compose: Fix leak of Rust treefile object
2021-03-29 12:30:44 -04:00
Colin Walters
a07e331eb1 compose: Fix leak of Rust treefile object
I did at one point look at converting this stuff into a C++
object but that led in to a whole rathole around a C++ `GObject<>`
smart pointer like glibmm has.  But that would take over the code
and it's better to just port to Rust.
2021-03-29 14:51:47 +00:00
Colin Walters
fd69eeec5a bwrap: Add more docstrings
Trying to do this on general principle.
2021-03-29 14:45:35 +00:00
Colin Walters
a8f45b5848 bwrap: Clean up /sys ro binds
Less repetitive and a bit more documented this way.
2021-03-29 14:45:35 +00:00
Colin Walters
922e6847bc bwrap: Clean up capability additions
It's easier to read this way.
2021-03-29 14:45:35 +00:00
Colin Walters
8ba6348267 bwrap: Create a RoFilesMount struct
This cleans up the drop handling/ownership.
2021-03-29 14:45:35 +00:00
Colin Walters
fa81456cbf Rewrite bwrap code in Rust
I tried to do this incrementally but it snowballed.
2021-03-29 14:45:35 +00:00
Colin Walters
40dc281e5e bwrap: Initial Rust stub
This compiles and demonstrates moving a little bit of the bwrap
code to Rust.
2021-03-29 14:44:09 +00:00
Jonathan Lebon
ba9f88f477 spec: Add more deps from libdnf
It's important to track these closely to avoid odd runtime issues on
clients. See previous commit for details.
2021-03-29 10:37:13 -04:00
Jonathan Lebon
8e22075721 RELEASE: Add step to update libdnf's deps
In the latest release, we should've bumped librepo's requirement. It
doesn't use symbol versioning, so we don't automatically get this. At
release time at least, we should just peek at the spec we're baking in
and pick up from that.

Clearly the updated deps are in the buildroot if CI is green, so this
should mostly be a matter of bumping to versions which are already
shipped in Fedora.

See: https://github.com/rpm-software-management/libdnf/pull/1128
See: https://github.com/coreos/rpm-ostree/pull/2644
See: https://bugzilla.redhat.com/show_bug.cgi?id=1943773
2021-03-29 10:37:13 -04:00
dependabot[bot]
63a2a727cc
build(deps): bump anyhow from 1.0.38 to 1.0.40
Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.38 to 1.0.40.
- [Release notes](https://github.com/dtolnay/anyhow/releases)
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.38...1.0.40)

Signed-off-by: dependabot[bot] <support@github.com>
2021-03-29 06:46:16 +00:00
dependabot[bot]
cc8adac055
build(deps): bump cxx from 1.0.33 to 1.0.40
Bumps [cxx](https://github.com/dtolnay/cxx) from 1.0.33 to 1.0.40.
- [Release notes](https://github.com/dtolnay/cxx/releases)
- [Commits](https://github.com/dtolnay/cxx/compare/1.0.33...1.0.40)

Signed-off-by: dependabot[bot] <support@github.com>
2021-03-29 06:46:10 +00:00
Colin Walters
15842529dd rust: Use indoc crate
I came across this crate the other day randomly - yet *another*
dtolnay dependency.  We have a bunch of these inline multi-line
strings that are just much nicer to read this way.

I only converted this one use, if this merges I'll do more
over time.
2021-03-27 19:51:59 +00:00
Colin Walters
335415d601 tests: Add infinite loop package to kolainst-build
This way it's easy to get outside of the vmcheck tests.
2021-03-26 16:59:30 +00:00
Jonathan Lebon
b2c68b3309
Merge pull request #2694 from cgwalters/in-systemd-api
Add a helper API to detect running in systemd
2021-03-26 11:28:43 -04:00
Colin Walters
a7edfb6293 Add a helper API to detect running in systemd
Use it instead of detecting the journal; we *could* do that
by checking the `JOURNAL_STREAM` variable:
https://www.freedesktop.org/software/systemd/man/systemd.exec.html#%24JOURNAL_STREAM

But, really none of our code cares about this today;
anyone running `rpm-ostree compose tree` under e.g.
`systemd-run` can keep both pieces.
2021-03-26 14:29:53 +00:00
Colin Walters
ffd9e8fc9f ci: Update to use new buildroot pod
Matching https://github.com/coreos/ignition/pull/1182
and discussion in https://github.com/coreos/fedora-coreos-tracker/issues/764
2021-03-26 10:16:05 -04:00
Alexander Wellbrock
a1197d8d93 Fix ambigous compose postprocess man entry
The resulting man-page entry was
'compose postprocess [OPTION…] postprocess ROOTFS [TREEFILE]'
2021-03-25 08:32:10 -04:00
Alexander Wellbrock
dd6beaa67d docs/compose: apply review; unify repo paths
In the sections "Granular.." and "Running rpm..." the usage of repo
paths was inconsistent.
2021-03-24 17:05:58 -04:00
Alexander Wellbrock
892097ee84 docs/compose: add section on the granular approach
This section goes into more detail how compose tree can be split up
using the other available commands.
2021-03-24 17:05:58 -04:00
Alexander Wellbrock
5ed0834144 docs/compose: add a introductory section
This section is meant to give a broad overview of this doc.

First introducing the tool in general. Then showing the distinction
between 'compose tree' and the granular approach. Finally transitioning
over to the next section.
2021-03-24 17:05:58 -04:00
Alexander Wellbrock
bf14072087 docs/compose: move container section to bottom
The container docs are nice to know but not the most important thing.
2021-03-24 17:05:58 -04:00
Jonathan Lebon
3dda1a33b4
Merge pull request #2689 from cgwalters/bwrap-rs-prep2
bwrap,scripts: Add and use cleaner APIs for standard descriptors
2021-03-23 11:54:09 -04:00
Jonathan Lebon
0fd82990c7
Merge pull request #2691 from cgwalters/strip-remote-error
clientlib: Strip GDBus remote error before throwing exception
2021-03-23 10:49:45 -04:00
Colin Walters
7ec7e3eb28 clientlib: Strip GDBus remote error before throwing exception
In general our error handling philosophy is "errors are strings".
Previously (before C++) we were relying on calling this API
to strip out the GDBus remote error message.

In the recent refactoring of clientlib to expose the txn APIs
to Rust via C++, we implicitly lost that because the C++
wrapper API throws an exception.

Add a copy of the remote error stripping here.  Eventually
it will likely make sense for it to *only* be here instead
of also in `main.cxx`, but one thing at a time.
2021-03-22 19:30:49 +00:00
dependabot[bot]
c566e51c4a build(deps): bump cxx from 1.0.32 to 1.0.33
Bumps [cxx](https://github.com/dtolnay/cxx) from 1.0.32 to 1.0.33.
- [Release notes](https://github.com/dtolnay/cxx/releases)
- [Commits](https://github.com/dtolnay/cxx/compare/1.0.32...1.0.33)

Signed-off-by: dependabot[bot] <support@github.com>
2021-03-22 15:12:01 -04:00
Colin Walters
df6c916808 bwrap,scripts: Add and use cleaner APIs for standard descriptors
Port away from a generic child setup function towards more standard
APIs for setting up fd streams.  Prep for oxidizing rpmostree-bwrap.cxx
because cxx-rs doesn't support passing callbacks from C++ to Rust.
2021-03-22 19:11:54 +00:00
Timothée Ravier
f186840309 docs: Update instructions to disable countme
Focus on the timer disabling and add a note for the existing libdnf
issue until it is resolved:
https://github.com/rpm-software-management/libdnf/issues/1174
2021-03-22 14:08:23 -04:00
dependabot[bot]
03ab3712ff build(deps): bump system-deps from 3.0.0 to 3.1.0
Bumps [system-deps](https://github.com/gdesmott/system-deps) from 3.0.0 to 3.1.0.
- [Release notes](https://github.com/gdesmott/system-deps/releases)
- [Commits](https://github.com/gdesmott/system-deps/compare/v3.0.0...v3.1.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-03-22 14:06:13 -04:00
dependabot[bot]
e15dba0fd8 build(deps): bump cxx-build from 1.0.32 to 1.0.33
Bumps [cxx-build](https://github.com/dtolnay/cxx) from 1.0.32 to 1.0.33.
- [Release notes](https://github.com/dtolnay/cxx/releases)
- [Commits](https://github.com/dtolnay/cxx/compare/1.0.32...1.0.33)

Signed-off-by: dependabot[bot] <support@github.com>
2021-03-22 12:58:12 -04:00
Jonathan Lebon
5d5f1d498d lockfile: Make packages optional
Now that `source-packages` is supported, we should allow a lockfile to
not specify a `packages` field at all. So make it optional.

We still require at least one of the two fields to be specified.
2021-03-22 12:57:49 -04:00
Jonathan Lebon
7979e250ee lockfile: Allow locking by source RPM EVR
Right now if we want to lock e.g. systemd, we need to specify every
subpackage of systemd that we use. This is a lot of duplication because
in the majority of cases, what we really mean is "lock at this build of
systemd".

Since RPMs bake in the source RPM they were built from, we can use this
to lock packages more succinctly. See the testcase and #2676 for
examples of how this looks.

Closes: https://github.com/coreos/rpm-ostree/issues/2676
2021-03-22 12:57:49 -04:00
Jonathan Lebon
c55037c3fd
Merge pull request #2683 from coreos/dependabot/cargo/libc-0.2.90
build(deps): bump libc from 0.2.88 to 0.2.90
2021-03-22 12:55:42 -04:00
Jonathan Lebon
4a9dc21d0e
Merge pull request #2679 from cgwalters/more-ostree-sys 2021-03-22 12:18:01 -04:00
Jonathan Lebon
9dee0962a1
Merge pull request #2685 from cgwalters/bwrap-rs-prep
kernel: Avoid using bwrap child setup
2021-03-22 12:15:31 -04:00
Jonathan Lebon
515ef9acf8
Merge pull request #2686 from cgwalters/more-postprocess-rs-4
postprocess: Migrate `mutate-os-release` to Rust
2021-03-22 12:09:32 -04:00