From 46241da795cfdcfdc342bc91df9d4665bf047c05 Mon Sep 17 00:00:00 2001 From: Norman Feske <norman.feske@genode-labs.com> Date: Tue, 26 Jun 2018 15:36:01 +0200 Subject: [PATCH] Runtime for saving copies of Sculpt's report fs Fixes #2849 --- .../recipes/pkg/sculpt-installation/archives | 1 + repos/gems/run/sculpt.run | 11 +++++ repos/ports/recipes/pkg/report_dump/README | 2 + repos/ports/recipes/pkg/report_dump/archives | 7 +++ repos/ports/recipes/pkg/report_dump/hash | 1 + repos/ports/recipes/pkg/report_dump/runtime | 45 +++++++++++++++++++ 6 files changed, 67 insertions(+) create mode 100644 repos/ports/recipes/pkg/report_dump/README create mode 100644 repos/ports/recipes/pkg/report_dump/archives create mode 100644 repos/ports/recipes/pkg/report_dump/hash create mode 100644 repos/ports/recipes/pkg/report_dump/runtime diff --git a/repos/gems/recipes/pkg/sculpt-installation/archives b/repos/gems/recipes/pkg/sculpt-installation/archives index f53136077b..66dff20df7 100644 --- a/repos/gems/recipes/pkg/sculpt-installation/archives +++ b/repos/gems/recipes/pkg/sculpt-installation/archives @@ -11,3 +11,4 @@ _/pkg/themed_wm _/pkg/sticks_blue_backdrop _/pkg/nano3d _/pkg/fonts_fs +_/pkg/report_dump diff --git a/repos/gems/run/sculpt.run b/repos/gems/run/sculpt.run index ff1cfeb35d..3872fc4267 100644 --- a/repos/gems/run/sculpt.run +++ b/repos/gems/run/sculpt.run @@ -691,6 +691,17 @@ append manual_deploy_config { </start> --> +<!-- + <start name="report_dump" pkg="} [depot_user]/pkg/[current_pkg report_dump] {"> + <route> + <service name="File_system" label="report"> + <parent label="report"/> </service> + <service name="File_system" label="target"> + <child name="default_fs_rw"/> </service> + </route> + </start> + --> + </config>} set fd [open [run_dir]/genode/manual_deploy.config w] diff --git a/repos/ports/recipes/pkg/report_dump/README b/repos/ports/recipes/pkg/report_dump/README new file mode 100644 index 0000000000..1bd6c796a9 --- /dev/null +++ b/repos/ports/recipes/pkg/report_dump/README @@ -0,0 +1,2 @@ +A subsystem that periodically copies Sculpt's report file system to the +default file system. diff --git a/repos/ports/recipes/pkg/report_dump/archives b/repos/ports/recipes/pkg/report_dump/archives new file mode 100644 index 0000000000..861ef1d96f --- /dev/null +++ b/repos/ports/recipes/pkg/report_dump/archives @@ -0,0 +1,7 @@ +_/src/noux +_/src/bash-minimal +_/src/coreutils +_/src/libc +_/src/posix +_/src/init +_/src/vfs diff --git a/repos/ports/recipes/pkg/report_dump/hash b/repos/ports/recipes/pkg/report_dump/hash new file mode 100644 index 0000000000..4c6820d755 --- /dev/null +++ b/repos/ports/recipes/pkg/report_dump/hash @@ -0,0 +1 @@ +2018-06-18 d22c8cc52bec27c129a4b7844f93d4149f4a93db diff --git a/repos/ports/recipes/pkg/report_dump/runtime b/repos/ports/recipes/pkg/report_dump/runtime new file mode 100644 index 0000000000..b2a361478c --- /dev/null +++ b/repos/ports/recipes/pkg/report_dump/runtime @@ -0,0 +1,45 @@ +<runtime ram="50M" caps="1000" binary="noux"> + + <requires> + <timer/> + <file_system label="report" writeable="no"/> + <file_system label="target" writeable="yes"/> + </requires> + + <config stdin="/dev/null" stdout="/dev/log" stderr="/dev/log"> + <fstab> + <tar name="bash-minimal.tar" /> + <tar name="coreutils.tar" /> + <dir name="dev"> <zero/> <null/> <log/> </dir> + <dir name="rw"> <fs label="target"/> </dir> + <dir name="report"> <fs label="report"/> </dir> + <dir name="tmp"> <ram /> </dir> + <inline name=".bash_profile"> + while true; do + export VERSION=`printf "%(%T)T"` + mkdir "/rw/$VERSION" + cp -r /report/* "/rw/$VERSION/" + sleep 10 + done + </inline> + </fstab> + <start name="/bin/bash"> + <arg value="--login" /> + <env name="HOME" value="/" /> + <env name="TERM" value="screen" /> + </start> + </config> + + <content> + <rom label="ld.lib.so"/> + <rom label="libc.lib.so"/> + <rom label="libm.lib.so"/> + <rom label="noux"/> + <rom label="libc_noux.lib.so"/> + <rom label="posix.lib.so"/> + <rom label="bash-minimal.tar"/> + <rom label="coreutils.tar"/> + <rom label="vfs.lib.so"/> + </content> + +</runtime>