Commit Graph

3782 Commits

Author SHA1 Message Date
Colin Walters
92c79dc647 core: Fix the "is_system" variable
The intention here was to distinguish between server composes
and client side layering.  But that doesn't work today because
we we call`_new_system()`; probably a result of refactoring.
Doesn't matter too much because we only checked it to
throw an error if we failed to load the policy.

And now add a check for `is_system` instead of checking whether
a treefile is present.

This is prep for converting the origin to a treefile and
using that as our standard format.
2021-04-10 14:21:52 +00:00
Benjamin Gilbert
2388be6dcb docs: fix "Edit this page on GitHub" links 2021-04-09 22:55:16 -04:00
Luca Bruno
ff617e56eb
Merge pull request #2734 from stefanberger/stefanberger/fix_memory_leak
libpriv: Remove unnecessary builder causing memory leak
2021-04-09 13:09:16 +00:00
Luca Bruno
de7574f764
Merge pull request #2732 from cgwalters/postprocess-rs-more
Oxidize more of postprocess.cxx
2021-04-09 12:47:35 +00:00
Stefan Berger
c1a869666a libpriv: Remove unnecessary builder causing memory leak
Remove the unnecessary builder causing memory leaks like this one:

Direct leak of 8 byte(s) in 1 object(s) allocated from:
    #0 0x7f60bd2fe3cf in __interceptor_malloc (/lib64/libasan.so.6+0xab3cf)
    #1 0x7f60bca6cbb8 in g_malloc (/lib64/libglib-2.0.so.0+0x5bbb8)
    #2 0x7f60bcaa54f2 in g_variant_type_copy (/lib64/libglib-2.0.so.0+0x944f2)
    #3 0x7f60bcaa3384 in g_variant_builder_init (/lib64/libglib-2.0.so.0+0x92384)
    #4 0x55e5bb3120d3 in filter_xattrs_cb src/libpriv/rpmostree-postprocess.cxx:1493
    #5 0x7f60bc89cb38  (/lib64/libostree-1.so.1+0x49b38)
    #6 0x7f60bc8a5e1a  (/lib64/libostree-1.so.1+0x52e1a)
    #7 0x7f60bc8a622b in ostree_repo_write_dfd_to_mtree (/lib64/libostree-1.so.1+0x5322b)
    #8 0x55e5bb307e6e in write_dfd_thread src/libpriv/rpmostree-postprocess.cxx:1551
    #9 0x7f60bca92401  (/lib64/libglib-2.0.so.0+0x81401)
    #10 0x7f60bc12d3f8 in start_thread (/lib64/libpthread.so.0+0x93f8)
    #11 0x7f60bc05ab52 in __GI___clone (/lib64/libc.so.6+0x101b52)

Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2021-04-09 08:02:38 -04:00
Jonathan Lebon
9af4e8256f
Merge pull request #2733 from cgwalters/client-check-container
client: Provide more useful error if we're in a container
2021-04-08 15:59:29 -04:00
Colin Walters
2407b9850f client: Provide more useful error if we're in a container
Let's make this more obvious - in particular today I ran
a command in the wrong terminal and the error made me pause
for a second.
2021-04-08 18:33:38 +00:00
Colin Walters
66c764fb38 Oxidize more of postprocess.cxx
Figuring out that we can't `fchmod()` on an `O_PATH` descriptor
took me a while =(

As part of that I discovered the `nix` crate grew a `Dir`
abstraction too.  But I think we still probably want to be using
https://docs.rs/cap-std/0.13.7/cap_std/fs/index.html
2021-04-08 16:33:47 +00:00
Luca Bruno
5725eb023a
Merge pull request #2730 from cgwalters/client-methods
rust/client: Make status be a method
2021-04-08 13:31:30 +00:00
Luca Bruno
05c1e160d3
Merge pull request #2731 from cgwalters/remove-test-introspection
tests: Stop running test-lib-introspection.sh
2021-04-08 09:28:16 +00:00
Colin Walters
1541ed4312 tests: Stop running test-lib-introspection.sh
Even more fallout of the buildroot change to stop deriving from
cosa.  The new buildroot doesn't have `pygobject3`.

We could convert this to an installed test but...blah.
Not worth it.
2021-04-07 22:11:56 +00:00
Colin Walters
182cae05d6 rust/client: Make status be a method
In trying to use the API in ostree's tests, this feels like an obvious
change.
2021-04-07 18:56:59 +00:00
Jonathan Lebon
45a59fc7f8
Merge pull request #2698 from cgwalters/prow-ci-buildroot
ci/prow: Update to use new buildroot image
2021-04-07 13:14:00 -04:00
Jonathan Lebon
cb99db232f
Merge pull request #2725 from coreos/dependabot/cargo/cxx-build-1.0.42
build(deps): bump cxx-build from 1.0.41 to 1.0.42
2021-04-07 13:00:38 -04:00
Colin Walters
4daed91a7a ci/prow: Update to use new buildroot image
Matching CCI.
2021-04-07 16:08:31 +00:00
Luca Bruno
bc1e596014
Merge pull request #2727 from cgwalters/composepost-cleanup
postprocess: Move more code into Rust
2021-04-07 14:38:51 +00:00
Luca Bruno
78f3e794f7
Merge pull request #2718 from coreos/dependabot/cargo/ostree-sys-0.7.2
build(deps): bump ostree-sys from 0.7.1 to 0.7.2
2021-04-07 13:22:19 +00:00
Colin Walters
46728cfd99 postprocess: Move more code into Rust
Previously we carefully ported functionality bit by bit here.
Now take the last step and move it all in to Rust.

A reason I didn't do this in one go before is around the
incredibly twisted handling of the `/etc` vs `/usr/etc`.

I think longer term we should aim to basically have all
of our code keep it as `/etc` up until the very end.  For
now we just do a rename dance around some of the add/remove
files code.
2021-04-07 11:32:40 +00:00
Colin Walters
86f9612395 composeutil: Clarify which dev failed to create 2021-04-07 11:32:08 +00:00
Jonathan Lebon
4624c3bdf8 app/db: Add db diff --advisories
This will be used by at least coreos-assembler to store in `meta.json`
so it's easy to tell new advisories that appeared in a given build.
2021-04-06 17:04:51 -04:00
Jonathan Lebon
136a3ea7e9 app/db: Add db list --advisories
This makes it easy to see the advisories stored in commit metadata.
2021-04-06 17:04:51 -04:00
Jonathan Lebon
427fe683a8 compose: Bake advisory information into commit metadata
There are a lot of use cases for this, notably:
- This allows us to display advisories without fetching updateinfo
  metadata in the pure OSTree case.
- It allows pipelines to fetch and display this information to
  sanity-check builds.
- It makes it much easier to fix the "intermediate CVEs" issue described
  in https://github.com/coreos/rpm-ostree/issues/1696#issuecomment-443861107.

This patch just adds the advisory information to the commit metadata.
There's follow-up work to make the client-side of rpm-ostree use this
data.

Also, remove the newly added metadata from the output of `rpm-ostree
status --json` for the same reason we remove the rpmdb. A follow-up
patch will teach `rpm-ostree db list/diff` to output advisories.

Closes: #1696
2021-04-06 17:04:51 -04:00
dependabot[bot]
23e53bc492
build(deps): bump ostree-sys from 0.7.1 to 0.7.2
Bumps [ostree-sys](https://gitlab.com/fkrull/ostree-rs) from 0.7.1 to 0.7.2.
- [Release notes](https://gitlab.com/fkrull/ostree-rs/tags)
- [Commits](https://gitlab.com/fkrull/ostree-rs/compare/ostree-sys/0.7.1...ostree-sys/0.7.2)

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-06 16:57:21 +00:00
Luca BRUNO
17d80dc566 passwd: aling all bridge functions to return CxxResult
This updates all bridged functions in order to return CxxResult in
a uniform way.
2021-04-05 13:44:44 -04:00
Luca BRUNO
d922f46bfd libpriv/json-parsing: remove dead code
This removes some JSON-handling helper methods which are not used
anymore. All the consumers have been moved to directly use the
treefile logic in Rust in the meanwhile.
2021-04-05 13:43:58 -04:00
Jonathan Lebon
b7a27e2328 app/clientlib: Support printing advisories without padding 2021-04-05 13:31:25 -04:00
Jonathan Lebon
4185178be7 app/clientlib: Make function for printing advisories public
We'll use this in a future patch.
2021-04-05 13:31:25 -04:00
Jonathan Lebon
6df0efb0c6 libpriv/util: Add g_variant_byteswap helpers
Will use these in a future patch.
2021-04-05 13:31:25 -04:00
Jonathan Lebon
4c5436e666 daemon: Move advisory GVariant generation to libpriv
Prep for future patch.
2021-04-05 13:31:25 -04:00
Jonathan Lebon
6077dcfae3 rust/treefile: Drop unnecessary semi-colons
Latest compiler really wants me to remove these.
2021-04-05 13:31:25 -04:00
dependabot[bot]
775dd832a5
build(deps): bump cxx-build from 1.0.41 to 1.0.42
Bumps [cxx-build](https://github.com/dtolnay/cxx) from 1.0.41 to 1.0.42.
- [Release notes](https://github.com/dtolnay/cxx/releases)
- [Commits](https://github.com/dtolnay/cxx/compare/1.0.41...1.0.42)

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-05 06:57:50 +00:00
Luca Bruno
689405d5ee
Merge pull request #2720 from coreos/dependabot/cargo/libc-0.2.92
build(deps): bump libc from 0.2.90 to 0.2.92
2021-04-01 12:45:44 +00:00
dependabot[bot]
857cb973ce
build(deps): bump libc from 0.2.90 to 0.2.92
Bumps [libc](https://github.com/rust-lang/libc) from 0.2.90 to 0.2.92.
- [Release notes](https://github.com/rust-lang/libc/releases)
- [Commits](https://github.com/rust-lang/libc/compare/0.2.90...0.2.92)

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-01 11:30:39 +00:00
Jonathan Lebon
9264cb570f
Merge pull request #2701 from coreos/dependabot/submodules/libdnf-31a8b8b
build(deps): bump libdnf from `5d45a79` to `31a8b8b`
2021-04-01 07:30:29 -04:00
Luca Bruno
2de93143c5
Merge pull request #2717 from coreos/dependabot/cargo/serde-1.0.125
build(deps): bump serde from 1.0.124 to 1.0.125
2021-04-01 10:29:10 +00:00
dependabot[bot]
89f6572f69
build(deps): bump serde from 1.0.124 to 1.0.125
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.124 to 1.0.125.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.124...v1.0.125)

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-01 09:36:23 +00:00
Luca Bruno
203a56b73c
Merge pull request #2707 from coreos/dependabot/cargo/system-deps-3.1.1
build(deps): bump system-deps from 3.1.0 to 3.1.1
2021-04-01 09:35:02 +00:00
dependabot[bot]
70f934a6ad
build(deps): bump system-deps from 3.1.0 to 3.1.1
Bumps [system-deps](https://github.com/gdesmott/system-deps) from 3.1.0 to 3.1.1.
- [Release notes](https://github.com/gdesmott/system-deps/releases)
- [Commits](https://github.com/gdesmott/system-deps/compare/v3.1.0...v3.1.1)

Signed-off-by: dependabot[bot] <support@github.com>
2021-03-31 20:44:51 +00:00
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