! ! 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 lot of 1-level sub-directories. This allows room for ! expansion in the future. ! ! This is the second of three steps. The last one will be to link ! to these files locally rather than to security.freebsd.org. ! ! Reviewed by: ! Approved by: ! Index: share/mk/web.site.mk =================================================================== --- share/mk/web.site.mk (revision 39559) +++ share/mk/web.site.mk (working copy) @@ -322,8 +322,11 @@ 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} + @${MKDIR} -p ${DOCINSTALLDIR}/${entry} +.endfor .for entry in ${_ALLINSTALL} .if exists(${.CURDIR}/${entry}) ${INSTALL_WEB} ${.CURDIR}/${entry} ${DOCINSTALLDIR} @@ -331,6 +334,11 @@ realinstall: ${COOKIE} ${_ALLINSTALL} ${CGI} _PROG ${INSTALL_WEB} ${entry} ${DOCINSTALLDIR} .endif .endfor +.if exists(${BULKDATADIR}) && !empty(BULKDATA) +.for entry in ${BULKDATA} + ${INSTALL_WEB} ${BULKDATADIR}/${entry} ${DOCINSTALLDIR}/${entry:H}/ +.endfor +.endif .if defined(INDEXLINK) && !empty(INDEXLINK) cd ${DOCINSTALLDIR}; ${LN} -fs ${INDEXLINK} index.html .endif @@ -342,9 +350,25 @@ realinstall: ${COOKIE} ${_ALLINSTALL} ${CGI} _PROG .endfor .endif +_installlinks: +.if defined(SYMLINKS) && !empty(SYMLINKS) + @(echo "====> 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 Index: en_US.ISO8859-1/htdocs/security/Makefile.inc =================================================================== --- en_US.ISO8859-1/htdocs/security/Makefile.inc (revision 0) +++ en_US.ISO8859-1/htdocs/security/Makefile.inc (working copy) @@ -0,0 +1,4 @@ +# $FreeBSD$ + +WEBBASE?= /data/security +DOC_PREFIX?= ${.CURDIR}/../../../.. Property changes on: en_US.ISO8859-1/htdocs/security/Makefile.inc ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +FreeBSD=%H \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Index: en_US.ISO8859-1/htdocs/security/patches/Makefile =================================================================== --- en_US.ISO8859-1/htdocs/security/patches/Makefile (revision 0) +++ en_US.ISO8859-1/htdocs/security/patches/Makefile (working copy) @@ -0,0 +1,40 @@ +# $FreeBSD$ + +# +# This is admittedly a bit special but does most of the job just nicely. +# -bz 20120818 +# + +.if exists(../Makefile.conf) +.include "../Makefile.conf" +.endif +.if exists(../Makefile.inc) +.include "../Makefile.inc" +.endif + +# The current design of mk files does not allow both DATA!= and using the +# defined FIND. Redefine here to allow a simple solution for the rest. +FIND?= /usr/bin/find + +BULKDATADIR= ${DOC_PREFIX}/share/security/patches +BULKDATADIRS!= cd ${BULKDATADIR} && ${FIND} . -type d +BULKDATA!= cd ${BULKDATADIR} && ${FIND} . -type f + +# 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+= SA-04:09/kadmin.patch SA-04:09/kadmind.patch +SYMLINKS+= SA-04:09/kadmin.patch.asc SA-04:09/kadmind.patch.asc +SYMLINKS+= SA-02:40/kadmind.patch SA-02:40/kadmin.patch +SYMLINKS+= SA-02:40/kadmind.patch.asc SA-02:40/kadmin.patch.asc +SYMLINKS+= SA-00:23/ip-options.diff SA-00:23/ip_options.diff +SYMLINKS+= SA-00:23/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" Property changes on: en_US.ISO8859-1/htdocs/security/patches/Makefile ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +FreeBSD=%H \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Index: en_US.ISO8859-1/htdocs/security/advisories/Makefile =================================================================== --- en_US.ISO8859-1/htdocs/security/advisories/Makefile (revision 0) +++ en_US.ISO8859-1/htdocs/security/advisories/Makefile (working copy) @@ -0,0 +1,26 @@ +# $FreeBSD$ + +# +# This is admittedly a bit special but does most of the job just nicely. +# -bz 20120818 +# + +.if exists(../Makefile.conf) +.include "../Makefile.conf" +.endif +.if exists(../Makefile.inc) +.include "../Makefile.inc" +.endif + +# The current design of mk files does not allow both DATA!= and using the +# defined FIND. Redefine here to allow a simple solution for the rest. +FIND?= /usr/bin/find + +DATADIR= ${DOC_PREFIX}/share/security/advisories +DATA!= ${FIND} ${DATADIR} -type f + +# 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" Property changes on: en_US.ISO8859-1/htdocs/security/advisories/Makefile ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +FreeBSD=%H \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Index: en_US.ISO8859-1/htdocs/security/Makefile =================================================================== --- en_US.ISO8859-1/htdocs/security/Makefile (revision 39559) +++ en_US.ISO8859-1/htdocs/security/Makefile (working copy) @@ -7,6 +7,9 @@ .include "../Makefile.inc" .endif +SUBDIR= advisories +SUBDIR+= patches + DATA= so_public_key.asc DOCS= charter.sgml DOCS+= security.sgml