[Glibc-bsd-commits] r5372 - in trunk/freebsd-utils/debian: . patches

rmh at alioth.debian.org rmh at alioth.debian.org
Tue Jan 21 11:45:40 UTC 2014


Author: rmh
Date: 2014-01-21 11:45:40 +0000 (Tue, 21 Jan 2014)
New Revision: 5372

Added:
   trunk/freebsd-utils/debian/patches/svn_HEAD_syscons.diff
   trunk/freebsd-utils/debian/patches/syscons.diff
Modified:
   trunk/freebsd-utils/debian/changelog
   trunk/freebsd-utils/debian/kbdcontrol.dirs
   trunk/freebsd-utils/debian/kbdcontrol.install
   trunk/freebsd-utils/debian/patches/022_devd.diff
   trunk/freebsd-utils/debian/patches/series
   trunk/freebsd-utils/debian/rules
Log:
Handle USB keyboard attach/detach events.

Modified: trunk/freebsd-utils/debian/changelog
===================================================================
--- trunk/freebsd-utils/debian/changelog	2014-01-21 11:27:26 UTC (rev 5371)
+++ trunk/freebsd-utils/debian/changelog	2014-01-21 11:45:40 UTC (rev 5372)
@@ -1,3 +1,9 @@
+freebsd-utils (10.0-2) UNRELEASED; urgency=low
+
+  * Handle USB keyboard attach/detach events.
+
+ -- Robert Millan <rmh at debian.org>  Tue, 21 Jan 2014 12:38:27 +0100
+
 freebsd-utils (10.0-1) experimental; urgency=low
 
   * New upstream release.

Modified: trunk/freebsd-utils/debian/kbdcontrol.dirs
===================================================================
--- trunk/freebsd-utils/debian/kbdcontrol.dirs	2014-01-21 11:27:26 UTC (rev 5371)
+++ trunk/freebsd-utils/debian/kbdcontrol.dirs	2014-01-21 11:45:40 UTC (rev 5372)
@@ -1 +1,2 @@
 usr/share/syscons/keymaps
+etc/rc.d

