Patchwork [4,of,4] build: "make deb" failed when the base path contained spaces

login
register
mail settings
Submitter via Mercurial-devel
Date Oct. 11, 2017, 8:46 p.m.
Message ID <82a268793bfb8c4db32e.1507754780@cuben>
Download mbox | patch
Permalink /patch/24760/
State Accepted
Headers show

Comments

via Mercurial-devel - Oct. 11, 2017, 8:46 p.m.
# HG changeset patch
# User muxator <a.mux@inwind.it>
# Date 1507679220 -7200
#      Wed Oct 11 01:47:00 2017 +0200
# Node ID 82a268793bfb8c4db32eae6ee009b0d1fd334d43
# Parent  0dc5f9e9fd59f0c2289ca3133a0e54d49b7882d7
build: "make deb" failed when the base path contained spaces

With these changes, all the commands triggered by "make deb" use proper quoting
and succeed even when invoked from a directory containing spaces.
Augie Fackler - Oct. 11, 2017, 9:52 p.m.
On Wed, Oct 11, 2017 at 10:46:20PM +0200, a.mux--- via Mercurial-devel wrote:
> # HG changeset patch
> # User muxator <a.mux@inwind.it>
> # Date 1507679220 -7200
> #      Wed Oct 11 01:47:00 2017 +0200
> # Node ID 82a268793bfb8c4db32eae6ee009b0d1fd334d43
> # Parent  0dc5f9e9fd59f0c2289ca3133a0e54d49b7882d7
> build: "make deb" failed when the base path contained spaces

queued, thanks

Patch

diff --git a/contrib/builddeb b/contrib/builddeb
--- a/contrib/builddeb
+++ b/contrib/builddeb
@@ -73,7 +73,7 @@ 
         exit 1
     fi
 
-    cp -r $PWD/contrib/debian debian
+    cp -r "$PWD"/contrib/debian debian
 
     sed -i.tmp "s/__VERSION__/$debver/" $changelog
     sed -i.tmp "s/__DATE__/$(date --rfc-2822)/" $changelog
diff --git a/contrib/debian/rules b/contrib/debian/rules
--- a/contrib/debian/rules
+++ b/contrib/debian/rules
@@ -15,30 +15,30 @@ 
 	find debian/mercurial/usr/share -type d -empty -delete
 
 override_dh_install:
-	python$(PYVERS) setup.py install --root $(CURDIR)/debian/mercurial --install-layout=deb
+	python$(PYVERS) setup.py install --root "$(CURDIR)"/debian/mercurial --install-layout=deb
 	# chg
 	make -C contrib/chg \
-		DESTDIR=$(CURDIR)/debian/mercurial \
+		DESTDIR="$(CURDIR)"/debian/mercurial \
 		PREFIX=/usr \
 		clean install
 	# remove arch-independent python stuff
-	find $(CURDIR)/debian/mercurial/usr/lib \
+	find "$(CURDIR)"/debian/mercurial/usr/lib \
 		! -name '*.so' ! -type d -delete , \
 		-type d -empty -delete
-	python$(PYVERS) setup.py install --root $(CURDIR)/debian/mercurial-common --install-layout=deb
-	make install-doc PREFIX=$(CURDIR)/debian/mercurial-common/usr
+	python$(PYVERS) setup.py install --root "$(CURDIR)/debian/mercurial-common" --install-layout=deb
+	make install-doc PREFIX="$(CURDIR)"/debian/mercurial-common/usr
 	# remove arch-dependent python stuff
-	find $(CURDIR)/debian/mercurial-common/usr/lib \
+	find "$(CURDIR)"/debian/mercurial-common/usr/lib \
 		-name '*.so' ! -type d -delete , \
 		-type d -empty -delete
-	cp contrib/hg-ssh $(CURDIR)/debian/mercurial-common/usr/bin
-	mkdir -p $(CURDIR)/debian/mercurial-common/usr/share/mercurial
-	cp contrib/hgk $(CURDIR)/debian/mercurial-common/usr/share/mercurial
-	mkdir -p $(CURDIR)/debian/mercurial-common/etc/mercurial/hgrc.d/
-	cp contrib/debian/*.rc $(CURDIR)/debian/mercurial-common/etc/mercurial/hgrc.d/
+	cp contrib/hg-ssh "$(CURDIR)"/debian/mercurial-common/usr/bin
+	mkdir -p "$(CURDIR)"/debian/mercurial-common/usr/share/mercurial
+	cp contrib/hgk "$(CURDIR)"/debian/mercurial-common/usr/share/mercurial
+	mkdir -p "$(CURDIR)"/debian/mercurial-common/etc/mercurial/hgrc.d/
+	cp contrib/debian/*.rc "$(CURDIR)"/debian/mercurial-common/etc/mercurial/hgrc.d/
 	# completions
-	mkdir -p $(CURDIR)/debian/mercurial-common/usr/share/bash-completion/completions
-	cp contrib/bash_completion $(CURDIR)/debian/mercurial-common/usr/share/bash-completion/completions/hg
-	mkdir -p $(CURDIR)/debian/mercurial-common/usr/share/zsh/vendor-completions
-	cp contrib/zsh_completion $(CURDIR)/debian/mercurial-common/usr/share/zsh/vendor-completions/_hg
-	rm $(CURDIR)/debian/mercurial-common/usr/bin/hg
+	mkdir -p "$(CURDIR)"/debian/mercurial-common/usr/share/bash-completion/completions
+	cp contrib/bash_completion "$(CURDIR)"/debian/mercurial-common/usr/share/bash-completion/completions/hg
+	mkdir -p "$(CURDIR)"/debian/mercurial-common/usr/share/zsh/vendor-completions
+	cp contrib/zsh_completion "$(CURDIR)"/debian/mercurial-common/usr/share/zsh/vendor-completions/_hg
+	rm "$(CURDIR)"/debian/mercurial-common/usr/bin/hg