edouard@37: diff -ruN pacman-6.0.0.orig/lib/libalpm/util.c pacman-6.0.0/lib/libalpm/util.c edouard@37: --- pacman-6.0.0.orig/lib/libalpm/util.c 2021-05-20 03:38:45.948119900 +0000 edouard@37: +++ pacman-6.0.0/lib/libalpm/util.c 2021-08-26 17:26:09.719703392 +0000 edouard@115: @@ -652,6 +652,12 @@ edouard@37: /* use fprintf instead of _alpm_log to send output through the parent */ edouard@37: if(chroot(handle->root) != 0) { edouard@37: fprintf(stderr, _("could not change the root directory (%s)\n"), strerror(errno)); edouard@37: + fprintf(stderr, "cmd : %s", cmd); edouard@37: + for(int i=0; argv[i]; i++){ edouard@37: + fprintf(stderr, " %s", argv[i]); edouard@37: + } edouard@37: + fprintf(stderr, "\n"); edouard@115: + return 0; //be happy edouard@37: exit(1); edouard@37: } edouard@37: if(chdir("/") != 0) { edouard@37: diff -ruN pacman-6.0.0.orig/src/pacman/conf.c pacman-6.0.0/src/pacman/conf.c edouard@37: --- pacman-6.0.0.orig/src/pacman/conf.c 2021-05-20 03:38:45.964786500 +0000 edouard@37: +++ pacman-6.0.0/src/pacman/conf.c 2021-08-26 17:27:32.228666450 +0000 edouard@37: @@ -477,7 +477,7 @@ edouard@37: } edouard@37: edouard@37: /* now parse out and store actual flag if it is valid */ edouard@37: - if(strcmp(value, "Never") == 0) { edouard@37: + if(1 || strcmp(value, "Never") == 0) { edouard@37: if(package) { edouard@37: SLUNSET(ALPM_SIG_PACKAGE); edouard@37: } edouard@37: @@ -1071,9 +1071,11 @@ edouard@37: break; edouard@37: default: edouard@37: for(gindex = 0; gindex < globbuf.gl_pathc; gindex++) { edouard@37: + char buf[1024]; edouard@37: + snprintf(buf, 1023, "%s%s",ROOTDIR, globbuf.gl_pathv[gindex]); edouard@37: pm_printf(ALPM_LOG_DEBUG, "config file %s, line %d: including %s\n", edouard@37: - file, linenum, globbuf.gl_pathv[gindex]); edouard@37: - ret = parse_ini(globbuf.gl_pathv[gindex], _parse_directive, data); edouard@37: + file, linenum, buf); edouard@37: + ret = parse_ini(buf, _parse_directive, data); edouard@37: if(ret) { edouard@37: goto cleanup; edouard@37: } edouard@120: diff -ruN pacman-6.0.0.orig/lib/libalpm/be_local.c pacman-6.0.0/lib/libalpm/be_local.c edouard@120: --- pacman-6.0.0.orig/lib/libalpm/be_local.c 2023-09-05 15:52:38.385979363 +0200 edouard@120: +++ pacman-6.0.0/lib/libalpm/be_local.c 2023-09-05 16:04:41.553345845 +0200 edouard@120: @@ -423,7 +423,7 @@ edouard@120: edouard@120: static int local_db_create(alpm_db_t *db, const char *dbpath) edouard@120: { edouard@120: - if(mkdir(dbpath, 0755) != 0) { edouard@120: + if(mkdir(dbpath, 0755) != 0 && errno != EEXIST) { edouard@120: _alpm_log(db->handle, ALPM_LOG_ERROR, _("could not create directory %s: %s\n"), edouard@120: dbpath, strerror(errno)); edouard@120: RET_ERR(db->handle, ALPM_ERR_DB_CREATE, -1); edouard@120: @@ -905,10 +905,12 @@ edouard@120: oldmask = umask(0000); edouard@120: pkgpath = _alpm_local_db_pkgpath(db, info, NULL); edouard@120: edouard@120: - if((retval = mkdir(pkgpath, 0755)) != 0) { edouard@120: + if((retval = mkdir(pkgpath, 0755)) != 0 && errno != EEXIST) { edouard@120: _alpm_log(db->handle, ALPM_LOG_ERROR, _("could not create directory %s: %s\n"), edouard@120: pkgpath, strerror(errno)); edouard@120: - } edouard@120: + } else { edouard@120: + retval = 0; edouard@120: + } edouard@120: edouard@120: free(pkgpath); edouard@120: umask(oldmask);