File 75151df21a19e7182c09ae0118379fae890bdf5b.patch of Package google-authenticator-libpam
commit 75151df21a19e7182c09ae0118379fae890bdf5b
Author: Johannes Segitz <jsegitz@suse.de>
Date: Mon Nov 10 17:34:57 2025 +0100
Detect and use libselinux if available
diff --git a/Makefile.am b/Makefile.am
index 18359f7..911d146 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -12,7 +12,7 @@ pam_LTLIBRARIES = pam_google_authenticator.la
dist_doc_DATA = FILEFORMAT README.md
dist_html_DATA = totp.html
-MODULES_LDFLAGS = -avoid-version -module -shared -export-dynamic -lselinux
+MODULES_LDFLAGS = -avoid-version -module -shared -export-dynamic $(SELINUX_LIBS)
CORE_SRC = src/util.h src/util.c
CORE_SRC += src/base32.h src/base32.c
diff --git a/configure.ac b/configure.ac
index 881b00b..e4b2839 100644
--- a/configure.ac
+++ b/configure.ac
@@ -72,6 +72,30 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
AC_LANG_POP(C)
+# SELinux support (optional)
+AC_ARG_ENABLE([selinux],
+ AS_HELP_STRING([--disable-selinux], [Disable SELinux support]),
+ [enable_selinux=$enableval],
+ [enable_selinux=auto])
+
+SELINUX_LIBS=""
+have_selinux=no
+
+if test "x$enable_selinux" != "xno"; then
+ PKG_CHECK_MODULES([SELINUX], [libselinux], [
+ have_selinux=yes
+ SELINUX_LIBS="-lselinux"
+ AC_DEFINE([HAVE_SELINUX], [1], [Define if SELinux is available])
+ ], [
+ if test "x$enable_selinux" = "xyes"; then
+ AC_MSG_ERROR([SELinux support requested but libselinux not found])
+ fi
+ have_selinux=no
+ ])
+fi
+
+AC_SUBST([SELINUX_LIBS])
+AM_CONDITIONAL([HAVE_SELINUX], [test "x$have_selinux" = "xyes"])
AC_SEARCH_LIBS([dlopen], [dl])