summaryrefslogtreecommitdiff
path: root/scripts
authorkergoth <kergoth>2003-01-16 04:01:29 (UTC)
committer kergoth <kergoth>2003-01-16 04:01:29 (UTC)
commit73927fe1c095507ce7fdd310917521fcd305b7e5 (patch) (unidiff)
treed09eb7d1e2a845b6e974150e369ea73dca89cb64 /scripts
parent4e6e6deda15467fe253b546136df00cf5b7ebd02 (diff)
downloadopie-73927fe1c095507ce7fdd310917521fcd305b7e5.zip
opie-73927fe1c095507ce7fdd310917521fcd305b7e5.tar.gz
opie-73927fe1c095507ce7fdd310917521fcd305b7e5.tar.bz2
Use paths relative to OPIEDIR in generated configs.
Diffstat (limited to 'scripts') (more/less context) (ignore whitespace changes)
-rwxr-xr-xscripts/makecfg.pl37
1 files changed, 7 insertions, 30 deletions
diff --git a/scripts/makecfg.pl b/scripts/makecfg.pl
index 5dd66a4..d7dc41e 100755
--- a/scripts/makecfg.pl
+++ b/scripts/makecfg.pl
@@ -7,14 +7,15 @@ use File::Find;
7 7
8my $packages=""; 8my $packages="";
9open(FILE, "<./packages"); 9open(FILE, "<./packages");
10while(<FILE>){$packages.=$_;} 10while(<FILE>){$packages.=$_;}
11close(FILE); 11close(FILE);
12 12
13my ($dirname,$dir,$file,@files,$filename,$tagname,$name,$caps,$pre,$post,$sources,@dupecheck); 13my ($dirname,$dir,$file,@files,$filename,$tagname,$name,$caps,$pre,$post,$sources,@dupecheck,$basedir);
14$file = shift || die; 14$file = shift || die;
15$basedir = shift;
15push(@files, $file); 16push(@files, $file);
16 17
17foreach(@files){ 18foreach(@files){
18my $cfg=$_; 19my $cfg=$_;
19($dirname=$cfg)=~s,(.*)/(.*),$1,; 20($dirname=$cfg)=~s,(.*)/(.*),$1,;
20($filename=$cfg)=~s,(.*/)(.*),$2,; 21($filename=$cfg)=~s,(.*/)(.*),$2,;
@@ -49,40 +50,12 @@ File::Find::find({wanted => \&wanted}, $dirname);
49print $post; 50print $post;
50select(STDOUT); 51select(STDOUT);
51close(CFG); 52close(CFG);
52} 53}
53exit; 54exit;
54 55
55open(FILE,">$dir/config.in");
56select(FILE);
57print "menu \"$name\"\n";
58print "\n";
59my @subdirs=();
60my @dirs;
61foreach(grep(/^$dir/, @dirs)){
62 chomp;
63 /^$dir\/$name.pro$/ && next;
64 my $localdir=$_;
65 if($dir=~m,^$localdir$,){
66 next;
67 }
68#($locadir=$_)~s,/[^/]+$,,g;
69 if($localdir=~/^\.$/){next;}
70 if(grep(/^$localdir$/, @subdirs)){next;}
71 my $nslashes = $localdir =~ tr!/!!;
72 my $dirnslashes = $dir =~ tr!/!!;
73 $dirnslashes++;
74 if($dirnslashes != $nslashes ){next;}
75 print STDERR "$localdir/config.in\n";
76 print " source $localdir/config.in\n";
77 push(@subdirs, $localdir);
78 print "endmenu\n";
79 select(STDOUT);
80 close(FILE);
81}
82
83use vars qw/*name *dir *prune/; 56use vars qw/*name *dir *prune/;
84*name = *File::Find::name; 57*name = *File::Find::name;
85*dir = *File::Find::dir; 58*dir = *File::Find::dir;
86*prune = *File::Find::prune; 59*prune = *File::Find::prune;
87 60
88sub wanted { 61sub wanted {
@@ -93,10 +66,14 @@ sub wanted {
93 my $nslashes = $File::Find::dir =~ tr!/!!; 66 my $nslashes = $File::Find::dir =~ tr!/!!;
94 my $dirnslashes = $dirname =~ tr!/!!; 67 my $dirnslashes = $dirname =~ tr!/!!;
95 $dirnslashes++; 68 $dirnslashes++;
96 # print STDERR "dirnslashes is $dirnslashes\n"; 69 # print STDERR "dirnslashes is $dirnslashes\n";
97 # print STDERR "nslashes is $nslashes\n"; 70 # print STDERR "nslashes is $nslashes\n";
98 if($dirnslashes != $nslashes){return;} 71 if($dirnslashes != $nslashes){return;}
99 print " source " . $File::Find::dir . "/config.in\n"; 72 my $reldir;
73 if (defined($basedir)) {
74 ($reldir=$File::Find::dir)=~s,^$basedir/,,;
75 }
76 print " source " . $reldir . "/config.in\n";
100 push(@dupecheck, $File::Find::dir . "/config.in"); 77 push(@dupecheck, $File::Find::dir . "/config.in");
101 } 78 }
102} 79}