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