Merge pull request #2516 from lazka/pacman-git
pacman: autogenerate patches from git
This commit is contained in:
@@ -1,26 +1,51 @@
|
||||
diff -Naur pacman-5.1.0-orig/lib/libalpm/add.c pacman-5.1.0/lib/libalpm/add.c
|
||||
--- pacman-5.1.0-orig/lib/libalpm/add.c 2018-05-14 03:02:18.000000000 +0300
|
||||
+++ pacman-5.1.0/lib/libalpm/add.c 2018-06-21 12:53:58.832056200 +0300
|
||||
@@ -261,6 +261,7 @@
|
||||
From 91067406c454929239a5eebf043ed2eb0a485762 Mon Sep 17 00:00:00 2001
|
||||
From: Christoph Reiter <reiter.christoph@gmail.com>
|
||||
Date: Fri, 21 May 2021 22:47:29 +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/utils_fixed_path.sh.in | 34 ++++
|
||||
scripts/makepkg.sh.in | 177 +++++++-----------
|
||||
scripts/pacman-db-upgrade.sh.in | 12 +-
|
||||
scripts/pacman-key.sh.in | 22 +--
|
||||
scripts/repo-add.sh.in | 11 +-
|
||||
scripts/wrapper.sh.in | 2 +-
|
||||
src/pacman/callback.c | 7 +-
|
||||
src/pacman/check.c | 2 +
|
||||
src/pacman/pacman.c | 4 +
|
||||
test/pacman/pmtest.py | 19 +-
|
||||
14 files changed, 275 insertions(+), 196 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
|
||||
--- 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,
|
||||
"filesystem: %o package: %o\n", filename, lsbuf.st_mode & mask,
|
||||
entrymode & mask);
|
||||
}
|
||||
+#ifndef __MSYS__
|
||||
|
||||
|
||||
#if 0
|
||||
/* Disable this warning until our user management in packages has improved.
|
||||
@@ -278,6 +279,7 @@
|
||||
@@ -283,6 +284,7 @@ static int extract_single_file(alpm_handle_t *handle, struct archive *archive,
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
+#endif
|
||||
_alpm_log(handle, ALPM_LOG_DEBUG, "extract: skipping dir extraction of %s\n",
|
||||
filename);
|
||||
archive_read_data_skip(archive);
|
||||
diff -Naur pacman-5.1.0-orig/scripts/libmakepkg/lint_package/build_references.sh.in pacman-5.1.0/scripts/libmakepkg/lint_package/build_references.sh.in
|
||||
--- pacman-5.1.0-orig/scripts/libmakepkg/lint_package/build_references.sh.in 2018-03-18 05:51:17.000000000 +0300
|
||||
+++ pacman-5.1.0/scripts/libmakepkg/lint_package/build_references.sh.in 2018-06-21 13:23:05.248501400 +0300
|
||||
@@ -37,5 +37,13 @@
|
||||
diff --git a/scripts/libmakepkg/lint_package/build_references.sh.in b/scripts/libmakepkg/lint_package/build_references.sh.in
|
||||
index bcaf71c..a897adc 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() {
|
||||
printf '%s\n' "${refs[@]#"$pkgdir/"}" >&2
|
||||
fi
|
||||
done
|
||||
@@ -34,10 +59,11 @@ diff -Naur pacman-5.1.0-orig/scripts/libmakepkg/lint_package/build_references.sh
|
||||
+ fi
|
||||
return 0
|
||||
}
|
||||
diff -Naur pacman-5.1.0-orig/scripts/libmakepkg/tidy/staticlibs.sh.in pacman-5.1.0/scripts/libmakepkg/tidy/staticlibs.sh.in
|
||||
--- pacman-5.1.0-orig/scripts/libmakepkg/tidy/staticlibs.sh.in 2018-03-18 05:51:17.000000000 +0300
|
||||
+++ pacman-5.1.0/scripts/libmakepkg/tidy/staticlibs.sh.in 2018-06-21 12:53:58.862056200 +0300
|
||||
@@ -35,9 +35,9 @@
|
||||
diff --git a/scripts/libmakepkg/tidy/staticlibs.sh.in b/scripts/libmakepkg/tidy/staticlibs.sh.in
|
||||
index 7993c09..a685efe 100644
|
||||
--- a/scripts/libmakepkg/tidy/staticlibs.sh.in
|
||||
+++ b/scripts/libmakepkg/tidy/staticlibs.sh.in
|
||||
@@ -35,9 +35,9 @@ tidy_staticlibs() {
|
||||
msg2 "$(gettext "Removing static library files...")"
|
||||
local l
|
||||
while IFS= read -rd '' l; do
|
||||
@@ -49,13 +75,14 @@ diff -Naur pacman-5.1.0-orig/scripts/libmakepkg/tidy/staticlibs.sh.in pacman-5.1
|
||||
+ done < <(find . ! -type d \( -name "*.a" ! -name "*.dll.a" \) -print0)
|
||||
fi
|
||||
}
|
||||
diff -Naur pacman-5.1.0-orig/scripts/libmakepkg/tidy/strip.sh.in pacman-5.1.0/scripts/libmakepkg/tidy/strip.sh.in
|
||||
--- pacman-5.1.0-orig/scripts/libmakepkg/tidy/strip.sh.in 2018-05-12 16:15:04.000000000 +0300
|
||||
+++ pacman-5.1.0/scripts/libmakepkg/tidy/strip.sh.in 2018-06-21 13:31:44.509228300 +0300
|
||||
@@ -31,10 +31,6 @@
|
||||
diff --git a/scripts/libmakepkg/tidy/strip.sh.in b/scripts/libmakepkg/tidy/strip.sh.in
|
||||
index b04426c..4cc9db6 100644
|
||||
--- a/scripts/libmakepkg/tidy/strip.sh.in
|
||||
+++ b/scripts/libmakepkg/tidy/strip.sh.in
|
||||
@@ -31,10 +31,6 @@ packaging_options+=('strip' 'debug')
|
||||
tidy_modify+=('tidy_strip')
|
||||
|
||||
|
||||
|
||||
|
||||
-build_id() {
|
||||
- LANG=C readelf -n "$1" | sed -n '/Build ID/ { s/.*: //p; q; }'
|
||||
-}
|
||||
@@ -63,10 +90,10 @@ diff -Naur pacman-5.1.0-orig/scripts/libmakepkg/tidy/strip.sh.in pacman-5.1.0/sc
|
||||
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 @@
|
||||
@@ -43,55 +39,57 @@ source_files() {
|
||||
strip_file() {
|
||||
local binary=$1; shift
|
||||
|
||||
|
||||
- if check_option "debug" "y"; then
|
||||
- local bid=$(build_id "$binary")
|
||||
-
|
||||
@@ -82,7 +109,7 @@ diff -Naur pacman-5.1.0-orig/scripts/libmakepkg/tidy/strip.sh.in pacman-5.1.0/sc
|
||||
- elif [[ -f "$dbgdir/$binary.debug" ]]; then
|
||||
- return
|
||||
- fi
|
||||
-
|
||||
|
||||
- # copy source files to debug directory
|
||||
- local file dest t
|
||||
- while IFS= read -r t; do
|
||||
@@ -115,9 +142,6 @@ diff -Naur pacman-5.1.0-orig/scripts/libmakepkg/tidy/strip.sh.in pacman-5.1.0/sc
|
||||
- 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"
|
||||
+ # copy source files to debug directory
|
||||
+ local file dest t
|
||||
+ while IFS= read -r t; do
|
||||
@@ -158,25 +182,27 @@ diff -Naur pacman-5.1.0-orig/scripts/libmakepkg/tidy/strip.sh.in pacman-5.1.0/sc
|
||||
+ ln "$dbgdir/${binary}.debug" "$dbgdir/${file}.debug"
|
||||
+ fi
|
||||
+ done < <(find . -type f -perm -u+w -print0 2>/dev/null)
|
||||
+
|
||||
|
||||
- target="../../${binary#./}.debug"
|
||||
- ln -s "$target" "$dbgdir/.build-id/${bid:0:2}/${bid:2}.debug"
|
||||
fi
|
||||
- fi
|
||||
+ ;;
|
||||
+ esac
|
||||
|
||||
|
||||
strip $@ "$binary"
|
||||
}
|
||||
@@ -103,15 +101,84 @@
|
||||
|
||||
@@ -106,15 +104,84 @@ tidy_strip() {
|
||||
|
||||
if check_option "debug" "y"; then
|
||||
|
||||
|
||||
- dbgdir="$pkgdirbase/$pkgbase-@DEBUGSUFFIX@/usr/lib/debug"
|
||||
+ dbgdir="$pkgdirbase/$pkgbase-@DEBUGSUFFIX@"
|
||||
dbgsrcdir="${DBGSRCDIR:-/usr/src/debug}"
|
||||
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
|
||||
+ # *.so: Apache2 modules, OCaml stublibs, Ruby modules
|
||||
@@ -253,9 +279,11 @@ diff -Naur pacman-5.1.0-orig/scripts/libmakepkg/tidy/strip.sh.in pacman-5.1.0/sc
|
||||
*application/x-sharedlib*) # Libraries (.so)
|
||||
strip_flags="$STRIP_SHARED";;
|
||||
*application/x-archive*) # Libraries (.a)
|
||||
diff -Naur pacman-5.1.0-orig/scripts/libmakepkg/utils_fixed_path.sh.in pacman-5.1.0/scripts/libmakepkg/utils_fixed_path.sh.in
|
||||
--- pacman-5.1.0-orig/scripts/libmakepkg/utils_fixed_path.sh.in 1970-01-01 03:00:00.000000000 +0300
|
||||
+++ pacman-5.1.0/scripts/libmakepkg/utils_fixed_path.sh.in 2018-06-21 12:53:58.872056200 +0300
|
||||
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
|
||||
--- /dev/null
|
||||
+++ b/scripts/libmakepkg/utils_fixed_path.sh.in
|
||||
@@ -0,0 +1,34 @@
|
||||
+if [[ -n "$MSYSTEM" ]]; then
|
||||
+ readonly -a UTILS_NAME=('bsdtar'
|
||||
@@ -291,9 +319,10 @@ diff -Naur pacman-5.1.0-orig/scripts/libmakepkg/utils_fixed_path.sh.in pacman-5.
|
||||
+ }'
|
||||
+ done
|
||||
+fi
|
||||
diff -Naur pacman-5.1.0-orig/scripts/makepkg.sh.in pacman-5.1.0/scripts/makepkg.sh.in
|
||||
--- pacman-5.1.0-orig/scripts/makepkg.sh.in 2018-05-23 08:27:19.000000000 +0300
|
||||
+++ pacman-5.1.0/scripts/makepkg.sh.in 2018-06-21 13:21:37.158378000 +0300
|
||||
diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
|
||||
index c9e381d..86616de 100644
|
||||
--- a/scripts/makepkg.sh.in
|
||||
+++ b/scripts/makepkg.sh.in
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/bin/bash
|
||||
+#!/usr/bin/env bash
|
||||
@@ -301,15 +330,15 @@ diff -Naur pacman-5.1.0-orig/scripts/makepkg.sh.in pacman-5.1.0/scripts/makepkg.
|
||||
# makepkg - make packages compatible for use with pacman
|
||||
# @configure_input@
|
||||
@@ -27,7 +27,7 @@
|
||||
|
||||
|
||||
# makepkg uses quite a few external programs during its execution. You
|
||||
# need to have at least the following installed for makepkg to function:
|
||||
-# awk, bsdtar (libarchive), bzip2, coreutils, fakeroot, file, find (findutils),
|
||||
+# awk, bsdtar (libarchive), bzip2, coreutils, file, find (findutils),
|
||||
# gettext, gpg, grep, gzip, sed, tput (ncurses), xz
|
||||
|
||||
|
||||
# gettext initialization
|
||||
@@ -60,7 +60,6 @@
|
||||
@@ -60,7 +60,6 @@ FORCE=0
|
||||
GENINTEG=0
|
||||
HOLDVER=0
|
||||
IGNOREARCH=0
|
||||
@@ -317,10 +346,10 @@ diff -Naur pacman-5.1.0-orig/scripts/makepkg.sh.in pacman-5.1.0/scripts/makepkg.
|
||||
INSTALL=0
|
||||
LOGGING=0
|
||||
NEEDED=0
|
||||
@@ -106,10 +105,9 @@
|
||||
@@ -106,10 +105,9 @@ done
|
||||
trap_exit() {
|
||||
local signal=$1; shift
|
||||
|
||||
|
||||
- if (( ! INFAKEROOT )); then
|
||||
- echo
|
||||
- error "$@"
|
||||
@@ -329,12 +358,12 @@ diff -Naur pacman-5.1.0-orig/scripts/makepkg.sh.in pacman-5.1.0/scripts/makepkg.
|
||||
+ error "$@"
|
||||
+
|
||||
[[ -n $srclinks ]] && rm -rf "$srclinks"
|
||||
|
||||
|
||||
# unset the trap for this signal, and then call the default handler
|
||||
@@ -124,11 +122,6 @@
|
||||
@@ -124,11 +122,6 @@ trap_exit() {
|
||||
clean_up() {
|
||||
local EXIT_CODE=$?
|
||||
|
||||
|
||||
- if (( INFAKEROOT )); then
|
||||
- # Don't clean up when leaving fakeroot, we're not done yet.
|
||||
- return 0
|
||||
@@ -343,8 +372,8 @@ diff -Naur pacman-5.1.0-orig/scripts/makepkg.sh.in pacman-5.1.0/scripts/makepkg.
|
||||
if [[ -p $logpipe ]]; then
|
||||
rm "$logpipe"
|
||||
fi
|
||||
@@ -138,7 +131,7 @@
|
||||
|
||||
@@ -138,7 +131,7 @@ clean_up() {
|
||||
|
||||
# If it's a clean exit and -c/--clean has been passed...
|
||||
msg "$(gettext "Cleaning up...")"
|
||||
- rm -rf "$pkgdirbase" "$srcdir"
|
||||
@@ -352,10 +381,10 @@ diff -Naur pacman-5.1.0-orig/scripts/makepkg.sh.in pacman-5.1.0/scripts/makepkg.
|
||||
if [[ -n $pkgbase ]]; then
|
||||
local fullver=$(get_full_version)
|
||||
# Can't do this unless the BUILDSCRIPT has been sourced.
|
||||
@@ -180,11 +173,6 @@
|
||||
@@ -180,11 +173,6 @@ clean_up() {
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
-enter_fakeroot() {
|
||||
- msg "$(gettext "Entering %s environment...")" "fakeroot"
|
||||
- fakeroot -- bash -$- "${BASH_SOURCE[0]}" -F "${ARGLIST[@]}" || exit $?
|
||||
@@ -364,7 +393,7 @@ diff -Naur pacman-5.1.0-orig/scripts/makepkg.sh.in pacman-5.1.0/scripts/makepkg.
|
||||
# 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 @@
|
||||
@@ -229,11 +217,6 @@ run_pacman() {
|
||||
cmd=("$PACMAN_PATH" "$@")
|
||||
else
|
||||
cmd=("$PACMAN_PATH" "${PACMAN_OPTS[@]}" "$@")
|
||||
@@ -376,17 +405,17 @@ diff -Naur pacman-5.1.0-orig/scripts/makepkg.sh.in pacman-5.1.0/scripts/makepkg.
|
||||
local lockfile="$(pacman-conf DBPath)/db.lck"
|
||||
while [[ -f $lockfile ]]; do
|
||||
local timer=0
|
||||
@@ -432,7 +415,7 @@
|
||||
|
||||
@@ -432,7 +415,7 @@ run_function() {
|
||||
|
||||
$pkgfunc &>"$logpipe"
|
||||
|
||||
|
||||
- wait -f $teepid
|
||||
+ wait $teepid
|
||||
rm "$logpipe"
|
||||
else
|
||||
"$pkgfunc"
|
||||
@@ -460,7 +443,7 @@
|
||||
|
||||
@@ -460,7 +443,7 @@ find_libdepends() {
|
||||
|
||||
sodepends=0
|
||||
for d in "${depends[@]}"; do
|
||||
- if [[ $d = *.so ]]; then
|
||||
@@ -394,14 +423,14 @@ diff -Naur pacman-5.1.0-orig/scripts/makepkg.sh.in pacman-5.1.0/scripts/makepkg.
|
||||
sodepends=1
|
||||
break
|
||||
fi
|
||||
@@ -471,28 +454,33 @@
|
||||
@@ -471,28 +454,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')
|
||||
@@ -416,7 +445,7 @@ diff -Naur pacman-5.1.0-orig/scripts/makepkg.sh.in pacman-5.1.0/scripts/makepkg.
|
||||
+ 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')
|
||||
@@ -426,7 +455,7 @@ diff -Naur pacman-5.1.0-orig/scripts/makepkg.sh.in pacman-5.1.0/scripts/makepkg.
|
||||
- # extract the major version: 1
|
||||
- soversion="${sofile##*\.so\.}"
|
||||
+ soname=${sofile}
|
||||
|
||||
|
||||
if [[ ${libdeps[$soname]} ]]; then
|
||||
- if [[ ${libdeps[$soname]} != *${soversion}-${soarch}* ]]; then
|
||||
- libdeps[$soname]+=" ${soversion}-${soarch}"
|
||||
@@ -439,7 +468,7 @@ diff -Naur pacman-5.1.0-orig/scripts/makepkg.sh.in pacman-5.1.0/scripts/makepkg.
|
||||
fi
|
||||
done
|
||||
done < <(find "$pkgdir" -type f -perm -u+x -print0)
|
||||
@@ -500,7 +488,7 @@
|
||||
@@ -500,7 +488,7 @@ find_libdepends() {
|
||||
local libdepends v
|
||||
for d in "${depends[@]}"; do
|
||||
case "$d" in
|
||||
@@ -448,7 +477,7 @@ diff -Naur pacman-5.1.0-orig/scripts/makepkg.sh.in pacman-5.1.0/scripts/makepkg.
|
||||
if [[ ${libdeps[$d]} ]]; then
|
||||
for v in ${libdeps[$d]}; do
|
||||
libdepends+=("$d=$v")
|
||||
@@ -525,32 +513,23 @@
|
||||
@@ -525,32 +513,23 @@ find_libprovides() {
|
||||
for p in "${provides[@]}"; do
|
||||
missing=0
|
||||
case "$p" in
|
||||
@@ -495,25 +524,25 @@ diff -Naur pacman-5.1.0-orig/scripts/makepkg.sh.in pacman-5.1.0/scripts/makepkg.
|
||||
done
|
||||
else
|
||||
libprovides+=("$p")
|
||||
@@ -589,7 +568,6 @@
|
||||
@@ -589,7 +568,6 @@ write_pkginfo() {
|
||||
merge_arch_attrs
|
||||
|
||||
|
||||
printf "# Generated by makepkg %s\n" "$makepkg_version"
|
||||
- printf "# using %s\n" "$(fakeroot -v)"
|
||||
|
||||
|
||||
write_kv_pair "pkgname" "$pkgname"
|
||||
write_kv_pair "pkgbase" "$pkgbase"
|
||||
@@ -739,7 +717,7 @@
|
||||
@@ -739,7 +717,7 @@ create_debug_package() {
|
||||
local pkgdir="$pkgdirbase/$pkgbase-@DEBUGSUFFIX@"
|
||||
|
||||
|
||||
# check if we have any debug symbols to package
|
||||
- if dir_is_empty "$pkgdir/usr/lib/debug"; then
|
||||
+ if dir_is_empty "$pkgdir"; then
|
||||
return 0
|
||||
fi
|
||||
|
||||
@@ -924,6 +902,11 @@
|
||||
|
||||
|
||||
@@ -928,6 +906,11 @@ restore_package_variables() {
|
||||
|
||||
run_single_packaging() {
|
||||
local pkgdir="$pkgdirbase/$pkgname"
|
||||
+ # clean existing pkg directory
|
||||
@@ -524,7 +553,7 @@ diff -Naur pacman-5.1.0-orig/scripts/makepkg.sh.in pacman-5.1.0/scripts/makepkg.
|
||||
mkdir "$pkgdir"
|
||||
if [[ -n $1 ]] || (( PKGFUNC )); then
|
||||
run_package $1
|
||||
@@ -1017,12 +1000,16 @@
|
||||
@@ -1021,12 +1004,16 @@ if ! type -p gettext >/dev/null; then
|
||||
gettext() {
|
||||
printf "%s\n" "$@"
|
||||
}
|
||||
@@ -533,16 +562,16 @@ diff -Naur pacman-5.1.0-orig/scripts/makepkg.sh.in pacman-5.1.0/scripts/makepkg.
|
||||
+ /usr/bin/gettext "$@"
|
||||
+ }
|
||||
fi
|
||||
|
||||
|
||||
ARGLIST=("$@")
|
||||
|
||||
|
||||
# Parse Command Line Options.
|
||||
-OPT_SHORT="AcCdefFghiLmop:rRsSV"
|
||||
+OPT_SHORT="AcCdefghiLmop:rRsSV"
|
||||
OPT_LONG=('allsource' 'check' 'clean' 'cleanbuild' 'config:' 'force' 'geninteg'
|
||||
'help' 'holdver' 'ignorearch' 'install' 'key:' 'log' 'noarchive' 'nobuild'
|
||||
'nocolor' 'nocheck' 'nodeps' 'noextract' 'noprepare' 'nosign' 'packagelist'
|
||||
@@ -1056,7 +1043,6 @@
|
||||
@@ -1060,7 +1047,6 @@ while true; do
|
||||
-d|--nodeps) NODEPS=1 ;;
|
||||
-e|--noextract) NOEXTRACT=1 ;;
|
||||
-f|--force) FORCE=1 ;;
|
||||
@@ -550,10 +579,10 @@ diff -Naur pacman-5.1.0-orig/scripts/makepkg.sh.in pacman-5.1.0/scripts/makepkg.
|
||||
# generating integrity checks does not depend on architecture
|
||||
-g|--geninteg) BUILDPKG=0 GENINTEG=1 IGNOREARCH=1;;
|
||||
--holdver) HOLDVER=1 ;;
|
||||
@@ -1171,19 +1157,6 @@
|
||||
@@ -1175,19 +1161,6 @@ if (( LOGGING )) && ! ensure_writable_dir "LOGDEST" "$LOGDEST"; then
|
||||
exit $E_FS_PERMISSIONS
|
||||
fi
|
||||
|
||||
|
||||
-if (( ! INFAKEROOT )); then
|
||||
- if (( EUID == 0 )); then
|
||||
- error "$(gettext "Running %s as root is not allowed as it can cause permanent,\n\
|
||||
@@ -570,10 +599,10 @@ diff -Naur pacman-5.1.0-orig/scripts/makepkg.sh.in pacman-5.1.0/scripts/makepkg.
|
||||
unset pkgname "${pkgbuild_schema_strings[@]}" "${pkgbuild_schema_arrays[@]}"
|
||||
unset "${known_hash_algos[@]/%/sums}"
|
||||
unset -f pkgver prepare build check package "${!package_@}"
|
||||
@@ -1304,29 +1277,6 @@
|
||||
@@ -1308,29 +1281,6 @@ if (( ! PKGVERFUNC )); then
|
||||
check_build_status
|
||||
fi
|
||||
|
||||
|
||||
-# Run the bare minimum in fakeroot
|
||||
-if (( INFAKEROOT )); then
|
||||
- if (( SOURCEONLY )); then
|
||||
@@ -598,31 +627,31 @@ diff -Naur pacman-5.1.0-orig/scripts/makepkg.sh.in pacman-5.1.0/scripts/makepkg.
|
||||
-fi
|
||||
-
|
||||
msg "$(gettext "Making package: %s")" "$pkgbase $basever ($(date +%c))"
|
||||
|
||||
|
||||
# if we are creating a source-only package, go no further
|
||||
@@ -1350,7 +1300,7 @@
|
||||
@@ -1354,7 +1304,7 @@ if (( SOURCEONLY )); then
|
||||
check_source_integrity all
|
||||
cd_safe "$startdir"
|
||||
|
||||
|
||||
- enter_fakeroot
|
||||
+ create_srcpackage
|
||||
|
||||
|
||||
if [[ $SIGNPKG = 'y' ]]; then
|
||||
msg "$(gettext "Signing package...")"
|
||||
@@ -1400,6 +1350,9 @@
|
||||
@@ -1404,6 +1354,9 @@ 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
|
||||
+
|
||||
if (( !REPKG )); then
|
||||
if (( NOEXTRACT && ! VERIFYSOURCE )); then
|
||||
warning "$(gettext "Using existing %s tree")" "\$srcdir/"
|
||||
@@ -1452,17 +1405,25 @@
|
||||
@@ -1456,17 +1409,25 @@ else
|
||||
cd_safe "$startdir"
|
||||
fi
|
||||
|
||||
|
||||
- enter_fakeroot
|
||||
+ # if inhibiting archive creation, go no further
|
||||
+ if (( NOARCHIVE )); then
|
||||
@@ -639,10 +668,10 @@ diff -Naur pacman-5.1.0-orig/scripts/makepkg.sh.in pacman-5.1.0/scripts/makepkg.
|
||||
+ fi
|
||||
+
|
||||
+ create_debug_package
|
||||
|
||||
|
||||
create_package_signatures || exit $E_PRETTY_BAD_PRIVACY
|
||||
fi
|
||||
|
||||
|
||||
-# if inhibiting archive creation, go no further
|
||||
-if (( NOARCHIVE )); then
|
||||
- msg "$(gettext "Package directory is ready.")"
|
||||
@@ -650,20 +679,21 @@ diff -Naur pacman-5.1.0-orig/scripts/makepkg.sh.in pacman-5.1.0/scripts/makepkg.
|
||||
-fi
|
||||
-
|
||||
msg "$(gettext "Finished making: %s")" "$pkgbase $basever ($(date +%c))"
|
||||
|
||||
|
||||
install_package && exit $E_OK || exit $E_INSTALL_FAILED
|
||||
diff -Naur pacman-5.1.0-orig/scripts/pacman-db-upgrade.sh.in pacman-5.1.0/scripts/pacman-db-upgrade.sh.in
|
||||
--- pacman-5.1.0-orig/scripts/pacman-db-upgrade.sh.in 2018-05-14 03:02:18.000000000 +0300
|
||||
+++ pacman-5.1.0/scripts/pacman-db-upgrade.sh.in 2018-06-21 12:53:58.892056200 +0300
|
||||
diff --git a/scripts/pacman-db-upgrade.sh.in b/scripts/pacman-db-upgrade.sh.in
|
||||
index af3b17c..d3e2e13 100644
|
||||
--- a/scripts/pacman-db-upgrade.sh.in
|
||||
+++ b/scripts/pacman-db-upgrade.sh.in
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/bin/bash -e
|
||||
+#!/usr/bin/env bash
|
||||
#
|
||||
# pacman-db-upgrade - upgrade the local pacman db to a newer format
|
||||
# @configure_input@
|
||||
@@ -79,9 +79,13 @@
|
||||
@@ -79,9 +79,13 @@ resolve_dir() {
|
||||
# PROGRAM START
|
||||
|
||||
|
||||
# determine whether we have gettext; make it a no-op if we do not
|
||||
-if ! type gettext &>/dev/null; then
|
||||
+if ! type -p gettext >/dev/null; then
|
||||
@@ -676,9 +706,9 @@ diff -Naur pacman-5.1.0-orig/scripts/pacman-db-upgrade.sh.in pacman-5.1.0/script
|
||||
+ /usr/bin/gettext "$@"
|
||||
}
|
||||
fi
|
||||
|
||||
@@ -133,7 +137,7 @@
|
||||
|
||||
|
||||
@@ -138,7 +142,7 @@ lockfile="${dbroot}/db.lck"
|
||||
|
||||
# make sure pacman isn't running
|
||||
if [[ -f $lockfile ]]; then
|
||||
- die "$(gettext "Pacman lock file was found. Cannot run while pacman is running.")"
|
||||
@@ -686,33 +716,34 @@ diff -Naur pacman-5.1.0-orig/scripts/pacman-db-upgrade.sh.in pacman-5.1.0/script
|
||||
fi
|
||||
# do not let pacman run while we do this
|
||||
touch "$lockfile"
|
||||
diff -Naur pacman-5.1.0-orig/scripts/pacman-key.sh.in pacman-5.1.0/scripts/pacman-key.sh.in
|
||||
--- pacman-5.1.0-orig/scripts/pacman-key.sh.in 2018-05-14 03:02:18.000000000 +0300
|
||||
+++ pacman-5.1.0/scripts/pacman-key.sh.in 2018-06-21 12:53:58.902056300 +0300
|
||||
diff --git a/scripts/pacman-key.sh.in b/scripts/pacman-key.sh.in
|
||||
index 3962a57..1bdc5d7 100644
|
||||
--- a/scripts/pacman-key.sh.in
|
||||
+++ b/scripts/pacman-key.sh.in
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/bin/bash
|
||||
+#!/usr/bin/env bash
|
||||
#
|
||||
# pacman-key - manages pacman's keyring
|
||||
# Based on apt-key, from Debian
|
||||
@@ -31,6 +31,7 @@
|
||||
@@ -31,6 +31,7 @@ LIBRARY=${LIBRARY:-'@libmakepkgdir@'}
|
||||
# Import libmakepkg
|
||||
source "$LIBRARY"/util/message.sh
|
||||
source "$LIBRARY"/util/parseopts.sh
|
||||
+source "$LIBRARY"/utils_fixed_path.sh
|
||||
|
||||
|
||||
# Options
|
||||
ADD=0
|
||||
@@ -231,7 +233,7 @@
|
||||
@@ -237,7 +238,7 @@ check_keyring() {
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
- if (( (EXPORT || FINGER || LIST || VERIFY) && EUID != 0 )); then
|
||||
+ if (( EXPORT || FINGER || LIST || VERIFY )); then
|
||||
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"
|
||||
@@ -384,7 +386,7 @@
|
||||
@@ -390,7 +391,7 @@ import_trustdb() {
|
||||
local ret=0
|
||||
for importdir in "$@"; do
|
||||
if [[ -f "${importdir}/trustdb.gpg" ]]; then
|
||||
@@ -721,28 +752,28 @@ diff -Naur pacman-5.1.0-orig/scripts/pacman-key.sh.in pacman-5.1.0/scripts/pacma
|
||||
"${GPG_PACMAN[@]}" --import-ownertrust -
|
||||
if (( PIPESTATUS )); then
|
||||
error "$(gettext "%s could not be imported.")" "${importdir}/trustdb.gpg"
|
||||
@@ -508,10 +510,14 @@
|
||||
@@ -530,10 +531,14 @@ updatedb() {
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
-# PROGRAM START
|
||||
-if ! type gettext &>/dev/null; then
|
||||
+# determine whether we have gettext; make it a no-op if we do not
|
||||
+if ! type -p gettext >/dev/null; then
|
||||
+ gettext() {
|
||||
gettext() {
|
||||
- echo "$@"
|
||||
+ printf "%s\n" "$@"
|
||||
+ }
|
||||
+else
|
||||
gettext() {
|
||||
- echo "$@"
|
||||
+ gettext() {
|
||||
+ /usr/bin/gettext "$@"
|
||||
}
|
||||
fi
|
||||
|
||||
@@ -569,11 +575,6 @@
|
||||
|
||||
@@ -596,11 +601,6 @@ if ! type -p gpg >/dev/null; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
-if (( (ADD || DELETE || EDITKEY || IMPORT || IMPORT_TRUSTDB || INIT || LSIGNKEY || POPULATE || RECEIVE || REFRESH || UPDATEDB) && EUID != 0 )); then
|
||||
- error "$(gettext "%s needs to be run as root for this operation.")" "pacman-key"
|
||||
- exit 1
|
||||
@@ -751,26 +782,27 @@ diff -Naur pacman-5.1.0-orig/scripts/pacman-key.sh.in pacman-5.1.0/scripts/pacma
|
||||
CONFIG=${CONFIG:-@sysconfdir@/pacman.conf}
|
||||
if [[ ! -r "${CONFIG}" ]]; then
|
||||
error "$(gettext "%s configuration file '%s' not found.")" "pacman" "$CONFIG"
|
||||
diff -Naur pacman-5.1.0-orig/scripts/repo-add.sh.in pacman-5.1.0/scripts/repo-add.sh.in
|
||||
--- pacman-5.1.0-orig/scripts/repo-add.sh.in 2018-05-14 03:02:18.000000000 +0300
|
||||
+++ pacman-5.1.0/scripts/repo-add.sh.in 2018-06-21 12:53:58.902056300 +0300
|
||||
diff --git a/scripts/repo-add.sh.in b/scripts/repo-add.sh.in
|
||||
index b0b3505..d8a539e 100644
|
||||
--- a/scripts/repo-add.sh.in
|
||||
+++ b/scripts/repo-add.sh.in
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/bin/bash
|
||||
+#!/usr/bin/env bash
|
||||
#
|
||||
# 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 @@
|
||||
|
||||
@@ -46,6 +46,7 @@ PREVENT_DOWNGRADE=0
|
||||
|
||||
# Import libmakepkg
|
||||
source "$LIBRARY"/util/message.sh
|
||||
+source "$LIBRARY"/utils_fixed_path.sh
|
||||
|
||||
|
||||
# ensure we have a sane umask set
|
||||
umask 0022
|
||||
@@ -707,9 +708,13 @@
|
||||
@@ -571,9 +572,13 @@ clean_up() {
|
||||
# PROGRAM START
|
||||
|
||||
|
||||
# determine whether we have gettext; make it a no-op if we do not
|
||||
-if ! type gettext &>/dev/null; then
|
||||
+if ! type -p gettext &>/dev/null; then
|
||||
@@ -783,20 +815,22 @@ diff -Naur pacman-5.1.0-orig/scripts/repo-add.sh.in pacman-5.1.0/scripts/repo-ad
|
||||
+ /usr/bin/gettext "$@"
|
||||
}
|
||||
fi
|
||||
|
||||
diff -Naur pacman-5.1.0-orig/scripts/wrapper.sh.in pacman-5.1.0/scripts/wrapper.sh.in
|
||||
--- pacman-5.1.0-orig/scripts/wrapper.sh.in 2018-03-18 05:51:17.000000000 +0300
|
||||
+++ pacman-5.1.0/scripts/wrapper.sh.in 2018-06-21 13:33:09.509347300 +0300
|
||||
|
||||
diff --git a/scripts/wrapper.sh.in b/scripts/wrapper.sh.in
|
||||
index 2a041d5..5c9f111 100644
|
||||
--- a/scripts/wrapper.sh.in
|
||||
+++ b/scripts/wrapper.sh.in
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/bin/bash
|
||||
+#!/usr/bin/env bash
|
||||
#
|
||||
# @PROGNAME@ - a wrapper for running the real @PROGNAME@ in the source tree
|
||||
#
|
||||
diff -Naur pacman-5.1.0-orig/src/pacman/callback.c pacman-5.1.0/src/pacman/callback.c
|
||||
--- pacman-5.1.0-orig/src/pacman/callback.c 2018-05-14 03:02:18.000000000 +0300
|
||||
+++ pacman-5.1.0/src/pacman/callback.c 2018-06-21 12:53:58.912056300 +0300
|
||||
@@ -98,8 +98,11 @@
|
||||
diff --git a/src/pacman/callback.c b/src/pacman/callback.c
|
||||
index 548e2df..a46f406 100644
|
||||
--- a/src/pacman/callback.c
|
||||
+++ b/src/pacman/callback.c
|
||||
@@ -98,8 +98,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)
|
||||
{
|
||||
@@ -810,42 +844,44 @@ diff -Naur pacman-5.1.0-orig/src/pacman/callback.c pacman-5.1.0/src/pacman/callb
|
||||
const int hash = bar_percent * hashlen / 100;
|
||||
static int lasthash = 0, mouth = 0;
|
||||
int i;
|
||||
diff -Naur pacman-5.1.0-orig/src/pacman/check.c pacman-5.1.0/src/pacman/check.c
|
||||
--- pacman-5.1.0-orig/src/pacman/check.c 2018-05-14 03:02:18.000000000 +0300
|
||||
+++ pacman-5.1.0/src/pacman/check.c 2018-06-21 12:53:58.912056300 +0300
|
||||
@@ -75,6 +75,7 @@
|
||||
diff --git a/src/pacman/check.c b/src/pacman/check.c
|
||||
index 6b4fdcb..543dd31 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,
|
||||
int errors = 0;
|
||||
mode_t fsmode;
|
||||
|
||||
|
||||
+#ifndef __MSYS__
|
||||
/* uid */
|
||||
if(st->st_uid != archive_entry_uid(entry)) {
|
||||
errors++;
|
||||
@@ -92,6 +93,7 @@
|
||||
@@ -92,6 +93,7 @@ static int check_file_permissions(const char *pkgname, const char *filepath,
|
||||
pkgname, filepath);
|
||||
}
|
||||
}
|
||||
+#endif
|
||||
|
||||
|
||||
/* mode */
|
||||
fsmode = st->st_mode & (S_ISUID | S_ISGID | S_ISVTX | S_IRWXU | S_IRWXG | S_IRWXO);
|
||||
diff -Naur pacman-5.1.0-orig/src/pacman/pacman.c pacman-5.1.0/src/pacman/pacman.c
|
||||
--- pacman-5.1.0-orig/src/pacman/pacman.c 2018-05-14 03:02:18.000000000 +0300
|
||||
+++ pacman-5.1.0/src/pacman/pacman.c 2018-06-21 13:34:11.939434700 +0300
|
||||
@@ -1119,7 +1119,9 @@
|
||||
diff --git a/src/pacman/pacman.c b/src/pacman/pacman.c
|
||||
index d58c428..c5d629c 100644
|
||||
--- a/src/pacman/pacman.c
|
||||
+++ b/src/pacman/pacman.c
|
||||
@@ -1082,7 +1082,9 @@ static void cl_to_log(int argc, char *argv[])
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
int ret = 0;
|
||||
+#ifndef __MSYS__
|
||||
uid_t myuid = getuid();
|
||||
+#endif
|
||||
|
||||
|
||||
install_segv_handler();
|
||||
|
||||
@@ -1162,11 +1164,13 @@
|
||||
|
||||
@@ -1125,11 +1127,13 @@ int main(int argc, char *argv[])
|
||||
cleanup(ret);
|
||||
}
|
||||
|
||||
|
||||
+#ifndef __MSYS__
|
||||
/* check if we have sufficient permission for the requested operation */
|
||||
if(myuid > 0 && needs_root()) {
|
||||
@@ -853,15 +889,16 @@ diff -Naur pacman-5.1.0-orig/src/pacman/pacman.c pacman-5.1.0/src/pacman/pacman.
|
||||
cleanup(EXIT_FAILURE);
|
||||
}
|
||||
+#endif
|
||||
|
||||
|
||||
if(config->sysroot && (chroot(config->sysroot) != 0 || chdir("/") != 0)) {
|
||||
pm_printf(ALPM_LOG_ERROR,
|
||||
diff -Naur pacman-5.1.0-orig/test/pacman/pmtest.py pacman-5.1.0/test/pacman/pmtest.py
|
||||
--- pacman-5.1.0-orig/test/pacman/pmtest.py 2018-05-14 03:02:18.000000000 +0300
|
||||
+++ pacman-5.1.0/test/pacman/pmtest.py 2018-06-21 12:53:58.942056300 +0300
|
||||
@@ -228,19 +222,6 @@
|
||||
diff --git a/test/pacman/pmtest.py b/test/pacman/pmtest.py
|
||||
index ed6eab6..5ce752e 100644
|
||||
--- a/test/pacman/pmtest.py
|
||||
+++ b/test/pacman/pmtest.py
|
||||
@@ -234,19 +234,6 @@ class pmtest(object):
|
||||
vprint("\tpacman %s" % self.args)
|
||||
|
||||
|
||||
cmd = []
|
||||
- if os.geteuid() != 0:
|
||||
- fakeroot = util.which("fakeroot")
|
||||
@@ -879,7 +916,7 @@ diff -Naur pacman-5.1.0-orig/test/pacman/pmtest.py pacman-5.1.0/test/pacman/pmte
|
||||
if pacman["gdb"]:
|
||||
cmd.extend(["libtool", "execute", "gdb", "--args"])
|
||||
if pacman["valgrind"]:
|
||||
@@ -281,8 +262,10 @@
|
||||
@@ -287,8 +274,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()
|
||||
@@ -891,3 +928,7 @@ diff -Naur pacman-5.1.0-orig/test/pacman/pmtest.py pacman-5.1.0/test/pacman/pmte
|
||||
+ stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
|
||||
time_end = time.time()
|
||||
vprint("\ttime elapsed: %.2fs" % (time_end - time_start))
|
||||
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -1,7 +1,17 @@
|
||||
diff -Naur pacman-5.0.1-orig/lib/libalpm/util.c pacman-5.0.1/lib/libalpm/util.c
|
||||
--- pacman-5.0.1-orig/lib/libalpm/util.c 2016-07-15 09:42:21.400037400 +0300
|
||||
+++ pacman-5.0.1/lib/libalpm/util.c 2016-07-15 09:42:22.245037400 +0300
|
||||
@@ -300,6 +300,23 @@
|
||||
From 0ebccf0918aa77de75972754d43e02b717e308cd 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
|
||||
|
||||
---
|
||||
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 00a6acb..6f6cd2e 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,
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -25,8 +35,8 @@ diff -Naur pacman-5.0.1-orig/lib/libalpm/util.c pacman-5.0.1/lib/libalpm/util.c
|
||||
/** Unpack a list of files in an archive.
|
||||
* @param handle the context handle
|
||||
* @param path the archive to unpack
|
||||
@@ -629,7 +646,7 @@
|
||||
umask(0022);
|
||||
@@ -655,7 +672,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));
|
||||
@@ -34,7 +44,7 @@ diff -Naur pacman-5.0.1-orig/lib/libalpm/util.c pacman-5.0.1/lib/libalpm/util.c
|
||||
exit(1);
|
||||
} else {
|
||||
/* this code runs for the parent only (wait on the child) */
|
||||
@@ -708,7 +725,7 @@
|
||||
@@ -744,7 +761,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) {
|
||||
@@ -43,3 +53,6 @@ diff -Naur pacman-5.0.1-orig/lib/libalpm/util.c pacman-5.0.1/lib/libalpm/util.c
|
||||
retval = 1;
|
||||
}
|
||||
} else if(WIFSIGNALED(status) != 0) {
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -1,18 +1,126 @@
|
||||
diff -Naur pacman-5.1.0-orig/src/pacman/sighandler.c pacman-5.1.0/src/pacman/sighandler.c
|
||||
--- pacman-5.1.0-orig/src/pacman/sighandler.c 2018-05-14 03:02:18.000000000 +0300
|
||||
+++ pacman-5.1.0/src/pacman/sighandler.c 2018-06-21 12:53:58.922056300 +0300
|
||||
From 16ca714fdcce63c7bc5b51616ccb4a56e19ec537 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
|
||||
|
||||
---
|
||||
lib/libalpm/alpm.h | 9 +++
|
||||
lib/libalpm/package.c | 16 +++++
|
||||
lib/libalpm/sync.c | 24 +++++++
|
||||
src/pacman/sighandler.c | 14 ++++
|
||||
src/pacman/sync.c | 140 ++++++++++++++++++++++++++++++++++++++++
|
||||
5 files changed, 203 insertions(+)
|
||||
|
||||
diff --git a/lib/libalpm/alpm.h b/lib/libalpm/alpm.h
|
||||
index fd207b5..2219f5e 100644
|
||||
--- a/lib/libalpm/alpm.h
|
||||
+++ b/lib/libalpm/alpm.h
|
||||
@@ -1506,6 +1506,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);
|
||||
+#ifdef __MSYS__
|
||||
+int alpm_sync_sysupgrade_core(alpm_handle_t *handle, int enable_downgrade);
|
||||
+
|
||||
+/** Informs whether a package is a core package.
|
||||
+ * @param pkg the package to check
|
||||
+ * @return non-zero if this is a core package, zero otherwise
|
||||
+ */
|
||||
+int alpm_pkg_is_core_package(const alpm_pkg_t *pkg);
|
||||
+#endif
|
||||
|
||||
/** 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
|
||||
--- 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)
|
||||
|
||||
return 0;
|
||||
}
|
||||
+
|
||||
+#ifdef __MSYS__
|
||||
+int SYMEXPORT alpm_pkg_is_core_package(const alpm_pkg_t *pkg)
|
||||
+{
|
||||
+ if (pkg == NULL)
|
||||
+ return 0;
|
||||
+ return
|
||||
+ strcmp(pkg->name, "bash") == 0 ||
|
||||
+ strcmp(pkg->name, "filesystem") == 0 ||
|
||||
+ strcmp(pkg->name, "mintty") == 0 ||
|
||||
+ strcmp(pkg->name, "msys2-runtime") == 0 ||
|
||||
+ strcmp(pkg->name, "msys2-runtime-devel") == 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 a596945..bb95570 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,
|
||||
}
|
||||
|
||||
/** 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)
|
||||
+#else
|
||||
int SYMEXPORT alpm_sync_sysupgrade(alpm_handle_t *handle, int enable_downgrade)
|
||||
+#endif
|
||||
{
|
||||
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)
|
||||
for(i = _alpm_db_get_pkgcache(handle->db_local); i; i = i->next) {
|
||||
alpm_pkg_t *lpkg = i->data;
|
||||
|
||||
+#ifdef __MSYS__
|
||||
+ /* Skip regular packages in core update, and core packages in regular update */
|
||||
+ if(core_update != alpm_pkg_is_core_package(lpkg)) {
|
||||
+ continue;
|
||||
+ }
|
||||
+#endif
|
||||
+
|
||||
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)
|
||||
return 0;
|
||||
}
|
||||
|
||||
+#ifdef __MSYS__
|
||||
+int SYMEXPORT alpm_sync_sysupgrade(alpm_handle_t *handle, int enable_downgrade)
|
||||
+{
|
||||
+ return do_alpm_sync_sysupgrade(handle, enable_downgrade, 0);
|
||||
+}
|
||||
+
|
||||
+int SYMEXPORT alpm_sync_sysupgrade_core(alpm_handle_t *handle, int enable_downgrade)
|
||||
+{
|
||||
+ return do_alpm_sync_sysupgrade(handle, enable_downgrade, 1);
|
||||
+}
|
||||
+#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.
|
||||
diff --git a/src/pacman/sighandler.c b/src/pacman/sighandler.c
|
||||
index 46e6481..c152eea 100644
|
||||
--- a/src/pacman/sighandler.c
|
||||
+++ b/src/pacman/sighandler.c
|
||||
@@ -21,6 +21,10 @@
|
||||
#include <signal.h>
|
||||
#include <unistd.h>
|
||||
|
||||
|
||||
+#ifdef __MSYS__
|
||||
+#include <termios.h>
|
||||
+#endif
|
||||
+
|
||||
#include <alpm.h>
|
||||
|
||||
|
||||
#include "conf.h"
|
||||
@@ -44,6 +48,9 @@
|
||||
@@ -53,6 +57,9 @@ static void _reset_handler(int signum)
|
||||
*/
|
||||
static void soft_interrupt_handler(int signum)
|
||||
{
|
||||
@@ -22,7 +130,7 @@ diff -Naur pacman-5.1.0-orig/src/pacman/sighandler.c pacman-5.1.0/src/pacman/sig
|
||||
if(signum == SIGINT) {
|
||||
const char msg[] = "\nInterrupt signal received\n";
|
||||
xwrite(STDERR_FILENO, msg, ARRAYSIZE(msg) - 1);
|
||||
@@ -56,6 +63,13 @@
|
||||
@@ -65,6 +72,13 @@ static void soft_interrupt_handler(int signum)
|
||||
return;
|
||||
}
|
||||
alpm_unlock(config->handle);
|
||||
@@ -36,13 +144,14 @@ diff -Naur pacman-5.1.0-orig/src/pacman/sighandler.c pacman-5.1.0/src/pacman/sig
|
||||
/* output a newline to be sure we clear any line we may be on */
|
||||
xwrite(STDOUT_FILENO, "\n", 1);
|
||||
_Exit(128 + signum);
|
||||
diff -Naur pacman-5.1.0-orig/src/pacman/sync.c pacman-5.1.0/src/pacman/sync.c
|
||||
--- pacman-5.1.0-orig/src/pacman/sync.c 2018-05-14 03:02:18.000000000 +0300
|
||||
+++ pacman-5.1.0/src/pacman/sync.c 2018-06-21 13:35:38.316684900 +0300
|
||||
diff --git a/src/pacman/sync.c b/src/pacman/sync.c
|
||||
index 0473f4e..0d39a37 100644
|
||||
--- a/src/pacman/sync.c
|
||||
+++ b/src/pacman/sync.c
|
||||
@@ -28,6 +28,12 @@
|
||||
#include <sys/stat.h>
|
||||
#include <fnmatch.h>
|
||||
|
||||
|
||||
+#ifdef __MSYS__
|
||||
+#include <termios.h>
|
||||
+#include <handle.h>
|
||||
@@ -51,8 +160,8 @@ diff -Naur pacman-5.1.0-orig/src/pacman/sync.c pacman-5.1.0/src/pacman/sync.c
|
||||
+
|
||||
#include <alpm.h>
|
||||
#include <alpm_list.h>
|
||||
|
||||
@@ -680,8 +686,134 @@
|
||||
|
||||
@@ -680,8 +686,134 @@ cleanup:
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -187,9 +296,9 @@ diff -Naur pacman-5.1.0-orig/src/pacman/sync.c pacman-5.1.0/src/pacman/sync.c
|
||||
int retval = 0;
|
||||
alpm_list_t *i;
|
||||
|
||||
@@ -695,6 +767,14 @@
|
||||
@@ -704,6 +836,14 @@ static int sync_trans(alpm_list_t *targets)
|
||||
}
|
||||
|
||||
|
||||
if(config->op_s_upgrade) {
|
||||
+#ifdef __MSYS__
|
||||
+ if((retval = core_update(&found_core_updates))) {
|
||||
@@ -202,94 +311,6 @@ diff -Naur pacman-5.1.0-orig/src/pacman/sync.c pacman-5.1.0/src/pacman/sync.c
|
||||
if(!config->print) {
|
||||
colon_printf(_("Starting full system upgrade...\n"));
|
||||
alpm_logaction(config->handle, PACMAN_CALLER_PREFIX,
|
||||
diff -Naur pacman-5.1.0-orig/lib/libalpm/alpm.h pacman-5.1.0/lib/libalpm/alpm.h
|
||||
--- pacman-5.1.0-orig/lib/libalpm/alpm.h 2018-05-14 03:02:18.000000000 +0300
|
||||
+++ pacman-5.1.0/lib/libalpm/alpm.h 2018-06-21 12:53:58.842056200 +0300
|
||||
@@ -1558,6 +1558,15 @@
|
||||
* @return 0 on success, -1 on error (pm_errno is set accordingly)
|
||||
*/
|
||||
int alpm_sync_sysupgrade(alpm_handle_t *handle, int enable_downgrade);
|
||||
+#ifdef __MSYS__
|
||||
+int alpm_sync_sysupgrade_core(alpm_handle_t *handle, int enable_downgrade);
|
||||
+
|
||||
+/** Informs whether a package is a core package.
|
||||
+ * @param pkg the package to check
|
||||
+ * @return non-zero if this is a core package, zero otherwise
|
||||
+ */
|
||||
+int alpm_pkg_is_core_package(const alpm_pkg_t *pkg);
|
||||
+#endif
|
||||
--
|
||||
2.31.1
|
||||
|
||||
/** Add a package to the transaction.
|
||||
* If the package was loaded by alpm_pkg_load(), it will be freed upon
|
||||
diff -Naur pacman-5.1.0-orig/lib/libalpm/package.c pacman-5.1.0/lib/libalpm/package.c
|
||||
--- pacman-5.1.0-orig/lib/libalpm/package.c 2018-05-14 03:02:18.000000000 +0300
|
||||
+++ pacman-5.1.0/lib/libalpm/package.c 2018-06-21 12:59:13.842497200 +0300
|
||||
@@ -805,3 +805,19 @@
|
||||
|
||||
return 0;
|
||||
}
|
||||
+
|
||||
+#ifdef __MSYS__
|
||||
+int SYMEXPORT alpm_pkg_is_core_package(const alpm_pkg_t *pkg)
|
||||
+{
|
||||
+ if (pkg == NULL)
|
||||
+ return 0;
|
||||
+ return
|
||||
+ strcmp(pkg->name, "bash") == 0 ||
|
||||
+ strcmp(pkg->name, "filesystem") == 0 ||
|
||||
+ strcmp(pkg->name, "mintty") == 0 ||
|
||||
+ strcmp(pkg->name, "msys2-runtime") == 0 ||
|
||||
+ strcmp(pkg->name, "msys2-runtime-devel") == 0 ||
|
||||
+ strcmp(pkg->name, "pacman") == 0 ||
|
||||
+ strcmp(pkg->name, "pacman-mirrors") == 0;
|
||||
+}
|
||||
+#endif
|
||||
diff -Naur pacman-5.1.0-orig/lib/libalpm/sync.c pacman-5.1.0/lib/libalpm/sync.c
|
||||
--- pacman-5.1.0-orig/lib/libalpm/sync.c 2018-05-14 03:02:18.000000000 +0300
|
||||
+++ pacman-5.1.0/lib/libalpm/sync.c 2018-06-21 12:53:58.852056200 +0300
|
||||
@@ -200,7 +200,12 @@
|
||||
}
|
||||
|
||||
/** 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)
|
||||
+#else
|
||||
int SYMEXPORT alpm_sync_sysupgrade(alpm_handle_t *handle, int enable_downgrade)
|
||||
+#endif
|
||||
{
|
||||
alpm_list_t *i, *j;
|
||||
alpm_trans_t *trans;
|
||||
@@ -214,6 +219,13 @@
|
||||
for(i = _alpm_db_get_pkgcache(handle->db_local); i; i = i->next) {
|
||||
alpm_pkg_t *lpkg = i->data;
|
||||
|
||||
+#ifdef __MSYS__
|
||||
+ /* Skip regular packages in core update, and core packages in regular update */
|
||||
+ if(core_update != alpm_pkg_is_core_package(lpkg)) {
|
||||
+ continue;
|
||||
+ }
|
||||
+#endif
|
||||
+
|
||||
if(alpm_pkg_find(trans->remove, lpkg->name)) {
|
||||
_alpm_log(handle, ALPM_LOG_DEBUG, "%s is marked for removal -- skipping\n", lpkg->name);
|
||||
continue;
|
||||
@@ -255,6 +267,18 @@
|
||||
return 0;
|
||||
}
|
||||
|
||||
+#ifdef __MSYS__
|
||||
+int SYMEXPORT alpm_sync_sysupgrade(alpm_handle_t *handle, int enable_downgrade)
|
||||
+{
|
||||
+ return do_alpm_sync_sysupgrade(handle, enable_downgrade, 0);
|
||||
+}
|
||||
+
|
||||
+int SYMEXPORT alpm_sync_sysupgrade_core(alpm_handle_t *handle, int enable_downgrade)
|
||||
+{
|
||||
+ return do_alpm_sync_sysupgrade(handle, enable_downgrade, 1);
|
||||
+}
|
||||
+#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.
|
||||
@@ -1,7 +1,31 @@
|
||||
diff -Naur pacman-5.1.0-orig/lib/libalpm/add.c pacman-5.1.0/lib/libalpm/add.c
|
||||
--- pacman-5.1.0-orig/lib/libalpm/add.c 2018-05-14 03:02:18.000000000 +0300
|
||||
+++ pacman-5.1.0/lib/libalpm/add.c 2018-06-21 12:53:58.832056200 +0300
|
||||
@@ -656,7 +658,10 @@
|
||||
From 66df8638f4b4b83905b939027de4fdae990c666e 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
|
||||
|
||||
---
|
||||
lib/libalpm/add.c | 9 ++++++++-
|
||||
lib/libalpm/remove.c | 4 ++++
|
||||
lib/libalpm/util.c | 2 ++
|
||||
test/pacman/ldconfig.stub | 4 ----
|
||||
test/pacman/meson.build | 4 ----
|
||||
test/pacman/pactest.py | 4 ----
|
||||
test/pacman/pmtest.py | 8 +-------
|
||||
test/pacman/tests/TESTS | 3 ---
|
||||
test/pacman/tests/ldconfig001.py | 9 ---------
|
||||
test/pacman/tests/ldconfig002.py | 13 -------------
|
||||
test/pacman/tests/ldconfig003.py | 9 ---------
|
||||
11 files changed, 15 insertions(+), 54 deletions(-)
|
||||
delete mode 100755 test/pacman/ldconfig.stub
|
||||
delete mode 100644 test/pacman/tests/ldconfig001.py
|
||||
delete mode 100644 test/pacman/tests/ldconfig002.py
|
||||
delete mode 100644 test/pacman/tests/ldconfig003.py
|
||||
|
||||
diff --git a/lib/libalpm/add.c b/lib/libalpm/add.c
|
||||
index 1e330ca..d30777a 100644
|
||||
--- a/lib/libalpm/add.c
|
||||
+++ b/lib/libalpm/add.c
|
||||
@@ -663,7 +663,10 @@ cleanup:
|
||||
int _alpm_upgrade_packages(alpm_handle_t *handle)
|
||||
{
|
||||
size_t pkg_count, pkg_current;
|
||||
@@ -12,8 +36,8 @@ diff -Naur pacman-5.1.0-orig/lib/libalpm/add.c pacman-5.1.0/lib/libalpm/add.c
|
||||
+ int ret = 0;
|
||||
alpm_list_t *targ;
|
||||
alpm_trans_t *trans = handle->trans;
|
||||
|
||||
@@ -679,18 +684,22 @@
|
||||
|
||||
@@ -686,18 +689,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;
|
||||
@@ -23,23 +47,24 @@ diff -Naur pacman-5.1.0-orig/lib/libalpm/add.c pacman-5.1.0/lib/libalpm/add.c
|
||||
+#endif
|
||||
ret = -1;
|
||||
}
|
||||
|
||||
|
||||
pkg_current++;
|
||||
}
|
||||
|
||||
|
||||
+#ifndef __MSYS__
|
||||
if(!skip_ldconfig) {
|
||||
/* run ldconfig if it exists */
|
||||
_alpm_ldconfig(handle);
|
||||
}
|
||||
+#endif
|
||||
|
||||
|
||||
return ret;
|
||||
}
|
||||
diff -Naur pacman-5.1.0-orig/lib/libalpm/remove.c pacman-5.1.0/lib/libalpm/remove.c
|
||||
--- pacman-5.1.0-orig/lib/libalpm/remove.c 2018-05-14 03:02:18.000000000 +0300
|
||||
+++ pacman-5.1.0/lib/libalpm/remove.c 2018-06-21 12:53:58.852056200 +0300
|
||||
@@ -772,18 +772,22 @@
|
||||
diff --git a/lib/libalpm/remove.c b/lib/libalpm/remove.c
|
||||
index e891550..e0617cf 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)
|
||||
if(_alpm_remove_single_package(handle, pkg, NULL,
|
||||
targ_count, pkg_count) == -1) {
|
||||
handle->pm_errno = ALPM_ERR_TRANS_ABORT;
|
||||
@@ -49,50 +74,76 @@ diff -Naur pacman-5.1.0-orig/lib/libalpm/remove.c pacman-5.1.0/lib/libalpm/remov
|
||||
+#endif
|
||||
ret = -1;
|
||||
}
|
||||
|
||||
|
||||
targ_count++;
|
||||
}
|
||||
|
||||
|
||||
+#ifndef __MSYS__
|
||||
if(run_ldconfig) {
|
||||
/* run ldconfig if it exists */
|
||||
_alpm_ldconfig(handle);
|
||||
}
|
||||
+#endif
|
||||
|
||||
|
||||
return ret;
|
||||
}
|
||||
diff -Naur pacman-5.1.0-orig/lib/libalpm/util.c pacman-5.1.0/lib/libalpm/util.c
|
||||
--- pacman-5.1.0-orig/lib/libalpm/util.c 2018-05-14 03:02:18.000000000 +0300
|
||||
+++ pacman-5.1.0/lib/libalpm/util.c 2018-06-21 12:53:58.852056200 +0300
|
||||
@@ -743,6 +743,7 @@
|
||||
diff --git a/lib/libalpm/util.c b/lib/libalpm/util.c
|
||||
index 6f6cd2e..87c3acd 100644
|
||||
--- a/lib/libalpm/util.c
|
||||
+++ b/lib/libalpm/util.c
|
||||
@@ -788,6 +788,7 @@ cleanup:
|
||||
return retval;
|
||||
}
|
||||
|
||||
|
||||
+#ifndef __MSYS__
|
||||
/** Run ldconfig in a chroot.
|
||||
* @param handle the context handle
|
||||
* @return 0 on success, 1 on error
|
||||
@@ -766,6 +767,7 @@
|
||||
|
||||
@@ -811,6 +812,7 @@ int _alpm_ldconfig(alpm_handle_t *handle)
|
||||
|
||||
return 0;
|
||||
}
|
||||
+#endif
|
||||
|
||||
|
||||
/** Helper function for comparing strings using the alpm "compare func"
|
||||
* signature.
|
||||
diff -Naur pacman-5.1.0-orig/test/pacman/ldconfig.stub pacman-5.1.0/test/pacman/ldconfig.stub
|
||||
--- pacman-5.1.0-orig/test/pacman/ldconfig.stub 2017-12-13 13:47:39.000000000 +0300
|
||||
+++ pacman-5.1.0/test/pacman/ldconfig.stub 1970-01-01 03:00:00.000000000 +0300
|
||||
diff --git a/test/pacman/ldconfig.stub b/test/pacman/ldconfig.stub
|
||||
deleted file mode 100755
|
||||
index d261a04..0000000
|
||||
--- a/test/pacman/ldconfig.stub
|
||||
+++ /dev/null
|
||||
@@ -1,4 +0,0 @@
|
||||
-#!/bin/sh
|
||||
-# A simple stub to copy into the chroot to fake ldconfig.
|
||||
-# Simply appends a line to /etc/ld.so.cache if called.
|
||||
-echo "ldconfig called" >> /etc/ld.so.cache
|
||||
diff -Naur pacman-5.1.0-orig/test/pacman/pactest.py pacman-5.1.0/test/pacman/pactest.py
|
||||
--- pacman-5.1.0-orig/test/pacman/pactest.py 2018-05-14 03:02:18.000000000 +0300
|
||||
+++ pacman-5.1.0/test/pacman/pactest.py 2018-06-21 13:36:21.136744900 +0300
|
||||
@@ -94,9 +94,6 @@
|
||||
diff --git a/test/pacman/meson.build b/test/pacman/meson.build
|
||||
index 4e87b4f..dcc7800 100644
|
||||
--- a/test/pacman/meson.build
|
||||
+++ b/test/pacman/meson.build
|
||||
@@ -79,9 +79,6 @@ pacman_tests = [
|
||||
'tests/ignore006.py',
|
||||
'tests/ignore007.py',
|
||||
'tests/ignore008.py',
|
||||
- 'tests/ldconfig001.py',
|
||||
- 'tests/ldconfig002.py',
|
||||
- 'tests/ldconfig003.py',
|
||||
'tests/mode001.py',
|
||||
'tests/mode002.py',
|
||||
'tests/mode003.py',
|
||||
@@ -336,7 +333,6 @@ foreach input : pacman_tests
|
||||
join_paths(meson.current_source_dir(), 'pactest.py'),
|
||||
'--scriptlet-shell', get_option('scriptlet-shell'),
|
||||
'--bindir', meson.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 bd53b05..ac21840 100755
|
||||
--- a/test/pacman/pactest.py
|
||||
+++ b/test/pacman/pactest.py
|
||||
@@ -104,9 +104,6 @@ def create_parser():
|
||||
parser.add_option("--scriptlet-shell", type = "string",
|
||||
dest = "scriptletshell", default = "/bin/sh",
|
||||
help = "specify path to shell used for install scriptlets")
|
||||
@@ -102,7 +153,7 @@ diff -Naur pacman-5.1.0-orig/test/pacman/pactest.py pacman-5.1.0/test/pacman/pac
|
||||
parser.add_option("--review", action = "store_true",
|
||||
dest = "review", default = False,
|
||||
help = "review test files, test output, and saved logs")
|
||||
@@ -135,7 +132,6 @@
|
||||
@@ -145,7 +142,6 @@ if __name__ == "__main__":
|
||||
env.pacman["valgrind"] = opts.valgrind
|
||||
env.pacman["manual-confirm"] = opts.manualconfirm
|
||||
env.pacman["scriptlet-shell"] = opts.scriptletshell
|
||||
@@ -110,10 +161,11 @@ diff -Naur pacman-5.1.0-orig/test/pacman/pactest.py pacman-5.1.0/test/pacman/pac
|
||||
env.config["gpg"] = not opts.missing_gpg
|
||||
env.config["nls"] = not opts.missing_nls
|
||||
env.config["curl"] = not opts.missing_curl
|
||||
diff -Naur pacman-5.1.0-orig/test/pacman/pmtest.py pacman-5.1.0/test/pacman/pmtest.py
|
||||
--- pacman-5.1.0-orig/test/pacman/pmtest.py 2018-05-14 03:02:18.000000000 +0300
|
||||
+++ pacman-5.1.0/test/pacman/pmtest.py 2018-06-21 12:53:58.942056300 +0300
|
||||
@@ -127,12 +127,10 @@
|
||||
diff --git a/test/pacman/pmtest.py b/test/pacman/pmtest.py
|
||||
index 5ce752e..a0cc61b 100644
|
||||
--- a/test/pacman/pmtest.py
|
||||
+++ b/test/pacman/pmtest.py
|
||||
@@ -129,12 +129,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")
|
||||
@@ -127,7 +179,7 @@ diff -Naur pacman-5.1.0-orig/test/pacman/pmtest.py pacman-5.1.0/test/pacman/pmte
|
||||
for sys_dir in sys_dirs:
|
||||
if not os.path.isdir(sys_dir):
|
||||
vprint("\t%s" % sys_dir[len(self.root)+1:])
|
||||
@@ -141,10 +139,6 @@
|
||||
@@ -143,10 +141,6 @@ class pmtest(object):
|
||||
shutil.copy("/bin/sh", bindir)
|
||||
if shell != "bin/sh":
|
||||
shutil.copy("/bin/sh", os.path.join(self.root, shell))
|
||||
@@ -135,12 +187,28 @@ diff -Naur pacman-5.1.0-orig/test/pacman/pmtest.py pacman-5.1.0/test/pacman/pmte
|
||||
- os.path.join(ldconfigdir, ldconfig))
|
||||
- ld_so_conf = open(os.path.join(etcdir, "ld.so.conf"), "w")
|
||||
- ld_so_conf.close()
|
||||
|
||||
|
||||
# Configuration file
|
||||
vprint(" Creating configuration file")
|
||||
diff -Naur pacman-5.1.0-orig/test/pacman/tests/ldconfig001.py pacman-5.1.0/test/pacman/tests/ldconfig001.py
|
||||
--- pacman-5.1.0-orig/test/pacman/tests/ldconfig001.py 2017-12-13 13:47:39.000000000 +0300
|
||||
+++ pacman-5.1.0/test/pacman/tests/ldconfig001.py 1970-01-01 03:00:00.000000000 +0300
|
||||
diff --git a/test/pacman/tests/TESTS b/test/pacman/tests/TESTS
|
||||
index 74c8f67..b29181b 100644
|
||||
--- a/test/pacman/tests/TESTS
|
||||
+++ b/test/pacman/tests/TESTS
|
||||
@@ -78,9 +78,6 @@ TESTS += test/pacman/tests/ignore005.py
|
||||
TESTS += test/pacman/tests/ignore006.py
|
||||
TESTS += test/pacman/tests/ignore007.py
|
||||
TESTS += test/pacman/tests/ignore008.py
|
||||
-TESTS += test/pacman/tests/ldconfig001.py
|
||||
-TESTS += test/pacman/tests/ldconfig002.py
|
||||
-TESTS += test/pacman/tests/ldconfig003.py
|
||||
TESTS += test/pacman/tests/mode001.py
|
||||
TESTS += test/pacman/tests/mode002.py
|
||||
TESTS += test/pacman/tests/mode003.py
|
||||
diff --git a/test/pacman/tests/ldconfig001.py b/test/pacman/tests/ldconfig001.py
|
||||
deleted file mode 100644
|
||||
index a97f28c..0000000
|
||||
--- a/test/pacman/tests/ldconfig001.py
|
||||
+++ /dev/null
|
||||
@@ -1,9 +0,0 @@
|
||||
-self.description = "Make sure ldconfig runs on an upgrade operation"
|
||||
-
|
||||
@@ -151,9 +219,11 @@ diff -Naur pacman-5.1.0-orig/test/pacman/tests/ldconfig001.py pacman-5.1.0/test/
|
||||
-
|
||||
-self.addrule("PACMAN_RETCODE=0")
|
||||
-self.addrule("FILE_EXIST=etc/ld.so.cache")
|
||||
diff -Naur pacman-5.1.0-orig/test/pacman/tests/ldconfig002.py pacman-5.1.0/test/pacman/tests/ldconfig002.py
|
||||
--- pacman-5.1.0-orig/test/pacman/tests/ldconfig002.py 2017-12-13 13:47:39.000000000 +0300
|
||||
+++ pacman-5.1.0/test/pacman/tests/ldconfig002.py 1970-01-01 03:00:00.000000000 +0300
|
||||
diff --git a/test/pacman/tests/ldconfig002.py b/test/pacman/tests/ldconfig002.py
|
||||
deleted file mode 100644
|
||||
index 07f2ec6..0000000
|
||||
--- a/test/pacman/tests/ldconfig002.py
|
||||
+++ /dev/null
|
||||
@@ -1,13 +0,0 @@
|
||||
-self.description = "Make sure ldconfig runs on an upgrade operation"
|
||||
-
|
||||
@@ -168,9 +238,11 @@ diff -Naur pacman-5.1.0-orig/test/pacman/tests/ldconfig002.py pacman-5.1.0/test/
|
||||
-self.addrule("PACMAN_RETCODE=0")
|
||||
-self.addrule("PKG_VERSION=dummy|1.0-2")
|
||||
-self.addrule("FILE_EXIST=etc/ld.so.cache")
|
||||
diff -Naur pacman-5.1.0-orig/test/pacman/tests/ldconfig003.py pacman-5.1.0/test/pacman/tests/ldconfig003.py
|
||||
--- pacman-5.1.0-orig/test/pacman/tests/ldconfig003.py 2017-12-13 13:47:39.000000000 +0300
|
||||
+++ pacman-5.1.0/test/pacman/tests/ldconfig003.py 1970-01-01 03:00:00.000000000 +0300
|
||||
diff --git a/test/pacman/tests/ldconfig003.py b/test/pacman/tests/ldconfig003.py
|
||||
deleted file mode 100644
|
||||
index 9b2967e..0000000
|
||||
--- a/test/pacman/tests/ldconfig003.py
|
||||
+++ /dev/null
|
||||
@@ -1,9 +0,0 @@
|
||||
-self.description = "Make sure ldconfig runs on a sync operation"
|
||||
-
|
||||
@@ -181,36 +253,6 @@ diff -Naur pacman-5.1.0-orig/test/pacman/tests/ldconfig003.py pacman-5.1.0/test/
|
||||
-
|
||||
-self.addrule("PACMAN_RETCODE=0")
|
||||
-self.addrule("FILE_EXIST=etc/ld.so.cache")
|
||||
diff -Naur pacman-5.1.0-orig/test/pacman/tests/TESTS pacman-5.1.0/test/pacman/tests/TESTS
|
||||
--- pacman-5.1.0-orig/test/pacman/tests/TESTS 2018-03-18 05:51:17.000000000 +0300
|
||||
+++ pacman-5.1.0/test/pacman/tests/TESTS 2018-06-21 12:53:58.942056300 +0300
|
||||
@@ -78,9 +78,6 @@
|
||||
TESTS += test/pacman/tests/ignore006.py
|
||||
TESTS += test/pacman/tests/ignore007.py
|
||||
TESTS += test/pacman/tests/ignore008.py
|
||||
-TESTS += test/pacman/tests/ldconfig001.py
|
||||
-TESTS += test/pacman/tests/ldconfig002.py
|
||||
-TESTS += test/pacman/tests/ldconfig003.py
|
||||
TESTS += test/pacman/tests/mode001.py
|
||||
TESTS += test/pacman/tests/mode002.py
|
||||
TESTS += test/pacman/tests/mode003.py
|
||||
--- pacman-5.2.1/test/pacman/meson.build.orig 2019-08-12 03:26:54.000000000 +0200
|
||||
+++ pacman-5.2.1/test/pacman/meson.build 2020-05-16 17:14:19.986575000 +0200
|
||||
@@ -79,9 +79,6 @@
|
||||
'tests/ignore006.py',
|
||||
'tests/ignore007.py',
|
||||
'tests/ignore008.py',
|
||||
- 'tests/ldconfig001.py',
|
||||
- 'tests/ldconfig002.py',
|
||||
- 'tests/ldconfig003.py',
|
||||
'tests/mode001.py',
|
||||
'tests/mode002.py',
|
||||
'tests/mode003.py',
|
||||
@@ -336,7 +333,6 @@
|
||||
join_paths(meson.current_source_dir(), 'pactest.py'),
|
||||
'--scriptlet-shell', get_option('scriptlet-shell'),
|
||||
'--bindir', meson.build_root(),
|
||||
- '--ldconfig', LDCONFIG,
|
||||
'--verbose',
|
||||
join_paths(meson.current_source_dir(), input)
|
||||
]
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -1,40 +0,0 @@
|
||||
diff -Naur pacman-5.1.0-orig/lib/libalpm/version.c pacman-5.1.0/lib/libalpm/version.c
|
||||
--- pacman-5.1.0-orig/lib/libalpm/version.c 2018-05-14 03:02:18.000000000 +0300
|
||||
+++ pacman-5.1.0/lib/libalpm/version.c 2018-06-21 12:53:58.862056200 +0300
|
||||
@@ -50,7 +50,11 @@
|
||||
/* se points to version terminator */
|
||||
se = strrchr(s, '-');
|
||||
|
||||
+#ifdef __MSYS__
|
||||
+ if(*s == '~') {
|
||||
+#else
|
||||
if(*s == ':') {
|
||||
+#endif
|
||||
epoch = evr;
|
||||
*s++ = '\0';
|
||||
version = s;
|
||||
@@ -250,7 +254,7 @@
|
||||
return 0;
|
||||
}
|
||||
|
||||
- /* Parse both versions into [epoch:]version[-release] triplets. We probably
|
||||
+ /* Parse both versions into [epoch:|~]version[-release] triplets. We probably
|
||||
* don't need epoch and release to support all the same magic, but it is
|
||||
* easier to just run it all through the same code. */
|
||||
full1 = strdup(a);
|
||||
diff -Naur pacman-5.1.0-orig/scripts/libmakepkg/util/pkgbuild.sh.in pacman-5.1.0/scripts/libmakepkg/util/pkgbuild.sh.in
|
||||
--- pacman-5.1.0-orig/scripts/libmakepkg/util/pkgbuild.sh.in 2018-05-12 16:15:04.000000000 +0300
|
||||
+++ pacman-5.1.0/scripts/libmakepkg/util/pkgbuild.sh.in 2018-06-21 12:53:58.872056200 +0300
|
||||
@@ -149,7 +149,11 @@
|
||||
##
|
||||
get_full_version() {
|
||||
if (( epoch > 0 )); then
|
||||
- printf "%s\n" "$epoch:$pkgver-$pkgrel"
|
||||
+ if [[ -n $MSYSTEM ]]; then
|
||||
+ printf "%s\n" "${epoch}~${pkgver}-${pkgrel}"
|
||||
+ else
|
||||
+ printf "%s\n" "$epoch:$pkgver-$pkgrel"
|
||||
+ fi
|
||||
else
|
||||
printf "%s\n" "$pkgver-$pkgrel"
|
||||
fi
|
||||
55
pacman/0005-Change-the-epoch-separator.patch
Normal file
55
pacman/0005-Change-the-epoch-separator.patch
Normal file
@@ -0,0 +1,55 @@
|
||||
From e4c5d56bfa4ca985b74563e26c00b6fd2c01807a 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
|
||||
|
||||
---
|
||||
lib/libalpm/version.c | 6 +++++-
|
||||
scripts/libmakepkg/util/pkgbuild.sh.in | 6 +++++-
|
||||
2 files changed, 10 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/lib/libalpm/version.c b/lib/libalpm/version.c
|
||||
index a518a69..66b1db1 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,
|
||||
/* se points to version terminator */
|
||||
se = strrchr(s, '-');
|
||||
|
||||
+#ifdef __MSYS__
|
||||
+ if(*s == '~') {
|
||||
+#else
|
||||
if(*s == ':') {
|
||||
+#endif
|
||||
epoch = evr;
|
||||
*s++ = '\0';
|
||||
version = s;
|
||||
@@ -250,7 +254,7 @@ int SYMEXPORT alpm_pkg_vercmp(const char *a, const char *b)
|
||||
return 0;
|
||||
}
|
||||
|
||||
- /* Parse both versions into [epoch:]version[-release] triplets. We probably
|
||||
+ /* Parse both versions into [epoch:|~]version[-release] triplets. We probably
|
||||
* don't need epoch and release to support all the same magic, but it is
|
||||
* 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
|
||||
--- a/scripts/libmakepkg/util/pkgbuild.sh.in
|
||||
+++ b/scripts/libmakepkg/util/pkgbuild.sh.in
|
||||
@@ -164,7 +164,11 @@ get_pkgbuild_all_split_attributes() {
|
||||
##
|
||||
get_full_version() {
|
||||
if (( epoch > 0 )); then
|
||||
- printf "%s\n" "$epoch:$pkgver-$pkgrel"
|
||||
+ if [[ -n $MSYSTEM ]]; then
|
||||
+ printf "%s\n" "${epoch}~${pkgver}-${pkgrel}"
|
||||
+ else
|
||||
+ printf "%s\n" "$epoch:$pkgver-$pkgrel"
|
||||
+ fi
|
||||
else
|
||||
printf "%s\n" "$pkgver-$pkgrel"
|
||||
fi
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
From 3757cecebbf77f05742f0226c858edaad0e9654c Mon Sep 17 00:00:00 2001
|
||||
From e30c5a2fe51c570a93ea691033d4260426fb7733 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] makepkg: avoid creating .tar files with extended attributes
|
||||
Subject: [PATCH 06/N] makepkg: avoid creating .tar files with extended
|
||||
attributes
|
||||
|
||||
Extended attributes are not necessary for pacman to work. Extended
|
||||
attributes may not even be supported by the file system to which we
|
||||
@@ -22,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 0770640..513e4f1 100644
|
||||
index 86616de..6baeddf 100644
|
||||
--- a/scripts/makepkg.sh.in
|
||||
+++ b/scripts/makepkg.sh.in
|
||||
@@ -756,7 +756,7 @@ create_package() {
|
||||
@@ -697,7 +697,7 @@ create_package() {
|
||||
msg2 "$(gettext "Compressing package...")"
|
||||
# TODO: Maybe this can be set globally for robustness
|
||||
shopt -s -o pipefail
|
||||
@@ -35,5 +36,5 @@ index 0770640..513e4f1 100644
|
||||
|
||||
shopt -u -o pipefail
|
||||
--
|
||||
2.13.0
|
||||
2.31.1
|
||||
|
||||
|
||||
@@ -1,6 +1,23 @@
|
||||
--- pacman-5.0.1/lib/libalpm/conflict.c.orig 2016-01-04 04:27:45.000000000 +0100
|
||||
+++ pacman-5.0.1/lib/libalpm/conflict.c 2017-09-27 15:11:44.461428600 +0200
|
||||
@@ -535,6 +535,32 @@
|
||||
From c82f2a24e92f71badcf0236e5aa7971116493519 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 ->
|
||||
foo renames
|
||||
|
||||
In case a file "foo.exe" gets renamed to "foo" the msys2 .exe
|
||||
interpolation makes pacman think an untracker file is replaced.
|
||||
In case foo and foo.exe are the same file and foo.exe existed
|
||||
in the old package version we can be sure it's handled by the
|
||||
old package and ignore the conflict.
|
||||
---
|
||||
lib/libalpm/conflict.c | 26 ++++++++++++++++++++++++++
|
||||
1 file changed, 26 insertions(+)
|
||||
|
||||
diff --git a/lib/libalpm/conflict.c b/lib/libalpm/conflict.c
|
||||
index 7e986f1..c5d006b 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,
|
||||
|
||||
_alpm_log(handle, ALPM_LOG_DEBUG, "checking possible conflict: %s\n", path);
|
||||
|
||||
@@ -33,3 +50,6 @@
|
||||
pfile_isdir = path[pathlen - 1] == '/';
|
||||
if(pfile_isdir) {
|
||||
if(S_ISDIR(lsbuf.st_mode)) {
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 09ad07d05d61d3c15409eae9297493d633aaeecd Mon Sep 17 00:00:00 2001
|
||||
From 65cf1b7e2d10f35e0d0a00c3939e6ee71e12dba5 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] Change default answer of all queries to yes
|
||||
Subject: [PATCH 08/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,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 c1679e37..cbb01092 100644
|
||||
index a46f406..3d2fb44 100644
|
||||
--- a/src/pacman/callback.c
|
||||
+++ b/src/pacman/callback.c
|
||||
@@ -416,12 +416,12 @@ void cb_question(alpm_question_t *question)
|
||||
@@ -398,12 +398,12 @@ void cb_question(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 c1679e37..cbb01092 100644
|
||||
q->conflict->package1,
|
||||
q->conflict->package2,
|
||||
q->conflict->reason->name,
|
||||
@@ -445,7 +445,7 @@ void cb_question(alpm_question_t *question)
|
||||
@@ -427,7 +427,7 @@ void cb_question(alpm_question_t *question)
|
||||
count));
|
||||
list_display(" ", namelist, getcols());
|
||||
printf("\n");
|
||||
@@ -42,10 +42,10 @@ index c1679e37..cbb01092 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 73b48c36..a25d73af 100644
|
||||
index 9920f50..4c70d26 100644
|
||||
--- a/src/pacman/remove.c
|
||||
+++ b/src/pacman/remove.c
|
||||
@@ -146,7 +146,7 @@ int pacman_remove(alpm_list_t *targets)
|
||||
@@ -140,7 +140,7 @@ int pacman_remove(alpm_list_t *targets)
|
||||
holdpkg = 1;
|
||||
}
|
||||
}
|
||||
@@ -55,7 +55,7 @@ index 73b48c36..a25d73af 100644
|
||||
goto cleanup;
|
||||
}
|
||||
diff --git a/src/pacman/sync.c b/src/pacman/sync.c
|
||||
index 0f41fad9..62749aae 100644
|
||||
index 0d39a37..41ee123 100644
|
||||
--- a/src/pacman/sync.c
|
||||
+++ b/src/pacman/sync.c
|
||||
@@ -194,7 +194,7 @@ static int sync_cleancache(int level)
|
||||
@@ -68,5 +68,5 @@ index 0f41fad9..62749aae 100644
|
||||
continue;
|
||||
}
|
||||
--
|
||||
2.16.1.windows.4
|
||||
2.31.1
|
||||
|
||||
@@ -1,5 +1,16 @@
|
||||
--- pacman-5.1.0/lib/libalpm/util.c.orig 2018-06-22 07:29:01.599597700 +0300
|
||||
+++ pacman-5.1.0/lib/libalpm/util.c 2018-06-22 07:33:21.219961100 +0300
|
||||
From 9d1ea56b893e8460587a0d9f613cf447265647fc 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
|
||||
|
||||
---
|
||||
lib/libalpm/util.c | 26 ++++++++++++++++++++++++++
|
||||
1 file changed, 26 insertions(+)
|
||||
|
||||
diff --git a/lib/libalpm/util.c b/lib/libalpm/util.c
|
||||
index 87c3acd..6452eca 100644
|
||||
--- a/lib/libalpm/util.c
|
||||
+++ b/lib/libalpm/util.c
|
||||
@@ -30,7 +30,9 @@
|
||||
#include <errno.h>
|
||||
#include <limits.h>
|
||||
@@ -10,7 +21,7 @@
|
||||
#include <fnmatch.h>
|
||||
#include <poll.h>
|
||||
|
||||
@@ -483,6 +483,9 @@
|
||||
@@ -481,6 +483,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;
|
||||
@@ -20,7 +31,7 @@
|
||||
|
||||
if(*buf_size == 0) {
|
||||
/* empty buffer, ask the callback for more */
|
||||
@@ -490,7 +492,20 @@
|
||||
@@ -490,7 +495,20 @@ static int _alpm_chroot_write_to_child(alpm_handle_t *handle, int fd,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -41,7 +52,7 @@
|
||||
|
||||
if(nwrite != -1) {
|
||||
/* write was successful, remove the written data from the buffer */
|
||||
@@ -603,13 +618,21 @@
|
||||
@@ -622,13 +640,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);
|
||||
|
||||
@@ -63,3 +74,6 @@
|
||||
_alpm_log(handle, ALPM_LOG_ERROR, _("could not create pipe (%s)\n"), strerror(errno));
|
||||
retval = 1;
|
||||
goto cleanup;
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -1,9 +1,25 @@
|
||||
This makes _alpm_filelist_difference() and _alpm_filelist_intersection() take
|
||||
into account that filenames are case insensitive (only for ASCII, unicode is
|
||||
still broken). This fixes conflict detection in case two packages share the
|
||||
same filename with a different case.
|
||||
--- pacman-5.1.1-orig/lib/libalpm/filelist.c 2018-05-14 02:02:18.000000000 +0200
|
||||
+++ pacman-5.1.1/lib/libalpm/filelist.c 2018-09-28 13:05:47.398469000 +0200
|
||||
From bb14cd639cef1da7e51b9f2a4351725b3618082a 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
|
||||
case insensitive
|
||||
|
||||
In case a package gets upgrade and a filename has changed case this allows
|
||||
the upgrade to go through without any conflicts.
|
||||
|
||||
Similarly in case two different packages contain the same file with
|
||||
a different case this makes it correctly detect a conflict.
|
||||
|
||||
This only handles ASCII parts of paths, so Unicode filenames still can
|
||||
lead to invalid conflict detection.
|
||||
---
|
||||
lib/libalpm/filelist.c | 47 +++++++++++++++++++++++++++++++++++++-----
|
||||
1 file changed, 42 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/lib/libalpm/filelist.c b/lib/libalpm/filelist.c
|
||||
index 4a534b0..34a771a 100644
|
||||
--- a/lib/libalpm/filelist.c
|
||||
+++ b/lib/libalpm/filelist.c
|
||||
@@ -25,6 +25,43 @@
|
||||
#include "filelist.h"
|
||||
#include "util.h"
|
||||
@@ -48,7 +64,7 @@ same filename with a different case.
|
||||
/* Returns the difference of the provided two lists of files.
|
||||
* Pre-condition: both lists are sorted!
|
||||
* When done, free the list but NOT the contained data.
|
||||
@@ -39,7 +76,7 @@
|
||||
@@ -39,7 +76,7 @@ alpm_list_t *_alpm_filelist_difference(alpm_filelist_t *filesA,
|
||||
char *strA = filesA->files[ctrA].name;
|
||||
char *strB = filesB->files[ctrB].name;
|
||||
|
||||
@@ -57,7 +73,7 @@ same filename with a different case.
|
||||
if(cmp < 0) {
|
||||
/* item only in filesA, qualifies as a difference */
|
||||
ret = alpm_list_add(ret, strA);
|
||||
@@ -63,7 +100,7 @@
|
||||
@@ -63,7 +100,7 @@ alpm_list_t *_alpm_filelist_difference(alpm_filelist_t *filesA,
|
||||
|
||||
static int _alpm_filelist_pathcmp(const char *p1, const char *p2)
|
||||
{
|
||||
@@ -66,7 +82,7 @@ same filename with a different case.
|
||||
p1++;
|
||||
p2++;
|
||||
}
|
||||
@@ -75,7 +112,7 @@
|
||||
@@ -75,7 +112,7 @@ static int _alpm_filelist_pathcmp(const char *p1, const char *p2)
|
||||
p1++;
|
||||
}
|
||||
|
||||
@@ -75,7 +91,7 @@ same filename with a different case.
|
||||
}
|
||||
|
||||
/* Returns the intersection of the provided two lists of files.
|
||||
@@ -115,7 +152,7 @@
|
||||
@@ -115,7 +152,7 @@ static int _alpm_files_cmp(const void *f1, const void *f2)
|
||||
{
|
||||
const alpm_file_t *file1 = f1;
|
||||
const alpm_file_t *file2 = f2;
|
||||
@@ -84,7 +100,7 @@ same filename with a different case.
|
||||
}
|
||||
|
||||
alpm_file_t SYMEXPORT *alpm_filelist_contains(alpm_filelist_t *filelist,
|
||||
@@ -137,7 +174,7 @@
|
||||
@@ -137,7 +174,7 @@ void _alpm_filelist_sort(alpm_filelist_t *filelist)
|
||||
{
|
||||
size_t i;
|
||||
for(i = 1; i < filelist->count; i++) {
|
||||
@@ -93,3 +109,6 @@ same filename with a different case.
|
||||
/* filelist is not pre-sorted */
|
||||
qsort(filelist->files, filelist->count,
|
||||
sizeof(alpm_file_t), _alpm_files_cmp);
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -1,6 +1,17 @@
|
||||
--- pacman-5.2.1-orig/src/pacman/po/ja.po 2019-11-01 09:52:52.000000000 +0900
|
||||
+++ pacman-5.2.1/src/pacman/po/ja.po 2020-06-02 16:29:18.220253600 +0900
|
||||
@@ -1439,6 +1439,30 @@
|
||||
From b6a59bd96f1cee3cf3796b2046fb1751acd59bde 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
|
||||
|
||||
---
|
||||
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 40ce7f3..477fd6f 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"
|
||||
msgstr ""
|
||||
"'%s' はファイルです、あなたが行いたいのは %s で %s ではありませんか?\n"
|
||||
|
||||
@@ -31,3 +42,6 @@
|
||||
#: src/pacman/sync.c:708
|
||||
#, c-format
|
||||
msgid "Starting full system upgrade...\n"
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -1,6 +1,19 @@
|
||||
--- pacman-5.2.1/scripts/makepkg.sh.in.orig 2020-01-15 11:45:13.617261400 +0300
|
||||
+++ pacman-5.2.1/scripts/makepkg.sh.in 2020-01-15 11:47:05.351767400 +0300
|
||||
@@ -697,7 +697,7 @@
|
||||
From 6734419a33ad66f1fc2f399315af4577ff96af60 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
|
||||
Active Directory account
|
||||
|
||||
---
|
||||
scripts/makepkg.sh.in | 4 ++--
|
||||
scripts/repo-add.sh.in | 4 ++--
|
||||
2 files changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
|
||||
index 6baeddf..5ff6607 100644
|
||||
--- a/scripts/makepkg.sh.in
|
||||
+++ b/scripts/makepkg.sh.in
|
||||
@@ -697,7 +697,7 @@ create_package() {
|
||||
msg2 "$(gettext "Compressing package...")"
|
||||
# TODO: Maybe this can be set globally for robustness
|
||||
shopt -s -o pipefail
|
||||
@@ -9,7 +22,7 @@
|
||||
compress_as "$PKGEXT" > "${pkg_file}" || ret=$?
|
||||
|
||||
shopt -u -o pipefail
|
||||
@@ -788,7 +788,7 @@
|
||||
@@ -792,7 +792,7 @@ create_srcpackage() {
|
||||
|
||||
# TODO: Maybe this can be set globally for robustness
|
||||
shopt -s -o pipefail
|
||||
@@ -18,9 +31,11 @@
|
||||
|
||||
shopt -u -o pipefail
|
||||
|
||||
--- pacman-5.2.1/scripts/repo-add.sh.in.orig 2020-01-15 11:45:25.629308400 +0300
|
||||
+++ pacman-5.2.1/scripts/repo-add.sh.in 2020-01-15 11:46:36.730602900 +0300
|
||||
@@ -535,11 +535,11 @@
|
||||
diff --git a/scripts/repo-add.sh.in b/scripts/repo-add.sh.in
|
||||
index d8a539e..c9d93d4 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
|
||||
@@ -34,3 +49,6 @@
|
||||
fi
|
||||
popd >/dev/null
|
||||
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
From 31583e2b308d80d6514a091e973d7c868a9e7f5f Mon Sep 17 00:00:00 2001
|
||||
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: [pacman-dev] [PATCH] build: add libintl dependency to meson and the
|
||||
.pc file
|
||||
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).
|
||||
@@ -19,7 +18,7 @@ Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
|
||||
2 files changed, 7 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/lib/libalpm/libalpm.pc.in b/lib/libalpm/libalpm.pc.in
|
||||
index 126a6e6a..da7f96aa 100644
|
||||
index 126a6e6..da7f96a 100644
|
||||
--- a/lib/libalpm/libalpm.pc.in
|
||||
+++ b/lib/libalpm/libalpm.pc.in
|
||||
@@ -10,4 +10,4 @@ Version: @LIB_VERSION@
|
||||
@@ -29,10 +28,10 @@ index 126a6e6a..da7f96aa 100644
|
||||
-Libs.private: @LIBS@ @pc_gpgme_libs@
|
||||
+Libs.private: @LIBS@ @pc_gpgme_libs@ @LIBINTL@
|
||||
diff --git a/meson.build b/meson.build
|
||||
index 62d45966..bf2454c7 100644
|
||||
index 89362f2..ea6481a 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -77,9 +77,13 @@ conf.set_quoted('CACHEDIR', join_paths(LOCALSTATEDIR, 'cache/pacman/pkg/'))
|
||||
@@ -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)
|
||||
|
||||
@@ -47,7 +46,7 @@ index 62d45966..bf2454c7 100644
|
||||
endif
|
||||
conf.set('ENABLE_NLS', 1)
|
||||
endif
|
||||
@@ -303,7 +307,7 @@ libcommon = static_library(
|
||||
@@ -314,7 +318,7 @@ libcommon = static_library(
|
||||
include_directories : includes,
|
||||
install : false)
|
||||
|
||||
@@ -57,5 +56,5 @@ index 62d45966..bf2454c7 100644
|
||||
libalpm_a = static_library(
|
||||
'alpm_objlib',
|
||||
--
|
||||
2.26.2
|
||||
2.31.1
|
||||
|
||||
@@ -1,12 +1,22 @@
|
||||
From 5a6b9dbc388c617b25c03628db46a19867575eda 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
|
||||
|
||||
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
|
||||
sign.
|
||||
|
||||
https://bugs.python.org/issue9334
|
||||
---
|
||||
doc/meson.build | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
--- pacman-5.2.1/doc/meson.build 2019-08-12 03:26:42.000000000 +0200
|
||||
+++ pacman-5.2.1/doc/meson.build 2020-05-16 09:46:38.677111500 +0200
|
||||
@@ -57,7 +57,7 @@
|
||||
diff --git a/doc/meson.build b/doc/meson.build
|
||||
index a5bcd5b..a86f1bf 100644
|
||||
--- a/doc/meson.build
|
||||
+++ b/doc/meson.build
|
||||
@@ -57,7 +57,7 @@ foreach page : manpages
|
||||
'-f', 'manpage',
|
||||
'--xsltproc-opts', '-param man.endnotes.list.enabled 0 -param man.endnotes.are.numbered 0',
|
||||
'-D', '@OUTDIR@',
|
||||
@@ -15,3 +25,6 @@ https://bugs.python.org/issue9334
|
||||
'@INPUT@',
|
||||
],
|
||||
input : input,
|
||||
--
|
||||
2.31.1
|
||||
|
||||
28
pacman/0015-Remove-fakeroot.patch
Normal file
28
pacman/0015-Remove-fakeroot.patch
Normal file
@@ -0,0 +1,28 @@
|
||||
From 7e27cd03ab69d20fd078a12f378711b2a26056da 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
|
||||
|
||||
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
|
||||
new occurrences. Ideally this removal will be a completely separate patch in
|
||||
the future.
|
||||
---
|
||||
scripts/libmakepkg/executable/meson.build | 1 -
|
||||
1 file changed, 1 deletion(-)
|
||||
|
||||
diff --git a/scripts/libmakepkg/executable/meson.build b/scripts/libmakepkg/executable/meson.build
|
||||
index 8536a54..d5b6dcc 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',
|
||||
- 'fakeroot.sh.in',
|
||||
'gpg.sh.in',
|
||||
'gzip.sh.in',
|
||||
'pacman.sh.in',
|
||||
--
|
||||
2.31.1
|
||||
|
||||
29
pacman/0016-Remove-sudo.patch
Normal file
29
pacman/0016-Remove-sudo.patch
Normal file
@@ -0,0 +1,29 @@
|
||||
From 367915b8c1352e0c380a9a37270a3a0dd27058a3 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
|
||||
|
||||
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
|
||||
patching is currently done in 0000-pacman-msysize.patch, these are just some new
|
||||
occurrences. Ideally this removal will be a completely separate patch in the
|
||||
future.
|
||||
---
|
||||
scripts/libmakepkg/executable/meson.build | 1 -
|
||||
1 file changed, 1 deletion(-)
|
||||
|
||||
diff --git a/scripts/libmakepkg/executable/meson.build b/scripts/libmakepkg/executable/meson.build
|
||||
index d5b6dcc..535da57 100644
|
||||
--- a/scripts/libmakepkg/executable/meson.build
|
||||
+++ b/scripts/libmakepkg/executable/meson.build
|
||||
@@ -8,7 +8,6 @@ sources = [
|
||||
'gzip.sh.in',
|
||||
'pacman.sh.in',
|
||||
'strip.sh.in',
|
||||
- 'sudo.sh.in',
|
||||
'vcs.sh.in',
|
||||
]
|
||||
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
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
|
||||
new occurrences. Ideally this removal will be a completely separate patch in
|
||||
the future.
|
||||
|
||||
--- pacman-5.2.1/scripts/libmakepkg/executable/meson.build 2019-08-12 03:26:42.000000000 +0200
|
||||
+++ pacman-5.2.1/scripts/libmakepkg/executable/meson.build 2020-05-16 19:32:35.339363400 +0200
|
||||
@@ -4,7 +4,6 @@
|
||||
'ccache.sh.in',
|
||||
'checksum.sh.in',
|
||||
'distcc.sh.in',
|
||||
- 'fakeroot.sh.in',
|
||||
'gpg.sh.in',
|
||||
'gzip.sh.in',
|
||||
'pacman.sh.in',
|
||||
@@ -1,12 +1,22 @@
|
||||
From 5cdc97ce02770516db75c03a2ba5aac248b1e4b8 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
|
||||
|
||||
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
|
||||
absolute paths. Most of the patching is currently done in
|
||||
0000-pacman-msysize.patch, these are just some new occurrences. Ideally these
|
||||
PATH guards will be a completely separate patch in the future.
|
||||
---
|
||||
scripts/libmakepkg/meson.build | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
--- pacman-5.2.1/scripts/libmakepkg/meson.build 2019-08-12 03:26:42.000000000 +0200
|
||||
+++ pacman-5.2.1/scripts/libmakepkg/meson.build 2020-05-16 19:25:47.447523000 +0200
|
||||
@@ -7,6 +7,7 @@
|
||||
diff --git a/scripts/libmakepkg/meson.build b/scripts/libmakepkg/meson.build
|
||||
index b0697f7..3bdc66c 100644
|
||||
--- a/scripts/libmakepkg/meson.build
|
||||
+++ b/scripts/libmakepkg/meson.build
|
||||
@@ -7,6 +7,7 @@ libmakepkg_modules = [
|
||||
{ 'name' : 'lint_pkgbuild', 'has_subdir' : true },
|
||||
{ 'name' : 'source', 'has_subdir' : true },
|
||||
{ 'name' : 'srcinfo', },
|
||||
@@ -14,3 +24,6 @@ PATH guards will be a completely separate patch in the future.
|
||||
{ 'name' : 'tidy', 'has_subdir' : true },
|
||||
{ 'name' : 'util', 'has_subdir' : true },
|
||||
]
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -1,17 +0,0 @@
|
||||
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
|
||||
patching is currently done in 0000-pacman-msysize.patch, these are just some new
|
||||
occurrences. Ideally this removal will be a completely separate patch in the
|
||||
future.
|
||||
|
||||
--- pacman-5.2.1/scripts/libmakepkg/executable/meson.build 2019-08-12 03:26:42.000000000 +0200
|
||||
+++ pacman-5.2.1/scripts/libmakepkg/executable/meson.build 2020-05-16 19:33:16.467336500 +0200
|
||||
@@ -8,8 +8,7 @@
|
||||
'gpg.sh.in',
|
||||
'gzip.sh.in',
|
||||
'pacman.sh.in',
|
||||
'strip.sh.in',
|
||||
- 'sudo.sh.in',
|
||||
'vcs.sh.in',
|
||||
]
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 05aefb8f82d856626598ef6a3f49ff8d5f623bf5 Mon Sep 17 00:00:00 2001
|
||||
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: pacman: correct length of ".files.sig" string
|
||||
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
|
||||
@@ -22,13 +22,11 @@ Signed-off-by: Allan McRae <allan@archlinux.org>
|
||||
src/pacman/sync.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
(limited to 'src/pacman/sync.c')
|
||||
|
||||
diff --git a/src/pacman/sync.c b/src/pacman/sync.c
|
||||
index a05af5da..9ec4c92e 100644
|
||||
index 41ee123..b55e5b3 100644
|
||||
--- a/src/pacman/sync.c
|
||||
+++ b/src/pacman/sync.c
|
||||
@@ -105,7 +105,7 @@ static int sync_cleandb(const char *dbpath)
|
||||
@@ -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);
|
||||
@@ -38,5 +36,5 @@ index a05af5da..9ec4c92e 100644
|
||||
} else {
|
||||
ret += unlink_verbose(path, 0);
|
||||
--
|
||||
cgit v1.2.3-1-gf6bb5
|
||||
2.31.1
|
||||
|
||||
37
pacman/0019-Export-CC-and-CXX-variables-explicitly.patch
Normal file
37
pacman/0019-Export-CC-and-CXX-variables-explicitly.patch
Normal file
@@ -0,0 +1,37 @@
|
||||
From 046e01faeea7e0b1ea563f058aacaec946093f15 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
|
||||
|
||||
See https://github.com/msys2/MSYS2-packages/pull/2501
|
||||
---
|
||||
scripts/libmakepkg/buildenv.sh.in | 2 +-
|
||||
scripts/libmakepkg/buildenv/buildflags.sh.in | 2 +-
|
||||
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
|
||||
--- a/scripts/libmakepkg/buildenv.sh.in
|
||||
+++ b/scripts/libmakepkg/buildenv.sh.in
|
||||
@@ -36,5 +36,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
|
||||
}
|
||||
diff --git a/scripts/libmakepkg/buildenv/buildflags.sh.in b/scripts/libmakepkg/buildenv/buildflags.sh.in
|
||||
index 9814a54..e32bf21 100644
|
||||
--- a/scripts/libmakepkg/buildenv/buildflags.sh.in
|
||||
+++ b/scripts/libmakepkg/buildenv/buildflags.sh.in
|
||||
@@ -30,6 +30,6 @@ buildenv_functions+=('buildenv_buildflags')
|
||||
|
||||
buildenv_buildflags() {
|
||||
if check_option "buildflags" "n"; then
|
||||
- unset CPPFLAGS CFLAGS DEBUG_CFLAGS CXXFLAGS DEBUG_CXXFLAGS LDFLAGS RUSTFLAGS DEBUG_RUSTFLAGS
|
||||
+ unset CC CXX CPPFLAGS CFLAGS DEBUG_CFLAGS CXXFLAGS DEBUG_CXXFLAGS LDFLAGS RUSTFLAGS DEBUG_RUSTFLAGS
|
||||
fi
|
||||
}
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -1,329 +0,0 @@
|
||||
From dab45f0808951afc2e3146211a1c6d7ebb8bd06d Mon Sep 17 00:00:00 2001
|
||||
From: Dave Reisner <dreisner@archlinux.org>
|
||||
Date: Sun, 21 Oct 2018 22:58:23 -0400
|
||||
Subject: Dynamically generate Doxyfile from input
|
||||
|
||||
This isn't super interesting for the autotools side, but it's necessary
|
||||
in order to make things sane for other build systems which we might
|
||||
introduce in the future.
|
||||
---
|
||||
doc/Doxyfile.in | 305 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 305 insertions(+)
|
||||
create mode 100644 doc/Doxyfile.in
|
||||
|
||||
(limited to 'doc/Doxyfile.in')
|
||||
|
||||
diff --git a/doc/Doxyfile.in b/doc/Doxyfile.in
|
||||
new file mode 100644
|
||||
index 00000000..78481dd5
|
||||
--- /dev/null
|
||||
+++ b/doc/Doxyfile.in
|
||||
@@ -0,0 +1,305 @@
|
||||
+# Doxyfile 1.8.2
|
||||
+
|
||||
+#---------------------------------------------------------------------------
|
||||
+# Project related configuration options
|
||||
+#---------------------------------------------------------------------------
|
||||
+DOXYFILE_ENCODING = UTF-8
|
||||
+PROJECT_NAME = libalpm
|
||||
+PROJECT_NUMBER =
|
||||
+PROJECT_BRIEF = "Arch Linux Package Manager Library"
|
||||
+PROJECT_LOGO =
|
||||
+OUTPUT_DIRECTORY = @OUTPUT_DIRECTORY@
|
||||
+CREATE_SUBDIRS = NO
|
||||
+OUTPUT_LANGUAGE = English
|
||||
+BRIEF_MEMBER_DESC = YES
|
||||
+REPEAT_BRIEF = YES
|
||||
+ABBREVIATE_BRIEF = "The $name class" \
|
||||
+ "The $name widget" \
|
||||
+ "The $name file" \
|
||||
+ is \
|
||||
+ provides \
|
||||
+ specifies \
|
||||
+ contains \
|
||||
+ represents \
|
||||
+ a \
|
||||
+ an \
|
||||
+ the
|
||||
+ALWAYS_DETAILED_SEC = YES
|
||||
+INLINE_INHERITED_MEMB = NO
|
||||
+FULL_PATH_NAMES = NO
|
||||
+STRIP_FROM_PATH =
|
||||
+STRIP_FROM_INC_PATH =
|
||||
+SHORT_NAMES = NO
|
||||
+JAVADOC_AUTOBRIEF = YES
|
||||
+QT_AUTOBRIEF = NO
|
||||
+MULTILINE_CPP_IS_BRIEF = NO
|
||||
+INHERIT_DOCS = YES
|
||||
+SEPARATE_MEMBER_PAGES = NO
|
||||
+TAB_SIZE = 4
|
||||
+ALIASES =
|
||||
+TCL_SUBST =
|
||||
+OPTIMIZE_OUTPUT_FOR_C = YES
|
||||
+OPTIMIZE_OUTPUT_JAVA = NO
|
||||
+OPTIMIZE_FOR_FORTRAN = NO
|
||||
+OPTIMIZE_OUTPUT_VHDL = NO
|
||||
+EXTENSION_MAPPING =
|
||||
+MARKDOWN_SUPPORT = YES
|
||||
+AUTOLINK_SUPPORT = YES
|
||||
+BUILTIN_STL_SUPPORT = NO
|
||||
+CPP_CLI_SUPPORT = NO
|
||||
+SIP_SUPPORT = NO
|
||||
+IDL_PROPERTY_SUPPORT = YES
|
||||
+DISTRIBUTE_GROUP_DOC = NO
|
||||
+SUBGROUPING = YES
|
||||
+INLINE_GROUPED_CLASSES = NO
|
||||
+INLINE_SIMPLE_STRUCTS = NO
|
||||
+TYPEDEF_HIDES_STRUCT = NO
|
||||
+SYMBOL_CACHE_SIZE = 0
|
||||
+LOOKUP_CACHE_SIZE = 0
|
||||
+#---------------------------------------------------------------------------
|
||||
+# Build related configuration options
|
||||
+#---------------------------------------------------------------------------
|
||||
+EXTRACT_ALL = NO
|
||||
+EXTRACT_PRIVATE = NO
|
||||
+EXTRACT_PACKAGE = NO
|
||||
+EXTRACT_STATIC = NO
|
||||
+EXTRACT_LOCAL_CLASSES = YES
|
||||
+EXTRACT_LOCAL_METHODS = NO
|
||||
+EXTRACT_ANON_NSPACES = NO
|
||||
+HIDE_UNDOC_MEMBERS = NO
|
||||
+HIDE_UNDOC_CLASSES = NO
|
||||
+HIDE_FRIEND_COMPOUNDS = NO
|
||||
+HIDE_IN_BODY_DOCS = YES
|
||||
+INTERNAL_DOCS = NO
|
||||
+CASE_SENSE_NAMES = YES
|
||||
+HIDE_SCOPE_NAMES = NO
|
||||
+SHOW_INCLUDE_FILES = YES
|
||||
+FORCE_LOCAL_INCLUDES = NO
|
||||
+INLINE_INFO = YES
|
||||
+SORT_MEMBER_DOCS = YES
|
||||
+SORT_BRIEF_DOCS = NO
|
||||
+SORT_MEMBERS_CTORS_1ST = NO
|
||||
+SORT_GROUP_NAMES = NO
|
||||
+SORT_BY_SCOPE_NAME = NO
|
||||
+STRICT_PROTO_MATCHING = NO
|
||||
+GENERATE_TODOLIST = YES
|
||||
+GENERATE_TESTLIST = YES
|
||||
+GENERATE_BUGLIST = YES
|
||||
+GENERATE_DEPRECATEDLIST= YES
|
||||
+ENABLED_SECTIONS =
|
||||
+MAX_INITIALIZER_LINES = 30
|
||||
+SHOW_USED_FILES = YES
|
||||
+SHOW_FILES = YES
|
||||
+SHOW_NAMESPACES = YES
|
||||
+FILE_VERSION_FILTER =
|
||||
+LAYOUT_FILE =
|
||||
+CITE_BIB_FILES =
|
||||
+#---------------------------------------------------------------------------
|
||||
+# configuration options related to warning and progress messages
|
||||
+#---------------------------------------------------------------------------
|
||||
+QUIET = NO
|
||||
+WARNINGS = YES
|
||||
+WARN_IF_UNDOCUMENTED = YES
|
||||
+WARN_IF_DOC_ERROR = YES
|
||||
+WARN_NO_PARAMDOC = NO
|
||||
+WARN_FORMAT = "$file:$line: $text"
|
||||
+WARN_LOGFILE =
|
||||
+#---------------------------------------------------------------------------
|
||||
+# configuration options related to the input files
|
||||
+#---------------------------------------------------------------------------
|
||||
+INPUT = ../lib/libalpm/
|
||||
+INPUT_ENCODING = UTF-8
|
||||
+FILE_PATTERNS =
|
||||
+RECURSIVE = NO
|
||||
+EXCLUDE =
|
||||
+EXCLUDE_SYMLINKS = NO
|
||||
+EXCLUDE_PATTERNS =
|
||||
+EXCLUDE_SYMBOLS =
|
||||
+EXAMPLE_PATH =
|
||||
+EXAMPLE_PATTERNS = *
|
||||
+EXAMPLE_RECURSIVE = NO
|
||||
+IMAGE_PATH =
|
||||
+INPUT_FILTER =
|
||||
+FILTER_PATTERNS =
|
||||
+FILTER_SOURCE_FILES = NO
|
||||
+FILTER_SOURCE_PATTERNS =
|
||||
+#---------------------------------------------------------------------------
|
||||
+# configuration options related to source browsing
|
||||
+#---------------------------------------------------------------------------
|
||||
+SOURCE_BROWSER = NO
|
||||
+INLINE_SOURCES = NO
|
||||
+STRIP_CODE_COMMENTS = NO
|
||||
+REFERENCED_BY_RELATION = YES
|
||||
+REFERENCES_RELATION = YES
|
||||
+REFERENCES_LINK_SOURCE = YES
|
||||
+USE_HTAGS = NO
|
||||
+VERBATIM_HEADERS = YES
|
||||
+#---------------------------------------------------------------------------
|
||||
+# configuration options related to the alphabetical class index
|
||||
+#---------------------------------------------------------------------------
|
||||
+ALPHABETICAL_INDEX = NO
|
||||
+COLS_IN_ALPHA_INDEX = 5
|
||||
+IGNORE_PREFIX =
|
||||
+#---------------------------------------------------------------------------
|
||||
+# configuration options related to the HTML output
|
||||
+#---------------------------------------------------------------------------
|
||||
+GENERATE_HTML = NO
|
||||
+HTML_OUTPUT = html
|
||||
+HTML_FILE_EXTENSION = .html
|
||||
+HTML_HEADER =
|
||||
+HTML_FOOTER =
|
||||
+HTML_STYLESHEET =
|
||||
+HTML_EXTRA_STYLESHEET =
|
||||
+HTML_EXTRA_FILES =
|
||||
+HTML_COLORSTYLE_HUE = 220
|
||||
+HTML_COLORSTYLE_SAT = 100
|
||||
+HTML_COLORSTYLE_GAMMA = 80
|
||||
+HTML_TIMESTAMP = YES
|
||||
+HTML_DYNAMIC_SECTIONS = NO
|
||||
+HTML_INDEX_NUM_ENTRIES = 100
|
||||
+GENERATE_DOCSET = NO
|
||||
+DOCSET_FEEDNAME = "Doxygen generated docs"
|
||||
+DOCSET_BUNDLE_ID = org.doxygen.Project
|
||||
+DOCSET_PUBLISHER_ID = org.doxygen.Publisher
|
||||
+DOCSET_PUBLISHER_NAME = Publisher
|
||||
+GENERATE_HTMLHELP = NO
|
||||
+CHM_FILE =
|
||||
+HHC_LOCATION =
|
||||
+GENERATE_CHI = NO
|
||||
+CHM_INDEX_ENCODING =
|
||||
+BINARY_TOC = NO
|
||||
+TOC_EXPAND = NO
|
||||
+GENERATE_QHP = NO
|
||||
+QCH_FILE =
|
||||
+QHP_NAMESPACE = org.doxygen.Project
|
||||
+QHP_VIRTUAL_FOLDER = doc
|
||||
+QHP_CUST_FILTER_NAME =
|
||||
+QHP_CUST_FILTER_ATTRS =
|
||||
+QHP_SECT_FILTER_ATTRS =
|
||||
+QHG_LOCATION =
|
||||
+GENERATE_ECLIPSEHELP = NO
|
||||
+ECLIPSE_DOC_ID = org.doxygen.Project
|
||||
+DISABLE_INDEX = NO
|
||||
+GENERATE_TREEVIEW = NO
|
||||
+ENUM_VALUES_PER_LINE = 4
|
||||
+TREEVIEW_WIDTH = 250
|
||||
+EXT_LINKS_IN_WINDOW = NO
|
||||
+FORMULA_FONTSIZE = 10
|
||||
+FORMULA_TRANSPARENT = YES
|
||||
+USE_MATHJAX = NO
|
||||
+MATHJAX_RELPATH = http://www.mathjax.org/mathjax
|
||||
+MATHJAX_EXTENSIONS =
|
||||
+SEARCHENGINE = NO
|
||||
+SERVER_BASED_SEARCH = NO
|
||||
+#---------------------------------------------------------------------------
|
||||
+# configuration options related to the LaTeX output
|
||||
+#---------------------------------------------------------------------------
|
||||
+GENERATE_LATEX = NO
|
||||
+LATEX_OUTPUT = latex
|
||||
+LATEX_CMD_NAME = latex
|
||||
+MAKEINDEX_CMD_NAME = makeindex
|
||||
+COMPACT_LATEX = NO
|
||||
+PAPER_TYPE = letter
|
||||
+EXTRA_PACKAGES =
|
||||
+LATEX_HEADER =
|
||||
+LATEX_FOOTER =
|
||||
+PDF_HYPERLINKS = NO
|
||||
+USE_PDFLATEX = NO
|
||||
+LATEX_BATCHMODE = NO
|
||||
+LATEX_HIDE_INDICES = NO
|
||||
+LATEX_SOURCE_CODE = NO
|
||||
+LATEX_BIB_STYLE = plain
|
||||
+#---------------------------------------------------------------------------
|
||||
+# configuration options related to the RTF output
|
||||
+#---------------------------------------------------------------------------
|
||||
+GENERATE_RTF = NO
|
||||
+RTF_OUTPUT = rtf
|
||||
+COMPACT_RTF = NO
|
||||
+RTF_HYPERLINKS = NO
|
||||
+RTF_STYLESHEET_FILE =
|
||||
+RTF_EXTENSIONS_FILE =
|
||||
+#---------------------------------------------------------------------------
|
||||
+# configuration options related to the man page output
|
||||
+#---------------------------------------------------------------------------
|
||||
+GENERATE_MAN = YES
|
||||
+MAN_OUTPUT = .
|
||||
+MAN_EXTENSION = .3
|
||||
+MAN_LINKS = NO
|
||||
+#---------------------------------------------------------------------------
|
||||
+# configuration options related to the XML output
|
||||
+#---------------------------------------------------------------------------
|
||||
+GENERATE_XML = NO
|
||||
+XML_OUTPUT = xml
|
||||
+XML_SCHEMA =
|
||||
+XML_DTD =
|
||||
+XML_PROGRAMLISTING = YES
|
||||
+#---------------------------------------------------------------------------
|
||||
+# configuration options for the AutoGen Definitions output
|
||||
+#---------------------------------------------------------------------------
|
||||
+GENERATE_AUTOGEN_DEF = NO
|
||||
+#---------------------------------------------------------------------------
|
||||
+# configuration options related to the Perl module output
|
||||
+#---------------------------------------------------------------------------
|
||||
+GENERATE_PERLMOD = NO
|
||||
+PERLMOD_LATEX = NO
|
||||
+PERLMOD_PRETTY = YES
|
||||
+PERLMOD_MAKEVAR_PREFIX =
|
||||
+#---------------------------------------------------------------------------
|
||||
+# Configuration options related to the preprocessor
|
||||
+#---------------------------------------------------------------------------
|
||||
+ENABLE_PREPROCESSING = YES
|
||||
+MACRO_EXPANSION = YES
|
||||
+EXPAND_ONLY_PREDEF = YES
|
||||
+SEARCH_INCLUDES = YES
|
||||
+INCLUDE_PATH = ../..
|
||||
+INCLUDE_FILE_PATTERNS = *.h
|
||||
+PREDEFINED = HAVE_CONFIG_H= \
|
||||
+ SYMHIDDEN= \
|
||||
+ SYMEXPORT= \
|
||||
+ HAVE_LIBARCHIVE \
|
||||
+ HAVE_LIBCURL \
|
||||
+ HAVE_LIBGPGME
|
||||
+EXPAND_AS_DEFINED =
|
||||
+SKIP_FUNCTION_MACROS = YES
|
||||
+#---------------------------------------------------------------------------
|
||||
+# Configuration::additions related to external references
|
||||
+#---------------------------------------------------------------------------
|
||||
+TAGFILES =
|
||||
+GENERATE_TAGFILE =
|
||||
+ALLEXTERNALS = NO
|
||||
+EXTERNAL_GROUPS = YES
|
||||
+PERL_PATH = /usr/bin/perl
|
||||
+#---------------------------------------------------------------------------
|
||||
+# Configuration options related to the dot tool
|
||||
+#---------------------------------------------------------------------------
|
||||
+CLASS_DIAGRAMS = NO
|
||||
+MSCGEN_PATH =
|
||||
+HIDE_UNDOC_RELATIONS = YES
|
||||
+HAVE_DOT = YES
|
||||
+DOT_NUM_THREADS = 0
|
||||
+DOT_FONTNAME = Helvetica
|
||||
+DOT_FONTSIZE = 10
|
||||
+DOT_FONTPATH =
|
||||
+CLASS_GRAPH = YES
|
||||
+COLLABORATION_GRAPH = YES
|
||||
+GROUP_GRAPHS = YES
|
||||
+UML_LOOK = NO
|
||||
+UML_LIMIT_NUM_FIELDS = 10
|
||||
+TEMPLATE_RELATIONS = NO
|
||||
+INCLUDE_GRAPH = YES
|
||||
+INCLUDED_BY_GRAPH = YES
|
||||
+CALL_GRAPH = NO
|
||||
+CALLER_GRAPH = NO
|
||||
+GRAPHICAL_HIERARCHY = YES
|
||||
+DIRECTORY_GRAPH = YES
|
||||
+DOT_IMAGE_FORMAT = png
|
||||
+INTERACTIVE_SVG = NO
|
||||
+DOT_PATH =
|
||||
+DOTFILE_DIRS =
|
||||
+MSCFILE_DIRS =
|
||||
+DOT_GRAPH_MAX_NODES = 50
|
||||
+MAX_DOT_GRAPH_DEPTH = 3
|
||||
+DOT_TRANSPARENT = NO
|
||||
+DOT_MULTI_TARGETS = NO
|
||||
+GENERATE_LEGEND = YES
|
||||
+DOT_CLEANUP = YES
|
||||
--
|
||||
cgit v1.2.3-1-gf6bb5
|
||||
|
||||
@@ -1,19 +0,0 @@
|
||||
--- pacman-5.2.2/scripts/libmakepkg/buildenv.sh.in.orig 2021-05-15 07:20:51.021291800 +0100
|
||||
+++ pacman-5.2.2/scripts/libmakepkg/buildenv.sh.in 2021-05-15 07:52:13.014867100 +0100
|
||||
@@ -36,5 +36,5 @@
|
||||
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
|
||||
}
|
||||
--- pacman-5.2.2/scripts/libmakepkg/buildenv/buildflags.sh.in.orig 2021-05-15 07:55:29.592543800 +0100
|
||||
+++ pacman-5.2.2/scripts/libmakepkg/buildenv/buildflags.sh.in 2021-05-15 07:55:42.773495200 +0100
|
||||
@@ -30,6 +30,6 @@
|
||||
|
||||
buildenv_buildflags() {
|
||||
if check_option "buildflags" "n"; then
|
||||
- unset CPPFLAGS CFLAGS DEBUG_CFLAGS CXXFLAGS DEBUG_CXXFLAGS LDFLAGS RUSTFLAGS DEBUG_RUSTFLAGS
|
||||
+ unset CC CXX CPPFLAGS CFLAGS DEBUG_CFLAGS CXXFLAGS DEBUG_CXXFLAGS LDFLAGS RUSTFLAGS DEBUG_RUSTFLAGS
|
||||
fi
|
||||
}
|
||||
137
pacman/PKGBUILD
137
pacman/PKGBUILD
@@ -4,7 +4,7 @@
|
||||
|
||||
pkgname=pacman
|
||||
pkgver=5.2.2
|
||||
pkgrel=23
|
||||
pkgrel=24
|
||||
pkgdesc="A library-based package manager with dependency support (MSYS2 port)"
|
||||
arch=('i686' 'x86_64')
|
||||
url="https://www.archlinux.org/pacman/"
|
||||
@@ -36,82 +36,91 @@ makedepends=('asciidoc'
|
||||
backup=("etc/pacman.conf"
|
||||
"etc/makepkg.conf"
|
||||
"etc/makepkg_mingw.conf")
|
||||
source=(https://sources.archlinux.org/other/pacman/${pkgname}-${pkgver}.tar.gz
|
||||
source=(pacman-${pkgver}::git+https://git.archlinux.org/pacman.git#tag=v${pkgver}
|
||||
"pacman.conf"
|
||||
"makepkg.conf"
|
||||
"makepkg_mingw.conf"
|
||||
"makepkg-mingw"
|
||||
"0000-pacman-msysize.patch"
|
||||
"0001-more-debugging-info.patch"
|
||||
"0002-pacman-core-update.patch"
|
||||
"0003-remove-ldconfig.patch"
|
||||
"0004-change-epoch-sep.patch"
|
||||
"0006-makepkg-avoid-creating-.tar-files-with-extended-attr.patch"
|
||||
"0007-exe-interp-ignore-file-conflict.patch"
|
||||
"0008-answer-yes-by-default.patch"
|
||||
"0009-msys-use-pipe-instead-socket.patch"
|
||||
"0010-filelist-strcasecmp.patch"
|
||||
"0011-update-ja-po-for-msys2.patch"
|
||||
"0012-workaround-bsdtar-AD-account.patch"
|
||||
"0013-use-libintl.patch"
|
||||
"0014-fix-asciidoc-argparse.patch"
|
||||
"0016-excise-fakeroot.patch"
|
||||
"0017-excise-sudo.patch"
|
||||
"0018-use-msys-tools.patch"
|
||||
"0019-doxyfile-in-missing.patch"
|
||||
"0020-fix-wrong-files-sig-clean.patch"
|
||||
"0021-export-cc-cxx.patch")
|
||||
0001-Msysize.patch
|
||||
0002-More-debugging-info.patch
|
||||
0003-Core-update.patch
|
||||
0004-Remove-ldconfig.patch
|
||||
0005-Change-the-epoch-separator.patch
|
||||
0006-makepkg-avoid-creating-.tar-files-with-extended-attr.patch
|
||||
0007-pacman-libalpm-ignore-file-conflicts-for-foo.exe-foo.patch
|
||||
0008-Change-default-answer-of-all-queries-to-yes.patch
|
||||
0009-Use-pipe-instead-of-socket.patch
|
||||
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)
|
||||
validpgpkeys=('6645B0A8C7005E78DB1D7864F99FFE0FEAE999BD' # Allan McRae <allan@archlinux.org>
|
||||
'B8151B117037781095514CA7BBDFFC92306B1121') # Andrew Gregory (pacman) <andrew@archlinux.org>
|
||||
sha256sums=('bb201a9f2fb53c28d011f661d50028efce6eef2c1d2a36728bdd0130189349a0'
|
||||
sha256sums=('SKIP'
|
||||
'f5a84c5642d57044ddb40387822bfcb01bdbdcd885b46bc93d116aaf0e5741a6'
|
||||
'178ff34e13f7d558a4410f909667c07faeaf7a83b15b00e7db342c0796675733'
|
||||
'b9ad2fb4b0e686b96db0a50d411f4d9344ec8950f50906fb502272037246e4b8'
|
||||
'2bd27c3fc5443b367e5025c9b9a35670b02202e48e92eead90755fef8d08fa83'
|
||||
'2e2dde573b971011abad5340cb2cd5a4b9a0e8470a2ed94d7a969525e0bed0c1'
|
||||
'24ea2c8dca37847e04894ebfd05d1cf5df49dc0c8089f5581c99caa19b77a7ef'
|
||||
'abb81e2dc9507dc20dc860287b8ce1bf5e5cd7cec3dd386770dc568c39db6431'
|
||||
'fa6056f2d998578f8e11a97adf4d8a7bb4bba6f75b65aa498c82198ed9da9841'
|
||||
'b672f3648bbfd7763b1e689c73a9ba7ddc230016a0d8dfeebca1b7faf7777424'
|
||||
'e2731c4007a7c78848679e2203c35d1e56d3ef15a7586aeac9cc9e6e97824cfb'
|
||||
'52343bbf99da6408950e34dd84319e34724040f866c497c25e36b4ee54030e82'
|
||||
'e4f6e17af19e17e745a9f1c6b8402f5896229062c82167cb61f8e7d29eda716c'
|
||||
'9e8fe5ee78192b0407e80ad2e52cb27569c35974b6c26e465e3d55e19c03d108'
|
||||
'93be4523fb8c3dd6b56eddfe0b09e666725a62eb43392fee336ba1a328f9ffdd'
|
||||
'558919a5e4632512fa42690bd5ea96e72766213ae6943408f7010daa486de929'
|
||||
'c242202f3526d5eaa21d321a1d0fa472697c50e8288175ebe93212356c78d1f1'
|
||||
'7cec4688b83df9f8ab56f5ab5e162383fe8928ff88b76d753a2cea935f30ec93'
|
||||
'b84310fd8fb9a98258c55ed9628226b14f55d6e42304df4d2a5bd8d8445c03b3'
|
||||
'd6b6accddc890aff38b5ded3300e9dde35e1d7ed3f767e1655772e2cc7871739'
|
||||
'8346a5799be41bd3524fa6fdc57b6175d9d6a00b366f99bd5cd7fa3d43d0ae98'
|
||||
'7f60108a372718cfec5d883167a33983be7c5df33fc48bfc21f664449ac7a0a4'
|
||||
'43eb9548ddff92fb08c0c7636c4978541ff225e220bf4ba6512118cf75e76b07'
|
||||
'876d8d726ed6cc069f947daa1c3d6ffe07ee51e3019dd40f6b77576e8900d1da'
|
||||
'b766c7d7fc12f0d2b00d853cca8b15add7170e5e33fd03434ab991ddaa1de7af')
|
||||
'3b6e0dee7b5f1ff84ffffff1fb5cbc77bc6037212d92bd3fbffc91ff64aa732f'
|
||||
'084ecde8013312553671ebe53dc8fcd1c1f987bbfaa31898e0f0cd5e637dc89d'
|
||||
'635988f9138ea50f2eed81d596abc99c47d02f16db3e0c20ea65abf05869327f'
|
||||
'7a8c08ea12206793b6e40576415d19cd6ffd27f3b6339caffd4074cf9d6794c3'
|
||||
'37a7b1f97f527a14df3f791431af4777217ed52d34f1b74525f4ad4ce7d88dc2'
|
||||
'3a91fa92465a771700b69275c2376760b487c057212638e6f79e374ebf15bd78'
|
||||
'a00a4820a5a267901ee84165b4d5a4ad09dc540dbec56ddca5e1d60aba513fd4'
|
||||
'309d602867b671d54752081308a14e7fcf33b7b15c34e4194036ade2fa90f9b4'
|
||||
'3587f7891920bba891933ea8879d82fae397864f240ae3e029493fd91022d7e7'
|
||||
'acc1d0e211c0f1aa5585f6f9250552f533786ee79c8a17d95bfc4998b10677d9'
|
||||
'5fc5f39bc00ba65275dbdd2209bcb42d1251ec1c1e63f18891c909ac9c635209'
|
||||
'6585f7db153ddd3b8201ee23af77bf9f716775e7c228ee360be46ea08aa61b5e'
|
||||
'6506d8a010a65050927dcf4499fba058865ceb22b5c76af58421d4cdec7b4a17'
|
||||
'a9797a3d73d18e0188f90fb58878e9ce5bef1661dd953da12a6cfb5a34d2e279'
|
||||
'bd3acbae2c2f37d148d28cb424d1ab9491b8be4e0899b6deee4bbe8e11e14801'
|
||||
'b3744175bf561ba178608c47a4bc75016ce358197e5cc184bf786cdd209580e6'
|
||||
'2f22490f9021399c735e6dd83417206a834fb80e0eb586b66779ca53f76095d8'
|
||||
'2b7dd9f9f4c39e2ee24d54318e1f608569d78c93e856c088592db34d5c3dab5f'
|
||||
'0737f9cf11af9235c2242d1d9ec9280cf707e50290621ef4625c2512c1dae443')
|
||||
|
||||
apply_git_am_with_msg() {
|
||||
for _patch in "$@"
|
||||
do
|
||||
msg2 "Applying $_patch"
|
||||
git am --committer-date-is-author-date "${srcdir}/${_patch}"
|
||||
done
|
||||
}
|
||||
|
||||
prepare() {
|
||||
cd ${srcdir}/${pkgname}-${pkgver}
|
||||
patch -p1 -i ${srcdir}/0000-pacman-msysize.patch
|
||||
patch -p1 -i ${srcdir}/0001-more-debugging-info.patch
|
||||
patch -p1 -i ${srcdir}/0002-pacman-core-update.patch
|
||||
patch -p1 -i ${srcdir}/0003-remove-ldconfig.patch
|
||||
patch -p1 -i ${srcdir}/0004-change-epoch-sep.patch
|
||||
patch -p1 -i ${srcdir}/0006-makepkg-avoid-creating-.tar-files-with-extended-attr.patch
|
||||
patch -p1 -i ${srcdir}/0007-exe-interp-ignore-file-conflict.patch
|
||||
patch -p1 -i ${srcdir}/0008-answer-yes-by-default.patch
|
||||
patch -p1 -i ${srcdir}/0009-msys-use-pipe-instead-socket.patch
|
||||
patch -p1 -i ${srcdir}/0010-filelist-strcasecmp.patch
|
||||
patch -p1 -i ${srcdir}/0011-update-ja-po-for-msys2.patch
|
||||
patch -p1 -i ${srcdir}/0012-workaround-bsdtar-AD-account.patch
|
||||
patch -p1 -i ${srcdir}/0013-use-libintl.patch
|
||||
patch -p1 -i ${srcdir}/0014-fix-asciidoc-argparse.patch
|
||||
patch -p1 -i ${srcdir}/0016-excise-fakeroot.patch
|
||||
patch -p1 -i ${srcdir}/0017-excise-sudo.patch
|
||||
patch -p1 -i ${srcdir}/0018-use-msys-tools.patch
|
||||
patch -p1 -i ${srcdir}/0019-doxyfile-in-missing.patch
|
||||
# https://git.archlinux.org/pacman.git/commit/src/pacman/sync.c?id=05aefb8f82d856626598ef6a3f49ff8d5f623bf5
|
||||
patch -p1 -i ${srcdir}/0020-fix-wrong-files-sig-clean.patch
|
||||
patch -p1 -i ${srcdir}/0021-export-cc-cxx.patch
|
||||
|
||||
# fixup symlinks
|
||||
git config core.symlinks true
|
||||
git reset HEAD --hard
|
||||
|
||||
apply_git_am_with_msg 0001-Msysize.patch \
|
||||
0002-More-debugging-info.patch \
|
||||
0003-Core-update.patch \
|
||||
0004-Remove-ldconfig.patch \
|
||||
0005-Change-the-epoch-separator.patch \
|
||||
0006-makepkg-avoid-creating-.tar-files-with-extended-attr.patch \
|
||||
0007-pacman-libalpm-ignore-file-conflicts-for-foo.exe-foo.patch \
|
||||
0008-Change-default-answer-of-all-queries-to-yes.patch \
|
||||
0009-Use-pipe-instead-of-socket.patch \
|
||||
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
|
||||
}
|
||||
|
||||
build() {
|
||||
|
||||
71
pacman/update-patches.sh
Normal file
71
pacman/update-patches.sh
Normal file
@@ -0,0 +1,71 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
die () {
|
||||
echo "$*" >&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
cd "$(dirname "$0")" ||
|
||||
die "Could not cd to msys2-pacman/"
|
||||
|
||||
git rev-parse --verify HEAD >/dev/null &&
|
||||
git update-index -q --ignore-submodules --refresh &&
|
||||
git diff-files --quiet --ignore-submodules &&
|
||||
git diff-index --cached --quiet --ignore-submodules HEAD -- ||
|
||||
die "Clean worktree required"
|
||||
|
||||
git rm 0*.patch ||
|
||||
die "Could not remove previous patches"
|
||||
|
||||
base_tag=refs/tags/v"$(sed -ne 's/^pkgver=//p' <PKGBUILD)"
|
||||
msys2_branch=refs/heads/msys2-${base_tag#refs/tags/}
|
||||
url=https://github.com/msys2/msys2-pacman
|
||||
|
||||
test -d msys2-pacman ||
|
||||
git clone --bare $url msys2-pacman ||
|
||||
die "Could not clone msys2-pacman"
|
||||
|
||||
git -C msys2-pacman fetch --no-tags $url $base_tag:$base_tag $msys2_branch:$msys2_branch
|
||||
|
||||
git -c core.abbrev=7 \
|
||||
-c diff.renames=true \
|
||||
-c format.from=false \
|
||||
-c format.numbered=auto \
|
||||
-c format.useAutoBase=false \
|
||||
-C msys2-pacman \
|
||||
format-patch \
|
||||
--topo-order \
|
||||
--diff-algorithm=default \
|
||||
--no-attach \
|
||||
--no-add-header \
|
||||
--no-cover-letter \
|
||||
--no-thread \
|
||||
--suffix=.patch \
|
||||
--subject-prefix=PATCH \
|
||||
--output-directory .. \
|
||||
$base_tag..$msys2_branch ||
|
||||
die "Could not generate new patch set"
|
||||
|
||||
patches="$(ls -1 0*.patch)" &&
|
||||
for p in $patches
|
||||
do
|
||||
sed -i 's/^\(Subject: \[PATCH [0-9]*\/\)[1-9][0-9]*/\1N/' $p ||
|
||||
die "Could not fix Subject: line in $p"
|
||||
done &&
|
||||
git add $patches ||
|
||||
die "Could not stage new patch set"
|
||||
|
||||
in_sources="$(echo "$patches" | sed "{s/^/ /;:1;N;s/\\n/\\\\n /;b1}")"
|
||||
in_prepare="$(echo "$patches" | tr '\n' '\\' | sed -e 's/\\$//' -e 's/\\/ &&&n /g')"
|
||||
sed -i -e "/^ 0.*\.patch$/{:1;N;/[^)]$/b1;s|.*|$in_sources)|}" \
|
||||
-e "/^ *apply_git_am_with_msg /{:2;N;/[^}]$/b2;s|.*| apply_git_am_with_msg $in_prepare\\n\\}|}" \
|
||||
PKGBUILD ||
|
||||
die "Could not update the patch set in PKGBUILD"
|
||||
|
||||
updpkgsums ||
|
||||
die "Could not update the patch set checksums in PKGBUILD"
|
||||
|
||||
git add PKGBUILD ||
|
||||
die "Could not stage updates in PKGBUILD"
|
||||
Reference in New Issue
Block a user