pacman: Update to 6.1.0 (v2)

Same as #4584 but with an additional backport:
https://github.com/msys2/msys2-pacman/pull/49

Old message:

See msys2/msys2-pacman#45

makepkg.conf synced with the upstream version:
https://gitlab.archlinux.org/pacman/pacman/-/blob/v6.1.0/etc/makepkg.conf.in

Skip patches only changing CI configs
This commit is contained in:
Christoph Reiter 2024-05-09 09:42:55 +02:00
parent 7573896254
commit 1915a138c0
47 changed files with 670 additions and 911 deletions

View File

@ -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 <reiter.christoph@gmail.com>
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"

View File

@ -1,24 +0,0 @@
From 1fbb46db545fad72daab79d769f19a4ae4cea6e3 Mon Sep 17 00:00:00 2001
From: Christoph Reiter <reiter.christoph@gmail.com>
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"

View File

@ -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 <reiter.christoph@gmail.com>
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

View File

@ -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 <reiter.christoph@gmail.com>
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;

View File

@ -1,76 +0,0 @@
From 261911e634510c2b5390cf67d5067fca8f18a2a3 Mon Sep 17 00:00:00 2001
From: Christoph Reiter <reiter.christoph@gmail.com>
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")

View File

@ -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 <reiter.christoph@gmail.com>
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()

View File

@ -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 <reiter.christoph@gmail.com>
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"])

View File

@ -1,58 +0,0 @@
From e17f32548b02f143ec175dedd3130fdeee101787 Mon Sep 17 00:00:00 2001
From: Christoph Reiter <reiter.christoph@gmail.com>
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

View File

@ -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 <reiter.christoph@gmail.com>
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 <http://www.gnu.org/licenses/>.
#
+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 @@

View File

@ -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 <reiter.christoph@gmail.com>
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

View File

@ -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 <reiter.christoph@gmail.com>
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() {

View File

@ -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 <reiter.christoph@gmail.com>
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

View File

@ -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 <reiter.christoph@gmail.com>
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() {

View File

@ -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 <reiter.christoph@gmail.com>
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 <alpm.h>
#include <alpm_list.h>
@@ -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) {

View File

@ -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 <reiter.christoph@gmail.com>
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))

View File

@ -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 <reiter.christoph@gmail.com>
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() {

View File

@ -1,55 +0,0 @@
From 235ea43e9a0d3d4a373a37970a62be8dfd32282b Mon Sep 17 00:00:00 2001
From: Christoph Reiter <reiter.christoph@gmail.com>
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) {

View File

@ -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 <johannes.schindelin@gmx.de>
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 <johannes.schindelin@gmx.de>
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

View File

@ -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 <reiter.christoph@gmail.com>
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);

View File

@ -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 <eduard.braun2@gmx.de>
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 {

View File

@ -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 <reiter.christoph@gmail.com>
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 <sys/socket.h>
+#endif
#include <fcntl.h>
#include <fnmatch.h>
#include <poll.h>
#include <signal.h>
@@ -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);

View File

@ -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 <reiter.christoph@gmail.com>
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;

View File

@ -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 <reiter.christoph@gmail.com>
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

View File

@ -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 <reiter.christoph@gmail.com>
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@',

View File

@ -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 <reiter.christoph@gmail.com>
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
}

View File

@ -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 <ccom@randomderp.com>
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 <ccom@randomderp.com>
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';

View File

@ -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 <mehdi.chinoune@hotmail.com>
Date: Sat, 13 Nov 2021 08:27:49 +0100
Subject: [PATCH 29/N] Fix building staticlibs with LTO
Subject: [PATCH 23/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
}

View File

@ -1,44 +0,0 @@
From 6866c7d8834453492ae291ad1a92ee127c1c9286 Mon Sep 17 00:00:00 2001
From: Christoph Reiter <reiter.christoph@gmail.com>
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"

View File

@ -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 <reiter.christoph@gmail.com>
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 24/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]}}

View File

