ports/99755: pkg-plist of editors/emacs-devel breaks for consecutive `make install' runs

Giorgos Keramidas keramida at FreeBSD.org
Mon Jul 3 23:10:17 UTC 2006


>Number:         99755
>Category:       ports
>Synopsis:       pkg-plist of editors/emacs-devel breaks for consecutive `make install' runs
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          maintainer-update
>Submitter-Id:   current-users
>Arrival-Date:   Mon Jul 03 23:10:15 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator:     Giorgos Keramidas
>Release:        FreeBSD 7.0-CURRENT i386
>Organization:
>Environment:

System: FreeBSD gothmog.pc 7.0-CURRENT FreeBSD 7.0-CURRENT #0:
Thu Jun 29 13:10:42 EEST 2006
build at gothmog.pc:/home/build/obj/home/build/src/sys/GOTHMOG i386

>Description:

The `make install' target of editors/emacs-devel reuses the `emacs'
binary from ${WRKSRC}/src/emacs, but this means that the internal
version of the generated Emacs binary is bumped every time the user runs
`make install' in ports/editors/emacs-devel.

The attached patch cleans the ${WRKSRC}/src/emacs* binaries before
running `make install' and rebuilds them with an internal Emacs version
number of 22.0.50.1.  Then the build of Emacs runs make-docfile twice,
thus installing `etc/DOC', `etc/DOC-22.0.50.1' and `22.0.50.2'.

By rebuilding the src/emacs* binaries right before we install, we make
sure that these are the only DOC* files and adding them to the pkg-plist
fixes the recent problems reported to me by Mark Linimon.

>How-To-Repeat:

    * Run `make install' in ports/editors/emacs-devel.
    
    * Run it once again.
    
    * Run `make deinstall' and when the warnings about non-empty dirs
      are printed, look at `/usr/local/share/emacs/22.0.50/etc' for
      files named `DOC*':

        $ find /usr/local/share/emacs/22.0.50/etc -name DOC\*
	/usr/local/share/emacs/22.0.50/etc/DOC-22.0.50.3
	/usr/local/share/emacs/22.0.50/etc/DOC-22.0.50.4
	[...]

    * Every time you re-run `make install' without removing the `work'
      directory of the port a new stale file is left behind with the
      documentation strings of an internal Emacs version that have not
      been recorded to the pkg-plist.

>Fix:

--- emacs-devel.patch begins here ---
Index: Makefile
===================================================================
RCS file: /home/ncvs/ports/editors/emacs-devel/Makefile,v
retrieving revision 1.4
diff -u -r1.4 Makefile
--- Makefile	29 May 2006 10:46:39 -0000	1.4
+++ Makefile	3 Jul 2006 22:11:17 -0000
@@ -74,7 +74,26 @@
 EXTRA_PATCHES+=	${FILESDIR}/extrapatch-texinfo
 .endif
 
+pre-everything::
+.if !defined(WITHOUT_X11) && !defined(WITHOUT_GTK)
+	@${ECHO_MSG} "====>"
+	@${ECHO_MSG} "====> To disable GTK+ interface support, define WITHOUT_X11 or WITHOUT_GTK"
+	@${ECHO_MSG} "====>"
+.endif
+.if !defined(WITHOUT_X11) && !defined(WITHOUT_XIM)
+	@${ECHO_MSG} "====>"
+	@${ECHO_MSG} "====> To disable X11 Input Method support, define WITHOUT_XIM"
+	@${ECHO_MSG} "====>"
+.endif
+
 pre-build:
 	(cd ${WRKSRC} ; make bootstrap)
 
+pre-install:
+	(cd ${WRKSRC}/lisp ; \
+	 ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} recompile ; \
+	 ${RM} ${WRKSRC}/src/emacs ${WRKSRC}/src/emacs-${EMACS_VER}.[0-9]* ; \
+	 cd ${WRKSRC}/src ; \
+	 ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} ${ALL_TARGET})
+
 .include <bsd.port.post.mk>
Index: pkg-plist
===================================================================
RCS file: /home/ncvs/ports/editors/emacs-devel/pkg-plist,v
retrieving revision 1.3
diff -u -r1.3 pkg-plist
--- pkg-plist	29 May 2006 10:46:39 -0000	1.3
+++ pkg-plist	3 Jul 2006 21:58:40 -0000
@@ -25,6 +25,7 @@
 %%DATADIR%%/%%EMACS_VER%%/etc/DEBUG
 %%DATADIR%%/%%EMACS_VER%%/etc/DISTRIB
 %%DATADIR%%/%%EMACS_VER%%/etc/DOC-%%EMACS_VER%%.1
+%%DATADIR%%/%%EMACS_VER%%/etc/DOC-%%EMACS_VER%%.2
 %%DATADIR%%/%%EMACS_VER%%/etc/ERC-NEWS
 %%DATADIR%%/%%EMACS_VER%%/etc/ETAGS.EBNF
 %%DATADIR%%/%%EMACS_VER%%/etc/FTP
--- emacs-devel.patch ends here ---


>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list