Modified: trunk/freebsd-utils/debian/kbdcontrol.install
===================================================================
--- trunk/freebsd-utils/debian/kbdcontrol.install	2014-01-21 11:27:26 UTC (rev 5371)
+++ trunk/freebsd-utils/debian/kbdcontrol.install	2014-01-21 11:45:40 UTC (rev 5372)
@@ -1,3 +1,4 @@
 usr/sbin/kbdcontrol			/sbin
 src/share/syscons/keymaps/*.kbd		/usr/share/syscons/keymaps
 debian/local/keymaps/*.kbd		/usr/share/syscons/keymaps
+src/etc/rc.d/syscons			/etc/rc.d

Modified: trunk/freebsd-utils/debian/patches/022_devd.diff
===================================================================
--- trunk/freebsd-utils/debian/patches/022_devd.diff	2014-01-21 11:27:26 UTC (rev 5371)
+++ trunk/freebsd-utils/debian/patches/022_devd.diff	2014-01-21 11:45:40 UTC (rev 5372)
@@ -17,7 +17,7 @@
  	pid-file "/var/run/devd.pid";
  
  	# Setup some shorthand for regex that we use later in the file.
-@@ -27,112 +23,6 @@
+@@ -27,84 +23,6 @@
  # Note that the attach/detach with the highest value wins, so that one can
  # override these general rules.
  
@@ -99,16 +99,13 @@
 -#	action "sleep 2 && /usr/sbin/ath3kfw -d $device-name -f /usr/local/etc/ath3k-1.fw";
 -#};
 -
--# When a USB keyboard arrives, attach it as the console keyboard.
--attach 100 {
--	device-name "ukbd0";
--	action "/etc/rc.d/syscons setkeyboard /dev/ukbd0";
--};
--detach 100 {
--	device-name "ukbd0";
--	action "/etc/rc.d/syscons setkeyboard /dev/kbd0";
--};
--
+ # When a USB keyboard arrives, attach it as the console keyboard.
+ attach 100 {
+ 	device-name "ukbd0";
+@@ -115,24 +33,6 @@
+ 	action "/etc/rc.d/syscons setkeyboard /dev/kbd0";
+ };
+ 
 -notify 100 {
 -	match "system" "DEVFS";
 -	match "subsystem" "CDEV";
@@ -130,7 +127,7 @@
  # Firmware download into the ActiveWire board. After the firmware download is
  # done, the device detaches and reappears as something new and shiny
  # automatically.
-@@ -211,13 +101,6 @@
+@@ -211,13 +111,6 @@
  		vendor $vendor bus $bus";
  };
  
@@ -144,7 +141,7 @@
  # Notify all users before beginning emergency shutdown when we get
  # a _CRT or _HOT thermal event and we're going to power down the system
  # very soon.
-@@ -259,19 +142,6 @@
+@@ -259,19 +152,6 @@
  	action "logger -p kern.warn 'ZFS: checksum mismatch, zpool=$pool path=$vdev_path offset=$zio_offset size=$zio_size'";
  };
  

Modified: trunk/freebsd-utils/debian/patches/series
===================================================================
--- trunk/freebsd-utils/debian/patches/series	2014-01-21 11:27:26 UTC (rev 5371)
+++ trunk/freebsd-utils/debian/patches/series	2014-01-21 11:45:40 UTC (rev 5372)
@@ -1,4 +1,6 @@
 # Patches from (or merged in) upstream
+svn_HEAD_syscons.diff
+syscons.diff
 savecore_signal.diff
 
 # Patches that are in good shape for merging upstream

Added: trunk/freebsd-utils/debian/patches/svn_HEAD_syscons.diff
===================================================================
--- trunk/freebsd-utils/debian/patches/svn_HEAD_syscons.diff	                        (rev 0)
+++ trunk/freebsd-utils/debian/patches/svn_HEAD_syscons.diff	2014-01-21 11:45:40 UTC (rev 5372)
@@ -0,0 +1,266 @@
+--- /dev/null
++++ b/src/etc/rc.d/syscons
+@@ -0,0 +1,263 @@
++#!/bin/sh -
++#
++# Copyright (c) 2000  The FreeBSD Project
++# All rights reserved.
++#
++# Redistribution and use in source and binary forms, with or without
++# modification, are permitted provided that the following conditions
++# are met:
++# 1. Redistributions of source code must retain the above copyright
++#    notice, this list of conditions and the following disclaimer.
++# 2. Redistributions in binary form must reproduce the above copyright
++#    notice, this list of conditions and the following disclaimer in the
++#    documentation and/or other materials provided with the distribution.
++#
++# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
++# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
++# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
++# ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
++# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
++# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
++# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
++# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
++# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
++# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
++# SUCH DAMAGE.
++#
++# $FreeBSD$
++#
++
++# PROVIDE: syscons
++# REQUIRE: LOGIN
++# KEYWORD: nojail
++
++. /etc/rc.subr
++
++name="syscons"
++extra_commands="setkeyboard"
++setkeyboard_cmd="syscons_setkeyboard"
++start_precmd="syscons_precmd"
++start_cmd="syscons_start"
++stop_cmd=":"
++
++# stdin must be redirected because it might be for a serial console
++#
++kbddev=/dev/ttyv0
++viddev=/dev/ttyv0
++
++_sc_config="syscons"
++_sc_initdone=
++sc_init()
++{
++	if [ -z "${_sc_initdone}" ]; then
++		echo -n "Configuring ${_sc_config}:"
++		_sc_initdone=yes
++	fi
++}
++
++# helper
++syscons_configure_keyboard()
++{
++	# keymap
++	#
++	case ${keymap} in
++	[Nn][Oo] | '')
++		;;
++	*)
++		sc_init
++		echo -n ' keymap';	kbdcontrol < ${kbddev} -l ${keymap}
++		;;
++	esac
++
++	# keyrate
++	#
++	case ${keyrate} in
++	[Nn][Oo] | '')
++		;;
++	*)
++		sc_init
++		echo -n ' keyrate';	kbdcontrol < ${kbddev} -r ${keyrate}
++		;;
++	esac
++
++	# keybell
++	#
++	case ${keybell} in
++	[Nn][Oo] | '')
++		;;
++	*)
++		sc_init
++		echo -n ' keybell';	kbdcontrol < ${kbddev} -b ${keybell}
++		;;
++	esac
++
++	# change function keys
++	#
++	case ${keychange} in
++	[Nn][Oo] | '')
++		;;
++	*)
++		sc_init
++		echo -n ' keychange'
++		set -- ${keychange}
++		while [ $# -gt 0 ]; do
++			kbdcontrol <${kbddev} -f "$1" "$2"
++			shift; shift
++		done
++		;;
++	esac
++
++	# set this keyboard mode for all virtual terminals
++	#
++	if [ -n "${allscreens_kbdflags}" ]; then
++		sc_init
++		echo -n ' allscreens_kbd'
++		for ttyv in /dev/ttyv*; do
++			kbdcontrol ${allscreens_kbdflags} < ${ttyv} > ${ttyv} 2>&1
++		done
++	fi
++}
++
++syscons_setkeyboard()
++{
++	kbd=$1
++
++	if [ -z "${kbd}" ]; then
++		return 1
++	fi
++
++	# Check if the kbdmux(4) is the current active keyboard
++	kbdcontrol -i < ${kbddev} | grep kbdmux > /dev/null 2>&1
++	if [ $? -ne 0 ]; then
++		kbdcontrol -k ${kbd} < ${kbddev} > /dev/null 2>&1
++	fi
++
++	_sc_config="keyboard"
++	syscons_configure_keyboard
++
++	# Terminate keyboard configuration line and reset global variables.
++	#
++	if [ -n "${_sc_initdone}" ]; then
++		echo '.'
++		_sc_config="syscons"
++		_sc_initdone=
++	fi
++
++}
++
++syscons_precmd()
++{
++	if [ ! -c $kbddev ]
++	then
++		return 1
++	fi
++	return 0
++}
++
++syscons_start()
++{
++	# keyboard
++	#
++	if [ -n "${keyboard}" ]; then
++		syscons_setkeyboard ${keyboard}
++	fi
++
++	syscons_configure_keyboard
++
++	# cursor type
++	#
++	case ${cursor} in
++	[Nn][Oo] | '')
++		;;
++	*)
++		sc_init
++		echo -n ' cursor';	vidcontrol < ${viddev} -c ${cursor}
++		;;
++	esac
++
++	# screen mapping
++	#
++	case ${scrnmap} in
++	[Nn][Oo] | '')
++		;;
++	*)
++		sc_init
++		echo -n ' scrnmap';	vidcontrol < ${viddev} -l ${scrnmap}
++		;;
++	esac
++
++	# font 8x16
++	#
++	case ${font8x16} in
++	[Nn][Oo] | '')
++		;;
++	*)
++		sc_init
++		echo -n ' font8x16';	vidcontrol < ${viddev} -f 8x16 ${font8x16}
++		;;
++	esac
++
++	# font 8x14
++	#
++	case ${font8x14} in
++	[Nn][Oo] | '')
++		;;
++	*)
++		sc_init
++		echo -n ' font8x14';	vidcontrol < ${viddev} -f 8x14 ${font8x14}
++		;;
++	esac
++
++	# font 8x8
++	#
++	case ${font8x8} in
++	[Nn][Oo] | '')
++		;;
++	*)
++		sc_init
++		echo -n ' font8x8';	vidcontrol < ${viddev} -f 8x8 ${font8x8}
++		;;
++	esac
++
++	# blank time
++	#
++	case ${blanktime} in
++	[Nn][Oo] | '')
++		;;
++	*)
++		sc_init
++		echo -n ' blanktime';	vidcontrol < ${viddev} -t ${blanktime}
++		;;
++	esac
++
++	# screen saver
++	#
++	case ${saver} in
++	[Nn][Oo] | '')
++		;;
++	*)
++		sc_init
++		echo -n ' screensaver'
++		for i in `kldstat | awk '$5 ~ "_saver\.ko$" { print $5 }'`; do
++			kldunload ${i}
++		done
++		load_kld -e _saver ${saver}_saver
++		;;
++	esac
++
++	# set this mode for all virtual screens
++	#
++	if [ -n "${allscreens_flags}" ]; then
++		sc_init
++		echo -n ' allscreens'
++		for ttyv in /dev/ttyv*; do
++			vidcontrol ${allscreens_flags} < ${ttyv} > ${ttyv} 2>&1
++		done
++	fi
++
++	[ -n "${_sc_initdone}" ] && echo '.'
++}
++
++load_rc_config $name
++run_rc_command $*
++

Added: trunk/freebsd-utils/debian/patches/syscons.diff
===================================================================
--- trunk/freebsd-utils/debian/patches/syscons.diff	                        (rev 0)
+++ trunk/freebsd-utils/debian/patches/syscons.diff	2014-01-21 11:45:40 UTC (rev 5372)
@@ -0,0 +1,31 @@
+
+For now we just use this script to service USB keyboard events
+(see devd.conf).
+
+In the future we could add an init.d script to handle startup
+settings, etc.
+
+--- a/src/etc/rc.d/syscons
++++ b/src/etc/rc.d/syscons
+@@ -31,8 +31,6 @@
+ # REQUIRE: LOGIN
+ # KEYWORD: nojail
+ 
+-. /etc/rc.subr
+-
+ name="syscons"
+ extra_commands="setkeyboard"
+ setkeyboard_cmd="syscons_setkeyboard"
+@@ -258,6 +256,9 @@
+ 	[ -n "${_sc_initdone}" ] && echo '.'
+ }
+ 
+-load_rc_config $name
+-run_rc_command $*
+-
++case "$1" in
++	setkeyboard)
++		shift
++		syscons_setkeyboard $*
++	;;
++esac

Modified: trunk/freebsd-utils/debian/rules
===================================================================
--- trunk/freebsd-utils/debian/rules	2014-01-21 11:27:26 UTC (rev 5371)
+++ trunk/freebsd-utils/debian/rules	2014-01-21 11:45:40 UTC (rev 5372)
@@ -132,6 +132,7 @@
 		 sbin/gbde bin/kenv \
 		 sbin/geom sys/geom/eli sys/crypto/sha2 \
 		 usr.sbin/kbdcontrol usr.sbin/vidcontrol share/syscons \
+		etc/rc.d/syscons \
 		 sbin/savecore sbin/dumpon \
 		share/examples/pf etc/pf.os \
 		 usr.sbin/mountd usr.sbin/rpc.statd usr.sbin/rpc.lockd \




More information about the Glibc-bsd-commits mailing list