fix-amd-map.in revision 174294
1#!@PERL@
2#
3# fix an old-syntax amd map to new one
4#
5# takes any number of files on the command line, and produces
6# a fixed map on stdout.
7#
8# Package:	am-utils-6.x
9# Author:	Erez Zadok <ezk@cs.columbia.edu>
10#
11
12##############################################################################
13### MAINTAINER EDITABLE SECTION
14
15# Mappings of old names to new ones:
16# Update when needed, do not forget commas but not on the last entry!
17# For your convenience, this is the complete list of all OSs that were
18# supported by amd-upl102, in their old names:
19#
20#	386bsd acis43 aix3 aoi aux bsd43 bsd44 bsdi11
21#	concentrix dgux fpx4 freebsd hcx hlh42 hpux irix3 irix4 irix5 isc3
22#	linux mach2 mach3 netbsd news4 next osf1 pyrOSx riscix riscos
23#	rtu6 sos3 sos4 sos5 stellix svr4 u2_2 u3_0 u4_0 u4_2 u4_3 u4_4
24#	umax43 utek utx32 xinu43
25#
26%mappings = (
27	"sos4",		"sunos4",
28	"sos5",		"sunos5",
29	"freebsd",	"freebsd2"
30);
31
32##############################################################################
33### DO NOT EDIT ANYTHING BELOW
34
35# This is a trivial parser and works as follows:
36# (1) read each line
37# (2) search of regexps that start with '=', continue with a word to replace
38#     and end with a non-value name (whitespace, ';', or newline
39while (<>) {
40    # skip trivial lines
41    if ($_ =~ /^$/  ||  $_ =~ /^#/) {
42	print;
43	next;
44    }
45    # modify the line if needed
46    foreach $m (keys %mappings) {
47	$val = $mappings{$m};
48	$_ =~ s/=$m([^a-zA-Z0-9_])/=$val$1/g;
49    }
50    # print the (possibly) modified line
51    print;
52}
53