ports/54883: Add ports infrastructure for info files
Gerald Pfeifer
pfeifer at dbai.tuwien.ac.at
Sat Jul 26 15:00:17 UTC 2003
>Number: 54883
>Category: ports
>Synopsis: Add ports infrastructure for info files
>Confidential: no
>Severity: serious
>Priority: high
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: update
>Submitter-Id: current-users
>Arrival-Date: Sat Jul 26 08:00:15 PDT 2003
>Closed-Date:
>Last-Modified:
>Originator: Gerald Pfeifer
>Release: FreeBSD 4.8-RELEASE i386
>Organization:
>Environment:
>Description:
The ports collection has had support for man pages for a long
time, but lacks direct support for info files (as generated by
GNU makeinfo).
This means that for every file, pkg-plist needs to include one
@exec and one @unexec entry per file, and one or more entries
for the individual pieces of that file.
Furthermore, and this is a serious problem since the recent
updates of texinfo/makeinfo, one texinfo file may be split
into different numbers of .info and .info-* files.
>How-To-Repeat:
>Fix:
The patch below adds support for a new entry INFO in ports
Makefiles that accepts a list of info-files and handles pkg-plist
fully automatically.
We can only determine the actual number/names of the
.info-{1,2,3,...} files _after_ installation, so we cannot
add the new functionality to the generate-plist target.
(Given that David O'Brien's similar machinery in the lang/gcc3x
ports has been tested in the field for a long time, and my tests
with the cfengine2 port which has info documentations consisting
both of single and multiple files also worked fine, I hope this
is acceptable.)
Index: bsd.port.mk
===================================================================
RCS file: /sw/FreeBSD/CVSUP/ports/Mk/bsd.port.mk,v
retrieving revision 1.457
diff -u -3 -p -r1.457 bsd.port.mk
--- bsd.port.mk 22 Jul 2003 03:51:15 -0000 1.457
+++ bsd.port.mk 23 Jul 2003 23:10:07 -0000
@@ -526,6 +526,11 @@ FreeBSD_MAINTAINER= portmgr at FreeBSD.org
# is set and NO_INSTALL_MANPAGES is not set, and
# "no" otherwise.
#
+# Set the following to specify all .info files your port installs.
+#
+# INFO - A list of .info files (omitting the trailing ".info");
+# only one entry per document!
+#
# Default targets and their behaviors:
#
# fetch - Retrieves ${DISTFILES} (and ${PATCHFILES} if defined)
@@ -3212,7 +3217,7 @@ _INSTALL_SEQ= install-message check-cate
run-depends lib-depends pre-install pre-install-script \
generate-plist check-already-installed
_INSTALL_SUSEQ= check-umask install-mtree pre-su-install \
- pre-su-install-script do-install post-install \
+ pre-su-install-script do-install add-plist-info post-install \
post-install-script compress-man run-ldconfig fake-pkg \
security-check
_PACKAGE_DEP= install
@@ -4251,6 +4256,15 @@ generate-plist:
${TMPPLIST}:
@cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} generate-plist
+
+add-plist-info:
+.for i in ${INFO}
+ @${ECHO_CMD} "@unexec install-info --delete %D/info/$i.info %D/info/dir" \
+ >> ${TMPPLIST}
+ @${LS} ${PREFIX}/info/$i.info* | ${SED} -e s:${PREFIX}/::g >> ${TMPPLIST}
+ @${ECHO_CMD} "@exec install-info %D/info/$i.info %D/info/dir" \
+ >> ${TMPPLIST}
+.endfor
# Compress (or uncompress) and symlink manpages.
.if !target(compress-man)
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list