-
Notifications
You must be signed in to change notification settings - Fork 20
Install
It's recommended to install by using one of the packages, depending on your Distribution. By doing so you get the usual benefits of apt/rpm/pacman and can easily uninstall later.
For Debian you also get a working config out-of-box if you have connected the device you want to use before installing. It will integrate the PAM module into your current PAM setup by utilizing pam-auth-update
from libpam-runtime. Though this only allows you to configure a single user. If you want to configure additional users run pamusb-conf --add-user=<username>
after installing.
For Fedora and Arch you will have to manually configure pamusb since there is nothing like debconf in rpm, and no autoconfig for Arch yet (see https://github.com/mcdope/pam_usb/discussions/135).
There is an APT repository with prebuilt deb packages available. You can find it at https://apt.mcdope.org/.
Arch users can choose between two different AUR packages - pam_usb (for the latest release version) and pam_usb-git (for "built from master branch" version).
Fedora users need to build their own RPM. I won't provide a repository since I couldn't properly test it myself because I use only deb based distributions.
Additionally there are automatic deb/rpm/zst nightly builds available at https://github.com/mcdope/pam_usb/releases/tag/nightly.
Before proceeding, make sure all dependencies are installed:
- libxml2-dev
- libpam0g-dev
- libudisks2-dev
- libglib2.0-dev
- gir1.2-udisks-2.0
- python3
- python3-gi
... for copy 'n paste comfort: sudo apt install libxml2-dev libpam0g-dev libudisks2-dev libglib2.0-dev gir1.2-udisks-2.0 python3 python3-gi
- libxml2-devel
- pam-devel
- libudisks2-devel
- glib2-devel
- python3-gobject
... for copy 'n paste comfort: sudo dnf install libxml2-devel pam-devel libudisks2-devel glib2-devel python3-gobject
- pkgconf
- gcc
- make
- patch
- pam
- dbus
- python
- python-dbus
- python-lxml
- python-gobject
- udisks2
- base-devel
- pacman-contrib
... for copy 'n paste comfort: sudo pacman -S pkgconf gcc make patch pam dbus python python-dbus python-lxml python-gobject udisks2 base-devel pacman-contrib
(Note: these are most likely even a bit too much, not familiar with Arch)
$ make
# sudo make install
When compiling from source you won't get the auto-config of the debian package. See Getting started or Configuration to configure your setup.
Packaging is done in Docker containers so you will have to set Docker up first. Also make sure your user is allowed to start containers without root privileges. See other sources for how to do this - it would be too much for this Wiki.
Run make build-debian
. Afterwards you will find the created deb package in the .build
directory.
This requires only Docker since everything will be done in the container. You could also run make deb
to build the package locally, but you will have to work out the dependencies yourself then.
Run make build-fedora
. Afterwards you will find the created rpm package in the .build
directory.
This requires only Docker since everything will be done in the container. You could also run make rpm
to build the package locally, but you will have to work out the dependencies yourself then.
Run make build-arch
. Afterwards you will find the created zst package in the .build
directory.
This requires only Docker since everything will be done in the container. You could also run make zst
to build the package locally, but you will have to work out the dependencies yourself then.