Date: Tue, 4 Jul 2006 02:00:47 +0300 (EEST) From: Giorgos Keramidas <keramida@FreeBSD.org> To: FreeBSD-gnats-submit@FreeBSD.org Cc: Andrey Slusar <anrays@gmail.com> Subject: ports/99755: pkg-plist of editors/emacs-devel breaks for consecutive `make install' runs Message-ID: <200607032300.k63N0l1l089957@gothmog.pc> Resent-Message-ID: <200607032310.k63NAGxS019752@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>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@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:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200607032300.k63N0l1l089957>