Package Details: pam-python 1.0.8-3

Git Clone URL: https://aur.archlinux.org/pam-python.git (read-only, click to copy)
Package Base: pam-python
Description: Python for PAM
Upstream URL: http://pam-python.sourceforge.net/
Licenses: GNU Affero General Public License
Submitter: kageurufu
Maintainer: zen
Last Packager: komex
Votes: 7
Popularity: 0.000000
First Submitted: 2019-10-24 16:27 (UTC)
Last Updated: 2021-08-10 08:46 (UTC)

Latest Comments

1 2 3 Next › Last »

darshkukreja commented on 2026-04-16 16:32 (UTC)

It uses Python 2 because pam-python embeds the Python interpreter via the Python C API, and the codebase was written against Python 2.

It hasn’t been updated to support Python 3, which introduced incompatible changes in the C API, so it still depends on python2.

renyuneyun commented on 2026-04-16 06:30 (UTC) (edited on 2026-04-16 06:32 (UTC) by renyuneyun)

I am the co-maintainer renyuneyun. I no longer have the time to maintain this package and am wiling to disown it now to give way to other co-maintainers if needed. I have no objection to the current orphan request. Thanks for keeping the package alive!

One question unrelated to the maintenance: why is Python 2 required?

darshkukreja commented on 2026-04-09 16:36 (UTC) (edited on 2026-04-14 14:43 (UTC) by darshkukreja)

Build fails with errors like:

implicit declaration of function ‘strdup’
implicit declaration of function ‘vsyslog’

Fix
--- PKGBUILD.original   2026-04-09 18:22:51.224512147 +0530
+++ PKGBUILD    2026-04-09 18:22:43.366730064 +0530
@@ -24,11 +24,17 @@
 prepare() {
   cd "${srcdir}/${pkgname}-${pkgver}"
   sed -i'' 's|LIBDIR ?= /lib/security|LIBDIR ?= /usr/lib/security|g' src/Makefile
-  sed -n '/^License/,/^--$/p' README.txt | grep -v -e '^License' -e '^-\+' > LICENSE
+  sed -i 's/-Werror//g' src/Makefile
+  sed -i 's/-Werror=format-security//g' src/Makefile
 }

 build() {
   cd "${srcdir}/${pkgname}-${pkgver}"
+
+  export CFLAGS+="-D_GNU_SOURCE -Wno-error"
+  export CXXFLAGS="-D_GNU_SOURCE -Wno-error"
+  export CPPFLAGS="-D_GNU_SOURCE"
+
   PREFIX=/usr make
 }

@@ -37,3 +43,4 @@
   PREFIX=/usr make DESTDIR="${pkgdir}" install
   install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
 }

Tested
  • Fresh yay -S pam-python → fails
  • Applying above fix → builds successfully

Note
  • Requires python2 (AUR)

Repo with fix

https://github.com/darsh32774/pam-python-arch-fix/tree/main

DestroyedLife commented on 2025-09-21 13:55 (UTC)

Currently fails to build:

pam_python.c: In function ‘alloc_module_path’: pam_python.c:404:12: error: implicit declaration of function ‘strdup’; did you mean ‘strcmp’? [-Wimplicit-function-declaration] 404 | return strdup(result); | ^~ | strcmp pam_python.c:404:12: error: returning ‘int’ from a function with return type ‘char ’ makes pointer from integer without a cast [-Wint-conversion] 404 | return strdup(result); | ^~ pam_python.c:413:10: error: returning ‘int’ from a function with return type ‘char ’ makes pointer from integer without a cast [-Wint-conversion] 413 | return strdup(MODULE_NAME); | ^ pam_python.c: In function ‘syslog_path_vmessage’: pam_python.c:503:3: error: implicit declaration of function ‘vsyslog’; did you mean ‘syslog’? [-Wimplicit-function-declaration] 503 | vsyslog(LOG_AUTHPRIV|LOG_ERR, message, ap); | ^ | syslog pam_python.c: In function ‘PamHandle_set_item’: pam_python.c:888:11: error: assignment to ‘char ’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion] 888 | value = strdup(value); | ^ pam_python.c: In function ‘PamHandle_set_XAUTHDATA’: pam_python.c:1638:19: error: assignment to ‘char ’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion] 1638 | xauth_data.name = strdup(name_str); | ^ pam_python.c:1657:19: error: assignment to ‘char ’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion] 1657 | xauth_data.data = strdup(data_str); | ^ pam_python.c: In function ‘load_user_module’: pam_python.c:2279:22: error: assignment to ‘char ’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion] 2279 | user_module_name = strdup(module_path); | ^ pam_python.c:2281:22: error: assignment to ‘char *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion] 2281 | user_module_name = strdup(user_module_name + 1); | ^ error: command 'gcc' failed with exit status 1 make[1]: *** [Makefile:11: pam_python.so] Error 1 make[1]: Leaving directory '/home/joe/.cache/yay/pam-python/src/pam-python-1.0.8/src' make: *** [Makefile:6: lib] Error 2

Misaka13514 commented on 2024-01-28 06:15 (UTC)

Please follow Arch Linux RFC16: use SPDX license identifier in PKGBUILD.

https://gitlab.archlinux.org/archlinux/rfcs/-/blob/master/rfcs/0016-spdx-license-identifiers.rst

wznmickey commented on 2022-11-17 03:02 (UTC)

pam-python-git works on my computer which use python3

kageurufu commented on 2022-09-26 20:16 (UTC)

This is untested, and I probably broke Python 2, but if someone wants to test it:

https://github.com/kageurufu/pam-python

EspoBP commented on 2022-09-26 19:43 (UTC)

Agreed, please make this depend on python3. Especially with the AUR python2 package failing to build on many machines, and with this being the only package on my machine which depends on python2.

iyanmv commented on 2022-09-24 11:40 (UTC)

Please make this python3 only! Arch has officially removed all python2 the repositories.

blennow commented on 2022-06-21 20:39 (UTC) (edited on 2022-06-21 20:43 (UTC) by blennow)

Found https://bugs.kde.org/show_bug.cgi?id=455608 and a commit in kscreenlocker which says it should fix it https://invent.kde.org/plasma/kscreenlocker/-/commit/1ff38e1ddbe575d4e99c0c5e9e1c01d69142f088.

Seems like it just missed 5.25.1...