diff --git a/pacman/0001-makepkg-clean-up-more-things.patch b/pacman/0001-makepkg-clean-up-more-things.patch index f1ea4eda442f..9e921a7b73be 100644 --- a/pacman/0001-makepkg-clean-up-more-things.patch +++ b/pacman/0001-makepkg-clean-up-more-things.patch @@ -1,4 +1,4 @@ -From bf8bd9828cf3e4efedbaa9a367e94de0e3361d30 Mon Sep 17 00:00:00 2001 +From 2c898ec90c926510f23350c2780de99a7fad53b6 Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Tue, 28 Feb 2023 20:24:16 +0100 Subject: [PATCH 01/N] makepkg: clean up more things @@ -8,7 +8,7 @@ Subject: [PATCH 01/N] makepkg: clean up more things 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in -index f799c8f..fca9b2c 100644 +index 2c36681..44025e6 100644 --- a/scripts/makepkg.sh.in +++ b/scripts/makepkg.sh.in @@ -137,7 +137,7 @@ clean_up() { @@ -20,7 +20,7 @@ index f799c8f..fca9b2c 100644 if [[ -n $pkgbase ]]; then local fullver=$(get_full_version) # Can't do this unless the BUILDSCRIPT has been sourced. -@@ -939,6 +939,11 @@ restore_package_variables() { +@@ -846,6 +846,11 @@ restore_package_variables() { run_single_packaging() { local pkgdir="$pkgdirbase/$pkgname" diff --git a/pacman/0002-makepkg-bash-v4-compat.patch b/pacman/0002-makepkg-bash-v4-compat.patch deleted file mode 100644 index c051257f571e..000000000000 --- a/pacman/0002-makepkg-bash-v4-compat.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 1fbb46db545fad72daab79d769f19a4ae4cea6e3 Mon Sep 17 00:00:00 2001 -From: Christoph Reiter -Date: Tue, 28 Feb 2023 20:24:42 +0100 -Subject: [PATCH 02/N] makepkg: bash v4 compat - -I think this is from a time when we only had bash v4 which didn't support "-f" -and can be dropped ---- - scripts/makepkg.sh.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in -index fca9b2c..5549f07 100644 ---- a/scripts/makepkg.sh.in -+++ b/scripts/makepkg.sh.in -@@ -440,7 +440,7 @@ run_function() { - - $pkgfunc &>"$logpipe" - -- wait -f $teepid -+ wait $teepid - rm "$logpipe" - else - "$pkgfunc" diff --git a/pacman/0004-makepkg-build-env-export.patch b/pacman/0002-makepkg-build-env-export.patch similarity index 74% rename from pacman/0004-makepkg-build-env-export.patch rename to pacman/0002-makepkg-build-env-export.patch index 26e3c47722a4..5902ea8d3316 100644 --- a/pacman/0004-makepkg-build-env-export.patch +++ b/pacman/0002-makepkg-build-env-export.patch @@ -1,7 +1,7 @@ -From c8025392f733b5b28687a8b468191354cd037415 Mon Sep 17 00:00:00 2001 +From a4a50b45d8e599c966a0f257cad5cf88ea010c5d Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Tue, 28 Feb 2023 20:30:09 +0100 -Subject: [PATCH 04/N] makepkg: build env export +Subject: [PATCH 02/N] makepkg: build env export this should be moved to the other exports really.. --- @@ -9,12 +9,12 @@ this should be moved to the other exports really.. 1 file changed, 3 insertions(+) diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in -index 048d90d..2a85702 100644 +index 44025e6..6d65902 100644 --- a/scripts/makepkg.sh.in +++ b/scripts/makepkg.sh.in -@@ -1425,6 +1425,9 @@ mkdir -p "$srcdir" +@@ -1343,6 +1343,9 @@ fi + mkdir -p "$srcdir" chmod a-s "$srcdir" - cd_safe "$srcdir" +export MINGW_CHOST MINGW_PREFIX MINGW_PACKAGE_PREFIX +export DXSDK_DIR ACLOCAL_PATH PKG_CONFIG_PATH diff --git a/pacman/0006-fill_progress.patch b/pacman/0003-fill_progress.patch similarity index 63% rename from pacman/0006-fill_progress.patch rename to pacman/0003-fill_progress.patch index a266d6c26d5c..e150dc0c83c9 100644 --- a/pacman/0006-fill_progress.patch +++ b/pacman/0003-fill_progress.patch @@ -1,19 +1,19 @@ -From 6a848dc26eb97a74ce01694d066dcb6eab335aa3 Mon Sep 17 00:00:00 2001 +From 2e757c243eef7f6a8c4befdbbb38b2737f35abad Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Tue, 28 Feb 2023 20:30:40 +0100 -Subject: [PATCH 06/N] fill_progress +Subject: [PATCH 03/N] fill_progress --- src/pacman/callback.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/pacman/callback.c b/src/pacman/callback.c -index 75c74f8..2f07512 100644 +index 76527e4..5d2de3f 100644 --- a/src/pacman/callback.c +++ b/src/pacman/callback.c -@@ -153,8 +153,11 @@ static int64_t get_update_timediff(int first_call) - static void fill_progress(const int bar_percent, const int disp_percent, - const int proglen) +@@ -152,8 +152,11 @@ static int64_t get_update_timediff(int first_call) + /* refactored from cb_trans_progress */ + static void fill_progress(const int percent, const int proglen) { - /* 8 = 1 space + 1 [ + 1 ] + 5 for percent */ - const int hashlen = proglen > 8 ? proglen - 8 : 0; @@ -22,6 +22,6 @@ index 75c74f8..2f07512 100644 + * work properly on most windows terminals. + */ + const int hashlen = proglen > 9 ? proglen - 9 : 0; - const int hash = bar_percent * hashlen / 100; - static int lasthash = 0, mouth = 0; + const int hash = percent * hashlen / 100; int i; + diff --git a/pacman/0003-makepkg-find_libdepends-port-to-Windows.patch b/pacman/0003-makepkg-find_libdepends-port-to-Windows.patch deleted file mode 100644 index 848fd8d026b9..000000000000 --- a/pacman/0003-makepkg-find_libdepends-port-to-Windows.patch +++ /dev/null @@ -1,76 +0,0 @@ -From 261911e634510c2b5390cf67d5067fca8f18a2a3 Mon Sep 17 00:00:00 2001 -From: Christoph Reiter -Date: Tue, 28 Feb 2023 20:29:47 +0100 -Subject: [PATCH 03/N] makepkg: find_libdepends: port to Windows - ---- - scripts/makepkg.sh.in | 31 ++++++++++++++++++------------- - 1 file changed, 18 insertions(+), 13 deletions(-) - -diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in -index 5549f07..048d90d 100644 ---- a/scripts/makepkg.sh.in -+++ b/scripts/makepkg.sh.in -@@ -468,7 +468,7 @@ find_libdepends() { - - sodepends=0 - for d in "${depends[@]}"; do -- if [[ $d = *.so ]]; then -+ if [[ $d = *.dll ]]; then - sodepends=1 - break - fi -@@ -479,28 +479,33 @@ find_libdepends() { - return 0 - fi - -- local libdeps filename soarch sofile soname soversion -+ local libdeps filename soarch sofile soname - declare -A libdeps - - while IFS= read -rd '' filename; do -- # get architecture of the file; if soarch is empty it's not an ELF binary -- soarch=$(LC_ALL=C readelf -h "$filename" 2>/dev/null | sed -n 's/.*Class.*ELF\(32\|64\)/\1/p') -+ # get architecture of the file; if soarch is empty it's not an binary -+ soarch=$(LANG=en_US.UTF-8 LC_ALL=C objdump -a "$filename" | sed -n 's/.*file format.*pei-\(i386\|x86-64\)/\1/p') - [[ -n "$soarch" ]] || continue -+ case "$soarch" in -+ i386) -+ soarch=i686 -+ ;; -+ x86-64) -+ soarch=x86_64 -+ ;; -+ esac - - # process all libraries needed by the binary -- for sofile in $(LC_ALL=C readelf -d "$filename" 2>/dev/null | sed -nr 's/.*Shared library: \[(.*)\].*/\1/p') -+ for sofile in $(LC_ALL=C objdump -x "$filename" 2>/dev/null | sed -nr 's/.*DLL Name: (.*).*/\1/p') - do -- # extract the library name: libfoo.so -- soname="${sofile%.so?(+(.+([0-9])))}".so -- # extract the major version: 1 -- soversion="${sofile##*\.so\.}" -+ soname=${sofile} - - if [[ ${libdeps[$soname]} ]]; then -- if [[ ${libdeps[$soname]} != *${soversion}-${soarch}* ]]; then -- libdeps[$soname]+=" ${soversion}-${soarch}" -+ if [[ ${libdeps[$soname]} != *${soarch}* ]]; then -+ libdeps[$soname]+=" ${soarch}" - fi - else -- libdeps[$soname]="${soversion}-${soarch}" -+ libdeps[$soname]="${soarch}" - fi - done - done < <(find "$pkgdir" -type f -perm -u+x -print0) -@@ -508,7 +513,7 @@ find_libdepends() { - local libdepends v - for d in "${depends[@]}"; do - case "$d" in -- *.so) -+ *.dll) - if [[ ${libdeps[$d]} ]]; then - for v in ${libdeps[$d]}; do - libdepends+=("$d=$v") diff --git a/pacman/0007-test-fixes.patch b/pacman/0004-test-fixes.patch similarity index 84% rename from pacman/0007-test-fixes.patch rename to pacman/0004-test-fixes.patch index afe5c3e55f9b..e9e32c8f8418 100644 --- a/pacman/0007-test-fixes.patch +++ b/pacman/0004-test-fixes.patch @@ -1,17 +1,17 @@ -From 4c61f9081840055b4c0ca1840e6a45d287b9a21d Mon Sep 17 00:00:00 2001 +From 0d6fcafb95f85d7c40b0127840a1a6736fd14d9e Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Tue, 28 Feb 2023 20:30:50 +0100 -Subject: [PATCH 07/N] test fixes +Subject: [PATCH 04/N] test fixes --- test/pacman/pmtest.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/test/pacman/pmtest.py b/test/pacman/pmtest.py -index 94b0930..bc4f2e3 100644 +index f5f033f..da2041b 100644 --- a/test/pacman/pmtest.py +++ b/test/pacman/pmtest.py -@@ -294,8 +294,10 @@ def run(self, pacman): +@@ -297,8 +297,10 @@ def run(self, pacman): # Change to the tmp dir before running pacman, so that local package # archives are made available more easily. time_start = time.time() diff --git a/pacman/0008-Remove-everything-related-to-sudo-fakeroot-file-perm.patch b/pacman/0005-Remove-everything-related-to-sudo-fakeroot-file-perm.patch similarity index 82% rename from pacman/0008-Remove-everything-related-to-sudo-fakeroot-file-perm.patch rename to pacman/0005-Remove-everything-related-to-sudo-fakeroot-file-perm.patch index a1e0d8314d11..d97d701aed35 100644 --- a/pacman/0008-Remove-everything-related-to-sudo-fakeroot-file-perm.patch +++ b/pacman/0005-Remove-everything-related-to-sudo-fakeroot-file-perm.patch @@ -1,7 +1,7 @@ -From 5bff0d9224c0b8d1151f7a695d164fb1a1a5258a Mon Sep 17 00:00:00 2001 +From 90bb3d3a2bef9c2c56e730aaa45b279a07c73f7f Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Tue, 28 Feb 2023 08:41:42 +0100 -Subject: [PATCH 08/N] Remove everything related to sudo/fakeroot/file +Subject: [PATCH 05/N] Remove everything related to sudo/fakeroot/file permissions We don't have sudo or fakeroot in MSYS2 and file permissions @@ -9,15 +9,15 @@ don't work the same. --- lib/libalpm/add.c | 2 + scripts/libmakepkg/executable/meson.build | 2 - - scripts/makepkg.sh.in | 92 ++++++----------------- + scripts/makepkg.sh.in | 94 +++++++---------------- scripts/pacman-key.sh.in | 7 +- src/pacman/check.c | 2 + src/pacman/pacman.c | 4 + - test/pacman/pmtest.py | 13 ---- - 7 files changed, 34 insertions(+), 88 deletions(-) + test/pacman/pmtest.py | 15 ---- + 7 files changed, 35 insertions(+), 91 deletions(-) diff --git a/lib/libalpm/add.c b/lib/libalpm/add.c -index f806e5b..f0af886 100644 +index 6d245ba..e08ff84 100644 --- a/lib/libalpm/add.c +++ b/lib/libalpm/add.c @@ -266,6 +266,7 @@ static int extract_single_file(alpm_handle_t *handle, struct archive *archive, @@ -37,14 +37,15 @@ index f806e5b..f0af886 100644 filename); archive_read_data_skip(archive); diff --git a/scripts/libmakepkg/executable/meson.build b/scripts/libmakepkg/executable/meson.build -index 8536a54..535da57 100644 +index 5be7227..f6474eb 100644 --- a/scripts/libmakepkg/executable/meson.build +++ b/scripts/libmakepkg/executable/meson.build -@@ -4,12 +4,10 @@ sources = [ +@@ -4,13 +4,11 @@ sources = [ 'ccache.sh.in', 'checksum.sh.in', 'distcc.sh.in', - 'fakeroot.sh.in', + 'debugedit.sh.in', 'gpg.sh.in', 'gzip.sh.in', 'pacman.sh.in', @@ -54,7 +55,7 @@ index 8536a54..535da57 100644 ] diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in -index 6384c35..a4a8cc1 100644 +index 6d65902..f49e902 100644 --- a/scripts/makepkg.sh.in +++ b/scripts/makepkg.sh.in @@ -26,7 +26,7 @@ @@ -100,7 +101,7 @@ index 6384c35..a4a8cc1 100644 if [[ -p $logpipe ]]; then rm "$logpipe" fi -@@ -179,11 +172,6 @@ clean_up() { +@@ -182,11 +175,6 @@ clean_up() { fi } @@ -112,7 +113,7 @@ index 6384c35..a4a8cc1 100644 # Automatically update pkgver variable if a pkgver() function is provided # Re-sources the PKGBUILD afterwards to allow for other variables that use $pkgver update_pkgver() { -@@ -237,10 +225,6 @@ run_pacman() { +@@ -240,10 +228,6 @@ run_pacman() { else cmd=("${PACMAN_AUTH[@]}" "${cmd[@]}") fi @@ -123,15 +124,15 @@ index 6384c35..a4a8cc1 100644 fi local lockfile="$(pacman-conf DBPath)/db.lck" while [[ -f $lockfile ]]; do -@@ -595,7 +579,6 @@ write_pkginfo() { - merge_arch_attrs +@@ -491,7 +475,6 @@ write_pkginfo() { + generate_autodeps printf "# Generated by makepkg %s\n" "$makepkg_version" - printf "# using %s\n" "$(fakeroot -v)" write_kv_pair "pkgname" "$pkgname" write_kv_pair "pkgbase" "$pkgbase" -@@ -1035,12 +1018,16 @@ if ! type -p gettext >/dev/null; then +@@ -947,12 +930,16 @@ if ! type -p gettext >/dev/null; then gettext() { printf "%s\n" "$@" } @@ -144,20 +145,29 @@ index 6384c35..a4a8cc1 100644 ARGLIST=("$@") # Parse Command Line Options. --OPT_SHORT="AcCdefFghiLmop:rRsSV" -+OPT_SHORT="AcCdefghiLmop:rRsSV" - OPT_LONG=('allsource' 'check' 'clean' 'cleanbuild' 'config:' 'force' 'geninteg' +-OPT_SHORT="AcCdD:efFghiLmop:rRsSV" ++OPT_SHORT="AcCdD:efghiLmop:rRsSV" + OPT_LONG=('allsource' 'check' 'clean' 'cleanbuild' 'config:' 'dir:' 'force' 'geninteg' 'help' 'holdver' 'ignorearch' 'install' 'key:' 'log' 'noarchive' 'nobuild' 'nocolor' 'nocheck' 'nodeps' 'noextract' 'noprepare' 'nosign' 'packagelist' -@@ -1074,7 +1061,6 @@ while true; do - -d|--nodeps) NODEPS=1 ;; +@@ -987,7 +974,6 @@ while true; do + -D|--dir) shift; CHDIR=$1 ;; -e|--noextract) NOEXTRACT=1 ;; -f|--force) FORCE=1 ;; - -F) INFAKEROOT=1 ;; # generating integrity checks does not depend on architecture -g|--geninteg) BUILDPKG=0 GENINTEG=1 IGNOREARCH=1;; --holdver) HOLDVER=1 ;; -@@ -1189,19 +1175,6 @@ if (( LOGGING )) && ! ensure_writable_dir "LOGDEST" "$LOGDEST"; then +@@ -1032,7 +1018,7 @@ while [[ $1 ]]; do + shift + done + +-if (( ! INFAKEROOT )) && [[ -n $CHDIR ]]; then ++if [[ -n $CHDIR ]]; then + cd_safe "$CHDIR" + fi + +@@ -1109,19 +1095,6 @@ if (( LOGGING )) && ! ensure_writable_dir "LOGDEST" "$LOGDEST"; then exit $E_FS_PERMISSIONS fi @@ -176,8 +186,8 @@ index 6384c35..a4a8cc1 100644 - unset pkgname "${pkgbuild_schema_strings[@]}" "${pkgbuild_schema_arrays[@]}" unset "${known_hash_algos[@]/%/sums}" - unset -f pkgver prepare build check package "${!package_@}" -@@ -1322,29 +1295,6 @@ if (( ! PKGVERFUNC )); then + unset -f pkgver verify prepare build check package "${!package_@}" +@@ -1232,29 +1205,6 @@ if (( ! PKGVERFUNC )); then check_build_status fi @@ -204,10 +214,10 @@ index 6384c35..a4a8cc1 100644 - exit $E_OK -fi - - msg "$(gettext "Making package: %s")" "$pkgbase $basever ($(date +%c))" + # check we have the software required to process the PKGBUILD + check_software || exit $E_MISSING_MAKEPKG_DEPS - # if we are creating a source-only package, go no further -@@ -1368,7 +1318,7 @@ if (( SOURCEONLY )); then +@@ -1294,7 +1244,7 @@ if (( SOURCEONLY )); then check_source_integrity all cd_safe "$startdir" @@ -216,7 +226,7 @@ index 6384c35..a4a8cc1 100644 if [[ $SIGNPKG = 'y' ]]; then msg "$(gettext "Signing package...")" -@@ -1473,17 +1423,25 @@ else +@@ -1401,17 +1351,25 @@ else cd_safe "$startdir" fi @@ -250,10 +260,10 @@ index 6384c35..a4a8cc1 100644 install_package && exit $E_OK || exit $E_INSTALL_FAILED diff --git a/scripts/pacman-key.sh.in b/scripts/pacman-key.sh.in -index 913f2c3..0894514 100644 +index f68d076..405c095 100644 --- a/scripts/pacman-key.sh.in +++ b/scripts/pacman-key.sh.in -@@ -265,7 +265,7 @@ check_keyring() { +@@ -266,7 +266,7 @@ check_keyring() { exit 1 fi @@ -262,7 +272,7 @@ index 913f2c3..0894514 100644 if ! grep -q "^[[:space:]]*lock-never[[:space:]]*$" ${PACMAN_KEYRING_DIR}/gpg.conf &>/dev/null; then error "$(gettext "You do not have sufficient permissions to run this command.")" msg "$(gettext "Use '%s' to correct the keyring permissions.")" "pacman-key --init" -@@ -672,11 +672,6 @@ if ! type -p gpg >/dev/null; then +@@ -694,11 +694,6 @@ if ! type -p gpg >/dev/null; then exit 1 fi @@ -275,7 +285,7 @@ index 913f2c3..0894514 100644 if [[ ! -r "${CONFIG}" ]]; then error "$(gettext "%s configuration file '%s' not found.")" "pacman" "$CONFIG" diff --git a/src/pacman/check.c b/src/pacman/check.c -index 091055f..188f515 100644 +index 6a39681..3d981c5 100644 --- a/src/pacman/check.c +++ b/src/pacman/check.c @@ -75,6 +75,7 @@ static int check_file_permissions(const char *pkgname, const char *filepath, @@ -295,10 +305,10 @@ index 091055f..188f515 100644 /* mode */ fsmode = st->st_mode & (S_ISUID | S_ISGID | S_ISVTX | S_IRWXU | S_IRWXG | S_IRWXO); diff --git a/src/pacman/pacman.c b/src/pacman/pacman.c -index e398855..36c3b5e 100644 +index 6b64ffc..3a25442 100644 --- a/src/pacman/pacman.c +++ b/src/pacman/pacman.c -@@ -1086,7 +1086,9 @@ static void cl_to_log(int argc, char *argv[]) +@@ -1117,7 +1117,9 @@ static void cl_to_log(int argc, char *argv[]) int main(int argc, char *argv[]) { int ret = 0; @@ -308,7 +318,7 @@ index e398855..36c3b5e 100644 console_cursor_hide(); install_segv_handler(); -@@ -1130,11 +1132,13 @@ int main(int argc, char *argv[]) +@@ -1161,11 +1163,13 @@ int main(int argc, char *argv[]) cleanup(ret); } @@ -323,25 +333,27 @@ index e398855..36c3b5e 100644 /* we support reading targets from stdin if a cmdline parameter is '-' */ if(alpm_list_find_str(pm_targets, "-")) { diff --git a/test/pacman/pmtest.py b/test/pacman/pmtest.py -index bc4f2e3..f008f22 100644 +index da2041b..47a7cf4 100644 --- a/test/pacman/pmtest.py +++ b/test/pacman/pmtest.py -@@ -239,19 +239,6 @@ def run(self, pacman): +@@ -240,21 +240,6 @@ def run(self, pacman): vprint("\tpacman %s" % self.args) cmd = [] - if os.geteuid() != 0: -- fakeroot = util.which("fakeroot") -- if not fakeroot: -- tap.diag("WARNING: fakeroot not found!") -- else: -- cmd.append("fakeroot") -- +- # fakechroot must be called before fakeroot due to potential +- # potential interactions when wrapping the same C functions - fakechroot = util.which("fakechroot") - if not fakechroot: - tap.diag("WARNING: fakechroot not found!") - else: - cmd.append("fakechroot") +- +- fakeroot = util.which("fakeroot") +- if not fakeroot: +- tap.diag("WARNING: fakeroot not found!") +- else: +- cmd.append("fakeroot") - if pacman["gdb"]: cmd.extend(["libtool", "execute", "gdb", "--args"]) diff --git a/pacman/0005-makepkg-find_libprovides-port-to-Windows.patch b/pacman/0005-makepkg-find_libprovides-port-to-Windows.patch deleted file mode 100644 index 0e72bdaa43a7..000000000000 --- a/pacman/0005-makepkg-find_libprovides-port-to-Windows.patch +++ /dev/null @@ -1,58 +0,0 @@ -From e17f32548b02f143ec175dedd3130fdeee101787 Mon Sep 17 00:00:00 2001 -From: Christoph Reiter -Date: Tue, 28 Feb 2023 20:30:23 +0100 -Subject: [PATCH 05/N] makepkg: find_libprovides: port to Windows - ---- - scripts/makepkg.sh.in | 35 ++++++++++++++--------------------- - 1 file changed, 14 insertions(+), 21 deletions(-) - -diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in -index 2a85702..6384c35 100644 ---- a/scripts/makepkg.sh.in -+++ b/scripts/makepkg.sh.in -@@ -539,30 +539,23 @@ find_libprovides() { - missing=0 - versioned_provides=() - case "$p" in -- *.so) -- mapfile -t filename < <(find "$pkgdir" -type f -name $p\* | LC_ALL=C sort) -+ *.dll) -+ mapfile -t filename < <(find "$pkgdir" -type f -name $p) - if [[ $filename ]]; then - # packages may provide multiple versions of the same library - for fn in "${filename[@]}"; do -- # check if we really have a shared object -- if LC_ALL=C readelf -h "$fn" 2>/dev/null | grep -q '.*Type:.*DYN (Shared object file).*'; then -- # get the string binaries link to (e.g. libfoo.so.1.2 -> libfoo.so.1) -- local sofile=$(LC_ALL=C readelf -d "$fn" 2>/dev/null | sed -n 's/.*Library soname: \[\(.*\)\].*/\1/p') -- if [[ -z "$sofile" ]]; then -- warning "$(gettext "Library listed in %s is not versioned: %s")" "'provides'" "$p" -- continue -- fi -- -- # get the library architecture (32 or 64 bit) -- local soarch=$(LC_ALL=C readelf -h "$fn" | sed -n 's/.*Class.*ELF\(32\|64\)/\1/p') -- -- # extract the library major version -- local soversion="${sofile##*\.so\.}" -- -- versioned_provides+=("${p}=${soversion}-${soarch}") -- else -- warning "$(gettext "Library listed in %s is not a shared object: %s")" "'provides'" "$p" -- fi -+ # get the library architecture (32 or 64 bit) -+ local soarch=$(LC_ALL=C objdump -a "$fn" | sed -n 's/.*file format.*pei-\(i386\|x86-64\)/\1/p') -+ case "$soarch" in -+ i386) -+ soarch=i686 -+ ;; -+ x86-64) -+ soarch=x86_64 -+ ;; -+ esac -+ -+ versioned_provides+=("${p}=${soarch}") - done - else - missing=1 diff --git a/pacman/0009-change-shebang.patch b/pacman/0006-change-shebang.patch similarity index 76% rename from pacman/0009-change-shebang.patch rename to pacman/0006-change-shebang.patch index fc44dd3cb5e7..b5a46f95ad7f 100644 --- a/pacman/0009-change-shebang.patch +++ b/pacman/0006-change-shebang.patch @@ -1,19 +1,19 @@ -From 6b51761d44cca57f66d8adfa18fa03496474b514 Mon Sep 17 00:00:00 2001 +From 6fefe1f153145fa304b7f42917fa85d3eb1d3d73 Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Tue, 28 Feb 2023 20:38:51 +0100 -Subject: [PATCH 09/N] change shebang +Subject: [PATCH 06/N] change shebang (looks like this dropped a "set -e" which should be fixed) --- scripts/makepkg.sh.in | 2 +- - scripts/pacman-db-upgrade.sh.in | 2 +- + scripts/pacman-db-upgrade.sh.in | 4 +++- scripts/pacman-key.sh.in | 2 +- scripts/repo-add.sh.in | 2 +- scripts/wrapper.sh.in | 2 +- - 5 files changed, 5 insertions(+), 5 deletions(-) + 5 files changed, 7 insertions(+), 5 deletions(-) diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in -index a4a8cc1..da24e5f 100644 +index f49e902..aa2d88d 100644 --- a/scripts/makepkg.sh.in +++ b/scripts/makepkg.sh.in @@ -1,4 +1,4 @@ @@ -23,7 +23,7 @@ index a4a8cc1..da24e5f 100644 # makepkg - make packages compatible for use with pacman # diff --git a/scripts/pacman-db-upgrade.sh.in b/scripts/pacman-db-upgrade.sh.in -index 550d9f9..eec54cb 100644 +index 6942ced..166da96 100644 --- a/scripts/pacman-db-upgrade.sh.in +++ b/scripts/pacman-db-upgrade.sh.in @@ -1,4 +1,4 @@ @@ -32,8 +32,17 @@ index 550d9f9..eec54cb 100644 # # pacman-db-upgrade - upgrade the local pacman db to a newer format # +@@ -18,6 +18,8 @@ + # along with this program. If not, see . + # + ++set -e ++ + # Avoid creating world-unreadable files + umask 022 + diff --git a/scripts/pacman-key.sh.in b/scripts/pacman-key.sh.in -index 0894514..d5144f9 100644 +index 405c095..cbf3be3 100644 --- a/scripts/pacman-key.sh.in +++ b/scripts/pacman-key.sh.in @@ -1,4 +1,4 @@ @@ -43,7 +52,7 @@ index 0894514..d5144f9 100644 # pacman-key - manages pacman's keyring # Based on apt-key, from Debian diff --git a/scripts/repo-add.sh.in b/scripts/repo-add.sh.in -index d393839..2f69488 100644 +index bdd549d..9d60375 100644 --- a/scripts/repo-add.sh.in +++ b/scripts/repo-add.sh.in @@ -1,4 +1,4 @@ @@ -53,7 +62,7 @@ index d393839..2f69488 100644 # repo-add - add a package to a given repo database file # repo-remove - remove a package entry from a given repo database file diff --git a/scripts/wrapper.sh.in b/scripts/wrapper.sh.in -index 1b28b84..504db36 100644 +index 31b18d1..6f6eaa7 100644 --- a/scripts/wrapper.sh.in +++ b/scripts/wrapper.sh.in @@ -1,4 +1,4 @@ diff --git a/pacman/0010-Set-fixed-paths-for-various-tools.patch b/pacman/0007-Set-fixed-paths-for-various-tools.patch similarity index 82% rename from pacman/0010-Set-fixed-paths-for-various-tools.patch rename to pacman/0007-Set-fixed-paths-for-various-tools.patch index c04b9639bc9c..ddbdff63df17 100644 --- a/pacman/0010-Set-fixed-paths-for-various-tools.patch +++ b/pacman/0007-Set-fixed-paths-for-various-tools.patch @@ -1,7 +1,7 @@ -From 43fb1e0846ebe66de66984f2b4a0457e1a861b5e Mon Sep 17 00:00:00 2001 +From 8ad28ab4add33ed8fde069e2b601b174db6fd76d Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Tue, 28 Feb 2023 20:39:11 +0100 -Subject: [PATCH 10/N] Set fixed paths for various tools +Subject: [PATCH 07/N] Set fixed paths for various tools So that we call the right tools even if mingw variants are in PATH --- @@ -14,10 +14,10 @@ So that we call the right tools even if mingw variants are in PATH create mode 100644 scripts/libmakepkg/utils_fixed_path.sh.in diff --git a/scripts/libmakepkg/meson.build b/scripts/libmakepkg/meson.build -index 50eb905..9396923 100644 +index 6e83a4a..e6b945d 100644 --- a/scripts/libmakepkg/meson.build +++ b/scripts/libmakepkg/meson.build -@@ -8,6 +8,7 @@ libmakepkg_modules = [ +@@ -9,6 +9,7 @@ libmakepkg_modules = [ { 'name' : 'reproducible', 'has_subdir' : true }, { 'name' : 'source', 'has_subdir' : true }, { 'name' : 'srcinfo', }, @@ -66,10 +66,10 @@ index 0000000..e3a06bc + done +fi diff --git a/scripts/pacman-db-upgrade.sh.in b/scripts/pacman-db-upgrade.sh.in -index eec54cb..c1cb200 100644 +index 166da96..899abd8 100644 --- a/scripts/pacman-db-upgrade.sh.in +++ b/scripts/pacman-db-upgrade.sh.in -@@ -78,9 +78,13 @@ resolve_dir() { +@@ -80,9 +80,13 @@ resolve_dir() { # PROGRAM START # determine whether we have gettext; make it a no-op if we do not @@ -85,7 +85,7 @@ index eec54cb..c1cb200 100644 } fi -@@ -137,7 +141,7 @@ lockfile="${dbroot}/db.lck" +@@ -139,7 +143,7 @@ lockfile="${dbroot}/db.lck" # make sure pacman isn't running if [[ -f $lockfile ]]; then @@ -95,14 +95,14 @@ index eec54cb..c1cb200 100644 # do not let pacman run while we do this touch "$lockfile" diff --git a/scripts/pacman-key.sh.in b/scripts/pacman-key.sh.in -index d5144f9..c667006 100644 +index cbf3be3..5ff54a4 100644 --- a/scripts/pacman-key.sh.in +++ b/scripts/pacman-key.sh.in -@@ -30,6 +30,7 @@ LIBRARY=${LIBRARY:-'@libmakepkgdir@'} +@@ -30,6 +30,7 @@ MAKEPKG_LIBRARY=${MAKEPKG_LIBRARY:-'@libmakepkgdir@'} # Import libmakepkg - source "$LIBRARY"/util/message.sh - source "$LIBRARY"/util/parseopts.sh -+source "$LIBRARY"/utils_fixed_path.sh + source "$MAKEPKG_LIBRARY"/util/message.sh + source "$MAKEPKG_LIBRARY"/util/parseopts.sh ++source "$MAKEPKG_LIBRARY"/utils_fixed_path.sh # Options ADD=0 @@ -111,11 +111,11 @@ index d5144f9..c667006 100644 for importdir in "$@"; do if [[ -f "${importdir}/trustdb.gpg" ]]; then - gpg --homedir "${importdir}" --export-ownertrust | \ -+ /bin/gpg --homedir "${importdir}" --export-ownertrust | \ ++ /usr/bin/gpg --homedir "${importdir}" --export-ownertrust | \ "${GPG_PACMAN[@]}" --import-ownertrust - if (( PIPESTATUS )); then error "$(gettext "%s could not be imported.")" "${importdir}/trustdb.gpg" -@@ -605,10 +606,14 @@ updatedb() { +@@ -616,10 +617,14 @@ updatedb() { fi } @@ -134,18 +134,18 @@ index d5144f9..c667006 100644 fi diff --git a/scripts/repo-add.sh.in b/scripts/repo-add.sh.in -index 2f69488..a231699 100644 +index 9d60375..c4af51b 100644 --- a/scripts/repo-add.sh.in +++ b/scripts/repo-add.sh.in -@@ -46,6 +46,7 @@ PREVENT_DOWNGRADE=0 - # Import libmakepkg - source "$LIBRARY"/util/compress.sh - source "$LIBRARY"/util/message.sh -+source "$LIBRARY"/utils_fixed_path.sh +@@ -49,6 +49,7 @@ DB_MODIFIED=0 + source "$MAKEPKG_LIBRARY"/util/compress.sh + source "$MAKEPKG_LIBRARY"/util/message.sh + source "$MAKEPKG_LIBRARY"/util/parseopts.sh ++source "$MAKEPKG_LIBRARY"/utils_fixed_path.sh # ensure we have a sane umask set umask 0022 -@@ -562,9 +563,13 @@ clean_up() { +@@ -566,9 +567,13 @@ clean_up() { # PROGRAM START # determine whether we have gettext; make it a no-op if we do not diff --git a/pacman/0011-makepkg-port-staticlibs-to-Windows.patch b/pacman/0008-makepkg-port-staticlibs-to-Windows.patch similarity index 83% rename from pacman/0011-makepkg-port-staticlibs-to-Windows.patch rename to pacman/0008-makepkg-port-staticlibs-to-Windows.patch index f781d8e9e74f..aa6e8bbc30f5 100644 --- a/pacman/0011-makepkg-port-staticlibs-to-Windows.patch +++ b/pacman/0008-makepkg-port-staticlibs-to-Windows.patch @@ -1,14 +1,14 @@ -From 438e238310f2f4d008a60c9e56f91973104c9df0 Mon Sep 17 00:00:00 2001 +From 8ffa3e6af4f107638583a38de3e2276c80f24c5c Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Mon, 27 Feb 2023 18:51:05 +0100 -Subject: [PATCH 11/N] makepkg: port staticlibs to Windows +Subject: [PATCH 08/N] makepkg: port staticlibs to Windows --- scripts/libmakepkg/tidy/staticlibs.sh.in | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/libmakepkg/tidy/staticlibs.sh.in b/scripts/libmakepkg/tidy/staticlibs.sh.in -index 498518c..e9d514a 100644 +index 0315f7f..9d33384 100644 --- a/scripts/libmakepkg/tidy/staticlibs.sh.in +++ b/scripts/libmakepkg/tidy/staticlibs.sh.in @@ -35,9 +35,9 @@ tidy_staticlibs() { diff --git a/pacman/0012-makepkg-port-strip-debug-to-Windows.patch b/pacman/0009-makepkg-port-strip-debug-to-Windows.patch similarity index 82% rename from pacman/0012-makepkg-port-strip-debug-to-Windows.patch rename to pacman/0009-makepkg-port-strip-debug-to-Windows.patch index 978f37b6439f..739ee8490222 100644 --- a/pacman/0012-makepkg-port-strip-debug-to-Windows.patch +++ b/pacman/0009-makepkg-port-strip-debug-to-Windows.patch @@ -1,18 +1,31 @@ -From 3077636f7466dfce19894666ae3a3284a8889279 Mon Sep 17 00:00:00 2001 +From c9cfefda12815ad95c580259cc4f9463b02abaa5 Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Mon, 27 Feb 2023 18:28:50 +0100 -Subject: [PATCH 12/N] makepkg: port strip/debug to Windows +Subject: [PATCH 09/N] makepkg: port strip/debug to Windows --- - scripts/libmakepkg/tidy/strip.sh.in | 196 +++++++++++++++++----------- - scripts/makepkg.sh.in | 2 +- - 2 files changed, 120 insertions(+), 78 deletions(-) + scripts/libmakepkg/executable/meson.build | 1 - + scripts/libmakepkg/tidy/strip.sh.in | 208 +++++++++++++--------- + scripts/makepkg.sh.in | 2 +- + 3 files changed, 121 insertions(+), 90 deletions(-) +diff --git a/scripts/libmakepkg/executable/meson.build b/scripts/libmakepkg/executable/meson.build +index f6474eb..535da57 100644 +--- a/scripts/libmakepkg/executable/meson.build ++++ b/scripts/libmakepkg/executable/meson.build +@@ -4,7 +4,6 @@ sources = [ + 'ccache.sh.in', + 'checksum.sh.in', + 'distcc.sh.in', +- 'debugedit.sh.in', + 'gpg.sh.in', + 'gzip.sh.in', + 'pacman.sh.in', diff --git a/scripts/libmakepkg/tidy/strip.sh.in b/scripts/libmakepkg/tidy/strip.sh.in -index e7aecd3..f88a189 100644 +index db35916..8918a0c 100644 --- a/scripts/libmakepkg/tidy/strip.sh.in +++ b/scripts/libmakepkg/tidy/strip.sh.in -@@ -31,87 +31,55 @@ packaging_options+=('strip' 'debug') +@@ -31,93 +31,55 @@ packaging_options+=('strip' 'debug') tidy_modify+=('tidy_strip') @@ -32,12 +45,26 @@ index e7aecd3..f88a189 100644 - - LANG=C debugedit --no-recompute-build-id \ - --base-dir "${srcdir}" \ -- --dest-dir "${dbgsrcdir}/${pkgbase}" \ +- --dest-dir "${dbgsrcdir}" \ - --list-file /dev/stdout "$1" \ - | sort -zu | tr '\0' '\n' -} - - strip_file() { +-package_source_files() { +- local binary=$1 +- +- local file dest t +- while IFS= read -r t; do +- file="${srcdir}/${t}" +- dest="${dbgsrc}/${t}" +- mkdir -p "${dest%/*}" +- if [[ -f "$file" ]]; then +- cp -- "$file" "$dest" +- fi +- done < <(source_files "$binary") +-} +- + collect_debug_symbols() { local binary=$1; shift - if check_option "debug" "y"; then @@ -57,40 +84,10 @@ index e7aecd3..f88a189 100644 - fi - - # copy source files to debug directory -- local file dest t -- while IFS= read -r t; do -- file="${srcdir}/${t}" -- dest="${dbgsrc}/${t}" -- if [[ -f "$file" ]] && ! [[ -f $dest ]]; then -- mkdir -p "${dest%/*}" -- cp -- "$file" "$dest" -- fi -- done < <(source_files "$binary") -- +- package_source_files "$binary" + - # copy debug symbols to debug directory - mkdir -p "$dbgdir/${binary%/*}" -- -- # abandon processing files that are not a recognised format -- if ! objcopy --only-keep-debug "$binary" "$dbgdir/$binary.debug" 2>/dev/null; then -- return -- fi -- -- local tempfile=$(mktemp "$binary.XXXXXX") -- objcopy --add-gnu-debuglink="$dbgdir/${binary#/}.debug" "$binary" "$tempfile" -- cat "$tempfile" > "$binary" -- rm "$tempfile" -- -- # create any needed hardlinks -- while IFS= read -rd '' file ; do -- if [[ "${binary}" -ef "${file}" && ! -f "$dbgdir/${file}.debug" ]]; then -- mkdir -p "$dbgdir/${file%/*}" -- ln "$dbgdir/${binary}.debug" "$dbgdir/${file}.debug" -- fi -- done < <(find . -type f -perm -u+w -print0 2>/dev/null) - -- if [[ -n "$bid" ]]; then -- local target -- mkdir -p "$dbgdir/.build-id/${bid:0:2}" + # copy debug symbols to debug directory + mkdir -p "$dbgdir/${binary%/*}" + msg2 "Separating debug info from $binary into $dbgdir/$binary.debug" @@ -127,6 +124,28 @@ index e7aecd3..f88a189 100644 + fi + done < <(find . -type f -perm -u+w -print0 2>/dev/null) +- # abandon processing files that are not a recognised format +- if ! objcopy --only-keep-debug "$binary" "$dbgdir/$binary.debug" 2>/dev/null; then +- return + fi +- +- local tempfile=$(mktemp "$binary.XXXXXX") +- objcopy --add-gnu-debuglink="$dbgdir/${binary#/}.debug" "$binary" "$tempfile" +- cat "$tempfile" > "$binary" +- rm "$tempfile" +- +- # create any needed hardlinks +- while IFS= read -rd '' file ; do +- if [[ "${binary}" -ef "${file}" && ! -f "$dbgdir/${file}.debug" ]]; then +- mkdir -p "$dbgdir/${file%/*}" +- ln "$dbgdir/${binary}.debug" "$dbgdir/${file}.debug" +- fi +- done < <(find . -type f -perm -u+w -print0 2>/dev/null) +- +- if [[ -n "$bid" ]]; then +- local target +- mkdir -p "$dbgdir/.build-id/${bid:0:2}" +- - target="../../../../../${binary#./}" - target="${target/..\/..\/usr\/lib\/}" - target="${target/..\/usr\/}" @@ -134,26 +153,33 @@ index e7aecd3..f88a189 100644 - - target="../../${binary#./}.debug" - ln -s "$target" "$dbgdir/.build-id/${bid:0:2}/${bid:2}.debug" - fi +- fi - fi + ;; + esac + } - local tempfile=$(mktemp "$binary.XXXXXX") - if strip "$@" "$binary" -o "$tempfile"; then -@@ -140,17 +108,91 @@ tidy_strip() { + strip_file(){ +@@ -148,21 +110,91 @@ tidy_strip() { + [[ -z ${STRIP_STATIC+x} ]] && STRIP_STATIC="-S" if check_option "debug" "y"; then - - dbgdir="$pkgdirbase/$pkgbase-@DEBUGSUFFIX@/usr/lib/debug" + dbgdir="$pkgdirbase/$pkgbase-@DEBUGSUFFIX@" - dbgsrcdir="${DBGSRCDIR:-/usr/src/debug}" + dbgsrcdir="${DBGSRCDIR:-/usr/src/debug}/${pkgbase}" dbgsrc="$pkgdirbase/$pkgbase-@DEBUGSUFFIX@$dbgsrcdir" mkdir -p "$dbgdir" "$dbgsrc" fi local binary strip_flags -- find . -type f -perm -u+w -print0 2>/dev/null | while IFS= read -rd '' binary ; do +- find . -type f -perm -u+w -print0 2>/dev/null | LC_ALL=C sort -z | while IFS= read -rd '' binary ; do +- # skip filepaths that cause stripping issues - ideally these should be temporary +- # guile-2.2 +- [[ "$binary" =~ .*/guile/.*\.go$ ]] && continue +- +- local STATICLIB=0 +- case "$(LC_ALL=C readelf -h "$binary" 2>/dev/null)" in +- *Type:*'DYN (Shared object file)'*) # Libraries (.so) or Relocatable binaries + # *.so: Apache2 modules, OCaml stublibs, Ruby modules + # *.oct: Octave modules + # *.cmxs: OCaml natdynlink modules: http://gallium.inria.fr/~frisch/ndl.txt @@ -162,9 +188,7 @@ index e7aecd3..f88a189 100644 + -o -type f -executable ! -name '*.dll' ! -name '*.exe' ! -name '*.so' ! -name '*.so.[0-9]*' ! -name '*.oct' ! -name '*.cmxs' ! -name '*.a' ! -name '*.la' ! -name '*.lib' ! -name '*.exe.manifest' ! -name '*.exe.config' ! -name '*.dll.config' ! -name '*.mdb' ! -name '*-config' ! -name '*.csh' ! -name '*.sh' ! -name '*.pl' ! -name '*.pm' ! -name '*.py' ! -name '*.rb' ! -name '*.tcl' -print0 | \ + while IFS= read -d $'\0' binary + do - local STRIPLTO=0 -- case "$(LC_ALL=C readelf -h "$binary" 2>/dev/null)" in -- *Type:*'DYN (Shared object file)'*) # Libraries (.so) or Relocatable binaries ++ local STRIPLTO=0 + # Skip thin archives from stripping + case "${binary##*/}" in + *.a) @@ -238,10 +262,10 @@ index e7aecd3..f88a189 100644 *Type:*'DYN (Position-Independent Executable file)'*) # Relocatable binaries strip_flags="$STRIP_SHARED";; diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in -index da24e5f..6c24f2c 100644 +index aa2d88d..6eefa98 100644 --- a/scripts/makepkg.sh.in +++ b/scripts/makepkg.sh.in -@@ -731,7 +731,7 @@ create_debug_package() { +@@ -627,7 +627,7 @@ create_debug_package() { local pkgdir="$pkgdirbase/$pkgbase-@DEBUGSUFFIX@" # check if we have any debug symbols to package diff --git a/pacman/0013-makepkg-lint_package-Warn-on-package-files-referenci.patch b/pacman/0010-makepkg-lint_package-Warn-on-package-files-referenci.patch similarity index 86% rename from pacman/0013-makepkg-lint_package-Warn-on-package-files-referenci.patch rename to pacman/0010-makepkg-lint_package-Warn-on-package-files-referenci.patch index 223bed77a918..70fb751ab351 100644 --- a/pacman/0013-makepkg-lint_package-Warn-on-package-files-referenci.patch +++ b/pacman/0010-makepkg-lint_package-Warn-on-package-files-referenci.patch @@ -1,7 +1,7 @@ -From 29014bdc04140941ecb5f17aeb065fcb56dbc5b5 Mon Sep 17 00:00:00 2001 +From bd791d61f176bbd50f8d3a47a69c25f1d6fc34b0 Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Mon, 27 Feb 2023 18:36:48 +0100 -Subject: [PATCH 13/N] makepkg: lint_package: Warn on package files +Subject: [PATCH 10/N] makepkg: lint_package: Warn on package files referencing absolute Windows paths --- @@ -9,7 +9,7 @@ Subject: [PATCH 13/N] makepkg: lint_package: Warn on package files 1 file changed, 8 insertions(+) diff --git a/scripts/libmakepkg/lint_package/build_references.sh.in b/scripts/libmakepkg/lint_package/build_references.sh.in -index 9b7ffab..a5fc455 100644 +index 5aea78f..a941e2f 100644 --- a/scripts/libmakepkg/lint_package/build_references.sh.in +++ b/scripts/libmakepkg/lint_package/build_references.sh.in @@ -37,5 +37,13 @@ warn_build_references() { diff --git a/pacman/0015-Core-update.patch b/pacman/0011-Core-update.patch similarity index 92% rename from pacman/0015-Core-update.patch rename to pacman/0011-Core-update.patch index 8fafa1237e44..93f5c60fd576 100644 --- a/pacman/0015-Core-update.patch +++ b/pacman/0011-Core-update.patch @@ -1,21 +1,21 @@ -From 3efdc22f606d8e6cba0226cfeaa385903db4ae6a Mon Sep 17 00:00:00 2001 +From 9d91ab906d427f87c5115211b11f0ebef364515c Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Fri, 21 May 2021 22:52:38 +0200 -Subject: [PATCH 15/N] Core update +Subject: [PATCH 11/N] Core update --- lib/libalpm/alpm.h | 9 +++ - lib/libalpm/package.c | 16 +++++ + lib/libalpm/package.c | 18 ++++++ lib/libalpm/sync.c | 25 +++++++ src/pacman/sighandler.c | 16 ++++- src/pacman/sync.c | 140 ++++++++++++++++++++++++++++++++++++++++ - 5 files changed, 205 insertions(+), 1 deletion(-) + 5 files changed, 207 insertions(+), 1 deletion(-) diff --git a/lib/libalpm/alpm.h b/lib/libalpm/alpm.h -index a5f4a6a..c65bc6e 100644 +index e7fc7bb..ee7b97c 100644 --- a/lib/libalpm/alpm.h +++ b/lib/libalpm/alpm.h -@@ -2805,6 +2805,15 @@ int alpm_trans_release(alpm_handle_t *handle); +@@ -2852,6 +2852,15 @@ int alpm_trans_release(alpm_handle_t *handle); * @return 0 on success, -1 on error (pm_errno is set accordingly) */ int alpm_sync_sysupgrade(alpm_handle_t *handle, int enable_downgrade); @@ -32,12 +32,12 @@ index a5f4a6a..c65bc6e 100644 /** Add a package to the transaction. * If the package was loaded by alpm_pkg_load(), it will be freed upon diff --git a/lib/libalpm/package.c b/lib/libalpm/package.c -index f837f84..8f592ad 100644 +index a294d63..eda22b1 100644 --- a/lib/libalpm/package.c +++ b/lib/libalpm/package.c -@@ -803,3 +803,19 @@ int SYMEXPORT alpm_pkg_should_ignore(alpm_handle_t *handle, alpm_pkg_t *pkg) +@@ -900,3 +900,21 @@ int _alpm_pkg_check_meta(alpm_pkg_t *pkg) - return 0; + return error_found; } + +#ifdef __MSYS__ @@ -51,12 +51,14 @@ index f837f84..8f592ad 100644 + strcmp(pkg->name, "mintty") == 0 || + strcmp(pkg->name, "msys2-runtime") == 0 || + strcmp(pkg->name, "msys2-runtime-devel") == 0 || ++ strncmp(pkg->name, "msys2-runtime-", ++ strlen("msys2-runtime-")) == 0 || + strcmp(pkg->name, "pacman") == 0 || + strcmp(pkg->name, "pacman-mirrors") == 0; +} +#endif diff --git a/lib/libalpm/sync.c b/lib/libalpm/sync.c -index acca375..d10b14c 100644 +index 1653b4b..294a4b9 100644 --- a/lib/libalpm/sync.c +++ b/lib/libalpm/sync.c @@ -197,7 +197,13 @@ static alpm_list_t *check_replacers(alpm_handle_t *handle, alpm_pkg_t *lpkg, @@ -107,7 +109,7 @@ index acca375..d10b14c 100644 const char *name) { diff --git a/src/pacman/sighandler.c b/src/pacman/sighandler.c -index ff54dce..15f4350 100644 +index 3e869a3..fc2bac6 100644 --- a/src/pacman/sighandler.c +++ b/src/pacman/sighandler.c @@ -21,6 +21,10 @@ @@ -149,7 +151,7 @@ index ff54dce..15f4350 100644 xwrite(STDOUT_FILENO, "\n", 1); _Exit(128 + signum); diff --git a/src/pacman/sync.c b/src/pacman/sync.c -index b6da1a3..2dd8e18 100644 +index 95340db..99712f4 100644 --- a/src/pacman/sync.c +++ b/src/pacman/sync.c @@ -28,6 +28,12 @@ @@ -165,7 +167,7 @@ index b6da1a3..2dd8e18 100644 #include #include -@@ -689,8 +695,134 @@ cleanup: +@@ -699,8 +705,134 @@ cleanup: return ret; } @@ -300,7 +302,7 @@ index b6da1a3..2dd8e18 100644 int retval = 0; alpm_list_t *i; -@@ -713,6 +845,14 @@ static int sync_trans(alpm_list_t *targets) +@@ -723,6 +855,14 @@ static int sync_trans(alpm_list_t *targets) } if(config->op_s_upgrade) { diff --git a/pacman/0016-Remove-ldconfig.patch b/pacman/0012-Remove-ldconfig.patch similarity index 92% rename from pacman/0016-Remove-ldconfig.patch rename to pacman/0012-Remove-ldconfig.patch index cf0ea317f1cb..f2e96e731783 100644 --- a/pacman/0016-Remove-ldconfig.patch +++ b/pacman/0012-Remove-ldconfig.patch @@ -1,7 +1,7 @@ -From 0855e7f71a761f8e5bbc39110f9c21414aa628c5 Mon Sep 17 00:00:00 2001 +From 1922afb088a7496804363bc47e63535202992f8a Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Fri, 21 May 2021 22:53:34 +0200 -Subject: [PATCH 16/N] Remove ldconfig +Subject: [PATCH 12/N] Remove ldconfig --- lib/libalpm/add.c | 9 ++++++++- @@ -22,7 +22,7 @@ Subject: [PATCH 16/N] Remove ldconfig delete mode 100644 test/pacman/tests/ldconfig003.py diff --git a/lib/libalpm/add.c b/lib/libalpm/add.c -index f0af886..174e051 100644 +index e08ff84..c21c884 100644 --- a/lib/libalpm/add.c +++ b/lib/libalpm/add.c @@ -657,7 +657,10 @@ static int commit_single_pkg(alpm_handle_t *handle, alpm_pkg_t *newpkg, @@ -61,10 +61,10 @@ index f0af886..174e051 100644 return ret; } diff --git a/lib/libalpm/remove.c b/lib/libalpm/remove.c -index 958374a..2f01304 100644 +index f44eac7..48c6def 100644 --- a/lib/libalpm/remove.c +++ b/lib/libalpm/remove.c -@@ -765,18 +765,22 @@ int _alpm_remove_packages(alpm_handle_t *handle, int run_ldconfig) +@@ -767,18 +767,22 @@ int _alpm_remove_packages(alpm_handle_t *handle, int run_ldconfig) if(_alpm_remove_single_package(handle, pkg, NULL, targ_count, pkg_count) == -1) { handle->pm_errno = ALPM_ERR_TRANS_ABORT; @@ -88,10 +88,10 @@ index 958374a..2f01304 100644 return ret; } diff --git a/lib/libalpm/util.c b/lib/libalpm/util.c -index 533ed49..fecee3a 100644 +index 83160f0..95f30a4 100644 --- a/lib/libalpm/util.c +++ b/lib/libalpm/util.c -@@ -796,6 +796,7 @@ cleanup: +@@ -794,6 +794,7 @@ cleanup: return retval; } @@ -99,7 +99,7 @@ index 533ed49..fecee3a 100644 /** Run ldconfig in a chroot. * @param handle the context handle * @return 0 on success, 1 on error -@@ -819,6 +820,7 @@ int _alpm_ldconfig(alpm_handle_t *handle) +@@ -817,6 +818,7 @@ int _alpm_ldconfig(alpm_handle_t *handle) return 0; } @@ -118,10 +118,10 @@ index d261a04..0000000 -# Simply appends a line to /etc/ld.so.cache if called. -echo "ldconfig called" >> /etc/ld.so.cache diff --git a/test/pacman/meson.build b/test/pacman/meson.build -index ecab75b..b0fcd3b 100644 +index c26ce0f..5653b1c 100644 --- a/test/pacman/meson.build +++ b/test/pacman/meson.build -@@ -79,9 +79,6 @@ pacman_tests = [ +@@ -80,9 +80,6 @@ pacman_tests = [ 'tests/ignore006.py', 'tests/ignore007.py', 'tests/ignore008.py', @@ -131,16 +131,16 @@ index ecab75b..b0fcd3b 100644 'tests/mode001.py', 'tests/mode002.py', 'tests/mode003.py', -@@ -355,7 +352,6 @@ foreach input : pacman_tests +@@ -359,7 +356,6 @@ foreach input : pacman_tests join_paths(meson.current_source_dir(), 'pactest.py'), '--scriptlet-shell', get_option('scriptlet-shell'), - '--bindir', meson.build_root(), + '--bindir', meson.project_build_root(), - '--ldconfig', LDCONFIG, '--verbose', join_paths(meson.current_source_dir(), input) ] diff --git a/test/pacman/pactest.py b/test/pacman/pactest.py -index 184f94d..5e042fd 100755 +index c6add23..d9f0445 100755 --- a/test/pacman/pactest.py +++ b/test/pacman/pactest.py @@ -104,9 +104,6 @@ def create_parser(): @@ -162,10 +162,10 @@ index 184f94d..5e042fd 100755 env.config["nls"] = not opts.missing_nls env.config["curl"] = not opts.missing_curl diff --git a/test/pacman/pmtest.py b/test/pacman/pmtest.py -index f008f22..e6a3fbd 100644 +index 47a7cf4..742db1a 100644 --- a/test/pacman/pmtest.py +++ b/test/pacman/pmtest.py -@@ -133,12 +133,10 @@ def generate(self, pacman): +@@ -134,12 +134,10 @@ def generate(self, pacman): logdir = os.path.join(self.root, os.path.dirname(util.LOGFILE)) etcdir = os.path.join(self.root, os.path.dirname(util.PACCONF)) bindir = os.path.join(self.root, "bin") @@ -179,7 +179,7 @@ index f008f22..e6a3fbd 100644 for sys_dir in sys_dirs: if not os.path.isdir(sys_dir): vprint("\t%s" % sys_dir[len(self.root)+1:]) -@@ -147,10 +145,6 @@ def generate(self, pacman): +@@ -148,10 +146,6 @@ def generate(self, pacman): shutil.copy("/bin/sh", bindir) if shell != "bin/sh": shutil.copy("/bin/sh", os.path.join(self.root, shell)) diff --git a/pacman/0017-Change-the-epoch-separator.patch b/pacman/0013-Change-the-epoch-separator.patch similarity index 90% rename from pacman/0017-Change-the-epoch-separator.patch rename to pacman/0013-Change-the-epoch-separator.patch index d5e5f4b28a2a..6cfdf177ac0e 100644 --- a/pacman/0017-Change-the-epoch-separator.patch +++ b/pacman/0013-Change-the-epoch-separator.patch @@ -1,7 +1,7 @@ -From fd1fffafe833e8c13b742c19c74cad7e93362916 Mon Sep 17 00:00:00 2001 +From c31dc64bc2bd37db66b5f44ba1659ebfafe076fa Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Fri, 21 May 2021 22:54:23 +0200 -Subject: [PATCH 17/N] Change the epoch separator +Subject: [PATCH 13/N] Change the epoch separator --- lib/libalpm/version.c | 6 +++++- @@ -9,7 +9,7 @@ Subject: [PATCH 17/N] Change the epoch separator 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/lib/libalpm/version.c b/lib/libalpm/version.c -index 00cc779..6b9d05d 100644 +index 3f0de8d..a58d9de 100644 --- a/lib/libalpm/version.c +++ b/lib/libalpm/version.c @@ -50,7 +50,11 @@ static void parseEVR(char *evr, const char **ep, const char **vp, @@ -34,7 +34,7 @@ index 00cc779..6b9d05d 100644 * easier to just run it all through the same code. */ full1 = strdup(a); diff --git a/scripts/libmakepkg/util/pkgbuild.sh.in b/scripts/libmakepkg/util/pkgbuild.sh.in -index 7aab705..2d4dd2d 100644 +index 9d9e59b..1fd903b 100644 --- a/scripts/libmakepkg/util/pkgbuild.sh.in +++ b/scripts/libmakepkg/util/pkgbuild.sh.in @@ -166,7 +166,11 @@ get_pkgbuild_all_split_attributes() { diff --git a/pacman/0014-More-debugging-info.patch b/pacman/0014-More-debugging-info.patch deleted file mode 100644 index b87aad99a6b4..000000000000 --- a/pacman/0014-More-debugging-info.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 235ea43e9a0d3d4a373a37970a62be8dfd32282b Mon Sep 17 00:00:00 2001 -From: Christoph Reiter -Date: Fri, 21 May 2021 22:47:49 +0200 -Subject: [PATCH 14/N] More debugging info - ---- - lib/libalpm/util.c | 21 +++++++++++++++++++-- - 1 file changed, 19 insertions(+), 2 deletions(-) - -diff --git a/lib/libalpm/util.c b/lib/libalpm/util.c -index 299d287..533ed49 100644 ---- a/lib/libalpm/util.c -+++ b/lib/libalpm/util.c -@@ -304,6 +304,23 @@ int _alpm_unpack_single(alpm_handle_t *handle, const char *archive, - return ret; - } - -+char *get_command_line(const char* cmd, char *const argv[]) -+{ -+ size_t len = strlen(cmd) + 1; -+ size_t nargs = 0; -+ while (argv[nargs] != NULL) { -+ len += strlen(argv[nargs++]) + 1; -+ } -+ char *result = malloc(len) + 1; -+ strcpy(result, cmd); -+ strcat(result, " "); -+ for (size_t arg = 0; arg < nargs; ++arg) { -+ strcat(result, argv[arg]); -+ strcat(result, " "); -+ } -+ return result; -+} -+ - /** Unpack a list of files in an archive. - * @param handle the context handle - * @param path the archive to unpack -@@ -663,7 +680,7 @@ int _alpm_run_chroot(alpm_handle_t *handle, const char *cmd, char *const argv[], - _alpm_reset_signals(); - execv(cmd, argv); - /* execv only returns if there was an error */ -- fprintf(stderr, _("call to execv failed (%s)\n"), strerror(errno)); -+ fprintf(stderr, _("call to execv (%s) failed (%s)\n"), get_command_line(cmd, argv), strerror(errno)); - exit(1); - } else { - /* this code runs for the parent only (wait on the child) */ -@@ -752,7 +769,7 @@ int _alpm_run_chroot(alpm_handle_t *handle, const char *cmd, char *const argv[], - if(WIFEXITED(status)) { - _alpm_log(handle, ALPM_LOG_DEBUG, "call to waitpid succeeded\n"); - if(WEXITSTATUS(status) != 0) { -- _alpm_log(handle, ALPM_LOG_ERROR, _("command failed to execute correctly\n")); -+ _alpm_log(handle, ALPM_LOG_ERROR, _("command (%s) failed to execute correctly\n"), get_command_line(cmd, argv)); - retval = 1; - } - } else if(WIFSIGNALED(status) != 0) { diff --git a/pacman/0018-makepkg-avoid-creating-.tar-files-with-extended-attr.patch b/pacman/0014-makepkg-avoid-creating-.tar-files-with-extended-attr.patch similarity index 87% rename from pacman/0018-makepkg-avoid-creating-.tar-files-with-extended-attr.patch rename to pacman/0014-makepkg-avoid-creating-.tar-files-with-extended-attr.patch index a833ec1716a5..509269b78fd4 100644 --- a/pacman/0018-makepkg-avoid-creating-.tar-files-with-extended-attr.patch +++ b/pacman/0014-makepkg-avoid-creating-.tar-files-with-extended-attr.patch @@ -1,7 +1,7 @@ -From 0839de121eeac48b11e6027437bbdc056c9c56df Mon Sep 17 00:00:00 2001 +From 33df2e9e8136441da456af839cda3460ec5f02b7 Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Thu, 29 Jun 2017 11:54:48 +0200 -Subject: [PATCH 18/N] makepkg: avoid creating .tar files with extended +Subject: [PATCH 14/N] makepkg: avoid creating .tar files with extended attributes Extended attributes are not necessary for pacman to work. Extended @@ -23,10 +23,10 @@ Signed-off-by: Johannes Schindelin 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in -index 6c24f2c..d2b5d26 100644 +index 6eefa98..cf3cdcd 100644 --- a/scripts/makepkg.sh.in +++ b/scripts/makepkg.sh.in -@@ -711,7 +711,7 @@ create_package() { +@@ -607,7 +607,7 @@ create_package() { msg2 "$(gettext "Compressing package...")" # TODO: Maybe this can be set globally for robustness shopt -s -o pipefail diff --git a/pacman/0019-pacman-libalpm-ignore-file-conflicts-for-foo.exe-foo.patch b/pacman/0015-pacman-libalpm-ignore-file-conflicts-for-foo.exe-foo.patch similarity index 89% rename from pacman/0019-pacman-libalpm-ignore-file-conflicts-for-foo.exe-foo.patch rename to pacman/0015-pacman-libalpm-ignore-file-conflicts-for-foo.exe-foo.patch index 3cbab89d0914..25d42c824c7a 100644 --- a/pacman/0019-pacman-libalpm-ignore-file-conflicts-for-foo.exe-foo.patch +++ b/pacman/0015-pacman-libalpm-ignore-file-conflicts-for-foo.exe-foo.patch @@ -1,7 +1,7 @@ -From d694a347ac4647bc27d2bae25b112c2f24792314 Mon Sep 17 00:00:00 2001 +From 8bdcffbf45a57229a161cf7fd8fac1706fc545d2 Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Fri, 21 May 2021 22:55:24 +0200 -Subject: [PATCH 19/N] pacman/libalpm: ignore file conflicts for foo.exe -> +Subject: [PATCH 15/N] pacman/libalpm: ignore file conflicts for foo.exe -> foo renames In case a file "foo.exe" gets renamed to "foo" the msys2 .exe @@ -14,10 +14,10 @@ old package and ignore the conflict. 1 file changed, 26 insertions(+) diff --git a/lib/libalpm/conflict.c b/lib/libalpm/conflict.c -index b471bf2..f7fa9d8 100644 +index 38d28c6..6b531fc 100644 --- a/lib/libalpm/conflict.c +++ b/lib/libalpm/conflict.c -@@ -521,6 +521,32 @@ alpm_list_t *_alpm_db_find_fileconflicts(alpm_handle_t *handle, +@@ -518,6 +518,32 @@ alpm_list_t *_alpm_db_find_fileconflicts(alpm_handle_t *handle, _alpm_log(handle, ALPM_LOG_DEBUG, "checking possible conflict: %s\n", path); diff --git a/pacman/0020-Change-default-answer-of-all-queries-to-yes.patch b/pacman/0016-Change-default-answer-of-all-queries-to-yes.patch similarity index 55% rename from pacman/0020-Change-default-answer-of-all-queries-to-yes.patch rename to pacman/0016-Change-default-answer-of-all-queries-to-yes.patch index 989bb4f86afb..d42a095565d0 100644 --- a/pacman/0020-Change-default-answer-of-all-queries-to-yes.patch +++ b/pacman/0016-Change-default-answer-of-all-queries-to-yes.patch @@ -1,7 +1,7 @@ -From 864894b80495284ff47977686eccbfe0a856bf73 Mon Sep 17 00:00:00 2001 +From bb871d9ce93da8eda3775432f597061dfcc1e99e Mon Sep 17 00:00:00 2001 From: Eduard Braun Date: Sat, 10 Feb 2018 22:39:35 +0100 -Subject: [PATCH 20/N] Change default answer of all queries to yes +Subject: [PATCH 16/N] Change default answer of all queries to yes This allows to use pacman completely unattended using the --noconfirm switch which automatically accepts the default answer. @@ -14,25 +14,28 @@ See https://github.com/msys2/MSYS2-packages/issues/1141 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/pacman/callback.c b/src/pacman/callback.c -index 2f07512..d360ae5 100644 +index 5d2de3f..b7b52bd 100644 --- a/src/pacman/callback.c +++ b/src/pacman/callback.c -@@ -482,12 +482,12 @@ void cb_question(void *ctx, alpm_question_t *question) +@@ -467,7 +467,7 @@ void cb_question(void *ctx, alpm_question_t *question) /* print conflict only if it contains new information */ - if(strcmp(q->conflict->package1, q->conflict->reason->name) == 0 - || strcmp(q->conflict->package2, q->conflict->reason->name) == 0) { -- q->remove = noyes(_("%s and %s are in conflict. Remove %s?"), -+ q->remove = yesno(_("%s and %s are in conflict. Remove %s?"), - q->conflict->package1, - q->conflict->package2, - q->conflict->package2); + if(strcmp(alpm_pkg_get_name(q->conflict->package1), q->conflict->reason->name) == 0 + || strcmp(alpm_pkg_get_name(q->conflict->package2), q->conflict->reason->name) == 0) { +- q->remove = noyes(_("%s-%s%s%s and %s-%s%s%s are in conflict. Remove %s?"), ++ q->remove = yesno(_("%s-%s%s%s and %s-%s%s%s are in conflict. Remove %s?"), + alpm_pkg_get_name(q->conflict->package1), + colstr->faint, + alpm_pkg_get_version(q->conflict->package1), +@@ -478,7 +478,7 @@ void cb_question(void *ctx, alpm_question_t *question) + colstr->nocolor, + alpm_pkg_get_name(q->conflict->package2)); } else { -- q->remove = noyes(_("%s and %s are in conflict (%s). Remove %s?"), -+ q->remove = yesno(_("%s and %s are in conflict (%s). Remove %s?"), - q->conflict->package1, - q->conflict->package2, - q->conflict->reason->name, -@@ -511,7 +511,7 @@ void cb_question(void *ctx, alpm_question_t *question) +- q->remove = noyes(_("%s-%s%s%s and %s-%s%s%s are in conflict (%s). Remove %s?"), ++ q->remove = yesno(_("%s-%s%s%s and %s-%s%s%s are in conflict (%s). Remove %s?"), + alpm_pkg_get_name(q->conflict->package1), + colstr->faint, + alpm_pkg_get_version(q->conflict->package1), +@@ -508,7 +508,7 @@ void cb_question(void *ctx, alpm_question_t *question) count)); list_display(" ", namelist, getcols()); printf("\n"); @@ -42,7 +45,7 @@ index 2f07512..d360ae5 100644 "Do you want to skip the above packages for this upgrade?", count)); diff --git a/src/pacman/remove.c b/src/pacman/remove.c -index e8f4e3e..0c6a2e0 100644 +index 98f85de..645619b 100644 --- a/src/pacman/remove.c +++ b/src/pacman/remove.c @@ -140,7 +140,7 @@ int pacman_remove(alpm_list_t *targets) @@ -55,10 +58,10 @@ index e8f4e3e..0c6a2e0 100644 goto cleanup; } diff --git a/src/pacman/sync.c b/src/pacman/sync.c -index 2dd8e18..a5cc23b 100644 +index 99712f4..03a307c 100644 --- a/src/pacman/sync.c +++ b/src/pacman/sync.c -@@ -195,7 +195,7 @@ static int sync_cleancache(int level) +@@ -199,7 +199,7 @@ static int sync_cleancache(int level) } printf(_("removing old packages from cache...\n")); } else { diff --git a/pacman/0021-Use-pipe-instead-of-socket.patch b/pacman/0017-Use-pipe-instead-of-socket.patch similarity index 84% rename from pacman/0021-Use-pipe-instead-of-socket.patch rename to pacman/0017-Use-pipe-instead-of-socket.patch index 83c8cea29e69..0e42d75398d9 100644 --- a/pacman/0021-Use-pipe-instead-of-socket.patch +++ b/pacman/0017-Use-pipe-instead-of-socket.patch @@ -1,14 +1,14 @@ -From f973a61a290a1c5f85b9f3d5541b75d0f887c993 Mon Sep 17 00:00:00 2001 +From 9336f25f1c529d370e66d4b34500f89bb5a0af01 Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Fri, 21 May 2021 22:56:23 +0200 -Subject: [PATCH 21/N] Use pipe instead of socket +Subject: [PATCH 17/N] Use pipe instead of socket --- lib/libalpm/util.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/lib/libalpm/util.c b/lib/libalpm/util.c -index fecee3a..ce28fd8 100644 +index 95f30a4..f09077c 100644 --- a/lib/libalpm/util.c +++ b/lib/libalpm/util.c @@ -30,7 +30,9 @@ @@ -18,10 +18,10 @@ index fecee3a..ce28fd8 100644 +#ifndef __MSYS__ #include +#endif + #include #include #include - #include -@@ -483,6 +485,9 @@ static int _alpm_chroot_write_to_child(alpm_handle_t *handle, int fd, +@@ -471,6 +473,9 @@ static int _alpm_chroot_write_to_child(alpm_handle_t *handle, int fd, _alpm_cb_io out_cb, void *cb_ctx) { ssize_t nwrite; @@ -31,7 +31,7 @@ index fecee3a..ce28fd8 100644 if(*buf_size == 0) { /* empty buffer, ask the callback for more */ -@@ -492,7 +497,20 @@ static int _alpm_chroot_write_to_child(alpm_handle_t *handle, int fd, +@@ -480,7 +485,20 @@ static int _alpm_chroot_write_to_child(alpm_handle_t *handle, int fd, } } @@ -52,7 +52,7 @@ index fecee3a..ce28fd8 100644 if(nwrite != -1) { /* write was successful, remove the written data from the buffer */ -@@ -630,13 +648,21 @@ int _alpm_run_chroot(alpm_handle_t *handle, const char *cmd, char *const argv[], +@@ -618,13 +636,21 @@ int _alpm_run_chroot(alpm_handle_t *handle, const char *cmd, char *const argv[], /* Flush open fds before fork() to avoid cloning buffers */ fflush(NULL); diff --git a/pacman/0022-pacman-make-file-list-comparisons-between-packages-c.patch b/pacman/0018-pacman-make-file-list-comparisons-between-packages-c.patch similarity index 92% rename from pacman/0022-pacman-make-file-list-comparisons-between-packages-c.patch rename to pacman/0018-pacman-make-file-list-comparisons-between-packages-c.patch index 144e46be9575..ada549fc8d81 100644 --- a/pacman/0022-pacman-make-file-list-comparisons-between-packages-c.patch +++ b/pacman/0018-pacman-make-file-list-comparisons-between-packages-c.patch @@ -1,7 +1,7 @@ -From ae18ca4f394458a4316d20a784142477ca9db7c0 Mon Sep 17 00:00:00 2001 +From 441ed6cce7153b384b4decba2b3178a91ee49a22 Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Fri, 21 May 2021 22:57:25 +0200 -Subject: [PATCH 22/N] pacman: make file list comparisons between packages +Subject: [PATCH 18/N] pacman: make file list comparisons between packages case insensitive In case a package gets upgrade and a filename has changed case this allows @@ -17,7 +17,7 @@ lead to invalid conflict detection. 1 file changed, 42 insertions(+), 5 deletions(-) diff --git a/lib/libalpm/filelist.c b/lib/libalpm/filelist.c -index 07239c3..9c044b5 100644 +index 1399067..3d34e84 100644 --- a/lib/libalpm/filelist.c +++ b/lib/libalpm/filelist.c @@ -25,6 +25,43 @@ @@ -99,7 +99,7 @@ index 07239c3..9c044b5 100644 + return _cmppath(file1->name, file2->name); } - alpm_file_t SYMEXPORT *alpm_filelist_contains(alpm_filelist_t *filelist, + alpm_file_t SYMEXPORT *alpm_filelist_contains(const alpm_filelist_t *filelist, @@ -137,7 +174,7 @@ void _alpm_filelist_sort(alpm_filelist_t *filelist) { size_t i; diff --git a/pacman/0024-Workaround-compressing-packages-with-bsdtar-under-Ac.patch b/pacman/0019-Workaround-compressing-packages-with-bsdtar-under-Ac.patch similarity index 84% rename from pacman/0024-Workaround-compressing-packages-with-bsdtar-under-Ac.patch rename to pacman/0019-Workaround-compressing-packages-with-bsdtar-under-Ac.patch index daa16a2d1967..f87ed1fae282 100644 --- a/pacman/0024-Workaround-compressing-packages-with-bsdtar-under-Ac.patch +++ b/pacman/0019-Workaround-compressing-packages-with-bsdtar-under-Ac.patch @@ -1,7 +1,7 @@ -From 1237e5c381760d8f3f9c847d61dfd22b6d02bfbc Mon Sep 17 00:00:00 2001 +From 29536bf6e3f17aff024f29a837183ee02334198c Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Fri, 21 May 2021 22:59:28 +0200 -Subject: [PATCH 24/N] Workaround compressing packages with bsdtar under +Subject: [PATCH 19/N] Workaround compressing packages with bsdtar under Active Directory account --- @@ -10,10 +10,10 @@ Subject: [PATCH 24/N] Workaround compressing packages with bsdtar under 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in -index d2b5d26..8f27f93 100644 +index cf3cdcd..7e30bc2 100644 --- a/scripts/makepkg.sh.in +++ b/scripts/makepkg.sh.in -@@ -711,7 +711,7 @@ create_package() { +@@ -607,7 +607,7 @@ create_package() { msg2 "$(gettext "Compressing package...")" # TODO: Maybe this can be set globally for robustness shopt -s -o pipefail @@ -22,7 +22,7 @@ index d2b5d26..8f27f93 100644 compress_as "$PKGEXT" > "${pkg_file}" || ret=$? shopt -u -o pipefail -@@ -806,7 +806,7 @@ create_srcpackage() { +@@ -715,7 +715,7 @@ create_srcpackage() { # TODO: Maybe this can be set globally for robustness shopt -s -o pipefail @@ -32,10 +32,10 @@ index d2b5d26..8f27f93 100644 shopt -u -o pipefail diff --git a/scripts/repo-add.sh.in b/scripts/repo-add.sh.in -index a231699..8d6d32d 100644 +index c4af51b..5d37307 100644 --- a/scripts/repo-add.sh.in +++ b/scripts/repo-add.sh.in -@@ -531,7 +531,7 @@ create_db() { +@@ -535,7 +535,7 @@ create_db() { warning "$(gettext "No packages remain, creating empty database.")" files=(-T /dev/null) fi diff --git a/pacman/0025-Fix-asciidoc-argparse.patch b/pacman/0020-Fix-asciidoc-argparse.patch similarity index 80% rename from pacman/0025-Fix-asciidoc-argparse.patch rename to pacman/0020-Fix-asciidoc-argparse.patch index f064c34fbc00..0fa0fc6de56e 100644 --- a/pacman/0025-Fix-asciidoc-argparse.patch +++ b/pacman/0020-Fix-asciidoc-argparse.patch @@ -1,7 +1,7 @@ -From d3e36393d2522590735a28e2d7024a72c6b85454 Mon Sep 17 00:00:00 2001 +From 71b83eae8b1b97f6c761b1f9d938ff422ca5d654 Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Fri, 21 May 2021 23:00:14 +0200 -Subject: [PATCH 25/N] Fix asciidoc argparse +Subject: [PATCH 20/N] Fix asciidoc argparse a2x seems to fail when a value to an argument looks like an argument itself. The best fix seems to be to attach the value to the argument using an equal @@ -13,10 +13,10 @@ https://bugs.python.org/issue9334 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/meson.build b/doc/meson.build -index 5a8eb3a..e7ac240 100644 +index e84eddc..7cad0f9 100644 --- a/doc/meson.build +++ b/doc/meson.build -@@ -55,7 +55,7 @@ foreach page : manpages +@@ -59,7 +59,7 @@ foreach page : manpages '-f', 'manpage', '--xsltproc-opts', '-param man.endnotes.list.enabled 0 -param man.endnotes.are.numbered 0', '-D', '@OUTDIR@', diff --git a/pacman/0026-Export-CC-and-CXX-variables-explicitly.patch b/pacman/0021-Export-CC-and-CXX-variables-explicitly.patch similarity index 58% rename from pacman/0026-Export-CC-and-CXX-variables-explicitly.patch rename to pacman/0021-Export-CC-and-CXX-variables-explicitly.patch index 10441430faa8..95fbcedbbdbb 100644 --- a/pacman/0026-Export-CC-and-CXX-variables-explicitly.patch +++ b/pacman/0021-Export-CC-and-CXX-variables-explicitly.patch @@ -1,7 +1,7 @@ -From 10cd1c5dd359ef584edecbc543a58452d814393b Mon Sep 17 00:00:00 2001 +From 4fdc4c16951ebda5327e969eaae53d296117ca29 Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Sun, 23 May 2021 17:36:14 +0200 -Subject: [PATCH 26/N] Export CC and CXX variables explicitly +Subject: [PATCH 21/N] Export CC and CXX variables explicitly See https://github.com/msys2/MSYS2-packages/pull/2501 --- @@ -9,13 +9,13 @@ See https://github.com/msys2/MSYS2-packages/pull/2501 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/libmakepkg/buildenv.sh.in b/scripts/libmakepkg/buildenv.sh.in -index 6605788..85d5ec2 100644 +index 7410800..031ce49 100644 --- a/scripts/libmakepkg/buildenv.sh.in +++ b/scripts/libmakepkg/buildenv.sh.in -@@ -38,5 +38,5 @@ prepare_buildenv() { +@@ -42,5 +42,5 @@ prepare_buildenv() { done # ensure all necessary build variables are exported -- export CPPFLAGS CFLAGS CXXFLAGS LDFLAGS RUSTFLAGS MAKEFLAGS CHOST -+ export CC CXX CPPFLAGS CFLAGS CXXFLAGS LDFLAGS RUSTFLAGS MAKEFLAGS CHOST +- export ${buildenv_vars[@]} ++ export ${buildenv_vars[@]} CC CXX } diff --git a/pacman/0027-pacman.c-handle-cr-on-stdin-as-well.patch b/pacman/0022-pacman.c-handle-cr-on-stdin-as-well.patch similarity index 83% rename from pacman/0027-pacman.c-handle-cr-on-stdin-as-well.patch rename to pacman/0022-pacman.c-handle-cr-on-stdin-as-well.patch index 3c0a615e784a..0ecbf1d40c70 100644 --- a/pacman/0027-pacman.c-handle-cr-on-stdin-as-well.patch +++ b/pacman/0022-pacman.c-handle-cr-on-stdin-as-well.patch @@ -1,7 +1,7 @@ -From 4fecac861dc310e0f219d24fb2243fc9f363aec8 Mon Sep 17 00:00:00 2001 +From b9a541124a85c8954147de3c1716dfb1e33b2357 Mon Sep 17 00:00:00 2001 From: Christopher Degawa Date: Wed, 18 Aug 2021 10:00:26 -0500 -Subject: [PATCH 27/N] pacman.c: handle cr on stdin as well +Subject: [PATCH 22/N] pacman.c: handle cr on stdin as well Improves compatibility with Windows targets, specifically when using powershell for string transforming package names and piping into @@ -23,10 +23,10 @@ Signed-off-by: Christopher Degawa 1 file changed, 6 insertions(+) diff --git a/src/pacman/pacman.c b/src/pacman/pacman.c -index 36c3b5e..33feca9 100644 +index 3a25442..46c8ef8 100644 --- a/src/pacman/pacman.c +++ b/src/pacman/pacman.c -@@ -1156,6 +1156,12 @@ int main(int argc, char *argv[]) +@@ -1187,6 +1187,12 @@ int main(int argc, char *argv[]) if(line[nread - 1] == '\n') { /* remove trailing newline */ line[nread - 1] = '\0'; diff --git a/pacman/0028-Add-a-CI-job.patch b/pacman/0023-Add-a-CI-job.patch similarity index 94% rename from pacman/0028-Add-a-CI-job.patch rename to pacman/0023-Add-a-CI-job.patch index 3c5dec14cfd2..0a9aa814f49d 100644 --- a/pacman/0028-Add-a-CI-job.patch +++ b/pacman/0023-Add-a-CI-job.patch @@ -1,7 +1,7 @@ -From 63de6f62df29b526f619b9b552cacc9ffd777620 Mon Sep 17 00:00:00 2001 +From 0f7b9b6aa3710e648d5c52054d20e8fda72c4430 Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Thu, 3 Jun 2021 16:49:35 +0200 -Subject: [PATCH 28/N] Add a CI job +Subject: [PATCH 23/N] Add a CI job --- .github/workflows/build.yaml | 55 ++++++++++++++++++++++++++++++++++++ diff --git a/pacman/0023-Translate-MSYS2-specific-messages-into-Japanese.patch b/pacman/0023-Translate-MSYS2-specific-messages-into-Japanese.patch deleted file mode 100644 index 32c1a1962eab..000000000000 --- a/pacman/0023-Translate-MSYS2-specific-messages-into-Japanese.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 6866c7d8834453492ae291ad1a92ee127c1c9286 Mon Sep 17 00:00:00 2001 -From: Christoph Reiter -Date: Fri, 21 May 2021 22:58:41 +0200 -Subject: [PATCH 23/N] Translate MSYS2 specific messages into Japanese - ---- - src/pacman/po/ja.po | 24 ++++++++++++++++++++++++ - 1 file changed, 24 insertions(+) - -diff --git a/src/pacman/po/ja.po b/src/pacman/po/ja.po -index c35a96f..028b1f9 100644 ---- a/src/pacman/po/ja.po -+++ b/src/pacman/po/ja.po -@@ -1493,6 +1493,30 @@ msgid "'%s' is a file, did you mean %s instead of %s?\n" - msgstr "" - "'%s' はファイルです、あなたが行いたいのは %s で %s ではありませんか?\n" - -+#: src/pacman/sync.c:764 -+#, c-format -+msgid "Starting core system upgrade...\n" -+msgstr "コアシステムの更新を開始...\n" -+ -+#: src/pacman/sync.c:791 -+#, c-format -+msgid "terminate other MSYS2 programs before proceeding\n" -+msgstr "続行する前に他の MSYS2 プログラムを終了してください\n" -+ -+#: src/pacman/sync.c:796 -+#, c-format -+msgid "" -+"To complete this update all MSYS2 processes including this terminal will be " -+"closed. Confirm to proceed" -+msgstr "" -+"更新を完了するために、この端末を含む全ての MSYS2 プロセスが閉じられます。続行" -+"しますか?" -+ -+#: src/pacman/sync.c:800 -+#, c-format -+msgid "terminating MSYS2 processes failed\n" -+msgstr "MSYS2 プロセスの終了に失敗しました\n" -+ - #: src/pacman/sync.c:717 - #, c-format - msgid "Starting full system upgrade...\n" diff --git a/pacman/0029-Fix-building-staticlibs-with-LTO.patch b/pacman/0024-Fix-building-staticlibs-with-LTO.patch similarity index 60% rename from pacman/0029-Fix-building-staticlibs-with-LTO.patch rename to pacman/0024-Fix-building-staticlibs-with-LTO.patch index b00e79209ab1..45603659ab22 100644 --- a/pacman/0029-Fix-building-staticlibs-with-LTO.patch +++ b/pacman/0024-Fix-building-staticlibs-with-LTO.patch @@ -1,7 +1,7 @@ -From 322b34becb4fc751b07f7e5412b8974f8699864a Mon Sep 17 00:00:00 2001 +From c80c2de8798202bf05575fb050883dd78a64f7c3 Mon Sep 17 00:00:00 2001 From: Mehdi Chinoune Date: Sat, 13 Nov 2021 08:27:49 +0100 -Subject: [PATCH 29/N] Fix building staticlibs with LTO +Subject: [PATCH 24/N] Fix building staticlibs with LTO Unless `-ffat-lto-objects` get passed to the compiler, It will only generate LTO bytecode. @@ -13,16 +13,16 @@ https://fedoraproject.org/wiki/Changes/LTOBuildImprovements 1 file changed, 4 insertions(+) diff --git a/scripts/libmakepkg/buildenv/lto.sh.in b/scripts/libmakepkg/buildenv/lto.sh.in -index 334aa91..5593eac 100644 +index 7fc12a5..fd3bb65 100644 --- a/scripts/libmakepkg/buildenv/lto.sh.in +++ b/scripts/libmakepkg/buildenv/lto.sh.in -@@ -34,5 +34,9 @@ buildenv_lto() { - CFLAGS+=" ${LTOFLAGS:--flto}" - CXXFLAGS+=" ${LTOFLAGS:--flto}" - LDFLAGS+=" ${LTOFLAGS:--flto}" +@@ -35,5 +35,9 @@ buildenv_lto() { + append_once CFLAGS "${LTOFLAGS:--flto}" + append_once CXXFLAGS "${LTOFLAGS:--flto}" + append_once LDFLAGS "${LTOFLAGS:--flto}" + if check_option "staticlibs" "y"; then -+ CFLAGS+=" -ffat-lto-objects" -+ CXXFLAGS+=" -ffat-lto-objects" ++ append_once CFLAGS "-ffat-lto-objects" ++ append_once CXXFLAGS "-ffat-lto-objects" + fi fi } diff --git a/pacman/0030-Make-lint_pkgbuild-opt-in-via-MAKEPKG_LINT_PKGBUILD-.patch b/pacman/0025-Make-lint_pkgbuild-opt-in-via-MAKEPKG_LINT_PKGBUILD-.patch similarity index 87% rename from pacman/0030-Make-lint_pkgbuild-opt-in-via-MAKEPKG_LINT_PKGBUILD-.patch rename to pacman/0025-Make-lint_pkgbuild-opt-in-via-MAKEPKG_LINT_PKGBUILD-.patch index e56720691afa..453d92f54c0d 100644 --- a/pacman/0030-Make-lint_pkgbuild-opt-in-via-MAKEPKG_LINT_PKGBUILD-.patch +++ b/pacman/0025-Make-lint_pkgbuild-opt-in-via-MAKEPKG_LINT_PKGBUILD-.patch @@ -1,7 +1,7 @@ -From ab633a20cdb481e6c8a2ccfaf689f0e00b510a7d Mon Sep 17 00:00:00 2001 +From 16ee7ffdfa339a6edeb98c549f80ee609474cc21 Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Sat, 10 Sep 2022 11:39:35 +0200 -Subject: [PATCH 30/N] Make lint_pkgbuild opt-in via MAKEPKG_LINT_PKGBUILD=1 +Subject: [PATCH 25/N] Make lint_pkgbuild opt-in via MAKEPKG_LINT_PKGBUILD=1 Cygwin bash is struggling with the thousands of commands that get invoked when lint_pkgbuild is run. This especially is annoying for split packages @@ -25,10 +25,10 @@ We can for example enable this in CI. 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in -index 8f27f93..a5728fa 100644 +index 7e30bc2..2e2c3b6 100644 --- a/scripts/makepkg.sh.in +++ b/scripts/makepkg.sh.in -@@ -1207,8 +1207,11 @@ fi +@@ -1127,8 +1127,11 @@ fi pkgbase=${pkgbase:-${pkgname[0]}} diff --git a/pacman/0032-pacman-key-pass-allow-weak-key-signatures-during-imp.patch b/pacman/0026-pacman-key-pass-allow-weak-key-signatures-during-imp.patch similarity index 90% rename from pacman/0032-pacman-key-pass-allow-weak-key-signatures-during-imp.patch rename to pacman/0026-pacman-key-pass-allow-weak-key-signatures-during-imp.patch index 2a1c18fc486a..2b62d4315e72 100644 --- a/pacman/0032-pacman-key-pass-allow-weak-key-signatures-during-imp.patch +++ b/pacman/0026-pacman-key-pass-allow-weak-key-signatures-during-imp.patch @@ -1,7 +1,7 @@ -From 490334306c2e906ed97f09bd4a87f2afed200029 Mon Sep 17 00:00:00 2001 +From 4578696d0cd348bff5ff6b8c25ba19c85c80a84f Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Fri, 8 Dec 2023 12:55:32 +0100 -Subject: [PATCH 32/N] pacman-key: pass --allow-weak-key-signatures during +Subject: [PATCH 26/N] pacman-key: pass --allow-weak-key-signatures during import Our keyring contains SHA1 signatures, which gnupg 2.4 no longer imports @@ -13,7 +13,7 @@ See https://github.com/msys2/MSYS2-keyring/issues/45 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/scripts/pacman-key.sh.in b/scripts/pacman-key.sh.in -index c667006..50965a5 100644 +index 5ff54a4..85ceda9 100644 --- a/scripts/pacman-key.sh.in +++ b/scripts/pacman-key.sh.in @@ -319,7 +319,9 @@ populate_keyring() { diff --git a/pacman/0027-Disable-autodep-scripts.patch b/pacman/0027-Disable-autodep-scripts.patch new file mode 100644 index 000000000000..6cd32feae4a0 --- /dev/null +++ b/pacman/0027-Disable-autodep-scripts.patch @@ -0,0 +1,38 @@ +From 3c14b2a80f0221ce26efb752682948b23fb0fe07 Mon Sep 17 00:00:00 2001 +From: Christoph Reiter +Date: Sun, 5 May 2024 17:11:29 +0200 +Subject: [PATCH 27/N] Disable autodep scripts + +They are Linux only, so don't include them. +The autodeps machinery itself can stay. +--- + scripts/libmakepkg/autodep/library_depends.sh.in | 2 +- + scripts/libmakepkg/autodep/library_provides.sh.in | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/scripts/libmakepkg/autodep/library_depends.sh.in b/scripts/libmakepkg/autodep/library_depends.sh.in +index c088baf..cb871bb 100644 +--- a/scripts/libmakepkg/autodep/library_depends.sh.in ++++ b/scripts/libmakepkg/autodep/library_depends.sh.in +@@ -23,7 +23,7 @@ LIBMAKEPKG_AUTODEP_LIBRARY_DEPENDS_SH=1 + + MAKEPKG_LIBRARY=${MAKEPKG_LIBRARY:-'@libmakepkgdir@'} + +-autodep_functions+=('library_depends') ++# autodep_functions+=('library_depends') + + library_depends() { + if check_option "autodeps" "y"; then +diff --git a/scripts/libmakepkg/autodep/library_provides.sh.in b/scripts/libmakepkg/autodep/library_provides.sh.in +index 374cc84..ddacf43 100644 +--- a/scripts/libmakepkg/autodep/library_provides.sh.in ++++ b/scripts/libmakepkg/autodep/library_provides.sh.in +@@ -23,7 +23,7 @@ LIBMAKEPKG_AUTODEP_LIBRARY_PROVIDES_SH=1 + + MAKEPKG_LIBRARY=${MAKEPKG_LIBRARY:-'@libmakepkgdir@'} + +-autodep_functions+=('library_provides') ++# autodep_functions+=('library_provides') + + library_provides() { + if check_option "autodeps" "y"; then diff --git a/pacman/0031-libmakepkg-fix-compatibility-with-bash-5.2-patsub_re.patch b/pacman/0031-libmakepkg-fix-compatibility-with-bash-5.2-patsub_re.patch deleted file mode 100644 index fbe982091724..000000000000 --- a/pacman/0031-libmakepkg-fix-compatibility-with-bash-5.2-patsub_re.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 4cfaf53950c1e2bbef7262e2e9b608f4f5a280d5 Mon Sep 17 00:00:00 2001 -From: Allan McRae -Date: Mon, 12 Dec 2022 18:37:59 +1000 -Subject: [PATCH 31/N] libmakepkg: fix compatibility with bash-5.2 - patsub_replacement - -Bash-5.2 introduced the patsub_replacement shell option, which is enabled -by default. Apparently is it supposed to handle a sed-like idiom, but -what it does achieve is making any substitution involving a "&" requiring -special care. - -For makepkg's DLAGENTS, we replace "%o" and "%u" if present. Any "&" in -the replacement fields triggers patsub_replacement unless quoted. This is -particularly important for the URL field. - -Add relevant quotes to avoid issues. - -Signed-off-by: Allan McRae ---- - scripts/libmakepkg/source/file.sh.in | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/scripts/libmakepkg/source/file.sh.in b/scripts/libmakepkg/source/file.sh.in -index 905a5e2..c368041 100644 ---- a/scripts/libmakepkg/source/file.sh.in -+++ b/scripts/libmakepkg/source/file.sh.in -@@ -60,11 +60,11 @@ download_file() { - # replace %o by the temporary dlfile if it exists - if [[ ${cmdline[*]} = *%o* ]]; then - dlfile=$filename.part -- cmdline=("${cmdline[@]//%o/$dlfile}") -+ cmdline=("${cmdline[@]//%o/"$dlfile"}") - fi - # add the URL, either in place of %u or at the end - if [[ ${cmdline[*]} = *%u* ]]; then -- cmdline=("${cmdline[@]//%u/$url}") -+ cmdline=("${cmdline[@]//%u/"$url"}") - else - cmdline+=("$url") - fi diff --git a/pacman/0033-fixup-change-shebang.patch b/pacman/0033-fixup-change-shebang.patch deleted file mode 100644 index 81af9d9c5738..000000000000 --- a/pacman/0033-fixup-change-shebang.patch +++ /dev/null @@ -1,22 +0,0 @@ -From fb822167d46322f4d1f00093f8a1e3ff1e2380a1 Mon Sep 17 00:00:00 2001 -From: Christoph Reiter -Date: Sun, 28 Apr 2024 13:20:59 +0200 -Subject: [PATCH 33/N] fixup! change shebang - ---- - scripts/pacman-db-upgrade.sh.in | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/scripts/pacman-db-upgrade.sh.in b/scripts/pacman-db-upgrade.sh.in -index c1cb200..216dc25 100644 ---- a/scripts/pacman-db-upgrade.sh.in -+++ b/scripts/pacman-db-upgrade.sh.in -@@ -18,6 +18,8 @@ - # along with this program. If not, see . - # - -+set -e -+ - # Avoid creating world-unreadable files - umask 022 - diff --git a/pacman/0034-Revert-makepkg-bash-v4-compat.patch b/pacman/0034-Revert-makepkg-bash-v4-compat.patch deleted file mode 100644 index 3468e53c79d0..000000000000 --- a/pacman/0034-Revert-makepkg-bash-v4-compat.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 47d0b2bf45f2ce363e63f83f914b64218f35748b Mon Sep 17 00:00:00 2001 -From: Christoph Reiter -Date: Sun, 28 Apr 2024 13:22:39 +0200 -Subject: [PATCH 34/N] Revert "makepkg: bash v4 compat" - -This reverts commit 1fbb46db545fad72daab79d769f19a4ae4cea6e3. - -We are on bash v5 for a long time now - -See #29 ---- - scripts/makepkg.sh.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in -index a5728fa..1585982 100644 ---- a/scripts/makepkg.sh.in -+++ b/scripts/makepkg.sh.in -@@ -424,7 +424,7 @@ run_function() { - - $pkgfunc &>"$logpipe" - -- wait $teepid -+ wait -f $teepid - rm "$logpipe" - else - "$pkgfunc" diff --git a/pacman/0035-fixup-Set-fixed-paths-for-various-tools.patch b/pacman/0035-fixup-Set-fixed-paths-for-various-tools.patch deleted file mode 100644 index 58cc047477bc..000000000000 --- a/pacman/0035-fixup-Set-fixed-paths-for-various-tools.patch +++ /dev/null @@ -1,22 +0,0 @@ -From 1f023f9f1f88c4201cbe46d5a2ae8e5aa95f723d Mon Sep 17 00:00:00 2001 -From: Christoph Reiter -Date: Sun, 28 Apr 2024 13:26:17 +0200 -Subject: [PATCH 35/N] fixup! Set fixed paths for various tools - ---- - scripts/pacman-key.sh.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/scripts/pacman-key.sh.in b/scripts/pacman-key.sh.in -index 50965a5..7be282a 100644 ---- a/scripts/pacman-key.sh.in -+++ b/scripts/pacman-key.sh.in -@@ -436,7 +436,7 @@ import_trustdb() { - local ret=0 - for importdir in "$@"; do - if [[ -f "${importdir}/trustdb.gpg" ]]; then -- /bin/gpg --homedir "${importdir}" --export-ownertrust | \ -+ /usr/bin/gpg --homedir "${importdir}" --export-ownertrust | \ - "${GPG_PACMAN[@]}" --import-ownertrust - - if (( PIPESTATUS )); then - error "$(gettext "%s could not be imported.")" "${importdir}/trustdb.gpg" diff --git a/pacman/0036-fixup-Core-update.patch b/pacman/0036-fixup-Core-update.patch deleted file mode 100644 index 33083a01719d..000000000000 --- a/pacman/0036-fixup-Core-update.patch +++ /dev/null @@ -1,23 +0,0 @@ -From bfe70fa6232a6ada9ff23130a9020e36d718344c Mon Sep 17 00:00:00 2001 -From: Christoph Reiter -Date: Tue, 30 Apr 2024 07:45:40 +0200 -Subject: [PATCH 36/N] fixup! Core update - -Fixes #39 ---- - lib/libalpm/package.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/lib/libalpm/package.c b/lib/libalpm/package.c -index 8f592ad..4feeaf1 100644 ---- a/lib/libalpm/package.c -+++ b/lib/libalpm/package.c -@@ -815,6 +815,8 @@ int SYMEXPORT alpm_pkg_is_core_package(const alpm_pkg_t *pkg) - strcmp(pkg->name, "mintty") == 0 || - strcmp(pkg->name, "msys2-runtime") == 0 || - strcmp(pkg->name, "msys2-runtime-devel") == 0 || -+ strncmp(pkg->name, "msys2-runtime-", -+ strlen("msys2-runtime-")) == 0 || - strcmp(pkg->name, "pacman") == 0 || - strcmp(pkg->name, "pacman-mirrors") == 0; - } diff --git a/pacman/0037-Revert-More-debugging-info.patch b/pacman/0037-Revert-More-debugging-info.patch deleted file mode 100644 index 0e98cba93f28..000000000000 --- a/pacman/0037-Revert-More-debugging-info.patch +++ /dev/null @@ -1,58 +0,0 @@ -From 2ab815f2a9a57a7727e2947c78272a2a240e90d0 Mon Sep 17 00:00:00 2001 -From: Christoph Reiter -Date: Tue, 30 Apr 2024 07:47:20 +0200 -Subject: [PATCH 37/N] Revert "More debugging info" - -This reverts commit 235ea43e9a0d3d4a373a37970a62be8dfd32282b. - -See #29 ---- - lib/libalpm/util.c | 21 ++------------------- - 1 file changed, 2 insertions(+), 19 deletions(-) - -diff --git a/lib/libalpm/util.c b/lib/libalpm/util.c -index ce28fd8..bdfb5c0 100644 ---- a/lib/libalpm/util.c -+++ b/lib/libalpm/util.c -@@ -306,23 +306,6 @@ int _alpm_unpack_single(alpm_handle_t *handle, const char *archive, - return ret; - } - --char *get_command_line(const char* cmd, char *const argv[]) --{ -- size_t len = strlen(cmd) + 1; -- size_t nargs = 0; -- while (argv[nargs] != NULL) { -- len += strlen(argv[nargs++]) + 1; -- } -- char *result = malloc(len) + 1; -- strcpy(result, cmd); -- strcat(result, " "); -- for (size_t arg = 0; arg < nargs; ++arg) { -- strcat(result, argv[arg]); -- strcat(result, " "); -- } -- return result; --} -- - /** Unpack a list of files in an archive. - * @param handle the context handle - * @param path the archive to unpack -@@ -706,7 +689,7 @@ int _alpm_run_chroot(alpm_handle_t *handle, const char *cmd, char *const argv[], - _alpm_reset_signals(); - execv(cmd, argv); - /* execv only returns if there was an error */ -- fprintf(stderr, _("call to execv (%s) failed (%s)\n"), get_command_line(cmd, argv), strerror(errno)); -+ fprintf(stderr, _("call to execv failed (%s)\n"), strerror(errno)); - exit(1); - } else { - /* this code runs for the parent only (wait on the child) */ -@@ -795,7 +778,7 @@ int _alpm_run_chroot(alpm_handle_t *handle, const char *cmd, char *const argv[], - if(WIFEXITED(status)) { - _alpm_log(handle, ALPM_LOG_DEBUG, "call to waitpid succeeded\n"); - if(WEXITSTATUS(status) != 0) { -- _alpm_log(handle, ALPM_LOG_ERROR, _("command (%s) failed to execute correctly\n"), get_command_line(cmd, argv)); -+ _alpm_log(handle, ALPM_LOG_ERROR, _("command failed to execute correctly\n")); - retval = 1; - } - } else if(WIFSIGNALED(status) != 0) { diff --git a/pacman/PKGBUILD b/pacman/PKGBUILD index a60f285b5832..795bdd849804 100644 --- a/pacman/PKGBUILD +++ b/pacman/PKGBUILD @@ -3,8 +3,8 @@ # Contributor: Ray Donnelly pkgname=pacman -pkgver=6.0.2 -pkgrel=15 +pkgver=6.1.0 +pkgrel=1 pkgdesc="A library-based package manager with dependency support (MSYS2 port)" arch=('i686' 'x86_64') url="https://www.archlinux.org/pacman/" @@ -40,93 +40,73 @@ makedepends=('asciidoc' backup=("etc/pacman.conf" "etc/makepkg.conf" "etc/makepkg_mingw.conf") -_commit="c2d4568d35173f92c17b6b93222bc101a63c9928" +_commit="e3dc296ba35d5039775c6e53decc7296b3bce396" source=(pacman-${pkgver}::git+https://gitlab.archlinux.org/pacman/pacman.git#commit=${_commit} "pacman.conf" "makepkg.conf" "makepkg_mingw.conf" "makepkg-mingw" 0001-makepkg-clean-up-more-things.patch - 0002-makepkg-bash-v4-compat.patch - 0003-makepkg-find_libdepends-port-to-Windows.patch - 0004-makepkg-build-env-export.patch - 0005-makepkg-find_libprovides-port-to-Windows.patch - 0006-fill_progress.patch - 0007-test-fixes.patch - 0008-Remove-everything-related-to-sudo-fakeroot-file-perm.patch - 0009-change-shebang.patch - 0010-Set-fixed-paths-for-various-tools.patch - 0011-makepkg-port-staticlibs-to-Windows.patch - 0012-makepkg-port-strip-debug-to-Windows.patch - 0013-makepkg-lint_package-Warn-on-package-files-referenci.patch - 0014-More-debugging-info.patch - 0015-Core-update.patch - 0016-Remove-ldconfig.patch - 0017-Change-the-epoch-separator.patch - 0018-makepkg-avoid-creating-.tar-files-with-extended-attr.patch - 0019-pacman-libalpm-ignore-file-conflicts-for-foo.exe-foo.patch - 0020-Change-default-answer-of-all-queries-to-yes.patch - 0021-Use-pipe-instead-of-socket.patch - 0022-pacman-make-file-list-comparisons-between-packages-c.patch - 0023-Translate-MSYS2-specific-messages-into-Japanese.patch - 0024-Workaround-compressing-packages-with-bsdtar-under-Ac.patch - 0025-Fix-asciidoc-argparse.patch - 0026-Export-CC-and-CXX-variables-explicitly.patch - 0027-pacman.c-handle-cr-on-stdin-as-well.patch - 0028-Add-a-CI-job.patch - 0029-Fix-building-staticlibs-with-LTO.patch - 0030-Make-lint_pkgbuild-opt-in-via-MAKEPKG_LINT_PKGBUILD-.patch - 0031-libmakepkg-fix-compatibility-with-bash-5.2-patsub_re.patch - 0032-pacman-key-pass-allow-weak-key-signatures-during-imp.patch - 0033-fixup-change-shebang.patch - 0034-Revert-makepkg-bash-v4-compat.patch - 0035-fixup-Set-fixed-paths-for-various-tools.patch - 0036-fixup-Core-update.patch - 0037-Revert-More-debugging-info.patch) + 0002-makepkg-build-env-export.patch + 0003-fill_progress.patch + 0004-test-fixes.patch + 0005-Remove-everything-related-to-sudo-fakeroot-file-perm.patch + 0006-change-shebang.patch + 0007-Set-fixed-paths-for-various-tools.patch + 0008-makepkg-port-staticlibs-to-Windows.patch + 0009-makepkg-port-strip-debug-to-Windows.patch + 0010-makepkg-lint_package-Warn-on-package-files-referenci.patch + 0011-Core-update.patch + 0012-Remove-ldconfig.patch + 0013-Change-the-epoch-separator.patch + 0014-makepkg-avoid-creating-.tar-files-with-extended-attr.patch + 0015-pacman-libalpm-ignore-file-conflicts-for-foo.exe-foo.patch + 0016-Change-default-answer-of-all-queries-to-yes.patch + 0017-Use-pipe-instead-of-socket.patch + 0018-pacman-make-file-list-comparisons-between-packages-c.patch + 0019-Workaround-compressing-packages-with-bsdtar-under-Ac.patch + 0020-Fix-asciidoc-argparse.patch + 0021-Export-CC-and-CXX-variables-explicitly.patch + 0022-pacman.c-handle-cr-on-stdin-as-well.patch + 0023-Add-a-CI-job.patch + 0024-Fix-building-staticlibs-with-LTO.patch + 0025-Make-lint_pkgbuild-opt-in-via-MAKEPKG_LINT_PKGBUILD-.patch + 0026-pacman-key-pass-allow-weak-key-signatures-during-imp.patch + 0027-Disable-autodep-scripts.patch) validpgpkeys=('6645B0A8C7005E78DB1D7864F99FFE0FEAE999BD' # Allan McRae 'B8151B117037781095514CA7BBDFFC92306B1121') # Andrew Gregory (pacman) sha256sums=('SKIP' '53c0c2d42bc10f265aa41bc412a6ebc2d98177d9356b0fa9a2a130caec46ac2d' - 'fa6c5fc52192484a3419a25bfae802d93be4103fc57281318b55dbea80cb9646' - 'bbc323d1fa057c31ff5b8329eb1e6fdfde5af98ece7a3e7e2982f91a9ec1f23d' + '98bc3b83665ce0a102cd74b2a8e69c17eb6b55e0f89f17e57dc37d0f4577093a' + 'c87b29ee8360be2e02ee959bad71efdb357a8fd57b70398046d192643305263b' '98198e1f0f252eae0560d271bee4b9149e127399dd0d3fd5d8d24579d9e0550f' - 'd272176dea508bf0972dde6396ca655e900d509099d0a496bd6a138f98bb48df' - '7e2a2fc6799ed8a9dbc8b0712b162be963ed22351e4cb29b3a4d4a4d3f28d7ed' - '953b66200dbe4f5b3a9caac2ce25f1ded7918232dce2e61b4bf64f5d87892d07' - 'ca1ec64e74ed557ccf3db8d0ff5e22a52b0b52b6451454f76fd02d1eac082484' - 'cdcdcdbc4496caa852131c72f65ac770d68fec09e259509b1398a99e6e9dc5d6' - '4b3e3cd1ba7d0f513b75a83b27550f308a4a6731427ed27fc7fedf5aa57d57b2' - 'd49fd3812a824dceb2198bac392b7b635bf96ec4382ac899f9c3dac55ec6aeff' - '98b7e35864a3a24bb882a2eeab1b1c4db28f4c4d15af1e4340a35e0afb3877f1' - '11cfe55af4ebe46427f55ef4e02fd5862b9936dcc0cae46a2b9693dcd676a17e' - '27d65613f58f3c114eda732a5683bfe10c48f36a576e5fa913492f55e8152a92' - 'c554b9fdccb3815e9db3594533fe2a9c890049d02eb884b19ac3c892e09910b6' - 'a188897adfcee5744a2932cfdbb906660b21c93f9b1318037d0d4267b4b574b6' - '3061622244395175c7330d369f464c4a65c7e75b97dcc13437e8561fa29150fc' - '9508ddbc126e97bcfb9e0c9c8de6573f3abbf8b2d18814ce2c8576b285eca502' - '90aab35cf01950423638b7af3c3931d4a342b3671086814b99d53e3f847f3736' - '9ade03d4ce8644542f79d847852bf37714567b99d5b183cb7d10a5f53597dcde' - '6c5e124d483b64e7b0ad7aa001c943550d5be76965f2272708083b0995c99af2' - '5d27de39618780371a627ed020624bdce05b3e11784b23941e9f5248e7087f3f' - '7285a21f2c1082ca51befe90daaea19784c22a839e94da882d0d80f23a9f03e3' - '01443d77fb152d631d921b09b9fb50283bee39c6929fcd7ffd3736fc814661d9' - '609101251745f901ec7adcbd9e4e518360d75a8a41c5748f38a475630b79f739' - '016b85da0d455604daac43a03af8aaf7240392ad628c1dd3ac3897f4723fe35b' - '8ffe18df93d77caced48357e31995887f06f5685181a5a6e11f0a7d2740f2ca8' - 'ca60e60bfb4b35f04fec8c73aa551cf532c860c44c26b5b66c9c66a095c46491' - '75035088a9030316977b7f953ba75489bac629d500827daa481f1ddd0dc2c0b1' - '04a40d840df9c834c273849224ab462ec5eaa55850f4b9c71e7479484114e856' - '06b0abe321240d19127e0578ee2b7607d3ce38c62c696e48f71b58f181134c56' - '347222818ffbbc2b72bfe7cdb9e00247cae240372ac629aa5fd1e9386813d9ca' - '80796220c074856f55a63d4ef576f5b5d45cfa4fdc5701b5c7f384e5d92d72bd' - '7b8588bb8ac9c2c74bc5b537e3e17ea90c81d8cf70ea2bd8ff48e3583c24d67f' - 'c5cd177455d2f403f1d7d6dc7f9d19925c8b7662f1984ed9eae91af0f49697b2' - 'a2a77d0f37133874b4ee2636569afccebcc1b972833b215cd9c756a4c202ea30' - 'cf8c23f0885d433bb6970b3e736355b568a983f261ec30ee8f6bf0cea426e801' - '6f320e2ae6e0e933f19c36def4da94770c1aa6a2f677fd7d7afb05d5489dca06' - 'ab7871829523a91f158490768c82ed5748e1513c8496db42669261fe36bd47e4' - '8df6d95de570474fd43fa77c54ee2d2feaeafa896ff90f9fe88129fa321cad62' - '99e64232f5ad85a9331e21a7c07b32b92bf99658a2274cf13c30ee080d60f1b9') + '167e9ffe59e55fb07d47e0c9a4bddd9d967c50ec2c8711a0a0bbe4b184fc8b0f' + '1021dc5950ff9f9efac795688c4b53a1d3cda42b0f270ee755a038bbcf9eccab' + 'af0c734c6efa167bdd9505f0cf8d5d85a8d535a5062a69b6e38473bb43b37aff' + '18e2eff8423c1492aa4b2231c6f2d68801390ac92650124be726191c59d6ba17' + '7f258a972f17ce1ed016b3cb142624a9c128f46421155aeb0525a954c85fae12' + '76a3764b5e556b5d68d2b56776082db45e00a9571e1ba6f53a1e4a2041f7d818' + '69c4fd8cd0322dbdbe99cdb41020222ed84fbeda24781b39eaa154703b64a3fa' + '7b699981a007c6c3acea5950db4ddee9c2c488083cd4266793d8b22d1843ebc7' + '53811beed6feaacb0c5ebd7c1e4dcc6de4dde5c06e4d027bdd3ba85bc40a2926' + '088a3f80ee0c81b9ca02ad83a35a1f45f86e85d37243e1f0ed521caee191ceab' + 'e7b11b8c847b3a4b7062026b73b97561b2a92c60d746e509acace63c65e29ee1' + '741655fa3bb419e23a5bc4a0168de0c69b3e50a1e8428c7f2da3393490615117' + '09e8c61dc9622cdee94e4ad857675e6408953db3ca60a33288eb5404ad9937eb' + '87fd787dbd11a7d3472828b1be3d1c283bd177831fcc4d39e8e52592e2c88afc' + '0a5e65369539ee2fae3856e961609dbabef765fd0db41c61cfe8aa36dcafdd40' + 'c2ce3f1c4926073bcfd99e60be2b5c674f1e91cc1e1ddde33ab3d3b9470e964d' + '5f40e2dab8459e69d36ad1fba2ee5b5bbdc487f7f4aa4acd052359b41fb1e3e9' + '9e10f39679b2a047e0eff6da1cd4027b556bdac3106cc1cf0f5fec30cccb7ba7' + '907c8e4c534cab259f7cc737eb43809c76d1d37514e9ae42efd77d5b74993215' + '9331939cbb5f7b698855343186e28f1e3e6ecde16b3b63fceb0b030bcbda9eb0' + 'b1a374ab70382e20d00b9a7eee498824005f132dbceba8fdab4fd8c56167f3ef' + '77b15b3ea34de3f1d0757287192e424fad61b40e2c066da9158cd2659d2b4e93' + '2091e66e97dda466b3fcb1bc46c0c2e9fe34a4895c237996090d75fbc5a674d3' + '66f42f68f0686ae983bdab13fafacbcbf022d292c0d7cf413c727c12ad4db78a' + '4b881774decf05e90244027b6724efcead31396fc50e37265660d125041df95c' + 'f1a4ebfeb2241ab8710ab4c44a3198317695de9151a2024227196d79c591e8e7' + '454dbe5585e7091dc0f3c4aca514d81935db0af5b2ad9632c54ab30836aef838') apply_git_with_msg() { for _patch in "$@" @@ -144,42 +124,32 @@ prepare() { git reset HEAD --hard apply_git_with_msg 0001-makepkg-clean-up-more-things.patch \ - 0002-makepkg-bash-v4-compat.patch \ - 0003-makepkg-find_libdepends-port-to-Windows.patch \ - 0004-makepkg-build-env-export.patch \ - 0005-makepkg-find_libprovides-port-to-Windows.patch \ - 0006-fill_progress.patch \ - 0007-test-fixes.patch \ - 0008-Remove-everything-related-to-sudo-fakeroot-file-perm.patch \ - 0009-change-shebang.patch \ - 0010-Set-fixed-paths-for-various-tools.patch \ - 0011-makepkg-port-staticlibs-to-Windows.patch \ - 0012-makepkg-port-strip-debug-to-Windows.patch \ - 0013-makepkg-lint_package-Warn-on-package-files-referenci.patch \ - 0014-More-debugging-info.patch \ - 0015-Core-update.patch \ - 0016-Remove-ldconfig.patch \ - 0017-Change-the-epoch-separator.patch \ - 0018-makepkg-avoid-creating-.tar-files-with-extended-attr.patch \ - 0019-pacman-libalpm-ignore-file-conflicts-for-foo.exe-foo.patch \ - 0020-Change-default-answer-of-all-queries-to-yes.patch \ - 0021-Use-pipe-instead-of-socket.patch \ - 0022-pacman-make-file-list-comparisons-between-packages-c.patch \ - 0023-Translate-MSYS2-specific-messages-into-Japanese.patch \ - 0024-Workaround-compressing-packages-with-bsdtar-under-Ac.patch \ - 0025-Fix-asciidoc-argparse.patch \ - 0026-Export-CC-and-CXX-variables-explicitly.patch \ - 0027-pacman.c-handle-cr-on-stdin-as-well.patch \ - 0028-Add-a-CI-job.patch \ - 0029-Fix-building-staticlibs-with-LTO.patch \ - 0030-Make-lint_pkgbuild-opt-in-via-MAKEPKG_LINT_PKGBUILD-.patch \ - 0031-libmakepkg-fix-compatibility-with-bash-5.2-patsub_re.patch \ - 0032-pacman-key-pass-allow-weak-key-signatures-during-imp.patch \ - 0033-fixup-change-shebang.patch \ - 0034-Revert-makepkg-bash-v4-compat.patch \ - 0035-fixup-Set-fixed-paths-for-various-tools.patch \ - 0036-fixup-Core-update.patch \ - 0037-Revert-More-debugging-info.patch + 0002-makepkg-build-env-export.patch \ + 0003-fill_progress.patch \ + 0004-test-fixes.patch \ + 0005-Remove-everything-related-to-sudo-fakeroot-file-perm.patch \ + 0006-change-shebang.patch \ + 0007-Set-fixed-paths-for-various-tools.patch \ + 0008-makepkg-port-staticlibs-to-Windows.patch \ + 0009-makepkg-port-strip-debug-to-Windows.patch \ + 0010-makepkg-lint_package-Warn-on-package-files-referenci.patch \ + 0011-Core-update.patch \ + 0012-Remove-ldconfig.patch \ + 0013-Change-the-epoch-separator.patch \ + 0014-makepkg-avoid-creating-.tar-files-with-extended-attr.patch \ + 0015-pacman-libalpm-ignore-file-conflicts-for-foo.exe-foo.patch \ + 0016-Change-default-answer-of-all-queries-to-yes.patch \ + 0017-Use-pipe-instead-of-socket.patch \ + 0018-pacman-make-file-list-comparisons-between-packages-c.patch \ + 0019-Workaround-compressing-packages-with-bsdtar-under-Ac.patch \ + 0020-Fix-asciidoc-argparse.patch \ + 0021-Export-CC-and-CXX-variables-explicitly.patch \ + 0022-pacman.c-handle-cr-on-stdin-as-well.patch \ + 0023-Add-a-CI-job.patch \ + 0024-Fix-building-staticlibs-with-LTO.patch \ + 0025-Make-lint_pkgbuild-opt-in-via-MAKEPKG_LINT_PKGBUILD-.patch \ + 0026-pacman-key-pass-allow-weak-key-signatures-during-imp.patch \ + 0027-Disable-autodep-scripts.patch } build() { diff --git a/pacman/makepkg.conf b/pacman/makepkg.conf index e98f68e88ea4..ae3c4c7330d6 100644 --- a/pacman/makepkg.conf +++ b/pacman/makepkg.conf @@ -8,10 +8,10 @@ # #-- The download utilities that makepkg should use to acquire sources # Format: 'protocol::agent' -DLAGENTS=('file::/usr/bin/curl -gqC - -o %o %u' - 'ftp::/usr/bin/curl -gqfC - --ftp-pasv --retry 3 --retry-delay 3 -o %o %u' - 'http::/usr/bin/curl -gqb "" -fLC - --retry 3 --retry-delay 3 -o %o %u' - 'https::/usr/bin/curl -gqb "" -fLC - --retry 3 --retry-delay 3 -o %o %u' +DLAGENTS=('file::/usr/bin/curl -qgC - -o %o %u' + 'ftp::/usr/bin/curl -qgfC - --ftp-pasv --retry 3 --retry-delay 3 -o %o %u' + 'http::/usr/bin/curl -qgb "" -fLC - --retry 3 --retry-delay 3 -o %o %u' + 'https::/usr/bin/curl -qgb "" -fLC - --retry 3 --retry-delay 3 -o %o %u' 'rsync::/usr/bin/rsync --no-motd -z %u %o' 'scp::/usr/bin/scp -C %u %o') @@ -22,7 +22,7 @@ DLAGENTS=('file::/usr/bin/curl -gqC - -o %o %u' #-- The package required by makepkg to download VCS sources # Format: 'protocol::package' -VCSCLIENTS=('bzr::bzr' +VCSCLIENTS=('bzr::breezy' 'fossil::fossil' 'git::git' 'hg::mercurial' @@ -77,7 +77,8 @@ BUILDENV=(!distcc color !ccache check !sign) # These are default values for the options=() settings ######################################################################### # -# Makepkg defaults: OPTIONS=(!strip docs libtool staticlibs emptydirs !zipman !purge !debug !lto) +# Makepkg defaults: +# OPTIONS=(!strip docs libtool staticlibs emptydirs !zipman !purge !debug !lto !autodeps) # A negated option will do the opposite of the comments below. # #-- strip: Strip symbols from binaries/libraries @@ -89,10 +90,11 @@ BUILDENV=(!distcc color !ccache check !sign) #-- purge: Remove files specified by PURGE_TARGETS #-- debug: Add debugging flags as specified in DEBUG_* variables #-- lto: Add compile flags for building with link time optimization +#-- autodeps: Automatically add depends/provides # -OPTIONS=(strip docs !libtool staticlibs emptydirs zipman purge !debug !lto) +OPTIONS=(strip docs !libtool staticlibs emptydirs zipman purge !debug !lto !autodeps) -#-- File integrity checks to use. Valid: md5, sha1, sha256, sha384, sha512 +#-- File integrity checks to use. Valid: ck, md5, sha1, sha224, sha256, sha384, sha512, b2 INTEGRITY_CHECK=(sha256) #-- Options to be used when stripping binaries. See `man strip' for details. STRIP_BINARIES="--strip-all" @@ -106,6 +108,10 @@ MAN_DIRS=({{,usr/}{,local/}{,share/},opt/*/}{man,info} mingw{32,64}{{,/local}{,/ DOC_DIRS=({,usr/}{,local/}{,share/}{doc,gtk-doc} mingw{32,64}/{,local/}{,share/}{doc,gtk-doc} opt/*/{doc,gtk-doc}) #-- Files to be removed from all packages (if purge is specified) PURGE_TARGETS=({,usr/}{,share}/info/dir mingw{32,64}/{,share}/info/dir .packlist *.pod) +#-- Directory to store source code in for debug packages +DBGSRCDIR="/usr/src/debug" +#-- Prefix and directories for library autodeps +LIB_DIRS=('lib:usr/lib' 'lib32:usr/lib32') ######################################################################### # PACKAGE OUTPUT diff --git a/pacman/makepkg_mingw.conf b/pacman/makepkg_mingw.conf index 78ea563ac865..c39041db1b7a 100644 --- a/pacman/makepkg_mingw.conf +++ b/pacman/makepkg_mingw.conf @@ -8,10 +8,10 @@ # #-- The download utilities that makepkg should use to acquire sources # Format: 'protocol::agent' -DLAGENTS=('file::/usr/bin/curl -gqC - -o %o %u' - 'ftp::/usr/bin/curl -gqfC - --ftp-pasv --retry 3 --retry-delay 3 -o %o %u' - 'http::/usr/bin/curl -gqb "" -fLC - --retry 3 --retry-delay 3 -o %o %u' - 'https::/usr/bin/curl -gqb "" -fLC - --retry 3 --retry-delay 3 -o %o %u' +DLAGENTS=('file::/usr/bin/curl -qgC - -o %o %u' + 'ftp::/usr/bin/curl -qgfC - --ftp-pasv --retry 3 --retry-delay 3 -o %o %u' + 'http::/usr/bin/curl -qgb "" -fLC - --retry 3 --retry-delay 3 -o %o %u' + 'https::/usr/bin/curl -qgb "" -fLC - --retry 3 --retry-delay 3 -o %o %u' 'rsync::/usr/bin/rsync --no-motd -z %u %o' 'scp::/usr/bin/scp -C %u %o') @@ -22,7 +22,7 @@ DLAGENTS=('file::/usr/bin/curl -gqC - -o %o %u' #-- The package required by makepkg to download VCS sources # Format: 'protocol::package' -VCSCLIENTS=('bzr::bzr' +VCSCLIENTS=('bzr::breezy' 'fossil::fossil' 'git::git' 'hg::mercurial' @@ -149,7 +149,8 @@ BUILDENV=(!distcc color !ccache check !sign) # These are default values for the options=() settings ######################################################################### # -# Makepkg defaults: OPTIONS=(!strip docs libtool staticlibs emptydirs !zipman !purge !debug !lto) +# Makepkg defaults: +# OPTIONS=(!strip docs libtool staticlibs emptydirs !zipman !purge !debug !lto !autodeps) # A negated option will do the opposite of the comments below. # #-- strip: Strip symbols from binaries/libraries @@ -161,10 +162,11 @@ BUILDENV=(!distcc color !ccache check !sign) #-- purge: Remove files specified by PURGE_TARGETS #-- debug: Add debugging flags as specified in DEBUG_* variables #-- lto: Add compile flags for building with link time optimization +#-- autodeps: Automatically add depends/provides # -OPTIONS=(strip docs !libtool staticlibs emptydirs zipman purge !debug !lto) +OPTIONS=(strip docs !libtool staticlibs emptydirs zipman purge !debug !lto !autodeps) -#-- File integrity checks to use. Valid: md5, sha1, sha256, sha384, sha512 +#-- File integrity checks to use. Valid: ck, md5, sha1, sha224, sha256, sha384, sha512, b2 INTEGRITY_CHECK=(sha256) #-- Options to be used when stripping binaries. See `man strip' for details. STRIP_BINARIES="--strip-all" @@ -178,6 +180,10 @@ MAN_DIRS=("${MINGW_PREFIX#/}"{{,/local}{,/share},/opt/*}/{man,info}) DOC_DIRS=("${MINGW_PREFIX#/}"/{,local/}{,share/}{doc,gtk-doc}) #-- Files to be removed from all packages (if purge is specified) PURGE_TARGETS=("${MINGW_PREFIX#/}"/{,share}/info/dir .packlist *.pod) +#-- Directory to store source code in for debug packages +DBGSRCDIR="${MINGW_PREFIX}/src/debug" +#-- Prefix and directories for library autodeps +LIB_DIRS=("lib:${MINGW_PREFIX#/}/lib" "lib32:${MINGW_PREFIX#/}/lib32") ######################################################################### # PACKAGE OUTPUT