diff --git a/rust-bindings/rust/.gitlab-ci.yml b/rust-bindings/rust/.gitlab-ci.yml index a04e26b0..634f1cd2 100644 --- a/rust-bindings/rust/.gitlab-ci.yml +++ b/rust-bindings/rust/.gitlab-ci.yml @@ -62,11 +62,13 @@ pages: publish_libostree-sys: stage: publish script: + - make pre-package - cargo publish --verbose --manifest-path libostree-sys/Cargo.toml --token $CRATES_IO_TOKEN when: manual publish_libostree: stage: publish script: + - make pre-package - cargo publish --verbose --manifest-path libostree/Cargo.toml --token $CRATES_IO_TOKEN when: manual diff --git a/rust-bindings/rust/Makefile b/rust-bindings/rust/Makefile index 08d6e749..0ffbc173 100644 --- a/rust-bindings/rust/Makefile +++ b/rust-bindings/rust/Makefile @@ -2,11 +2,16 @@ all: generate-libostree-sys generate-libostree .PHONY: update-gir-files -# tools + +# -- cargo package helpers -- +pre-package: + cp README.md libostree/ + + +# -- gir generation -- tools/bin/gir: cargo install --root tools --git https://github.com/gtk-rs/gir.git -- gir -# gir generate gir/%: tools/bin/gir tools/bin/gir -c conf/$*.toml @@ -14,7 +19,8 @@ generate-libostree-sys: gir/libostree-sys generate-libostree: gir/libostree -# gir file management + +# -- gir file management -- update-gir-files: \ remove-gir-files \ gir-files \ diff --git a/rust-bindings/rust/README.md b/rust-bindings/rust/README.md deleted file mode 120000 index d4cabc61..00000000 --- a/rust-bindings/rust/README.md +++ /dev/null @@ -1 +0,0 @@ -libostree/README.md \ No newline at end of file diff --git a/rust-bindings/rust/README.md b/rust-bindings/rust/README.md new file mode 100644 index 00000000..6a3a40a7 --- /dev/null +++ b/rust-bindings/rust/README.md @@ -0,0 +1,39 @@ +# Rust bindings for libostree +libostree is both a shared library and suite of command line tools that combines a "git-like" model for committing and +downloading bootable filesystem trees, along with a layer for deploying them and managing the bootloader configuration. +The core OSTree model is like git in that it checksums individual files and has a content-addressed-object store. It's +unlike git in that it "checks out" the files via hardlinks, and they thus need to be immutable to prevent corruption. + +[libostree site](https://ostree.readthedocs.io) | [libostree git repo](https://github.com/ostreedev/ostree) + +This project provides [Rust](https://rust-lang.org) bindings for libostree. They are automatically generated, but rather +incomplete as of yet. + +## Setup +The `libostree` crate requires libostree and the libostree development headers. On Debian/Ubuntu, they can be installed +with: + +```ShellSession +$ sudo apt-get install libostree-1 libostree-dev +``` + +To use the crate, add it to your `Cargo.toml`: + +```toml +[dependencies] +libostree = "0.1" +``` + +To use features from later libostree versions, you need to specify the release version as well: + +```toml +[dependencies.libostree] +version = "0.1" +features = ["v2018_7"] +``` + +## License +The libostree crate is licensed under the MIT license. See the LICENSE file for details. + +libostree itself is licensed under the LGPL2+. See its [licensing information](https://ostree.readthedocs.io#licensing) +for more information. diff --git a/rust-bindings/rust/libostree/README.md b/rust-bindings/rust/libostree/README.md deleted file mode 100644 index 6a3a40a7..00000000 --- a/rust-bindings/rust/libostree/README.md +++ /dev/null @@ -1,39 +0,0 @@ -# Rust bindings for libostree -libostree is both a shared library and suite of command line tools that combines a "git-like" model for committing and -downloading bootable filesystem trees, along with a layer for deploying them and managing the bootloader configuration. -The core OSTree model is like git in that it checksums individual files and has a content-addressed-object store. It's -unlike git in that it "checks out" the files via hardlinks, and they thus need to be immutable to prevent corruption. - -[libostree site](https://ostree.readthedocs.io) | [libostree git repo](https://github.com/ostreedev/ostree) - -This project provides [Rust](https://rust-lang.org) bindings for libostree. They are automatically generated, but rather -incomplete as of yet. - -## Setup -The `libostree` crate requires libostree and the libostree development headers. On Debian/Ubuntu, they can be installed -with: - -```ShellSession -$ sudo apt-get install libostree-1 libostree-dev -``` - -To use the crate, add it to your `Cargo.toml`: - -```toml -[dependencies] -libostree = "0.1" -``` - -To use features from later libostree versions, you need to specify the release version as well: - -```toml -[dependencies.libostree] -version = "0.1" -features = ["v2018_7"] -``` - -## License -The libostree crate is licensed under the MIT license. See the LICENSE file for details. - -libostree itself is licensed under the LGPL2+. See its [licensing information](https://ostree.readthedocs.io#licensing) -for more information.