Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 15 Jul 2003 16:11:08 +0200 (CEST)
From:      Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
To:        Kris Kennaway <kris@obsecurity.org>
Cc:        ports-committers@FreeBSD.org
Subject:   Re: texinfo breakage
Message-ID:  <Pine.BSF.4.56.0307151336300.26555@naos.dbai.tuwien.ac.at>
In-Reply-To: <20030715034041.GA19804@rot13.obsecurity.org>
References:  <200307120606.h6C66T69010399@repoman.freebsd.org> <1057992291.42958.21.camel@shumai.marcuscom.com> <Pine.BSF.4.56.0307131243370.945@acrux.dbai.tuwien.ac.at> <20030715034041.GA19804@rot13.obsecurity.org>

index | next in thread | previous in thread | raw e-mail

[-- Attachment #1 --]
On Mon, 14 Jul 2003, Kris Kennaway wrote:
>> Ultimately, I strongly feel that the current handling of .info files in
>> the ports collection is broken in that every port handles them manually.
> I'd be happy to test any solution you can come up with, but as it
> stands right now the texinfo port has caused dozens of package builds
> to fail, and I need someone to either volunteer to fix them, or [...]

Finally enhancing the ports infrastructure to deal with info files is
really overdue (as we are currently experiencing).

So, here is a patch! :-)

I successfully tested this per
  http://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/porting-testing.html
(working the `make deinstall` bug which was already present there) using
the sysutils/cfengine2 port, which has info documentations consisting both
of single and multiple files.

A patch to update sysutils/cfengine2 as attached as well, and if you look
at that, I hope you will agree on the beauty of my approach. ;-)

Cheers,
Gerald

Index: bsd.port.mk
===================================================================
RCS file: /sw/FreeBSD/CVSUP/ports/Mk/bsd.port.mk,v
retrieving revision 1.456
diff -u -2 -p -r1.456 bsd.port.mk
--- bsd.port.mk	11 Jul 2003 06:30:43 -0000	1.456
+++ bsd.port.mk	15 Jul 2003 13:58:38 -0000
@@ -527,4 +527,9 @@ FreeBSD_MAINTAINER=	portmgr@FreeBSD.org
 #				  "no" otherwise.
 #
+# And set the following to specifiy 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:
 #
@@ -3213,5 +3218,5 @@ _INSTALL_SEQ=	install-message check-cate
 				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
@@ -4252,4 +4257,13 @@ 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* | ${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.
[-- Attachment #2 --]
Index: Makefile
===================================================================
RCS file: /sw/FreeBSD/CVSUP/ports/sysutils/cfengine2/Makefile,v
retrieving revision 1.26
diff -u -3 -p -r1.26 Makefile
--- Makefile	7 Mar 2003 06:11:08 -0000	1.26
+++ Makefile	15 Jul 2003 13:42:12 -0000
@@ -25,5 +25,6 @@ HAS_CONFIGURE=	yes
 CONFIGURE_ARGS=	--prefix=${PREFIX}
 
 MAN8=		cfengine.8
+INFO=		cfengine-Anomalies cfengine-Reference cfengine-Tutorial
 
 .include <bsd.port.mk>
Index: pkg-plist
===================================================================
RCS file: /sw/FreeBSD/CVSUP/ports/sysutils/cfengine2/pkg-plist,v
retrieving revision 1.7
diff -u -3 -p -r1.7 pkg-plist
--- pkg-plist	30 Jul 2002 18:34:22 -0000	1.7
+++ pkg-plist	15 Jul 2003 13:31:27 -0000
@@ -1,26 +1,3 @@
-@unexec install-info --delete %D/info/cfengine-Anomalies.info %D/info/dir
-@unexec install-info --delete %D/info/cfengine-Reference.info %D/info/dir
-@unexec install-info --delete %D/info/cfengine-Tutorial.info %D/info/dir
-info/cfengine-Anomalies.info
-info/cfengine-Reference.info
-info/cfengine-Reference.info-1
-info/cfengine-Reference.info-2
-info/cfengine-Reference.info-3
-info/cfengine-Reference.info-4
-info/cfengine-Reference.info-5
-info/cfengine-Reference.info-6
-info/cfengine-Reference.info-7
-info/cfengine-Reference.info-8
-info/cfengine-Tutorial.info
-info/cfengine-Tutorial.info-1
-info/cfengine-Tutorial.info-2
-info/cfengine-Tutorial.info-3
-info/cfengine-Tutorial.info-4
-info/cfengine-Tutorial.info-5
-info/cfengine-Tutorial.info-6
-@exec install-info %D/info/cfengine-Anomalies.info %D/info/dir
-@exec install-info %D/info/cfengine-Reference.info %D/info/dir
-@exec install-info %D/info/cfengine-Tutorial.info %D/info/dir
 sbin/cfagent
 sbin/cfdoc
 sbin/cfenvd
help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.56.0307151336300.26555>