summary refs log tree commit diff
path: root/pkgs/development/tools
diff options
context:
space:
mode:
authornyanloutre <paul@nyanlout.re>2019-12-21 12:55:36 +0100
committernyanloutre <paul@nyanlout.re>2019-12-21 12:55:36 +0100
commitb092c4618aedbb34837f37abc387e499cf98700e (patch)
tree984261e9b381f782e5d07aff4f8fd13a43291505 /pkgs/development/tools
parent178f455494ff02e1fcf37e7a6c7acedad754e01f (diff)
downloadnixpkgs-b092c4618aedbb34837f37abc387e499cf98700e.tar
nixpkgs-b092c4618aedbb34837f37abc387e499cf98700e.tar.gz
nixpkgs-b092c4618aedbb34837f37abc387e499cf98700e.tar.bz2
nixpkgs-b092c4618aedbb34837f37abc387e499cf98700e.tar.lz
nixpkgs-b092c4618aedbb34837f37abc387e499cf98700e.tar.xz
nixpkgs-b092c4618aedbb34837f37abc387e499cf98700e.tar.zst
nixpkgs-b092c4618aedbb34837f37abc387e499cf98700e.zip
usb-modeswitch: fix configurable patch
Diffstat (limited to 'pkgs/development/tools')
-rw-r--r--pkgs/development/tools/misc/usb-modeswitch/configurable-usb-modeswitch.patch139
1 files changed, 64 insertions, 75 deletions
diff --git a/pkgs/development/tools/misc/usb-modeswitch/configurable-usb-modeswitch.patch b/pkgs/development/tools/misc/usb-modeswitch/configurable-usb-modeswitch.patch
index 3f96cfa7575..d55caab22e6 100644
--- a/pkgs/development/tools/misc/usb-modeswitch/configurable-usb-modeswitch.patch
+++ b/pkgs/development/tools/misc/usb-modeswitch/configurable-usb-modeswitch.patch
@@ -1,8 +1,8 @@
-diff --git a/Makefile b/Makefile
-index 463a11f..f20072c 100644
---- a/Makefile
-+++ b/Makefile
-@@ -5,11 +5,11 @@ CFLAGS      += -Wall
+Index: usb-modeswitch-2.6.0/Makefile
+===================================================================
+--- usb-modeswitch-2.6.0.orig/Makefile
++++ usb-modeswitch-2.6.0/Makefile
+@@ -5,17 +5,24 @@ CFLAGS      += -Wall -Wno-deprecated-dec
  LIBS        = `pkg-config --libs --cflags libusb-1.0`
  RM          = /bin/rm -f
  OBJS        = usb_modeswitch.c
@@ -16,36 +16,31 @@ index 463a11f..f20072c 100644
 +UDEVDIR     = $(PREFIX)/lib/udev
  SBINDIR     = $(PREFIX)/sbin
  MANDIR      = $(PREFIX)/share/man/man1
- VPATH       = jimtcl
-@@ -22,10 +22,17 @@ endif
- JIM_CONFIGURE_OPTS = --disable-lineedit \
- 	--with-out-jim-ext="stdlib posix load signal syslog" --prefix=/usr
  
 +USE_UPSTART=$(shell if command -v initctl > /dev/null; then echo "true"; fi)
 +USE_SYSTEMD=$(shell if command -v systemctl > /dev/null; then echo "true"; fi)
 +
  .PHONY: clean install install-common uninstall \
- 	script shared static \
- 	dispatcher-script dispatcher-shared dispatcher-static \
--	install-script install-shared install-static
-+	install-script install-shared install-static \
+ 	dispatcher-script dispatcher-dynlink dispatcher-statlink \
+-	install-script install-dynlink install-statlink
++	install-script install-dynlink install-statlink \
 +	install-upstart install-systemd \
 +	configure-dispatcher configure-script \
 +	configure-upstart configure-systemd \
 +	configure
  
- all: script
+ all: all-with-script-dispatcher
  
-@@ -46,7 +53,25 @@ jim/libjim.a:
- 	cd jim && CFLAGS="$(CFLAGS)" CC="$(CC)" ./configure $(JIM_CONFIGURE_OPTS)
- 	$(MAKE) -C jim lib
+@@ -28,7 +35,25 @@ all-with-statlink-dispatcher: $(PROG) di
+ $(PROG): $(OBJS) usb_modeswitch.h
+ 	$(CC) -o $(PROG) $(OBJS) $(CFLAGS) $(LIBS) $(LDFLAGS)
  
