GNU bug report logs - #12011
Makefile.in: allow installation of $(FULLEMACS) without linking to $(EMACS)

Previous Next

Package: emacs;

Reported by: Achim Gratz <Stromeko <at> nexgo.de>

Date: Sat, 21 Jul 2012 17:50:01 UTC

Severity: wishlist

Tags: patch

Fixed in version 24.3

Done: Glenn Morris <rgm <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 12011 in the body.
You can then email your comments to 12011 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#12011; Package emacs. (Sat, 21 Jul 2012 17:50:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Achim Gratz <Stromeko <at> nexgo.de>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Sat, 21 Jul 2012 17:50:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Achim Gratz <Stromeko <at> nexgo.de>
To: bug-gnu-emacs <at> gnu.org
Subject: Makefile.in: allow installation of $(FULLEMACS) without linking to
	$(EMACS)
Date: Sat, 21 Jul 2012 19:42:44 +0200
[Message part 1 (text/plain, inline)]
If you have several Emacsen installed in parallel, the step in 'make
install' that links $(FULLEMACS) to $(EMACS) is almost never wanted.  It
would be nice if there was a separate target that avoided removing the
previous link (which should be left alone) and then creating a new link.

Two patches to Makefile.in (one for trunk and the other for emacs-24)
are attached that implement the above suggestion.  Feel free to give
those targets better names.


[0001-trunk.patch (text/x-patch, inline)]
From 043686d352f97657a537be95a53f8348aeb3c897 Mon Sep 17 00:00:00 2001
From: Achim Gratz <Stromeko <at> Stromeko.DE>
Date: Sat, 21 Jul 2012 09:23:05 +0200
Subject: [PATCH] allow to install only the full emacs binary

---
 Makefile.in |   18 ++++++++++++++----
 1 file changed, 14 insertions(+), 4 deletions(-)

diff --git a/Makefile.in b/Makefile.in
index 95b0931..7cd05a4 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -397,9 +397,12 @@ $(srcdir)/src/stamp-h.in: $(AUTOCONF_INPUTS)
 ## don't have to duplicate the list of utilities to install in
 ## this Makefile as well.
 
-.PHONY: install
+.PHONY: install install-full-only install-full-link
 
-install: all install-arch-indep install-doc install-arch-dep blessmail
+install-full-only: all install-arch-indep install-doc install-arch-dep blessmail
+	@true
+
+install: install-full-link
 	@true
 
 ## Ensure that $subdir contains a subdirs.el file.
@@ -430,15 +433,21 @@ install-arch-dep: install-arch-indep install-doc
 	if test "${ns_self_contained}" = "no"; then \
 	  ${INSTALL_PROGRAM} $(INSTALL_STRIP) src/emacs${EXEEXT} $(DESTDIR)${bindir}/$(EMACSFULL) || exit 1 ; \
 	  chmod 1755 $(DESTDIR)${bindir}/$(EMACSFULL) ; \
-	  rm -f $(DESTDIR)${bindir}/$(EMACS) ; \
-	  ln $(DESTDIR)${bindir}/$(EMACSFULL) $(DESTDIR)${bindir}/$(EMACS) || true ; \
+	  true ; \
 	else \
 	  subdir=${ns_appresdir}/site-lisp; \
 	  ${write_subdir} || exit 1; \
 	  rm -rf ${ns_appresdir}/share; \
 	fi
 
+install-full-link: install-full-only
+	if test "${ns_self_contained}" = "no"; then \
+	  rm -f $(DESTDIR)${bindir}/$(EMACS) ; \
+	  ln $(DESTDIR)${bindir}/$(EMACSFULL) $(DESTDIR)${bindir}/$(EMACS) || true ; \
+	else \
+	  true ; \
+	fi
+
 ## In the share directory, we are deleting:
 ## applications (with emacs.desktop, also found in etc/)
 ## emacs (basically empty except for unneeded site-lisp directories)
-- 
1.7.10.4

[0001-emacs24.patch (text/x-patch, inline)]
From 469d3d20773c942219c268d48519f99419258930 Mon Sep 17 00:00:00 2001
From: Achim Gratz <Stromeko <at> Stromeko.DE>
Date: Sat, 21 Jul 2012 08:48:24 +0200
Subject: [PATCH] allow to install only the full emacs binary

---
 Makefile.in |   13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/Makefile.in b/Makefile.in
