mirror of
https://github.com/lm-sensors/lm-sensors.git
synced 2026-10-29 12:50:43 +00:00
Extra safety measures for mkpatch
It now dies with an error message if it fails to generate the correct diffs, instead of continuing silently. git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@574 7894878c-1315-0410-8ee3-d5d059ff63e0
This commit is contained in:
1 parent
cd6b6afaac
commit
4a2fdba03d
1 file changed
+26
-3
+26
-3
@@ -63,7 +63,6 @@ sub print_diff
|
||||
# The new texts are put at the end of the file, or just before the
|
||||
# lm_sensors texts.
|
||||
# Of course, care is taken old lines are removed.
|
||||
# NOTE: MOST OF THE TEXTS ARE UNWRITTEN YET!
|
||||
# $_[0]: i2c package root (like /tmp/i2c)
|
||||
# $_[1]: Linux kernel tree (like /usr/src/linux)
|
||||
sub gen_Documentation_Configure_help
|
||||
@@ -319,6 +318,8 @@ sub gen_drivers_Makefile
|
||||
my $kernel_file = "drivers/Makefile";
|
||||
my $package_file = $temp;
|
||||
my $sensors_present;
|
||||
my $pr1 = 0;
|
||||
my $pr2 = 0;
|
||||
|
||||
open INPUT,"$kernel_root/$kernel_file"
|
||||
or die "Can't open `$kernel_root/$kernel_file'";
|
||||
@@ -326,6 +327,7 @@ sub gen_drivers_Makefile
|
||||
or die "Can't open $package_root/$package_file";
|
||||
MAIN: while(<INPUT>) {
|
||||
if (m@^ALL_SUB_DIRS\s*:=@) {
|
||||
$pr1 = 1;
|
||||
$sensors_present = 0;
|
||||
while (m@\\$@) {
|
||||
$sensors_present = 1 if m@sensors@;
|
||||
@@ -345,6 +347,7 @@ sub gen_drivers_Makefile
|
||||
redo MAIN;
|
||||
}
|
||||
if (m@^include \$\(TOPDIR\)/Rules.make$@) {
|
||||
$pr2 = 1;
|
||||
print OUTPUT <<'EOF';
|
||||
ifeq ($(CONFIG_SENSORS),y)
|
||||
SUB_DIRS += sensors
|
||||
@@ -361,6 +364,8 @@ EOF
|
||||
}
|
||||
close INPUT;
|
||||
close OUTPUT;
|
||||
die "Automatic patch generation for `drivers/Makefile' failed.\n".
|
||||
"Contact the authors please!" if $pr1 == 0 or $pr2 == 0;
|
||||
print_diff $package_root,$kernel_root,$kernel_file,$package_file;
|
||||
}
|
||||
|
||||
@@ -375,8 +380,7 @@ sub gen_drivers_char_Config_in
|
||||
my ($package_root,$kernel_root) = @_;
|
||||
my $kernel_file = "drivers/char/Config.in";
|
||||
my $package_file = $temp;
|
||||
my $ready = 0;
|
||||
my $done = 0;
|
||||
my $pr1 = 0;
|
||||
|
||||
open INPUT,"$kernel_root/$kernel_file"
|
||||
or die "Can't open `$kernel_root/$kernel_file'";
|
||||
@@ -384,6 +388,7 @@ sub gen_drivers_char_Config_in
|
||||
or die "Can't open $package_root/$package_file";
|
||||
MAIN: while(<INPUT>) {
|
||||
if (m@source drivers/i2c/Config.in@) {
|
||||
$pr1 = 1;
|
||||
print OUTPUT;
|
||||
print OUTPUT "\nsource drivers/sensors/Config.in\n";
|
||||
$_ = <INPUT>;
|
||||
@@ -398,6 +403,8 @@ sub gen_drivers_char_Config_in
|
||||
}
|
||||
close INPUT;
|
||||
close OUTPUT;
|
||||
die "Automatic patch generation for `drivers/Makefile' failed.\n".
|
||||
"Contact the authors please!" if $pr1 == 0;
|
||||
print_diff $package_root,$kernel_root,$kernel_file,$package_file;
|
||||
}
|
||||
|
||||
@@ -417,6 +424,8 @@ sub gen_drivers_char_mem_c
|
||||
my $right_place = 0;
|
||||
my $done = 0;
|
||||
my $atstart = 1;
|
||||
my $pr1 = 0;
|
||||
my $pr2 = 0;
|
||||
|
||||
open INPUT,"$kernel_root/$kernel_file"
|
||||
or die "Can't open `$kernel_root/$kernel_file'";
|
||||
@@ -424,6 +433,7 @@ sub gen_drivers_char_mem_c
|
||||
or die "Can't open $package_root/$package_file";
|
||||
MAIN: while(<INPUT>) {
|
||||
if ($atstart and m@#ifdef@) {
|
||||
$pr1 = 1;
|
||||
print OUTPUT << 'EOF';
|
||||
#ifdef CONFIG_SENSORS
|
||||
extern void sensors_init_all(void);
|
||||
@@ -445,6 +455,7 @@ EOF
|
||||
redo MAIN;
|
||||
}
|
||||
if ($right_place and not $done and m@return 0;@) {
|
||||
$pr2 = 1;
|
||||
print OUTPUT <<'EOF';
|
||||
#ifdef CONFIG_SENSORS
|
||||
sensors_init_all();
|
||||
@@ -457,6 +468,8 @@ EOF
|
||||
}
|
||||
close INPUT;
|
||||
close OUTPUT;
|
||||
die "Automatic patch generation for `drivers/char/mem.c' failed.\n".
|
||||
"Contact the authors please!" if $pr1 == 0 or $pr2 == 0;
|
||||
print_diff $package_root,$kernel_root,$kernel_file,$package_file;
|
||||
}
|
||||
|
||||
@@ -472,6 +485,7 @@ sub gen_drivers_i2c_Config_in
|
||||
my ($package_root,$kernel_root) = @_;
|
||||
my $kernel_file = "drivers/i2c/Config.in";
|
||||
my $package_file = "$temp";
|
||||
my $pr1 = 0;
|
||||
|
||||
open INPUT,"$kernel_root/$kernel_file"
|
||||
or die "Can't open `$kernel_root/$kernel_file'";
|
||||
@@ -479,6 +493,7 @@ sub gen_drivers_i2c_Config_in
|
||||
or die "Can't open $package_root/$package_file";
|
||||
while(<INPUT>) {
|
||||
if (m@sensors code starts here@) {
|
||||
$pr1++;
|
||||
print OUTPUT;
|
||||
while (<INPUT>) {
|
||||
last if m@sensors code ends here@;
|
||||
@@ -499,6 +514,8 @@ EOF
|
||||
}
|
||||
close INPUT;
|
||||
close OUTPUT;
|
||||
die "Automatic patch generation for `drivers/i2c/Config.in' failed.\n".
|
||||
"Contact the authors please!" if $pr1 != 1;
|
||||
print_diff $package_root,$kernel_root,$kernel_file,$package_file;
|
||||
}
|
||||
|
||||
@@ -513,6 +530,7 @@ sub gen_drivers_i2c_Makefile
|
||||
my ($package_root,$kernel_root) = @_;
|
||||
my $kernel_file = "drivers/i2c/Makefile";
|
||||
my $package_file = $temp;
|
||||
my $pr1 = 0;
|
||||
|
||||
open INPUT,"$kernel_root/$kernel_file"
|
||||
or die "Can't open `$kernel_root/$kernel_file'";
|
||||
@@ -520,6 +538,7 @@ sub gen_drivers_i2c_Makefile
|
||||
or die "Can't open $package_root/$package_file";
|
||||
while(<INPUT>) {
|
||||
if (m@sensors code starts here@) {
|
||||
$pr1 ++;
|
||||
print OUTPUT;
|
||||
while (<INPUT>) {
|
||||
last if m@sensors code ends here@;
|
||||
@@ -571,6 +590,8 @@ EOF
|
||||
}
|
||||
close INPUT;
|
||||
close OUTPUT;
|
||||
die "Automatic patch generation for `drivers/i2c/Makefile' failed.\n".
|
||||
"Contact the authors please!" if $pr1 != 1;
|
||||
print_diff $package_root,$kernel_root,$kernel_file,$package_file;
|
||||
}
|
||||
|
||||
@@ -640,6 +661,8 @@ EOF
|
||||
}
|
||||
close INPUT;
|
||||
close OUTPUT;
|
||||
die "Automatic patch generation for `drivers/i2c/i2c-core.c' failed.\n".
|
||||
"Contact the authors please!" if $patch_nr != 3;
|
||||
print_diff $package_root,$kernel_root,$kernel_file,$package_file;
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user