--dispatcher-script: usb_modeswitch.tcl
+-dispatcher-script: usb_modeswitch_dispatcher.tcl
 +configure-dispatcher:
 +	sed -i \
 +	  -e 's,^\(set setup(sbindir) \).*$$,\1$(SBINDIR),' \
 +	  -e 's,^\(set setup(etcdir) \).*$$,\1$(ETCDIR),' \
-+	  usb_modeswitch.tcl
++	  usb_modeswitch_dispatcher.tcl
 +
 +configure-script:
 +	sed -i -e 's,^\(SBINDIR=\).*$$,\1$(SBINDIR),' usb_modeswitch.sh
@@ -59,31 +54,22 @@ index 463a11f..f20072c 100644
 +configure: configure-dispatcher configure-script \
 +	configure-systemd configure-upstart
 +
-+dispatcher-script: configure-dispatcher usb_modeswitch.tcl
- 	sed 's_!/usr/bin/tclsh_!'"$(TCL)"'_' < usb_modeswitch.tcl > usb_modeswitch_dispatcher
++dispatcher-script: configure-dispatcher usb_modeswitch_dispatcher.tcl
+ 	DISPATCH=dispatcher-script
+ 	cp -f usb_modeswitch_dispatcher.tcl usb_modeswitch_dispatcher
  
- dispatcher-shared: jim/libjim.so dispatcher.c usb_modeswitch.string
-@@ -55,7 +80,7 @@ dispatcher-shared: jim/libjim.so dispatcher.c usb_modeswitch.string
- dispatcher-static: jim/libjim.a dispatcher.c usb_modeswitch.string
- 	$(CC) dispatcher.c $(LDFLAGS) jim/libjim.a -Ijim -o usb_modeswitch_dispatcher $(CFLAGS)
- 
--usb_modeswitch.string: usb_modeswitch.tcl
-+usb_modeswitch.string: configure-dispatcher usb_modeswitch.tcl
- 	$(HOST_TCL) make_string.tcl usb_modeswitch.tcl > $@
- 
- clean:
-@@ -76,16 +101,28 @@ ums-clean:
+@@ -53,16 +78,28 @@ distclean: clean
  # If the systemd folder is present, install the service for starting the dispatcher
  # If not, use the dispatcher directly from the udev rule as in previous versions
  
--install-common: $(PROG) usb_modeswitch_dispatcher
+-install-common: $(PROG) $(DISPATCH)
 -	install -D --mode=755 usb_modeswitch $(SBINDIR)/usb_modeswitch
 -	install -D --mode=755 usb_modeswitch.sh $(UDEVDIR)/usb_modeswitch
 -	install -D --mode=644 usb_modeswitch.conf $(ETCDIR)/usb_modeswitch.conf
 -	install -D --mode=644 usb_modeswitch.1 $(MANDIR)/usb_modeswitch.1
 -	install -D --mode=644 usb_modeswitch_dispatcher.1 $(MANDIR)/usb_modeswitch_dispatcher.1
 -	install -D --mode=755 usb_modeswitch_dispatcher $(SBINDIR)/usb_modeswitch_dispatcher
-+install-common: $(PROG) configure usb_modeswitch_dispatcher
++install-common: $(PROG) configure $(DISPATCH)
 +	install -D --mode=755 usb_modeswitch $(DESTDIR)$(SBINDIR)/usb_modeswitch
 +	install -D --mode=755 usb_modeswitch.sh $(DESTDIR)$(UDEVDIR)/usb_modeswitch
 +	install -D --mode=644 usb_modeswitch.conf $(DESTDIR)$(ETCDIR)/usb_modeswitch.conf
@@ -110,8 +96,8 @@ index 463a11f..f20072c 100644
  
  install: install-script
  
-@@ -96,10 +133,10 @@ install-shared: dispatcher-shared install-common
- install-static: dispatcher-static install-common
+@@ -73,10 +110,10 @@ install-dynlink: dispatcher-dynlink inst
+ install-statlink: dispatcher-statlink install-common
  
  uninstall:
 -	$(RM) $(SBINDIR)/usb_modeswitch