index 9a9be4f..7c581b1 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -449,7 +449,7 @@ $(srcdir)/src/stamp-h.in: $(AUTOCONF_INPUTS)
 ## On AIX, use tar xBf.
 ## On Xenix, use tar xpf.
 
-.PHONY: install mkdir
+.PHONY: install install-full-only install-full-link mkdir
 
 ## We delete each directory in ${COPYDESTS} before we copy into it;
 ## that way, we can reinstall over directories that have been put in
@@ -458,7 +458,10 @@ $(srcdir)/src/stamp-h.in: $(AUTOCONF_INPUTS)
 ## source exists and is distinct from the destination.
 ### We do install-arch-indep first because
 ### the executable needs the Lisp files and DOC file to work properly.
-install: all install-arch-indep install-arch-dep install-leim blessmail
+install-fullonly: all install-arch-indep install-arch-dep install-leim blessmail
+	@true
+
+install: install-full-link
 	@true
 
 MV_DIRS = for i in $$dir; do rm -fr `basename "$$i"` ; mv "$$i" . ; done
@@ -474,8 +477,6 @@ install-arch-dep: mkdir
 	    INSTALL_STRIP=${INSTALL_STRIP})
 	${INSTALL_PROGRAM} $(INSTALL_STRIP) src/emacs${EXEEXT} $(DESTDIR)${bindir}/$(EMACSFULL)
 	-chmod 1755 $(DESTDIR)${bindir}/$(EMACSFULL)
