# HG changeset patch # User Rob Landley # Date 1230512521 21600 # Node ID f806ebb91b0b66ebc867dc225b6ecc4963c03972 # Parent 8113ea4c3ee9dc462f26b3157cc3b785b5c288c2 Remove the latest perl outbreak. diff -r 8113ea4c3ee9 -r f806ebb91b0b sources/patches/alt-linux-noperl-out-out-damned-perl.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sources/patches/alt-linux-noperl-out-out-damned-perl.patch Sun Dec 28 19:02:01 2008 -0600 @@ -0,0 +1,86 @@ +The perl infestation spread in the 2.6.28 kernel. + +diff -ruN alt-linux/arch/x86/kernel/cpu/Makefile alt-linux2/arch/x86/kernel/cpu/Makefile +--- alt-linux/arch/x86/kernel/cpu/Makefile 2008-12-24 17:26:37.000000000 -0600 ++++ alt-linux2/arch/x86/kernel/cpu/Makefile 2008-12-28 18:10:51.000000000 -0600 +@@ -23,10 +23,10 @@ + obj-$(CONFIG_X86_LOCAL_APIC) += perfctr-watchdog.o + + quiet_cmd_mkcapflags = MKCAP $@ +- cmd_mkcapflags = $(PERL) $(srctree)/$(src)/mkcapflags.pl $< $@ ++ cmd_mkcapflags = $(CONFIG_SHELL) $(srctree)/$(src)/mkcapflags.sh $< $@ + + cpufeature = $(src)/../../include/asm/cpufeature.h + + targets += capflags.c +-$(obj)/capflags.c: $(cpufeature) $(src)/mkcapflags.pl FORCE ++$(obj)/capflags.c: $(cpufeature) $(src)/mkcapflags.sh FORCE + $(call if_changed,mkcapflags) +diff -ruN alt-linux/arch/x86/kernel/cpu/mkcapflags.pl alt-linux2/arch/x86/kernel/cpu/mkcapflags.pl +--- alt-linux/arch/x86/kernel/cpu/mkcapflags.pl 2008-12-24 17:26:37.000000000 -0600 ++++ alt-linux2/arch/x86/kernel/cpu/mkcapflags.pl 1969-12-31 18:00:00.000000000 -0600 +@@ -1,32 +0,0 @@ +-#!/usr/bin/perl +-# +-# Generate the x86_cap_flags[] array from include/asm-x86/cpufeature.h +-# +- +-($in, $out) = @ARGV; +- +-open(IN, "< $in\0") or die "$0: cannot open: $in: $!\n"; +-open(OUT, "> $out\0") or die "$0: cannot create: $out: $!\n"; +- +-print OUT "#include \n\n"; +-print OUT "const char * const x86_cap_flags[NCAPINTS*32] = {\n"; +- +-while (defined($line = )) { +- if ($line =~ /^\s*\#\s*define\s+(X86_FEATURE_(\S+))\s+(.*)$/) { +- $macro = $1; +- $feature = $2; +- $tail = $3; +- if ($tail =~ /\/\*\s*\"([^"]*)\".*\*\//) { +- $feature = $1; +- } +- +- if ($feature ne '') { +- printf OUT "\t%-32s = \"%s\",\n", +- "[$macro]", "\L$feature"; +- } +- } +-} +-print OUT "};\n"; +- +-close(IN); +-close(OUT); +diff -ruN alt-linux/arch/x86/kernel/cpu/mkcapflags.sh alt-linux2/arch/x86/kernel/cpu/mkcapflags.sh +--- alt-linux/arch/x86/kernel/cpu/mkcapflags.sh 1969-12-31 18:00:00.000000000 -0600 ++++ alt-linux2/arch/x86/kernel/cpu/mkcapflags.sh 2008-12-28 18:08:50.000000000 -0600 +@@ -0,0 +1,28 @@ ++#!/bin/sh ++# ++# Generate the x86_cap_flags[] array from include/asm/cpufeature.h ++# ++ ++IN=$1 ++OUT=$2 ++ ++( ++ echo "#include " ++ echo "" ++ echo "const char * const x86_cap_flags[NCAPINTS*32] = {" ++ ++ # Iterate through any input lines starting with #define X86_FEATURE_ ++ sed -n -e 's/\t/ /g' -e 's/^ *# *define *X86_FEATURE_//p' $IN | ++ while read i ++ do ++ # Name is everything up to the first whitespace ++ NAME="$(echo "$i" | sed 's/ .*//')" ++ ++ # If the /* comment */ starts with a quote string, grab that. */ ++ VALUE="$(echo "$i" | sed -n 's@.*/\* *\("[^"]*"\).*\*/@\1@p')" ++ [ -z "$VALUE" ] && VALUE="\"$(echo "$NAME" | tr A-Z a-z)\"" ++ ++ [ "$VALUE" != '""' ] && echo " [X86_FEATURE_$NAME] = $VALUE," ++ done ++ echo "};" ++) > $OUT