summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjperkin <jperkin@pkgsrc.org>2013-09-12 10:56:36 +0000
committerjperkin <jperkin@pkgsrc.org>2013-09-12 10:56:36 +0000
commit090a9fe49ba01e1daa3ac88ce9952c991b0c50ae (patch)
tree62ed722b0158f0e97b7af0a53ee155b6c48394aa
parentb620d03ac04cc68bf45bc0ae0259b35aae5e5367 (diff)
downloadpkgsrc-090a9fe49ba01e1daa3ac88ce9952c991b0c50ae.tar.gz
bootstrap-mk-files-20130912: Fix catman pages on SunOS.
Introduce a modified bsd.own.mk on SunOS which enables MKCATPAGES by default, and a modified bsd.man.mk which correctly installs catman pages with a section suffix rather than a blanket '.0'. This allows the SunOS man(1) to find the catman pages correctly.
-rw-r--r--pkgtools/bootstrap-mk-files/Makefile4
-rw-r--r--pkgtools/bootstrap-mk-files/files/mods/SunOS.bsd.man.mk201
-rw-r--r--pkgtools/bootstrap-mk-files/files/mods/SunOS.bsd.own.mk.in327
3 files changed, 530 insertions, 2 deletions
diff --git a/pkgtools/bootstrap-mk-files/Makefile b/pkgtools/bootstrap-mk-files/Makefile
index ac77333d1ad..77198e14ba4 100644
--- a/pkgtools/bootstrap-mk-files/Makefile
+++ b/pkgtools/bootstrap-mk-files/Makefile
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.36 2013/09/08 16:27:23 ryoon Exp $
+# $NetBSD: Makefile,v 1.37 2013/09/12 10:56:36 jperkin Exp $
-DISTNAME= bootstrap-mk-files-20130908
+DISTNAME= bootstrap-mk-files-20130912
CATEGORIES= pkgtools
MASTER_SITES= # empty
DISTFILES= # empty
diff --git a/pkgtools/bootstrap-mk-files/files/mods/SunOS.bsd.man.mk b/pkgtools/bootstrap-mk-files/files/mods/SunOS.bsd.man.mk
new file mode 100644
index 00000000000..f555ff66a45
--- /dev/null
+++ b/pkgtools/bootstrap-mk-files/files/mods/SunOS.bsd.man.mk
@@ -0,0 +1,201 @@
+# $NetBSD: SunOS.bsd.man.mk,v 1.1 2013/09/12 10:56:36 jperkin Exp $
+# @(#)bsd.man.mk 8.1 (Berkeley) 6/8/93
+
+.if !target(__initialized__)
+__initialized__:
+.if exists(${.CURDIR}/../Makefile.inc)
+.include "${.CURDIR}/../Makefile.inc"
+.endif
+.include <bsd.own.mk>
+.include <bsd.obj.mk>
+.include <bsd.depall.mk>
+.MAIN: all
+.endif
+
+.PHONY: catinstall maninstall catpages manpages catlinks manlinks cleanman html installhtml cleanhtml
+.if ${MKMAN} != "no"
+realinstall: ${MANINSTALL}
+.endif
+cleandir: cleanman
+
+TMACDIR?= ${DESTDIR}/usr/share/groff/tmac
+HTMLDIR?= ${DESTDIR}/usr/share/man
+.if exists(${TMACDIR}/tmac.andoc) && exists(${TMACDIR}/tmac.doc)
+CATDEPS?= ${TMACDIR}/tmac.andoc \
+ ${TMACDIR}/tmac.doc
+.endif
+MANTARGET?= cat
+NROFF?= nroff -Tascii
+GROFF?= groff -Tascii
+TBL?= tbl
+
+
+.SUFFIXES: .1 .2 .3 .4 .5 .6 .7 .8 .9 \
+ .cat1 .cat2 .cat3 .cat4 .cat5 .cat6 .cat7 .cat8 .cat9 \
+ .html1 .html2 .html3 .html4 .html5 .html6 .html7 .html8 .html9
+
+.9.cat9 .8.cat8 .7.cat7 .6.cat6 .5.cat5 .4.cat4 .3.cat3 .2.cat2 .1.cat1: \
+ ${CATDEPS}
+.if !defined(USETBL)
+ @echo "${NROFF} -mandoc ${.IMPSRC} > ${.TARGET}"
+ @${NROFF} -mandoc ${.IMPSRC} > ${.TARGET} || \
+ (rm -f ${.TARGET}; false)
+.else
+ @echo "${TBL} ${.IMPSRC} | ${NROFF} -mandoc > ${.TARGET}"
+ @${TBL} ${.IMPSRC} | ${NROFF} -mandoc > ${.TARGET} || \
+ (rm -f ${.TARGET}; false)
+.endif
+
+.9.html9 .8.html8 .7.html7 .6.html6 .5.html5 .4.html4 .3.html3 .2.html2 .1.html1: \
+ ${CATDEPS}
+.if !defined(USETBL)
+ @echo "${GROFF} -mdoc2html -P-b -P-u -P-o ${.IMPSRC} > ${.TARGET}"
+ @${GROFF} -mdoc2html -P-b -P-u -P-o ${.IMPSRC} > ${.TARGET} || \
+ (rm -f ${.TARGET}; false)
+.else
+ @echo "${TBL} ${.IMPSRC} | ${GROFF} -mdoc2html -P-b -P-u -P-o > ${.TARGET}"
+ @cat ${.IMPSRC} | ${GROFF} -mdoc2html -P-b -P-u -P-o > ${.TARGET} || \
+ (rm -f ${.TARGET}; false)
+.endif
+
+.if defined(MAN) && !empty(MAN)
+MANPAGES= ${MAN}
+CATPAGES= ${MANPAGES:C/(.*).([1-9])/\1.cat\2/}
+.NOPATH: ${CATPAGES}
+.if !defined(NOHTML)
+HTMLPAGES= ${MANPAGES:C/(.*).([1-9])/\1.html\2/}
+.endif
+.endif
+
+MINSTALL= ${INSTALL} ${RENAME} ${PRESERVE} ${COPY} ${INSTPRIV} \
+ -o ${MANOWN} -g ${MANGRP} -m ${MANMODE}
+
+.if defined(MANZ)
+# chown and chmod are done afterward automatically
+MCOMPRESS= gzip -cf
+MCOMPRESSSUFFIX= .gz
+.endif
+
+catinstall: catlinks
+maninstall: manlinks
+
+__installpage: .USE
+.if defined(MCOMPRESS) && !empty(MCOMPRESS)
+ @rm -f ${.TARGET}
+ ${MCOMPRESS} ${.ALLSRC} > ${.TARGET}
+ @chown ${MANOWN}:${MANGRP} ${.TARGET}
+ @chmod ${MANMODE} ${.TARGET}
+.else
+ @cmp -s ${.ALLSRC} ${.TARGET} > /dev/null 2>&1 || \
+ (echo "${MINSTALL} ${.ALLSRC} ${.TARGET}" && \
+ ${MINSTALL} ${.ALLSRC} ${.TARGET})
+.endif
+
+
+# Rules for cat'ed man page installation
+.if defined(CATPAGES) && !empty(CATPAGES) && ${MKCATPAGES} != "no"
+catpages:: ${CATPAGES:@P@${DESTDIR}${MANDIR}/${P:T:E}${MANSUBDIR}/${P:T:S/.cat/./}${MCOMPRESSSUFFIX}@}
+.PRECIOUS: ${CATPAGES:@P@${DESTDIR}${MANDIR}/${P:T:E}${MANSUBDIR}/${P:T:S/.cat/./}${MCOMPRESSSUFFIX}@}
+.if !defined(UPDATE)
+.PHONY: ${CATPAGES:@P@${DESTDIR}${MANDIR}/${P:T:E}${MANSUBDIR}/${P:T:S/.cat/./}${MCOMPRESSSUFFIX}@}
+.endif
+
+. for P in ${CATPAGES:O:u}
+. if !defined(BUILD) && !make(all) && !make(${P})
+${DESTDIR}${MANDIR}/${P:T:E}${MANSUBDIR}/${P:T:S/.cat/./}${MCOMPRESSSUFFIX}: .MADE
+. endif
+${DESTDIR}${MANDIR}/${P:T:E}${MANSUBDIR}/${P:T:S/.cat/./}${MCOMPRESSSUFFIX}: ${P} __installpage
+. endfor
+.else
+catpages::
+.endif
+
+# Rules for source page installation
+.if defined(MANPAGES) && !empty(MANPAGES)
+manpages:: ${MANPAGES:@P@${DESTDIR}${MANDIR}/man${P:T:E}${MANSUBDIR}/${P}${MCOMPRESSSUFFIX}@}
+.PRECIOUS: ${MANPAGES:@P@${DESTDIR}${MANDIR}/man${P:T:E}${MANSUBDIR}/${P}${MCOMPRESSSUFFIX}@}
+.if !defined(UPDATE)
+.PHONY: ${MANPAGES:@P@${DESTDIR}${MANDIR}/man${P:T:E}${MANSUBDIR}/${P}${MCOMPRESSSUFFIX}@}
+.endif
+
+. for P in ${MANPAGES:O:u}
+${DESTDIR}${MANDIR}/man${P:T:E}${MANSUBDIR}/${P}${MCOMPRESSSUFFIX}: ${P} __installpage
+. endfor
+.else
+manpages::
+.endif
+
+.if ${MKCATPAGES} != "no"
+catlinks: catpages
+.if defined(MLINKS) && !empty(MLINKS)
+ @set ${MLINKS}; \
+ while test $$# -ge 2; do \
+ name=$$1; \
+ shift; \
+ dir=${DESTDIR}${MANDIR}/cat$${name##*.}; \
+ l=$${dir}${MANSUBDIR}/$${name}${MCOMPRESSSUFFIX}; \
+ name=$$1; \
+ shift; \
+ dir=${DESTDIR}${MANDIR}/cat$${name##*.}; \
+ t=$${dir}${MANSUBDIR}/$${name}${MCOMPRESSSUFFIX}; \
+ if test $$l -nt $$t -o ! -f $$t; then \
+ echo $$t -\> $$l; \
+ ln -f $$l $$t; \
+ fi; \
+ done
+.endif
+.else
+catlinks:
+.endif
+
+manlinks: manpages
+.if defined(MLINKS) && !empty(MLINKS)
+ @set ${MLINKS}; \
+ while test $$# -ge 2; do \
+ name=$$1; \
+ shift; \
+ dir=${DESTDIR}${MANDIR}/man$${name##*.}; \
+ l=$${dir}${MANSUBDIR}/$${name}${MCOMPRESSSUFFIX}; \
+ name=$$1; \
+ shift; \
+ dir=${DESTDIR}${MANDIR}/man$${name##*.}; \
+ t=$${dir}${MANSUBDIR}/$${name}${MCOMPRESSSUFFIX}; \
+ if test $$l -nt $$t -o ! -f $$t; then \
+ echo $$t -\> $$l; \
+ ln -f $$l $$t; \
+ fi; \
+ done
+.endif
+
+# Html rules
+html: ${HTMLPAGES}
+
+.if defined(HTMLPAGES) && !empty(HTMLPAGES)
+.for P in ${HTMLPAGES:O:u}
+${HTMLDIR}/${P:T:E}/${P:T:R}.html: ${P}
+ ${MINSTALL} ${.ALLSRC} ${.TARGET}
+.endfor
+.endif
+installhtml: ${HTMLPAGES:@P@${HTMLDIR}/${P:T:E}/${P:T:R}.html@}
+
+cleanhtml:
+.if defined(HTMLPAGES) && !empty(HTMLPAGES)
+ rm -f ${HTMLPAGES}
+.endif
+
+
+.if defined(CATPAGES)
+.if ${MKCATPAGES} != "no" && ${MKMAN} != "no"
+realall: ${CATPAGES}
+.else
+realall:
+.endif
+
+cleanman:
+ rm -f ${CATPAGES}
+.else
+cleanman:
+.endif
+
+# Make sure all of the standard targets are defined, even if they do nothing.
+clean depend includes lint regress tags:
diff --git a/pkgtools/bootstrap-mk-files/files/mods/SunOS.bsd.own.mk.in b/pkgtools/bootstrap-mk-files/files/mods/SunOS.bsd.own.mk.in
new file mode 100644
index 00000000000..d737c9ca1df
--- /dev/null
+++ b/pkgtools/bootstrap-mk-files/files/mods/SunOS.bsd.own.mk.in
@@ -0,0 +1,327 @@
+# $NetBSD: SunOS.bsd.own.mk.in,v 1.1 2013/09/12 10:56:36 jperkin Exp $
+
+.if !defined(_BSD_OWN_MK_)
+_BSD_OWN_MK_=1
+
+.if defined(MAKECONF) && exists(${MAKECONF})
+.include "${MAKECONF}"
+.elif exists(@SYSCONFDIR@/mk.conf)
+.include "@SYSCONFDIR@/mk.conf"
+.elif exists(/etc/mk.conf)
+.include "/etc/mk.conf"
+.endif
+
+# Defining `SKEY' causes support for S/key authentication to be compiled in.
+SKEY= yes
+
+# where the system object and source trees are kept; can be configurable
+# by the user in case they want them in ~/foosrc and ~/fooobj, for example
+BSDSRCDIR?= /usr/src
+BSDOBJDIR?= /usr/obj
+
+BINGRP?= @ROOT_GROUP@
+BINOWN?= @ROOT_USER@
+BINMODE?= 555
+NONBINMODE?= 444
+
+# Define MANZ to have the man pages compressed (gzip)
+#MANZ= 1
+
+MANDIR?= /usr/share/man
+MANGRP?= @ROOT_GROUP@
+MANOWN?= @ROOT_USER@
+MANMODE?= ${NONBINMODE}
+MANINSTALL?= ${_MANINSTALL}
+
+INFODIR?= /usr/share/info
+INFOGRP?= @ROOT_GROUP@
+INFOOWN?= @ROOT_USER@
+INFOMODE?= ${NONBINMODE}
+
+LIBDIR?= /usr/lib
+LINTLIBDIR?= /usr/libdata/lint
+LIBGRP?= ${BINGRP}
+LIBOWN?= ${BINOWN}
+LIBMODE?= ${NONBINMODE}
+
+DOCDIR?= /usr/share/doc
+HTMLDOCDIR?= /usr/share/doc/html
+DOCGRP?= @ROOT_GROUP@
+DOCOWN?= @ROOT_USER@
+DOCMODE?= ${NONBINMODE}
+
+NLSDIR?= /usr/share/nls
+NLSGRP?= @ROOT_GROUP@
+NLSOWN?= @ROOT_USER@
+NLSMODE?= ${NONBINMODE}
+
+KMODDIR?= /usr/lkm
+KMODGRP?= @ROOT_GROUP@
+KMODOWN?= @ROOT_USER@
+KMODMODE?= ${NONBINMODE}
+
+LOCALEDIR?= /usr/share/locale
+LOCALEGRP?= @ROOT_GROUP@
+LOCALEOWN?= @ROOT_USER@
+LOCALEMODE?= ${NONBINMODE}
+
+COPY?= -c
+.if defined(UPDATE)
+PRESERVE?= -p
+.else
+PRESERVE?=
+.endif
+.if defined(UNPRIVILEGED)
+INSTPRIV?= -U
+.endif
+STRIPFLAG?= -s
+
+# Define SYS_INCLUDE to indicate whether you want symbolic links to the system
+# source (``symlinks''), or a separate copy (``copies''); (latter useful
+# in environments where it's not possible to keep /sys publicly readable)
+#SYS_INCLUDE= symlinks
+
+# The sh3 port is incomplete.
+.if ${MACHINE_ARCH} == "sh3eb" || ${MACHINE_ARCH} == "sh3el"
+NOLINT=1
+NOPROFILE=1
+OBJECT_FMT?=COFF
+NOPIC?=1
+.endif
+
+# The sparc64 port is incomplete.
+# Profiling and linting is also off on the x86_64 port at the moment.
+.if ${MACHINE_ARCH} == "sparc64" || ${MACHINE_ARCH} == "x86_64"
+NOPROFILE=1
+NOLINT=1
+.endif
+
+# The m68000 port is incomplete.
+.if ${MACHINE_ARCH} == "m68000"
+NOLINT=1
+NOPROFILE=1
+NOPIC?=1
+.endif
+
+# Data-driven table using make variables to control how
+# toolchain-dependent targets and shared libraries are built
+# for different platforms and object formats.
+# OBJECT_FMT: currently either "ELF" or "a.out".
+# SHLIB_TYPE: "ELF" or "a.out" or "" to force static libraries.
+#
+.if ${MACHINE_ARCH} == "alpha" || \
+ ${MACHINE_ARCH} == "mipsel" || ${MACHINE_ARCH} == "mipseb" || \
+ ${MACHINE_ARCH} == "powerpc" || \
+ ${MACHINE_ARCH} == "sparc" || \
+ ${MACHINE_ARCH} == "sparc64" || \
+ ${MACHINE_ARCH} == "x86_64" || \
+ ${MACHINE_ARCH} == "i386" || \
+ ${MACHINE_ARCH} == "m68000" || \
+ ${MACHINE_ARCH} == "arm" || \
+ ${MACHINE} == "next68k" || \
+ ${MACHINE} == "sun3" || \
+ ${MACHINE} == "mvme68k" || \
+ ${MACHINE} == "hp300" || \
+ ${MACHINE} == "news68k" || \
+ ${MACHINE} == "arm26"
+OBJECT_FMT?=ELF
+.else
+OBJECT_FMT?=a.out
+.endif
+
+# Location of the file that contains the major and minor numbers of the
+# version of a shared library. If this file exists a shared library
+# will be built by <bsd.lib.mk>.
+SHLIB_VERSION_FILE?= ${.CURDIR}/shlib_version
+
+# GNU sources and packages sometimes see architecture names differently.
+# This table maps an architecture name to its GNU counterpart.
+# Use as so: ${GNU_ARCH.${TARGET_ARCH}} or ${MACHINE_GNU_ARCH}
+.ifndef MACHINE_GNU_ARCH
+GNU_ARCH.alpha=alpha
+GNU_ARCH.arm26=arm
+GNU_ARCH.arm32=arm
+GNU_ARCH.arm=arm
+GNU_ARCH.i386=i386
+GNU_ARCH.m68k=m68k
+GNU_ARCH.mipseb=mipseb
+GNU_ARCH.mipsel=mipsel
+GNU_ARCH.ns32k=ns32k
+GNU_ARCH.powerpc=powerpc
+GNU_ARCH.sh3eb=sh
+GNU_ARCH.sh3el=sh
+GNU_ARCH.sparc=sparc
+GNU_ARCH.sparc64=sparc64
+GNU_ARCH.vax=vax
+MACHINE_GNU_ARCH=${GNU_ARCH.${MACHINE_ARCH}}
+.endif
+
+# In order to identify NetBSD to GNU packages, we sometimes need
+# an "elf" tag for historically a.out platforms.
+.if ${OBJECT_FMT} == "ELF" && \
+ (${MACHINE_ARCH} == "arm" || \
+ ${MACHINE_ARCH} == "i386" || \
+ ${MACHINE_ARCH} == "m68k" || \
+ ${MACHINE_ARCH} == "sparc" || \
+ ${MACHINE_ARCH} == "vax")
+MACHINE_GNU_PLATFORM?= netbsdelf
+.else
+MACHINE_GNU_PLATFORM?= netbsd
+.endif
+
+# CPU model, derived from MACHINE_ARCH
+MACHINE_CPU= ${MACHINE_ARCH:C/mipse[bl]/mips/:S/arm26/arm/:S/arm32/arm/:C/sh3e[bl]/sh3/:S/m68000/m68k/}
+
+.if ${MACHINE_ARCH} == "mips"
+.BEGIN:
+ @echo Must set MACHINE_ARCH to one of mipseb or mipsel
+ @false
+.endif
+.if ${MACHINE_ARCH} == "sh3"
+.BEGIN:
+ @echo Must set MACHINE_ARCH to one of sh3eb or sh3el
+ @false
+.endif
+
+TARGETS+= all clean cleandir depend dependall includes \
+ install lint obj regress tags html installhtml cleanhtml
+.PHONY: all clean cleandir depend dependall distclean includes \
+ install lint obj regress tags beforedepend afterdepend \
+ beforeinstall afterinstall realinstall realdepend realall \
+ html installhtml cheanhtml
+
+# set NEED_OWN_INSTALL_TARGET, if it's not already set, to yes
+# this is used by bsd.pkg.mk to stop "install" being defined
+NEED_OWN_INSTALL_TARGET?= yes
+
+.if ${NEED_OWN_INSTALL_TARGET} == "yes"
+.if !target(install)
+install: .NOTMAIN beforeinstall subdir-install realinstall afterinstall
+beforeinstall: .NOTMAIN
+subdir-install: .NOTMAIN beforeinstall
+realinstall: .NOTMAIN beforeinstall
+afterinstall: .NOTMAIN subdir-install realinstall
+.endif
+all: .NOTMAIN realall subdir-all
+subdir-all: .NOTMAIN
+realall: .NOTMAIN
+depend: .NOTMAIN realdepend subdir-depend
+subdir-depend: .NOTMAIN
+realdepend: .NOTMAIN
+distclean: .NOTMAIN cleandir
+.endif
+
+PRINTOBJDIR= printf "xxx: .MAKE\n\t@echo \$${.OBJDIR}\n" | ${MAKE} -B -s -f-
+
+# Define MKxxx variables (which are either yes or no) for users
+# to set in /etc/mk.conf and override on the make commandline.
+# These should be tested with `== "no"' or `!= "no"'.
+# The NOxxx variables should only be used by Makefiles.
+#
+
+MKCATPAGES?=yes
+
+.if defined(NODOC)
+MKDOC=no
+#.elif !defined(MKDOC)
+#MKDOC=yes
+.else
+MKDOC?=yes
+.endif
+
+_MANINSTALL= maninstall
+.if ${MKCATPAGES} != "no"
+_MANINSTALL+= catinstall
+.endif
+
+MKINFO?=yes
+
+.if defined(NOLINKLIB)
+MKLINKLIB=no
+.else
+MKLINKLIB?=yes
+.endif
+.if ${MKLINKLIB} == "no"
+MKPICINSTALL=no
+MKPROFILE=no
+.endif
+
+MKLINT?=no
+
+.if defined(NOMAN)
+MKMAN=no
+.else
+MKMAN?=yes
+.endif
+.if ${MKMAN} == "no"
+MKCATPAGES=no
+.endif
+
+.if defined(NONLS)
+MKNLS=no
+.else
+MKNLS?=yes
+.endif
+
+#
+# MKOBJDIRS controls whether object dirs are created during "make build".
+# MKOBJ controls whether the "make obj" rule does anything.
+#
+.if defined(NOOBJ)
+MKOBJ=no
+MKOBJDIRS=no
+.else
+MKOBJ?=yes
+MKOBJDIRS?=no
+.endif
+
+.if defined(NOPIC)
+MKPIC=no
+.else
+MKPIC?=yes
+.endif
+
+.if defined(NOPICINSTALL)
+MKPICINSTALL=no
+.else
+MKPICINSTALL?=yes
+.endif
+
+.if defined(NOPROFILE)
+MKPROFILE=no
+.else
+MKPROFILE?=yes
+.endif
+
+.if defined(NOSHARE)
+MKSHARE=no
+.else
+MKSHARE?=yes
+.endif
+.if ${MKSHARE} == "no"
+MKCATPAGES=no
+MKDOC=no
+MKINFO=no
+MKMAN=no
+MKNLS=no
+.endif
+
+.if defined(NOCRYPTO)
+MKCRYPTO=no
+.else
+MKCRYPTO?=yes
+.endif
+
+MKCRYPTO_IDEA?=no
+
+MKCRYPTO_RC5?=no
+
+.if defined(NOKERBEROS) || (${MKCRYPTO} == "no")
+MKKERBEROS=no
+.else
+MKKERBEROS?=yes
+.endif
+
+MKSOFTFLOAT?=no
+
+.endif # _BSD_OWN_MK_