From 4f688bd81f4aa448038dace175f158cbaa649b29 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Wed, 3 Aug 2022 09:26:56 +0000 Subject: [PATCH] jail: Add convenience function to run scripts Signed-off-by: Michael Tremer --- src/libpakfire/include/pakfire/jail.h | 2 ++ src/libpakfire/jail.c | 20 ++++++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/src/libpakfire/include/pakfire/jail.h b/src/libpakfire/include/pakfire/jail.h index b42ed12ee..6901d7b98 100644 --- a/src/libpakfire/include/pakfire/jail.h +++ b/src/libpakfire/include/pakfire/jail.h @@ -56,6 +56,8 @@ int pakfire_jail_exec_script(struct pakfire_jail* jail, // Convenience functions int pakfire_jail_run(struct pakfire* pakfire, const char* argv[], int flags); +int pakfire_jail_run_script(struct pakfire* pakfire, + const char* script, const size_t length, const char* argv[], int flags); #endif diff --git a/src/libpakfire/jail.c b/src/libpakfire/jail.c index e645da7c0..57de2b6e2 100644 --- a/src/libpakfire/jail.c +++ b/src/libpakfire/jail.c @@ -1192,3 +1192,23 @@ ERROR: return r; } + +int pakfire_jail_run_script(struct pakfire* pakfire, + const char* script, const size_t length, const char* argv[], int flags) { + struct pakfire_jail* jail = NULL; + int r; + + // Create a new jail + r = pakfire_jail_create(&jail, pakfire, flags); + if (r) + goto ERROR; + + // Execute the command + r = pakfire_jail_exec_script(jail, script, length, argv); + +ERROR: + if (jail) + pakfire_jail_unref(jail); + + return r; +} -- 2.47.3