Skip to content
Permalink
f577968c69
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
 
 
Cannot retrieve contributors at this time
executable file 119 lines (92 sloc) 2.61 KB
#!/usr/bin/env beesh
# BEE_VERSION kvm-monitor-0.9-2
mee_build() {
mkdir -pv ${B}/etc/udev/rules.d
cd ${B}/etc/udev/rules.d
# build inline
/usr/bin/cat > 51-raritan-kvm.rules <<__'RULE'
SUBSYSTEM=="usb", ENV{ID_VENDOR_ID}=="14dd", ENV{ID_MODEL_ID}=="0002", PROGRAM="/lib/udev/kvm_monitor.pl"
__RULE
chmod 644 51-raritan-kvm.rules
cd -
mkdir -pv ${B}/lib/udev
cd ${B}/lib/udev
# build inline
/usr/bin/cat > kvm_monitor.pl <<__'SCRIPT'
#!/usr/bin/perl -w
use strict;
# use Data::Dumper; $Data::Dumper::Sortkeys=1;
# print Dumper \%ENV
# root> lsusb -v | grep iSerial
my %serial_to_name = qw(
960f2408004ca12a2641C894DA0F1B6A kvm03
96132408034ca1d22641C894DA0F1B6A kvm04
96112408034ca1d62641C894DA0F1B6A kvm05
960d2408004ca12eDAB76E6660AFB498 kvm06
96132408004ca11e2641C894DA0F1B6A kvm07
96132408004ca1322641C894DA0F1B6A kvm09
96fec24603c408f42641C894DA0F1B6A kvm10
960dc24600c47d202641C894DA0F1B6A kvm12
960dc24600c47d282641C894DA0F1B6A kvm13
96fec24600c408082641C894DA0F1B6A kvm14
96fac24603c46bfc2641C894DA0F1B6A kvm15
96fec24603c408c82641C894DA0F1B6A kvm16
96fbc24600c4a7402641C894DA0F1B6A kvm17
96fcc24603c4a7fc2641C894DA0F1B6A kvm18
);
my $action = $ENV{ACTION} || 'missing action';
my $id = $ENV{ID_SERIAL_SHORT} || 'missing environment variable';
my $name = sprintf "Unknown KVM with ID '%s'", $id;
$name = $serial_to_name{$id} if exists $serial_to_name{$id};
my $msg = 'kvm-event: ' . $name;
if ($action eq 'add') {
$msg .= ' was attached.';
} elsif ($action eq 'remove') {
$msg .= ' was removed.';
} else {
$msg .= ", and an unknown event has occurred ($action)";
}
system('/usr/bin/logger', $msg);
exit;
=head2
The environment seen (kvm13)
ACTION=add
ACTION=remove
==== event ====
Thu May 26 13:08:33 CEST 2016
ACTION=add
BUSNUM=002
DEVLINKS=/dev/char/189:136
DEVNAME=bus/usb/002/009
DEVNUM=009
DEVPATH=/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3
DEVTYPE=usb_device
ID_BUS=usb
ID_MODEL=Multidevice
ID_MODEL_ENC=Multidevice
ID_MODEL_ID=0002
ID_REVISION=0001
ID_SERIAL=Peppercon_AG_Multidevice_960dc24600c47d282641C894DA0F1B6A
ID_SERIAL_SHORT=960dc24600c47d282641C894DA0F1B6A
ID_USB_INTERFACES=:030101:030102:
ID_VENDOR=Peppercon_AG
ID_VENDOR_ENC=Peppercon\x20AG
ID_VENDOR_ID=14dd
MAJOR=189
MINOR=136
PRODUCT=14dd/2/1
PWD=/
SEQNUM=3362
SHLVL=1
SUBSYSTEM=usb
TYPE=0/0/0
UDEV_LOG=3
_=/usr/bin/env
=cut
__SCRIPT
chmod 755 kvm_monitor.pl
cd -
echo "# syntax check on: '${B}/lib/udev/kvm_monitor.pl'";
/usr/bin/perl -wc ${B}/lib/udev/kvm_monitor.pl || exit
cp -vax ${B}/* ${D}
}