From 4f19e4b6af62846643780b3c38161b31565d73be Mon Sep 17 00:00:00 2001 From: Norman Feske Date: Fri, 14 Apr 2017 19:19:39 +0200 Subject: [PATCH] gems: import run-script ingredients from depot This patch adjusts the interactive scenarios of the gems repository to use the depot. This has three immediate benefits. First, once the depot is populated with binary archives, the start time of the scenarios becomes very quick because most dependency checks and build steps are side-stepped. Second, the run scripts become more versatile. In particular, run scripts that were formerly supported on base-linux only (nit_fader, decorator, menu_view) have become usable on all base platforms that have a 'drivers_interactive' package defined. Finally, the run scripts have become much shorter. Issue #2339 --- repos/gems/run/decorator.run | 69 ++++++------- repos/gems/run/decorator_stress.run | 139 ++++++------------------- repos/gems/run/launcher.run | 108 +++++++------------- repos/gems/run/menu_view.run | 74 ++++++-------- repos/gems/run/nano3d.run | 65 ++++-------- repos/gems/run/nit_fader.run | 69 ++++++------- repos/gems/run/wm.run | 151 +++++++--------------------- 7 files changed, 214 insertions(+), 461 deletions(-) diff --git a/repos/gems/run/decorator.run b/repos/gems/run/decorator.run index 0dc7f6606..240b34674 100644 --- a/repos/gems/run/decorator.run +++ b/repos/gems/run/decorator.run @@ -1,50 +1,51 @@ -# -# Build -# -if {![have_spec linux]} { - puts "Runs on Linux only" - exit 0 -} - -set build_components { - core init drivers/timer drivers/framebuffer - server/dynamic_rom server/report_rom server/nitpicker app/decorator -} - -build $build_components - create_boot_directory -# -# Generate config -# +import_from_depot genodelabs/src/[base_src] \ + genodelabs/pkg/[drivers_interactive_pkg] \ + genodelabs/src/init \ + genodelabs/src/report_rom \ + genodelabs/src/dynamic_rom \ + genodelabs/src/nitpicker \ + genodelabs/src/libc \ + genodelabs/src/libpng \ + genodelabs/src/zlib -append config { +install_config { + + - - - - - - - + + + + + + + + + + + + + + + @@ -53,6 +54,7 @@ append config { + @@ -62,6 +64,7 @@ append config { + @@ -152,6 +155,7 @@ append config { + @@ -166,17 +170,8 @@ append config { } -install_config $config +build { app/decorator } -# -# Boot modules -# - -# generic modules -set boot_modules { - core ld.lib.so init timer dynamic_rom report_rom fb_sdl nitpicker decorator -} - -build_boot_image $boot_modules +build_boot_image { decorator } run_genode_until forever diff --git a/repos/gems/run/decorator_stress.run b/repos/gems/run/decorator_stress.run index 19d6a5083..d127a8816 100644 --- a/repos/gems/run/decorator_stress.run +++ b/repos/gems/run/decorator_stress.run @@ -1,40 +1,17 @@ -# -# Build -# - -if {[have_spec odroid_xu]} { - puts "Run script does not support this platform." - exit 0 -} - -set build_components { - core init - drivers/timer - app/decorator - server/nitpicker server/report_rom - test/decorator_stress - drivers/framebuffer drivers/input -} - -source ${genode_dir}/repos/base/run/platform_drv.inc -append_platform_drv_build_components - -lappend_if [need_usb_hid] build_components drivers/usb -lappend_if [have_spec gpio] build_components drivers/gpio - -build $build_components - create_boot_directory -# -# Generate config -# +import_from_depot genodelabs/src/[base_src] \ + genodelabs/pkg/[drivers_interactive_pkg] \ + genodelabs/src/init \ + genodelabs/src/report_rom \ + genodelabs/src/dynamic_rom \ + genodelabs/src/nitpicker \ + genodelabs/src/decorator \ + genodelabs/src/libc \ + genodelabs/src/libpng \ + genodelabs/src/zlib -proc gpio_drv { } { if {[have_spec rpi] && [have_spec hw]} { return hw_gpio_drv } - if {[have_spec rpi] && [have_spec foc]} { return foc_gpio_drv } - return gpio_drv } - -append config { +install_config { @@ -47,59 +24,29 @@ append config { + - } + -append_if [have_spec sdl] config { - - - - - - - } - -append_platform_drv_config - -append_if [have_spec framebuffer] config { - - - - } - -append_if [have_spec gpio] config " - - - - - " - -append_if [have_spec imx53] config { - - - - - } - -append_if [have_spec ps2] config { - - - - } - -append_if [need_usb_hid] config { - - - - - } - -append config { + + + + + + + + + + + + + + @@ -113,6 +60,7 @@ append config { + @@ -124,6 +72,7 @@ append config { report="test-decorator_stress -> window_layout"/> + @@ -131,6 +80,7 @@ append config { + @@ -144,34 +94,9 @@ append config { } -install_config $config +build { test/decorator_stress } - -# -# Boot modules -# - -# generic modules -set boot_modules { - core ld.lib.so init - timer - decorator - nitpicker report_rom - test-decorator_stress - libc.lib.so libm.lib.so -} - -# platform-specific modules -append_platform_drv_boot_modules - -lappend_if [have_spec linux] boot_modules fb_sdl -lappend_if [have_spec ps2] boot_modules ps2_drv -lappend_if [have_spec framebuffer] boot_modules fb_drv -lappend_if [need_usb_hid] boot_modules usb_drv -lappend_if [have_spec gpio] boot_modules [gpio_drv] -lappend_if [have_spec imx53] boot_modules input_drv - -build_boot_image $boot_modules +build_boot_image { test-decorator_stress } append qemu_args " -m 256 " diff --git a/repos/gems/run/launcher.run b/repos/gems/run/launcher.run index 226bb5300..d9b373140 100644 --- a/repos/gems/run/launcher.run +++ b/repos/gems/run/launcher.run @@ -1,29 +1,19 @@ -# -# Build -# - -set build_components { - core init drivers/timer drivers/framebuffer drivers/input - server/dynamic_rom server/nitpicker server/report_rom - app/pointer app/menu_view - app/scout app/launchpad app/launcher test/nitpicker - server/nit_fader server/rom_filter server/wm app/decorator - app/floating_window_layouter app/status_bar server/nit_fb - app/backdrop app/xray_trigger -} - -source ${genode_dir}/repos/base/run/platform_drv.inc -append_platform_drv_build_components - -build $build_components - create_boot_directory -# -# Generate config -# +import_from_depot genodelabs/src/[base_src] \ + genodelabs/pkg/[drivers_interactive_pkg] \ + genodelabs/pkg/wm \ + genodelabs/raw/genode_bg \ + genodelabs/pkg/backdrop \ + genodelabs/src/demo \ + genodelabs/src/init \ + genodelabs/src/nitpicker \ + genodelabs/src/nit_fb \ + genodelabs/src/nit_fader \ + genodelabs/src/rom_filter \ + genodelabs/src/menu_view -append config { +install_config { @@ -36,40 +26,29 @@ append config { + - } + -append_if [have_spec sdl] config { - - - - - - - - } - -append_platform_drv_config - -append_if [have_spec framebuffer] config { - - - - - } - -append_if [have_spec ps2] config { - - - - } - -append config { + + + + + + + + + + + + + + @@ -97,6 +76,7 @@ append config { + @@ -188,9 +168,8 @@ append config { - - + @@ -286,29 +265,10 @@ append config { } -install_config $config +build { app/launcher test/nitpicker app/status_bar app/xray_trigger } -# -# Boot modules -# +build_boot_image { testnit launcher xray_trigger status_bar } -# generic modules -set boot_modules { - core init timer dynamic_rom nitpicker pointer menu_view - ld.lib.so libpng.lib.so libc.lib.so libm.lib.so zlib.lib.so - menu_view_styles.tar - scout launchpad testnit - nit_fader report_rom launcher rom_filter xray_trigger - decorator wm floating_window_layouter status_bar nit_fb backdrop -} - -# platform-specific modules -append_platform_drv_boot_modules - -lappend_if [have_spec linux] boot_modules fb_sdl -lappend_if [have_spec ps2] boot_modules ps2_drv -lappend_if [have_spec framebuffer] boot_modules fb_drv - -build_boot_image $boot_modules +append qemu_args " -m 256 " run_genode_until forever diff --git a/repos/gems/run/menu_view.run b/repos/gems/run/menu_view.run index 9208d3207..8671479e5 100644 --- a/repos/gems/run/menu_view.run +++ b/repos/gems/run/menu_view.run @@ -1,27 +1,16 @@ -# -# Build -# -if {![have_spec linux]} { - puts "Runs on Linux only" - exit 0 -} - -set build_components { - core init drivers/timer drivers/framebuffer - server/dynamic_rom server/nitpicker - app/pointer app/menu_view - app/scout -} - -build $build_components - create_boot_directory -# -# Generate config -# +import_from_depot genodelabs/src/[base_src] \ + genodelabs/pkg/[drivers_interactive_pkg] \ + genodelabs/src/init \ + genodelabs/src/dynamic_rom \ + genodelabs/src/nitpicker \ + genodelabs/src/demo \ + genodelabs/src/libc \ + genodelabs/src/libpng \ + genodelabs/src/zlib -append config { +install_config { @@ -34,20 +23,29 @@ append config { + - - - - - - - + + + + + + + + + + + + + + + @@ -59,6 +57,7 @@ append config { + @@ -66,6 +65,7 @@ append config { + @@ -116,6 +116,7 @@ append config { + @@ -130,25 +131,14 @@ append config { + } -install_config $config +build { app/menu_view } -# -# Boot modules -# - -# generic modules -set boot_modules { - core ld.lib.so init timer dynamic_rom fb_sdl nitpicker pointer menu_view - libpng.lib.so libc.lib.so libm.lib.so zlib.lib.so - menu_view_styles.tar - scout -} - -build_boot_image $boot_modules +build_boot_image { menu_view menu_view_styles.tar } run_genode_until forever diff --git a/repos/gems/run/nano3d.run b/repos/gems/run/nano3d.run index 1b341eac5..cf57237f8 100644 --- a/repos/gems/run/nano3d.run +++ b/repos/gems/run/nano3d.run @@ -1,26 +1,12 @@ -# -# Build -# -if {![have_spec linux]} { - puts "Runs on Linux only" - exit 0 -} - -set build_components { - core init - drivers/timer - server/nitpicker server/dynamic_rom app/nano3d - drivers/framebuffer - app/backdrop -} - -build $build_components - create_boot_directory -# -# Generate config -# +import_from_depot genodelabs/src/[base_src] \ + genodelabs/pkg/[drivers_interactive_pkg] \ + genodelabs/raw/genode_bg \ + genodelabs/pkg/backdrop \ + genodelabs/src/init \ + genodelabs/src/dynamic_rom \ + genodelabs/src/nitpicker append config { @@ -35,15 +21,21 @@ append config { + - - + + + + + + + + - - + @@ -120,27 +112,8 @@ append config { install_config $config -# copy backdrop PNG images to bin directory -foreach file { genode_logo.png grid.png } { - file copy -force [genode_dir]/repos/gems/src/app/backdrop/$file bin/ } +build { app/nano3d } -# -# Boot modules -# - -# generic modules -set boot_modules { - core ld.lib.so init - timer - nitpicker dynamic_rom nano3d - backdrop - libpng.lib.so libc.lib.so libm.lib.so zlib.lib.so - genode_logo.png grid.png -} - -# platform-specific modules -lappend_if [have_spec linux] boot_modules fb_sdl - -build_boot_image $boot_modules +build_boot_image { nano3d } run_genode_until forever diff --git a/repos/gems/run/nit_fader.run b/repos/gems/run/nit_fader.run index c16b7522e..c43e5ab57 100644 --- a/repos/gems/run/nit_fader.run +++ b/repos/gems/run/nit_fader.run @@ -1,51 +1,48 @@ -# -# Build -# -if {![have_spec linux]} { - puts "Runs on Linux only" - exit 0 -} - -set build_components { - core init drivers/timer drivers/framebuffer - server/dynamic_rom server/nitpicker app/scout server/nit_fader - app/pointer -} - -build $build_components - create_boot_directory -# -# Generate config -# +import_from_depot genodelabs/src/[base_src] \ + genodelabs/pkg/[drivers_interactive_pkg] \ + genodelabs/src/init \ + genodelabs/src/dynamic_rom \ + genodelabs/src/nitpicker \ + genodelabs/src/demo -append config { +install_config { + + - - - - - - - + + + + + + + + + + + + + + + @@ -57,6 +54,7 @@ append config { + @@ -64,6 +62,7 @@ append config { + @@ -89,6 +88,7 @@ append config { + @@ -101,6 +101,7 @@ append config { + @@ -108,6 +109,7 @@ append config { + @@ -118,17 +120,8 @@ append config { } -install_config $config +build { server/nit_fader } -# -# Boot modules -# - -# generic modules -set boot_modules { - core ld.lib.so init timer dynamic_rom fb_sdl nitpicker nit_fader scout pointer -} - -build_boot_image $boot_modules +build_boot_image { nit_fader } run_genode_until forever diff --git a/repos/gems/run/wm.run b/repos/gems/run/wm.run index 894d31112..bf5fc0673 100644 --- a/repos/gems/run/wm.run +++ b/repos/gems/run/wm.run @@ -1,42 +1,21 @@ -# -# Build -# - -if {[have_spec odroid_xu]} { - puts "Run script not supported on this platform."; exit 0 } - -set build_components { - core init - drivers/timer - server/wm app/decorator app/floating_window_layouter - server/nitpicker app/pointer server/report_rom - drivers/framebuffer drivers/input - test/nitpicker - app/backdrop - app/launchpad - server/nit_fb -} - -source ${genode_dir}/repos/base/run/platform_drv.inc - -lappend_if [need_usb_hid] build_components drivers/usb -lappend_if [have_spec gpio] build_components drivers/gpio - -proc gpio_drv { } { if {[have_spec rpi] && [have_spec hw]} { return hw_gpio_drv } - if {[have_spec rpi] && [have_spec foc]} { return foc_gpio_drv } - return gpio_drv } - -append_platform_drv_build_components - -build $build_components - create_boot_directory # -# Generate config +# To use the themed decorator instead of the default one, replace 'pkg/wm' +# with 'pkg/themed_wm'. # -append config { +import_from_depot genodelabs/src/[base_src] \ + genodelabs/pkg/[drivers_interactive_pkg] \ + genodelabs/pkg/wm \ + genodelabs/raw/genode_bg \ + genodelabs/pkg/backdrop \ + genodelabs/src/demo \ + genodelabs/src/init \ + genodelabs/src/nitpicker \ + genodelabs/src/nit_fb + +install_config { @@ -51,57 +30,26 @@ append config { - } + -append_if [have_spec sdl] config { - - - - - - - } - -append_platform_drv_config - -append_if [have_spec framebuffer] config { - - - - } - -append_if [have_spec gpio] config " - - - - - " - -append_if [have_spec imx53] config { - - - - - } - -append_if [have_spec ps2] config { - - - - } - -append_if [need_usb_hid] config { - - - - - } - -append config { + + + + + + + + + + + + + + @@ -113,6 +61,7 @@ append config { + @@ -120,6 +69,7 @@ append config { + @@ -130,6 +80,7 @@ append config { + @@ -149,6 +100,7 @@ append config { + @@ -167,6 +119,7 @@ append config { + @@ -187,43 +140,7 @@ append config { } -install_config $config - -# copy backdrop PNG images to bin directory -foreach file { genode_logo.png grid.png } { - file copy -force [genode_dir]/repos/gems/src/app/backdrop/$file bin/ } - -file copy -force [genode_dir]/repos/gems/src/server/wm/wm.config bin/ - - -# -# Boot modules -# - -# generic modules -set boot_modules { - core ld.lib.so init - timer - wm decorator wm.config - floating_window_layouter - nitpicker pointer report_rom - backdrop - testnit launchpad nit_fb - libpng.lib.so libc.lib.so libm.lib.so zlib.lib.so - genode_logo.png grid.png -} - -# platform-specific modules -append_platform_drv_boot_modules - -lappend_if [have_spec linux] boot_modules fb_sdl -lappend_if [have_spec ps2] boot_modules ps2_drv -lappend_if [have_spec framebuffer] boot_modules fb_drv -lappend_if [need_usb_hid] boot_modules usb_drv -lappend_if [have_spec gpio] boot_modules [gpio_drv] -lappend_if [have_spec imx53] boot_modules input_drv - -build_boot_image $boot_modules +build_boot_image { } append qemu_args " -m 256 "