unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Gregory Heytings <gregory@heytings.org>
To: Andreas Schwab <schwab@suse.de>
Cc: Eli Zaretskii <eliz@gnu.org>, Jonas Bernoulli <jonas@bernoul.li>,
	58080@debbugs.gnu.org
Subject: bug#58080: 29.0.50; Don't hard-code path to pwd
Date: Mon, 26 Sep 2022 13:02:09 +0000	[thread overview]
Message-ID: <0f4ca4f331af80d6e48a@heytings.org> (raw)
In-Reply-To: <0f4ca4f3316c1b3786e7@heytings.org>

[-- Attachment #1: Type: text/plain, Size: 78 bytes --]


Jonas, can you try the attached patch and tell us if it solves your 
problem?

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: Remove-hard-coded-path-to-pwd-in-Makefiles.patch --]
[-- Type: text/x-diff; name=Remove-hard-coded-path-to-pwd-in-Makefiles.patch, Size: 5907 bytes --]

From c1b85e6f9bc319353d86ceb5f6b7ec4de20f1eeb Mon Sep 17 00:00:00 2001
From: Gregory Heytings <gregory@heytings.org>
Date: Mon, 26 Sep 2022 12:58:07 +0000
Subject: [PATCH] Remove hard-coded path to pwd in Makefiles.

* Makefile.in:
* lib-src/Makefile.in:
* nextstep/Makefile.in:
* nt/Makefile.in: Replace hard-coded calls to /bin/pwd by calls
to 'pwd -P'.  Fixes bug#58080.
---
 Makefile.in          | 24 ++++++++++++------------
 lib-src/Makefile.in  |  8 ++++----
 nextstep/Makefile.in |  2 +-
 nt/Makefile.in       |  4 ++--
 4 files changed, 19 insertions(+), 19 deletions(-)

diff --git a/Makefile.in b/Makefile.in
index c6a2e50959..741a4c5538 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -698,8 +698,8 @@ install-arch-indep:
 	  [ -d $${dir} ] || exit 1 ; \
 	  dest="$$1" ; shift ; \
 	  if [ -d "$${dest}" ]; then \
-	    exp_dest=`cd "$${dest}" && /bin/pwd`; \
-	    [ "$$exp_dest" = "`cd $${dir} && /bin/pwd`" ] && continue ; \
+	    exp_dest=`cd "$${dest}" && pwd -P`; \
+	    [ "$$exp_dest" = "`cd $${dir} && pwd -P`" ] && continue ; \
 	  else true; \
 	  fi; \
 	  rm -rf "$${dest}" ; \
@@ -755,8 +755,8 @@ install-arch-indep:
 install-etcdoc: src install-arch-indep
 	-unset CDPATH; \
 	umask 022; ${MKDIR_P} "$(DESTDIR)${etcdocdir}" ; \
-	exp_etcdocdir=`cd "$(DESTDIR)${etcdocdir}"; /bin/pwd`; \
-	if [ "`cd ./etc; /bin/pwd`" != "$$exp_etcdocdir" ]; \
+	exp_etcdocdir=`cd "$(DESTDIR)${etcdocdir}"; pwd -P`; \
+	if [ "`cd ./etc; pwd -P`" != "$$exp_etcdocdir" ]; \
 	then \
 	   docfile="DOC"; \
 	   printf 'Copying %s to %s ...\n' "etc/$$docfile" \
@@ -771,9 +771,9 @@ install-etcdoc:
 install-info: info
 	umask 022; ${MKDIR_P} "$(DESTDIR)${infodir}"
 	-unset CDPATH; \
-	thisdir=`/bin/pwd`; \
-	exp_infodir=`cd "$(DESTDIR)${infodir}" && /bin/pwd`; \
-	if [ "`cd ${srcdir}/info && /bin/pwd`" = "$$exp_infodir" ]; then \
+	thisdir=`pwd -P`; \
+	exp_infodir=`cd "$(DESTDIR)${infodir}" && pwd -P`; \
+	if [ "`cd ${srcdir}/info && pwd -P`" = "$$exp_infodir" ]; then \
 	  true; \
 	else \
 	   [ -f "$(DESTDIR)${infodir}/dir" ] || \
@@ -802,7 +802,7 @@ install-info:
 ## but not sure if portable.
 install-man:
 	umask 022; ${MKDIR_P} "$(DESTDIR)${man1dir}"
-	thisdir=`/bin/pwd`; \
+	thisdir=`pwd -P`; \
 	cd ${mansrcdir}; \
 	for page in *.1; do \
 	  test "$$page" = ChangeLog.1 && continue; \
@@ -869,7 +869,7 @@ install-etc:
 	  ${srcdir}/etc/emacs.service > $${tmp}; \
 	$(INSTALL_DATA) $${tmp} "$(DESTDIR)$(systemdunitdir)/${EMACS_NAME}.service"; \
 	rm -f $${tmp}
-	thisdir=`/bin/pwd`; \
+	thisdir=`pwd -P`; \
 	cd ${iconsrcdir} || exit 1; umask 022 ; \
 	for dir in */*/apps */*/mimetypes; do \
 	  [ -d $${dir} ] || continue ; \
@@ -906,8 +906,8 @@ uninstall:
 	-unset CDPATH; \
 	for dir in "$(DESTDIR)${lispdir}" "$(DESTDIR)${etcdir}" "$(ELN_DESTDIR)" ; do 	\
 	  if [ -d "$${dir}" ]; then			\
