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