Improve on fixes for bugs #636787, #636792, and #636801

Replace posttrans sysinit scriptlet with a triggerpostun one (#636787)
Fix and cleanup the setup-nsssysinit.sh script (#636792, #636801)
This commit is contained in:
Elio Maldonado 2010-09-29 14:51:02 -07:00
parent 125ad15fa4
commit c7e7247590
2 changed files with 22 additions and 13 deletions

View File

@ -6,7 +6,7 @@
Summary: Network Security Services
Name: nss
Version: 3.12.7
Release: 7%{?dist}
Release: 8%{?dist}
License: MPLv1.1 or GPLv2+ or LGPLv2+
URL: http://www.mozilla.org/projects/security/pki/nss/
Group: System Environment/Libraries
@ -372,11 +372,11 @@ rm -rf $RPM_BUILD_ROOT/%{_includedir}/nss3/nsslowhash.h
%postun -p /sbin/ldconfig
# Prevent disabling of nss-sysinit on nss package upgrade. Reverses
# nss-sysinit disabling caused by faulty preun sysinit scriplet from
# previous versions of nss.spec. It should be eventually removed.
%posttrans sysinit
[ -e /etc/pki/nssdb/pkcs11.txt ] && /usr/bin/setup-nsssysinit.sh on
# Reverse unwanted disabling of sysinit by faulty preun sysinit scriplet
# from previous versions of nss.spec
%triggerpostun -n nss-sysinit -- nss-sysinit < 3.12.8-3
/usr/bin/setup-nsssysinit.sh on
%files
%defattr(-,root,root)
@ -490,6 +490,10 @@ rm -rf $RPM_BUILD_ROOT/%{_includedir}/nss3/nsslowhash.h
%{_libdir}/libnssckfw.a
%changelog
* Wed Sep 29 2010 Elio Maldonado <emaldona@redhat.com> - 3.12.7-8
- Replace posttrans sysinit scriptlet with a triggerpostun one (#636787)
- Fix and cleanup the setup-nsssysinit.sh script (#636792, #636801)
* Tue Sep 28 2010 Elio Maldonado <emaldona@redhat.com> - 3.12.7-7
- Prevent of nss-sysinit disabling on package upgrade (#636787)
- Create pkcs11.txt with correct permissions regardless of umask (#636792)

View File

@ -18,7 +18,7 @@ EOF
}
# validate
if test $# -eq 0; then
if [ $# -eq 0 ]; then
usage 1 1>&2
fi
@ -30,13 +30,18 @@ if [ ! -f $p11conf ]; then
exit 1
fi
on="1"
# check if nsssysinit is currently enabled or disabled
sysinit_enabled()
{
grep -q '^library=libnsssysinit' ${p11conf}
}
umask 022
case "$1" in
on | ON )
if [ `grep '^library=libnsssysinit' ${p11conf}` ]; then
if sysinit_enabled; then
exit 0
fi
umask 022
cat ${p11conf} | \
sed -e 's/^library=$/library=libnsssysinit.so/' \
-e '/^NSS/s/\(Flags=internal\)\(,[^m]\)/\1,moduleDBOnly\2/' > \
@ -44,10 +49,9 @@ case "$1" in
mv ${p11conf}.on ${p11conf}
;;
off | OFF )
if [ ! `grep "^library=libnsssysinit" ${p11conf}` ]; then
if ! sysinit_enabled; then
exit 0
fi
umask 022
cat ${p11conf} | \
sed -e 's/^library=libnsssysinit.so/library=/' \
-e '/^NSS/s/Flags=internal,moduleDBOnly/Flags=internal/' > \
@ -55,7 +59,8 @@ case "$1" in
mv ${p11conf}.off ${p11conf}
;;
status )
grep -q '^library=libnsssysinit' ${p11conf} && echo 'ON' || echo OFF
echo -n 'NSS sysinit is '
sysinit_enabled && echo 'enabled' || echo 'disabled'
;;
* )
usage 1 1>&2