38 + file, linenum, buf); |
38 + file, linenum, buf); |
39 + ret = parse_ini(buf, _parse_directive, data); |
39 + ret = parse_ini(buf, _parse_directive, data); |
40 if(ret) { |
40 if(ret) { |
41 goto cleanup; |
41 goto cleanup; |
42 } |
42 } |
|
43 diff -ruN pacman-6.0.0.orig/lib/libalpm/be_local.c pacman-6.0.0/lib/libalpm/be_local.c |
|
44 --- pacman-6.0.0.orig/lib/libalpm/be_local.c 2023-09-05 15:52:38.385979363 +0200 |
|
45 +++ pacman-6.0.0/lib/libalpm/be_local.c 2023-09-05 16:04:41.553345845 +0200 |
|
46 @@ -423,7 +423,7 @@ |
|
47 |
|
48 static int local_db_create(alpm_db_t *db, const char *dbpath) |
|
49 { |
|
50 - if(mkdir(dbpath, 0755) != 0) { |
|
51 + if(mkdir(dbpath, 0755) != 0 && errno != EEXIST) { |
|
52 _alpm_log(db->handle, ALPM_LOG_ERROR, _("could not create directory %s: %s\n"), |
|
53 dbpath, strerror(errno)); |
|
54 RET_ERR(db->handle, ALPM_ERR_DB_CREATE, -1); |
|
55 @@ -905,10 +905,12 @@ |
|
56 oldmask = umask(0000); |
|
57 pkgpath = _alpm_local_db_pkgpath(db, info, NULL); |
|
58 |
|
59 - if((retval = mkdir(pkgpath, 0755)) != 0) { |
|
60 + if((retval = mkdir(pkgpath, 0755)) != 0 && errno != EEXIST) { |
|
61 _alpm_log(db->handle, ALPM_LOG_ERROR, _("could not create directory %s: %s\n"), |
|
62 pkgpath, strerror(errno)); |
|
63 - } |
|
64 + } else { |
|
65 + retval = 0; |
|
66 + } |
|
67 |
|
68 free(pkgpath); |
|
69 umask(oldmask); |