-	    case `cd "$${dir}" ; /bin/pwd` in		\
-	      "`cd ${srcdir} ; /bin/pwd`"* ) ;;		\
+	    case `cd "$${dir}" ; pwd -P` in		\
+	      "`cd ${srcdir} ; pwd -P`"* ) ;;		\
 	      * ) rm -rf "$${dir}" ;;			\
 	    esac ;					\
 	    case "$${dir}" in				\
@@ -918,7 +918,7 @@ uninstall:
 	  fi ;						\
 	done
 	-rm -rf "$(DESTDIR)${libexecdir}/emacs/${version}"
-	thisdir=`/bin/pwd`; \
+	thisdir=`pwd -P`; \
 	(info_misc=`MAKEFLAGS= $(MAKE) --no-print-directory -s -C doc/misc echo-info`; \
 	 if cd "$(DESTDIR)${infodir}"; then \
 	   for elt in ${INFO_NONMISC} $${info_misc}; do \
diff --git a/lib-src/Makefile.in b/lib-src/Makefile.in
index cf4659fc2c..cfad3fc394 100644
--- a/lib-src/Makefile.in
+++ b/lib-src/Makefile.in
@@ -306,8 +306,8 @@ $(DESTDIR)${archlibdir}:
 	$(info $ )
 	$(info Installing utilities run internally by Emacs.)
 	umask 022 && ${MKDIR_P} "$(DESTDIR)${archlibdir}"
-	exp_archlibdir=`cd "$(DESTDIR)${archlibdir}" && /bin/pwd` && \
-	if [ "$$exp_archlibdir" != "`/bin/pwd`" ]; then \
+	exp_archlibdir=`cd "$(DESTDIR)${archlibdir}" && pwd -P` && \
+	if [ "$$exp_archlibdir" != "`pwd -P`" ]; then \
 	  for file in ${UTILITIES}; do \
 	    $(INSTALL_PROGRAM) $(INSTALL_STRIP) $$file \
 	      "$(DESTDIR)${archlibdir}/$$file" || exit; \
@@ -333,8 +333,8 @@ $(DESTDIR)${archlibdir}:
 	 chmod u=rwx,g=rwx,o=rx "$(DESTDIR)${gamedir}"
     endif
   endif
-	exp_archlibdir=`cd "$(DESTDIR)${archlibdir}" && /bin/pwd` && \
-	if [ "$$exp_archlibdir" != "`cd ${srcdir} && /bin/pwd`" ]; then \
+	exp_archlibdir=`cd "$(DESTDIR)${archlibdir}" && pwd -P` && \
+	if [ "$$exp_archlibdir" != "`cd ${srcdir} && pwd -P`" ]; then \
 	  for file in ${SCRIPTS}; do \
 	    $(INSTALL_SCRIPT) ${srcdir}/$$file \
 	      "$(DESTDIR)${archlibdir}/$$file" || exit; \
diff --git a/nextstep/Makefile.in b/nextstep/Makefile.in
index 82bf13bc92..c1200f73fb 100644
--- a/nextstep/Makefile.in
+++ b/nextstep/Makefile.in
@@ -59,7 +59,7 @@ ${ns_appdir}:
 	${MKDIR_P} ${ns_appdir}
 	( cd ${srcdir}/${ns_appsrc} ; tar cfh - . ) | \
 	  ( cd ${ns_appdir} ; umask 022; tar xf - )
-	[ "`cd ${srcdir} && /bin/pwd`" = "`/bin/pwd`" ] || \
+	[ "`cd ${srcdir} && pwd -P`" = "`pwd -P`" ] || \
 	  ( cd ${ns_appsrc} ; tar cfh - . ) | \
 	    ( cd ${ns_appdir} ; umask 022; tar xf - )
 	touch ${ns_appdir}
diff --git a/nt/Makefile.in b/nt/Makefile.in
index c904e6d451..c5a9bf4363 100644
--- a/nt/Makefile.in
+++ b/nt/Makefile.in
@@ -163,8 +163,8 @@ $(DESTDIR)${archlibdir}:
 	@echo
 	@echo "Installing utilities run internally by Emacs."
 	umask 022; ${MKDIR_P} "$(DESTDIR)${archlibdir}"
-	exp_archlibdir=`cd "$(DESTDIR)${archlibdir}" && /bin/pwd`; \
-	if [ "$$exp_archlibdir" != "`/bin/pwd`" ]; then \
+	exp_archlibdir=`cd "$(DESTDIR)${archlibdir}" && pwd -P`; \
+	if [ "$$exp_archlibdir" != "`pwd -P`" ]; then \
 	  for file in ${UTILITIES}; do \
 	    $(INSTALL_PROGRAM) $(INSTALL_STRIP) $$file "$(DESTDIR)${archlibdir}/$$file" ; \
 	  done ; \
-- 
2.35.1


  reply	other threads:[~2022-09-26 13:02 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-25 19:09 bug#58080: 29.0.50; Don't hard-code path to pwd Jonas Bernoulli
2022-09-26  8:01 ` Eli Zaretskii
2022-09-26  8:19   ` Gregory Heytings
2022-09-26  8:34     ` Andreas Schwab
2022-09-26 10:59       ` Gregory Heytings
2022-09-26 13:02         ` Gregory Heytings [this message]
2022-09-26 20:10           ` Jonas Bernoulli
2022-09-26 20:33             ` Gregory Heytings
2022-09-28 14:31               ` Gregory Heytings

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=0f4ca4f331af80d6e48a@heytings.org \
    --to=gregory@heytings.org \
    --cc=58080@debbugs.gnu.org \
    --cc=eliz@gnu.org \
    --cc=jonas@bernoul.li \
    --cc=schwab@suse.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).