Projects
home:pandora:RobinOS23
pam
_service:download_src_package:pam.spec
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File _service:download_src_package:pam.spec of Package pam
%define anolis_release 5 %global soname_version 0 Name: pam Version: 1.5.2 Release: %{anolis_release}%{?dist} Summary: A Security Interface for Applications in Authentication activities License: GPL-2.0-or-later OR BSD-3-Clause Group: System/Libraries URL: http://www.linux-pam.org/ Source0: Linux-PAM-%{version}.tar.xz Source1: Linux-PAM-%{version}.tar.xz.asc Source2: Linux-PAM-%{version}-docs.tar.xz Source3: Linux-PAM-%{version}-docs.tar.xz.asc Source4: gpl-2.0.txt Source5: macros.%{name} #config files Source200: other.pamd Source201: config-util.pamd Source202: pam-anolis.conf #Manpages Source100: system-auth.5 Source101: config-util.5 Source102: postlogin.5 Patch1: 0001-use-gdbm-instead-of-libdb.patch BuildRequires: audit-libs-devel BuildRequires: autoconf BuildRequires: automake BuildRequires: bison BuildRequires: flex BuildRequires: gcc BuildRequires: gettext-devel BuildRequires: libeconf-devel BuildRequires: libnsl2-devel BuildRequires: libtirpc-devel BuildRequires: libtool BuildRequires: libxcrypt-devel BuildRequires: make BuildRequires: openssl-devel BuildRequires: perl-interpreter BuildRequires: pkgconfig BuildRequires: sed BuildRequires: systemd BuildRequires: xz BuildRequires: libselinux-devel BuildRequires: gdbm-devel Requires: libpwquality%{?_isa} Requires: setup Requires: authselect >= 1.3 Requires: pam-libs%{?_isa} = %{version}-%{release} Recommends: pam-manpages Recommends: login_defs-support-for-pam >= 1.5.2 %description Linux Pluggable Authentication Modules (PAM) is a suite of libraries that allows a Linux system administrator to configure methods to authenticate users. It provides a flexible and centralized way to switch authentication methods for secured applications by using configuration files instead of changing application code. There are Linux PAM libraries allowing authentication using methods such as local passwords, LDAP, or fingerprint readers. %package devel Summary: Header Files and Libraries for PAM application/shared library development Group: Development/Libraties/C and C++ Requires: glibc-devel Requires: pam-libs%{?_isa} = %{version}-%{release} %description devel PAM (Pluggable Authentication Modules) is a system security tool that allows system administrators to set authentication policy without having to recompile programs which do authentication. %package doc Summary: Extra documentation for PAM. Requires: pam = %{version}-%{release} Obsoletes: pam-docs < 1.5.2-6 Provides: pam-docs = %{version}-%{release} BuildArch: noarch BuildRequires: docbook-dtds BuildRequires: docbook-style-xsl BuildRequires: elinks BuildRequires: libxslt BuildRequires: linuxdoc-tools %description doc PAM (Pluggable Authentication Modules) is a system security tool that allows system administrators to set authentication policy without having to recompile programs that handle authentication. The pam-doc contains extra documentation for PAM. Currently, this includes additional documentation in txt and html format. %package libs Summary: Shared libraries of the PAM package # Make sure that if we don't try to upgrade -libs but not the # main pam package and get file conflicts: Conflicts: pam < 1.5.2 %description libs PAM (Pluggable Authentication Modules) is a system security tool that allows system administrators to set authentication policy without having to recompile programs that handle authentication. The pam-libs contains the shared libraries for PAM. %prep %setup -q -n Linux-PAM-%{version} -a 2 perl -pi -e "s/ppc64-\*/ppc64-\* \| ppc64p7-\*/" build-aux/config.sub perl -pi -e "s/\/lib \/usr\/lib/\/lib \/usr\/lib \/lib64 \/usr\/lib64/" m4/libtool.m4 #Add GPL license cp %{SOURCE4} . %patch1 -p1 %build autoreconf -i %configure \ --libdir=%{_pam_libdir} \ --includedir=%{_includedir}/security \ --disable-rpath \ --disable-static \ --disable-prelude \ --enable-audit \ --enable-openssl \ --enable-selinux \ --enable-vendordir=%{_datadir} %make_build -C po update-gmo %make_build %install mkdir -p doc/txts for readme in modules/pam_*/README ; do cp -f ${readme} doc/txts/README.`dirname ${readme} | sed -e 's|^modules/||'` done # Install the macros file install -D -m 644 %{SOURCE5} %{buildroot}%{_rpmconfigdir}/macros.d/macros.%{name} # Install the binaries, libraries, and modules. %make_install LDCONFIG=: # Temporary compat link ln -sf pam_sepermit.so %{buildroot}%{_pam_moduledir}/pam_selinux_permit.so # RPM uses docs from source tree rm -rf %{buildroot}%{_datadir}/doc/Linux-PAM # Included in setup package rm -f %{buildroot}%{_sysconfdir}/environment # Install default configuration files. install -d -m 755 %{buildroot}%{_pam_confdir} install -d -m 755 %{buildroot}%{_pam_vendordir} install -d -m 755 %{buildroot}/var/log install -d -m 755 %{buildroot}/var/run/faillock install -m 600 /dev/null %{buildroot}%{_pam_secconfdir}/opasswd install -m 644 %{SOURCE201} %{buildroot}%{_pam_confdir}/config-util install -m 644 %{SOURCE200} %{buildroot}%{_pam_confdir}/other # Install man pages. install -m 644 %{SOURCE100} %{SOURCE101} %{SOURCE102} %{buildroot}%{_mandir}/man5/ ln -sf system-auth.5 %{buildroot}%{_mandir}/man5/password-auth.5 ln -sf system-auth.5 %{buildroot}%{_mandir}/man5/fingerprint-auth.5 ln -sf system-auth.5 %{buildroot}%{_mandir}/man5/smartcard-auth.5 for phase in auth acct passwd session ; do ln -sf pam_unix.so %{buildroot}%{_pam_moduledir}/pam_unix_${phase}.so done # Remove .la files and make new .so links -- this depends on the value # of _libdir not changing, and *not* being /usr/lib. for lib in libpam libpamc libpam_misc ; do rm -f %{buildroot}%{_pam_libdir}/${lib}.la done rm -f %{buildroot}%{_pam_moduledir}/*.la %if "%{_pam_libdir}" != "%{_libdir}" install -d -m 755 %{buildroot}%{_libdir} for lib in libpam libpamc libpam_misc ; do pushd %{buildroot}%{_libdir} ln -sf %{_pam_libdir}/${lib}.so.*.* ${lib}.so popd rm -f %{buildroot}%{_pam_libdir}/${lib}.so done %endif # Duplicate doc file sets. rm -fr %{buildroot}/usr/share/doc/pam # Install the file for autocreation of /var/run subdirectories on boot install -m644 -D %{SOURCE202} %{buildroot}%{_prefix}/lib/tmpfiles.d/pam.conf # Install systemd unit file. install -m644 -D modules/pam_namespace/pam_namespace.service \ %{buildroot}%{_unitdir}/pam_namespace.service # Install doc files to unified location. install -d -m 755 %{buildroot}%{_pkgdocdir}/{adg/html,mwg/html,sag/html,txts} install -p -m 644 doc/specs/rfc86.0.txt %{buildroot}%{_pkgdocdir} install -p -m 644 doc/txts/* %{buildroot}%{_pkgdocdir}/txts for i in adg mwg sag; do install -p -m 644 doc/$i/*.txt %{buildroot}%{_pkgdocdir}/$i cp -pr doc/$i/html/* %{buildroot}%{_pkgdocdir}/$i/html done find %{buildroot}%{_pkgdocdir} -type d | xargs chmod 755 find %{buildroot}%{_pkgdocdir} -type f | xargs chmod 644 %find_lang Linux-PAM %generate_compatibility_deps %check # Make sure every module subdirectory gave us a module. Yes, this is hackish. for dir in modules/pam_* ; do if [ -d ${dir} ] ; then [ ${dir} = "modules/pam_selinux" ] && continue [ ${dir} = "modules/pam_sepermit" ] && continue [ ${dir} = "modules/pam_tty_audit" ] && continue if ! ls -1 %{buildroot}%{_pam_moduledir}/`basename ${dir}`*.so ; then echo ERROR `basename ${dir}` did not build a module. exit 1 fi fi done %files -f Linux-PAM.lang %license Copyright %license gpl-2.0.txt %attr(0700,root,root) %{_sbindir}/unix_update %attr(0755,root,root) %{_sbindir}/mkhomedir_helper %attr(0755,root,root) %{_sbindir}/pwhistory_helper %attr(4755,root,root) %{_sbindir}/pam_timestamp_check %attr(4755,root,root) %{_sbindir}/unix_chkpwd %{abidir}/unix_update-option.list %{abidir}/mkhomedir_helper-option.list %{abidir}/pwhistory_helper-option.list %{abidir}/pam_timestamp_check-option.list %{abidir}/unix_chkpwd-option.list %attr(755,root,root) %config(noreplace) %{_pam_secconfdir}/namespace.init %config(noreplace) %{_pam_confdir}/config-util %config(noreplace) %{_pam_confdir}/other %config(noreplace) %{_pam_secconfdir}/access.conf %config(noreplace) %{_pam_secconfdir}/faillock.conf %config(noreplace) %{_pam_secconfdir}/group.conf %config(noreplace) %{_pam_secconfdir}/limits.conf %config(noreplace) %{_pam_secconfdir}/namespace.conf %config(noreplace) %{_pam_secconfdir}/opasswd %config(noreplace) %{_pam_secconfdir}/pam_env.conf %config(noreplace) %{_pam_secconfdir}/sepermit.conf %config(noreplace) %{_pam_secconfdir}/time.conf %dir %{_pam_confdir} %dir %{_pam_moduledir} %dir %{_pam_secconfdir} %dir %{_pam_secconfdir}/limits.d %dir %{_pam_secconfdir}/namespace.d %dir %{_pam_vendordir} %dir /var/run/faillock %dir /var/run/sepermit %{_mandir}/man5/* %{_mandir}/man8/* %{_pam_moduledir}/pam_access.so %{_pam_moduledir}/pam_debug.so %{_pam_moduledir}/pam_deny.so %{_pam_moduledir}/pam_echo.so %{_pam_moduledir}/pam_env.so %{_pam_moduledir}/pam_exec.so %{_pam_moduledir}/pam_faildelay.so %{_pam_moduledir}/pam_faillock.so %{_pam_moduledir}/pam_filter %{_pam_moduledir}/pam_filter.so %{_pam_moduledir}/pam_ftp.so %{_pam_moduledir}/pam_group.so %{_pam_moduledir}/pam_issue.so %{_pam_moduledir}/pam_keyinit.so %{_pam_moduledir}/pam_lastlog.so %{_pam_moduledir}/pam_limits.so %{_pam_moduledir}/pam_listfile.so %{_pam_moduledir}/pam_localuser.so %{_pam_moduledir}/pam_loginuid.so %{_pam_moduledir}/pam_mail.so %{_pam_moduledir}/pam_mkhomedir.so %{_pam_moduledir}/pam_motd.so %{_pam_moduledir}/pam_namespace.so %{_pam_moduledir}/pam_nologin.so %{_pam_moduledir}/pam_permit.so %{_pam_moduledir}/pam_pwhistory.so %{_pam_moduledir}/pam_rhosts.so %{_pam_moduledir}/pam_rootok.so %{_pam_moduledir}/pam_securetty.so %{_pam_moduledir}/pam_selinux.so %{_pam_moduledir}/pam_selinux_permit.so %{_pam_moduledir}/pam_sepermit.so %{_pam_moduledir}/pam_setquota.so %{_pam_moduledir}/pam_shells.so %{_pam_moduledir}/pam_stress.so %{_pam_moduledir}/pam_succeed_if.so %{_pam_moduledir}/pam_time.so %{_pam_moduledir}/pam_timestamp.so %{_pam_moduledir}/pam_tty_audit.so %{_pam_moduledir}/pam_umask.so %{_pam_moduledir}/pam_unix.so %{_pam_moduledir}/pam_unix_acct.so %{_pam_moduledir}/pam_unix_auth.so %{_pam_moduledir}/pam_unix_passwd.so %{_pam_moduledir}/pam_unix_session.so %{_pam_moduledir}/pam_userdb.so %{_pam_moduledir}/pam_usertype.so %{_pam_moduledir}/pam_warn.so %{_pam_moduledir}/pam_wheel.so %{_pam_moduledir}/pam_xauth.so %{_prefix}/lib/tmpfiles.d/pam.conf %{_rpmconfigdir}/macros.d/macros.%{name} %{_sbindir}/faillock %{_sbindir}/pam_namespace_helper %{_unitdir}/pam_namespace.service %{abidir}/faillock-option.list %{abidir}/pam_namespace_helper-option.list %files devel %dir %{_pkgdocdir} %doc %{_pkgdocdir}/rfc86.0.txt %{_includedir}/security %{_libdir}/libpam.so %{_libdir}/libpam_misc.so %{_libdir}/libpamc.so %{_libdir}/pkgconfig/pam.pc %{_libdir}/pkgconfig/pam_misc.pc %{_libdir}/pkgconfig/pamc.pc %{_mandir}/man3/* %files doc %doc %{_pkgdocdir} %files libs %dir %{abidir} %license Copyright %license gpl-2.0.txt %{_pam_libdir}/libpam.so.%{soname_version}* %{_pam_libdir}/libpamc.so.%{soname_version}* %{_pam_libdir}/libpam_misc.so.%{soname_version}* %{abidir}/libpam*.dump %{abidir}/pam_*.dump %changelog * Mon Oct 17 2022 mgb01105731 <mgb01105731@alibaba-inc.com> - 1.5.2-5 - optimise spec file * Tue Mar 22 2022 Chunmei Xu <xuchunmei@linux.alibaba.com> - 1.5.2-4 - remove dependency of libdb and remove unknown macros * Mon Mar 21 2022 Chunmei Xu <xuchunmei@linux.alibaba.com> - 1.5.2-3 - optimise conflicts version * Wed Mar 9 2022 James Wang <wjn740@163.com> - 1.5.2-2 - Remove pam_unix.so dependency to avoid build failed; * Wed Mar 9 2022 James Wang <wjn740@163.com> - 1.5.2-1 - Inital version
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.
浙ICP备2022010568号-2