-	rm -f $(DESTDIR)${bindir}/$(EMACS)
-	-ln $(DESTDIR)${bindir}/$(EMACSFULL) $(DESTDIR)${bindir}/$(EMACS)
 	if test "${ns_appresdir}" != ""; then \
 	  ( cd ${ns_appresdir} ; \
 	    if test -d share/emacs ; then dir=share/emacs/*/*; $(MV_DIRS); fi;\
@@ -487,7 +488,10 @@ install-arch-dep: mkdir
 	    ln -sf ../libexec/* . ; fi ; fi ) ; \
 	else true ; fi
 
+install-full-link: install-full-only
+	rm -f $(DESTDIR)${bindir}/$(EMACS)
+	-ln $(DESTDIR)${bindir}/$(EMACSFULL) $(DESTDIR)${bindir}/$(EMACS)
+
 ## FIXME is the emacs-24* bit above really necessary and correct?
 ## What if I have 24.1 and 24.2 installed at the same time?
 ## In any case, it should use something like echo $version | sed 's/\..*//'
-- 
1.7.10.4

[Message part 4 (text/plain, inline)]

Regards,
Achim.
-- 
+<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+

Waldorf MIDI Implementation & additional documentation:
http://Synth.Stromeko.net/Downloads.html#WaldorfDocs

Severity set to 'wishlist' from 'normal' Request was from Glenn Morris <rgm <at> gnu.org> to control <at> debbugs.gnu.org. (Sun, 29 Jul 2012 23:28:02 GMT) Full text and rfc822 format available.

Added tag(s) patch. Request was from Glenn Morris <rgm <at> gnu.org> to control <at> debbugs.gnu.org. (Sun, 29 Jul 2012 23:28:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#12011; Package emacs. (Sun, 19 Aug 2012 16:31:02 GMT) Full text and rfc822 format available.

Message #12 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Achim Gratz <Stromeko <at> nexgo.de>
To: bug-gnu-emacs <at> gnu.org
Subject: Re: bug#12011: Makefile.in: allow installation of $(FULLEMACS)
	without linking to $(EMACS)
Date: Sun, 19 Aug 2012 18:29:37 +0200
[Message part 1 (text/plain, inline)]
Achim Gratz writes:
> Two patches to Makefile.in (one for trunk and the other for emacs-24)
> are attached that implement the above suggestion.  Feel free to give
> those targets better names.

Corrected a typo in one patch and re-generated them on top of the
current branch heads.

[0001-trunk.patch (text/x-patch, inline)]
From 79955315ebc7aeca6b7a1dc560afb4c0d3031952 Mon Sep 17 00:00:00 2001
From: Achim Gratz <Stromeko <at> Stromeko.DE>
Date: Sat, 21 Jul 2012 09:23:05 +0200
Subject: [PATCH] allow to install only the full emacs binary

---
 Makefile.in | 18 +++++++++++++++---
 1 file changed, 15 insertions(+), 3 deletions(-)

diff --git a/Makefile.in b/Makefile.in
index ab9f16c..fe1ba44 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -405,7 +405,12 @@ $(srcdir)/src/stamp-h.in: $(AUTOCONF_INPUTS)
 ## don't have to duplicate the list of utilities to install in
 ## this Makefile as well.
 
-install: all install-arch-indep install-doc install-arch-dep blessmail
+.PHONY: install install-full-only install-full-link
+
+install-full-only: all install-arch-indep install-doc install-arch-dep blessmail
+	@true
+
+install: install-full-only install-full-link
 	@true
 
 ## Ensure that $subdir contains a subdirs.el file.
@@ -436,14 +441,21 @@ install-arch-dep: install-arch-indep install-doc
 	if test "${ns_self_contained}" = "no"; then \
 	  ${INSTALL_PROGRAM} $(INSTALL_STRIP) src/emacs${EXEEXT} $(DESTDIR)${bindir}/$(EMACSFULL) || exit 1 ; \
 	  chmod 1755 $(DESTDIR)${bindir}/$(EMACSFULL) ; \
-	  rm -f $(DESTDIR)${bindir}/$(EMACS) ; \
-	  ln $(DESTDIR)${bindir}/$(EMACSFULL) $(DESTDIR)${bindir}/$(EMACS) || true ; \
+	  true ; \
 	else \
 	  subdir=${ns_appresdir}/site-lisp; \
 	  ${write_subdir} || exit 1; \
 	  rm -rf ${ns_appresdir}/share; \
 	fi
 
+install-full-link: install-arch-indep install-doc
+	if test "${ns_self_contained}" = "no"; then \
+	  rm -f $(DESTDIR)${bindir}/$(EMACS) ; \
+	  ln $(DESTDIR)${bindir}/$(EMACSFULL) $(DESTDIR)${bindir}/$(EMACS) || true ; \
+	else \
+	  true ; \
+	fi
+
 ## In the share directory, we are deleting:
 ## applications (with emacs.desktop, also found in etc/)
 ## emacs (basically empty except for unneeded site-lisp directories)
-- 
1.7.11.4

[0001-emacs24.patch (text/x-patch, inline)]
From b76aa8289bf563175d5ead21269c3f93778ff74a Mon Sep 17 00:00:00 2001
From: Achim Gratz <Stromeko <at> Stromeko.DE>
Date: Sat, 21 Jul 2012 08:48:24 +0200
Subject: [PATCH] allow to install only the full emacs binary

---
 Makefile.in | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/Makefile.in b/Makefile.in
index 9a9be4f..d07784b 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -449,7 +449,7 @@ $(srcdir)/src/stamp-h.in: $(AUTOCONF_INPUTS)
 ## On AIX, use tar xBf.
 ## On Xenix, use tar xpf.
 
-.PHONY: install mkdir
+.PHONY: install install-full-only install-full-link mkdir
 
 ## We delete each directory in ${COPYDESTS} before we copy into it;
 ## that way, we can reinstall over directories that have been put in
@@ -458,7 +458,10 @@ $(srcdir)/src/stamp-h.in: $(AUTOCONF_INPUTS)
 ## source exists and is distinct from the destination.
 ### We do install-arch-indep first because
 ### the executable needs the Lisp files and DOC file to work properly.
-install: all install-arch-indep install-arch-dep install-leim blessmail
+install-full-only: all install-arch-indep install-arch-dep install-leim blessmail
+	@true
+
+install: install-full-only install-full-link
 	@true
 
 MV_DIRS = for i in $$dir; do rm -fr `basename "$$i"` ; mv "$$i" . ; done
@@ -474,8 +477,6 @@ install-arch-dep: mkdir
 	    INSTALL_STRIP=${INSTALL_STRIP})
 	${INSTALL_PROGRAM} $(INSTALL_STRIP) src/emacs${EXEEXT} $(DESTDIR)${bindir}/$(EMACSFULL)
 	-chmod 1755 $(DESTDIR)${bindir}/$(EMACSFULL)
-	rm -f $(DESTDIR)${bindir}/$(EMACS)
-	-ln $(DESTDIR)${bindir}/$(EMACSFULL) $(DESTDIR)${bindir}/$(EMACS)
 	if test "${ns_appresdir}" != ""; then \
 	  ( cd ${ns_appresdir} ; \
 	    if test -d share/emacs ; then dir=share/emacs/*/*; $(MV_DIRS); fi;\
@@ -487,6 +488,10 @@ install-arch-dep: mkdir
 	    ln -sf ../libexec/* . ; fi ; fi ) ; \
 	else true ; fi
 
+install-full-link:
+	rm -f $(DESTDIR)${bindir}/$(EMACS)
+	-ln $(DESTDIR)${bindir}/$(EMACSFULL) $(DESTDIR)${bindir}/$(EMACS)
+
 ## FIXME is the emacs-24* bit above really necessary and correct?
 ## What if I have 24.1 and 24.2 installed at the same time?
 ## In any case, it should use something like echo $version | sed 's/\..*//'
-- 
1.7.11.4

[Message part 4 (text/plain, inline)]

Regards,
Achim.
-- 
+<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+

Samples for the Waldorf Blofeld:
http://Synth.Stromeko.net/Downloads.html#BlofeldSamplesExtra

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#12011; Package emacs. (Mon, 20 Aug 2012 22:43:01 GMT) Full text and rfc822 format available.

Message #15 received at 12011 <at> debbugs.gnu.org (full text, mbox):

From: Glenn Morris <rgm <at> gnu.org>
To: Achim Gratz <Stromeko <at> nexgo.de>
Cc: 12011 <at> debbugs.gnu.org
Subject: Re: bug#12011: Makefile.in: allow installation of $(FULLEMACS)
	without linking to $(EMACS)
Date: Mon, 20 Aug 2012 18:42:18 -0400
How about just:

*** Makefile.in	2012-08-20 22:12:35 +0000
--- Makefile.in	2012-08-20 22:39:11 +0000
***************
*** 437,444 ****
--- 437,446 ----
  	if test "${ns_self_contained}" = "no"; then \
  	  ${INSTALL_PROGRAM} $(INSTALL_STRIP) src/emacs${EXEEXT} $(DESTDIR)${bindir}/$(EMACSFULL) || exit 1 ; \
  	  chmod 1755 $(DESTDIR)${bindir}/$(EMACSFULL) ; \
+ 	  if test "x${EMACS_NO_BIN_LINK}" = x; then \
  	    rm -f $(DESTDIR)${bindir}/$(EMACS) ; \
  	    cd $(DESTDIR)${bindir} && $(LN_S) $(EMACSFULL) $(EMACS); \
+ 	  fi; \
  	else \
  	  subdir=${ns_appresdir}/site-lisp; \
  	  ${write_subdir} || exit 1; \



Then you can use

EMACS_NO_BIN_LINK=t make install




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#12011; Package emacs. (Tue, 21 Aug 2012 04:53:02 GMT) Full text and rfc822 format available.

Message #18 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Achim Gratz <Stromeko <at> nexgo.de>
To: bug-gnu-emacs <at> gnu.org
Subject: Re: bug#12011: Makefile.in: allow installation of $(FULLEMACS)
	without linking to $(EMACS)
Date: Tue, 21 Aug 2012 06:51:43 +0200
Glenn Morris writes:
> How about just:
[...]
> Then you can use
>
> EMACS_NO_BIN_LINK=t make install

Yes, that would work just as well for me.


Regards,
Achim.
-- 
+<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+

Wavetables for the Terratec KOMPLEXER:
http://Synth.Stromeko.net/Downloads.html#KomplexerWaves





Reply sent to Glenn Morris <rgm <at> gnu.org>:
You have taken responsibility. (Wed, 22 Aug 2012 06:57:02 GMT) Full text and rfc822 format available.

Notification sent to Achim Gratz <Stromeko <at> nexgo.de>:
bug acknowledged by developer. (Wed, 22 Aug 2012 06:57:02 GMT) Full text and rfc822 format available.

Message #23 received at 12011-done <at> debbugs.gnu.org (full text, mbox):

From: Glenn Morris <rgm <at> gnu.org>
To: 12011-done <at> debbugs.gnu.org
Subject: Re: bug#12011: Makefile.in: allow installation of $(FULLEMACS)
	without linking to $(EMACS)
Date: Wed, 22 Aug 2012 02:56:23 -0400
Version: 24.3

Installed to trunk, except I decided the EMACS_ prefix was superfluous.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Wed, 19 Sep 2012 11:24:03 GMT) Full text and rfc822 format available.

This bug report was last modified 11 years and 242 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.