@@ -127,10 +113,10 @@ index 463a11f..f20072c 100644
  	$(RM) -R $(DESTDIR)/var/lib/usb_modeswitch
 -	$(RM) $(SYSDIR)/usb_modeswitch@.service
 +	$(RM) $(DESTDIR)$(SYSDIR)/usb_modeswitch@.service
-diff --git a/usb-modeswitch-upstart.conf b/usb-modeswitch-upstart.conf
-index 0d82b69..1c177b4 100644
---- a/usb-modeswitch-upstart.conf
-+++ b/usb-modeswitch-upstart.conf
+Index: usb-modeswitch-2.6.0/usb-modeswitch-upstart.conf
+===================================================================
+--- usb-modeswitch-2.6.0.orig/usb-modeswitch-upstart.conf
++++ usb-modeswitch-2.6.0/usb-modeswitch-upstart.conf
 @@ -1,5 +1,5 @@
  start on usb-modeswitch-upstart
  task
@@ -138,13 +124,13 @@ index 0d82b69..1c177b4 100644
 -	exec /usr/sbin/usb_modeswitch_dispatcher --switch-mode $UMS_PARAM
 +	exec @sbindir@/usb_modeswitch_dispatcher --switch-mode $UMS_PARAM
  end script
-diff --git a/usb_modeswitch.sh b/usb_modeswitch.sh
-index eb3fa3e..0e93166 100755
---- a/usb_modeswitch.sh
-+++ b/usb_modeswitch.sh
+Index: usb-modeswitch-2.6.0/usb_modeswitch.sh
+===================================================================
+--- usb-modeswitch-2.6.0.orig/usb_modeswitch.sh
++++ usb-modeswitch-2.6.0/usb_modeswitch.sh
 @@ -1,5 +1,9 @@
  #!/bin/sh
- # part of usb_modeswitch 2.5.2
+ # part of usb_modeswitch 2.6.0
 +
 +# Compile time configuration, injected by the Makefile
 +SBINDIR=/usr/sbin
@@ -180,7 +166,7 @@ index eb3fa3e..0e93166 100755
 -init_path=`readlink -f /sbin/init`
 -if [ `basename $init_path` = "systemd" ]; then
 +if command -v systemctl > /dev/null; then
- 	systemctl --no-block start usb_modeswitch@$p2.service
+ 	systemctl --no-block restart usb_modeswitch@$p2.service
 -elif [ -e "/etc/init/usb-modeswitch-upstart.conf" ]; then
 +elif command -v initctl > /dev/null; then
  	initctl emit --no-wait usb-modeswitch-upstart UMS_PARAM=$p2
@@ -191,13 +177,25 @@ index eb3fa3e..0e93166 100755
 +	exec $SBINDIR/usb_modeswitch_dispatcher --switch-mode $p2 &
  fi
  exit 0
-diff --git a/usb_modeswitch.tcl b/usb_modeswitch.tcl
-index d2ee50c..8a48751 100755
---- a/usb_modeswitch.tcl
-+++ b/usb_modeswitch.tcl
+Index: usb-modeswitch-2.6.0/usb_modeswitch@.service
+===================================================================
+--- usb-modeswitch-2.6.0.orig/usb_modeswitch@.service
++++ usb-modeswitch-2.6.0/usb_modeswitch@.service
+@@ -3,6 +3,6 @@ Description=USB_ModeSwitch_%i
+ 
+ [Service]
+ Type=oneshot
+-ExecStart=/usr/sbin/usb_modeswitch_dispatcher --switch-mode %i
++ExecStart=@sbindir@/usb_modeswitch_dispatcher --switch-mode %i
+ #ExecStart=/bin/echo %i
+ 
+Index: usb-modeswitch-2.6.0/usb_modeswitch_dispatcher.tcl
+===================================================================
+--- usb-modeswitch-2.6.0.orig/usb_modeswitch_dispatcher.tcl
++++ usb-modeswitch-2.6.0/usb_modeswitch_dispatcher.tcl
 @@ -12,6 +12,16 @@
- # Part of usb-modeswitch-2.5.2 package
- # (C) Josua Dietze 2009-2017
+ # Part of usb-modeswitch-2.6.0 package
+ # (C) Josua Dietze 2009-2019
  
 +# Compile-time configuration, injected by the Makefile.
 +set setup(sbindir) /usr/sbin
