packages: ca-certificates/ca-certificates.spec, ca-certificates/ca-certific...
glen
glen at pld-linux.org
Sat May 12 15:16:03 CEST 2012
Author: glen Date: Sat May 12 13:16:03 2012 GMT
Module: packages Tag: HEAD
---- Log message:
- add /etc/ca-certificates.d to support local certs, so there won't be need to edit package version of /etc/ca-certificates.conf, and thus no .rpmnew merge need
---- Files affected:
packages/ca-certificates:
ca-certificates.spec (1.49 -> 1.50) , ca-certificates.d.patch (NONE -> 1.1) (NEW)
---- Diffs:
================================================================
Index: packages/ca-certificates/ca-certificates.spec
diff -u packages/ca-certificates/ca-certificates.spec:1.49 packages/ca-certificates/ca-certificates.spec:1.50
--- packages/ca-certificates/ca-certificates.spec:1.49 Sat May 12 14:59:54 2012
+++ packages/ca-certificates/ca-certificates.spec Sat May 12 15:15:57 2012
@@ -1,10 +1,6 @@
# $Revision$, $Date$
# TODO
# - cleanup dead links from /etc/openssl/certs after -update uninstall
-# - deal with removed (renamed) certs on upgrade (as new config is created as
-# .rpmnew). create some merge tool (or split /etc/ca-certificates.conf to
-# /etc/ca-certificates.d): http://pastebin.com/04hZd2x0
-#
# - https://bugzilla.mozilla.org/show_bug.cgi?id=549701 and
# http://groups.google.com/group/mozilla.dev.security.policy/browse_thread/thread/b6493a285ba79998#
# - add certs noted in TODO file
@@ -69,6 +65,7 @@
Patch4: %{name}-endline.patch
Patch5: %{name}-mozilla.patch
Patch6: %{name}-DESTDIR.patch
+Patch7: %{name}.d.patch
URL: http://www.cacert.org/
BuildRequires: openssl-tools
BuildRequires: python
@@ -120,6 +117,7 @@
%patch4 -p1
%patch5 -p1
%patch6 -p1
+%patch7 -p1
%{__sed} -i -e 's, at openssldir@,%{openssldir},' sbin/update-ca-certificates*
@@ -183,8 +181,7 @@
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_datadir}/%{name},%{_sbindir},%{certsdir}}
-
+install -d $RPM_BUILD_ROOT{%{_datadir}/%{name},%{_sbindir},%{certsdir},%{_sysconfdir}/ca-certificates.d}
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT
@@ -215,6 +212,7 @@
%defattr(644,root,root,755)
%attr(755,root,root) %{_sbindir}/update-ca-certificates
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ca-certificates.conf
+%dir %{_sysconfdir}/ca-certificates.d
%{_datadir}/ca-certificates
%define date %(echo `LC_ALL="C" date +"%a %b %d %Y"`)
@@ -223,6 +221,9 @@
All persons listed below can be reached at <cvs_login>@pld-linux.org
$Log$
+Revision 1.50 2012/05/12 13:15:57 glen
+- add /etc/ca-certificates.d to support local certs, so there won't be need to edit package version of /etc/ca-certificates.conf, and thus no .rpmnew merge need
+
Revision 1.49 2012/05/12 12:59:54 glen
- up to 20120212, see changelog for added/removed ca-s
================================================================
Index: packages/ca-certificates/ca-certificates.d.patch
diff -u /dev/null packages/ca-certificates/ca-certificates.d.patch:1.1
--- /dev/null Sat May 12 15:16:03 2012
+++ packages/ca-certificates/ca-certificates.d.patch Sat May 12 15:15:57 2012
@@ -0,0 +1,59 @@
+--- ca-certificates-20120212/sbin/update-ca-certificates~ 2012-05-12 16:08:15.813747796 +0300
++++ ca-certificates-20120212/sbin/update-ca-certificates 2012-05-12 16:09:57.727422190 +0300
+@@ -41,6 +41,7 @@
+ done
+
+ CERTSCONF=$DESTDIR/etc/ca-certificates.conf
++CERTSCONFD=$DESTDIR/etc/ca-certificates.d
+ CERTSDIR=$DESTDIR/usr/share/ca-certificates
+ LOCALCERTSDIR=$DESTDIR/etc/certs
+ CERTBUNDLE=$DESTDIR/etc/certs/ca-certificates.crt
+@@ -105,25 +106,30 @@
+
+ echo -n "Updating certificates in $ETCCERTSDIR... "
+
+-# Handle certificates that should be removed. This is an explicit act
+-# by prefixing lines in the configuration files with exclamation marks (!).
+-sed -n -e '/^$/d' -e 's/^!//p' $CERTSCONF | while read crt
+-do
+- remove "$CERTSDIR/$crt"
+-done
++for conf in $CERTSCONF $CERTSCONFD/*.conf; do
++ # skip inexistent files (matched by glob)
++ [ -f $conf ] || continue
++
++ # Handle certificates that should be removed. This is an explicit act
++ # by prefixing lines in the configuration files with exclamation marks (!).
++ sed -n -e '/^$/d' -e 's/^!//p' $conf | while read crt
++ do
++ remove "$CERTSDIR/$crt"
++ done
+
+-sed -e '/^$/d' -e '/^#/d' -e '/^!/d' $CERTSCONF | while read crt
+-do
+- if test -f "$CERTSDIR/$crt"
+- then
+- add "$CERTSDIR/$crt"
+- elif test -f "$LOCALCERTSDIR/$crt"
+- then
+- add "$LOCALCERTSDIR/$crt"
+- else
+- echo "W: $CERTSDIR/$crt or $LOCALCERTSDIR/$crt not found, but listed in $CERTSCONF." >&2
+- continue
+- fi
++ sed -e '/^$/d' -e '/^#/d' -e '/^!/d' $conf | while read crt
++ do
++ if test -f "$CERTSDIR/$crt"
++ then
++ add "$CERTSDIR/$crt"
++ elif test -f "$LOCALCERTSDIR/$crt"
++ then
++ add "$LOCALCERTSDIR/$crt"
++ else
++ echo "W: $CERTSDIR/$crt or $LOCALCERTSDIR/$crt not found, but listed in $conf." >&2
++ continue
++ fi
++ done
+ done
+
+ rm -f "$CERTBUNDLE"
================================================================
---- CVS-web:
http://cvs.pld-linux.org/packages/ca-certificates/ca-certificates.spec?r1=1.49&r2=1.50
More information about the pld-cvs-commit
mailing list