Merge pull request #2274 from lazka/pacman6

pacman: update to 6.0.0
This commit is contained in:
Christoph Reiter
2021-06-06 12:53:17 +02:00
committed by GitHub
30 changed files with 465 additions and 435 deletions

View File

@@ -0,0 +1,44 @@
From fd21ee241c85856be941e41942d6c179ca713c41 Mon Sep 17 00:00:00 2001
From: Eli Schwartz via pacman-contrib <pacman-contrib@lists.archlinux.org>
Date: Fri, 21 May 2021 00:30:07 -0400
Subject: [PATCH] pactree: fix compilation with pacman 6
In "add front-end provided context to callbacks", libalpm gained a new
argument to callbacks which we don't use and is only needed by some
frontends wishing to do stuff with the callback state. NULL it and move
on with life, just like pacman itself did.
Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Daniel M. Capella <polyzen@archlinux.org>
---
src/pactree.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/pactree.c b/src/pactree.c
index e8f5086..9e6ac1b 100644
--- a/src/pactree.c
+++ b/src/pactree.c
@@ -135,8 +135,10 @@ static const char *dbpath = DBPATH;
static const char *configfile = CONFFILE;
static const char *gpgdir = GPGDIR;
-void cb_log(alpm_loglevel_t level, const char *fmt, va_list args)
+void cb_log(void *ctx, alpm_loglevel_t level, const char *fmt, va_list args)
{
+ (void)ctx;
+
switch(level) {
case ALPM_LOG_ERROR:
fprintf(stderr, "%s%s%s", color->error, "error: ",
@@ -621,7 +623,7 @@ int main(int argc, char *argv[])
}
if(debug) {
- alpm_option_set_logcb(handle, cb_log);
+ alpm_option_set_logcb(handle, cb_log, NULL);
}
/* no need to fail on error here */
--
2.31.1

View File

@@ -1,3 +1,14 @@
--- pacman-contrib-1.4.0/configure.ac.orig 2021-06-06 10:59:55.815788900 +0200
+++ pacman-contrib-1.4.0/configure.ac 2021-06-06 10:57:04.735607300 +0200
@@ -62,7 +62,7 @@
AC_MSG_ERROR([*** libarchive >= 2.8.0 is needed to build pacman-contrib!]))
# Check for libalpm
-PKG_CHECK_MODULES(LIBALPM, [libalpm], ,
+PKG_CHECK_MODULES_STATIC(LIBALPM, [libalpm], ,
AC_MSG_ERROR([*** libalpm is needed to build pacman-contrib!]))
PKG_CHECK_VAR(LIBMAKEPKGDIR, [libmakepkg], [libmakepkgdir], ,
--- pacman-contrib-1.0.0/src/Makefile.am.orig 2018-07-06 23:06:38.101782600 +0300
+++ pacman-contrib-1.0.0/src/Makefile.am 2018-07-06 23:07:26.634558600 +0300
@@ -86,6 +86,8 @@

View File

@@ -4,7 +4,7 @@
pkgname=pacman-contrib
pkgver=1.4.0
pkgrel=1
pkgrel=2
pkgdesc="Contributed scripts and tools for pacman systems (MSYS2 port)"
arch=('i686' 'x86_64')
url="https://git.archlinux.org/pacman-contrib.git/about/"
@@ -22,14 +22,17 @@ makedepends=('asciidoc'
'libgpgme-devel'
)
source=(https://git.archlinux.org/pacman-contrib.git/snapshot/${pkgname}-${pkgver}.tar.gz
"0100-contrib.patch")
"0100-contrib.patch"
'0001-pactree-fix-compilation-with-pacman-6.patch')
sha256sums=('8746f1352aaad990fe633be34f925d5ab8bd8a19a5f1274e72dbde426deb86bd'
'd7d0ea4effd6b0698959ee4d01d225cec1fe7671f0b84d83ffc9e5f036adb294')
'4af0cced6f68504075f59a83517c550b97323dbbb72697d8ed3ddc33c2605f4f'
'774d27532a91e2fe490ccc8d21c2d1d4d2a2dbfc8678a8406abb8bb8f9e6626c')
prepare() {
cd ${srcdir}/${pkgname}-${pkgver}
patch -p1 -i ${srcdir}/0100-contrib.patch
patch -p1 -i ${srcdir}/0001-pactree-fix-compilation-with-pacman-6.patch
./autogen.sh
}

View File

@@ -1,15 +1,15 @@
From 91067406c454929239a5eebf043ed2eb0a485762 Mon Sep 17 00:00:00 2001
From 9e9a116fb7c06190687cc8d5afb2d5d5ac610f3f Mon Sep 17 00:00:00 2001
From: Christoph Reiter <reiter.christoph@gmail.com>
Date: Fri, 21 May 2021 22:47:29 +0200
Date: Thu, 3 Jun 2021 16:22:43 +0200
Subject: [PATCH 01/N] Msysize
---
lib/libalpm/add.c | 2 +
.../lint_package/build_references.sh.in | 8 +
scripts/libmakepkg/tidy/staticlibs.sh.in | 4 +-
scripts/libmakepkg/tidy/strip.sh.in | 167 ++++++++++++-----
scripts/libmakepkg/tidy/strip.sh.in | 180 ++++++++++++------
scripts/libmakepkg/utils_fixed_path.sh.in | 34 ++++
scripts/makepkg.sh.in | 177 +++++++-----------
scripts/makepkg.sh.in | 174 +++++++----------
scripts/pacman-db-upgrade.sh.in | 12 +-
scripts/pacman-key.sh.in | 22 +--
scripts/repo-add.sh.in | 11 +-
@@ -18,11 +18,11 @@ Subject: [PATCH 01/N] Msysize
src/pacman/check.c | 2 +
src/pacman/pacman.c | 4 +
test/pacman/pmtest.py | 19 +-
14 files changed, 275 insertions(+), 196 deletions(-)
14 files changed, 283 insertions(+), 198 deletions(-)
create mode 100644 scripts/libmakepkg/utils_fixed_path.sh.in
diff --git a/lib/libalpm/add.c b/lib/libalpm/add.c
index f84e96a..1e330ca 100644
index f806e5b..f0af886 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,
@@ -42,7 +42,7 @@ index f84e96a..1e330ca 100644
filename);
archive_read_data_skip(archive);
diff --git a/scripts/libmakepkg/lint_package/build_references.sh.in b/scripts/libmakepkg/lint_package/build_references.sh.in
index bcaf71c..a897adc 100644
index 9b7ffab..a5fc455 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() {
@@ -60,7 +60,7 @@ index bcaf71c..a897adc 100644
return 0
}
diff --git a/scripts/libmakepkg/tidy/staticlibs.sh.in b/scripts/libmakepkg/tidy/staticlibs.sh.in
index 7993c09..a685efe 100644
index 498518c..e9d514a 100644
--- a/scripts/libmakepkg/tidy/staticlibs.sh.in
+++ b/scripts/libmakepkg/tidy/staticlibs.sh.in
@@ -35,9 +35,9 @@ tidy_staticlibs() {
@@ -76,7 +76,7 @@ index 7993c09..a685efe 100644
fi
}
diff --git a/scripts/libmakepkg/tidy/strip.sh.in b/scripts/libmakepkg/tidy/strip.sh.in
index b04426c..4cc9db6 100644
index 5d03b28..e3d4061 100644
--- a/scripts/libmakepkg/tidy/strip.sh.in
+++ b/scripts/libmakepkg/tidy/strip.sh.in
@@ -31,10 +31,6 @@ packaging_options+=('strip' 'debug')
@@ -88,9 +88,9 @@ index b04426c..4cc9db6 100644
-}
-
source_files() {
LANG=C readelf "$1" --debug-dump | \
awk '/DW_AT_name +:/{name=$8}/DW_AT_comp_dir +:/{{if (name == "<artificial>") next}{if (name !~ /^[<\/]/) {printf "%s/", $8}}{print name}}'
@@ -43,55 +39,57 @@ source_files() {
LANG=C readelf "$1" --debug-dump 2>/dev/null | \
awk '/DW_AT_name +:/{name=$NF}/DW_AT_comp_dir +:/{{if (name == "<artificial>") next}{if (name !~ /^[<\/]/) {printf "%s/", $NF}}{print name}}'
@@ -43,58 +39,63 @@ source_files() {
strip_file() {
local binary=$1; shift
@@ -120,28 +120,6 @@ index b04426c..4cc9db6 100644
- cp -- "$file" "$dest"
- fi
- done < <(source_files "$binary")
-
- # copy debug symbols to debug directory
- mkdir -p "$dbgdir/${binary%/*}"
- objcopy --only-keep-debug "$binary" "$dbgdir/$binary.debug"
- objcopy --add-gnu-debuglink="$dbgdir/${binary#/}.debug" "$binary"
-
- # 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\/}"
- ln -s "$target" "$dbgdir/.build-id/${bid:0:2}/${bid:2}"
+ # copy source files to debug directory
+ local file dest t
+ while IFS= read -r t; do
@@ -160,7 +138,10 @@ index b04426c..4cc9db6 100644
+ objcopy --only-keep-debug "$binary" "$dbgdir/$binary.debug"
+
+ msg2 "Creating a debuginfo link to $dbgdir/$binary.debug in $binary"
+ objcopy --add-gnu-debuglink="$dbgdir/${binary#/}.debug" "$binary"
+ local tempfile=$(mktemp "$binary.XXXXXX")
+ objcopy --add-gnu-debuglink="$dbgdir/${binary#/}.debug" "$binary" "$tempfile"
+ cat "$tempfile" > "$binary"
+ rm "$tempfile"
+
+ msg2 "Separating (again) debug info from $binary into $dbgdir/$binary.debug"
+ objcopy --only-keep-debug "$binary" "$dbgdir/$binary.debug"
@@ -171,7 +152,10 @@ index b04426c..4cc9db6 100644
+ # strip debug-info from the original file
+ objcopy --strip-debug "$binary"
+ msg2 "Creating (again) a debuginfo link to $dbgdir/$binary.debug in $binary"
+ objcopy --add-gnu-debuglink="$dbgdir/${binary#/}.debug" "$binary"
+ tempfile=$(mktemp "$binary.XXXXXX")
+ objcopy --add-gnu-debuglink="$dbgdir/${binary#/}.debug" "$binary" "$tempfile"
+ cat "$tempfile" > "$binary"
+ rm "$tempfile"
+ # This way dbg file gets a .gnu_debuglink section (doesn't matter where
+ # it's pointing), and its contents pass the CRC32 check
+
@@ -183,6 +167,31 @@ index b04426c..4cc9db6 100644
+ fi
+ done < <(find . -type f -perm -u+w -print0 2>/dev/null)
- # copy debug symbols to debug directory
- mkdir -p "$dbgdir/${binary%/*}"
- objcopy --only-keep-debug "$binary" "$dbgdir/$binary.debug"
- 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\/}"
- ln -s "$target" "$dbgdir/.build-id/${bid:0:2}/${bid:2}"
-
- target="../../${binary#./}.debug"
- ln -s "$target" "$dbgdir/.build-id/${bid:0:2}/${bid:2}.debug"
fi
@@ -190,9 +199,9 @@ index b04426c..4cc9db6 100644
+ ;;
+ esac
strip $@ "$binary"
}
@@ -106,15 +104,84 @@ tidy_strip() {
local tempfile=$(mktemp "$binary.XXXXXX")
if strip "$@" "$binary" -o "$tempfile"; then
@@ -123,17 +124,86 @@ tidy_strip() {
if check_option "debug" "y"; then
@@ -213,6 +222,9 @@ index b04426c..4cc9db6 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
+ # Skip thin archives from stripping
+ case "${binary##*/}" in
+ *.a)
@@ -273,12 +285,13 @@ index b04426c..4cc9db6 100644
+ esac
+ chmod 0755 "${binary}";
+
case "$(@FILECMD@ -bi "$binary")" in
+ case "$(@FILECMD@ -bi "$binary")" in
+ *application/x-dosexec*) # Windows executables and dlls
+ strip_flags="$STRIP_SHARED";;
*application/x-sharedlib*) # Libraries (.so)
+ *application/x-sharedlib*) # Libraries (.so)
strip_flags="$STRIP_SHARED";;
*application/x-archive*) # Libraries (.a)
*Type:*'EXEC (Executable file)'*) # Binaries
strip_flags="$STRIP_BINARIES";;
diff --git a/scripts/libmakepkg/utils_fixed_path.sh.in b/scripts/libmakepkg/utils_fixed_path.sh.in
new file mode 100644
index 0000000..e3a06bc
@@ -320,7 +333,7 @@ index 0000000..e3a06bc
+ done
+fi
diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
index c9e381d..86616de 100644
index e58edfa..6c8446b 100644
--- a/scripts/makepkg.sh.in
+++ b/scripts/makepkg.sh.in
@@ -1,4 +1,4 @@
@@ -328,8 +341,8 @@ index c9e381d..86616de 100644
+#!/usr/bin/env bash
#
# makepkg - make packages compatible for use with pacman
# @configure_input@
@@ -27,7 +27,7 @@
#
@@ -26,7 +26,7 @@
# makepkg uses quite a few external programs during its execution. You
# need to have at least the following installed for makepkg to function:
@@ -338,7 +351,7 @@ index c9e381d..86616de 100644
# gettext, gpg, grep, gzip, sed, tput (ncurses), xz
# gettext initialization
@@ -60,7 +60,6 @@ FORCE=0
@@ -59,7 +59,6 @@ FORCE=0
GENINTEG=0
HOLDVER=0
IGNOREARCH=0
@@ -346,7 +359,7 @@ index c9e381d..86616de 100644
INSTALL=0
LOGGING=0
NEEDED=0
@@ -106,10 +105,9 @@ done
@@ -105,10 +104,9 @@ done
trap_exit() {
local signal=$1; shift
@@ -360,7 +373,7 @@ index c9e381d..86616de 100644
[[ -n $srclinks ]] && rm -rf "$srclinks"
# unset the trap for this signal, and then call the default handler
@@ -124,11 +122,6 @@ trap_exit() {
@@ -123,11 +121,6 @@ trap_exit() {
clean_up() {
local EXIT_CODE=$?
@@ -372,7 +385,7 @@ index c9e381d..86616de 100644
if [[ -p $logpipe ]]; then
rm "$logpipe"
fi
@@ -138,7 +131,7 @@ clean_up() {
@@ -137,7 +130,7 @@ clean_up() {
# If it's a clean exit and -c/--clean has been passed...
msg "$(gettext "Cleaning up...")"
@@ -381,7 +394,7 @@ index c9e381d..86616de 100644
if [[ -n $pkgbase ]]; then
local fullver=$(get_full_version)
# Can't do this unless the BUILDSCRIPT has been sourced.
@@ -180,11 +173,6 @@ clean_up() {
@@ -179,11 +172,6 @@ clean_up() {
fi
}
@@ -393,19 +406,18 @@ index c9e381d..86616de 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() {
@@ -229,11 +217,6 @@ run_pacman() {
cmd=("$PACMAN_PATH" "$@")
else
cmd=("$PACMAN_PATH" "${PACMAN_OPTS[@]}" "$@")
- if type -p sudo >/dev/null; then
@@ -237,10 +225,6 @@ run_pacman() {
else
cmd=("${PACMAN_AUTH[@]}" "${cmd[@]}")
fi
- elif type -p sudo >/dev/null; then
- cmd=(sudo "${cmd[@]}")
- else
- cmd=(su root -c "$(printf '%q ' "${cmd[@]}")")
- fi
- cmd=(su root -c "$cmdescape")
fi
local lockfile="$(pacman-conf DBPath)/db.lck"
while [[ -f $lockfile ]]; do
local timer=0
@@ -432,7 +415,7 @@ run_function() {
@@ -440,7 +424,7 @@ run_function() {
$pkgfunc &>"$logpipe"
@@ -414,7 +426,7 @@ index c9e381d..86616de 100644
rm "$logpipe"
else
"$pkgfunc"
@@ -460,7 +443,7 @@ find_libdepends() {
@@ -468,7 +452,7 @@ find_libdepends() {
sodepends=0
for d in "${depends[@]}"; do
@@ -423,7 +435,7 @@ index c9e381d..86616de 100644
sodepends=1
break
fi
@@ -471,28 +454,33 @@ find_libdepends() {
@@ -479,28 +463,33 @@ find_libdepends() {
return 0
fi
@@ -468,7 +480,7 @@ index c9e381d..86616de 100644
fi
done
done < <(find "$pkgdir" -type f -perm -u+x -print0)
@@ -500,7 +488,7 @@ find_libdepends() {
@@ -508,7 +497,7 @@ find_libdepends() {
local libdepends v
for d in "${depends[@]}"; do
case "$d" in
@@ -477,9 +489,9 @@ index c9e381d..86616de 100644
if [[ ${libdeps[$d]} ]]; then
for v in ${libdeps[$d]}; do
libdepends+=("$d=$v")
@@ -525,32 +513,23 @@ find_libprovides() {
for p in "${provides[@]}"; do
@@ -534,30 +523,23 @@ find_libprovides() {
missing=0
versioned_provides=()
case "$p" in
- *.so)
- mapfile -t filename < <(find "$pkgdir" -type f -name $p\* | LC_ALL=C sort)
@@ -494,7 +506,6 @@ index c9e381d..86616de 100644
- 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"
- libprovides+=("$p")
- continue
- fi
-
@@ -504,10 +515,9 @@ index c9e381d..86616de 100644
- # extract the library major version
- local soversion="${sofile##*\.so\.}"
-
- libprovides+=("${p}=${soversion}-${soarch}")
- versioned_provides+=("${p}=${soversion}-${soarch}")
- else
- warning "$(gettext "Library listed in %s is not a shared object: %s")" "'provides'" "$p"
- libprovides+=("$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')
@@ -520,11 +530,11 @@ index c9e381d..86616de 100644
+ ;;
+ esac
+
+ libprovides+=("${p}=${soarch}")
+ versioned_provides+=("${p}=${soarch}")
done
else
libprovides+=("$p")
@@ -589,7 +568,6 @@ write_pkginfo() {
missing=1
@@ -597,7 +579,6 @@ write_pkginfo() {
merge_arch_attrs
printf "# Generated by makepkg %s\n" "$makepkg_version"
@@ -532,7 +542,7 @@ index c9e381d..86616de 100644
write_kv_pair "pkgname" "$pkgname"
write_kv_pair "pkgbase" "$pkgbase"
@@ -739,7 +717,7 @@ create_debug_package() {
@@ -750,7 +731,7 @@ create_debug_package() {
local pkgdir="$pkgdirbase/$pkgbase-@DEBUGSUFFIX@"
# check if we have any debug symbols to package
@@ -541,7 +551,7 @@ index c9e381d..86616de 100644
return 0
fi
@@ -928,6 +906,11 @@ restore_package_variables() {
@@ -939,6 +920,11 @@ restore_package_variables() {
run_single_packaging() {
local pkgdir="$pkgdirbase/$pkgname"
@@ -553,7 +563,7 @@ index c9e381d..86616de 100644
mkdir "$pkgdir"
if [[ -n $1 ]] || (( PKGFUNC )); then
run_package $1
@@ -1021,12 +1004,16 @@ if ! type -p gettext >/dev/null; then
@@ -1032,12 +1018,16 @@ if ! type -p gettext >/dev/null; then
gettext() {
printf "%s\n" "$@"
}
@@ -571,7 +581,7 @@ index c9e381d..86616de 100644
OPT_LONG=('allsource' 'check' 'clean' 'cleanbuild' 'config:' 'force' 'geninteg'
'help' 'holdver' 'ignorearch' 'install' 'key:' 'log' 'noarchive' 'nobuild'
'nocolor' 'nocheck' 'nodeps' 'noextract' 'noprepare' 'nosign' 'packagelist'
@@ -1060,7 +1047,6 @@ while true; do
@@ -1071,7 +1061,6 @@ while true; do
-d|--nodeps) NODEPS=1 ;;
-e|--noextract) NOEXTRACT=1 ;;
-f|--force) FORCE=1 ;;
@@ -579,7 +589,7 @@ index c9e381d..86616de 100644
# generating integrity checks does not depend on architecture
-g|--geninteg) BUILDPKG=0 GENINTEG=1 IGNOREARCH=1;;
--holdver) HOLDVER=1 ;;
@@ -1175,19 +1161,6 @@ if (( LOGGING )) && ! ensure_writable_dir "LOGDEST" "$LOGDEST"; then
@@ -1186,19 +1175,6 @@ if (( LOGGING )) && ! ensure_writable_dir "LOGDEST" "$LOGDEST"; then
exit $E_FS_PERMISSIONS
fi
@@ -599,7 +609,7 @@ index c9e381d..86616de 100644
unset pkgname "${pkgbuild_schema_strings[@]}" "${pkgbuild_schema_arrays[@]}"
unset "${known_hash_algos[@]/%/sums}"
unset -f pkgver prepare build check package "${!package_@}"
@@ -1308,29 +1281,6 @@ if (( ! PKGVERFUNC )); then
@@ -1319,29 +1295,6 @@ if (( ! PKGVERFUNC )); then
check_build_status
fi
@@ -629,7 +639,7 @@ index c9e381d..86616de 100644
msg "$(gettext "Making package: %s")" "$pkgbase $basever ($(date +%c))"
# if we are creating a source-only package, go no further
@@ -1354,7 +1304,7 @@ if (( SOURCEONLY )); then
@@ -1365,7 +1318,7 @@ if (( SOURCEONLY )); then
check_source_integrity all
cd_safe "$startdir"
@@ -638,7 +648,7 @@ index c9e381d..86616de 100644
if [[ $SIGNPKG = 'y' ]]; then
msg "$(gettext "Signing package...")"
@@ -1404,6 +1354,9 @@ mkdir -p "$srcdir"
@@ -1415,6 +1368,9 @@ mkdir -p "$srcdir"
chmod a-s "$srcdir"
cd_safe "$srcdir"
@@ -648,7 +658,7 @@ index c9e381d..86616de 100644
if (( !REPKG )); then
if (( NOEXTRACT && ! VERIFYSOURCE )); then
warning "$(gettext "Using existing %s tree")" "\$srcdir/"
@@ -1456,17 +1409,25 @@ else
@@ -1467,15 +1423,23 @@ else
cd_safe "$startdir"
fi
@@ -666,23 +676,21 @@ index c9e381d..86616de 100644
+ else
+ run_split_packaging
+ fi
+
+ create_debug_package
create_package_signatures || exit $E_PRETTY_BAD_PRIVACY
fi
- create_package_signatures || exit $E_PRETTY_BAD_PRIVACY
-fi
+ create_debug_package
-# if inhibiting archive creation, go no further
-if (( NOARCHIVE )); then
- msg "$(gettext "Package directory is ready.")"
- exit $E_OK
-fi
-
msg "$(gettext "Finished making: %s")" "$pkgbase $basever ($(date +%c))"
+ create_package_signatures || exit $E_PRETTY_BAD_PRIVACY
fi
install_package && exit $E_OK || exit $E_INSTALL_FAILED
msg "$(gettext "Finished making: %s")" "$pkgbase $basever ($(date +%c))"
diff --git a/scripts/pacman-db-upgrade.sh.in b/scripts/pacman-db-upgrade.sh.in
index af3b17c..d3e2e13 100644
index 550d9f9..c1cb200 100644
--- a/scripts/pacman-db-upgrade.sh.in
+++ b/scripts/pacman-db-upgrade.sh.in
@@ -1,4 +1,4 @@
@@ -690,8 +698,8 @@ index af3b17c..d3e2e13 100644
+#!/usr/bin/env bash
#
# pacman-db-upgrade - upgrade the local pacman db to a newer format
# @configure_input@
@@ -79,9 +79,13 @@ resolve_dir() {
#
@@ -78,9 +78,13 @@ resolve_dir() {
# PROGRAM START
# determine whether we have gettext; make it a no-op if we do not
@@ -707,7 +715,7 @@ index af3b17c..d3e2e13 100644
}
fi
@@ -138,7 +142,7 @@ lockfile="${dbroot}/db.lck"
@@ -137,7 +141,7 @@ lockfile="${dbroot}/db.lck"
# make sure pacman isn't running
if [[ -f $lockfile ]]; then
@@ -717,7 +725,7 @@ index af3b17c..d3e2e13 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 3962a57..1bdc5d7 100644
index 5034264..c923244 100644
--- a/scripts/pacman-key.sh.in
+++ b/scripts/pacman-key.sh.in
@@ -1,4 +1,4 @@
@@ -726,7 +734,7 @@ index 3962a57..1bdc5d7 100644
#
# pacman-key - manages pacman's keyring
# Based on apt-key, from Debian
@@ -31,6 +31,7 @@ LIBRARY=${LIBRARY:-'@libmakepkgdir@'}
@@ -30,6 +30,7 @@ LIBRARY=${LIBRARY:-'@libmakepkgdir@'}
# Import libmakepkg
source "$LIBRARY"/util/message.sh
source "$LIBRARY"/util/parseopts.sh
@@ -734,7 +742,7 @@ index 3962a57..1bdc5d7 100644
# Options
ADD=0
@@ -237,7 +238,7 @@ check_keyring() {
@@ -265,7 +266,7 @@ check_keyring() {
exit 1
fi
@@ -743,7 +751,7 @@ index 3962a57..1bdc5d7 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"
@@ -390,7 +391,7 @@ import_trustdb() {
@@ -428,7 +429,7 @@ import_trustdb() {
local ret=0
for importdir in "$@"; do
if [[ -f "${importdir}/trustdb.gpg" ]]; then
@@ -752,7 +760,7 @@ index 3962a57..1bdc5d7 100644
"${GPG_PACMAN[@]}" --import-ownertrust -
if (( PIPESTATUS )); then
error "$(gettext "%s could not be imported.")" "${importdir}/trustdb.gpg"
@@ -530,10 +531,14 @@ updatedb() {
@@ -603,10 +604,14 @@ updatedb() {
fi
}
@@ -770,7 +778,7 @@ index 3962a57..1bdc5d7 100644
}
fi
@@ -596,11 +601,6 @@ if ! type -p gpg >/dev/null; then
@@ -670,11 +675,6 @@ if ! type -p gpg >/dev/null; then
exit 1
fi
@@ -783,7 +791,7 @@ index 3962a57..1bdc5d7 100644
if [[ ! -r "${CONFIG}" ]]; then
error "$(gettext "%s configuration file '%s' not found.")" "pacman" "$CONFIG"
diff --git a/scripts/repo-add.sh.in b/scripts/repo-add.sh.in
index b0b3505..d8a539e 100644
index d393839..a231699 100644
--- a/scripts/repo-add.sh.in
+++ b/scripts/repo-add.sh.in
@@ -1,4 +1,4 @@
@@ -793,14 +801,14 @@ index b0b3505..d8a539e 100644
# repo-add - add a package to a given repo database file
# repo-remove - remove a package entry from a given repo database file
@@ -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
# ensure we have a sane umask set
umask 0022
@@ -571,9 +572,13 @@ clean_up() {
@@ -562,9 +563,13 @@ clean_up() {
# PROGRAM START
# determine whether we have gettext; make it a no-op if we do not
@@ -817,7 +825,7 @@ index b0b3505..d8a539e 100644
fi
diff --git a/scripts/wrapper.sh.in b/scripts/wrapper.sh.in
index 2a041d5..5c9f111 100644
index 1b28b84..504db36 100644
--- a/scripts/wrapper.sh.in
+++ b/scripts/wrapper.sh.in
@@ -1,4 +1,4 @@
@@ -827,10 +835,10 @@ index 2a041d5..5c9f111 100644
# @PROGNAME@ - a wrapper for running the real @PROGNAME@ in the source tree
#
diff --git a/src/pacman/callback.c b/src/pacman/callback.c
index 548e2df..a46f406 100644
index 75c74f8..2f07512 100644
--- a/src/pacman/callback.c
+++ b/src/pacman/callback.c
@@ -98,8 +98,11 @@ static int64_t get_update_timediff(int first_call)
@@ -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)
{
@@ -845,7 +853,7 @@ index 548e2df..a46f406 100644
static int lasthash = 0, mouth = 0;
int i;
diff --git a/src/pacman/check.c b/src/pacman/check.c
index 6b4fdcb..543dd31 100644
index 091055f..188f515 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,
@@ -865,10 +873,10 @@ index 6b4fdcb..543dd31 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 d58c428..c5d629c 100644
index e398855..36c3b5e 100644
--- a/src/pacman/pacman.c
+++ b/src/pacman/pacman.c
@@ -1082,7 +1082,9 @@ static void cl_to_log(int argc, char *argv[])
@@ -1086,7 +1086,9 @@ static void cl_to_log(int argc, char *argv[])
int main(int argc, char *argv[])
{
int ret = 0;
@@ -876,9 +884,9 @@ index d58c428..c5d629c 100644
uid_t myuid = getuid();
+#endif
console_cursor_hide();
install_segv_handler();
@@ -1125,11 +1127,13 @@ int main(int argc, char *argv[])
@@ -1130,11 +1132,13 @@ int main(int argc, char *argv[])
cleanup(ret);
}
@@ -890,13 +898,13 @@ index d58c428..c5d629c 100644
}
+#endif
if(config->sysroot && (chroot(config->sysroot) != 0 || chdir("/") != 0)) {
pm_printf(ALPM_LOG_ERROR,
/* 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 ed6eab6..5ce752e 100644
index 94b0930..f008f22 100644
--- a/test/pacman/pmtest.py
+++ b/test/pacman/pmtest.py
@@ -234,19 +234,6 @@ class pmtest(object):
@@ -239,19 +239,6 @@ class pmtest(object):
vprint("\tpacman %s" % self.args)
cmd = []
@@ -916,7 +924,7 @@ index ed6eab6..5ce752e 100644
if pacman["gdb"]:
cmd.extend(["libtool", "execute", "gdb", "--args"])
if pacman["valgrind"]:
@@ -287,8 +274,10 @@ class pmtest(object):
@@ -294,8 +281,10 @@ class pmtest(object):
# 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,4 +1,4 @@
From 0ebccf0918aa77de75972754d43e02b717e308cd Mon Sep 17 00:00:00 2001
From 199cda753aa669f0d3f547a647aa107d2c879a05 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 02/N] More debugging info
@@ -8,10 +8,10 @@ Subject: [PATCH 02/N] More debugging info
1 file changed, 19 insertions(+), 2 deletions(-)
diff --git a/lib/libalpm/util.c b/lib/libalpm/util.c
index 00a6acb..6f6cd2e 100644
index 299d287..533ed49 100644
--- a/lib/libalpm/util.c
+++ b/lib/libalpm/util.c
@@ -303,6 +303,23 @@ int _alpm_unpack_single(alpm_handle_t *handle, const char *archive,
@@ -304,6 +304,23 @@ int _alpm_unpack_single(alpm_handle_t *handle, const char *archive,
return ret;
}
@@ -35,7 +35,7 @@ index 00a6acb..6f6cd2e 100644
/** Unpack a list of files in an archive.
* @param handle the context handle
* @param path the archive to unpack
@@ -655,7 +672,7 @@ int _alpm_run_chroot(alpm_handle_t *handle, const char *cmd, char *const argv[],
@@ -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 */
@@ -44,7 +44,7 @@ index 00a6acb..6f6cd2e 100644
exit(1);
} else {
/* this code runs for the parent only (wait on the child) */
@@ -744,7 +761,7 @@ int _alpm_run_chroot(alpm_handle_t *handle, const char *cmd, char *const argv[],
@@ -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) {

View File

@@ -1,4 +1,4 @@
From 16ca714fdcce63c7bc5b51616ccb4a56e19ec537 Mon Sep 17 00:00:00 2001
From c9f803da1263c918c691c6b330acc747ac2baf95 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 03/N] Core update
@@ -6,16 +6,16 @@ Subject: [PATCH 03/N] Core update
---
lib/libalpm/alpm.h | 9 +++
lib/libalpm/package.c | 16 +++++
lib/libalpm/sync.c | 24 +++++++
src/pacman/sighandler.c | 14 ++++
lib/libalpm/sync.c | 25 +++++++
src/pacman/sighandler.c | 16 ++++-
src/pacman/sync.c | 140 ++++++++++++++++++++++++++++++++++++++++
5 files changed, 203 insertions(+)
5 files changed, 205 insertions(+), 1 deletion(-)
diff --git a/lib/libalpm/alpm.h b/lib/libalpm/alpm.h
index fd207b5..2219f5e 100644
index a5f4a6a..c65bc6e 100644
--- a/lib/libalpm/alpm.h
+++ b/lib/libalpm/alpm.h
@@ -1506,6 +1506,15 @@ int alpm_trans_release(alpm_handle_t *handle);
@@ -2805,6 +2805,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,10 +32,10 @@ index fd207b5..2219f5e 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 510d812..ed46c28 100644
index f837f84..8f592ad 100644
--- a/lib/libalpm/package.c
+++ b/lib/libalpm/package.c
@@ -793,3 +793,19 @@ int SYMEXPORT alpm_pkg_should_ignore(alpm_handle_t *handle, alpm_pkg_t *pkg)
@@ -803,3 +803,19 @@ int SYMEXPORT alpm_pkg_should_ignore(alpm_handle_t *handle, alpm_pkg_t *pkg)
return 0;
}
@@ -56,13 +56,14 @@ index 510d812..ed46c28 100644
+}
+#endif
diff --git a/lib/libalpm/sync.c b/lib/libalpm/sync.c
index a596945..bb95570 100644
index 36ad624..88f1fc6 100644
--- a/lib/libalpm/sync.c
+++ b/lib/libalpm/sync.c
@@ -201,7 +201,12 @@ static alpm_list_t *check_replacers(alpm_handle_t *handle, alpm_pkg_t *lpkg,
@@ -197,7 +197,13 @@ static alpm_list_t *check_replacers(alpm_handle_t *handle, alpm_pkg_t *lpkg,
return replacers;
}
/** Search for packages to upgrade and add them to the transaction. */
+/** Search for packages to upgrade and add them to the transaction. */
+#ifdef __MSYS__
+static
+int SYMEXPORT do_alpm_sync_sysupgrade(alpm_handle_t *handle, int enable_downgrade, int core_update)
@@ -72,7 +73,7 @@ index a596945..bb95570 100644
{
alpm_list_t *i, *j;
alpm_trans_t *trans;
@@ -215,6 +220,13 @@ int SYMEXPORT alpm_sync_sysupgrade(alpm_handle_t *handle, int enable_downgrade)
@@ -211,6 +217,13 @@ int SYMEXPORT alpm_sync_sysupgrade(alpm_handle_t *handle, int enable_downgrade)
for(i = _alpm_db_get_pkgcache(handle->db_local); i; i = i->next) {
alpm_pkg_t *lpkg = i->data;
@@ -86,7 +87,7 @@ index a596945..bb95570 100644
if(alpm_pkg_find(trans->remove, lpkg->name)) {
_alpm_log(handle, ALPM_LOG_DEBUG, "%s is marked for removal -- skipping\n", lpkg->name);
continue;
@@ -256,6 +268,18 @@ int SYMEXPORT alpm_sync_sysupgrade(alpm_handle_t *handle, int enable_downgrade)
@@ -252,6 +265,18 @@ int SYMEXPORT alpm_sync_sysupgrade(alpm_handle_t *handle, int enable_downgrade)
return 0;
}
@@ -102,11 +103,11 @@ index a596945..bb95570 100644
+}
+#endif
+
/** Find group members across a list of databases.
* If a member exists in several databases, only the first database is used.
* IgnorePkg is also handled.
alpm_list_t SYMEXPORT *alpm_find_group_pkgs(alpm_list_t *dbs,
const char *name)
{
diff --git a/src/pacman/sighandler.c b/src/pacman/sighandler.c
index 46e6481..c152eea 100644
index ff54dce..15f4350 100644
--- a/src/pacman/sighandler.c
+++ b/src/pacman/sighandler.c
@@ -21,6 +21,10 @@
@@ -120,17 +121,20 @@ index 46e6481..c152eea 100644
#include <alpm.h>
#include "conf.h"
@@ -53,6 +57,9 @@ static void _reset_handler(int signum)
@@ -53,8 +57,11 @@ static void _reset_handler(int signum)
*/
static void soft_interrupt_handler(int signum)
{
- console_cursor_move_end();
+#ifdef __MSYS__
+ struct termios term;
+#endif
+ console_cursor_move_end();
if(signum == SIGINT) {
const char msg[] = "\nInterrupt signal received\n";
xwrite(STDERR_FILENO, msg, ARRAYSIZE(msg) - 1);
@@ -65,6 +72,13 @@ static void soft_interrupt_handler(int signum)
@@ -69,6 +76,13 @@ static void soft_interrupt_handler(int signum)
return;
}
alpm_unlock(config->handle);
@@ -145,7 +149,7 @@ index 46e6481..c152eea 100644
xwrite(STDOUT_FILENO, "\n", 1);
_Exit(128 + signum);
diff --git a/src/pacman/sync.c b/src/pacman/sync.c
index 0473f4e..0d39a37 100644
index b6da1a3..2dd8e18 100644
--- a/src/pacman/sync.c
+++ b/src/pacman/sync.c
@@ -28,6 +28,12 @@
@@ -161,7 +165,7 @@ index 0473f4e..0d39a37 100644
#include <alpm.h>
#include <alpm_list.h>
@@ -680,8 +686,134 @@ cleanup:
@@ -689,8 +695,134 @@ cleanup:
return ret;
}
@@ -296,7 +300,7 @@ index 0473f4e..0d39a37 100644
int retval = 0;
alpm_list_t *i;
@@ -704,6 +836,14 @@ static int sync_trans(alpm_list_t *targets)
@@ -713,6 +845,14 @@ static int sync_trans(alpm_list_t *targets)
}
if(config->op_s_upgrade) {

View File

@@ -1,4 +1,4 @@
From 66df8638f4b4b83905b939027de4fdae990c666e Mon Sep 17 00:00:00 2001
From 4f81dae3a063f8ead1b33fa40c6461dffef9fc3f 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 04/N] Remove ldconfig
@@ -22,10 +22,10 @@ Subject: [PATCH 04/N] Remove ldconfig
delete mode 100644 test/pacman/tests/ldconfig003.py
diff --git a/lib/libalpm/add.c b/lib/libalpm/add.c
index 1e330ca..d30777a 100644
index f0af886..174e051 100644
--- a/lib/libalpm/add.c
+++ b/lib/libalpm/add.c
@@ -663,7 +663,10 @@ cleanup:
@@ -657,7 +657,10 @@ static int commit_single_pkg(alpm_handle_t *handle, alpm_pkg_t *newpkg,
int _alpm_upgrade_packages(alpm_handle_t *handle)
{
size_t pkg_count, pkg_current;
@@ -37,7 +37,7 @@ index 1e330ca..d30777a 100644
alpm_list_t *targ;
alpm_trans_t *trans = handle->trans;
@@ -686,18 +689,22 @@ int _alpm_upgrade_packages(alpm_handle_t *handle)
@@ -680,18 +683,22 @@ int _alpm_upgrade_packages(alpm_handle_t *handle)
/* something screwed up on the commit, abort the trans */
trans->state = STATE_INTERRUPTED;
handle->pm_errno = ALPM_ERR_TRANS_ABORT;
@@ -61,10 +61,10 @@ index 1e330ca..d30777a 100644
return ret;
}
diff --git a/lib/libalpm/remove.c b/lib/libalpm/remove.c
index e891550..e0617cf 100644
index de39724..e7d9cc2 100644
--- a/lib/libalpm/remove.c
+++ b/lib/libalpm/remove.c
@@ -773,18 +773,22 @@ int _alpm_remove_packages(alpm_handle_t *handle, int run_ldconfig)
@@ -765,18 +765,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 e891550..e0617cf 100644
return ret;
}
diff --git a/lib/libalpm/util.c b/lib/libalpm/util.c
index 6f6cd2e..87c3acd 100644
index 533ed49..fecee3a 100644
--- a/lib/libalpm/util.c
+++ b/lib/libalpm/util.c
@@ -788,6 +788,7 @@ cleanup:
@@ -796,6 +796,7 @@ cleanup:
return retval;
}
@@ -99,7 +99,7 @@ index 6f6cd2e..87c3acd 100644
/** Run ldconfig in a chroot.
* @param handle the context handle
* @return 0 on success, 1 on error
@@ -811,6 +812,7 @@ int _alpm_ldconfig(alpm_handle_t *handle)
@@ -819,6 +820,7 @@ int _alpm_ldconfig(alpm_handle_t *handle)
return 0;
}
@@ -118,7 +118,7 @@ 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 4e87b4f..dcc7800 100644
index 0e75b3e..6b79400 100644
--- a/test/pacman/meson.build
+++ b/test/pacman/meson.build
@@ -79,9 +79,6 @@ pacman_tests = [
@@ -131,7 +131,7 @@ index 4e87b4f..dcc7800 100644
'tests/mode001.py',
'tests/mode002.py',
'tests/mode003.py',
@@ -336,7 +333,6 @@ foreach input : pacman_tests
@@ -354,7 +351,6 @@ foreach input : pacman_tests
join_paths(meson.current_source_dir(), 'pactest.py'),
'--scriptlet-shell', get_option('scriptlet-shell'),
'--bindir', meson.build_root(),
@@ -140,7 +140,7 @@ index 4e87b4f..dcc7800 100644
join_paths(meson.current_source_dir(), input)
]
diff --git a/test/pacman/pactest.py b/test/pacman/pactest.py
index bd53b05..ac21840 100755
index 184f94d..5e042fd 100755
--- a/test/pacman/pactest.py
+++ b/test/pacman/pactest.py
@@ -104,9 +104,6 @@ def create_parser():
@@ -153,7 +153,7 @@ index bd53b05..ac21840 100755
parser.add_option("--review", action = "store_true",
dest = "review", default = False,
help = "review test files, test output, and saved logs")
@@ -145,7 +142,6 @@ if __name__ == "__main__":
@@ -146,7 +143,6 @@ if __name__ == "__main__":
env.pacman["valgrind"] = opts.valgrind
env.pacman["manual-confirm"] = opts.manualconfirm
env.pacman["scriptlet-shell"] = opts.scriptletshell
@@ -162,10 +162,10 @@ index bd53b05..ac21840 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 5ce752e..a0cc61b 100644
index f008f22..e6a3fbd 100644
--- a/test/pacman/pmtest.py
+++ b/test/pacman/pmtest.py
@@ -129,12 +129,10 @@ class pmtest(object):
@@ -133,12 +133,10 @@ class pmtest(object):
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 5ce752e..a0cc61b 100644
for sys_dir in sys_dirs:
if not os.path.isdir(sys_dir):
vprint("\t%s" % sys_dir[len(self.root)+1:])
@@ -143,10 +141,6 @@ class pmtest(object):
@@ -147,10 +145,6 @@ class pmtest(object):
shutil.copy("/bin/sh", bindir)
if shell != "bin/sh":
shutil.copy("/bin/sh", os.path.join(self.root, shell))

View File

@@ -1,4 +1,4 @@
From e4c5d56bfa4ca985b74563e26c00b6fd2c01807a Mon Sep 17 00:00:00 2001
From 5996ca7d3d9a06e412b8fbbc24a198cc1708c5a9 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 05/N] Change the epoch separator
@@ -9,7 +9,7 @@ Subject: [PATCH 05/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 a518a69..66b1db1 100644
index 00cc779..6b9d05d 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,
@@ -24,7 +24,7 @@ index a518a69..66b1db1 100644
epoch = evr;
*s++ = '\0';
version = s;
@@ -250,7 +254,7 @@ int SYMEXPORT alpm_pkg_vercmp(const char *a, const char *b)
@@ -236,7 +240,7 @@ int SYMEXPORT alpm_pkg_vercmp(const char *a, const char *b)
return 0;
}
@@ -34,7 +34,7 @@ index a518a69..66b1db1 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 93bae4e..17f4f6f 100644
index c52b3eb..2650407 100644
--- a/scripts/libmakepkg/util/pkgbuild.sh.in
+++ b/scripts/libmakepkg/util/pkgbuild.sh.in
@@ -164,7 +164,11 @@ get_pkgbuild_all_split_attributes() {

View File

@@ -1,4 +1,4 @@
From e30c5a2fe51c570a93ea691033d4260426fb7733 Mon Sep 17 00:00:00 2001
From 6dd4d53cb54a8dcd6b849f660fa9ebd2fcc186f0 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 06/N] makepkg: avoid creating .tar files with 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 86616de..6baeddf 100644
index 6c8446b..7ad3a0e 100644
--- a/scripts/makepkg.sh.in
+++ b/scripts/makepkg.sh.in
@@ -697,7 +697,7 @@ create_package() {
@@ -711,7 +711,7 @@ create_package() {
msg2 "$(gettext "Compressing package...")"
# TODO: Maybe this can be set globally for robustness
shopt -s -o pipefail

View File

@@ -1,4 +1,4 @@
From c82f2a24e92f71badcf0236e5aa7971116493519 Mon Sep 17 00:00:00 2001
From c333d6a418a36cd9851ea97456d0988f20c4f00b 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 07/N] pacman/libalpm: ignore file conflicts for foo.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 7e986f1..c5d006b 100644
index b471bf2..f7fa9d8 100644
--- a/lib/libalpm/conflict.c
+++ b/lib/libalpm/conflict.c
@@ -535,6 +535,32 @@ alpm_list_t *_alpm_db_find_fileconflicts(alpm_handle_t *handle,
@@ -521,6 +521,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,4 +1,4 @@
From 65cf1b7e2d10f35e0d0a00c3939e6ee71e12dba5 Mon Sep 17 00:00:00 2001
From 53b98e1abfddc6c560252e2cab90bd4076fa0ce7 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 08/N] Change default answer of all queries to yes
@@ -14,10 +14,10 @@ See https://github.com/Alexpux/MSYS2-packages/issues/1141
3 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/src/pacman/callback.c b/src/pacman/callback.c
index a46f406..3d2fb44 100644
index 2f07512..d360ae5 100644
--- a/src/pacman/callback.c
+++ b/src/pacman/callback.c
@@ -398,12 +398,12 @@ void cb_question(alpm_question_t *question)
@@ -482,12 +482,12 @@ 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) {
@@ -32,7 +32,7 @@ index a46f406..3d2fb44 100644
q->conflict->package1,
q->conflict->package2,
q->conflict->reason->name,
@@ -427,7 +427,7 @@ void cb_question(alpm_question_t *question)
@@ -511,7 +511,7 @@ void cb_question(void *ctx, alpm_question_t *question)
count));
list_display(" ", namelist, getcols());
printf("\n");
@@ -42,7 +42,7 @@ index a46f406..3d2fb44 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 9920f50..4c70d26 100644
index e8f4e3e..0c6a2e0 100644
--- a/src/pacman/remove.c
+++ b/src/pacman/remove.c
@@ -140,7 +140,7 @@ int pacman_remove(alpm_list_t *targets)
@@ -55,10 +55,10 @@ index 9920f50..4c70d26 100644
goto cleanup;
}
diff --git a/src/pacman/sync.c b/src/pacman/sync.c
index 0d39a37..41ee123 100644
index 2dd8e18..a5cc23b 100644
--- a/src/pacman/sync.c
+++ b/src/pacman/sync.c
@@ -194,7 +194,7 @@ static int sync_cleancache(int level)
@@ -195,7 +195,7 @@ static int sync_cleancache(int level)
}
printf(_("removing old packages from cache...\n"));
} else {

View File

@@ -1,4 +1,4 @@
From 9d1ea56b893e8460587a0d9f613cf447265647fc Mon Sep 17 00:00:00 2001
From bd7e96c46082b805482909820110c122647d1ec8 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 09/N] Use pipe instead of socket
@@ -8,7 +8,7 @@ Subject: [PATCH 09/N] Use pipe instead of socket
1 file changed, 26 insertions(+)
diff --git a/lib/libalpm/util.c b/lib/libalpm/util.c
index 87c3acd..6452eca 100644
index fecee3a..ce28fd8 100644
--- a/lib/libalpm/util.c
+++ b/lib/libalpm/util.c
@@ -30,7 +30,9 @@
@@ -20,8 +20,8 @@ index 87c3acd..6452eca 100644
+#endif
#include <fnmatch.h>
#include <poll.h>
@@ -481,6 +483,9 @@ static int _alpm_chroot_write_to_child(alpm_handle_t *handle, int fd,
#include <signal.h>
@@ -483,6 +485,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 87c3acd..6452eca 100644
if(*buf_size == 0) {
/* empty buffer, ask the callback for more */
@@ -490,7 +495,20 @@ static int _alpm_chroot_write_to_child(alpm_handle_t *handle, int fd,
@@ -492,7 +497,20 @@ static int _alpm_chroot_write_to_child(alpm_handle_t *handle, int fd,
}
}
@@ -52,7 +52,7 @@ index 87c3acd..6452eca 100644
if(nwrite != -1) {
/* write was successful, remove the written data from the buffer */
@@ -622,13 +640,21 @@ int _alpm_run_chroot(alpm_handle_t *handle, const char *cmd, char *const argv[],
@@ -630,13 +648,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,4 +1,4 @@
From bb14cd639cef1da7e51b9f2a4351725b3618082a Mon Sep 17 00:00:00 2001
From 117d01c5445ac34b59877f65cd8fe3c7966a2be5 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 10/N] pacman: make file list comparisons between packages
@@ -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 4a534b0..34a771a 100644
index 07239c3..9c044b5 100644
--- a/lib/libalpm/filelist.c
+++ b/lib/libalpm/filelist.c
@@ -25,6 +25,43 @@

View File

@@ -1,4 +1,4 @@
From b6a59bd96f1cee3cf3796b2046fb1751acd59bde Mon Sep 17 00:00:00 2001
From 90ed4dadb89df170b486ec36ff8bb33df94c5d77 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 11/N] Translate MSYS2 specific messages into Japanese
@@ -8,10 +8,10 @@ Subject: [PATCH 11/N] Translate MSYS2 specific messages into Japanese
1 file changed, 24 insertions(+)
diff --git a/src/pacman/po/ja.po b/src/pacman/po/ja.po
index 40ce7f3..477fd6f 100644
index d1851ea..60fc8fa 100644
--- a/src/pacman/po/ja.po
+++ b/src/pacman/po/ja.po
@@ -1439,6 +1439,30 @@ msgid "'%s' is a file, did you mean %s instead of %s?\n"
@@ -1493,6 +1493,30 @@ msgid "'%s' is a file, did you mean %s instead of %s?\n"
msgstr ""
"'%s' はファイルです、あなたが行いたいのは %s で %s ではありませんか?\n"
@@ -39,7 +39,7 @@ index 40ce7f3..477fd6f 100644
+msgid "terminating MSYS2 processes failed\n"
+msgstr "MSYS2 プロセスの終了に失敗しました\n"
+
#: src/pacman/sync.c:708
#: src/pacman/sync.c:717
#, c-format
msgid "Starting full system upgrade...\n"
--

View File

@@ -1,4 +1,4 @@
From 6734419a33ad66f1fc2f399315af4577ff96af60 Mon Sep 17 00:00:00 2001
From c696f04399c0b08cf1909a7bef482898c83cc288 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 12/N] Workaround compressing packages with bsdtar under
@@ -6,14 +6,14 @@ Subject: [PATCH 12/N] Workaround compressing packages with bsdtar under
---
scripts/makepkg.sh.in | 4 ++--
scripts/repo-add.sh.in | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
scripts/repo-add.sh.in | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
index 6baeddf..5ff6607 100644
index 7ad3a0e..1a6acc1 100644
--- a/scripts/makepkg.sh.in
+++ b/scripts/makepkg.sh.in
@@ -697,7 +697,7 @@ create_package() {
@@ -711,7 +711,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 6baeddf..5ff6607 100644
compress_as "$PKGEXT" > "${pkg_file}" || ret=$?
shopt -u -o pipefail
@@ -792,7 +792,7 @@ create_srcpackage() {
@@ -806,7 +806,7 @@ create_srcpackage() {
# TODO: Maybe this can be set globally for robustness
shopt -s -o pipefail
@@ -32,23 +32,18 @@ index 6baeddf..5ff6607 100644
shopt -u -o pipefail
diff --git a/scripts/repo-add.sh.in b/scripts/repo-add.sh.in
index d8a539e..c9d93d4 100644
index a231699..8d6d32d 100644
--- a/scripts/repo-add.sh.in
+++ b/scripts/repo-add.sh.in
@@ -535,11 +535,11 @@ create_db() {
pushd "$tmpdir/$repo" >/dev/null
if ( shopt -s nullglob; files=(*); (( ${#files[*]} )) ); then
- bsdtar -c ${TAR_OPT} -f "$tempname" *
+ bsdtar --uid 1 --uname root --gid 1 --gname root -c ${TAR_OPT} -f "$tempname" *
else
# we have no packages remaining? zip up some emptyness
@@ -531,7 +531,7 @@ create_db() {
warning "$(gettext "No packages remain, creating empty database.")"
- bsdtar -c ${TAR_OPT} -f "$tempname" -T /dev/null
+ bsdtar --uid 1 --uname root --gid 1 --gname root -c ${TAR_OPT} -f "$tempname" -T /dev/null
files=(-T /dev/null)
fi
- bsdtar -cf - "${files[@]}" | compress_as "$filename" > "$tempname"
+ bsdtar --uid 1 --uname root --gid 1 --gname root -cf - "${files[@]}" | compress_as "$filename" > "$tempname"
popd >/dev/null
create_signature "$tempname"
--
2.31.1

View File

@@ -1,7 +1,7 @@
From 5a6b9dbc388c617b25c03628db46a19867575eda Mon Sep 17 00:00:00 2001
From 780fe2615c674a6516f2a88cb8d56cdc52f16910 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 14/N] Fix asciidoc argparse
Subject: [PATCH 13/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 a5bcd5b..a86f1bf 100644
index 4aaac55..157ee4d 100644
--- a/doc/meson.build
+++ b/doc/meson.build
@@ -57,7 +57,7 @@ foreach page : manpages
@@ -56,7 +56,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,60 +0,0 @@
From a844b07570a18bfd40a382ffada9193e2a3df73d Mon Sep 17 00:00:00 2001
From: Eli Schwartz <eschwartz@archlinux.org>
Date: Wed, 19 Jun 2019 17:53:57 -0400
Subject: [PATCH 13/N] build: add libintl dependency to meson and the .pc file
In order to use gettext on systems where it is not part of libc, the
correct linker flags are needed in libalpm.pc (for static compilation).
This has never been the case.
The new meson build system currently only checks for ngettext in libc,
but does not fall back to searching for the existence of -lintl; add it
to the libalpm dependencies.
Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
---
lib/libalpm/libalpm.pc.in | 2 +-
meson.build | 8 ++++++--
2 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/lib/libalpm/libalpm.pc.in b/lib/libalpm/libalpm.pc.in
index 126a6e6..da7f96a 100644
--- a/lib/libalpm/libalpm.pc.in
+++ b/lib/libalpm/libalpm.pc.in
@@ -10,4 +10,4 @@ Version: @LIB_VERSION@
Requires.private: libarchive @pc_crypto@ @pc_libcurl@ @pc_gpgme@
Cflags: -I${includedir} @LFS_CFLAGS@
Libs: -L${libdir} -lalpm
-Libs.private: @LIBS@ @pc_gpgme_libs@
+Libs.private: @LIBS@ @pc_gpgme_libs@ @LIBINTL@
diff --git a/meson.build b/meson.build
index 89362f2..ea6481a 100644
--- a/meson.build
+++ b/meson.build
@@ -79,9 +79,13 @@ conf.set_quoted('CACHEDIR', join_paths(LOCALSTATEDIR, 'cache/pacman/pkg/'))
conf.set_quoted('HOOKDIR', join_paths(SYSCONFDIR, 'pacman.d/hooks/'))
conf.set_quoted('ROOTDIR', ROOTDIR)
+libintl = dependency('', required: false)
if get_option('i18n')
if not cc.has_function('ngettext')
- error('ngettext not found but NLS support requested')
+ libintl = cc.find_library('intl', required : false, static: get_option('buildstatic'))
+ if not libintl.found()
+ error('ngettext not found but NLS support requested')
+ endif
endif
conf.set('ENABLE_NLS', 1)
endif
@@ -314,7 +318,7 @@ libcommon = static_library(
include_directories : includes,
install : false)
-alpm_deps = [crypto_provider, libarchive, libcurl, gpgme]
+alpm_deps = [crypto_provider, libarchive, libcurl, libintl, gpgme]
libalpm_a = static_library(
'alpm_objlib',
--
2.31.1

View File

@@ -1,7 +1,7 @@
From 7e27cd03ab69d20fd078a12f378711b2a26056da Mon Sep 17 00:00:00 2001
From 3edf5816a31f68df6aafe53f6cd34180ee0f4e3c Mon Sep 17 00:00:00 2001
From: Christoph Reiter <reiter.christoph@gmail.com>
Date: Fri, 21 May 2021 23:02:23 +0200
Subject: [PATCH 15/N] Remove fakeroot
Subject: [PATCH 14/N] Remove fakeroot
Currently we don't have fakeroot, so let's allow building without it. Most of
the patching is currently done in 0000-pacman-msysize.patch, these are just some

View File

@@ -1,7 +1,7 @@
From 367915b8c1352e0c380a9a37270a3a0dd27058a3 Mon Sep 17 00:00:00 2001
From 906c826826308b8cd342e0eee8821cade728cb22 Mon Sep 17 00:00:00 2001
From: Christoph Reiter <reiter.christoph@gmail.com>
Date: Fri, 21 May 2021 23:02:56 +0200
Subject: [PATCH 16/N] Remove sudo
Subject: [PATCH 15/N] Remove sudo
Currently we don't have sudo and most people have their MSYS2 roots
user-writable anyway, so let's completely remove the usage of sudo. Most of the

View File

@@ -1,7 +1,7 @@
From 5cdc97ce02770516db75c03a2ba5aac248b1e4b8 Mon Sep 17 00:00:00 2001
From f9f94e2ac7201bf8b4eabf6b3e826f6c09c0b904 Mon Sep 17 00:00:00 2001
From: Christoph Reiter <reiter.christoph@gmail.com>
Date: Fri, 21 May 2021 23:03:54 +0200
Subject: [PATCH 17/N] Use msys tools
Subject: [PATCH 16/N] Use msys tools
Some of the external tools pacman uses might unfortunately have incompatible
versions in PATH, e.g. when using makepkg-mingw. Let's always invoke them using

View File

@@ -1,7 +1,7 @@
From 046e01faeea7e0b1ea563f058aacaec946093f15 Mon Sep 17 00:00:00 2001
From cf62dcbf66047f134e7365b06644d37405509eea 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 19/N] Export CC and CXX variables explicitly
Subject: [PATCH 17/N] Export CC and CXX variables explicitly
See https://github.com/msys2/MSYS2-packages/pull/2501
---
@@ -10,7 +10,7 @@ See https://github.com/msys2/MSYS2-packages/pull/2501
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/scripts/libmakepkg/buildenv.sh.in b/scripts/libmakepkg/buildenv.sh.in
index 965b9c2..5d36b6b 100644
index b75d792..3b7d537 100644
--- a/scripts/libmakepkg/buildenv.sh.in
+++ b/scripts/libmakepkg/buildenv.sh.in
@@ -36,5 +36,5 @@ prepare_buildenv() {
@@ -21,7 +21,7 @@ index 965b9c2..5d36b6b 100644
+ export CC CXX CPPFLAGS CFLAGS CXXFLAGS LDFLAGS RUSTFLAGS MAKEFLAGS CHOST
}
diff --git a/scripts/libmakepkg/buildenv/buildflags.sh.in b/scripts/libmakepkg/buildenv/buildflags.sh.in
index 9814a54..e32bf21 100644
index 873dd82..4ba1dbc 100644
--- a/scripts/libmakepkg/buildenv/buildflags.sh.in
+++ b/scripts/libmakepkg/buildenv/buildflags.sh.in
@@ -30,6 +30,6 @@ buildenv_functions+=('buildenv_buildflags')

View File

@@ -0,0 +1,74 @@
From 91c0c2351dcfd8291e27db6823e9c93754855103 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 18/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/
--
2.31.1

View File

@@ -1,40 +0,0 @@
From f6e00ab089f39417c2d96a3b5d8be4dfbb570ae8 Mon Sep 17 00:00:00 2001
From: Pascal Ernster <pacman-dev@hardfalcon.net>
Date: Thu, 21 Jan 2021 03:49:58 +0100
Subject: [PATCH 18/N] pacman: correct length of ".files.sig" string
Running "pacman -Sc" deletes /var/lib/pacman/sync/*.files.sig due to a
wrong string length being used when checking filename suffixes in that
directory. In turn, these missing signature files cause both the
corresponding "*.files" files and their signatures being forcibly
re-downloaded again when "pacman -Sy" is executed.
Since official Arch Linux repos don't use signed database files yet, this
only affects people who use custom repos with signed database files, for
which they have set the "SigLevel" directive to "Required" or
"DatabaseRequired" in /etc/pacman.conf.
Fixes FS#66472
Signed-off-by: Pascal Ernster <pacman-dev@hardfalcon.net>
Signed-off-by: Allan McRae <allan@archlinux.org>
---
src/pacman/sync.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/pacman/sync.c b/src/pacman/sync.c
index 41ee123..b55e5b3 100644
--- a/src/pacman/sync.c
+++ b/src/pacman/sync.c
@@ -110,7 +110,7 @@ static int sync_cleandb(const char *dbpath)
dbname = strndup(dname, len - 7);
} else if(len > 6 && strcmp(dname + len - 6, ".files") == 0) {
dbname = strndup(dname, len - 6);
- } else if(len > 6 && strcmp(dname + len - 6, ".files.sig") == 0) {
+ } else if(len > 10 && strcmp(dname + len - 10, ".files.sig") == 0) {
dbname = strndup(dname, len - 10);
} else {
ret += unlink_verbose(path, 0);
--
2.31.1

View File

@@ -3,8 +3,8 @@
# Contributor: Ray Donnelly <mingw.android@gmail.com>
pkgname=pacman
pkgver=5.2.2
pkgrel=24
pkgver=6.0.0
pkgrel=1
pkgdesc="A library-based package manager with dependency support (MSYS2 port)"
arch=('i686' 'x86_64')
url="https://www.archlinux.org/pacman/"
@@ -53,39 +53,37 @@ source=(pacman-${pkgver}::git+https://git.archlinux.org/pacman.git#tag=v${pkgver
0010-pacman-make-file-list-comparisons-between-packages-c.patch
0011-Translate-MSYS2-specific-messages-into-Japanese.patch
0012-Workaround-compressing-packages-with-bsdtar-under-Ac.patch
0013-build-add-libintl-dependency-to-meson-and-the-.pc-fi.patch
0014-Fix-asciidoc-argparse.patch
0015-Remove-fakeroot.patch
0016-Remove-sudo.patch
0017-Use-msys-tools.patch
0018-pacman-correct-length-of-.files.sig-string.patch
0019-Export-CC-and-CXX-variables-explicitly.patch)
0013-Fix-asciidoc-argparse.patch
0014-Remove-fakeroot.patch
0015-Remove-sudo.patch
0016-Use-msys-tools.patch
0017-Export-CC-and-CXX-variables-explicitly.patch
0018-Add-a-CI-job.patch)
validpgpkeys=('6645B0A8C7005E78DB1D7864F99FFE0FEAE999BD' # Allan McRae <allan@archlinux.org>
'B8151B117037781095514CA7BBDFFC92306B1121') # Andrew Gregory (pacman) <andrew@archlinux.org>
sha256sums=('SKIP'
'f5a84c5642d57044ddb40387822bfcb01bdbdcd885b46bc93d116aaf0e5741a6'
'178ff34e13f7d558a4410f909667c07faeaf7a83b15b00e7db342c0796675733'
'b9ad2fb4b0e686b96db0a50d411f4d9344ec8950f50906fb502272037246e4b8'
'2ddaadb69e20699b48a6fa9b77b29117326d08aa4717d510c976664d4f02505b'
'ee9f8a5ec60a1334725adb102f531f38badfe1bb66bde82c4aeb3131a2becc2f'
'49452621003656e5ad09c5ed38d37f62187ede8b6456a2ba2919846b430dfb74'
'2bd27c3fc5443b367e5025c9b9a35670b02202e48e92eead90755fef8d08fa83'
'3b6e0dee7b5f1ff84ffffff1fb5cbc77bc6037212d92bd3fbffc91ff64aa732f'
'084ecde8013312553671ebe53dc8fcd1c1f987bbfaa31898e0f0cd5e637dc89d'
'635988f9138ea50f2eed81d596abc99c47d02f16db3e0c20ea65abf05869327f'
'7a8c08ea12206793b6e40576415d19cd6ffd27f3b6339caffd4074cf9d6794c3'
'37a7b1f97f527a14df3f791431af4777217ed52d34f1b74525f4ad4ce7d88dc2'
'3a91fa92465a771700b69275c2376760b487c057212638e6f79e374ebf15bd78'
'a00a4820a5a267901ee84165b4d5a4ad09dc540dbec56ddca5e1d60aba513fd4'
'309d602867b671d54752081308a14e7fcf33b7b15c34e4194036ade2fa90f9b4'
'3587f7891920bba891933ea8879d82fae397864f240ae3e029493fd91022d7e7'
'acc1d0e211c0f1aa5585f6f9250552f533786ee79c8a17d95bfc4998b10677d9'
'5fc5f39bc00ba65275dbdd2209bcb42d1251ec1c1e63f18891c909ac9c635209'
'6585f7db153ddd3b8201ee23af77bf9f716775e7c228ee360be46ea08aa61b5e'
'6506d8a010a65050927dcf4499fba058865ceb22b5c76af58421d4cdec7b4a17'
'a9797a3d73d18e0188f90fb58878e9ce5bef1661dd953da12a6cfb5a34d2e279'
'bd3acbae2c2f37d148d28cb424d1ab9491b8be4e0899b6deee4bbe8e11e14801'
'b3744175bf561ba178608c47a4bc75016ce358197e5cc184bf786cdd209580e6'
'2f22490f9021399c735e6dd83417206a834fb80e0eb586b66779ca53f76095d8'
'2b7dd9f9f4c39e2ee24d54318e1f608569d78c93e856c088592db34d5c3dab5f'
'0737f9cf11af9235c2242d1d9ec9280cf707e50290621ef4625c2512c1dae443')
'6dd930f5da349959deb128b0fa875da11184df90afe250a51862b39beffd1240'
'4986792235e02c62316d974e47059bcf1223c4a2d86efa1eb56d8ef6993988ad'
'd35854bf5a14984ddb57a36be6f4e9ac62748fa2bf10c8f844a8eb17402e8839'
'2bbeae9c91cd42f92956967b97b777e7f9bd2e2b9c160c767fc604b183571656'
'9cf5b82e00eb6ad3b79d4e7fc7a9cc824e5748bd0fd26a5a06478f2e9ca6f3e8'
'c5f2430aaff70e9aaf37fe54cbc2a557004f2ef74283adc51c6b99e3c9ec4801'
'49e746cb0ee391be3ef6d60de589f61cf25bcbfa16a49fd113a2445e5c559a9a'
'3ac53499f19e95bdb84ab9dad8a1c551b4bb75f940b8e09ae4cd4bdea2a48999'
'5215e5a10d6e1d7b0850683f3d27114a31143ac3112103a59a1094e5702954ca'
'6f865181a93c499b21e7d31d8a423cecc9b8b6c205dbb8c9bb460ac5a86f7725'
'b880a0d9e07b4a6198b3a2b318611dd53419978e60bf397ba9910c4358656de7'
'd81b84c2a4e4a03dca169ec8b05f967bd8f5c3f3b7bc2895c0a9cbd0fa719d4b'
'1de924b4bf41e0603fac3b3a2b83db18211ae9e65e15ac0dbaf5448c587dfb76'
'8d9a5dd13df1f18e94abe8520dfc1f1f80ac45677e93ff64b4c3a8f5adbc9fa1'
'e3aef7b31ff56d128ac8b213437987c57a1490f52b31185199241da43233547d'
'bc16b167293aca73eec011d42b6d69a88e7a51be778e56e4d9a0ab1bc421efaa'
'8388d3c5edfe66f5f023fe5df275e7223cc5d92f9163a8a85a99987f538b30f0'
'94f1f32544311713ec4f76a1058625d4215e0a7582ca3f08208841c0bf4ed723')
apply_git_am_with_msg() {
for _patch in "$@"
@@ -114,13 +112,12 @@ prepare() {
0010-pacman-make-file-list-comparisons-between-packages-c.patch \
0011-Translate-MSYS2-specific-messages-into-Japanese.patch \
0012-Workaround-compressing-packages-with-bsdtar-under-Ac.patch \
0013-build-add-libintl-dependency-to-meson-and-the-.pc-fi.patch \
0014-Fix-asciidoc-argparse.patch \
0015-Remove-fakeroot.patch \
0016-Remove-sudo.patch \
0017-Use-msys-tools.patch \
0018-pacman-correct-length-of-.files.sig-string.patch \
0019-Export-CC-and-CXX-variables-explicitly.patch
0013-Fix-asciidoc-argparse.patch \
0014-Remove-fakeroot.patch \
0015-Remove-sudo.patch \
0016-Use-msys-tools.patch \
0017-Export-CC-and-CXX-variables-explicitly.patch \
0018-Add-a-CI-job.patch
}
build() {

View File

@@ -8,9 +8,10 @@
#
#-- The download utilities that makepkg should use to acquire sources
# Format: 'protocol::agent'
DLAGENTS=('ftp::/usr/bin/curl -fC - --ftp-pasv --retry 3 --retry-delay 3 -o %o %u'
'http::/usr/bin/curl -qb "" -fLC - --retry 3 --retry-delay 3 -o %o %u'
'https::/usr/bin/curl -qb "" -fLC - --retry 3 --retry-delay 3 -o %o %u'
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'
'rsync::/usr/bin/rsync --no-motd -z %u %o'
'scp::/usr/bin/scp -C %u %o')
@@ -22,6 +23,7 @@ DLAGENTS=('ftp::/usr/bin/curl -fC - --ftp-pasv --retry 3 --retry-delay 3 -o %o %
#-- The package required by makepkg to download VCS sources
# Format: 'protocol::package'
VCSCLIENTS=('bzr::bzr'
'fossil::fossil'
'git::git'
'hg::mercurial'
'svn::subversion')
@@ -61,7 +63,7 @@ DEBUG_CXXFLAGS="-ggdb -Og"
# BUILD ENVIRONMENT
#########################################################################
#
# Defaults: BUILDENV=(fakeroot !distcc color !ccache check !sign)
# Makepkg defaults: BUILDENV=(!distcc !color !ccache check !sign)
# A negated environment option will do the opposite of the comments below.
#
#-- distcc: Use the Distributed C/C++/ObjC compiler
@@ -84,7 +86,7 @@ BUILDENV=(!distcc color !ccache check !sign)
# These are default values for the options=() settings
#########################################################################
#
# Default: OPTIONS=(strip docs !libtool staticlibs emptydirs zipman purge !debug)
# Makepkg defaults: OPTIONS=(!strip docs libtool staticlibs emptydirs !zipman !purge !debug !lto)
# A negated option will do the opposite of the comments below.
#
#-- strip: Strip symbols from binaries/libraries
@@ -95,11 +97,12 @@ BUILDENV=(!distcc color !ccache check !sign)
#-- zipman: Compress manual (man and info) pages in MAN_DIRS with gzip
#-- 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
#
OPTIONS=(strip docs !libtool staticlibs emptydirs zipman purge !debug)
OPTIONS=(strip docs !libtool staticlibs emptydirs zipman purge !debug !lto)
#-- File integrity checks to use. Valid: md5, sha1, sha256, sha384, sha512
INTEGRITY_CHECK=(md5)
INTEGRITY_CHECK=(sha256)
#-- Options to be used when stripping binaries. See `man strip' for details.
STRIP_BINARIES="--strip-all"
#-- Options to be used when stripping shared libraries. See `man strip' for details.
@@ -150,10 +153,12 @@ COMPRESSLZ=(lzip -c -f)
# EXTENSION DEFAULTS
#########################################################################
#
# WARNING: Do NOT modify these variables unless you know what you are
# doing.
#
PKGEXT='.pkg.tar.zst'
SRCEXT='.src.tar.gz'
# vim: set ft=sh ts=2 sw=2 et:
#########################################################################
# OTHER
#########################################################################
#
#-- Command used to run pacman as root, instead of trying sudo and su
PACMAN_AUTH=()

View File

@@ -8,9 +8,10 @@
#
#-- The download utilities that makepkg should use to acquire sources
# Format: 'protocol::agent'
DLAGENTS=('ftp::/usr/bin/curl -fC - --ftp-pasv --retry 3 --retry-delay 3 -o %o %u'
'http::/usr/bin/curl -qb "" -fLC - --retry 3 --retry-delay 3 -o %o %u'
'https::/usr/bin/curl -qb "" -fLC - --retry 3 --retry-delay 3 -o %o %u'
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'
'rsync::/usr/bin/rsync --no-motd -z %u %o'
'scp::/usr/bin/scp -C %u %o')
@@ -22,6 +23,7 @@ DLAGENTS=('ftp::/usr/bin/curl -fC - --ftp-pasv --retry 3 --retry-delay 3 -o %o %
#-- The package required by makepkg to download VCS sources
# Format: 'protocol::package'
VCSCLIENTS=('bzr::bzr'
'fossil::fossil'
'git::git'
'hg::mercurial'
'svn::subversion')
@@ -133,7 +135,7 @@ PKG_CONFIG_PATH="${MINGW_PREFIX}/lib/pkgconfig:${MINGW_PREFIX}/share/pkgconfig"
# BUILD ENVIRONMENT
#########################################################################
#
# Defaults: BUILDENV=(fakeroot !distcc color !ccache check !sign)
# Makepkg defaults: BUILDENV=(!distcc !color !ccache check !sign)
# A negated environment option will do the opposite of the comments below.
#
#-- distcc: Use the Distributed C/C++/ObjC compiler
@@ -156,7 +158,7 @@ BUILDENV=(!distcc color !ccache check !sign)
# These are default values for the options=() settings
#########################################################################
#
# Default: OPTIONS=(strip docs !libtool staticlibs emptydirs zipman purge !debug)
# Makepkg defaults: OPTIONS=(!strip docs libtool staticlibs emptydirs !zipman !purge !debug !lto)
# A negated option will do the opposite of the comments below.
#
#-- strip: Strip symbols from binaries/libraries
@@ -167,11 +169,12 @@ BUILDENV=(!distcc color !ccache check !sign)
#-- zipman: Compress manual (man and info) pages in MAN_DIRS with gzip
#-- 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
#
OPTIONS=(strip docs !libtool staticlibs emptydirs zipman purge !debug)
OPTIONS=(strip docs !libtool staticlibs emptydirs zipman purge !debug !lto)
#-- File integrity checks to use. Valid: md5, sha1, sha256, sha384, sha512
INTEGRITY_CHECK=(md5)
INTEGRITY_CHECK=(sha256)
#-- Options to be used when stripping binaries. See `man strip' for details.
STRIP_BINARIES="--strip-all"
#-- Options to be used when stripping shared libraries. See `man strip' for details.
@@ -222,10 +225,12 @@ COMPRESSLZ=(lzip -c -f)
# EXTENSION DEFAULTS
#########################################################################
#
# WARNING: Do NOT modify these variables unless you know what you are
# doing.
#
PKGEXT='.pkg.tar.zst'
SRCEXT='.src.tar.gz'
# vim: set ft=sh ts=2 sw=2 et:
#########################################################################
# OTHER
#########################################################################
#
#-- Command used to run pacman as root, instead of trying sudo and su
PACMAN_AUTH=()

View File

@@ -14,7 +14,7 @@
#CacheDir = /var/cache/pacman/pkg/
#LogFile = /var/log/pacman.log
#GPGDir = /etc/pacman.d/gnupg/
HoldPkg = pacman
HoldPkg = pacman
#XferCommand = /usr/bin/curl -L -C - -f -o %o %u
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
#CleanMethod = KeepInstalled
@@ -30,9 +30,10 @@ Architecture = auto
# Misc options
#UseSyslog
#Color
#TotalDownload
#NoProgressBar
CheckSpace
#VerbosePkgLists
ParallelDownloads = 5
# By default, pacman accepts packages signed by keys that its local keyring
# trusts (see pacman-key and its man page), as well as unsigned packages.
@@ -41,10 +42,6 @@ SigLevel = Required
LocalFileSigLevel = Optional
#RemoteFileSigLevel = Required
# NOTE: You must run `pacman-key --init` before first using pacman; the local
# keyring can then be populated with the keys of all official Arch Linux
# packagers with `pacman-key --populate archlinux`.
#
# REPOSITORIES
# - can be defined here or included from another file

25
python-pkgconfig/PKGBUILD Normal file
View File

@@ -0,0 +1,25 @@
pkgname=python-pkgconfig
pkgver=1.5.4
pkgrel=1
pkgdesc='Python module to interface with the pkg-config command line tool'
arch=(any)
url='https://github.com/matze/pkgconfig'
license=(MIT)
depends=("python")
makedepends=("python-setuptools")
source=(https://pypi.io/packages/source/p/pkgconfig/pkgconfig-$pkgver.tar.gz)
sha256sums=('c34503829fd226822fd93c902b1cf275516908a023a24be0a02ba687f3a00399')
build() {
cd pkgconfig-$pkgver
python setup.py build
}
package() {
cd pkgconfig-$pkgver
python setup.py install --prefix=/usr --root="$pkgdir" --optimize=1
install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
}

View File

@@ -1,50 +1,11 @@
--- pyalpm/setup.py.orig 2020-02-23 16:10:00.163976600 +0100
+++ pyalpm/setup.py 2020-02-23 16:12:27.525811500 +0100
@@ -1,6 +1,7 @@
# -*- coding: utf-8 -*-
import os
--- pyalpm/setup.py.orig 2021-06-06 11:16:43.786094800 +0200
+++ pyalpm/setup.py 2021-06-06 11:16:49.931474700 +0200
@@ -3,7 +3,7 @@
from setuptools import setup, Extension
+import subprocess
import pkgconfig
-libalpm = pkgconfig.parse('libalpm')
+libalpm = pkgconfig.parse('libalpm', static=bool(os.getenv('LIBALPM_STATIC')))
os.putenv('LC_CTYPE', 'en_US.UTF-8')
@@ -9,15 +10,25 @@
PYCMAN_SCRIPTS = ['database', 'deptest', 'query', 'remove', 'sync', 'upgrade', 'version']
+# From: http://code.activestate.com/recipes/502261-python-distutils-pkg-config/
+def pkg_config(*pkg_config_flags, **kw):
+ flag_map = {'-I': 'include_dirs', '-L': 'library_dirs', '-l': 'libraries'}
+ kw['extra_compile_args'] = cflags
+ for token in subprocess.check_output(("pkg-config --libs --cflags %s" % ' '.join(pkg_config_flags)).split()).decode('ascii').split():
+ if token[:2] in flag_map:
+ kw.setdefault(flag_map.get(token[:2]), []).append(token[2:])
+ else:
+ kw['extra_compile_args'].append(token)
+ return kw
+
if __name__ == "__main__":
cflags = ['-Wall', '-Wextra', '-Werror',
'-Wno-unused-parameter', '-Wno-incompatible-pointer-types',
- '-Wno-cast-function-type', '-std=c99', '-D_FILE_OFFSET_BITS=64']
+ '-Wno-cast-function-type', '-Wno-unused-function', '-Wno-strict-aliasing', '-std=c99', '-D_FILE_OFFSET_BITS=64',
+ '-DVERSION="%s"' % pyalpm_version]
alpm = Extension('pyalpm',
- libraries=['alpm'],
- extra_compile_args=cflags + ['-DVERSION="%s"' % pyalpm_version],
language='C',
sources=['src/pyalpm.c',
'src/util.c',
@@ -31,7 +42,9 @@
'src/options.h',
'src/package.h',
'src/pyalpm.h',
- 'src/util.h'])
+ 'src/util.h'],
+ **pkg_config('libalpm', '--static' if os.getenv('LIBALPM_STATIC') else '')
+ )
with open("README.md", "r") as fh:
long_description = fh.read()

View File

@@ -3,8 +3,8 @@
_realname=pyalpm
pkgbase="python-${_realname}"
pkgname=("python-${_realname}")
pkgver=0.9.2
pkgrel=2
pkgver=0.10.3
pkgrel=1
pkgdesc="Libalpm bindings for Python"
arch=('i686' 'x86_64')
license=('GPL')
@@ -16,14 +16,15 @@ makedepends=('gettext-devel'
'libcurl-devel'
'libgpgme-devel'
'python-setuptools'
'pacman')
'pacman'
'python-pkgconfig')
provides=("python3-${_realname}")
conflicts=("python3-${_realname}")
replaces=("python3-${_realname}")
source=("git+https://gitlab.archlinux.org/archlinux/pyalpm.git#commit=4428779b28ad7df5efb7a3a3feb22a45e9510bfc"
source=("git+https://gitlab.archlinux.org/archlinux/pyalpm.git#tag=${pkgver}"
"0005-Use-pkg-config-add-LIBALPM_STATIC-env.-var.patch")
sha256sums=('SKIP'
'f6954a6532bdc61f8149e5e98b13cadfdfcebff0d6c266408faec41428ab5eb9')
'e26201c95cf6511cc884a38a8ca17cd61154542c390bcd8f7484bdc8e560cee9')
prepare() {
cd "${srcdir}/${_realname}"