#!/usr/pkg/bin/perl die "The latest version of this script can be found in pkgsrc/sysutils/adjustkernel!\n"; # $Id: adjustkernel,v 1.1 1999/10/15 01:21:30 feyrer Exp feyrer $ # # Usage: adjustkernel GENERIC >CUSTOM # # commends out any lines that aren't found in the current kernel (dmesg) # $debug = 0; ########################################################################### if ( $#ARGV < 0 or ! -f $ARGV[0] ) { die "Usage: $0 GENERIC\n"; } $kernel=$ARGV[0]; open(K,"$kernel") or die; while () { chomp; if (/^#/) { print "$_\n" if ! $debug; }elsif (/(\S*)\s+at\s(\S*)(\s*.*)$/) { $dev=$1; $where=$2; $comment=$3; print "<$dev> at <$where><$comment>\n" if $debug; if ($dev =~ /^(.*)[?*]$/) { $gdev="${1}[0-9]"; } else { $gdev=$dev; } if ($where =~ /^(.*)[?*]$/) { $gwhere="${1}[0-9]"; } else { $gwhere=$where; } $cmd="dmesg | grep '^${gdev}[ ]*at[ ]*${gwhere}'"; $debug && print "$cmd\n"; $l = `$cmd`; $debug && print "($l)\n"; if ($l eq "") { if ($dev !~ /mainbus/) { # inconsistent in dmesg print "#HF#"; } } print "$_\n"; print "\n" if $debug; }else { print "$_\n" if ! $debug; } } close(K);