X-Git-Url: https://rtime.felk.cvut.cz/gitweb/l4.git/blobdiff_plain/c06638d2e57a3230381daf1ccce3cf0dfd0eaa92..c02bb3e0b72cd17aaa3cdfb9587d934f1097cc1f:/repomgr diff --git a/repomgr b/repomgr index 47f1cd8c6..022a516ec 100755 --- a/repomgr +++ b/repomgr @@ -4,7 +4,7 @@ use strict; my %modules = ( - repomgr => { paths => [ qw(repomgr conf/repomgr) ] }, + repomgr => { paths => [ qw(repomgr) ] }, bid => { paths => [ qw(l4/Makefile l4/BENCHMARKING @@ -27,28 +27,38 @@ my %modules = 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 @@ -57,18 +67,28 @@ my %modules = 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/reboot libs/inputtst libs/libc_thread_safe - libs/l4re libs/libgomp libs/libio libs/libirq libs/libpng - libs/rtc libs/shmc ) ], }, @@ -79,7 +99,6 @@ my %modules = paths => [ map { "l4/pkg/$_" } qw(acpica ankh - arm_drivers boost-lite cunit dash @@ -87,6 +106,7 @@ my %modules = dde dde-libinput dope + drivers expat2 fb-drv fbterminal @@ -102,9 +122,9 @@ my %modules = libc_be_stdin libcrypto libevent - libexec libgfxbitmap libgomp + libiniparser libio libio-io libirq @@ -113,11 +133,13 @@ my %modules = libsdl libsdl-image linux-26-headers + lwip lxfuxlibc mag mag-gfx ocaml ocaml_toys + plr python readline rtc @@ -130,19 +152,16 @@ my %modules = 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 @@ -153,7 +172,6 @@ my %modules = kernel/fiasco/src kernel/fiasco/tool ) ], - modules => [ qw(preprocess) ], }, kernel => { @@ -168,7 +186,13 @@ my %modules = 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) ], @@ -176,10 +200,11 @@ my %modules = ); 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>/m; $1; @@ -209,6 +234,15 @@ sub merge_modules 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; @@ -237,11 +271,11 @@ sub usage 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 { @@ -274,7 +308,7 @@ sub command_root 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($) @@ -341,8 +375,6 @@ sub do_checkout(%) my $root_url = get_root_url(); - my $rev = $ENV{REPOMGR_SVN_REV} || 'HEAD'; - my @paths = merge_modules(@{$args{mods}}); foreach my $paths (@paths) @@ -376,14 +408,14 @@ sub do_checkout(%) 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 $?; @@ -394,7 +426,7 @@ sub do_checkout(%) } 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 $?; @@ -407,7 +439,7 @@ sub read_file($) 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)) @@ -468,7 +500,7 @@ sub command_init } 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 $?; } @@ -479,7 +511,7 @@ sub command_init ($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;