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
This commit is contained in:
Bjoern A. Zeeb 2012-09-17 08:42:56 +00:00
parent 3d401ef124
commit 8a1a59e2f5
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=39569
5 changed files with 78 additions and 2 deletions
en_US.ISO8859-1/htdocs/security
share/mk

View file

@ -7,6 +7,9 @@
.include "../Makefile.inc"
.endif
SUBDIR= advisories
SUBDIR+= patches
DATA= so_public_key.asc
DOCS= charter.sgml
DOCS+= security.sgml

View file

@ -0,0 +1,4 @@
# $FreeBSD$
WEBBASE?= /data/security
DOC_PREFIX?= ${.CURDIR}/../../../..

View file

@ -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"

View file

@ -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"

View file

@ -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