diff --git a/shadow.spec b/shadow.spec index 3698bc1e75b2495e9ba2b317ffbebf0526c28e92..720541a9f1227c01b583127edab1f49595af58bc 100644 --- a/shadow.spec +++ b/shadow.spec @@ -1,4 +1,4 @@ -%define anolis_release 1 +%define anolis_release 2 Name: shadow Version: 4.14.3 Release: %{anolis_release}%{?dist} @@ -28,6 +28,7 @@ BuildRequires: gcc BuildRequires: gettext-devel BuildRequires: itstool BuildRequires: libbsd-devel +BuildRequires: libeconf-devel BuildRequires: libselinux-devel >= 1.25.2-1 BuildRequires: libsemanage-devel BuildRequires: libtool @@ -88,8 +89,8 @@ cp -a %{SOURCE3} %{SOURCE4} . cp -a %{SOURCE5} man/login.defs.d/HOME_MODE.xml %build -export CFLAGS="$RPM_OPT_FLAGS -fpie" -export LDFLAGS="-pie -Wl,-z,relro -Wl,-z,now" +export CFLAGS="%{build_cflags} -fpie" +export LDFLAGS="%{build_ldflags} -pie -Wl,-z,relro -Wl,-z,now" autoreconf -v -f --install || exit 1 %configure \ @@ -103,11 +104,12 @@ autoreconf -v -f --install || exit 1 --without-libcrack \ --without-libpam \ --enable-shared \ + --disable-static \ --with-group-name-max-length=32 %make_build %install -%make_install gnulocaledir=$RPM_BUILD_ROOT%{_datadir}/locale MKINSTALLDIRS=`pwd`/mkinstalldirs +%make_install install -d -m 755 $RPM_BUILD_ROOT%{_sysconfdir}/default install -p -c -m 0644 %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/login.defs install -p -c -m 0600 %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/default/useradd @@ -119,30 +121,63 @@ 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 -rm $RPM_BUILD_ROOT%{_bindir}/{chfn,chsh,expiry,groups,login,passwd,su,faillog} -rm $RPM_BUILD_ROOT%{_sbindir}/{logoutd,nologin} -rm $RPM_BUILD_ROOT%{_sysconfdir}/{login.access,limits} -find $RPM_BUILD_ROOT%{_mandir} -type f -regex '.*man.*\/\(chfn\|chsh\|login\.access\|expiry\|groups\|login\|passwd\|su\|limits\|porttime\|suauth\|logoutd\|nologin\|getspnam\|faillog\)\.[1-9].*' -print -delete -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/man*/*" >> shadow.filelist -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_lang shadow --with-man --all-name # Move header files to its own folder mkdir -p $RPM_BUILD_ROOT/%{includesubiddir} install -m 644 libsubid/subid.h $RPM_BUILD_ROOT/%{includesubiddir}/ -rm -f $RPM_BUILD_ROOT/%{_libdir}/libsubid.{la,a} -rm -f $RPM_BUILD_ROOT/%{_datadir}/locale/*/LC_MESSAGES/shadow.mo - - %generate_compatibility_deps -%files -f shadow.filelist +%files -f shadow.lang %dir %{abidir} %license gpl-2.0.txt shadow-bsd.txt %attr(0644,root,root) %config(noreplace) %{_sysconfdir}/login.defs @@ -204,6 +239,9 @@ rm -f $RPM_BUILD_ROOT/%{_datadir}/locale/*/LC_MESSAGES/shadow.mo %changelog +* Fri Mar 22 2024 Funda Wang - 4.14.3-2 +- Add back language files + * Thu Mar 14 2024 Kaiqiang Wang - 4.14.3-1 - update to 4.14.3