summaryrefslogtreecommitdiff
path: root/debian/patches/makedev_keep_options.patch
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches/makedev_keep_options.patch')
-rw-r--r--debian/patches/makedev_keep_options.patch56
1 files changed, 56 insertions, 0 deletions
diff --git a/debian/patches/makedev_keep_options.patch b/debian/patches/makedev_keep_options.patch
new file mode 100644
index 00000000..90a6c6e9
--- /dev/null
+++ b/debian/patches/makedev_keep_options.patch
@@ -0,0 +1,56 @@
+Add options -k and -K to MAKEDEV.sh to chose not to overwrite existing entries.
+
+Index: hurd/sutils/MAKEDEV.sh
+===================================================================
+--- hurd.orig/sutils/MAKEDEV.sh 2010-07-01 18:14:22.000000000 +0200
++++ hurd/sutils/MAKEDEV.sh 2010-07-01 18:17:37.000000000 +0200
+@@ -8,6 +8,8 @@
+ ECHO=: # Change to "echo" to echo commands.
+ EXEC="" # Change to ":" to suppress command execution.
+ DEVDIR=`pwd` # Reset below by -D/--devdir command line option.
++STFLAGS="-g" # Set to -k if active translators are to be kept.
++KEEP= # Set to something if existing files are to be left alone.
+
+ while :; do
+ case "$1" in
+@@ -18,6 +20,8 @@
+
+ -D, --devdir=DIR Use DIR when a device node name must be
+ embedded in a translator; default is the cwd
++ -k, --keep-active Leave any existing active translator running
++ -K, --keep-all Don't overwrite existing files
+ -n, --dry-run Don't actually execute any commands
+ -v, --verbose Show what commands are executed to make the devices
+ -?, --help Give this help list
+@@ -28,11 +32,14 @@
+ --devdir=*) DEVDIR="`echo "$1" | sed 's/^--devdir=//'`"; shift 1;;
+ -D) DEVDIR="$2"; shift 2;;
+ -D*) DEVDIR="`echo "$1" | sed 's/^-D//'`"; shift 1;;
++ --keep-active|-k) STFLAGS="-k"; shift;;
++ --keep-all|-K) KEEP=1; shift;;
+ --verbose|-v) ECHO=echo; shift;;
+ --dry-run|-n) EXEC=:; shift;;
+ -nv|-vn) ECHO=echo; EXEC=:; shift;;
+ --usage)
+- echo "Usage: $0 [-V?] [-D DIR] [--help] [--usage] [--version] [--devdir=DIR] DEVNAME..."
++ echo "Usage: $0 [-V?] [-D DIR] [--help] [--usage] [--version]"
++ echo " [--devdir=DIR] [--keep-active] [--keep-all] DEVNAME..."
+ exit 0;;
+ --version|-V)
+ echo "STANDARD_HURD_VERSION_MAKEDEV_"; exit 0;;
+@@ -61,10 +68,13 @@
+ local OWNER="$2"
+ local PERM="$3"
+ shift 3
+- if cmd settrans -cg "$NODE"; then
++ if [ "$KEEP" ] && [ -e "$NODE" ]; then
++ return;
++ fi
++ if cmd settrans $STFLAGS -c "$NODE"; then
+ cmd chown "$OWNER" "$NODE"
+ cmd chmod "$PERM" "$NODE"
+- cmd settrans "$NODE" "$@"
++ cmd settrans $STFLAGS "$NODE" "$@"
+ fi
+ }
+