podman-sequoia enables to use sequoia-pgp as an OpenPGP backend in
the podman's image signing mechanism. It consists of a C shared
library (in rust/
) and a Go binding over it (in go/
).
To build, you need rustc (version 1.63 or later), cargo, and openssl-devel.
The following steps should be taken to build the binaries locally.
$ cd rust
$ PREFIX=/usr LIBDIR="\${prefix}/lib64" \
cargo build --release
$ cd -
$ cd go/sequoia
$ CGO_CFLAGS=-I$PWD/../../rust/target/release/bindings \
CGO_LDFLAGS=-L$PWD/../../rust/target/release \
go build
$ LD_LIBRARY_PATH=$PWD/../../rust/target/release \
CGO_CFLAGS=-I$PWD/../../rust/target/release/bindings \
CGO_LDFLAGS=-L$PWD/../../rust/target/release \
go test
$ cd -
To actually make the Go sequoia module useful, the
libpodman_sequoia.so*
shared library needs to be installed on the
system.
$ sudo cp -a rust/target/release/libpodman_sequoia.so* /usr/lib64
LGPL-2.0-or-later