The R Project SVN R

Rev

Rev 6994 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 6994 Rev 21860
1
#-*- mode: perl; perl-indent-level: 4; cperl-indent-level: 4 -*-
1
#-*- mode: perl; perl-indent-level: 4; cperl-indent-level: 4 -*-
2
#
2
#
3
# process bundle files.
3
# process bundle files.
4
# args:  bundle srcdir destdir
4
# args:  bundle srcdir destdir
5
 
5
 
6
($bundle, $srcdir, $destdir) = @ARGV;
6
($bundle, $srcdir, $destdir) = @ARGV;
7
 
7
 
8
open bundledesc, "< $srcdir/$bundle/DESCRIPTION" || die "no DESCRIPTION found";
8
open bundledesc, "< $srcdir/$bundle/DESCRIPTION" || die "no DESCRIPTION found";
9
while(<bundledesc>) {
9
while(<bundledesc>) {
10
    if(/^Contains:/) {
10
    if(/^Contains:/) {
11
	s/^Contains://; s/,/ /;
11
	s/^Contains://; s/,/ /;
12
	@pkgs = split " ";
12
	@pkgs = split " ";
13
    }
13
    }
14
}
14
}
15
close bundledesc;
15
close bundledesc;
16
 
16
 
17
foreach $pkg (@pkgs) {
17
foreach $pkg (@pkgs) {
18
    print "\n---- Building package $pkg from bundle $bundle -----\n";
18
    print "\n---- Building package $pkg from bundle $bundle -----";
19
    open pkgdesc, "> $srcdir/$bundle/$pkg/DESCRIPTION" 
19
    open pkgdesc, "> $srcdir/$bundle/$pkg/DESCRIPTION" 
20
	|| die "cannot write $pkg/DESCRIPTION";
20
	|| die "cannot write $pkg/DESCRIPTION";
21
    if (open pkgdescin, "< $srcdir/$bundle/$pkg/DESCRIPTION.in") {
21
    if (open pkgdescin, "< $srcdir/$bundle/$pkg/DESCRIPTION.in") {
22
	while(<pkgdescin>) { print pkgdesc $_; }
22
	while(<pkgdescin>) { print pkgdesc $_; }
23
	close pkgdescin;
23
	close pkgdescin;
24
    } else {
24
    } else {
25
	print "no DESCRIPTION.in found for package $pkg";
25
	print "no DESCRIPTION.in found for package $pkg";
26
	print pkgdesc "Package: $pkg\n";
26
	print pkgdesc "Package: $pkg\n";
27
    }
27
    }
28
    open bundledesc, "< $srcdir/$bundle/DESCRIPTION" 
28
    open bundledesc, "< $srcdir/$bundle/DESCRIPTION" 
29
	|| die "no DESCRIPTION found";
29
	|| die "no DESCRIPTION found";
30
    while(<bundledesc>) {
30
    while(<bundledesc>) {
31
	if(!/^Contains:/) {print pkgdesc $_;}
31
	if(!/^Contains:/) {print pkgdesc $_;}
32
    }
32
    }
33
    close bundledesc;
33
    close bundledesc;
34
    close pkgdesc;
34
    close pkgdesc;
35
    $cmd = "make PKGDIR=$srcdir/$bundle RLIB=$destdir pkg-$pkg";
35
    $cmd = "make PKGDIR=$srcdir/$bundle RLIB=$destdir pkg-$pkg";
36
#    print "$cmd\n";
36
#    print "$cmd\n";
37
    system($cmd);
37
    system($cmd);
38
}
38
}