summaryrefslogtreecommitdiff
path: root/debian/patches/login-shell.dpatch
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches/login-shell.dpatch')
-rwxr-xr-xdebian/patches/login-shell.dpatch34
1 files changed, 34 insertions, 0 deletions
diff --git a/debian/patches/login-shell.dpatch b/debian/patches/login-shell.dpatch
new file mode 100755
index 0000000..7900801
--- /dev/null
+++ b/debian/patches/login-shell.dpatch
@@ -0,0 +1,34 @@
+#! /bin/sh -e
+
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch) patch $pdir -f --no-backup-if-mismatch -p0 < $0;;
+ -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p0 < $0;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+# DP: * Recognize 'exec -l /bin/bash' as login shell.
+
+--- shell.c.orig 2006-03-03 23:15:17.178734888 +0100
++++ shell.c 2006-03-03 23:44:01.556589608 +0100
+@@ -1533,9 +1533,10 @@
+ any startup files; just try to be more like /bin/sh. */
+ shell_name = argv0 ? base_pathname (argv0) : PROGRAM;
+
+- if (*shell_name == '-')
++ if (argv0 && *argv0 == '-')
+ {
+- shell_name++;
++ if (*shell_name == '-')
++ shell_name++;
+ login_shell++;
+ }
+