#include <pakfire/arch.h>
#include <pakfire/cgroup.h>
#include <pakfire/execute.h>
+#include <pakfire/jail.h>
#include <pakfire/logging.h>
#include <pakfire/mount.h>
#include <pakfire/private.h>
}
int pakfire_execute_shell(struct pakfire* pakfire) {
+ struct pakfire_jail* jail = NULL;
+ int r;
+
+ // Create a new jail
+ r = pakfire_jail_create(&jail, pakfire, PAKFIRE_JAIL_INTERACTIVE);
+ if (r)
+ goto ERROR;
+
const char* argv[] = {
"/bin/bash", "--login", NULL,
};
- const int flags =
- PAKFIRE_EXECUTE_INTERACTIVE | PAKFIRE_EXECUTE_ENABLE_NETWORK;
+ // Execute /bin/bash
+ r = pakfire_jail_exec(jail, argv);
+
+ERROR:
+ if (jail)
+ pakfire_jail_unref(jail);
- return pakfire_execute(pakfire, argv, NULL, flags, NULL, NULL);
+ return r;
}
int pakfire_execute_ldconfig(struct pakfire* pakfire) {