Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
int pakfire_jail_exec_script(struct pakfire_jail* jail,
const char* script, const size_t size, const char* args[]);
+// Convenience functions
+int pakfire_jail_run(struct pakfire* pakfire, const char* argv[], int flags);
+
#endif
#endif /* PAKFIRE_JAIL_H */
return r;
}
+
+/*
+ A convenience function that creates a new jail, runs the given command and destroys
+ the jail again.
+*/
+int pakfire_jail_run(struct pakfire* pakfire, 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(jail, argv);
+
+ERROR:
+ if (jail)
+ pakfire_jail_unref(jail);
+
+ return r;
+}