]> git.ipfire.org Git - pakfire.git/commitdiff
execute: Activate environment earlier to write to ramdisks
authorMichael Tremer <michael.tremer@ipfire.org>
Tue, 2 Mar 2021 21:50:38 +0000 (21:50 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Tue, 2 Mar 2021 21:50:38 +0000 (21:50 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/libpakfire/execute.c

index daa79d64bb769957f1f480b6ea9e58888e602e75..0cf4f2ee2271d6abdd54d29c756b167d3165f3d5 100644 (file)
@@ -435,7 +435,10 @@ PAKFIRE_EXPORT int pakfire_execute_script(Pakfire pakfire, const char* data, con
        char* path = pakfire_path_join(root, "tmp/.pakfire-script.XXXXXX");
        int r;
 
-       DEBUG(pakfire, "Writing script to %s\n", path);
+       // Activate
+       r = pakfire_activate(pakfire);
+       if (r)
+               return r;
 
        // Open a temporary file
        int fd = mkstemp(path);
@@ -446,6 +449,8 @@ PAKFIRE_EXPORT int pakfire_execute_script(Pakfire pakfire, const char* data, con
                r = errno;
        }
 
+       DEBUG(pakfire, "Writing script to %s\n", path);
+
        // Write data
        ssize_t bytes_written = write(fd, data, size);
        if (bytes_written < (ssize_t)size) {
@@ -490,6 +495,9 @@ out:
        // Remove script from disk
        unlink(path);
 
+       // Deactivate
+       pakfire_deactivate(pakfire);
+
        // Cleanup
        free(path);