diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 8f54349e..165aae46 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -54,6 +54,11 @@ jobs: run: | cargo build --manifest-path ./server/Cargo.toml --no-default-features --features openssl_crypto + - name: Install PAM headers + run: | + sudo apt-get update + sudo apt-get install -y libpam0g-dev + - name: Build PAM run: | cargo build --manifest-path ./pam/Cargo.toml @@ -124,7 +129,7 @@ jobs: - uses: actions/checkout@v7 - uses: dtolnay/rust-toolchain@stable - name: Install dependencies - run: dnf install -y git meson gcc systemd + run: dnf install -y git meson gcc systemd pam-devel - name: Build (portal) working-directory: ./portal run: meson setup ./ _build --prefix /usr && ninja -C _build diff --git a/pam/build.rs b/pam/build.rs new file mode 100644 index 00000000..38fe7627 --- /dev/null +++ b/pam/build.rs @@ -0,0 +1,11 @@ +use std::env::var_os; + +fn main() { + if var_os("DOCS_RS").is_some() { + // libpam isn't available on docs.rs, and we don't need to link + // against it to build the documentation. + return; + } + + println!("cargo::rustc-link-lib=pam"); +}