~ubuntu-branches/ubuntu/edgy/joystick/edgy

« back to all changes in this revision

Viewing changes to debian/joystick-device-check

  • Committer: Bazaar Package Importer
  • Author(s): Edward Betts
  • Date: 2005-10-19 06:22:03 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20051019062203-bc382mxpjne3477m
Tags: 20051019-1
* New upstream release. Closes: #245108
* drop joystick-device-check - leave device file handling to MAKEDEV
  or udev this makes everything lots more simple, means debconf is
  no longer a dependancy, and no need for an initscript.
  Closes: #164592, #235168, #303682, #331872
* debian/rules: move to CDBS
* debian/control: added 'Requires at Linux 2.4 or newer.' Closes: #111117
* debian/control: Standards-Version: 3.6.2
* debian/copyright: updated FSF address
* debian/README.Debian: removed
* fix spelling mistakes in manpages Closes: #311445, #311446

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#!/usr/bin/perl
2
 
 
3
 
sub err {
4
 
   print STDERR $_[0];
5
 
   exit 1;
6
 
}
7
 
 
8
 
sub fix {
9
 
   # remove old nodes, create new, restore permisions
10
 
   unlink $_[0];
11
 
   system("mknod ".$_[0]." c ".$_[1]." ".$_[2]);
12
 
   chmod $_[3], $_[0];
13
 
   chown $_[4], $_[5], $_[0];
14
 
}
15
 
 
16
 
# new kernel detection
17
 
open(fh,"</proc/version");
18
 
if(<fh> =~ /Linux version \d\.(\d)\.\d/) {
19
 
   $newvers = $1 if($1 > 3);
20
 
}
21
 
else {
22
 
   err("/proc not mounted, aborting.");
23
 
}
24
 
 
25
 
@nodes = </dev/js*>;
26
 
err("Oops, please create some joystick device nodes with MAKEDEV first!") if($#nodes < 0);
27
 
 
28
 
# read modes and resolve links when needed
29
 
for(@nodes) {
30
 
   @mode = lstat;
31
 
   if(!defined($newvers) && ($mode[6] < 3500) ) { # old kernel, new device
32
 
      $rec = 1;
33
 
      fix($_, 15, ($mode[6] % 256), $mode[2], $mode[4], $mode[5]);
34
 
      print "Recreating $_\n";
35
 
   }
36
 
   if(defined($newvers) && ($mode[6] > 3500) ) { # new kernel, old device
37
 
      $rec = 1;
38
 
      fix($_, 13, ($mode[6] % 256), $mode[2], $mode[4], $mode[5]);
39
 
      print "Recreating $_\n";
40
 
   }
41
 
}
42
 
if(!defined($rec)) { print "device files are okay!\n" }