annotate Makefile @ 289:e6ccee6a7144

Also build the HTML documentation. This is currently just for checking proper generation.
author Franz Glasner <fzglas.hg@dom66.de>
date Sun, 18 Sep 2022 10:41:17 +0200
parents 106cd5d9da7e
children 7508d9a9cf49
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2
8781814174df Files to make a FreeBSD binary package for the tool
Franz Glasner <hg@dom66.de>
parents:
diff changeset
1 # Created by: Franz Glasner <freebsd-dev@dom66.de>
8781814174df Files to make a FreeBSD binary package for the tool
Franz Glasner <hg@dom66.de>
parents:
diff changeset
2
13
f5f04faa9acf Renamed the package to the more generic local-bsdtools
Franz Glasner <hg@dom66.de>
parents: 2
diff changeset
3 PORTNAME= local-bsdtools
271
ccf4c7653112 +++++ v0.18.2
Franz Glasner <fzglas.hg@dom66.de>
parents: 267
diff changeset
4 DISTVERSION= 0.18.2
13
f5f04faa9acf Renamed the package to the more generic local-bsdtools
Franz Glasner <hg@dom66.de>
parents: 2
diff changeset
5 CATEGORIES= sysutils
2
8781814174df Files to make a FreeBSD binary package for the tool
Franz Glasner <hg@dom66.de>
parents:
diff changeset
6 MASTER_SITES= # none
8781814174df Files to make a FreeBSD binary package for the tool
Franz Glasner <hg@dom66.de>
parents:
diff changeset
7 DISTFILES= # none
8781814174df Files to make a FreeBSD binary package for the tool
Franz Glasner <hg@dom66.de>
parents:
diff changeset
8
8781814174df Files to make a FreeBSD binary package for the tool
Franz Glasner <hg@dom66.de>
parents:
diff changeset
9 MAINTAINER= freebsd-dev@dom66.de
13
f5f04faa9acf Renamed the package to the more generic local-bsdtools
Franz Glasner <hg@dom66.de>
parents: 2
diff changeset
10 COMMENT= Collection of private system management tools
2
8781814174df Files to make a FreeBSD binary package for the tool
Franz Glasner <hg@dom66.de>
parents:
diff changeset
11
8781814174df Files to make a FreeBSD binary package for the tool
Franz Glasner <hg@dom66.de>
parents:
diff changeset
12 LICENSE= BSD3CLAUSE
8781814174df Files to make a FreeBSD binary package for the tool
Franz Glasner <hg@dom66.de>
parents:
diff changeset
13
275
5bb4c4044e48 FIX: Mercurial is a dependency for EXTRACT and not for build
Franz Glasner <fzglas.hg@dom66.de>
parents: 271
diff changeset
14 EXTRACT_DEPENDS= hg:devel/mercurial
5bb4c4044e48 FIX: Mercurial is a dependency for EXTRACT and not for build
Franz Glasner <fzglas.hg@dom66.de>
parents: 271
diff changeset
15 RUN_DEPENDS= pkg:ports-mgmt/pkg
28
735044a0a8c0 Build depends on Mercurial now
Franz Glasner <hg@dom66.de>
parents: 27
diff changeset
16
2
8781814174df Files to make a FreeBSD binary package for the tool
Franz Glasner <hg@dom66.de>
parents:
diff changeset
17 NO_ARCH= yes
13
f5f04faa9acf Renamed the package to the more generic local-bsdtools
Franz Glasner <hg@dom66.de>
parents: 2
diff changeset
18 WRKSRC= ${WRKDIR}/local-bsdtools
2
8781814174df Files to make a FreeBSD binary package for the tool
Franz Glasner <hg@dom66.de>
parents:
diff changeset
19
281
490aed463971 Implement a DOCS make option to build manual pages.
Franz Glasner <fzglas.hg@dom66.de>
parents: 276
diff changeset
20 OPTIONS_DEFINE= DOCS
490aed463971 Implement a DOCS make option to build manual pages.
Franz Glasner <fzglas.hg@dom66.de>
parents: 276
diff changeset
21 OPTIONS_SUB= yes
490aed463971 Implement a DOCS make option to build manual pages.
Franz Glasner <fzglas.hg@dom66.de>
parents: 276
diff changeset
22
490aed463971 Implement a DOCS make option to build manual pages.
Franz Glasner <fzglas.hg@dom66.de>
parents: 276
diff changeset
23 DOCS_BUILD_DEPENDS= sphinx-build:textproc/py-sphinx
490aed463971 Implement a DOCS make option to build manual pages.
Franz Glasner <fzglas.hg@dom66.de>
parents: 276
diff changeset
24 DOCS_VARS_OFF= NO_BUILD=yes
490aed463971 Implement a DOCS make option to build manual pages.
Franz Glasner <fzglas.hg@dom66.de>
parents: 276
diff changeset
25
490aed463971 Implement a DOCS make option to build manual pages.
Franz Glasner <fzglas.hg@dom66.de>
parents: 276
diff changeset
26 .include <bsd.port.options.mk>
490aed463971 Implement a DOCS make option to build manual pages.
Franz Glasner <fzglas.hg@dom66.de>
parents: 276
diff changeset
27
2
8781814174df Files to make a FreeBSD binary package for the tool
Franz Glasner <hg@dom66.de>
parents:
diff changeset
28 SRC= ${.CURDIR}
8781814174df Files to make a FreeBSD binary package for the tool
Franz Glasner <hg@dom66.de>
parents:
diff changeset
29
43
22b7c9e08b13 Make the name of the canonical Mercurial path configurable.
Franz Glasner <hg@dom66.de>
parents: 41
diff changeset
30 HGCANONICALPATH?= default
27
a105a7fc801f Remove early evaluation of Mercurial data because clean should work w/o Mercurial
Franz Glasner <hg@dom66.de>
parents: 26
diff changeset
31 HGREVISION= ${:!hg id -R "${SRC}" -q!}
a105a7fc801f Remove early evaluation of Mercurial data because clean should work w/o Mercurial
Franz Glasner <hg@dom66.de>
parents: 26
diff changeset
32 HGDATE= ${:!hg log -R "${SRC}" -r "${HGREVISION:S/+//}" --template '{date|isodatesec}'!}
40
bc2df2421435 Make the $Author$ keyword a single word by replacing space characters with '+' characters.
Franz Glasner <hg@dom66.de>
parents: 38
diff changeset
33 HGAUTHOR= ${:!hg log -R "${SRC}" -r "${HGREVISION:S/+//}" --template '{author|person}' | ${TR} ' ' '+'!}
44
094324510aa2 Got the shell $(<cmd>) syntax to work within make ${:!...!} variables.
Franz Glasner <hg@dom66.de>
parents: 43
diff changeset
34 HGPATH= ${:!hg --config ui.paginate=never path -R "${SRC}" ${HGCANONICALPATH} || echo "file://\$$\(hg root)"!}
67
259e2a4b4ca6 Enhance keyword expansion: HGid and Header are now provided.
Franz Glasner <hg@dom66.de>
parents: 66
diff changeset
35 HGPHASE= ${:!hg phase!:[2]}
16
08fc189baf67 Put some keyword expansion into the port.
Franz Glasner <hg@dom66.de>
parents: 13
diff changeset
36
2
8781814174df Files to make a FreeBSD binary package for the tool
Franz Glasner <hg@dom66.de>
parents:
diff changeset
37 do-extract:
8781814174df Files to make a FreeBSD binary package for the tool
Franz Glasner <hg@dom66.de>
parents:
diff changeset
38 ${MKDIR} ${WRKSRC}/bin
124
47c7223bea76 Move bsmtp2dma to sbin.
Franz Glasner <fzglas.hg@dom66.de>
parents: 115
diff changeset
39 ${MKDIR} ${WRKSRC}/sbin
276
3c24b07240f2 Move the implementation of "mount" and "umount" into the new tool fzfs.
Franz Glasner <fzglas.hg@dom66.de>
parents: 275
diff changeset
40 .for _rp in sbin/check-ports sbin/fjail sbin/ftjail sbin/fzfs sbin/fpkg sbin/bsmtp2dma
25
bba3470217c4 Refactor: loops with relative paths instead of the basenames
Franz Glasner <hg@dom66.de>
parents: 21
diff changeset
41 ${CP} -v ${SRC}/${_rp} ${WRKSRC}/${_rp}
bba3470217c4 Refactor: loops with relative paths instead of the basenames
Franz Glasner <hg@dom66.de>
parents: 21
diff changeset
42 ${SED} -i "" -E -e "s|\\\$$Date\\\$$|\$$Date: ${HGDATE} \$$|" ${WRKSRC}/${_rp}
bba3470217c4 Refactor: loops with relative paths instead of the basenames
Franz Glasner <hg@dom66.de>
parents: 21
diff changeset
43 ${SED} -i "" -E -e "s|\\\$$Revision\\\$$|\$$Revision: ${HGREVISION} \$$|" ${WRKSRC}/${_rp}
bba3470217c4 Refactor: loops with relative paths instead of the basenames
Franz Glasner <hg@dom66.de>
parents: 21
diff changeset
44 ${SED} -i "" -E -e "s|\\\$$Author\\\$$|\$$Author: ${HGAUTHOR} \$$|" ${WRKSRC}/${_rp}
bba3470217c4 Refactor: loops with relative paths instead of the basenames
Franz Glasner <hg@dom66.de>
parents: 21
diff changeset
45 ${SED} -i "" -e "s|\\\$$HGpath\\\$$|\$$HGpath: ${HGPATH} \$$|" ${WRKSRC}/${_rp}
bba3470217c4 Refactor: loops with relative paths instead of the basenames
Franz Glasner <hg@dom66.de>
parents: 21
diff changeset
46 ${SED} -i "" -e "s|\\\$$HGsource\\\$$|\$$HGsource: ${HGPATH}/${_rp} \$$|" ${WRKSRC}/${_rp}
68
b751799718d1 Enable $HGid$ expansion in the configuration sample also
Franz Glasner <hg@dom66.de>
parents: 67
diff changeset
47 ${SED} -i "" -e "s|\\\$$Header\\\$$|\$$Header: ${_rp} ${HGREVISION} ${HGDATE} ${HGAUTHOR} ${HGPHASE} \$$|" ${WRKSRC}/${_rp}
b751799718d1 Enable $HGid$ expansion in the configuration sample also
Franz Glasner <hg@dom66.de>
parents: 67
diff changeset
48 ${SED} -i "" -e "s|\\\$$HGid\\\$$|\$$HGid: ${HGPATH}/${_rp} ${HGREVISION} ${HGDATE} ${HGAUTHOR} ${HGPHASE} \$$|" ${WRKSRC}/${_rp}
25
bba3470217c4 Refactor: loops with relative paths instead of the basenames
Franz Glasner <hg@dom66.de>
parents: 21
diff changeset
49 ${SED} -i "" -e "s|@@VERSION@@|${PORTVERSION}|" ${WRKSRC}/${_rp}
81
124faa20ae80 Implemented a "-V" global option to print the program's name and version number to stdout
Franz Glasner <fzglas.hg@dom66.de>
parents: 78
diff changeset
50 ${SED} -i "" -e "s|@@HGREVISION@@|${HGREVISION}|" ${WRKSRC}/${_rp}
66
1f3a64254c9c Replace @@ETCDIR@@ and @@INDEXFILE@@ dynamically at package build time
Franz Glasner <hg@dom66.de>
parents: 65
diff changeset
51 ${SED} -i "" -e "s|@@ETCDIR@@|${ETCDIR}|" ${WRKSRC}/${_rp}
85
56dd768b5fdd Put PKGORIGIN to the SIGIL of installed files also
Franz Glasner <fzglas.hg@dom66.de>
parents: 82
diff changeset
52 ${SED} -i "" -e "s|@@PKGORIGIN@@|${PKGORIGIN}|" ${WRKSRC}/${_rp}
16
08fc189baf67 Put some keyword expansion into the port.
Franz Glasner <hg@dom66.de>
parents: 13
diff changeset
53 .endfor
186
39e5b947a28e Create a periodic script to keep the IPv6 routing working.
Franz Glasner <fzglas.hg@dom66.de>
parents: 170
diff changeset
54 ${MKDIR} ${WRKSRC}/etc/periodic/daily
39e5b947a28e Create a periodic script to keep the IPv6 routing working.
Franz Glasner <fzglas.hg@dom66.de>
parents: 170
diff changeset
55 .for _ef in etc/package-mapping.conf.sample etc/pkgtools.conf.sample etc/bsmtp2dma.conf.sample etc/periodic/daily/800.local-ipv6-refresh
65
29ede570c816 Adjusted the package's Makefile for new configuration file
Franz Glasner <hg@dom66.de>
parents: 57
diff changeset
56 ${CP} -v ${SRC}/${_ef} ${WRKSRC}/${_ef}
68
b751799718d1 Enable $HGid$ expansion in the configuration sample also
Franz Glasner <hg@dom66.de>
parents: 67
diff changeset
57 ${SED} -i "" -e "s|\\\$$HGid\\\$$|\$$HGid: ${HGPATH}/${_ef} ${HGREVISION} ${HGDATE} ${HGAUTHOR} ${HGPHASE} \$$|" ${WRKSRC}/${_ef}
87
28d4bea7cd1c Put the new @@PKGORIGIN@@ into the example configuration file also
Franz Glasner <fzglas.hg@dom66.de>
parents: 85
diff changeset
58 ${SED} -i "" -e "s|@@PKGORIGIN@@|${PKGORIGIN}|" ${WRKSRC}/${_ef}
65
29ede570c816 Adjusted the package's Makefile for new configuration file
Franz Glasner <hg@dom66.de>
parents: 57
diff changeset
59 .endfor
2
8781814174df Files to make a FreeBSD binary package for the tool
Franz Glasner <hg@dom66.de>
parents:
diff changeset
60
281
490aed463971 Implement a DOCS make option to build manual pages.
Franz Glasner <fzglas.hg@dom66.de>
parents: 276
diff changeset
61 post-extract-DOCS-on:
490aed463971 Implement a DOCS make option to build manual pages.
Franz Glasner <fzglas.hg@dom66.de>
parents: 276
diff changeset
62 ${MKDIR} ${WRKSRC}/docs
490aed463971 Implement a DOCS make option to build manual pages.
Franz Glasner <fzglas.hg@dom66.de>
parents: 276
diff changeset
63 (${TAR} -C ${.CURDIR}/docs -c --exclude ./_build -f - . | ${TAR} -C ${WRKSRC}/docs -x -f - )
490aed463971 Implement a DOCS make option to build manual pages.
Franz Glasner <fzglas.hg@dom66.de>
parents: 276
diff changeset
64
490aed463971 Implement a DOCS make option to build manual pages.
Franz Glasner <fzglas.hg@dom66.de>
parents: 276
diff changeset
65 .if ${PORT_OPTIONS:MDOCS}
490aed463971 Implement a DOCS make option to build manual pages.
Franz Glasner <fzglas.hg@dom66.de>
parents: 276
diff changeset
66 do-build:
490aed463971 Implement a DOCS make option to build manual pages.
Franz Glasner <fzglas.hg@dom66.de>
parents: 276
diff changeset
67 (cd ${WRKSRC}/docs && sphinx-build -M man . _build)
289
e6ccee6a7144 Also build the HTML documentation.
Franz Glasner <fzglas.hg@dom66.de>
parents: 284
diff changeset
68 (cd ${WRKSRC}/docs && sphinx-build -M html . _build)
281
490aed463971 Implement a DOCS make option to build manual pages.
Franz Glasner <fzglas.hg@dom66.de>
parents: 276
diff changeset
69 .endif
490aed463971 Implement a DOCS make option to build manual pages.
Franz Glasner <fzglas.hg@dom66.de>
parents: 276
diff changeset
70
2
8781814174df Files to make a FreeBSD binary package for the tool
Franz Glasner <hg@dom66.de>
parents:
diff changeset
71 do-install:
276
3c24b07240f2 Move the implementation of "mount" and "umount" into the new tool fzfs.
Franz Glasner <fzglas.hg@dom66.de>
parents: 275
diff changeset
72 .for _rp in sbin/check-ports sbin/fjail sbin/ftjail sbin/fzfs sbin/fpkg sbin/bsmtp2dma
25
bba3470217c4 Refactor: loops with relative paths instead of the basenames
Franz Glasner <hg@dom66.de>
parents: 21
diff changeset
73 ${INSTALL_SCRIPT} ${WRKSRC}/${_rp} ${STAGEDIR}${PREFIX}/${_rp}
bba3470217c4 Refactor: loops with relative paths instead of the basenames
Franz Glasner <hg@dom66.de>
parents: 21
diff changeset
74 .endfor
65
29ede570c816 Adjusted the package's Makefile for new configuration file
Franz Glasner <hg@dom66.de>
parents: 57
diff changeset
75 ${MKDIR} ${STAGEDIR}${ETCDIR}
131
993fecdf2a70 Rename etc/tools.conf to etc/pkgtools.conf.
Franz Glasner <fzglas.hg@dom66.de>
parents: 128
diff changeset
76 .for _ef in package-mapping.conf.sample pkgtools.conf.sample bsmtp2dma.conf.sample
65
29ede570c816 Adjusted the package's Makefile for new configuration file
Franz Glasner <hg@dom66.de>
parents: 57
diff changeset
77 ${INSTALL_DATA} ${WRKSRC}/etc/${_ef} ${STAGEDIR}${ETCDIR}/${_ef}
29ede570c816 Adjusted the package's Makefile for new configuration file
Franz Glasner <hg@dom66.de>
parents: 57
diff changeset
78 .endfor
186
39e5b947a28e Create a periodic script to keep the IPv6 routing working.
Franz Glasner <fzglas.hg@dom66.de>
parents: 170
diff changeset
79 ${MKDIR} ${STAGEDIR}${PREFIX}/etc/periodic/daily
39e5b947a28e Create a periodic script to keep the IPv6 routing working.
Franz Glasner <fzglas.hg@dom66.de>
parents: 170
diff changeset
80 .for _ps in 800.local-ipv6-refresh
39e5b947a28e Create a periodic script to keep the IPv6 routing working.
Franz Glasner <fzglas.hg@dom66.de>
parents: 170
diff changeset
81 ${INSTALL_SCRIPT} ${WRKSRC}/etc/periodic/daily/${_ps} ${STAGEDIR}${PREFIX}/etc/periodic/daily
39e5b947a28e Create a periodic script to keep the IPv6 routing working.
Franz Glasner <fzglas.hg@dom66.de>
parents: 170
diff changeset
82 .endfor
39e5b947a28e Create a periodic script to keep the IPv6 routing working.
Franz Glasner <fzglas.hg@dom66.de>
parents: 170
diff changeset
83
281
490aed463971 Implement a DOCS make option to build manual pages.
Franz Glasner <fzglas.hg@dom66.de>
parents: 276
diff changeset
84 post-install-DOCS-on:
284
106cd5d9da7e Put all manual pages into section 8 (FreeBSD System Manager's Manual)
Franz Glasner <fzglas.hg@dom66.de>
parents: 283
diff changeset
85 .for _mp in local-bsdtools.8 fzfs.8 fzfs-mount.8 fzfs-umount.8
106cd5d9da7e Put all manual pages into section 8 (FreeBSD System Manager's Manual)
Franz Glasner <fzglas.hg@dom66.de>
parents: 283
diff changeset
86 ${INSTALL_DATA} ${WRKSRC}/docs/_build/man/${_mp} ${STAGEDIR}${LOCALBASE}/man/man8/${_mp}
283
1fc3b04b39fa Build and package manual pages for fzfs, fzfs-mount and fzfs-umount.
Franz Glasner <fzglas.hg@dom66.de>
parents: 281
diff changeset
87 .endfor
281
490aed463971 Implement a DOCS make option to build manual pages.
Franz Glasner <fzglas.hg@dom66.de>
parents: 276
diff changeset
88
2
8781814174df Files to make a FreeBSD binary package for the tool
Franz Glasner <hg@dom66.de>
parents:
diff changeset
89 .include <bsd.port.mk>