]> git.ipfire.org Git - pakfire.git/commitdiff
Move all temporary files directly into /var/tmp
authorMichael Tremer <michael.tremer@ipfire.org>
Mon, 18 Jul 2022 08:52:12 +0000 (08:52 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Mon, 18 Jul 2022 08:52:12 +0000 (08:52 +0000)
When running Pakfire as an unprivileged user, we cannot create temporary
files in a subdirectory which has been created earlier by a different
user.

Hence we now put everything directly into /var/tmp where everyone should
have write permissions all of the time.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
configure.ac
src/libpakfire/packager.c
src/libpakfire/pakfire.c
src/libpakfire/repo.c
src/libpakfire/request.c

index 8bd128c3159671ba49dd7996461ef6e8eec4dafe..e71fa4c6fee3ea3ff50bce2d17e99682af4c73e3 100644 (file)
@@ -274,7 +274,7 @@ AC_DEFINE_UNQUOTED([PAKFIRE_PRIVATE_DIR], ["/var/lib/${PACKAGE_NAME}"],
        [The path where Pakfire stores its private data])
 AC_DEFINE_UNQUOTED([PAKFIRE_SCRIPTS_DIR], ["${PREFIX}/lib/${PACKAGE_NAME}"],
        [The path where Pakfire stores its scripts])
-AC_DEFINE_UNQUOTED([PAKFIRE_TMP_DIR], ["/var/tmp/${PACKAGE_NAME}"],
+AC_DEFINE_UNQUOTED([PAKFIRE_TMP_DIR], ["/var/tmp"],
        [The path where Pakfire stores temporary data])
 
 AC_CONFIG_FILES([
index 02434f59e2d2836233d799b385841227d6a7f0de..1581984b5a0ec375f4b05193851e273dce8d78d3 100644 (file)
@@ -68,7 +68,7 @@ struct pakfire_packager {
 
 static int pakfire_packager_create_mtree(struct pakfire* pakfire, struct archive** mtree,
                FILE** f, const char** fields) {
-       char path[] = PAKFIRE_TMP_DIR "/.pakfire-mtree.XXXXXX";
+       char path[] = PAKFIRE_TMP_DIR "/pakfire-mtree.XXXXXX";
        int r;
 
        // Create an mtree
@@ -136,7 +136,7 @@ ERROR:
 }
 
 static int pakfire_packager_create_payload(struct pakfire_packager* p) {
-       char path[] = PAKFIRE_TMP_DIR "/.pakfire-payload.XXXXXX";
+       char path[] = PAKFIRE_TMP_DIR "/pakfire-payload.XXXXXX";
 
        // Do not compress source packages
        const int compress = !pakfire_package_is_source(p->pkg);
index a0facdbaef0072c36060e03a8732642b7414164c..4dffb7328681718f5370ef63d920f922fdf1689b 100644 (file)
@@ -597,7 +597,7 @@ ERROR:
 PAKFIRE_EXPORT int pakfire_create(struct pakfire** pakfire, const char* path,
                const char* arch, const char* conf, int flags,
                int loglevel, pakfire_log_callback log_callback, void* log_data) {
-       char tempdir[PATH_MAX] = PAKFIRE_TMP_DIR "/XXXXXX";
+       char tempdir[PATH_MAX] = PAKFIRE_TMP_DIR "/pakfire-root-XXXXXX";
        int r = 1;
 
        // Reset pakfire pointer
index ba77be77001b65c3546863997d7037d77fd2cb3d..822de8bc30db280676a7d7a9d89bc71bbdf3479a 100644 (file)
@@ -128,7 +128,7 @@ static int pakfire_repo_import_key(struct pakfire_repo* repo, const char* url) {
        const char* name = pakfire_repo_get_name(repo);
        DEBUG(repo->pakfire, "Importing key for repository %s from %s...\n", name, url);
 
-       char path[PATH_MAX] = PAKFIRE_TMP_DIR "/XXXXXX";
+       char path[PATH_MAX] = PAKFIRE_TMP_DIR "/pakfire-key.XXXXXX";
        struct pakfire_key** keys = NULL;
 
        // Allocate a temporary file name
index 57576b7b357454df3cbe02d0ccc108e1d70d0b02..2cdbb342c83c59ff420599aa2d2badf80e56c79d 100644 (file)
@@ -455,7 +455,7 @@ ERROR:
 static int pakfire_request_add_url(struct pakfire_request* request, int action,
                const char* url, int extra_flags) {
        struct pakfire_downloader* downloader;
-       char path[PATH_MAX] = PAKFIRE_TMP_DIR "/XXXXXX";
+       char path[PATH_MAX] = PAKFIRE_TMP_DIR "/pakfire-download.XXXXXX";
 
        // Allocate a temporary file name
        FILE* f = pakfire_mktemp(path);