3 system("grep 'define NETSNMP_DS_' ../../../include/net-snmp/agent/ds_agent.h > ds_agent.h");
4 system("h2xs -n NetSNMP::agent::default_store -O ds_agent.h");
6 open(ORIG,"default_store.xs");
7 open(NEW,"NetSNMP/agent/default_store/default_store.xs");
8 open(OUT,">default_store_new.xs");
10 # get up to the include from the original file
13 last if (/include <net-snmp\/agent\/ds_agent.h/);
16 # skip up to the include from the original file
18 last if (/include <ds_agent.h>/);
21 # include the entire new file
31 open(OUT,">test.pl.new");
35 last if (/\%tests =/);
39 if (/define\s+(\w+)\s+(\d+)/) {
40 printf OUT (" %-40s => %d,\n", "\"$1\"", $2);
41 $tokenlist .= " $1\n";
53 # modify the perl module itself
55 open(ORIG,"default_store.pm");
56 open(OUT,">default_store_new.pm");
61 last if (/\%EXPORT_TAGS =/);
65 last if (/\) \] \);/);
72 last if (/\@EXPORT =/);
83 last if (/head2 Exportable constants/);
99 print "updated test.pl\n";
100 rename("test.pl","test.pl.bak");
101 rename("test.pl.new","test.pl");
103 print "updated default_store.pm\n";
104 rename("default_store.pm", "default_store.pm.bak");
105 rename("default_store_new.pm", "default_store.pm");
107 print "updated default_store.xs\n";
108 rename("default_store.xs", "default_store.xs.bak");
109 rename("default_store_new.xs", "default_store.xs");
112 # remove the temp files.
114 system("rm -rf NetSNMP");
115 unlink("ds_agent.h");