diff --git a/Makefile b/Makefile
index 28f717c00fd745e70123ac7a443dfcb6739314f0..914a461ef5df3552b184815d4cfa68b964a88f3c 100644
--- a/Makefile
+++ b/Makefile
@@ -59,9 +59,10 @@ mrproper: clean
 	-rm -rf debian/cl-launch .pc/ build-stamp debian/patches/ debian/debhelper.log # debian crap
 
 debian-package: mrproper
-	git clean -xfd
-	RELEASE="$$(git tag -l '[4-.9].[0-9].[0-9]' | tail -n 1)" ; \
-	git-buildpackage --git-debian-branch=master --git-upstream-branch=master --git-upstream-tag=$$RELEASE --git-tag --git-retag --git-ignore-branch
+	git clean -xfd && \
+	RELEASE="$$(git tag -l '[4-9].*' | tail -n 1)" ; \
+	rm -f ../cl-launch_$${RELEASE}.orig.tar.gz ; \
+	git-buildpackage --git-debian-branch=master --git-upstream-branch=master --git-upstream-tag=$$RELEASE --git-tag --git-retag --git-ignore-branch && \
 	lintian -c --fail-on-warnings ../cl-launch_*.changes
 	git clean -xfd
 
@@ -71,6 +72,7 @@ reinstall:
 
 # This might fit your system, installing from same directory
 reinstall_here:
+	-git clean -xfd
 	make install_source install_binary_standalone INSTALL_SOURCE=$$PWD INSTALL_BIN=$$PWD
 
 test:
@@ -96,9 +98,11 @@ debian-package-all: debian-package
 	./cl-launch.sh --no-include -o cl-launch -B install_bin
 	VER=$$(git describe --tags --match '4.*') ; \
 	cd .. && \
-	  tar zcf ~/files/cl-launch/cl-launch-$${VER}.tar.gz --exclude .git cl-launch && \
+	  { rm -f cl-launch-$${VER} ; ln -s cl-launch cl-launch-$${VER} ;} && \
+	  tar zcfh ~/files/cl-launch/cl-launch-$${VER}.tar.gz --exclude .git cl-launch-$${VER} && \
 	  cp cl-launch/cl-launch.sh ~/files/cl-launch/cl-launch.sh && \
 	  mv cl-launch_$${VER}* ~/files/cl-launch/ && \
+	  rm -f cl-launch-$${VER} && \
 	cd ~/files/cl-launch && \
 	  ln -sf cl-launch-$${VER}.tar.gz cl-launch.tar.gz && \
 	  gpg -b -a cl-launch-$${VER}.tar.gz && \
@@ -108,8 +112,10 @@ debian-package-all: debian-package
 	rsync -av --delete ~/files/cl-launch/ common-lisp.net:/project/xcvb/public_html/cl-launch/
 
 quickrelease: reinstall_here
-	VER=`./cl-launch.sh --version | ( read a b ; echo $$b )` ; \
+	VER=$$(./cl-launch.sh --version | ( read a b ; echo $$b )) ; \
 	cd .. && \
-	tar zcf cl-launch-$${VER}.tar.gz --exclude .git cl-launch && \
+	{ rm -f cl-launch-$${VER} ; ln -s cl-launch cl-launch-$${VER} ;} && \
+	tar zcfh cl-launch-$${VER}.tar.gz --exclude .git cl-launch-$${VER} && \
 	rsync -av cl-launch/cl-launch.sh cl-launch-$${VER}.tar.gz common-lisp.net:/project/xcvb/public_html/cl-launch/ && \
-	ssh common-lisp.net ln -sf cl-launch-$${VER}.tar.gz /project/xcvb/public_html/cl-launch/cl-launch.tar.gz
+	ssh common-lisp.net ln -sf cl-launch-$${VER}.tar.gz /project/xcvb/public_html/cl-launch/cl-launch.tar.gz && \
+	rm -f cl-launch-$${VER} cl-launch-$${VER}.tar.gz
diff --git a/cl-launch.sh b/cl-launch.sh
index ebad9d944d35f252306b5027e1296b6810b4f697..f1114ff078d97afd96416013e3c4aeee2500ba53 100755
--- a/cl-launch.sh
+++ b/cl-launch.sh
@@ -1,6 +1,6 @@
 #!/bin/sh
 #| cl-launch.sh -- shell wrapper generator for Common Lisp software -*- Lisp -*-
-CL_LAUNCH_VERSION='4.0.0.2'
+CL_LAUNCH_VERSION='4.0.0.3'
 license_information () {
 AUTHOR_NOTE="\
 # Please send your improvements to the author:
@@ -122,7 +122,7 @@ Software specification:
  -e FORM	--eval FORM	     evaluate FORM while building
 		--require MODULE     require MODULE while building
  -r FUNC	--restart FUNC       restart from build by funcalling FUNC
-		--entry	FUNC	     (FUNC argv) after restart (buildapp compat.)
+ -E FUNC	--entry	FUNC	     (FUNC argv) after restart (buildapp compat.)
  -i FORM	--init FORM	     evaluate FORM after restart
  -ip FORM	--print FORM	     evaluate and princ FORM after restart
  -iw FORM	--write FORM	     evaluate and write FORM after restart
@@ -892,7 +892,7 @@ process_options () {
         add_init_form "(uiop:println(progn $1))" ; shift ;;
       -iw|--write)
         add_init_form "(uiop:writeln(progn $1))" ; shift ;;
-      --entry)
+      -E|--entry)
         add_init_form "($1 uiop:*command-line-arguments*)" ; shift ;;
       "("*)
 	add_init_form "(uiop:println(progn $x))" ;;
@@ -1494,7 +1494,7 @@ BEGIN_TESTS='(in-package :cl-user)(defvar *f* ())(defvar *err* 0)(defvar *begin*
 (uiop:implementation-identifier)))
 '
 END_TESTS="$(foo_require t begin)"'
-(tst t(if (equal "won" (first uiop::*command-line-arguments*))
+(tst t(if (equal "won" (first uiop:*command-line-arguments*))
 (format t "argument passing worked, ")
 (progn (incf *err*) (format t "argument passing failed (got ~S), " (cl-launch::raw-command-line-arguments))))
 (if (equal "doh" (cl-launch::getenv "DOH"))
@@ -2535,7 +2535,7 @@ Returns two values: the fasl path, and T if the file was (re)compiled"
 #-ecl
 (defun build-and-dump (dump build restart final init quit)
   (build-and-load build restart final init quit)
-  (remove :cl-launched *features*)
+  (setf *features* (remove :cl-launched *features*))
   (dump-image dump :executable (getenvp "CL_LAUNCH_STANDALONE"))
   (quit 0))