my %modules =
(
- repomgr => { paths => [ qw(repomgr conf/repomgr) ] },
+ repomgr => { paths => [ qw(repomgr) ] },
bid => { paths => [ qw(l4/Makefile
l4/BENCHMARKING
toolbin => { paths => [ map { "l4/tool/bin/$_" }
qw(isocreator qemu-x86-launch ux-launch
gengrub1iso gengrub2iso entry-selector
- mkspafs
+ mkspafs genexportpack
) ]
},
l4re => { paths => [ map { "l4/pkg/$_" } qw(
- boehm_gc bootstrap crtn cxx cxx_libc_io cxx_thread
- drivers hello
+ boehm_gc bootstrap libgcc libgcc-pure
+ crtn cxx cxx_libc_io cxx_thread drivers-frst hello
ldscripts
l4re l4re_c l4re_kernel l4re_vfs l4sys l4util
ldscripts ldso
libc_backends libkproxy libloader
libsigma0
- libstdc++-headers libstdc++-v3 libstdc++-v3_r
- libsupc++ libsupc++_r
- libvbus loader log lua moe ned sigma0
- uclibc uclibc_r
+ libstdc++-headers libstdc++-v3 libstdc++-v3-minimal
+ libsupc++ libsupc++-minimal
+ libvbus libvcpu loader log lua moe ned sigma0
+ uclibc uclibc-minimal uclibc-headers
) ],
pub_module => 1,
modules => [ qw(bid toolbin) ],
},
- examples => {
+ # ./mk/pkgdeps -A mk/aliases.d pkgdeps pkg ...
+ l4linux_requirements
+ => { paths => [ map { "l4/pkg/$_" } qw(
+ libio libio-io lxfuxlibc rtc shmc
+ acpica io drivers fb-drv x86emu input libirq
+ ) ],
+ pub_module => 1,
+ modules => [ qw(l4re) ],
+ },
+
+ examples_core => {
paths => [ qw(l4/pkg/hello),
map { "l4/pkg/examples/$_" }
qw(Makefile
clntsrv
misc/Makefile
misc/cat
- misc/reboot
- misc/eb_leds
misc/shared-hello
libs/Makefile
+ libs/l4re
+ ) ],
+ },
+
+
+ examples_all => {
+ modules => [ qw(examples_core) ],
+ paths => [ qw(l4/pkg/hello),
+ map { "l4/pkg/examples/$_" }
+ qw(
+ fb/Makefile
+ fb/spectrum
+ misc/eb_leds
+ misc/fortran-hello
+ misc/reboot
libs/inputtst
libs/libc_thread_safe
- libs/l4re
libs/libgomp
libs/libio
libs/libirq
libs/libpng
- libs/rtc
libs/shmc
) ],
},
paths => [ map { "l4/pkg/$_" }
qw(acpica
ankh
- arm_drivers
boost-lite
cunit
dash
dde
dde-libinput
dope
+ drivers
expat2
fb-drv
fbterminal
libc_be_stdin
libcrypto
libevent
- libexec
libgfxbitmap
+ libgfortran
libgomp
+ libiniparser
libio
libio-io
libirq
libsdl
libsdl-image
linux-26-headers
+ lwip
lxfuxlibc
mag
mag-gfx
ocaml
ocaml_toys
+ plr
python
readline
rtc
sqlite
tlsf
tmpfs
+ udis86
valgrind
x86emu
zlib
) ],
- modules => [ qw(l4re examples doc toolbin) ] },
+ modules => [ qw(l4re examples_all doc toolbin) ] },
l4re_all => { paths => [ qw(l4/pkg l4/tool) ],
modules => [ qw(l4re_snapshot) ] },
- preprocess => {
- paths => [ qw(tools/preprocess) ]
- },
-
fiasco => {
pub_module => 1,
paths => [ qw(kernel/fiasco/BENCHMARKING
kernel/fiasco/src
kernel/fiasco/tool
) ],
- modules => [ qw(preprocess) ],
},
kernel => {
modules => [ qw(l4re_snapshot) ],
},
- remote_repo => { modules => [ qw(fiasco remote_repo_l4re) ], },
+ remote_repo => { modules => [ qw(fiasco remote_repo_l4re) ],
+ # those are going away, we need to keep them to get the
+ # dirs updated and thus removed
+ paths => [ qw(l4/pkg/libstdc++-v3_r
+ l4/pkg/libsupc++_r
+ l4/pkg/uclibc_r) ],
+ },
all => {
modules => [ qw(remote_repo) ],
);
my %commands;
+my $svnrev = $ENV{REPOMGR_SVN_REV} || 'HEAD';
sub get_root_url()
{
- my $o = `svn info --xml .`;
+ my $o = `svn info -r '$svnrev' --xml .`;
die "Failed 'svn info'." if $?;
$o =~ /<root>(.+)<\/root>/m;
$1;
sort keys %paths;
}
+sub show_pub_modules()
+{
+ print "Available modules:\n";
+ foreach (sort keys %modules)
+ {
+ print " $_\n" if $modules{$_}{pub_module};
+ }
+}
+
sub usage
{
my $command = shift;
elsif ($command eq 'checkout')
{
print " 'checkout' will check out the given modules.\n";
- print "Available modules:\n";
- foreach (sort keys %modules)
- {
- print " $_\n" if $modules{$_}{pub_module};
- }
+ show_pub_modules();
+ }
+ elsif ($command eq 'modules')
+ {
+ show_pub_modules();
}
else
{
my $url = shift;
my $dirname = shift;
die "Need to give URL" unless defined $url and defined $dirname;
- system("svn co $url --depth empty $dirname");
+ system("svn co -r '$svnrev' $url --depth empty $dirname");
}
sub init_config($)
my $root_url = get_root_url();
- my $rev = $ENV{REPOMGR_SVN_REV} || 'HEAD';
-
my @paths = merge_modules(@{$args{mods}});
foreach my $paths (@paths)
if (defined $changed_path)
{
- my $cmd = "cd $path && svn co -r $rev --depth empty $root_url/$changed_path $pe";
+ my $cmd = "cd $path && svn co -r '$svnrev' --depth empty $root_url/$changed_path $pe";
#print "cmd: $cmd\n";
system($cmd);
die "svn co failed" if $?;
}
else
{
- my $cmd = "cd $path && svn update -r $rev --depth empty $pe";
+ my $cmd = "cd $path && svn update -r '$svnrev' --depth empty $pe";
#print "cmd: $cmd\n";
system($cmd);
die "svn update failed" if $?;
}
print "Getting sources\n";
- my $c = "svn update -r $rev --set-depth infinity ".join(' ', map { s/^\/+//; $_; } @paths);
+ my $c = "svn update -r '$svnrev' --set-depth infinity ".join(' ', map { s/^\/+//; $_; } @paths);
#print "cmd: $c\n";
system($c);
die "svn update failed" if $?;
my $blob;
if ($fn =~ /^(file|svn|ssh\+svn):\/\//)
{
- $blob = `svn cat $fn`;
+ $blob = `svn -r '$svnrev' cat $fn`;
undef $blob if $?;
}
elsif (open(A, $fn))
}
else
{
- my $cmd = "svn cat $repo_root\/$repo_conf";
+ my $cmd = "svn cat -r '$svnrev' $repo_root\/$repo_conf";
$confblob = `$cmd`;
die "Command '$cmd' failed" if $?;
}
($localdir = $conf{base}) =~ s/.*\/// unless defined $localdir;
print "localdir: $localdir\n";
- my $cmd = "svn co --depth empty $repo_root/$conf{base} $localdir";
+ my $cmd = "svn co -r '$svnrev' --depth empty $repo_root/$conf{base} $localdir";
system($cmd);
die "Command '$cmd' failed" if $?;
chdir $localdir;