Don't every allow pam module to get unloaded

The PAM module uses dbus-glib, static gobject types, etc,
so it really can't get unloaded.

This commit adds some linker-fu to keep it resident even
after the pam module closes.
This commit is contained in:
Ray Strode 2010-11-09 10:57:14 -05:00
parent bb0f7a6eb7
commit 88917d4c92
2 changed files with 26 additions and 1 deletions

17
dont-ever-unload.patch Normal file
View File

@ -0,0 +1,17 @@
Don't allow PAM module to get unloaded
It uses libraries which can't handle being unloaded very
gracefully.
diff -up fprintd-0.2.0/pam/Makefile.am.dont-ever-unload fprintd-0.2.0/pam/Makefile.am
--- fprintd-0.2.0/pam/Makefile.am.dont-ever-unload 2010-11-09 10:55:30.452135193 -0500
+++ fprintd-0.2.0/pam/Makefile.am 2010-11-09 10:55:32.954860614 -0500
@@ -5,7 +5,7 @@ pammoddir=$(libdir)/security
pam_fprintd_la_SOURCES = pam_fprintd.c $(MARSHALFILES)
pam_fprintd_la_CFLAGS = -fPIC $(WARN_CFLAGS) $(GLIB_CFLAGS)
-pam_fprintd_la_LDFLAGS = -avoid-version -module
+pam_fprintd_la_LDFLAGS = -avoid-version -module -Wl,-z,nodelete
pam_fprintd_la_LIBADD = $(PAM_LIBS) $(GLIB_LIBS)
MARSHALFILES = marshal.c marshal.h

View File

@ -1,6 +1,6 @@
Name: fprintd
Version: 0.2.0
Release: 1%{?dist}
Release: 2%{?dist}
Summary: D-Bus service for Fingerprint reader access
Group: System Environment/Daemons
@ -18,6 +18,9 @@ BuildRequires: gtk-doc
BuildRequires: intltool
BuildRequires: autoconf automake libtool
# http://bugs.freedesktop.org/show_bug.cgi?id=31503
Patch0: dont-ever-unload.patch
%description
D-Bus service to access fingerprint readers.
@ -50,6 +53,7 @@ fingerprint readers access.
%prep
%setup -q -n %{name}-%{version}
%patch0 -p1 -b .dont-ever-unload
%build
%configure --libdir=/%{_lib}/ --enable-gtk-doc --enable-pam
@ -91,6 +95,10 @@ rm -rf $RPM_BUILD_ROOT
%{_datadir}/dbus-1/interfaces/net.reactivated.Fprint.Manager.xml
%changelog
* Tue Nov 09 2010 Ray Strode <rstrode@redhat.com> 0.2.0-2
- Don't allow pam module to ever get unmapped, since that causes
crashes in dbus-glib, gobject, etc.
* Thu Aug 19 2010 Bastien Nocera <bnocera@redhat.com> 0.2.0-1
- Update to 0.2.0