diff --git a/repos/libports/run/extract.run b/repos/libports/run/extract.run index 4cd5812a39..c8da860165 100644 --- a/repos/libports/run/extract.run +++ b/repos/libports/run/extract.run @@ -18,7 +18,7 @@ install_config { <start name="extract" caps="200"> <resource name="RAM" quantum="12M"/> <config verbose="yes"> - <libc stdout="/dev/log" stderr="/dev/log" rtc="/dev/null"/> + <libc stdout="/dev/log" stderr="/dev/log"/> <vfs> <dir name="archived"> <rom name="test.tar.xz"/> diff --git a/repos/libports/src/app/extract/main.cc b/repos/libports/src/app/extract/main.cc index f2500fa74d..bfc01bcc0f 100644 --- a/repos/libports/src/app/extract/main.cc +++ b/repos/libports/src/app/extract/main.cc @@ -291,6 +291,20 @@ void Libc::Component::construct(Libc::Env &env) static Extract::Main main(env); } -/* dummy to prevent warning printed by unimplemented libc function */ +/** + * Dummy to prevent warning printed by unimplemented libc function + */ extern "C" mode_t umask(mode_t value) { return value; } +/** + * Dummy to discharge the dependency from a timer session + * + * When libarchive creates a archives, it requests the current time to create + * up-to-date time stamps. Unfortunately, however, 'time' is called + * unconditionally regardless of whether an archive is created or extracted. + * In the latter (our) case, the wall-clock time is not relevant. Still, + * libarchive creates an artificial dependency from a time source in either + * case. + */ +extern "C" time_t time(time_t *) { return 0; } +