Name: shadow Version: 4.7 Release: 4 Epoch: 2 License: BSD and GPLv2+ Summary: Tools for managing accounts and shadow password files URL: http://pkg-shadow.alioth.debian.org/ Source0: https://github.com/shadow-maint/shadow/releases/download/%{version}/shadow-%{version}.tar.xz Source1: https://github.com/shadow-maint/shadow/releases/download/%{version}/shadow-%{version}.tar.xz.asc Source2: shadow-utils.useradd Source3: shadow-utils.login.defs Source4: shadow-bsd.txt Source5: https://www.gnu.org/licenses/old-licenses/gpl-2.0.txt Patch9000: shadow-4.1.5.1-var-lock.patch Patch9001: shadow-utils-fix-lock-file-residue.patch Patch9002: shadow-utils-fix-invalid-path.patch BuildRequires: gcc, libselinux-devel, audit-libs-devel, libsemanage-devel BuildRequires: libacl-devel, libattr-devel BuildRequires: bison, flex, gnome-doc-utils, docbook-style-xsl, docbook-dtds BuildRequires: autoconf, automake, libtool, gettext-devel Requires: libselinux Requires: audit Requires: setup Requires(pre): coreutils Requires(post): coreutils Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) Provides: shadow-utils Obsoletes: shadow-utils %description This package includes the necessary programs for converting plain password files to the shadow password format and to manage user and group accounts. %package_help %prep %autosetup -n shadow-%{version} -p1 iconv -f ISO88591 -t utf-8 doc/HOWTO > doc/HOWTO.utf8 cp -f doc/HOWTO.utf8 doc/HOWTO cp -a %{SOURCE4} %{SOURCE5} . %build export CFLAGS="$RPM_OPT_FLAGS -fpie" export LDFLAGS="-pie -Wl,-z,relro -Wl,-z,now" autoreconf -fiv %configure \ --enable-shadowgrp \ --enable-man \ --with-audit \ --with-sha-crypt \ --with-selinux \ --without-libcrack \ --without-libpam \ --disable-shared \ --with-group-name-max-length=32 %make_build %install rm -rf $RPM_BUILD_ROOT %make_install gnulocaledir=$RPM_BUILD_ROOT/%{_datadir}/locale MKINSTALLDIRS=`pwd`/mkinstalldirs install -d -m 755 $RPM_BUILD_ROOT/%{_sysconfdir}/default install -p -c -m 0644 %{SOURCE3} $RPM_BUILD_ROOT/%{_sysconfdir}/login.defs install -p -c -m 0600 %{SOURCE2} $RPM_BUILD_ROOT/%{_sysconfdir}/default/useradd ln -s useradd $RPM_BUILD_ROOT%{_sbindir}/adduser ln -s useradd.8 $RPM_BUILD_ROOT/%{_mandir}/man8/adduser.8 for subdir in $RPM_BUILD_ROOT/%{_mandir}/{??,??_??,??_??.*}/man* ; do test -d $subdir && test -e $subdir/useradd.8 && echo ".so man8/useradd.8" > $subdir/adduser.8 done # Remove binaries we don't use. rm $RPM_BUILD_ROOT/%{_bindir}/chfn rm $RPM_BUILD_ROOT/%{_bindir}/chsh rm $RPM_BUILD_ROOT/%{_bindir}/expiry rm $RPM_BUILD_ROOT/%{_bindir}/groups rm $RPM_BUILD_ROOT/%{_bindir}/login rm $RPM_BUILD_ROOT/%{_bindir}/passwd rm $RPM_BUILD_ROOT/%{_bindir}/su rm $RPM_BUILD_ROOT/%{_bindir}/faillog rm $RPM_BUILD_ROOT/%{_sysconfdir}/login.access rm $RPM_BUILD_ROOT/%{_sysconfdir}/limits rm $RPM_BUILD_ROOT/%{_sbindir}/logoutd rm $RPM_BUILD_ROOT/%{_sbindir}/nologin rm $RPM_BUILD_ROOT/%{_mandir}/man1/chfn.* rm $RPM_BUILD_ROOT/%{_mandir}/*/man1/chfn.* rm $RPM_BUILD_ROOT/%{_mandir}/man1/chsh.* rm $RPM_BUILD_ROOT/%{_mandir}/*/man1/chsh.* rm $RPM_BUILD_ROOT/%{_mandir}/man1/expiry.* rm $RPM_BUILD_ROOT/%{_mandir}/*/man1/expiry.* rm $RPM_BUILD_ROOT/%{_mandir}/man1/groups.* rm $RPM_BUILD_ROOT/%{_mandir}/*/man1/groups.* rm $RPM_BUILD_ROOT/%{_mandir}/man1/login.* rm $RPM_BUILD_ROOT/%{_mandir}/*/man1/login.* rm $RPM_BUILD_ROOT/%{_mandir}/man1/passwd.* rm $RPM_BUILD_ROOT/%{_mandir}/*/man1/passwd.* rm $RPM_BUILD_ROOT/%{_mandir}/man1/su.* rm $RPM_BUILD_ROOT/%{_mandir}/*/man1/su.* rm $RPM_BUILD_ROOT/%{_mandir}/man5/limits.* rm $RPM_BUILD_ROOT/%{_mandir}/*/man5/limits.* rm $RPM_BUILD_ROOT/%{_mandir}/man5/login.access.* rm $RPM_BUILD_ROOT/%{_mandir}/*/man5/login.access.* rm $RPM_BUILD_ROOT/%{_mandir}/man5/passwd.* rm $RPM_BUILD_ROOT/%{_mandir}/*/man5/passwd.* rm $RPM_BUILD_ROOT/%{_mandir}/man5/porttime.* rm $RPM_BUILD_ROOT/%{_mandir}/*/man5/porttime.* rm $RPM_BUILD_ROOT/%{_mandir}/man5/suauth.* rm $RPM_BUILD_ROOT/%{_mandir}/*/man5/suauth.* rm $RPM_BUILD_ROOT/%{_mandir}/man8/logoutd.* rm $RPM_BUILD_ROOT/%{_mandir}/*/man8/logoutd.* rm $RPM_BUILD_ROOT/%{_mandir}/man8/nologin.* rm $RPM_BUILD_ROOT/%{_mandir}/*/man8/nologin.* rm $RPM_BUILD_ROOT/%{_mandir}/man3/getspnam.* rm $RPM_BUILD_ROOT/%{_mandir}/*/man3/getspnam.* rm $RPM_BUILD_ROOT/%{_mandir}/man5/faillog.* rm $RPM_BUILD_ROOT/%{_mandir}/*/man5/faillog.* rm $RPM_BUILD_ROOT/%{_mandir}/man8/faillog.* rm $RPM_BUILD_ROOT/%{_mandir}/*/man8/faillog.* find $RPM_BUILD_ROOT%{_mandir} -depth -type d -empty -delete %find_lang shadow for dir in $(ls -1d $RPM_BUILD_ROOT%{_mandir}/{??,??_??}) ; do dir=$(echo $dir | sed -e "s|^$RPM_BUILD_ROOT||") lang=$(basename $dir) # echo "%%lang($lang) $dir" >> shadow.lang # echo "%%lang($lang) $dir/man*" >> shadow.lang echo "%%lang($lang) $dir/man*/*" >> shadow.lang done %files -f shadow.lang %doc NEWS doc/HOWTO README %{!?_licensedir:%global license %%doc} %license gpl-2.0.txt shadow-bsd.txt %attr(0644,root,root) %config(noreplace) %{_sysconfdir}/login.defs %attr(0644,root,root) %config(noreplace) %{_sysconfdir}/default/useradd %{_bindir}/sg %attr(4755,root,root) %{_bindir}/chage %attr(4755,root,root) %{_bindir}/gpasswd %{_bindir}/lastlog %attr(4755,root,root) %{_bindir}/newgrp %attr(4755,root,root) %{_bindir}/newgidmap %attr(4755,root,root) %{_bindir}/newuidmap %{_sbindir}/adduser %attr(0755,root,root) %{_sbindir}/user* %attr(0755,root,root) %{_sbindir}/group* %{_sbindir}/grpck %{_sbindir}/pwck %{_sbindir}/*conv %{_sbindir}/chpasswd %{_sbindir}/chgpasswd %{_sbindir}/newusers %{_sbindir}/vipw %{_sbindir}/vigr %files help %{_mandir}/*/* %changelog * Sun Jan 12 2020 openEuler Buildteam - 2:4.7-4 - Delete unused patch * Thu Dec 19 2019 openEuler Buildteam - 2:4.7-3 - Delete unused infomation * Mon Dec 16 2019 openEuler Buildteam - 2:4.7-2 - fix invaild path * Thu Aug 29 2019 hexiaowen - 2:4.7-1 - update to 4.7 * Tue Aug 20 2019 guoxiaoqi - 2:4.6-2.h9 - Type:bugfix - ID:NA - SUG:NA - DESC:rename patches * Thu Aug 8 2019 guoxiaoqi - 2:4.6-2.h8 - Type:NA - ID:NA - SUG:NA - DESC: format patches * Thu Aug 1 2019 Jiangchuangang - 2:4.6-2.h7 - Type:bugfix - ID:NA - SUG:NA - DESC:openEuler Debranding * Fri May 3 2019 lubing - 2:4.6-2.h6 - Type:bugfix - ID:NA - SUG:restart - DESC:fix lock file residue * Tue Mar 12 2019 yangzhuangzhuang - 2:4.6-2.h5 - Type:bugfix - ID:NA - SUG:restart - DESC:su.c: run pam_getenvlist() after setup_env Log UID in nologin Fix some issues found in Coverity scan. useradd: fix segfault trying to overwrite const data with mkstemp Fix the default mentioned in man page for SUB_UID/GID_COUNT variables. * Wed Mar 6 2019 hanzhijun - 2:4.6-2.h4 - Type:bugfix - ID:NA - SUG:NA DESC:shadow 4.1.5.1 var lock * Thu Jan 31 2019 liuqianya - 2:4.6-2.h3 - Type:bugfix - ID:NA - SUG:NA DESC:Revert"shadow 4.1.5.1 var lock" * Mon Jan 28 2019 liuqianya - 2:4.6-2.h2 - Type:bugfix - ID:NA - SUG:NA DESC:Revert "shadow-utils: sync patches" * Fri Jan 25 2019 liuqianya - 2:4.6-2.h1 - Type:bugfix - ID:NA - SUG:NA DESC:add ruserok to avoid compilation failure hulk shadow remove passwd param for useradd shadow 4.1.5.1 var lock * Sat Jul 14 2018 Jiangchuangang - 2:4.6-2 - Package Initialization