Mercurial > crates > nonstick
comparison libpam-sys/libpam-sys-consts/README.md @ 160:09dff285ff5e
Switch default PAM detection strategy to target-based.
To make cross-compilation easier (like for docs.rs), this change
makes OS-based detection of PAM the default, only falling back
to probing the actual installed PAM as a last resort.
I haven't been able to find a Linux distribution that uses
anything but Linux-PAM.
| author | Paul Fisher <paul@pfish.zone> |
|---|---|
| date | Sun, 13 Jul 2025 15:38:00 -0400 |
| parents | d5b7b28d754e |
| children | e9354e655f38 |
comparison
equal
deleted
inserted
replaced
| 159:634cd5f2ac8b | 160:09dff285ff5e |
|---|---|
| 51 | 51 |
| 52 Known implementations of PAM are listed in the `PamImpl` enum, and your currently installed implementation is automatically detected. | 52 Known implementations of PAM are listed in the `PamImpl` enum, and your currently installed implementation is automatically detected. |
| 53 | 53 |
| 54 If you need to configure this, you can override it **at build time** with the `LIBPAMSYS_IMPL` environment variable: | 54 If you need to configure this, you can override it **at build time** with the `LIBPAMSYS_IMPL` environment variable: |
| 55 | 55 |
| 56 - Unset or `` (the default): Probe the currently installed LibPAM to figure out which implementation it is. | 56 - Unset or empty (the default): Use the version of PAM most commonly found on the target OS. |
| 57 If LibPAM is not present, this will fall back to `__TARGET_DEFAULT__`. | 57 If we don't know what kind of PAM is usually installed on this OS, we fall back to `__installed__`. |
| 58 - `__TARGET_DEFAULT__`: Select the version of LibPAM most likely to be installed on the current OS. | 58 - `__installed__`: Looks at the PAM library installed on the current machine. |
| 59 This is a useful setting for cross-compiling. | 59 If none is recognized, falls back to `XSso`. |
| 60 - The name of a `PamEnum` entry: The named PAM implementation. | 60 - The name of a `PamEnum` entry: The named PAM implementation. |
| 61 For instance, `LIBPAMSYS_IMPL=OpenPam cargo build` will build this library for OpenPAM. | 61 For instance, `LIBPAMSYS_IMPL=OpenPam cargo build` will build this library for OpenPAM. |
| 62 | 62 |
| 63 ## MSRV | 63 ## MSRV |
| 64 | 64 |
