genode/repos/libports/run/extract.run
Norman Feske 9e238d624e extract: discharge dependency from timer session
This patch removes the reliance of the extract tool from the libc's
behavior regarding the access of time and timing.

The extract tool is not expected to need time. However, unfortunately,
libarchive calls the 'time' function unconditionally. By adding a
dummy for 'time', we avoid bothering the libc, which would otherwise
need to obtain a time source.

Issue #3204
2019-04-09 12:30:35 +02:00

51 lines
1.2 KiB
Plaintext

create_boot_directory
import_from_depot [depot_user]/src/[base_src] \
[depot_user]/src/init
install_config {
<config>
<parent-provides>
<service name="CPU"/>
<service name="LOG"/>
<service name="PD"/>
<service name="RAM"/>
<service name="ROM"/>
</parent-provides>
<default-route> <any-service> <parent/> </any-service> </default-route>
<start name="extract" caps="200">
<resource name="RAM" quantum="12M"/>
<config verbose="yes">
<libc stdout="/dev/log" stderr="/dev/log"/>
<vfs>
<dir name="archived">
<rom name="test.tar.xz"/>
<rom name="LICENSE.xz"/>
</dir>
<dir name="extracted"> <ram/> </dir>
<dir name="dev"> <log/> <null/> </dir>
</vfs>
<extract archive="/archived/test.tar.xz" to="/extracted"/>
<extract archive="/archived/LICENSE.xz" to="/extracted" name="LICENSE"/>
</config>
</start>
</config>
}
exec tar cJf [run_dir]/genode/test.tar.xz -C [genode_dir] tool/depot
exec xz < [genode_dir]/LICENSE > [run_dir]/genode/LICENSE.xz
build { app/extract }
build_boot_image {
extract
libc.lib.so vfs.lib.so
libarchive.lib.so liblzma.lib.so zlib.lib.so
}
append qemu_args " -nographic "
run_genode_until {child "extract" exited with exit value 0} 30