%global upstream_name pam-script %global selinux_variants mls strict targeted Name: pam_script Version: 1.1.4 Release: 8%{?dist} Summary: PAM module for executing scripts Group: Applications/System License: GPLv2 URL: http://pam-script.sourceforge.net/ Source0: http://downloads.sourceforge.net/%{upstream_name}/%{upstream_name}-%{version}.tar.gz Source1: %{name}.te Source2: %{name}.fc Source3: %{name}.if BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: pam-devel BuildRequires: checkpolicy BuildRequires: selinux-policy-devel BuildRequires: /usr/share/selinux/devel/policyhelp Requires: pam %if "%{selinux_policyver}" != "" Requires: selinux-policy >= %{selinux_policyver} %endif Requires: policycoreutils Requires: policycoreutils-python %description pam_script is a module which allows to execute scripts after opening and/or closing a session using PAM. %prep %setup -q -n %{upstream_name}-%{version} cp etc/README etc/README.module_types mkdir SELinux cp -p %{SOURCE1} %{SOURCE2} %{SOURCE3} SELinux %build %configure --libdir=/%{_lib}/security make %{?_smp_mflags} cd SELinux for selinuxvariant in %{selinux_variants} do make NAME=${selinuxvariant} -f /usr/share/selinux/devel/Makefile mv %{name}.pp %{name}.pp.${selinuxvariant} make NAME=${selinuxvariant} -f /usr/share/selinux/devel/Makefile clean done cd - %install rm -rf %{buildroot} make install DESTDIR=%{buildroot} rm %{buildroot}%{_sysconfdir}/README for selinuxvariant in %{selinux_variants} do install -d %{buildroot}%{_datadir}/selinux/${selinuxvariant} install -p -m 644 SELinux/%{name}.pp.${selinuxvariant} \ %{buildroot}%{_datadir}/selinux/${selinuxvariant}/%{name}.pp done %post for selinuxvariant in %{selinux_variants} do /usr/sbin/semodule -s ${selinuxvariant} -i \ %{_datadir}/selinux/${selinuxvariant}/%{name}.pp &> /dev/null || : done %postun if [ $1 -eq 0 ] ; then for selinuxvariant in %{selinux_variants} do /usr/sbin/semodule -s ${selinuxvariant} -r %{name} &> /dev/null || : done fi %posttrans # apply new SELinux file context restorecon "%{_sysconfdir}/pam_script*" restorecon "%{_sysconfdir}/pam-script.d/*" %files %doc AUTHORS COPYING ChangeLog README NEWS etc/README.module_types etc/README.pam_script SELinux/* %dir %{_sysconfdir}/pam-script.d/ %{_sysconfdir}/pam_script* /%{_lib}/security/* %{_mandir}/man7/%{upstream_name}.7* %{_datadir}/selinux/*/%{name}.pp %changelog * Thu May 12 2011 Marcus Moeller 1.1.4-8 - corrected module name * Wed May 11 2011 Marcus Moeller 1.1.4-7 - fixed post script * Tue Aug 17 2010 Marcus Moeller 1.1.4-6 - added SELinux policy sources * Tue Aug 17 2010 Marcus Moeller 1.1.4-5 - added selinux-policy-targeted requirement * Tue Aug 17 2010 Marcus Moeller 1.1.4-4 - added policycoreutils requires * Tue Aug 17 2010 Marcus Moeller 1.1.4-3 - added SELinux settings * Mon Aug 16 2010 Marcus Moeller 1.1.4-2 - added pam_script README * Mon Aug 12 2010 Marcus Moeller 1.1.4-1 - Initial Build