From 8a1a59e2f58160897742e43a1203bc8b699e20b2 Mon Sep 17 00:00:00 2001 From: "Bjoern A. Zeeb" <bz@FreeBSD.org> Date: Mon, 17 Sep 2012 08:42:56 +0000 Subject: [PATCH] Hook-up advistories and patches to be installed to www.freebsd.org/security/{advisories,patches}/... from the en_US.ISO8859-1 directory as we do for logos, etc. The magic is a bit special to avoid having to add each advisory or errata notice, and their patches and signatures individually. Factor out the slightly different to bsd.links.mk SYMLINKS support as well as the "bulk data install" that cannot be handled by just DATA as (i) the input dir differs, (ii) input uses a 1 or more level of sub-directories. This is the second of three steps. The last one will be to link to these files locally rather than to security.freebsd.org. Approved by: gabor --- en_US.ISO8859-1/htdocs/security/Makefile | 3 ++ en_US.ISO8859-1/htdocs/security/Makefile.inc | 4 +++ .../htdocs/security/advisories/Makefile | 16 ++++++++++ .../htdocs/security/patches/Makefile | 29 +++++++++++++++++++ share/mk/web.site.mk | 28 ++++++++++++++++-- 5 files changed, 78 insertions(+), 2 deletions(-) create mode 100644 en_US.ISO8859-1/htdocs/security/Makefile.inc create mode 100644 en_US.ISO8859-1/htdocs/security/advisories/Makefile create mode 100644 en_US.ISO8859-1/htdocs/security/patches/Makefile diff --git a/en_US.ISO8859-1/htdocs/security/Makefile b/en_US.ISO8859-1/htdocs/security/Makefile index 739ee38f18..8bbf737b70 100644 --- a/en_US.ISO8859-1/htdocs/security/Makefile +++ b/en_US.ISO8859-1/htdocs/security/Makefile @@ -7,6 +7,9 @@ .include "../Makefile.inc" .endif +SUBDIR= advisories +SUBDIR+= patches + DATA= so_public_key.asc DOCS= charter.sgml DOCS+= security.sgml diff --git a/en_US.ISO8859-1/htdocs/security/Makefile.inc b/en_US.ISO8859-1/htdocs/security/Makefile.inc new file mode 100644 index 0000000000..6f9d04a9b4 --- /dev/null +++ b/en_US.ISO8859-1/htdocs/security/Makefile.inc @@ -0,0 +1,4 @@ +# $FreeBSD$ + +WEBBASE?= /data/security +DOC_PREFIX?= ${.CURDIR}/../../../.. diff --git a/en_US.ISO8859-1/htdocs/security/advisories/Makefile b/en_US.ISO8859-1/htdocs/security/advisories/Makefile new file mode 100644 index 0000000000..637ff08fa7 --- /dev/null +++ b/en_US.ISO8859-1/htdocs/security/advisories/Makefile @@ -0,0 +1,16 @@ +# $FreeBSD$ + +.if exists(../Makefile.conf) +.include "../Makefile.conf" +.endif +.if exists(../Makefile.inc) +.include "../Makefile.inc" +.endif + +BULKDATADIRS= ${DOC_PREFIX}/share/security/advisories + +# Things that went wrong in the past and had to be fixed. +# SYMLINKS+= Source Target +SYMLINKS= FreeBSD-SA-09:06.ktimer.asc FreeBSD-SA-06:09.ktimer.asc + +.include "${DOC_PREFIX}/share/mk/web.site.mk" diff --git a/en_US.ISO8859-1/htdocs/security/patches/Makefile b/en_US.ISO8859-1/htdocs/security/patches/Makefile new file mode 100644 index 0000000000..d5edd2611e --- /dev/null +++ b/en_US.ISO8859-1/htdocs/security/patches/Makefile @@ -0,0 +1,29 @@ +# $FreeBSD$ + +.if exists(../Makefile.conf) +.include "../Makefile.conf" +.endif +.if exists(../Makefile.inc) +.include "../Makefile.inc" +.endif + +BULKDATADIRS= ${DOC_PREFIX}/share/security/patches + +# Things that went wrong in the past and had to be fixed. +# Source Target +SYMLINKS= +SYMLINKS+= SA-04:04/tcp47.patch tcp47.patch +SYMLINKS+= SA-04:04/tcp47.patch.asc tcp47.patch.asc +SYMLINKS+= SA-04:04/tcp52.patch tcp52.patch +SYMLINKS+= SA-04:04/tcp52.patch.asc tcp52.patch.asc +SYMLINKS+= SA-10:05 SA-10-05 +SYMLINKS+= kadmin.patch SA-04:09/kadmind.patch +SYMLINKS+= kadmin.patch.asc SA-04:09/kadmind.patch.asc +SYMLINKS+= kadmind.patch SA-02:40/kadmin.patch +SYMLINKS+= kadmind.patch.asc SA-02:40/kadmin.patch.asc +SYMLINKS+= ip-options.diff SA-00:23/ip_options.diff +SYMLINKS+= ip-options.diff.asc SA-00:23/ip_options.diff.asc +# Lost? +#SYMLINKS+= ../../tools/libfind.sh patches/SA-00:17/libfind.sh + +.include "${DOC_PREFIX}/share/mk/web.site.mk" diff --git a/share/mk/web.site.mk b/share/mk/web.site.mk index 44682e2224..dbd945da62 100644 --- a/share/mk/web.site.mk +++ b/share/mk/web.site.mk @@ -322,8 +322,12 @@ INSTALL_CGI?= \ _ALLINSTALL+= ${GENDOCS} ${DATA} realinstall: ${COOKIE} ${_ALLINSTALL} ${CGI} _PROGSUBDIR -.if !empty(_ALLINSTALL) +.if !empty(_ALLINSTALL) || !empty(BULKDATADIRS) @${MKDIR} -p ${DOCINSTALLDIR} +.for entry in ${BULKDATADIRS} + @(cd ${entry} && \ + ${FIND} * -type d -exec ${MKDIR} -p ${DOCINSTALLDIR}/{} \; ) +.endfor .for entry in ${_ALLINSTALL} .if exists(${.CURDIR}/${entry}) ${INSTALL_WEB} ${.CURDIR}/${entry} ${DOCINSTALLDIR} @@ -331,6 +335,10 @@ realinstall: ${COOKIE} ${_ALLINSTALL} ${CGI} _PROGSUBDIR ${INSTALL_WEB} ${entry} ${DOCINSTALLDIR} .endif .endfor +.for entry in ${BULKDATADIRS} + @(cd ${entry} && \ + ${FIND} * -type f -exec ${INSTALL_WEB} ${entry}/{} ${DOCINSTALLDIR}/{} \; ) +.endfor .if defined(INDEXLINK) && !empty(INDEXLINK) cd ${DOCINSTALLDIR}; ${LN} -fs ${INDEXLINK} index.html .endif @@ -342,9 +350,25 @@ realinstall: ${COOKIE} ${_ALLINSTALL} ${CGI} _PROGSUBDIR .endfor .endif +_installlinks: +.if defined(SYMLINKS) && !empty(SYMLINKS) + @(${ECHO_CMD} "====> Creating symlinks in ${DOCINSTALLDIR}" && \ + cd ${DOCINSTALLDIR} && \ + set ${SYMLINKS}; \ + while test $$# -ge 2; do \ + l=$$1; \ + shift; \ + t=$$1; \ + shift; \ + ${ECHO_CMD} $$t -\> $$l; \ + ${LN} -fs $$l $$t; \ + done ) +.endif + # Set up install dependencies so they happen in the correct order. install: afterinstall -afterinstall: realinstall2 +afterinstall: _installlinks +_installlinks: realinstall2 realinstall: beforeinstall realinstall2: realinstall .endif