@ -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 <reiter.christoph@gmail.com>
Date: Fri, 8 Dec 2023 12:55:32 +0100
Subject: [PATCH 32/N] pacman-key: pass --allow-weak-key-signatures during
Subject: [PATCH 25/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() {

View File

@ -0,0 +1,38 @@
From 3c14b2a80f0221ce26efb752682948b23fb0fe07 Mon Sep 17 00:00:00 2001
From: Christoph Reiter <reiter.christoph@gmail.com>
Date: Sun, 5 May 2024 17:11:29 +0200
Subject: [PATCH 26/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

View File

@ -0,0 +1,40 @@
From 215891a06f65982fe831654a3445aab061592129 Mon Sep 17 00:00:00 2001
From: Allan McRae <allan@archlinux.org>
Date: Mon, 18 Mar 2024 11:08:14 +1000
Subject: [PATCH 27/N] Fix read-after-free issue parsing config files
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
We were indirectly adjusting a pointer to a parameter that was declared
as a const. This resulted in a use-after-free when using --debug:
[11:09:18] debug: config: finished parsing <20><>A<EFBFBD>8_
Signed-off-by: Allan McRae <allan@archlinux.org>
---
src/pacman/conf.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/pacman/conf.c b/src/pacman/conf.c
index 207ebf7..7318ad5 100644
--- a/src/pacman/conf.c
+++ b/src/pacman/conf.c
@@ -1375,13 +1375,13 @@ int parseconfigfile(const char *file)
{
struct section_t section = {0};
char *realfile;
+ int ret;
if((realfile = prepend_dir(config->sysroot, file)) == NULL) {
return -1;
}
- pm_printf(ALPM_LOG_DEBUG, "config: attempting to read file %s\n", realfile);
- free(config->configfile);
- config->configfile = realfile;
- return parse_ini(realfile, _parse_directive, &section);
+ ret = parse_ini(realfile, _parse_directive, &section);
+ free(realfile);
+ return ret;
}
/** Parse a configuration file.

View File

@ -1,71 +0,0 @@
From 63de6f62df29b526f619b9b552cacc9ffd777620 Mon Sep 17 00:00:00 2001
From: Christoph Reiter <reiter.christoph@gmail.com>
Date: Thu, 3 Jun 2021 16:49:35 +0200
Subject: [PATCH 28/N] Add a CI job
---
.github/workflows/build.yaml | 55 ++++++++++++++++++++++++++++++++++++
1 file changed, 55 insertions(+)
create mode 100644 .github/workflows/build.yaml
diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml
new file mode 100644
index 0000000..5b198ca
--- /dev/null
+++ b/.github/workflows/build.yaml
@@ -0,0 +1,55 @@
+name: build
+
+on: [push, pull_request]
+
+jobs:
+ build:
+ runs-on: windows-latest
+
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v2
+
+ - name: setup-msys2
+ uses: msys2/setup-msys2@v2
+ with:
+ msystem: MSYS
+ update: true
+ install: >-
+ msys2-devel
+ base-devel
+ asciidoc
+ doxygen
+ git
+ meson
+ ninja
+ gettext-devel
+ heimdal-devel
+ libarchive-devel
+ libcurl-devel
+ libgpgme-devel
+ libsqlite-devel
+ libunistring-devel
+
+ - name: Build
+ shell: msys2 {0}
+ run: |
+ meson _build \
+ --auto-features=enabled \
+ --default-library=static \
+ -Dbuildstatic=true \
+ -Ddoxygen=enabled \
+ -Dfile-seccomp=disabled
+
+ meson compile -C _build
+
+ - name: Install
+ shell: msys2 {0}
+ run: |
+ DESTDIR="$(pwd)"/_dest meson install -C _build
+
+ - name: Upload
+ uses: actions/upload-artifact@v2
+ with:
+ name: install
+ path: _dest/

View File

@ -0,0 +1,48 @@
From b3fe38b7eae14122f9929f26a92c97cde5415b8a Mon Sep 17 00:00:00 2001
From: Demi Obenour <demi@invisiblethingslab.com>
Date: Sun, 17 Mar 2024 16:05:55 +0000
Subject: [PATCH 28/N] Fetch signature and database from the same URL
Previously, the for loops on lines 1035 and 1037 would advance to the
next element in the server list, even if downloading the URL succeeded.
If there are no more servers in the list, `s` would be NULL, causing
a NULL pointer dereference on line 1046. If there were servers left
in the list, the signature would be downloaded from a wrong URL.
1. Fetching of database signatures is enabled.
2. There is only one enabled remote repository URL, or fetching from
all but the last one fails and fetching from the last one succeeds.
3. An XferCommand is used.
Qubes OS Arch templates satisfy all of these conditions and trigger the bug.
---
lib/libalpm/dload.c | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/lib/libalpm/dload.c b/lib/libalpm/dload.c
index 106390a..f2fa1a5 100644
--- a/lib/libalpm/dload.c
+++ b/lib/libalpm/dload.c
@@ -1032,13 +1032,20 @@ int _alpm_download(alpm_handle_t *handle,
}
}
} else {
- for(s = payload->cache_servers; s && ret == -1; s = s->next) {
+ for(s = payload->cache_servers; s; s = s->next) {
ret = payload_download_fetchcb(payload, s->data, localpath);
+ if (ret != -1) {
+ goto download_signature;
+ }
}
- for(s = payload->servers; s && ret == -1; s = s->next) {
+ for(s = payload->servers; s; s = s->next) {
ret = payload_download_fetchcb(payload, s->data, localpath);
+ if (ret != -1) {
+ goto download_signature;
+ }
}
+download_signature:
if (ret != -1 && payload->download_signature) {
/* Download signature if requested */
char *sig_fileurl;

View File

@ -0,0 +1,27 @@
From 4c289fafa170bb785d69f1c352fc828f33c6778a Mon Sep 17 00:00:00 2001
From: Allan McRae <allan@archlinux.org>
Date: Wed, 3 Apr 2024 09:35:09 +1000
Subject: [PATCH 29/N] libmakepkg: remove MAKEFLAGS from buildenv_vars
MAKEFLAGS should not be cleared by options=(!buildenv).
Regression introduced in commit 09e82f01ea824f9203b0ed7238d98b612669b1a9
Signed-off-by: Allan McRae <allan@archlinux.org>
---
scripts/libmakepkg/buildenv.sh.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/scripts/libmakepkg/buildenv.sh.in b/scripts/libmakepkg/buildenv.sh.in
index 031ce49..830664b 100644
--- a/scripts/libmakepkg/buildenv.sh.in
+++ b/scripts/libmakepkg/buildenv.sh.in
@@ -25,7 +25,7 @@ LIBMAKEPKG_BUILDENV_SH=1
MAKEPKG_LIBRARY=${MAKEPKG_LIBRARY:-'@libmakepkgdir@'}
declare -a buildenv_functions build_options
-buildenv_vars=('CPPFLAGS' 'CFLAGS' 'CXXFLAGS' 'LDFLAGS' 'MAKEFLAGS' 'CHOST')
+buildenv_vars=('CPPFLAGS' 'CFLAGS' 'CXXFLAGS' 'LDFLAGS' 'CHOST')
for lib in "$MAKEPKG_LIBRARY/buildenv/"*.sh; do
source "$lib"

View File

@ -0,0 +1,32 @@
From c6ffd04e7b8d019d0e5cb17f036132c13b06d31a Mon Sep 17 00:00:00 2001
From: Allan McRae <allan@archlinux.org>
Date: Sat, 20 Apr 2024 11:37:54 +1000
Subject: [PATCH 30/N] libmakepkg: do not unset CHOST with !buildflags
Also ensure CHOST and MAKEFLAGS are exported.
Signed-off-by: Allan McRae <allan@archlinux.org>
---
scripts/libmakepkg/buildenv.sh.in | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/scripts/libmakepkg/buildenv.sh.in b/scripts/libmakepkg/buildenv.sh.in
index 830664b..7a0d971 100644
--- a/scripts/libmakepkg/buildenv.sh.in
+++ b/scripts/libmakepkg/buildenv.sh.in
@@ -25,7 +25,7 @@ LIBMAKEPKG_BUILDENV_SH=1
MAKEPKG_LIBRARY=${MAKEPKG_LIBRARY:-'@libmakepkgdir@'}
declare -a buildenv_functions build_options
-buildenv_vars=('CPPFLAGS' 'CFLAGS' 'CXXFLAGS' 'LDFLAGS' 'CHOST')
+buildenv_vars=('CPPFLAGS' 'CFLAGS' 'CXXFLAGS' 'LDFLAGS')
for lib in "$MAKEPKG_LIBRARY/buildenv/"*.sh; do
source "$lib"
@@ -42,5 +42,5 @@ prepare_buildenv() {
done
# ensure all necessary build variables are exported
- export ${buildenv_vars[@]} CC CXX
+ export ${buildenv_vars[@]} CC CXX CHOST MAKEFLAGS
}

View File

@ -1,40 +0,0 @@
From 4cfaf53950c1e2bbef7262e2e9b608f4f5a280d5 Mon Sep 17 00:00:00 2001
From: Allan McRae <allan@archlinux.org>
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 <allan@archlinux.org>
---
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

View File

@ -0,0 +1,49 @@
From 761a878373f16db3c1825d1e8eea4c5167c36057 Mon Sep 17 00:00:00 2001
From: Ivan Shapovalov <intelfx@intelfx.name>
Date: Wed, 21 Feb 2024 09:35:57 +0100
Subject: [PATCH 31/N] repo-add: unconditionally create the database if it is
missing
In f91fa546 (repo-add: do not recreate the database if nothing was changed),
repo-add was made to skip database write-out if there were no changes to
the database. However, this breaks the usage of repo-add to create a new
empty database: `repo-add /path/to/mydb/mydb.db.tar.xz`.
Bring back support for this use-case by always writing the database if
it is missing.
Fixes: f91fa546f65af9ca7cdbe2b419c181df609969b7
---
scripts/repo-add.sh.in | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/scripts/repo-add.sh.in b/scripts/repo-add.sh.in
index 5d37307..0efc17c 100644
--- a/scripts/repo-add.sh.in
+++ b/scripts/repo-add.sh.in
@@ -44,6 +44,7 @@ USE_COLOR='y'
PREVENT_DOWNGRADE=0
INCLUDE_SIGS=0
DB_MODIFIED=0
+DB_MISSING=0
# Import libmakepkg
source "$MAKEPKG_LIBRARY"/util/compress.sh
@@ -440,6 +441,8 @@ prepare_repo_db() {
exit 1
fi
rm -f "$dbfile"
+ # mark the db for unconditional update
+ DB_MISSING=1
;;
esac
fi
@@ -710,7 +713,7 @@ if (( fail )); then
exit 1
fi
-if (( DB_MODIFIED )); then
+if (( DB_MODIFIED || DB_MISSING )); then
msg "$(gettext "Creating updated database file '%s'")" "$REPO_DB_FILE"
create_db
rotate_db

View File

@ -1,22 +0,0 @@
From fb822167d46322f4d1f00093f8a1e3ff1e2380a1 Mon Sep 17 00:00:00 2001
From: Christoph Reiter <reiter.christoph@gmail.com>
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 <http://www.gnu.org/licenses/>.
#
+set -e
+
# Avoid creating world-unreadable files
umask 022

View File

@ -1,27 +0,0 @@
From 47d0b2bf45f2ce363e63f83f914b64218f35748b Mon Sep 17 00:00:00 2001
From: Christoph Reiter <reiter.christoph@gmail.com>
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"

View File

@ -1,22 +0,0 @@
From 1f023f9f1f88c4201cbe46d5a2ae8e5aa95f723d Mon Sep 17 00:00:00 2001
From: Christoph Reiter <reiter.christoph@gmail.com>
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"

View File

@ -1,23 +0,0 @@
From bfe70fa6232a6ada9ff23130a9020e36d718344c Mon Sep 17 00:00:00 2001
From: Christoph Reiter <reiter.christoph@gmail.com>
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;
}

View File

@ -1,58 +0,0 @@
From 2ab815f2a9a57a7727e2947c78272a2a240e90d0 Mon Sep 17 00:00:00 2001
From: Christoph Reiter <reiter.christoph@gmail.com>
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) {

View File

@ -3,8 +3,8 @@
# Contributor: Ray Donnelly <mingw.android@gmail.com>
pkgname=pacman
pkgver=6.0.2
pkgrel=15
pkgver=6.1.0
pkgrel=2
pkgdesc="A library-based package manager with dependency support (MSYS2 port)"
arch=('i686' 'x86_64')
url="https://www.archlinux.org/pacman/"
@ -40,93 +40,81 @@ 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-Fix-building-staticlibs-with-LTO.patch
0024-Make-lint_pkgbuild-opt-in-via-MAKEPKG_LINT_PKGBUILD-.patch
0025-pacman-key-pass-allow-weak-key-signatures-during-imp.patch
0026-Disable-autodep-scripts.patch
0027-Fix-read-after-free-issue-parsing-config-files.patch
0028-Fetch-signature-and-database-from-the-same-URL.patch
0029-libmakepkg-remove-MAKEFLAGS-from-buildenv_vars.patch
0030-libmakepkg-do-not-unset-CHOST-with-buildflags.patch
0031-repo-add-unconditionally-create-the-database-if-it-i.patch)
validpgpkeys=('6645B0A8C7005E78DB1D7864F99FFE0FEAE999BD' # Allan McRae <allan@archlinux.org>
'B8151B117037781095514CA7BBDFFC92306B1121') # Andrew Gregory (pacman) <andrew@archlinux.org>
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'
'3009d2c5c4b497eb3f1fd1ce3c2ee4baa8b6d804a213886286edc128786ad554'
'4bfcc39459e422c842f5bb40db35fe212f110233ecb7372cce3cb10577eaf6fe'
'9b59b70d8cebd2334f824a6ef6afa685f7301197f1fda7336b95a1ecf772519c'
'c221e17ebb8637f92e699f27bbb0995a8d16a80fe583e4f6e84a1c5e4147ae7d'
'8439e55bc3fb8e0e2dacffcd45a27762e538fdcbf6e39432773602e4a26dd9fd'
'56f660d747241514aee05a497be3924b41d2bf53a0ac77e2d6aee7c718ee7c03'
'25229ab3f14460d14b58e37984262e26655110d3b2cdee74b345a3ccb8536cf1'
'c4762de7bb589b5ed84f0474e7a2ba8bf3c6447db153099816cba9cf8cf01cee'
'f090e9c042c901c52f13a8639577f3a97fcac20fc4f2c21a27e7d9223f5dfe2c')
apply_git_with_msg() {
for _patch in "$@"
@ -144,42 +132,36 @@ 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-Fix-building-staticlibs-with-LTO.patch \
0024-Make-lint_pkgbuild-opt-in-via-MAKEPKG_LINT_PKGBUILD-.patch \
0025-pacman-key-pass-allow-weak-key-signatures-during-imp.patch \
0026-Disable-autodep-scripts.patch \
0027-Fix-read-after-free-issue-parsing-config-files.patch \
0028-Fetch-signature-and-database-from-the-same-URL.patch \
0029-libmakepkg-remove-MAKEFLAGS-from-buildenv_vars.patch \
0030-libmakepkg-do-not-unset-CHOST-with-buildflags.patch \
0031-repo-add-unconditionally-create-the-database-if-it-i.patch
}
build() {

View File

@ -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

View File

@ -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

View File

@ -46,7 +46,8 @@ git -c core.abbrev=7 \
--suffix=.patch \
--subject-prefix=PATCH \
--output-directory .. \
$base_tag..$msys2_branch ||
$base_tag..$msys2_branch \
-- ':(exclude).github/' ||
die "Could not generate new patch set"
patches="$(ls -1 0*.patch)" &&