cdf2c47b46
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.
53 lines
1.3 KiB
TOML
53 lines
1.3 KiB
TOML
[package]
|
|
name = "rpmostree-rust"
|
|
version = "0.1.0"
|
|
authors = ["Colin Walters <walters@verbum.org>", "Jonathan Lebon <jonathan@jlebon.com>"]
|
|
edition = "2018"
|
|
|
|
[dependencies]
|
|
anyhow = "1.0"
|
|
serde = "1.0.115"
|
|
serde_derive = "1.0.115"
|
|
serde_json = "1.0"
|
|
serde_yaml = "0.8"
|
|
libc = "0.2"
|
|
nix = "0.18.0"
|
|
glib-sys = "0.10.0"
|
|
glib = "0.10"
|
|
gio-sys = "0.10.0"
|
|
gio = "0.9"
|
|
ostree = { version = "0.9.0", features = ["v2020_4"] }
|
|
ostree-sys = "0.7.0"
|
|
tempfile = "3.0.3"
|
|
clap = "~2.33"
|
|
structopt = "0.3"
|
|
openat = "0.1.19"
|
|
openat-ext = "0.1.4"
|
|
curl = "0.4.33"
|
|
rayon = "1.4"
|
|
c_utf8 = "0.1.0"
|
|
rand = "0.7.3"
|
|
systemd = "0.5.0"
|
|
indicatif = "0.15.0"
|
|
lazy_static = "1.1.0"
|
|
envsubst = "0.2.0"
|
|
chrono = { version = "0.4.15", features = ["serde"] }
|
|
libdnf-sys = { path = "libdnf-sys", version = "0.1.0" }
|
|
|
|
|
|
[lib]
|
|
name = "rpmostree_rust"
|
|
path = "src/lib.rs"
|
|
crate-type = ["staticlib"]
|
|
|
|
[profile.release]
|
|
# Unwinding across FFI boundaries is undefined behavior, and anyways, we're
|
|
# [crash-only](https://en.wikipedia.org/wiki/Crash-only_software)
|
|
panic = "abort"
|
|
# We assume we're being delivered via e.g. RPM which supports split debuginfo
|
|
debug = true
|
|
# For true release builds, we do suggest you enable LTO via e.g.
|
|
# env RUSTFLAGS='-C lto=true' as part of the outer build. It's just
|
|
# off by default because it's quite slow and the default is more oriented
|
|
# towards local development.
|