@@ -212,9 +210,9 @@ index d2ee50c..8a48751 100755
  set arg0 [lindex $argv 0]
  if [regexp {\.tcl$} $arg0] {
  	if [file exists $arg0] {
-@@ -91,10 +101,8 @@ if {![regexp {(.*?):.*$} $arg1 d device]} {
+@@ -115,10 +125,8 @@ if {![regexp {(.*?):.*$} $arg1 d device]
+ 	}
  }
- set flags(logwrite) 1
  
 -set setup(dbdir) /usr/share/usb_modeswitch
 -set setup(dbdir_etc) /etc/usb_modeswitch.d
@@ -224,7 +222,7 @@ index d2ee50c..8a48751 100755
  	SafeExit
  }
  
-@@ -261,7 +269,7 @@ if {$config(NoMBIMCheck)==0 && $usb(bNumConfigurations) > 1} {
+@@ -285,7 +293,7 @@ if {$config(NoMBIMCheck)==0 && $usb(bNum
  	if [CheckMBIM] {
  		Log " driver for MBIM devices is available"
  		Log "Find MBIM configuration number ..."
@@ -233,7 +231,7 @@ index d2ee50c..8a48751 100755
  			Log "Error when trying to find MBIM configuration, switch to legacy modem mode"
  		} else {
  			set cfgno [string trim $cfgno]
-@@ -297,7 +305,7 @@ if {$report == ""} {
+@@ -321,7 +329,7 @@ if {$report == ""} {
  	# Now we are actually switching
  	if $flags(logging) {
  		Log "Command line:\nusb_modeswitch -W -D $configParam $busParam $devParam -v $usb(idVendor) -p $usb(idProduct) -f \$flags(config)"
@@ -242,7 +240,7 @@ index d2ee50c..8a48751 100755
  		Log "\nVerbose debug output of usb_modeswitch and libusb follows"
  		Log "(Note that some USB errors are to be expected in the process)"
  		Log "--------------------------------"
-@@ -305,7 +313,7 @@ if {$report == ""} {
+@@ -329,7 +337,7 @@ if {$report == ""} {
  		Log "--------------------------------"
  		Log "(end of usb_modeswitch output)\n"
  	} else {
@@ -251,19 +249,22 @@ index d2ee50c..8a48751 100755
  	}
  }
  
-@@ -498,9 +506,9 @@ return 1
+@@ -522,12 +530,12 @@ return 1
  
- proc {ParseGlobalConfig} {} {
+ proc {ParseGlobalConfig} {path} {
  
 -global flags
 +global flags setup
  set configFile ""
--set places [list /etc/usb_modeswitch.conf /etc/sysconfig/usb_modeswitch /etc/default/usb_modeswitch]
-+set places [list $setup(etcdir)/usb_modeswitch.conf $setup(etcdir)/sysconfig/usb_modeswitch $setup(etcdir)/default/usb_modeswitch]
+ if [string length $path] {
+ 	set places [list $path]
+ } else {
+-	set places [list /etc/usb_modeswitch.conf /etc/sysconfig/usb_modeswitch /etc/default/usb_modeswitch]
++	set places [list $setup(etcdir)/usb_modeswitch.conf $setup(etcdir)/sysconfig/usb_modeswitch $setup(etcdir)/default/usb_modeswitch]
+ }
  foreach cfg $places {
  	if [file exists $cfg] {
- 		set configFile $cfg
-@@ -897,10 +905,12 @@ proc {SysLog} {msg} {
+@@ -923,10 +931,12 @@ proc {SysLog} {msg} {
  
  global flags
  if {![info exists flags(logger)]} {
@@ -280,15 +281,3 @@ index d2ee50c..8a48751 100755
  		}
  	}
  	Log "Logger is $flags(logger)"
-diff --git a/usb_modeswitch@.service b/usb_modeswitch@.service
-index f74a8bf..90cb96a 100644
---- a/usb_modeswitch@.service
-+++ b/usb_modeswitch@.service
-@@ -3,6 +3,6 @@ Description=USB_ModeSwitch_%i
- 
- [Service]
- Type=oneshot
--ExecStart=/usr/sbin/usb_modeswitch_dispatcher --switch-mode %i
-+ExecStart=@sbindir@/usb_modeswitch_dispatcher --switch-mode %i
- #ExecStart=/bin/echo %i
-