diff options
author | asami <asami@FreeBSD.org> | 1996-04-01 19:13:00 +0800 |
---|---|---|
committer | asami <asami@FreeBSD.org> | 1996-04-01 19:13:00 +0800 |
commit | 748b4a063148b044eeedc30038f2841e35731a99 (patch) | |
tree | 09a5cc278618258977ae7381ea7ae088f127a890 /Mk | |
parent | 47b293780e0b58bcd11ab91a923566e4a7bfa408 (diff) | |
download | freebsd-ports-gnome-748b4a063148b044eeedc30038f2841e35731a99.tar.gz freebsd-ports-gnome-748b4a063148b044eeedc30038f2841e35731a99.tar.zst freebsd-ports-gnome-748b4a063148b044eeedc30038f2841e35731a99.zip |
Thanks for the overwhelming response (which can be only summarized by the
word: "zilch"). I guess the only way to get people try and comment on
these kind of things is to shove it down their throat.... ;)
Anyway, here's a set of changes required for auto-generation of READMEs
in ports directories. Necessary changes and additions of templates
to the ports tree will follow shortly.
Eventually I'll commit all the generated READMEs to the tree, but that
will be in the rather distant future. For now, I encourage anyone
with a -current systam and a matching ports tree to do a "make readmes"
at the top level and see what they get.
Next step will be to add pkg/{COMMENT,DESCR} to all the categories.
Diffstat (limited to 'Mk')
-rw-r--r-- | Mk/bsd.port.mk | 46 | ||||
-rw-r--r-- | Mk/bsd.port.subdir.mk | 45 |
2 files changed, 87 insertions, 4 deletions
diff --git a/Mk/bsd.port.mk b/Mk/bsd.port.mk index 81440f48d353..d83674b50175 100644 --- a/Mk/bsd.port.mk +++ b/Mk/bsd.port.mk @@ -3,7 +3,7 @@ # bsd.port.mk - 940820 Jordan K. Hubbard. # This file is in the public domain. # -# $Id: bsd.port.mk,v 1.197 1996/03/31 10:02:09 asami Exp $ +# $Id: bsd.port.mk,v 1.198 1996/03/31 10:35:26 asami Exp $ # # Please view me with 4 column tabs! @@ -198,6 +198,7 @@ LOCALBASE?= /usr/local X11BASE?= /usr/X11R6 DISTDIR?= ${PORTSDIR}/distfiles/${DIST_SUBDIR} PACKAGES?= ${PORTSDIR}/packages +TEMPLATES?= ${PORTSDIR}/templates .if !defined(NO_WRKDIR) WRKDIR?= ${.CURDIR}/work .else @@ -323,6 +324,7 @@ PKG_SUFX?= .tgz PKG_DBDIR?= /var/db/pkg ECHO?= /bin/echo +CAT+= /bin/cat CP?= /bin/cp ENV?= /usr/bin/env RM?= /bin/rm @@ -974,10 +976,8 @@ checksum: fetch .if !target(package-name) package-name: -.if !defined(NO_PACKAGE) @${ECHO} ${PKGNAME} .endif -.endif # Show (recursively) all the packages this package depends on. @@ -1172,6 +1172,46 @@ describe: @${ECHO} "" .endif +.if !target(readmes) +readmes: readme +.endif + +.if !target(readme) +readme: + @rm -f README.html + @make README.html +.endif + +README.html: + @${ECHO_MSG} "===> Creating README.html for ${PKGNAME}" + @${CAT} ${TEMPLATES}/README.port | \ + ${SED} -e 's%%PORT%%'`${ECHO} ${.CURDIR} | ${SED} -e 's.*/\([^/]*/[^/]*\)$$\1'`'g' \ + -e 's%%PKG%%${PKGNAME}g' \ + -e '/%%COMMENT%%/r${PKGDIR}/COMMENT' \ + -e '/%%COMMENT%%/d' \ + -e 's%%BUILD_DEPENDS%%'"`${MAKE} print-depends-list`"'' \ + -e 's%%RUN_DEPENDS%%'"`${MAKE} print-package-depends`"'' \ + >> $@ + +.if !target(print-depends-list) +print-depends-list: +.if defined(FETCH_DEPENDS) || defined(BUILD_DEPENDS) || \ + defined(LIB_DEPENDS) || defined(DEPENDS) + @${ECHO} -n 'This port requires package(s) "' + @${ECHO} -n `make depends-list | sort | uniq` + @${ECHO} '" to build.' +.endif +.endif + +.if !target(print-package-depends) +print-package-depends: +.if defined(RUN_DEPENDS) || defined(LIB_DEPENDS) || defined(DEPENDS) + @${ECHO} -n 'This port requires package(s) "' + @${ECHO} -n `make package-depends | sort | uniq` + @${ECHO} '" to run.' +.endif +.endif + # Fake installation of package so that user can pkg_delete it later. # Also, make sure that an installed port is recognized correctly in # accordance to the @pkgdep directive in the packing lists diff --git a/Mk/bsd.port.subdir.mk b/Mk/bsd.port.subdir.mk index 416c332ec9d4..cc0868ce2db9 100644 --- a/Mk/bsd.port.subdir.mk +++ b/Mk/bsd.port.subdir.mk @@ -1,5 +1,5 @@ # from: @(#)bsd.subdir.mk 5.9 (Berkeley) 2/1/91 -# $Id: bsd.port.subdir.mk,v 1.11 1995/03/21 03:59:13 jkh Exp $ +# $Id: bsd.port.subdir.mk,v 1.12 1996/03/24 00:41:10 wosch Exp $ .MAIN: all @@ -105,3 +105,46 @@ tags: _SUBDIRUSE .if !target(checksum) checksum: _SUBDIRUSE .endif + +.if !target(readmes) +readmes: readme _SUBDIRUSE +.endif + +.if !target(readme) +readme: + @rm -f README.html + @make README.html +.endif + +PORTSDIR ?= /usr/ports +TEMPLATES ?= ${PORTSDIR}/templates +.if defined(PORTSTOP) +README= ${TEMPLATES}/README.top +.else +README= ${TEMPLATES}/README.category +.endif + +README.html: + @echo "===> Creating README.html" + @> $@.tmp +.for entry in ${SUBDIR} +.if defined(PORTSTOP) + @echo -n '<a href="'${entry}/README.html'">${entry}</a>: ' >> $@.tmp +.else + @echo -n '<a href="'${entry}/README.html'">'"`cd ${entry}; make package-name`</a>: " >> $@.tmp +.endif +.if exists(${entry}/pkg/COMMENT) + @cat ${entry}/pkg/COMMENT >> $@.tmp +.else + @echo "(no description)" >> $@.tmp +.endif +.endfor + @sort -t '>' +1 -2 $@.tmp > $@.tmp2 + @cat ${README} | \ + sed -e 's%%CATEGORY%%'`echo ${.CURDIR} | sed -e 's.*/\([^/]*\)$$\1'`'g' \ + -e '/%%DESCR%%/r${.CURDIR}/pkg/DESCR' \ + -e '/%%DESCR%%/d' \ + -e '/%%SUBDIR%%/r$@.tmp2' \ + -e '/%%SUBDIR%%/d' \ + > $@ + @rm -f $@.tmp $@.tmp2 |