From ca917b3240b82938f4cf0af7aa3241a8d3d42d04 Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Wed, 24 Aug 2022 14:59:12 +0200 Subject: [PATCH 1/6] subversion: drop a patch that breaks the test suite This patch may have "fixed" the build at some stage when it failed with this symptom: [...] cd subversion/tests && /bin/sh "/usr/src/MSYS2-packages/subversion/src/subversion-1.14.2/libtool" --tag=CC --silent --mode=link gcc -shared -march=x86-64 -mtune=generic -O2 -pipe -march=x86-64 -mtune=generic -O2 -pipe -pipe -rpath /usr/lib -version-info 0 -o libsvn_test-1.la svn_test_fs.lo svn_test_main.lo ../../subversion/libsvn_repos/libsvn_repos-1.la ../../subversion/libsvn_fs/libsvn_fs-1.la ../../subversion/libsvn_delta/libsvn_delta-1.la ../../subversion/libsvn_subr/libsvn_subr-1.la -laprutil-1 -lapr-1 -lintl libtool: error: can't build x86_64-pc-msys shared library unless -no-undefined is specified make: *** [build-outputs.mk:794: subversion/tests/libsvn_test-1.la] Error 1 However, some tests expect to be located in the original location. For example, `checksum-test.exe` needs to find `zlib.deflated`, but that is not in `subversion/tests/`, it is in `subversion/tests/libsvn_subr/`. Hence the `.exe` needs to live there, too. Let's put in a hack that lets that library build _and_ the tests to pass. Signed-off-by: Johannes Schindelin --- subversion/17-fix-test-link.patch | 808 ------------------------------ subversion/PKGBUILD | 5 +- 2 files changed, 2 insertions(+), 811 deletions(-) delete mode 100644 subversion/17-fix-test-link.patch diff --git a/subversion/17-fix-test-link.patch b/subversion/17-fix-test-link.patch deleted file mode 100644 index 109c26f0e1c..00000000000 --- a/subversion/17-fix-test-link.patch +++ /dev/null @@ -1,808 +0,0 @@ -Fix linking of the test programs. - -From: David Rothenberger - -The libsvn_test library contains undefined references, so it can't -be turned into a dynamic library. To fix this, remove that library -and modify all the tests so they include the sources in libsvn_test -directly. ---- - build.conf | 406 +++++++++++++++++++++++++++-------------------------- - 1 file changed, 204 insertions(+), 202 deletions(-) - -diff --git a/build.conf b/build.conf -index 4c8d276..c4d09f9 100644 ---- a/build.conf -+++ b/build.conf -@@ -766,13 +767,14 @@ link-cmd = $(LINK_SVNXX_TEST) - # - - # general library: our C testing framework --[libsvn_test] --type = lib --path = subversion/tests --install = test --libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr --msvc-static = yes --undefined-lib-symbols = yes -+#[libsvn_test] -+#type = lib -+#path = subversion/tests -+#sources = svn_test_fs.c -+#install = test -+#libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr -+#msvc-static = yes -+#undefined-lib-symbols = yes - - # ---------------------------------------------------------------------------- - # Tests for libsvn_fs_base -@@ -780,30 +782,30 @@ undefined-lib-symbols = yes - [fs-base-test] - description = Tests for *public* fs API (svn_fs.h) - type = exe --path = subversion/tests/libsvn_fs_base --sources = fs-base-test.c -+path = subversion/tests -+sources = libsvn_fs_base/fs-base-test.c svn_test_fs.c svn_test_main.c - install = bdb-test --libs = libsvn_test libsvn_fs libsvn_fs_base libsvn_delta -+libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr libsvn_fs libsvn_fs_base libsvn_delta - libsvn_fs_util libsvn_subr apriconv apr - msvc-force-static = yes - - [strings-reps-test] - description = Test strings/reps in libsvn_fs_base - type = exe --path = subversion/tests/libsvn_fs_base --sources = strings-reps-test.c -+path = subversion/tests -+sources = libsvn_fs_base/strings-reps-test.c svn_test_fs.c svn_test_main.c - install = bdb-test --libs = libsvn_test libsvn_fs libsvn_fs_base libsvn_delta -+libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr libsvn_fs libsvn_fs_base libsvn_delta - libsvn_subr apriconv apr - msvc-force-static = yes - - [changes-test] - description = Test changes in libsvn_fs_base - type = exe --path = subversion/tests/libsvn_fs_base --sources = changes-test.c -+path = subversion/tests -+sources = libsvn_fs_base/changes-test.c svn_test_fs.c svn_test_main.c - install = bdb-test --libs = libsvn_test libsvn_fs libsvn_fs_base libsvn_delta -+libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr libsvn_fs libsvn_fs_base libsvn_delta - libsvn_subr apriconv apr - msvc-force-static = yes - -@@ -812,31 +814,31 @@ msvc-force-static = yes - [fs-fs-pack-test] - description = Test fsfs packing in libsvn_fs_fs - type = exe --path = subversion/tests/libsvn_fs_fs --sources = fs-fs-pack-test.c -+path = subversion/tests -+sources = libsvn_fs_fs/fs-fs-pack-test.c svn_test_fs.c svn_test_main.c - install = test --libs = libsvn_test libsvn_fs libsvn_fs_fs libsvn_delta -+libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr libsvn_fs libsvn_fs_fs libsvn_delta - libsvn_subr apriconv apr - msvc-force-static = yes - - [fs-fs-fuzzy-test] - description = Use fuzzying to test FSFS corruption resilience - type = exe --path = subversion/tests/libsvn_fs_fs --sources = fs-fs-fuzzy-test.c -+path = subversion/tests -+sources = libsvn_fs_fs/fs-fs-fuzzy-test.c svn_test_fs.c svn_test_main.c - install = sub-test --libs = libsvn_test libsvn_fs libsvn_fs_fs libsvn_delta -+libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr libsvn_fs libsvn_fs_fs libsvn_delta - libsvn_repos libsvn_subr apriconv apr - msvc-force-static = yes - - [fs-fs-private-test] - description = Test FSSF private API - type = exe --path = subversion/tests/libsvn_fs_fs --sources = fs-fs-private-test.c -+path = subversion/tests -+sources = libsvn_fs_fs/fs-fs-private-test.c svn_test_fs.c svn_test_main.c - install = test --libs = libsvn_test libsvn_fs libsvn_fs_fs libsvn_delta -- libsvn_repos libsvn_subr apriconv apr -+libs = libsvn_fs libsvn_fs_fs libsvn_delta -+ libsvn_repos libsvn_subr aprutil apriconv apr - msvc-force-static = yes - - # ---------------------------------------------------------------------------- -@@ -844,20 +846,20 @@ msvc-force-static = yes - [fs-x-pack-test] - description = Test fsx packing in libsvn_fs_x - type = exe --path = subversion/tests/libsvn_fs_x --sources = fs-x-pack-test.c -+path = subversion/tests -+sources = libsvn_fs_x/fs-x-pack-test.c svn_test_fs.c svn_test_main.c - install = test --libs = libsvn_test libsvn_fs libsvn_fs_x libsvn_delta -+libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr libsvn_fs libsvn_fs_x libsvn_delta - libsvn_subr apriconv apr - msvc-force-static = yes - - [string-table-test] - description = Test fsfs string tables - type = exe --path = subversion/tests/libsvn_fs_x --sources = string-table-test.c -+path = subversion/tests -+sources = libsvn_fs_x/string-table-test.c svn_test_fs.c svn_test_main.c - install = test --libs = libsvn_test libsvn_fs_x libsvn_subr apr -+libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr libsvn_fs_x libsvn_subr apr - msvc-force-static = yes - - # ---------------------------------------------------------------------------- -@@ -866,28 +868,28 @@ msvc-force-static = yes - [locks-test] - description = Test locks in libsvn_fs - type = exe --path = subversion/tests/libsvn_fs --sources = locks-test.c -+path = subversion/tests -+sources = libsvn_fs/locks-test.c svn_test_fs.c svn_test_main.c - install = test --libs = libsvn_test libsvn_fs libsvn_delta libsvn_subr apriconv apr -+libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr libsvn_fs libsvn_delta libsvn_subr apriconv apr - msvc-force-static = yes - - [fs-test] - description = Tests in libsvn_fs - type = exe --path = subversion/tests/libsvn_fs --sources = fs-test.c -+path = subversion/tests -+sources = libsvn_fs/fs-test.c svn_test_fs.c svn_test_main.c - install = test --libs = libsvn_test libsvn_fs libsvn_delta -+libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr libsvn_fs libsvn_delta - libsvn_fs_util libsvn_subr aprutil apriconv apr - - [fs-sequential-test] - description = Tests in libsvn_fs run sequentially - type = exe --path = subversion/tests/libsvn_fs --sources = fs-sequential-test.c -+path = subversion/tests -+sources = libsvn_fs/fs-sequential-test.c svn_test_fs.c svn_test_main.c - install = test --libs = libsvn_test libsvn_fs libsvn_delta -+libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr libsvn_fs libsvn_delta - libsvn_fs_util libsvn_subr aprutil apriconv apr - - # ---------------------------------------------------------------------------- -@@ -896,26 +898,26 @@ libs = libsvn_test libsvn_fs libsvn_delta - [authz-test] - description = Test authz parsing in libsvn_repos - type = exe --path = subversion/tests/libsvn_repos --sources = authz-test.c -+path = subversion/tests -+sources = libsvn_subr/auth-test.c svn_test_fs.c svn_test_main.c - install = test --libs = libsvn_test libsvn_repos libsvn_fs libsvn_delta libsvn_subr apriconv apr -+libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr libsvn_subr apr - - [repos-test] - description = Test delta editor in libsvn_repos - type = exe --path = subversion/tests/libsvn_repos --sources = repos-test.c dir-delta-editor.c -+path = subversion/tests -+sources = libsvn_repos/repos-test.c libsvn_repos/dir-delta-editor.c svn_test_fs.c svn_test_main.c - install = test --libs = libsvn_test libsvn_repos libsvn_fs libsvn_delta libsvn_subr apriconv apr -+libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr libsvn_repos libsvn_fs libsvn_delta libsvn_subr apriconv apr - - [dump-load-test] - description = Test dumping/loading repositories in libsvn_repos - type = exe --path = subversion/tests/libsvn_repos --sources = dump-load-test.c -+path = subversion/tests -+sources = libsvn_repos/dump-load-test.c svn_test_fs.c svn_test_main.c - install = test --libs = libsvn_test libsvn_repos libsvn_fs libsvn_delta libsvn_subr apriconv apr -+libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr libsvn_repos libsvn_fs libsvn_delta libsvn_subr apriconv apr - - # ---------------------------------------------------------------------------- - # Tests for libsvn_subr -@@ -923,260 +925,260 @@ libs = libsvn_test libsvn_repos libsvn_fs libsvn_delta libsvn_subr apriconv apr - [auth-test] - description = Test platform-specific auth provider access - type = exe --path = subversion/tests/libsvn_subr --sources = auth-test.c -+path = subversion/tests -+sources = libsvn_subr/auth-test.c svn_test_fs.c svn_test_main.c - install = test --libs = libsvn_test libsvn_subr apr -+libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr libsvn_subr apr - - [bit-array-test] - description = Test packed bit arrays - type = exe --path = subversion/tests/libsvn_subr --sources = bit-array-test.c -+path = subversion/tests -+sources = libsvn_subr/bit-array-test.c svn_test_fs.c svn_test_main.c - install = test --libs = libsvn_test libsvn_subr apr -+libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr libsvn_subr apr - - [cache-test] - description = Test in-memory cache - type = exe --path = subversion/tests/libsvn_subr --sources = cache-test.c -+path = subversion/tests -+sources = libsvn_subr/cache-test.c svn_test_fs.c svn_test_main.c - install = test --libs = libsvn_test libsvn_subr apr -+libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr libsvn_subr apr - - [checksum-test] - description = Test checksum functions - type = exe --path = subversion/tests/libsvn_subr --sources = checksum-test.c -+path = subversion/tests -+sources = libsvn_subr/checksum-test.c svn_test_fs.c svn_test_main.c - install = test --libs = libsvn_test libsvn_subr apr zlib -+libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr libsvn_subr apr zlib - msvc-force-static = yes - - [compat-test] - description = Test compatibility functions - type = exe --path = subversion/tests/libsvn_subr --sources = compat-test.c -+path = subversion/tests -+sources = libsvn_subr/compat-test.c svn_test_fs.c svn_test_main.c - install = test --libs = libsvn_test libsvn_subr apr -+libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr libsvn_subr apr - - [config-test] - description = Test svn_config utilities - type = exe --path = subversion/tests/libsvn_subr --sources = config-test.c -+path = subversion/tests -+sources = libsvn_subr/config-test.c svn_test_fs.c svn_test_main.c - install = test --libs = libsvn_test libsvn_subr apriconv apr -+libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr libsvn_subr apriconv apr - - [crypto-test] - description = Test svn_crypto utilities - type = exe --path = subversion/tests/libsvn_subr --sources = crypto-test.c -+path = subversion/tests -+sources = libsvn_subr/crypto-test.c svn_test_fs.c svn_test_main.c - install = test --libs = libsvn_test libsvn_subr aprutil apr -+libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr libsvn_subr aprutil apr - msvc-force-static = yes - - [dirent_uri-test] - description = Test dirent_uri library - type = exe --path = subversion/tests/libsvn_subr --sources = dirent_uri-test.c -+path = subversion/tests -+sources = libsvn_subr/dirent_uri-test.c svn_test_fs.c svn_test_main.c - install = test --libs = libsvn_test libsvn_subr apriconv apr -+libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr libsvn_subr apriconv apr - - [error-test] - description = Test error library - type = exe --path = subversion/tests/libsvn_subr --sources = error-test.c -+path = subversion/tests -+sources = libsvn_subr/error-test.c svn_test_fs.c svn_test_main.c - install = test --libs = libsvn_test libsvn_subr apriconv apr -+libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr libsvn_subr apriconv apr - - [error-code-test] - description = Test error library - type = exe --path = subversion/tests/libsvn_subr --sources = error-code-test.c -+path = subversion/tests -+sources = libsvn_subr/error-code-test.c svn_test_fs.c svn_test_main.c - install = test --libs = libsvn_test libsvn_subr apriconv apr -+libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr libsvn_subr apriconv apr - - [hashdump-test] - description = Test hashfile format for props - type = exe --path = subversion/tests/libsvn_subr --sources = hashdump-test.c -+path = subversion/tests -+sources = libsvn_subr/hashdump-test.c svn_test_fs.c svn_test_main.c - install = test --libs = libsvn_test libsvn_subr apriconv apr -+libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr libsvn_subr apriconv apr - - [io-test] - description = Test I/O Operations - type = exe --path = subversion/tests/libsvn_subr --sources = io-test.c -+path = subversion/tests -+sources = libsvn_subr/io-test.c svn_test_fs.c svn_test_main.c - install = test --libs = libsvn_test libsvn_subr apriconv apr -+libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr libsvn_subr apriconv apr - - [opt-test] - description = Test options library - type = exe --path = subversion/tests/libsvn_subr --sources = opt-test.c -+path = subversion/tests -+sources = libsvn_subr/opt-test.c svn_test_fs.c svn_test_main.c - install = test --libs = libsvn_test libsvn_subr apr -+libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr libsvn_subr apr - - [mergeinfo-test] - description = Test mergeinfo library - type = exe --path = subversion/tests/libsvn_subr --sources = mergeinfo-test.c -+path = subversion/tests -+sources = libsvn_subr/mergeinfo-test.c svn_test_fs.c svn_test_main.c - install = test --libs = libsvn_test libsvn_subr apr -+libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr libsvn_subr apr - - [packed-data-test] - description = Test path library - type = exe --path = subversion/tests/libsvn_subr --sources = packed-data-test.c -+path = subversion/tests -+sources = libsvn_subr/packed-data-test.c svn_test_fs.c svn_test_main.c - install = test --libs = libsvn_test libsvn_subr apriconv apr -+libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr libsvn_subr apr - - [path-test] - description = Test path library - type = exe --path = subversion/tests/libsvn_subr --sources = path-test.c -+path = subversion/tests -+sources = libsvn_subr/path-test.c svn_test_fs.c svn_test_main.c - install = test --libs = libsvn_test libsvn_subr apriconv apr -+libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr libsvn_subr apr - - [prefix-string-test] - description = Test path library - type = exe --path = subversion/tests/libsvn_subr --sources = prefix-string-test.c -+path = subversion/tests -+sources = libsvn_subr/prefix-string-test.c svn_test_fs.c svn_test_main.c - install = test --libs = libsvn_test libsvn_subr apriconv apr -+libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr libsvn_subr apr - - [priority-queue-test] - description = Test path library - type = exe --path = subversion/tests/libsvn_subr --sources = priority-queue-test.c -+path = subversion/tests -+sources = libsvn_subr/priority-queue-test.c svn_test_fs.c svn_test_main.c - install = test --libs = libsvn_test libsvn_subr apriconv apr -+libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr libsvn_subr apr - - [revision-test] - description = Test revision library - type = exe --path = subversion/tests/libsvn_subr --sources = revision-test.c -+path = subversion/tests -+sources = libsvn_subr/revision-test.c svn_test_fs.c svn_test_main.c - install = test --libs = libsvn_test libsvn_subr apr -+libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr libsvn_subr apr - - [root-pools-test] - description = Test time functions - type = exe --path = subversion/tests/libsvn_subr --sources = root-pools-test.c -+path = subversion/tests -+sources = libsvn_subr/root-pools-test.c svn_test_fs.c svn_test_main.c - install = test --libs = libsvn_test libsvn_subr apriconv apr -+libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr libsvn_subr apr - - [skel-test] - description = Test skels in libsvn_subr - type = exe --path = subversion/tests/libsvn_subr --sources = skel-test.c -+path = subversion/tests -+sources = libsvn_subr/skel-test.c svn_test_fs.c svn_test_main.c - install = test --libs = libsvn_test libsvn_subr apriconv apr -+libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr libsvn_subr apr - - [spillbuf-test] - description = Test spillbuf in libsvn_subr - type = exe --path = subversion/tests/libsvn_subr --sources = spillbuf-test.c -+path = subversion/tests -+sources = libsvn_subr/spillbuf-test.c svn_test_fs.c svn_test_main.c - install = test --libs = libsvn_test libsvn_subr apriconv apr -+libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr libsvn_subr apr - - [stream-test] - description = Test stream library - type = exe --path = subversion/tests/libsvn_subr --sources = stream-test.c -+path = subversion/tests -+sources = libsvn_subr/stream-test.c svn_test_fs.c svn_test_main.c - install = test --libs = libsvn_test libsvn_subr apriconv apr -+libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr libsvn_subr apr - - [string-test] - description = Test svn_stringbuf_t utilities - type = exe --path = subversion/tests/libsvn_subr --sources = string-test.c -+path = subversion/tests -+sources = libsvn_subr/string-test.c svn_test_fs.c svn_test_main.c - install = test --libs = libsvn_test libsvn_subr apriconv apr -+libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr libsvn_subr apr - - [sqlite-test] - description = Test stream library - type = exe --path = subversion/tests/libsvn_subr --sources = sqlite-test.c -+path = subversion/tests -+sources = libsvn_subr/sqlite-test.c svn_test_fs.c svn_test_main.c - install = test --libs = libsvn_test libsvn_subr apriconv apr -+libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr libsvn_subr apr - - [time-test] - description = Test time functions - type = exe --path = subversion/tests/libsvn_subr --sources = time-test.c -+path = subversion/tests -+sources = libsvn_subr/time-test.c svn_test_fs.c svn_test_main.c - install = test --libs = libsvn_test libsvn_subr apriconv apr -+libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr libsvn_subr apr - - [utf-test] - description = Test UTF-8 functions - type = exe --path = subversion/tests/libsvn_subr --sources = utf-test.c -+path = subversion/tests -+sources = libsvn_subr/utf-test.c svn_test_fs.c svn_test_main.c - install = test --libs = libsvn_test libsvn_subr apriconv apr -+libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr libsvn_subr apr - - [subst_translate-test] - description = Test the svn_subst_translate* functions - type = exe --path = subversion/tests/libsvn_subr --sources = subst_translate-test.c -+path = subversion/tests -+sources = libsvn_subr/subst_translate-test.c svn_test_fs.c svn_test_main.c - install = test --libs = libsvn_test libsvn_subr apriconv apr -+libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr libsvn_subr apr - - [translate-test] - description = Test eol conversion and keyword substitution routines - type = exe --path = subversion/tests/libsvn_subr --sources = translate-test.c -+path = subversion/tests -+sources = libsvn_subr/translate-test.c svn_test_fs.c svn_test_main.c - install = test --libs = libsvn_test libsvn_subr apriconv apr -+libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr libsvn_subr apr - - [x509-test] - description = Test x509 parser - type = exe --path = subversion/tests/libsvn_subr --sources = x509-test.c -+path = subversion/tests -+sources = libsvn_subr/x509-test.c svn_test_fs.c svn_test_main.c - install = test --libs = libsvn_test libsvn_subr apriconv apr -+libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr libsvn_subr apr - - [xml-test] - description = Test XML parser in libsvn_subr - type = exe --path = subversion/tests/libsvn_subr --sources = xml-test.c -+path = subversion/tests -+sources = libsvn_subr/xml-test.c svn_test_fs.c svn_test_main.c - install = test --libs = libsvn_test libsvn_subr apriconv apr -+libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr libsvn_subr apr - - [compress-test] - description = Test compression functions - type = exe --path = subversion/tests/libsvn_subr --sources = compress-test.c -+path = subversion/tests -+sources = libsvn_subr/compress-test.c svn_test_fs.c svn_test_main.c - install = test --libs = libsvn_test libsvn_subr apr -+libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr libsvn_subr apr - - # ---------------------------------------------------------------------------- - # Tests for libsvn_delta -@@ -1184,26 +1186,26 @@ libs = libsvn_test libsvn_subr apr - [random-test] - description = Use random data to test delta processing - type = exe --path = subversion/tests/libsvn_delta --sources = random-test.c -+path = subversion/tests -+sources = libsvn_delta/random-test.c svn_test_fs.c svn_test_main.c - install = test --libs = libsvn_test libsvn_delta libsvn_subr apriconv apr -+libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr libsvn_subr apr - - [window-test] - description = Test delta window generation - type = exe --path = subversion/tests/libsvn_delta --sources = window-test.c -+path = subversion/tests -+sources = libsvn_delta/window-test.c svn_test_fs.c svn_test_main.c - install = test --libs = libsvn_test libsvn_delta libsvn_subr apriconv apr -+libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr libsvn_subr apr - - [svndiff-stream-test] - description = Test svndiff streams - type = exe --path = subversion/tests/libsvn_delta --sources = svndiff-stream-test.c -+path = subversion/tests -+sources = libsvn_delta/svndiff-stream-test.c svn_test_fs.c svn_test_main.c - install = test --libs = libsvn_test libsvn_delta libsvn_subr apriconv apr -+libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr libsvn_subr apr - - # ---------------------------------------------------------------------------- - # Tests for libsvn_client -@@ -1211,27 +1213,27 @@ libs = libsvn_test libsvn_delta libsvn_subr apriconv apr - [client-test] - description = Test low-level functionality in libsvn_client - type = exe --path = subversion/tests/libsvn_client --sources = client-test.c -+path = subversion/tests -+sources = libsvn_client/client-test.c svn_test_fs.c svn_test_main.c - install = test --libs = libsvn_test libsvn_client libsvn_wc libsvn_repos libsvn_ra libsvn_fs libsvn_delta libsvn_subr apriconv apr -+libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr libsvn_client libsvn_wc libsvn_repos libsvn_ra libsvn_fs libsvn_delta libsvn_subr apriconv apr - msvc-force-static = yes - - [mtcc-test] - description = Test Multi Command Context - type = exe --path = subversion/tests/libsvn_client --sources = mtcc-test.c -+path = subversion/tests -+sources = libsvn_client/mtcc-test.c svn_test_fs.c svn_test_main.c - install = test --libs = libsvn_test libsvn_client libsvn_wc libsvn_repos libsvn_ra libsvn_fs libsvn_delta libsvn_subr apriconv apr -+libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr libsvn_client libsvn_wc libsvn_repos libsvn_ra libsvn_fs libsvn_delta libsvn_subr apriconv apr - - [conflicts-test] - description = Test libsvn_client conflict resolver - type = exe --path = subversion/tests/libsvn_client --sources = conflicts-test.c ../libsvn_wc/utils.c -+path = subversion/tests -+sources = libsvn_client/conflicts-test.c libsvn_wc/utils.c svn_test_fs.c svn_test_main.c - install = test --libs = libsvn_test libsvn_client libsvn_wc libsvn_repos libsvn_ra libsvn_fs libsvn_delta libsvn_subr apriconv apr -+libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr libsvn_client libsvn_wc libsvn_repos libsvn_ra libsvn_fs libsvn_delta libsvn_subr apriconv apr - msvc-force-static = yes - - # ---------------------------------------------------------------------------- -@@ -1240,18 +1242,18 @@ msvc-force-static = yes - [diff-diff3-test] - description = Test the diff/diff3 library - type = exe --path = subversion/tests/libsvn_diff --sources = diff-diff3-test.c -+path = subversion/tests -+sources = libsvn_diff/diff-diff3-test.c svn_test_fs.c svn_test_main.c - install = test --libs = libsvn_test libsvn_diff libsvn_subr apriconv apr -+libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr libsvn_diff libsvn_subr apriconv apr - - [parse-diff-test] - description = Test unidiff parsing - type = exe --path = subversion/tests/libsvn_diff --sources = parse-diff-test.c -+path = subversion/tests -+sources = libsvn_diff/parse-diff-test.c svn_test_fs.c svn_test_main.c - install = test --libs = libsvn_test libsvn_diff libsvn_subr apriconv apr -+libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr libsvn_diff libsvn_subr apriconv apr - - # ---------------------------------------------------------------------------- - # Tests for libsvn_ra -@@ -1259,11 +1261,11 @@ libs = libsvn_test libsvn_diff libsvn_subr apriconv apr - [ra-test] - description = Test a few things in libsvn_ra - type = exe --path = subversion/tests/libsvn_ra --sources = ra-test.c -+path = subversion/tests -+sources = libsvn_ra/ra-test.c svn_test_fs.c svn_test_main.c - install = test --libs = libsvn_test libsvn_ra libsvn_ra_svn libsvn_fs libsvn_delta libsvn_subr -- apriconv apr -+libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr libsvn_ra libsvn_fs libsvn_delta libsvn_subr -+ apriconv apr - - # ---------------------------------------------------------------------------- - # Tests for libsvn_ra_local -@@ -1271,10 +1273,10 @@ libs = libsvn_test libsvn_ra libsvn_ra_svn libsvn_fs libsvn_delta libsvn_subr - [ra-local-test] - description = Test a few things in libsvn_ra_local - type = exe --path = subversion/tests/libsvn_ra_local --sources = ra-local-test.c -+path = subversion/tests -+sources = libsvn_ra_local/ra-local-test.c svn_test_fs.c svn_test_main.c - install = test --libs = libsvn_test libsvn_ra_local libsvn_ra libsvn_fs libsvn_delta libsvn_subr -+libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr libsvn_ra_local libsvn_ra libsvn_fs libsvn_delta libsvn_subr - apriconv apr - - # ---------------------------------------------------------------------------- -@@ -1283,63 +1285,63 @@ libs = libsvn_test libsvn_ra_local libsvn_ra libsvn_fs libsvn_delta libsvn_subr - [conflict-data-test] - description = Test the storage of tree conflict data - type = exe --path = subversion/tests/libsvn_wc --sources = conflict-data-test.c utils.c -+path = subversion/tests -+sources = libsvn_wc/conflict-data-test.c libsvn_wc/utils.c svn_test_fs.c svn_test_main.c - install = test --libs = libsvn_client libsvn_test libsvn_wc libsvn_subr apriconv apr -+libs = libsvn_client libsvn_repos libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr libsvn_wc libsvn_subr apriconv apr - msvc-force-static = yes - - [db-test] - description = Test the wc-ng database subsystem - type = exe --path = subversion/tests/libsvn_wc --sources = db-test.c utils.c -+path = subversion/tests -+sources = libsvn_wc/db-test.c libsvn_wc/utils.c svn_test_fs.c svn_test_main.c - install = test --libs = libsvn_client libsvn_test libsvn_wc libsvn_subr apriconv apr -+libs = libsvn_client libsvn_repos libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr libsvn_wc libsvn_subr apriconv apr - msvc-force-static = yes - - [pristine-store-test] - description = Test the wc-ng pristine text storage subsystem - type = exe --path = subversion/tests/libsvn_wc --sources = pristine-store-test.c utils.c -+path = subversion/tests -+sources = libsvn_wc/pristine-store-test.c libsvn_wc/utils.c svn_test_fs.c svn_test_main.c - install = test --libs = libsvn_client libsvn_test libsvn_wc libsvn_subr apriconv apr -+libs = libsvn_client libsvn_repos libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr libsvn_wc libsvn_subr apriconv apr - msvc-force-static = yes - - [entries-compat-test] - description = Test backwards compat for the entry interface - type = exe --path = subversion/tests/libsvn_wc --sources = entries-compat.c utils.c -+path = subversion/tests -+sources = libsvn_wc/entries-compat.c libsvn_wc/utils.c svn_test_fs.c svn_test_main.c - install = test --libs = libsvn_client libsvn_test libsvn_wc libsvn_subr apriconv apr -+libs = libsvn_client libsvn_repos libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr libsvn_wc libsvn_subr apriconv apr - msvc-force-static = yes - - [op-depth-test] - description = Test layered tree changes - type = exe --path = subversion/tests/libsvn_wc --sources = op-depth-test.c utils.c -+path = subversion/tests -+sources = libsvn_wc/op-depth-test.c libsvn_wc/utils.c svn_test_fs.c svn_test_main.c - install = test --libs = libsvn_client libsvn_test libsvn_wc libsvn_subr apriconv apr -+libs = libsvn_client libsvn_repos libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr libsvn_wc libsvn_subr apriconv apr - msvc-force-static = yes - - [wc-queries-test] - description = Test Sqlite query evaluation - type = exe --path = subversion/tests/libsvn_wc --sources = wc-queries-test.c ../../libsvn_subr/sqlite3wrapper.c -+path = subversion/tests -+sources = libsvn_wc/wc-queries-test.c svn_test_fs.c svn_test_main.c - install = test --libs = libsvn_test libsvn_subr apriconv apr sqlite -+libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr libsvn_subr apriconv apr sqlite - - [wc-test] - description = Test the main WC API functions - type = exe --path = subversion/tests/libsvn_wc --sources = wc-test.c utils.c -+path = subversion/tests -+sources = libsvn_wc/wc-test.c libsvn_wc/utils.c svn_test_fs.c svn_test_main.c - install = test --libs = libsvn_client libsvn_test libsvn_wc libsvn_subr apriconv apr -+libs = libsvn_client libsvn_repos libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr libsvn_wc libsvn_subr apriconv apr - msvc-force-static = yes - - # ---------------------------------------------------------------------------- -@@ -1348,10 +1350,10 @@ msvc-force-static = yes - [filesize-test] - description = Test conversion of file sizes to human-readable form - type = exe --path = subversion/tests/client --sources = filesize-test.c -+path = subversion/tests -+sources = client/filesize-test.c svn_test_fs.c svn_test_main.c - install = test --libs = libsvn_client libsvn_test libsvn_wc libsvn_subr apriconv apr -+libs = libsvn_client libsvn_wc libsvn_subr apriconv apr - msvc-force-static = yes - - # ---------------------------------------------------------------------------- --- -2.32.0 - diff --git a/subversion/PKGBUILD b/subversion/PKGBUILD index 7fa5bb4360d..7019b4a41bd 100644 --- a/subversion/PKGBUILD +++ b/subversion/PKGBUILD @@ -34,7 +34,6 @@ source=(https://archive.apache.org/dist/subversion/subversion-${pkgver}.tar.bz2{ 14-fix_svnauthz_tests.patch 15-XFAIL_case_sensitive_tree_conflict.patch 16-fix-swig3.patch - 17-fix-test-link.patch 18-fix-serf-config.patch 19-remove-contrib-from-configure.patch subversion-1.9.1-msys2.patch @@ -59,7 +58,6 @@ sha256sums=('c9130e8d0b75728a66f0e7038fc77052e671830d785b5616aad53b4810d3cc28' 'cad2c464dc3ae6753b1ce2f330d984c97679a52ac1baa411981cfa8c7ebcf312' '7f9e60b99a2ec8424f702b5dc07e5b1d37c8eb7d8bd134cc79a7024cb35292d6' '8682d9f7da2ba8607ed15daf3beec92e5dacda3a6e4c07baaef8991264eb44cd' - '17d1767816b5c7bc0ee8dc4809eb16e40975f335c5cb5b5aadbc2999819f0c42' 'f61c9b3333d90790a4c6763d81ee05ee5a2029e562c900e92f7526393460181c' 'a1072514d1be6e2026ae1e2fa24d3bfd97dfbda13b4bd4d89aae0e871b2aae32' 'c89de3d5272b0196440d6fdf21c14170d0c41702c84fbb273ec87c115633d809' @@ -106,7 +104,6 @@ prepare() { patch -p1 -i ${srcdir}/14-fix_svnauthz_tests.patch patch -p1 -i ${srcdir}/15-XFAIL_case_sensitive_tree_conflict.patch patch -p1 -i ${srcdir}/16-fix-swig3.patch - patch -p1 -i ${srcdir}/17-fix-test-link.patch patch -p1 -i ${srcdir}/18-fix-serf-config.patch patch -p1 -i ${srcdir}/19-remove-contrib-from-configure.patch patch -p1 -i ${srcdir}/subversion-1.9.1-msys2.patch @@ -114,6 +111,8 @@ prepare() { patch -p1 -i ${srcdir}/90-use-copy-instead-symlink.patch PYTHON=/usr/bin/python2 ./autogen.sh + # Hack to allow `libsvn_test-1` to be built + sed 's/ -o libsvn_test-1.la / -no-undefined&/' -i build-outputs.mk } build() { From 4be23f1b361f1029e42df750e16953ddacfaf388 Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Wed, 24 Aug 2022 15:07:24 +0200 Subject: [PATCH 2/6] subversion: regenerate patches using `git format-patch` It is a more consistent format and makes it easier to modify the patches in the future. Signed-off-by: Johannes Schindelin --- ...01-Create-directories-in-build-tree.patch} | 13 +- ...atch => 0002-Fix-linking-for-Cygwin.patch} | 23 +- ....patch => 0003-Fix-linking-for-perl.patch} | 27 +-- ...-that-expects-to-an-error-due-to-re.patch} | 11 +- ...-Use-WIN32-retry-loop-on-Cygwin-too.patch} | 21 +- ...-binary-mode-for-svnadmin-dump-load.patch} | 27 ++- ...-Don-t-support-DOS-paths-for-Cygwin.patch} | 14 +- ...st-fix.patch => 0008-Fix-ruby-tests.patch} | 11 +- ...t-for-password-encryption-on-Cygwin.patch} | 29 +-- ...0-Install-perl-modules-into-vendors.patch} | 15 +- ...ase-sensitive-rename-and-move-tests.patch} | 21 +- ....py-so-it-sets-PATH-in-the-python-h.patch} | 12 +- ...ifically-for-auth-modules-like-GNOM.patch} | 17 +- ..._tests.py-by-adding-usr-bin-to-PATH.patch} | 11 +- ...y-rm_missing_with_case_clashing_ond.patch} | 13 +- ...x-swig3.patch => 0016-Support-swig3.patch} | 14 +- ...onfig.patch => 0017-Fix-serf-config.patch} | 11 +- ...figure.patch => 0018-Remove-contrib.patch} | 13 +- subversion/0019-subversion-1.9.1-msys2.patch | 198 ++++++++++++++++++ subversion/0020-remove-checking-symlink.patch | 26 +++ ...=> 0021-90-use-copy-instead-symlink.patch} | 20 +- subversion/PKGBUILD | 126 +++++------ subversion/remove-checking-symlink.patch | 12 -- subversion/subversion-1.9.1-msys2.patch | 165 --------------- 24 files changed, 490 insertions(+), 360 deletions(-) rename subversion/{01-make-build-directories.patch => 0001-Create-directories-in-build-tree.patch} (72%) rename subversion/{02-fix-linking.patch => 0002-Fix-linking-for-Cygwin.patch} (75%) rename subversion/{03-fix-linking-perl.patch => 0003-Fix-linking-for-perl.patch} (71%) rename subversion/{04-fix-switch-tests.patch => 0004-Fix-a-switch-test-that-expects-to-an-error-due-to-re.patch} (73%) rename subversion/{05-retry-loop.patch => 0005-Use-WIN32-retry-loop-on-Cygwin-too.patch} (81%) rename subversion/{06-svnadmin-binary-mode.patch => 0006-Use-binary-mode-for-svnadmin-dump-load.patch} (67%) rename subversion/{07-fix-path-tests.patch => 0007-Don-t-support-DOS-paths-for-Cygwin.patch} (98%) rename subversion/{08-ruby-test-fix.patch => 0008-Fix-ruby-tests.patch} (85%) rename subversion/{09-wincrypt.patch => 0009-Support-wincrypt-for-password-encryption-on-Cygwin.patch} (87%) rename subversion/{10-perl-vendors.patch => 0010-Install-perl-modules-into-vendors.patch} (69%) rename subversion/{11-XFAIL-case-sensitive-move-tests.patch => 0011-XFAIL-some-case-sensitive-rename-and-move-tests.patch} (81%) rename subversion/{12-fix-svnlook-test.patch => 0012-Fix-svnlook_tests.py-so-it-sets-PATH-in-the-python-h.patch} (78%) rename subversion/{13-dso_open.patch => 0013-Fix-DSO-open-specifically-for-auth-modules-like-GNOM.patch} (87%) rename subversion/{14-fix_svnauthz_tests.patch => 0014-Fix-svnauthz_tests.py-by-adding-usr-bin-to-PATH.patch} (79%) rename subversion/{15-XFAIL_case_sensitive_tree_conflict.patch => 0015-Mark-basic_test.py-rm_missing_with_case_clashing_ond.patch} (71%) rename subversion/{16-fix-swig3.patch => 0016-Support-swig3.patch} (69%) rename subversion/{18-fix-serf-config.patch => 0017-Fix-serf-config.patch} (80%) rename subversion/{19-remove-contrib-from-configure.patch => 0018-Remove-contrib.patch} (71%) create mode 100644 subversion/0019-subversion-1.9.1-msys2.patch create mode 100644 subversion/0020-remove-checking-symlink.patch rename subversion/{90-use-copy-instead-symlink.patch => 0021-90-use-copy-instead-symlink.patch} (60%) delete mode 100644 subversion/remove-checking-symlink.patch delete mode 100644 subversion/subversion-1.9.1-msys2.patch diff --git a/subversion/01-make-build-directories.patch b/subversion/0001-Create-directories-in-build-tree.patch similarity index 72% rename from subversion/01-make-build-directories.patch rename to subversion/0001-Create-directories-in-build-tree.patch index 813ed5e88c6..fb4811953e2 100644 --- a/subversion/01-make-build-directories.patch +++ b/subversion/0001-Create-directories-in-build-tree.patch @@ -1,14 +1,14 @@ -Create directories in build tree. - +From 17fbf27d99c8715f2ec1e4e1822cc3b72f8d6e74 Mon Sep 17 00:00:00 2001 From: David Rothenberger - +Date: Thu, 7 Nov 2013 23:02:43 +0400 +Subject: [PATCH 01/21] Create directories in build tree. --- - configure.ac | 5 +++++ + configure.ac | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/configure.ac b/configure.ac -index 4a3683c..a758b73 100644 +index 42a9f14..60b99f2 100644 --- a/configure.ac +++ b/configure.ac @@ -1652,6 +1652,11 @@ AC_DEFINE_UNQUOTED([SVN_BUILD_TARGET], "${target}", @@ -23,3 +23,6 @@ index 4a3683c..a758b73 100644 # ==== Print final messages to user ========================================== +-- +2.37.2 + diff --git a/subversion/02-fix-linking.patch b/subversion/0002-Fix-linking-for-Cygwin.patch similarity index 75% rename from subversion/02-fix-linking.patch rename to subversion/0002-Fix-linking-for-Cygwin.patch index abe7028a5df..83db2b2e9ce 100644 --- a/subversion/02-fix-linking.patch +++ b/subversion/0002-Fix-linking-for-Cygwin.patch @@ -1,17 +1,17 @@ -Fix linking for Cygwin. - +From 7ff4719e0340fbdd6fb2dc0350e16e9ed27b4102 Mon Sep 17 00:00:00 2001 From: David Rothenberger - +Date: Thu, 7 Nov 2013 23:02:43 +0400 +Subject: [PATCH 02/21] Fix linking for Cygwin. --- - build.conf | 15 +++++++++++---- + build.conf | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/build.conf b/build.conf -index 7631a61..b7177f7 100644 +index 95875a7..d783d20 100644 --- a/build.conf +++ b/build.conf -@@ -415,7 +415,7 @@ type = apache-mod +@@ -416,7 +416,7 @@ type = apache-mod path = subversion/mod_dav_svn sources = *.c reports/*.c posts/*.c libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr libhttpd mod_dav @@ -20,7 +20,7 @@ index 7631a61..b7177f7 100644 install = apache-mod [mod_authz_svn] -@@ -423,8 +423,9 @@ description = Subversion path-based authorization module for Apache +@@ -424,8 +424,9 @@ description = Subversion path-based authorization module for Apache when = INSTALL_APACHE_MODS type = apache-mod path = subversion/mod_authz_svn @@ -31,7 +31,7 @@ index 7631a61..b7177f7 100644 install = apache-mod [mod_dontdothat] -@@ -432,8 +433,9 @@ description = Apache Httpd module to block certain kinds of Apache Subversion re +@@ -433,8 +434,9 @@ description = Apache Httpd module to block certain kinds of Apache Subversion re when = INSTALL_APACHE_MODS type = apache-mod path = tools/server-side/mod_dontdothat @@ -42,7 +42,7 @@ index 7631a61..b7177f7 100644 install = tools # The Subversion FSFS repository manipulation tool -@@ -572,7 +574,7 @@ lang = python +@@ -573,7 +575,7 @@ lang = python path = subversion/bindings/swig/python/libsvn_swig_py libs = libsvn_client libsvn_wc libsvn_ra libsvn_delta libsvn_subr apriconv apr python swig @@ -51,7 +51,7 @@ index 7631a61..b7177f7 100644 install = swig-py-lib # need special build rule to include -DSWIGPYTHON compile-cmd = $(COMPILE_SWIG_PY) -@@ -1523,6 +1525,11 @@ external-lib = $(SVN_SWIG_LIBS) +@@ -1536,6 +1538,11 @@ external-lib = $(SVN_SWIG_LIBS) type = lib external-lib = $(SVN_PERL_LIBS) @@ -63,3 +63,6 @@ index 7631a61..b7177f7 100644 [python] type = lib external-lib = $(SVN_PYTHON_LIBS) +-- +2.37.2 + diff --git a/subversion/03-fix-linking-perl.patch b/subversion/0003-Fix-linking-for-perl.patch similarity index 71% rename from subversion/03-fix-linking-perl.patch rename to subversion/0003-Fix-linking-for-perl.patch index dbbd7617f4b..83390476994 100644 --- a/subversion/03-fix-linking-perl.patch +++ b/subversion/0003-Fix-linking-for-perl.patch @@ -1,31 +1,31 @@ -Fix linking for perl. - +From bcf44de2d2c574cab818770814d62c3045a0bac8 Mon Sep 17 00:00:00 2001 From: David Rothenberger - +Date: Thu, 7 Nov 2013 23:02:43 +0400 +Subject: [PATCH 03/21] Fix linking for perl. --- - Makefile.in | 1 + - build.conf | 7 ++----- - .../bindings/swig/perl/native/Makefile.PL.in | 1 + + Makefile.in | 1 + + build.conf | 7 ++----- + subversion/bindings/swig/perl/native/Makefile.PL.in | 1 + 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/Makefile.in b/Makefile.in -index faf2a70..6a73b4c 100644 +index 2d158dc..eac8bdb 100644 --- a/Makefile.in +++ b/Makefile.in -@@ -153,6 +153,7 @@ SWIG_PY_COMPILE = @SWIG_PY_COMPILE@ - SWIG_PY_LIBS = @SWIG_PY_LIBS@ +@@ -155,6 +155,7 @@ SWIG_PY_LIBS = @SWIG_PY_LIBS@ SWIG_PY_ERRMSG = @SWIG_PY_ERRMSG@ SWIG_PL_INCLUDES = @SWIG_PL_INCLUDES@ SWIG_PL_ERRMSG = @SWIG_PL_ERRMSG@ +SWIG_PL_LINK = @SWIG_PL_LINK@ SWIG_RB_INCLUDES = @SWIG_RB_INCLUDES@ -I$(SWIG_SRC_DIR)/ruby/libsvn_swig_ruby SWIG_RB_COMPILE = @SWIG_RB_COMPILE@ + SWIG_RB_LINK = @SWIG_RB_LINK@ diff --git a/build.conf b/build.conf -index b7177f7..33084f7 100644 +index d783d20..40d0b62 100644 --- a/build.conf +++ b/build.conf -@@ -587,7 +587,8 @@ description = Subversion utility library for Python bindings +@@ -588,7 +588,8 @@ description = Subversion utility library for Python bindings type = swig_lib lang = perl path = subversion/bindings/swig/perl/libsvn_swig_perl @@ -35,7 +35,7 @@ index b7177f7..33084f7 100644 install = swig-pl-lib # need special build rule to include compile-cmd = $(COMPILE_SWIG_PL) -@@ -1521,10 +1522,6 @@ external-lib = $(SVN_XML_LIBS) +@@ -1534,10 +1535,6 @@ external-lib = $(SVN_XML_LIBS) type = lib external-lib = $(SVN_SWIG_LIBS) @@ -58,3 +58,6 @@ index 3b36901..8ec0bac 100644 $cflags =~ s/-Wunused//g; $cflags =~ s/-Wshadow//g; $cflags =~ s/-Wstrict-prototypes//g; +-- +2.37.2 + diff --git a/subversion/04-fix-switch-tests.patch b/subversion/0004-Fix-a-switch-test-that-expects-to-an-error-due-to-re.patch similarity index 73% rename from subversion/04-fix-switch-tests.patch rename to subversion/0004-Fix-a-switch-test-that-expects-to-an-error-due-to-re.patch index e50454901ee..6272440ff5f 100644 --- a/subversion/04-fix-switch-tests.patch +++ b/subversion/0004-Fix-a-switch-test-that-expects-to-an-error-due-to-re.patch @@ -1,10 +1,12 @@ -Fix a switch test that expects to an error due to read-only, but - +From 194625187412c2d79440c070de6dbf4356230eeb Mon Sep 17 00:00:00 2001 From: David Rothenberger +Date: Thu, 7 Nov 2013 23:02:43 +0400 +Subject: [PATCH 04/21] Fix a switch test that expects to an error due to + read-only, but doesn't because the user has Administrator privileges. --- - subversion/tests/cmdline/switch_tests.py | 7 +++++++ + subversion/tests/cmdline/switch_tests.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/subversion/tests/cmdline/switch_tests.py b/subversion/tests/cmdline/switch_tests.py @@ -25,3 +27,6 @@ index f71ec73..fd9be77 100755 sbox.build() wc_dir = sbox.wc_dir +-- +2.37.2 + diff --git a/subversion/05-retry-loop.patch b/subversion/0005-Use-WIN32-retry-loop-on-Cygwin-too.patch similarity index 81% rename from subversion/05-retry-loop.patch rename to subversion/0005-Use-WIN32-retry-loop-on-Cygwin-too.patch index 4581d58914b..d3ed5404771 100644 --- a/subversion/05-retry-loop.patch +++ b/subversion/0005-Use-WIN32-retry-loop-on-Cygwin-too.patch @@ -1,14 +1,14 @@ -Use WIN32 retry loop on Cygwin, too. - +From 84e82506f932427d41a1b0f7edb67ef2f5dfe7fd Mon Sep 17 00:00:00 2001 From: David Rothenberger - +Date: Thu, 7 Nov 2013 23:02:43 +0400 +Subject: [PATCH 05/21] Use WIN32 retry loop on Cygwin, too. --- - subversion/libsvn_subr/io.c | 22 ++++++++++++++++++++-- + subversion/libsvn_subr/io.c | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/subversion/libsvn_subr/io.c b/subversion/libsvn_subr/io.c -index 9d6db8f..4262c75 100644 +index d788b3d..c47fbae 100644 --- a/subversion/libsvn_subr/io.c +++ b/subversion/libsvn_subr/io.c @@ -29,6 +29,10 @@ @@ -35,7 +35,7 @@ index 9d6db8f..4262c75 100644 #else #define WIN32_RETRY_LOOP(err, expr) ((void)0) #endif -@@ -2900,6 +2910,7 @@ svn_io_remove_file2(const char *path, +@@ -2871,6 +2881,7 @@ svn_io_remove_file2(const char *path, apr_err = apr_file_remove(path_apr, scratch_pool); @@ -43,7 +43,7 @@ index 9d6db8f..4262c75 100644 #ifdef WIN32 /* If the target is read only NTFS reports EACCESS and FAT/FAT32 reports EEXIST */ -@@ -2910,10 +2921,14 @@ svn_io_remove_file2(const char *path, +@@ -2881,10 +2892,14 @@ svn_io_remove_file2(const char *path, SVN_ERR(svn_io_set_file_read_write(path, ignore_enoent, scratch_pool)); apr_err = apr_file_remove(path_apr, scratch_pool); } @@ -59,7 +59,7 @@ index 9d6db8f..4262c75 100644 { apr_finfo_t finfo; -@@ -4570,6 +4585,9 @@ svn_io_file_rename2(const char *from_path, const char *to_path, +@@ -4541,6 +4556,9 @@ svn_io_file_rename2(const char *from_path, const char *to_path, } #else status = apr_file_rename(from_path_apr, to_path_apr, pool); @@ -69,7 +69,7 @@ index 9d6db8f..4262c75 100644 #endif /* WIN32 || __OS2__ */ if (status) -@@ -4702,7 +4720,7 @@ dir_make(const char *path, apr_fileperms_t perm, +@@ -4673,7 +4691,7 @@ dir_make(const char *path, apr_fileperms_t perm, /* Windows does not implement sgid. Skip here because retrieving the file permissions via APR_FINFO_PROT | APR_FINFO_OWNER is documented to be 'incredibly expensive'. */ @@ -78,3 +78,6 @@ index 9d6db8f..4262c75 100644 if (sgid) { apr_finfo_t finfo; +-- +2.37.2 + diff --git a/subversion/06-svnadmin-binary-mode.patch b/subversion/0006-Use-binary-mode-for-svnadmin-dump-load.patch similarity index 67% rename from subversion/06-svnadmin-binary-mode.patch rename to subversion/0006-Use-binary-mode-for-svnadmin-dump-load.patch index 0b1bc146460..9efa7638fa0 100644 --- a/subversion/06-svnadmin-binary-mode.patch +++ b/subversion/0006-Use-binary-mode-for-svnadmin-dump-load.patch @@ -1,48 +1,57 @@ -Use binary mode for svnadmin dump/load. - +From fd19e8e9cd943a13512ffc509b56d1745c8e538e Mon Sep 17 00:00:00 2001 From: David Rothenberger - +Date: Thu, 7 Nov 2013 23:02:43 +0400 +Subject: [PATCH 06/21] Use binary mode for svnadmin dump/load. --- - subversion/svnadmin/svnadmin.c | 14 ++++++++++++-- - 1 file changed, 12 insertions(+), 2 deletions(-) + subversion/svnadmin/svnadmin.c | 20 ++++++++++++++++++-- + 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/subversion/svnadmin/svnadmin.c b/subversion/svnadmin/svnadmin.c -index 85a6279..f851700 100644 +index e82df65..63dd614 100644 --- a/subversion/svnadmin/svnadmin.c +++ b/subversion/svnadmin/svnadmin.c -@@ -54,6 +54,10 @@ +@@ -54,6 +54,12 @@ #include "svn_private_config.h" +#include ++#ifdef __WIN32__ +#include ++#endif +#include + /*** Code. ***/ -@@ -1439,7 +1443,10 @@ subcommand_dump(apr_getopt_t *os, void *baton, apr_pool_t *pool) +@@ -1454,7 +1460,12 @@ subcommand_dump(apr_getopt_t *os, void *baton, apr_pool_t *pool) out_stream = svn_stream_from_aprfile2(file, FALSE, pool); } else - SVN_ERR(svn_stream_for_stdout(&out_stream, pool)); + { ++#ifdef __WIN32__ + setmode(STDOUT_FILENO, O_BINARY); ++#endif + SVN_ERR(svn_stream_for_stdout(&out_stream, pool)); + } /* Progress feedback goes to STDERR, unless they asked to suppress it. */ if (! opt_state->quiet) -@@ -1715,7 +1722,10 @@ subcommand_load(apr_getopt_t *os, void *baton, apr_pool_t *pool) +@@ -1730,7 +1741,12 @@ subcommand_load(apr_getopt_t *os, void *baton, apr_pool_t *pool) SVN_ERR(svn_stream_open_readonly(&in_stream, opt_state->file, pool, pool)); else - SVN_ERR(svn_stream_for_stdin2(&in_stream, TRUE, pool)); + { ++#ifdef __WIN32__ + setmode(STDIN_FILENO, O_BINARY); ++#endif + SVN_ERR(svn_stream_for_stdin2(&in_stream, TRUE, pool)); + } /* Progress feedback goes to STDOUT, unless they asked to suppress it. */ if (! opt_state->quiet) +-- +2.37.2 + diff --git a/subversion/07-fix-path-tests.patch b/subversion/0007-Don-t-support-DOS-paths-for-Cygwin.patch similarity index 98% rename from subversion/07-fix-path-tests.patch rename to subversion/0007-Don-t-support-DOS-paths-for-Cygwin.patch index e3db5ca6b85..27e9bda5f94 100644 --- a/subversion/07-fix-path-tests.patch +++ b/subversion/0007-Don-t-support-DOS-paths-for-Cygwin.patch @@ -1,12 +1,13 @@ -Don't support DOS paths for Cygwin. - +From 4563be2d3b55154c3a1baf73004f2489225fa7c2 Mon Sep 17 00:00:00 2001 From: David Rothenberger +Date: Thu, 7 Nov 2013 23:02:43 +0400 +Subject: [PATCH 07/21] Don't support DOS paths for Cygwin. * But do support a little UNC. --- - subversion/libsvn_subr/dirent_uri.c | 55 +++++--- - subversion/tests/libsvn_subr/dirent_uri-test.c | 158 +++++++++++++++++++++--- - subversion/tests/libsvn_subr/path-test.c | 10 +- + subversion/libsvn_subr/dirent_uri.c | 55 +++--- + .../tests/libsvn_subr/dirent_uri-test.c | 158 +++++++++++++++--- + subversion/tests/libsvn_subr/path-test.c | 10 +- 3 files changed, 181 insertions(+), 42 deletions(-) diff --git a/subversion/libsvn_subr/dirent_uri.c b/subversion/libsvn_subr/dirent_uri.c @@ -647,3 +648,6 @@ index 6f0a996..3a8e2fb 100644 #else { "a:/", "a:" }, { "a:/file", "a:/file" }, +-- +2.37.2 + diff --git a/subversion/08-ruby-test-fix.patch b/subversion/0008-Fix-ruby-tests.patch similarity index 85% rename from subversion/08-ruby-test-fix.patch rename to subversion/0008-Fix-ruby-tests.patch index 449feecc45f..0f3516e32ef 100644 --- a/subversion/08-ruby-test-fix.patch +++ b/subversion/0008-Fix-ruby-tests.patch @@ -1,10 +1,10 @@ -Fix ruby tests. - +From 04eb52f53ba5ea1130bd05b82f9f81fe5b5ffb33 Mon Sep 17 00:00:00 2001 From: David Rothenberger - +Date: Thu, 7 Nov 2013 23:02:43 +0400 +Subject: [PATCH 08/21] Fix ruby tests. --- - subversion/bindings/swig/ruby/svn/util.rb | 6 +++--- + subversion/bindings/swig/ruby/svn/util.rb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/subversion/bindings/swig/ruby/svn/util.rb b/subversion/bindings/swig/ruby/svn/util.rb @@ -38,3 +38,6 @@ index d409b98..50514ff 100644 end end end +-- +2.37.2 + diff --git a/subversion/09-wincrypt.patch b/subversion/0009-Support-wincrypt-for-password-encryption-on-Cygwin.patch similarity index 87% rename from subversion/09-wincrypt.patch rename to subversion/0009-Support-wincrypt-for-password-encryption-on-Cygwin.patch index c752559aa1d..bb43413447f 100644 --- a/subversion/09-wincrypt.patch +++ b/subversion/0009-Support-wincrypt-for-password-encryption-on-Cygwin.patch @@ -1,22 +1,22 @@ -Support wincrypt for password encryption on Cygwin. - +From 40f46575896fff8d0fd363b5a00a2b0341aefb3e Mon Sep 17 00:00:00 2001 From: David Rothenberger - +Date: Thu, 7 Nov 2013 23:02:43 +0400 +Subject: [PATCH 09/21] Support wincrypt for password encryption on Cygwin. --- - build.conf | 5 +++++ - subversion/include/svn_auth.h | 2 +- - subversion/libsvn_subr/auth.c | 2 +- - subversion/libsvn_subr/config_file.c | 2 +- - subversion/libsvn_subr/win32_crypto.c | 5 ++++- - subversion/tests/libsvn_subr/auth-test.c | 6 ++++-- + build.conf | 5 +++++ + subversion/include/svn_auth.h | 2 +- + subversion/libsvn_subr/auth.c | 2 +- + subversion/libsvn_subr/config_file.c | 2 +- + subversion/libsvn_subr/win32_crypto.c | 5 ++++- + subversion/tests/libsvn_subr/auth-test.c | 6 ++++-- 6 files changed, 16 insertions(+), 6 deletions(-) diff --git a/build.conf b/build.conf -index 33084f7..9222e57 100644 +index 40d0b62..5f61038 100644 --- a/build.conf +++ b/build.conf -@@ -376,6 +376,7 @@ path = subversion/libsvn_subr +@@ -377,6 +377,7 @@ path = subversion/libsvn_subr sources = *.c lz4/*.c libs = aprutil apriconv apr xml zlib apr_memcache sqlite magic intl lz4 utf8proc macos-plist macos-keychain @@ -24,7 +24,7 @@ index 33084f7..9222e57 100644 msvc-libs = kernel32.lib advapi32.lib shfolder.lib ole32.lib crypt32.lib version.lib msvc-export = -@@ -1549,6 +1550,10 @@ type = lib +@@ -1562,6 +1563,10 @@ type = lib external-lib = $(SVN_FS_LIB_LINK) libs = libsvn_fs_base libsvn_fs_fs libsvn_fs_x @@ -62,7 +62,7 @@ index 9d58c73..ae1957e 100644 strcmp(provider_type, "simple") == 0) { diff --git a/subversion/libsvn_subr/config_file.c b/subversion/libsvn_subr/config_file.c -index 9c0a83a..a6863a6 100644 +index a437c89..e879fc3 100644 --- a/subversion/libsvn_subr/config_file.c +++ b/subversion/libsvn_subr/config_file.c @@ -1371,7 +1371,7 @@ svn_config_ensure(const char *config_dir, apr_pool_t *pool) @@ -135,3 +135,6 @@ index c184442..383b572 100644 #endif /* Test KWallet auth providers */ +-- +2.37.2 + diff --git a/subversion/10-perl-vendors.patch b/subversion/0010-Install-perl-modules-into-vendors.patch similarity index 69% rename from subversion/10-perl-vendors.patch rename to subversion/0010-Install-perl-modules-into-vendors.patch index d5148b8951d..1d789c4c01b 100644 --- a/subversion/10-perl-vendors.patch +++ b/subversion/0010-Install-perl-modules-into-vendors.patch @@ -1,17 +1,17 @@ -Install perl modules into vendors - +From 8e42fad9c9b2bd1d59b85e27b67a33b9a23d9554 Mon Sep 17 00:00:00 2001 From: David Rothenberger - +Date: Thu, 7 Nov 2013 23:02:43 +0400 +Subject: [PATCH 10/21] Install perl modules into vendors --- - Makefile.in | 2 +- + Makefile.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile.in b/Makefile.in -index 6a73b4c..f453fae 100644 +index eac8bdb..43210aa 100644 --- a/Makefile.in +++ b/Makefile.in -@@ -878,7 +878,7 @@ $(SWIG_PL_DIR)/native/Makefile.PL: $(SWIG_SRC_DIR)/perl/native/Makefile.PL.in +@@ -882,7 +882,7 @@ $(SWIG_PL_DIR)/native/Makefile.PL: $(SWIG_SRC_DIR)/perl/native/Makefile.PL.in ./config.status subversion/bindings/swig/perl/native/Makefile.PL $(SWIG_PL_DIR)/native/Makefile: libsvn_swig_perl $(SWIG_PL_DIR)/native/Makefile.PL @@ -20,3 +20,6 @@ index 6a73b4c..f453fae 100644 # There is a "readlink -f" command on some systems for the same purpose, # but it's not as portable (e.g. Mac OS X doesn't have it). These should +-- +2.37.2 + diff --git a/subversion/11-XFAIL-case-sensitive-move-tests.patch b/subversion/0011-XFAIL-some-case-sensitive-rename-and-move-tests.patch similarity index 81% rename from subversion/11-XFAIL-case-sensitive-move-tests.patch rename to subversion/0011-XFAIL-some-case-sensitive-rename-and-move-tests.patch index 085d0cb9baf..9aca9a23fe0 100644 --- a/subversion/11-XFAIL-case-sensitive-move-tests.patch +++ b/subversion/0011-XFAIL-some-case-sensitive-rename-and-move-tests.patch @@ -1,12 +1,12 @@ -XFAIL some case-sensitive rename and move tests - +From af6280691b7cc13942c888da986d2c419b18ad7e Mon Sep 17 00:00:00 2001 From: David Rothenberger - +Date: Thu, 7 Nov 2013 23:02:43 +0400 +Subject: [PATCH 11/21] XFAIL some case-sensitive rename and move tests --- - subversion/tests/cmdline/copy_tests.py | 1 + - subversion/tests/cmdline/svntest/main.py | 5 ++++- - subversion/tests/libsvn_wc/op-depth-test.c | 4 ++-- + subversion/tests/cmdline/copy_tests.py | 1 + + subversion/tests/cmdline/svntest/main.py | 5 ++++- + subversion/tests/libsvn_wc/op-depth-test.c | 4 ++-- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/subversion/tests/cmdline/copy_tests.py b/subversion/tests/cmdline/copy_tests.py @@ -22,10 +22,10 @@ index efc4dee..4f648fb 100755 """case-only rename""" diff --git a/subversion/tests/cmdline/svntest/main.py b/subversion/tests/cmdline/svntest/main.py -index 38c03c5..f05844f 100644 +index 7a937ea..7f5bb2c 100644 --- a/subversion/tests/cmdline/svntest/main.py +++ b/subversion/tests/cmdline/svntest/main.py -@@ -1641,8 +1641,11 @@ def is_posix_os(): +@@ -1637,8 +1637,11 @@ def is_posix_os(): def is_os_darwin(): return sys.platform == 'darwin' @@ -39,7 +39,7 @@ index 38c03c5..f05844f 100644 def is_threaded_python(): return True diff --git a/subversion/tests/libsvn_wc/op-depth-test.c b/subversion/tests/libsvn_wc/op-depth-test.c -index 66e5928..71bbb9f 100644 +index 84bd41c..b2e2ba3 100644 --- a/subversion/tests/libsvn_wc/op-depth-test.c +++ b/subversion/tests/libsvn_wc/op-depth-test.c @@ -11933,11 +11933,11 @@ static struct svn_test_descriptor_t test_funcs[] = @@ -56,3 +56,6 @@ index 66e5928..71bbb9f 100644 SVN_TEST_OPTS_XFAIL(test_case_rename, "test_case_rename on case (in)sensitive system"), #endif +-- +2.37.2 + diff --git a/subversion/12-fix-svnlook-test.patch b/subversion/0012-Fix-svnlook_tests.py-so-it-sets-PATH-in-the-python-h.patch similarity index 78% rename from subversion/12-fix-svnlook-test.patch rename to subversion/0012-Fix-svnlook_tests.py-so-it-sets-PATH-in-the-python-h.patch index ef4b8e3a461..b16f38f3a0c 100644 --- a/subversion/12-fix-svnlook-test.patch +++ b/subversion/0012-Fix-svnlook_tests.py-so-it-sets-PATH-in-the-python-h.patch @@ -1,10 +1,11 @@ -Fix svnlook_tests.py, so it sets PATH in the python hook. - +From d18c9470c221a07abb41c7e85e433ce3fab0256e Mon Sep 17 00:00:00 2001 From: David Rothenberger - +Date: Thu, 7 Nov 2013 23:02:43 +0400 +Subject: [PATCH 12/21] Fix svnlook_tests.py, so it sets PATH in the python + hook. --- - subversion/tests/cmdline/svnlook_tests.py | 2 +- + subversion/tests/cmdline/svnlook_tests.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/subversion/tests/cmdline/svnlook_tests.py b/subversion/tests/cmdline/svnlook_tests.py @@ -20,3 +21,6 @@ index 4315168..7ad979b 100755 (output, errors) = process.communicate() status = process.returncode fp.write(output) +-- +2.37.2 + diff --git a/subversion/13-dso_open.patch b/subversion/0013-Fix-DSO-open-specifically-for-auth-modules-like-GNOM.patch similarity index 87% rename from subversion/13-dso_open.patch rename to subversion/0013-Fix-DSO-open-specifically-for-auth-modules-like-GNOM.patch index a2535512477..0d745c37b83 100644 --- a/subversion/13-dso_open.patch +++ b/subversion/0013-Fix-DSO-open-specifically-for-auth-modules-like-GNOM.patch @@ -1,14 +1,16 @@ -Fix DSO open, specifically for auth modules like GNOME keyring - +From 32b135c36bae6121be223a8fd0379eb5d4d3f787 Mon Sep 17 00:00:00 2001 From: David Rothenberger +Date: Wed, 5 Nov 2014 23:30:55 +0300 +Subject: [PATCH 13/21] Fix DSO open, specifically for auth modules like GNOME + keyring support. Thanks to Yaakov for the patch. http://cygwin.com/ml/cygwin/2012-03/msg00835.html --- - subversion/libsvn_fs/fs-loader.c | 7 ++++++- - subversion/libsvn_ra/ra_loader.c | 7 ++++++- - subversion/libsvn_subr/auth.c | 4 ++++ + subversion/libsvn_fs/fs-loader.c | 7 ++++++- + subversion/libsvn_ra/ra_loader.c | 7 ++++++- + subversion/libsvn_subr/auth.c | 4 ++++ 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/subversion/libsvn_fs/fs-loader.c b/subversion/libsvn_fs/fs-loader.c @@ -30,7 +32,7 @@ index 3840f22..ef444c2 100644 funcname = apr_psprintf(pool, "svn_fs_%s__init", name); diff --git a/subversion/libsvn_ra/ra_loader.c b/subversion/libsvn_ra/ra_loader.c -index ac07545..4c2825c 100644 +index 0fc7407..a00f90e 100644 --- a/subversion/libsvn_ra/ra_loader.c +++ b/subversion/libsvn_ra/ra_loader.c @@ -143,7 +143,12 @@ load_ra_module(svn_ra__init_func_t *func, @@ -63,3 +65,6 @@ index ae1957e..e26968e 100644 provider_name, SVN_VER_MAJOR, SVN_SOVERSION); library_label = apr_psprintf(pool, "svn_%s", provider_name); +-- +2.37.2 + diff --git a/subversion/14-fix_svnauthz_tests.patch b/subversion/0014-Fix-svnauthz_tests.py-by-adding-usr-bin-to-PATH.patch similarity index 79% rename from subversion/14-fix_svnauthz_tests.patch rename to subversion/0014-Fix-svnauthz_tests.py-by-adding-usr-bin-to-PATH.patch index a00586c481c..c9a30bf680f 100644 --- a/subversion/14-fix_svnauthz_tests.patch +++ b/subversion/0014-Fix-svnauthz_tests.py-by-adding-usr-bin-to-PATH.patch @@ -1,10 +1,10 @@ -Fix svnauthz_tests.py by adding /usr/bin to PATH. - +From bcc8e13d4dacdaab37d62eb7f3f9b37ea0fa7269 Mon Sep 17 00:00:00 2001 From: David Rothenberger - +Date: Thu, 7 Nov 2013 23:02:43 +0400 +Subject: [PATCH 14/21] Fix svnauthz_tests.py by adding /usr/bin to PATH. --- - subversion/tests/cmdline/svnauthz_tests.py | 2 +- + subversion/tests/cmdline/svnauthz_tests.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/subversion/tests/cmdline/svnauthz_tests.py b/subversion/tests/cmdline/svnauthz_tests.py @@ -20,3 +20,6 @@ index c050122..2f5369e 100755 (output, errors) = process.communicate() status = process.returncode fp.write(output) +-- +2.37.2 + diff --git a/subversion/15-XFAIL_case_sensitive_tree_conflict.patch b/subversion/0015-Mark-basic_test.py-rm_missing_with_case_clashing_ond.patch similarity index 71% rename from subversion/15-XFAIL_case_sensitive_tree_conflict.patch rename to subversion/0015-Mark-basic_test.py-rm_missing_with_case_clashing_ond.patch index d06d842d120..a56a73434a2 100644 --- a/subversion/15-XFAIL_case_sensitive_tree_conflict.patch +++ b/subversion/0015-Mark-basic_test.py-rm_missing_with_case_clashing_ond.patch @@ -1,15 +1,17 @@ -Mark basic_test.py rm_missing_with_case_clashing_ondisk_item as XFAIL. - +From 39a574301a4c2d413e13a2c09a5df049d01ae9cf Mon Sep 17 00:00:00 2001 From: David Rothenberger +Date: Thu, 7 Nov 2013 23:02:43 +0400 +Subject: [PATCH 15/21] Mark basic_test.py + rm_missing_with_case_clashing_ondisk_item as XFAIL. It depends on Windows code that can get the canonical case for an on disk item, but that has not been implemented for Cygwin. --- - subversion/tests/cmdline/basic_tests.py | 1 + + subversion/tests/cmdline/basic_tests.py | 1 + 1 file changed, 1 insertion(+) diff --git a/subversion/tests/cmdline/basic_tests.py b/subversion/tests/cmdline/basic_tests.py -index c6b7482..b8699cf 100755 +index 30bb62b..4f13c56 100755 --- a/subversion/tests/cmdline/basic_tests.py +++ b/subversion/tests/cmdline/basic_tests.py @@ -2955,6 +2955,7 @@ def quiet_commits(sbox): @@ -20,3 +22,6 @@ index c6b7482..b8699cf 100755 def rm_missing_with_case_clashing_ondisk_item(sbox): """rm missing item with case-clashing ondisk item""" +-- +2.37.2 + diff --git a/subversion/16-fix-swig3.patch b/subversion/0016-Support-swig3.patch similarity index 69% rename from subversion/16-fix-swig3.patch rename to subversion/0016-Support-swig3.patch index f1e9446dd98..d32349ec9e6 100644 --- a/subversion/16-fix-swig3.patch +++ b/subversion/0016-Support-swig3.patch @@ -1,6 +1,7 @@ -Support swig3 - +From c29eb6ea86494dacaa98e6afd427d3899fb243ea Mon Sep 17 00:00:00 2001 From: David Rothenberger +Date: Mon, 14 Sep 2015 14:39:28 +0300 +Subject: [PATCH 16/21] Support swig3 Fugly hack to fix build with SWIG 3.0.x. The pre-processor seems to expand the %define correctly with only the change to %{..%}, but @@ -8,14 +9,14 @@ expand the %define correctly with only the change to %{..%}, but https://github.com/swig/swig/issues/379 --- - subversion/bindings/swig/svn_delta.i | 2 -- + subversion/bindings/swig/svn_delta.i | 2 -- 1 file changed, 2 deletions(-) diff --git a/subversion/bindings/swig/svn_delta.i b/subversion/bindings/swig/svn_delta.i -index f69b76e..4ad2718 100644 +index 36c776b..ae45e1f 100644 --- a/subversion/bindings/swig/svn_delta.i +++ b/subversion/bindings/swig/svn_delta.i -@@ -206,8 +206,6 @@ void _ops_get(int *num_ops, const svn_txdelta_op_t **ops) +@@ -207,8 +207,6 @@ void _ops_get(int *num_ops, const svn_txdelta_op_t **ops) #ifdef SWIGPYTHON %pythoncode %{ @@ -24,3 +25,6 @@ index f69b76e..4ad2718 100644 svn_txdelta_window_t_ops_get = svn_txdelta_window_t._ops_get %} #endif +-- +2.37.2 + diff --git a/subversion/18-fix-serf-config.patch b/subversion/0017-Fix-serf-config.patch similarity index 80% rename from subversion/18-fix-serf-config.patch rename to subversion/0017-Fix-serf-config.patch index 1b1caab32eb..47f01f899c5 100644 --- a/subversion/18-fix-serf-config.patch +++ b/subversion/0017-Fix-serf-config.patch @@ -1,10 +1,10 @@ -Fix serf config - +From 00b4e7f7a8608ded9331651597611c4dc111a784 Mon Sep 17 00:00:00 2001 From: David Rothenberger - +Date: Mon, 14 Sep 2015 14:39:28 +0300 +Subject: [PATCH 17/21] Fix serf config --- - build/ac-macros/serf.m4 | 3 +-- + build/ac-macros/serf.m4 | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/build/ac-macros/serf.m4 b/build/ac-macros/serf.m4 @@ -21,3 +21,6 @@ index 0a549b3..61d9990 100644 break else AC_MSG_RESULT([no]) +-- +2.37.2 + diff --git a/subversion/19-remove-contrib-from-configure.patch b/subversion/0018-Remove-contrib.patch similarity index 71% rename from subversion/19-remove-contrib-from-configure.patch rename to subversion/0018-Remove-contrib.patch index 0b000809bea..2af5bf125e0 100644 --- a/subversion/19-remove-contrib-from-configure.patch +++ b/subversion/0018-Remove-contrib.patch @@ -1,14 +1,14 @@ -Remove contrib - +From 6a1aceeb6851e10576c252ae89094951a710ee8b Mon Sep 17 00:00:00 2001 From: David Rothenberger - +Date: Mon, 14 Sep 2015 14:39:28 +0300 +Subject: [PATCH 18/21] Remove contrib --- - configure.ac | 2 +- + configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac -index a758b73..209f3e9 100644 +index 60b99f2..def819f 100644 --- a/configure.ac +++ b/configure.ac @@ -1655,7 +1655,7 @@ AC_OUTPUT @@ -20,3 +20,6 @@ index a758b73..209f3e9 100644 fi # ==== Print final messages to user ========================================== +-- +2.37.2 + diff --git a/subversion/0019-subversion-1.9.1-msys2.patch b/subversion/0019-subversion-1.9.1-msys2.patch new file mode 100644 index 00000000000..e3d95a98d20 --- /dev/null +++ b/subversion/0019-subversion-1.9.1-msys2.patch @@ -0,0 +1,198 @@ +From fadf9eb7ffe8fb8929710f70c4a965f734416166 Mon Sep 17 00:00:00 2001 +From: Alexey Pavlov +Date: Mon, 14 Sep 2015 14:39:28 +0300 +Subject: [PATCH 19/21] subversion-1.9.1-msys2 + +--- + Makefile.in | 2 +- + build/ac-macros/apache.m4 | 2 +- + build/ac-macros/sqlite.m4 | 2 +- + build/config.guess | 6 ++++++ + build/get-py-info.py | 2 +- + configure.ac | 2 +- + subversion/bindings/ctypes-python/test/remoterepos.py | 2 +- + subversion/bindings/swig/perl/native/Makefile.PL.in | 2 +- + subversion/bindings/swig/python/tests/setup_path.py | 2 +- + subversion/tests/cmdline/commit_tests.py | 4 ++-- + subversion/tests/cmdline/svntest/main.py | 7 +++++-- + 11 files changed, 21 insertions(+), 12 deletions(-) + +diff --git a/Makefile.in b/Makefile.in +index 43210aa..628336c 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -938,7 +938,7 @@ copy-swig-py: autogen-swig-py swig-py $(SWIG_PY_DIR)/libsvn + @for f in $(SWIG_PY_SRC_DIR)/*.py $(SWIG_PY_DIR)/*.py; do \ + ! [ -f "$$f" ] || cp -pf $$f $(SWIG_PY_DIR)/libsvn; \ + done +- @cd $(SWIG_PY_DIR)/libsvn;ln -sf ../.libs/*.so . ++ @cd $(SWIG_PY_DIR)/libsvn;ln -sf ../.libs/*.dll . + @touch $(SWIG_PY_DIR)/libsvn/__init__.py + + check-swig-py: swig-py copy-swig-py +diff --git a/build/ac-macros/apache.m4 b/build/ac-macros/apache.m4 +index 914e6e8..25df038 100644 +--- a/build/ac-macros/apache.m4 ++++ b/build/ac-macros/apache.m4 +@@ -208,7 +208,7 @@ if test -n "$APXS" && test "$APXS" != "no"; then + INSTALL_APACHE_RULE=install-mods-shared + INSTALL_APACHE_MODS=true + case $host in +- *-*-cygwin*) ++ *-*-cygwin* | *-*-msys*) + APACHE_LDFLAGS="-shrext .so" + ;; + esac +diff --git a/build/ac-macros/sqlite.m4 b/build/ac-macros/sqlite.m4 +index c15d15d..047b668 100644 +--- a/build/ac-macros/sqlite.m4 ++++ b/build/ac-macros/sqlite.m4 +@@ -264,7 +264,7 @@ dnl shared libraries. Copied from build/libtool.m4 + AC_DEFUN(_SVN_SQLITE_DSO_LIBS, + [ + case $host_os in +- beos* | mingw* | pw32* | cegcc* | cygwin*) ++ beos* | mingw* | pw32* | cegcc* | cygwin* | msys*) + svn_sqlite_dso_ldflags= + ;; + +diff --git a/build/config.guess b/build/config.guess +index dbfb978..6d4c7e5 100755 +--- a/build/config.guess ++++ b/build/config.guess +@@ -824,6 +824,9 @@ EOF + *:MINGW64*:*) + echo ${UNAME_MACHINE}-pc-mingw64 + exit ;; ++ i*:MSYS*:*) ++ echo ${UNAME_MACHINE}-pc-msys ++ exit ;; + *:MINGW*:*) + echo ${UNAME_MACHINE}-pc-mingw32 + exit ;; +@@ -867,6 +870,9 @@ EOF + amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) + echo x86_64-unknown-cygwin + exit ;; ++ amd64:MSYS*:*:* | x86_64:MSYS*:*:*) ++ echo x86_64-unknown-msys ++ exit ;; + p*:CYGWIN*:*) + echo powerpcle-unknown-cygwin + exit ;; +diff --git a/build/get-py-info.py b/build/get-py-info.py +index 95bad41..6c7a920 100644 +--- a/build/get-py-info.py ++++ b/build/get-py-info.py +@@ -89,7 +89,7 @@ def link_options(): + sysconfig.get_config_var('PYTHON')) + add_option_if_missing(options, "-bundle_loader", python_exe) + +- elif sys.platform == 'cygwin' or sys.platform.startswith('openbsd'): ++ elif sys.platform == 'cygwin' or sys.platform == 'msys' or sys.platform.startswith('openbsd'): + + # Add flags to build against the Python library (also necessary + # for Darwin, but handled elsewhere). +diff --git a/configure.ac b/configure.ac +index def819f..6986bde 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -322,7 +322,7 @@ dnl It should always work but with libtool 1.4.3 on OS X it breaks the build. + dnl So we only turn it on for platforms where we know we really need it. + AC_MSG_CHECKING([whether libtool needs -no-undefined]) + case $host in +- *-*-cygwin*) ++ *-*-cygwin* | *-*-msys*) + AC_MSG_RESULT([yes]) + LT_NO_UNDEFINED="-no-undefined" + ;; +diff --git a/subversion/bindings/ctypes-python/test/remoterepos.py b/subversion/bindings/ctypes-python/test/remoterepos.py +index dadea9e..6cabcf3 100755 +--- a/subversion/bindings/ctypes-python/test/remoterepos.py ++++ b/subversion/bindings/ctypes-python/test/remoterepos.py +@@ -175,7 +175,7 @@ class RemoteRepositoryTestCase(unittest.TestCase): + f.close() + os.chmod(hook, S_IRWXU) + +- if sys.platform == "cygwin": ++ if sys.platform == "cygwin" or sys.platform == "msys": + ### FIXME: When you try to set revprops, cygwin crashes + ### with a fatal error, so we skip this test for now. + return +diff --git a/subversion/bindings/swig/perl/native/Makefile.PL.in b/subversion/bindings/swig/perl/native/Makefile.PL.in +index 8ec0bac..3871e71 100644 +--- a/subversion/bindings/swig/perl/native/Makefile.PL.in ++++ b/subversion/bindings/swig/perl/native/Makefile.PL.in +@@ -73,7 +73,7 @@ $cflags =~ s/-Wredundant-decls//g; + # According to the log of r7937, the flags guarded by the conditional break + # the build on FreeBSD if not conditionalized. + my $apr_ldflags = '@SVN_APR_LIBS@' +- if $^O eq 'darwin' or $^O eq 'cygwin'; ++ if $^O eq 'darwin' or $^O eq 'cygwin' or $^O eq 'msys'; + + chomp $apr_shlib_path_var; + +diff --git a/subversion/bindings/swig/python/tests/setup_path.py b/subversion/bindings/swig/python/tests/setup_path.py +index c53f757..2bad413 100644 +--- a/subversion/bindings/swig/python/tests/setup_path.py ++++ b/subversion/bindings/swig/python/tests/setup_path.py +@@ -39,7 +39,7 @@ sys.path[0:0] = [ src_swig_python_tests_dir, + + # OSes without RPATH support are going to have to do things here to make + # the correct shared libraries be found. +-if sys.platform == 'cygwin': ++if sys.platform == 'cygwin' or sys.platform == 'msys': + import glob + svndir = os.path.normpath("../../../%s" % bld_swig_python_dir) + libpath = os.getenv("PATH").split(":") +diff --git a/subversion/tests/cmdline/commit_tests.py b/subversion/tests/cmdline/commit_tests.py +index 7f7591e..9cfd5af 100755 +--- a/subversion/tests/cmdline/commit_tests.py ++++ b/subversion/tests/cmdline/commit_tests.py +@@ -51,7 +51,7 @@ from svntest.actions import inject_conflict_into_wc + # + + def is_non_posix_os_or_cygwin_platform(): +- return (not svntest.main.is_posix_os()) or sys.platform == 'cygwin' ++ return (not svntest.main.is_posix_os()) or sys.platform == 'cygwin' or sys.platform == 'msys' + + def get_standard_state(wc_dir): + """Return a status list reflecting the local mods made by +@@ -1010,7 +1010,7 @@ def commit_uri_unsafe(sbox): + + # Note: on Windows, files can't have angle brackets in them, so we + # don't tests that case. +- if svntest.main.windows or sys.platform == 'cygwin': ++ if svntest.main.windows or sys.platform == 'cygwin' or sys.platform == 'msys': + angle_name = '_angle_' + nasty_name = '#![]{}()__%' + else: +diff --git a/subversion/tests/cmdline/svntest/main.py b/subversion/tests/cmdline/svntest/main.py +index 7f5bb2c..1345b46 100644 +--- a/subversion/tests/cmdline/svntest/main.py ++++ b/subversion/tests/cmdline/svntest/main.py +@@ -343,7 +343,7 @@ def setup_development_mode(): + def get_admin_name(): + "Return name of SVN administrative subdirectory." + +- if (windows or sys.platform == 'cygwin') \ ++ if (windows or sys.platform == 'cygwin' or sys.platform == 'msys') \ + and 'SVN_ASP_DOT_NET_HACK' in os.environ: + return '_svn' + else: +@@ -1640,8 +1640,11 @@ def is_os_darwin(): + def is_os_cygwin(): + return sys.platform == 'cygwin' + ++def is_os_msys(): ++ return sys.platform == 'msys' ++ + def is_fs_case_insensitive(): +- return (is_os_darwin() or is_os_windows() or is_os_cygwin()) ++ return (is_os_darwin() or is_os_windows() or is_os_cygwin() or is_os_msys()) + + def is_threaded_python(): + return True +-- +2.37.2 + diff --git a/subversion/0020-remove-checking-symlink.patch b/subversion/0020-remove-checking-symlink.patch new file mode 100644 index 00000000000..5ff33a5a156 --- /dev/null +++ b/subversion/0020-remove-checking-symlink.patch @@ -0,0 +1,26 @@ +From 6e8f3c07b29ffffd260c70f9a944cb1d55ae4f96 Mon Sep 17 00:00:00 2001 +From: Alexpux +Date: Tue, 17 Dec 2013 14:05:47 +0400 +Subject: [PATCH 20/21] remove-checking-symlink + +--- + configure.ac | 3 --- + 1 file changed, 3 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 6986bde..185f1dd 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -925,9 +925,6 @@ AC_FUNC_MEMCMP + dnl svn_error's default warning handler uses vfprintf() + AC_FUNC_VPRINTF + +-dnl check for functions needed in special file handling +-AC_CHECK_FUNCS(symlink readlink) +- + dnl check for uname and ELF headers + AC_CHECK_HEADERS(sys/utsname.h, [AC_CHECK_FUNCS(uname)], []) + AC_CHECK_HEADERS(elf.h) +-- +2.37.2 + diff --git a/subversion/90-use-copy-instead-symlink.patch b/subversion/0021-90-use-copy-instead-symlink.patch similarity index 60% rename from subversion/90-use-copy-instead-symlink.patch rename to subversion/0021-90-use-copy-instead-symlink.patch index 056f7553a9e..2c5e6989f03 100644 --- a/subversion/90-use-copy-instead-symlink.patch +++ b/subversion/0021-90-use-copy-instead-symlink.patch @@ -1,6 +1,17 @@ ---- subversion-1.10.1/Makefile.in.orig 2015-09-14 13:25:11.923679100 +0300 -+++ subversion-1.10.1/Makefile.in 2015-09-14 13:25:27.568114500 +0300 -@@ -1009,10 +1009,10 @@ +From cd45f0b963a95d71cc181e428a8a62e4cedec81e Mon Sep 17 00:00:00 2001 +From: Alexey Pavlov +Date: Mon, 14 Sep 2015 14:39:28 +0300 +Subject: [PATCH 21/21] 90-use-copy-instead-symlink + +--- + Makefile.in | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/Makefile.in b/Makefile.in +index 628336c..a3b782a 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -1031,10 +1031,10 @@ subversion/libsvn_wc/wc-queries.h: $(abs_srcdir)/subversion/libsvn_wc/wc-checks. INSTALL_EXTRA_TOOLS=\ $(MKDIR) $(DESTDIR)$(bindir); \ test -n "$$SVN_SVNMUCC_IS_SVNSYITF" && \ @@ -14,3 +25,6 @@ fi; \ printf '\043\041/bin/sh\n%s\n' \ 'exec $(bindir)/svnfsfs stats $${2:+"-M"} $${2:+"$$2"} "$$1"' \ +-- +2.37.2 + diff --git a/subversion/PKGBUILD b/subversion/PKGBUILD index 7019b4a41bd..64a2b56449a 100644 --- a/subversion/PKGBUILD +++ b/subversion/PKGBUILD @@ -18,51 +18,51 @@ options=('!makeflags' '!libtool' '!emptydirs') noextract=("subversion-${pkgver}.tar.bz2") source=(https://archive.apache.org/dist/subversion/subversion-${pkgver}.tar.bz2{,.asc} svnclean - 01-make-build-directories.patch - 02-fix-linking.patch - 03-fix-linking-perl.patch - 04-fix-switch-tests.patch - 05-retry-loop.patch - 06-svnadmin-binary-mode.patch - 07-fix-path-tests.patch - 08-ruby-test-fix.patch - 09-wincrypt.patch - 10-perl-vendors.patch - 11-XFAIL-case-sensitive-move-tests.patch - 12-fix-svnlook-test.patch - 13-dso_open.patch - 14-fix_svnauthz_tests.patch - 15-XFAIL_case_sensitive_tree_conflict.patch - 16-fix-swig3.patch - 18-fix-serf-config.patch - 19-remove-contrib-from-configure.patch - subversion-1.9.1-msys2.patch - remove-checking-symlink.patch - 90-use-copy-instead-symlink.patch) + 0001-Create-directories-in-build-tree.patch + 0002-Fix-linking-for-Cygwin.patch + 0003-Fix-linking-for-perl.patch + 0004-Fix-a-switch-test-that-expects-to-an-error-due-to-re.patch + 0005-Use-WIN32-retry-loop-on-Cygwin-too.patch + 0006-Use-binary-mode-for-svnadmin-dump-load.patch + 0007-Don-t-support-DOS-paths-for-Cygwin.patch + 0008-Fix-ruby-tests.patch + 0009-Support-wincrypt-for-password-encryption-on-Cygwin.patch + 0010-Install-perl-modules-into-vendors.patch + 0011-XFAIL-some-case-sensitive-rename-and-move-tests.patch + 0012-Fix-svnlook_tests.py-so-it-sets-PATH-in-the-python-h.patch + 0013-Fix-DSO-open-specifically-for-auth-modules-like-GNOM.patch + 0014-Fix-svnauthz_tests.py-by-adding-usr-bin-to-PATH.patch + 0015-Mark-basic_test.py-rm_missing_with_case_clashing_ond.patch + 0016-Support-swig3.patch + 0017-Fix-serf-config.patch + 0018-Remove-contrib.patch + 0019-subversion-1.9.1-msys2.patch + 0020-remove-checking-symlink.patch + 0021-90-use-copy-instead-symlink.patch) sha256sums=('c9130e8d0b75728a66f0e7038fc77052e671830d785b5616aad53b4810d3cc28' 'SKIP' 'b09dd041aba0078c8d50df130ef2f96c3ef8486279a620532fef4fe48ef9961e' - '66d8028dbee086502e453d7435aa15f7e141dbc8808e650e883e1d90a0a022b1' - '6dc4dda8291087abb94ac0e256833b2ecae452a597fc9222e7443ea0e5694ff7' - 'd304d641a32f26523fc36389a92b4bf1f96acbb24c654e0c5bfdc8784763310e' - 'ea93b62a7f71437c7066aa489044fc311457ea330b9735347a4609858e12c2ad' - '2504c157f51cfb6453205da3ef2705ad6f36b63169fde3efaf438b7dc4ecc306' - '1ee9719475a89e3447fade44e704a32e63c8a2916b38b68984f1cb6a4dae158a' - '6445d7f0758e3ddbd91e35612c545c1f4f5cecbd1c8e134b6b8ea66e8a39e6f0' - 'edad1ae1db35522af533efa8346885a16e9bbdf43ad8196827e8411ca84d7825' - 'a93ad1ccbcc2e68ef3a50fed9b529107aa434acb6618ddb28f4fde934bfcb3b8' - '5ef14d187071c60de834d87dbea18d3fd022fd11a648dc5315bc7b9fa7067141' - 'eca0edb5d2afbbe8a7d556d8afb79000e653f1e4662b62157368d00f58dd9fff' - '4069a84189db7ed0d08c5fda927308d494ac9377e111d70debdbb6ad889af70b' - '21038203297180e74bd75878aae6ce5c1c299ca56d71075bb7029e4dbf083fa2' - 'cad2c464dc3ae6753b1ce2f330d984c97679a52ac1baa411981cfa8c7ebcf312' - '7f9e60b99a2ec8424f702b5dc07e5b1d37c8eb7d8bd134cc79a7024cb35292d6' - '8682d9f7da2ba8607ed15daf3beec92e5dacda3a6e4c07baaef8991264eb44cd' - 'f61c9b3333d90790a4c6763d81ee05ee5a2029e562c900e92f7526393460181c' - 'a1072514d1be6e2026ae1e2fa24d3bfd97dfbda13b4bd4d89aae0e871b2aae32' - 'c89de3d5272b0196440d6fdf21c14170d0c41702c84fbb273ec87c115633d809' - 'd821304ee957ef4adbb0a8dec9cea3fe62ad7163aef132317d28f70ea25162ca' - 'fc545e375d8af4ef6d8afad453453480664b6a2ff74915f94b8a7da7de14155b') + '7268e997ada7b9d07415dfc3f40c60f44983e4be53c8ce296f0b3988588ba5e2' + '6e2e73995d7274f88b75d46544af3645e4d3d2fb799f897262d3251fe1765225' + '0749620a73602f6edbdea58f48b6baaf10731d1ce3eff8142131a262a39d3e4b' + 'b86fd2d2ba0109a4704aec7ffaf3daa2392341c94f95b3dc61bd3c139650cefe' + '2cd0ca2ac9655527f676c16e7d6a0cc54372da55113a721c3604574653eed134' + '7da11c7f617a8d98357606dcc2828d8465d1d2910646708306273547f5161bfd' + 'd993b8d871eb870dfc2a11fa84001c8b82119739c9aef8df922f65f99ae74061' + '2d6fbeccc2f956d3b54f0896994afcaabde055e1cf885ba0e8cdb88c086452ca' + '4001484490c512bb72584dd1b3e886bf4485f2e079cf0b11df3c2237ad7a07e9' + '11d692f2c07a42e7d068a329cf9760f12ba512c842dd1f146ee7f87bab177b48' + 'd3a35ae3382b3963db69f14edac16b453aea03ddb26d3afd82d0f1907a4ccbaf' + '199588057644a9325bb9405dbaee1e0f109bea79d3a141a431bad65a28385e81' + '6de46e5d79b33f56a7f9404a6a15cd028cd092e2c26f06d63d264946c3225a42' + '3155575bd53c7d552b04bb976191d85a5acd740bd44eb479e2be37fe4f759143' + '4c3b29c8fead275310b097dfbf081b04c7a8b4f24287a20296c8525e7972d691' + '7f6caba90e204db51a6c00424956cd89c495844f539ed7cd4306fa731d14fd4a' + 'ad49bf1c4e8aca0e8f8245fced060e0e3facffc01b7adb8238799adb785ac122' + '7306626d686c079a0e579712e378ace2308f71f0f9a5c0ecc2ded33734dfe432' + '664f1fc2bbf2a5f043777dae6cc1fb43c079460656c1ad4a4221f5213a812e16' + '0a3b3208bec9b1ddd4936d9403e16f9de3c2ae7887ef15899aee635ab04fae45' + '414b004e442e1daabb6a5e9b469e21ba8175f498c5256163b1e34c07aa0a4841') validpgpkeys=('91BFBF4D6956BD5DF7B72D23DFE691AE331BA3DB' 'BA3C15B1337CF0FB222BD41A1BCA6586A347943F' 'EC25FCC105618D04ADB43429C4416167349A3BCB') @@ -88,27 +88,27 @@ prepare() { sed -i 's|except IOError,|except IOError as|' build/getversion.py - patch -p1 -i ${srcdir}/01-make-build-directories.patch - patch -p1 -i ${srcdir}/02-fix-linking.patch - patch -p1 -i ${srcdir}/03-fix-linking-perl.patch - patch -p1 -i ${srcdir}/04-fix-switch-tests.patch - patch -p1 -i ${srcdir}/05-retry-loop.patch - patch -p1 -i ${srcdir}/06-svnadmin-binary-mode.patch - patch -p1 -i ${srcdir}/07-fix-path-tests.patch - patch -p1 -i ${srcdir}/08-ruby-test-fix.patch - patch -p1 -i ${srcdir}/09-wincrypt.patch - patch -p1 -i ${srcdir}/10-perl-vendors.patch - patch -p1 -i ${srcdir}/11-XFAIL-case-sensitive-move-tests.patch - patch -p1 -i ${srcdir}/12-fix-svnlook-test.patch - patch -p1 -i ${srcdir}/13-dso_open.patch - patch -p1 -i ${srcdir}/14-fix_svnauthz_tests.patch - patch -p1 -i ${srcdir}/15-XFAIL_case_sensitive_tree_conflict.patch - patch -p1 -i ${srcdir}/16-fix-swig3.patch - patch -p1 -i ${srcdir}/18-fix-serf-config.patch - patch -p1 -i ${srcdir}/19-remove-contrib-from-configure.patch - patch -p1 -i ${srcdir}/subversion-1.9.1-msys2.patch - patch -p1 -i ${srcdir}/remove-checking-symlink.patch - patch -p1 -i ${srcdir}/90-use-copy-instead-symlink.patch + patch -p1 -i ${srcdir}/0001-Create-directories-in-build-tree.patch + patch -p1 -i ${srcdir}/0002-Fix-linking-for-Cygwin.patch + patch -p1 -i ${srcdir}/0003-Fix-linking-for-perl.patch + patch -p1 -i ${srcdir}/0004-Fix-a-switch-test-that-expects-to-an-error-due-to-re.patch + patch -p1 -i ${srcdir}/0005-Use-WIN32-retry-loop-on-Cygwin-too.patch + patch -p1 -i ${srcdir}/0006-Use-binary-mode-for-svnadmin-dump-load.patch + patch -p1 -i ${srcdir}/0007-Don-t-support-DOS-paths-for-Cygwin.patch + patch -p1 -i ${srcdir}/0008-Fix-ruby-tests.patch + patch -p1 -i ${srcdir}/0009-Support-wincrypt-for-password-encryption-on-Cygwin.patch + patch -p1 -i ${srcdir}/0010-Install-perl-modules-into-vendors.patch + patch -p1 -i ${srcdir}/0011-XFAIL-some-case-sensitive-rename-and-move-tests.patch + patch -p1 -i ${srcdir}/0012-Fix-svnlook_tests.py-so-it-sets-PATH-in-the-python-h.patch + patch -p1 -i ${srcdir}/0013-Fix-DSO-open-specifically-for-auth-modules-like-GNOM.patch + patch -p1 -i ${srcdir}/0014-Fix-svnauthz_tests.py-by-adding-usr-bin-to-PATH.patch + patch -p1 -i ${srcdir}/0015-Mark-basic_test.py-rm_missing_with_case_clashing_ond.patch + patch -p1 -i ${srcdir}/0016-Support-swig3.patch + patch -p1 -i ${srcdir}/0017-Fix-serf-config.patch + patch -p1 -i ${srcdir}/0018-Remove-contrib.patch + patch -p1 -i ${srcdir}/0019-subversion-1.9.1-msys2.patch + patch -p1 -i ${srcdir}/0020-remove-checking-symlink.patch + patch -p1 -i ${srcdir}/0021-90-use-copy-instead-symlink.patch PYTHON=/usr/bin/python2 ./autogen.sh # Hack to allow `libsvn_test-1` to be built diff --git a/subversion/remove-checking-symlink.patch b/subversion/remove-checking-symlink.patch deleted file mode 100644 index d6fbd581cc6..00000000000 --- a/subversion/remove-checking-symlink.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- subversion-1.8.5/configure.ac.orig 2013-10-24 08:02:16.000000000 +0400 -+++ subversion-1.8.5/configure.ac 2013-12-17 13:27:49.179600000 +0400 -@@ -872,9 +872,6 @@ - dnl svn_error's default warning handler uses vfprintf() - AC_FUNC_VPRINTF - --dnl check for functions needed in special file handling --AC_CHECK_FUNCS(symlink readlink) -- - dnl check for uname and ELF headers - AC_CHECK_HEADERS(sys/utsname.h, [AC_CHECK_FUNCS(uname)], []) - AC_CHECK_HEADERS(elf.h) diff --git a/subversion/subversion-1.9.1-msys2.patch b/subversion/subversion-1.9.1-msys2.patch deleted file mode 100644 index 0f954e67334..00000000000 --- a/subversion/subversion-1.9.1-msys2.patch +++ /dev/null @@ -1,165 +0,0 @@ -diff -Naur subversion-1.8.0-orig/build/ac-macros/apache.m4 subversion-1.8.0/build/ac-macros/apache.m4 ---- subversion-1.8.0-orig/build/ac-macros/apache.m4 2013-04-30 08:01:28.000000000 +0400 -+++ subversion-1.8.0/build/ac-macros/apache.m4 2013-06-24 09:18:54.663086000 +0400 -@@ -141,7 +141,7 @@ - INSTALL_APACHE_MODS=true - - case $host in -- *-*-cygwin*) -+ *-*-cygwin* | *-*-msys*) - APACHE_LDFLAGS="-shrext .so" - ;; - esac -diff -Naur subversion-1.8.0-orig/build/ac-macros/sqlite.m4 subversion-1.8.0/build/ac-macros/sqlite.m4 ---- subversion-1.8.0-orig/build/ac-macros/sqlite.m4 2013-04-20 08:00:52.000000000 +0400 -+++ subversion-1.8.0/build/ac-macros/sqlite.m4 2013-06-24 10:09:37.107421900 +0400 -@@ -256,7 +256,7 @@ - AC_DEFUN(_SVN_SQLITE_DSO_LIBS, - [ - case $host_os in -- beos* | mingw* | pw32* | cegcc* | cygwin*) -+ beos* | mingw* | pw32* | cegcc* | cygwin* | msys*) - svn_sqlite_dso_ldflags= - ;; - -diff -Naur subversion-1.8.0-orig/build/config.guess subversion-1.8.0/build/config.guess ---- subversion-1.8.0-orig/build/config.guess 2013-06-13 13:07:11.000000000 +0400 -+++ subversion-1.8.0/build/config.guess 2013-06-24 09:18:54.678711000 +0400 -@@ -803,6 +803,9 @@ - i*:CYGWIN*:*) - echo ${UNAME_MACHINE}-pc-cygwin - exit ;; -+ i*:MSYS*:*) -+ echo ${UNAME_MACHINE}-pc-msys -+ exit ;; - *:MINGW*:*) - echo ${UNAME_MACHINE}-pc-mingw32 - exit ;; -@@ -843,6 +846,9 @@ - amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) - echo x86_64-unknown-cygwin - exit ;; -+ amd64:MSYS*:*:* | x86_64:MSYS*:*:*) -+ echo x86_64-unknown-msys -+ exit ;; - p*:CYGWIN*:*) - echo powerpcle-unknown-cygwin - exit ;; -diff -Naur subversion-1.8.0-orig/build/get-py-info.py subversion-1.8.0/build/get-py-info.py ---- subversion-1.8.0-orig/build/get-py-info.py 2009-11-16 22:07:17.000000000 +0300 -+++ subversion-1.8.0/build/get-py-info.py 2013-06-24 09:18:54.709961000 +0400 -@@ -101,7 +101,7 @@ - sysconfig.get_config_var('PYTHON')) - add_option_if_missing(options, "-bundle_loader", python_exe) - -- elif sys.platform == 'cygwin' or sys.platform.startswith('openbsd'): -+ elif sys.platform == 'cygwin' or sys.platform == 'msys' or sys.platform.startswith('openbsd'): - - # Add flags to build against the Python library (also necessary - # for Darwin, but handled elsewhere). -diff -Naur subversion-1.8.0-orig/configure.ac subversion-1.8.0/configure.ac ---- subversion-1.8.0-orig/configure.ac 2013-06-24 09:05:45.530273500 +0400 -+++ subversion-1.8.0/configure.ac 2013-06-24 09:18:54.928711000 +0400 -@@ -313,7 +313,7 @@ - dnl So we only turn it on for platforms where we know we really need it. - AC_MSG_CHECKING([whether libtool needs -no-undefined]) - case $host in -- *-*-cygwin*) -+ *-*-cygwin* | *-*-msys*) - AC_MSG_RESULT([yes]) - LT_NO_UNDEFINED="-no-undefined" - ;; -diff -Naur subversion-1.8.0-orig/subversion/bindings/ctypes-python/test/remoterepos.py subversion-1.8.0/subversion/bindings/ctypes-python/test/remoterepos.py ---- subversion-1.8.0-orig/subversion/bindings/ctypes-python/test/remoterepos.py 2011-08-12 00:56:26.000000000 +0400 -+++ subversion-1.8.0/subversion/bindings/ctypes-python/test/remoterepos.py 2013-06-24 09:18:54.928711000 +0400 -@@ -175,7 +175,7 @@ - f.close() - os.chmod(hook, S_IRWXU) - -- if sys.platform == "cygwin": -+ if sys.platform == "cygwin" or sys.platform == "msys": - ### FIXME: When you try to set revprops, cygwin crashes - ### with a fatal error, so we skip this test for now. - return -diff -Naur subversion-1.8.0-orig/subversion/bindings/swig/perl/native/Makefile.PL.in subversion-1.8.0/subversion/bindings/swig/perl/native/Makefile.PL.in ---- subversion-1.8.0-orig/subversion/bindings/swig/perl/native/Makefile.PL.in 2012-12-14 10:05:48.000000000 +0400 -+++ subversion-1.8.0/subversion/bindings/swig/perl/native/Makefile.PL.in 2013-06-24 09:18:54.944336000 +0400 -@@ -65,7 +65,7 @@ - # According to the log of r7937, the flags guarded by the conditional break - # the build on FreeBSD if not conditionalized. - my $apr_ldflags = '@SVN_APR_LIBS@' -- if $^O eq 'darwin' or $^O eq 'cygwin'; -+ if $^O eq 'darwin' or $^O eq 'cygwin' or $^O eq 'msys'; - - chomp $apr_shlib_path_var; - -diff -Naur subversion-1.8.0-orig/subversion/bindings/swig/python/tests/setup_path.py subversion-1.8.0/subversion/bindings/swig/python/tests/setup_path.py ---- subversion-1.8.0-orig/subversion/bindings/swig/python/tests/setup_path.py 2009-11-19 22:25:52.000000000 +0300 -+++ subversion-1.8.0/subversion/bindings/swig/python/tests/setup_path.py 2013-06-24 09:18:54.944336000 +0400 -@@ -39,7 +39,7 @@ - - # OSes without RPATH support are going to have to do things here to make - # the correct shared libraries be found. --if sys.platform == 'cygwin': -+if sys.platform == 'cygwin' or sys.platform == 'msys': - import glob - svndir = os.path.normpath("../../../%s" % bld_swig_python_dir) - libpath = os.getenv("PATH").split(":") -diff -Naur subversion-1.8.0-orig/Makefile.in subversion-1.8.0/Makefile.in ---- subversion-1.8.0-orig/Makefile.in 2009-11-19 22:25:52.000000000 +0300 -+++ subversion-1.8.0/Makefile.in 2013-06-24 09:18:54.944336000 +0400 -@@ -936,7 +936,7 @@ - @for f in $(SWIG_PY_SRC_DIR)/*.py $(SWIG_PY_DIR)/*.py; do \ - ! [ -f "$$f" ] || cp -pf $$f $(SWIG_PY_DIR)/libsvn; \ - done -- @cd $(SWIG_PY_DIR)/libsvn;ln -sf ../.libs/*.so . -+ @cd $(SWIG_PY_DIR)/libsvn;ln -sf ../.libs/*.dll . - @touch $(SWIG_PY_DIR)/libsvn/__init__.py - - swig-py: autogen-swig-py copy-swig-py -diff -Naur subversion-1.8.0-orig/subversion/tests/cmdline/commit_tests.py subversion-1.8.0/subversion/tests/cmdline/commit_tests.py ---- subversion-1.8.0-orig/subversion/tests/cmdline/commit_tests.py 2013-04-12 11:44:37.000000000 +0400 -+++ subversion-1.8.0/subversion/tests/cmdline/commit_tests.py 2013-06-24 09:18:54.959961000 +0400 -@@ -51,7 +51,7 @@ - # - - def is_non_posix_os_or_cygwin_platform(): -- return (not svntest.main.is_posix_os()) or sys.platform == 'cygwin' -+ return (not svntest.main.is_posix_os()) or sys.platform == 'cygwin' or sys.platform == 'msys' - - def get_standard_state(wc_dir): - """Return a status list reflecting the local mods made by -@@ -1024,7 +1024,7 @@ - - # Note: on Windows, files can't have angle brackets in them, so we - # don't tests that case. -- if svntest.main.windows or sys.platform == 'cygwin': -+ if svntest.main.windows or sys.platform == 'cygwin' or sys.platform == 'msys': - angle_name = '_angle_' - nasty_name = '#![]{}()__%' - else: -diff -Naur subversion-1.8.0-orig/subversion/tests/cmdline/svntest/main.py subversion-1.8.0/subversion/tests/cmdline/svntest/main.py ---- subversion-1.8.0-orig/subversion/tests/cmdline/svntest/main.py 2013-06-24 09:10:09.858398500 +0400 -+++ subversion-1.8.0/subversion/tests/cmdline/svntest/main.py 2013-06-24 10:12:05.326171900 +0400 -@@ -278,7 +278,7 @@ - def get_admin_name(): - "Return name of SVN administrative subdirectory." - -- if (windows or sys.platform == 'cygwin') \ -+ if (windows or sys.platform == 'cygwin' or sys.platform == 'msys') \ - and 'SVN_ASP_DOT_NET_HACK' in os.environ: - return '_svn' - else: -@@ -1329,8 +1329,11 @@ - def is_os_cygwin(): - return sys.platform == 'cygwin' - -+def is_os_msys(): -+ return sys.platform == 'msys' -+ - def is_fs_case_insensitive(): -- return (is_os_darwin() or is_os_windows() or is_os_cygwin()) -+ return (is_os_darwin() or is_os_windows() or is_os_cygwin() or is_os_msys()) - - def is_threaded_python(): - return True From 3cbdb6eb572e5ffa47bce286ee860abeb13afd45 Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Thu, 28 Jul 2022 01:05:04 +0200 Subject: [PATCH 3/6] subversion: fix `svnadmin.exe` Previously, it simply would not work, erroring out with a bogus "Permission denied" in the middle of creating a repository. Signed-off-by: Johannes Schindelin --- ...001-Create-directories-in-build-tree.patch | 2 +- subversion/0002-Fix-linking-for-Cygwin.patch | 2 +- subversion/0003-Fix-linking-for-perl.patch | 2 +- ...t-that-expects-to-an-error-due-to-re.patch | 2 +- ...5-Use-WIN32-retry-loop-on-Cygwin-too.patch | 2 +- ...e-binary-mode-for-svnadmin-dump-load.patch | 2 +- ...7-Don-t-support-DOS-paths-for-Cygwin.patch | 2 +- subversion/0008-Fix-ruby-tests.patch | 2 +- ...pt-for-password-encryption-on-Cygwin.patch | 2 +- ...10-Install-perl-modules-into-vendors.patch | 2 +- ...case-sensitive-rename-and-move-tests.patch | 2 +- ...s.py-so-it-sets-PATH-in-the-python-h.patch | 2 +- ...cifically-for-auth-modules-like-GNOM.patch | 2 +- ...z_tests.py-by-adding-usr-bin-to-PATH.patch | 2 +- ...py-rm_missing_with_case_clashing_ond.patch | 2 +- subversion/0016-Support-swig3.patch | 2 +- subversion/0017-Fix-serf-config.patch | 2 +- subversion/0018-Remove-contrib.patch | 2 +- subversion/0019-subversion-1.9.1-msys2.patch | 2 +- subversion/0020-remove-checking-symlink.patch | 2 +- .../0021-90-use-copy-instead-symlink.patch | 2 +- ...tly-blocking-files-during-svnadmin-c.patch | 39 +++++++++++++++ subversion/PKGBUILD | 47 ++++++++++--------- 23 files changed, 85 insertions(+), 43 deletions(-) create mode 100644 subversion/0022-Avoid-inadvertently-blocking-files-during-svnadmin-c.patch diff --git a/subversion/0001-Create-directories-in-build-tree.patch b/subversion/0001-Create-directories-in-build-tree.patch index fb4811953e2..25fcccdc42e 100644 --- a/subversion/0001-Create-directories-in-build-tree.patch +++ b/subversion/0001-Create-directories-in-build-tree.patch @@ -1,7 +1,7 @@ From 17fbf27d99c8715f2ec1e4e1822cc3b72f8d6e74 Mon Sep 17 00:00:00 2001 From: David Rothenberger Date: Thu, 7 Nov 2013 23:02:43 +0400 -Subject: [PATCH 01/21] Create directories in build tree. +Subject: [PATCH 01/22] Create directories in build tree. --- configure.ac | 5 +++++ diff --git a/subversion/0002-Fix-linking-for-Cygwin.patch b/subversion/0002-Fix-linking-for-Cygwin.patch index 83db2b2e9ce..5a6b67ed1ec 100644 --- a/subversion/0002-Fix-linking-for-Cygwin.patch +++ b/subversion/0002-Fix-linking-for-Cygwin.patch @@ -1,7 +1,7 @@ From 7ff4719e0340fbdd6fb2dc0350e16e9ed27b4102 Mon Sep 17 00:00:00 2001 From: David Rothenberger Date: Thu, 7 Nov 2013 23:02:43 +0400 -Subject: [PATCH 02/21] Fix linking for Cygwin. +Subject: [PATCH 02/22] Fix linking for Cygwin. --- build.conf | 15 +++++++++++---- diff --git a/subversion/0003-Fix-linking-for-perl.patch b/subversion/0003-Fix-linking-for-perl.patch index 83390476994..84009dbf8b2 100644 --- a/subversion/0003-Fix-linking-for-perl.patch +++ b/subversion/0003-Fix-linking-for-perl.patch @@ -1,7 +1,7 @@ From bcf44de2d2c574cab818770814d62c3045a0bac8 Mon Sep 17 00:00:00 2001 From: David Rothenberger Date: Thu, 7 Nov 2013 23:02:43 +0400 -Subject: [PATCH 03/21] Fix linking for perl. +Subject: [PATCH 03/22] Fix linking for perl. --- Makefile.in | 1 + diff --git a/subversion/0004-Fix-a-switch-test-that-expects-to-an-error-due-to-re.patch b/subversion/0004-Fix-a-switch-test-that-expects-to-an-error-due-to-re.patch index 6272440ff5f..42f613474ad 100644 --- a/subversion/0004-Fix-a-switch-test-that-expects-to-an-error-due-to-re.patch +++ b/subversion/0004-Fix-a-switch-test-that-expects-to-an-error-due-to-re.patch @@ -1,7 +1,7 @@ From 194625187412c2d79440c070de6dbf4356230eeb Mon Sep 17 00:00:00 2001 From: David Rothenberger Date: Thu, 7 Nov 2013 23:02:43 +0400 -Subject: [PATCH 04/21] Fix a switch test that expects to an error due to +Subject: [PATCH 04/22] Fix a switch test that expects to an error due to read-only, but doesn't because the user has Administrator privileges. diff --git a/subversion/0005-Use-WIN32-retry-loop-on-Cygwin-too.patch b/subversion/0005-Use-WIN32-retry-loop-on-Cygwin-too.patch index d3ed5404771..c92a74e15a5 100644 --- a/subversion/0005-Use-WIN32-retry-loop-on-Cygwin-too.patch +++ b/subversion/0005-Use-WIN32-retry-loop-on-Cygwin-too.patch @@ -1,7 +1,7 @@ From 84e82506f932427d41a1b0f7edb67ef2f5dfe7fd Mon Sep 17 00:00:00 2001 From: David Rothenberger Date: Thu, 7 Nov 2013 23:02:43 +0400 -Subject: [PATCH 05/21] Use WIN32 retry loop on Cygwin, too. +Subject: [PATCH 05/22] Use WIN32 retry loop on Cygwin, too. --- subversion/libsvn_subr/io.c | 22 ++++++++++++++++++++-- diff --git a/subversion/0006-Use-binary-mode-for-svnadmin-dump-load.patch b/subversion/0006-Use-binary-mode-for-svnadmin-dump-load.patch index 9efa7638fa0..2ecc08a42d7 100644 --- a/subversion/0006-Use-binary-mode-for-svnadmin-dump-load.patch +++ b/subversion/0006-Use-binary-mode-for-svnadmin-dump-load.patch @@ -1,7 +1,7 @@ From fd19e8e9cd943a13512ffc509b56d1745c8e538e Mon Sep 17 00:00:00 2001 From: David Rothenberger Date: Thu, 7 Nov 2013 23:02:43 +0400 -Subject: [PATCH 06/21] Use binary mode for svnadmin dump/load. +Subject: [PATCH 06/22] Use binary mode for svnadmin dump/load. --- subversion/svnadmin/svnadmin.c | 20 ++++++++++++++++++-- diff --git a/subversion/0007-Don-t-support-DOS-paths-for-Cygwin.patch b/subversion/0007-Don-t-support-DOS-paths-for-Cygwin.patch index 27e9bda5f94..8a0d51349d4 100644 --- a/subversion/0007-Don-t-support-DOS-paths-for-Cygwin.patch +++ b/subversion/0007-Don-t-support-DOS-paths-for-Cygwin.patch @@ -1,7 +1,7 @@ From 4563be2d3b55154c3a1baf73004f2489225fa7c2 Mon Sep 17 00:00:00 2001 From: David Rothenberger Date: Thu, 7 Nov 2013 23:02:43 +0400 -Subject: [PATCH 07/21] Don't support DOS paths for Cygwin. +Subject: [PATCH 07/22] Don't support DOS paths for Cygwin. * But do support a little UNC. --- diff --git a/subversion/0008-Fix-ruby-tests.patch b/subversion/0008-Fix-ruby-tests.patch index 0f3516e32ef..d83fe9c6f45 100644 --- a/subversion/0008-Fix-ruby-tests.patch +++ b/subversion/0008-Fix-ruby-tests.patch @@ -1,7 +1,7 @@ From 04eb52f53ba5ea1130bd05b82f9f81fe5b5ffb33 Mon Sep 17 00:00:00 2001 From: David Rothenberger Date: Thu, 7 Nov 2013 23:02:43 +0400 -Subject: [PATCH 08/21] Fix ruby tests. +Subject: [PATCH 08/22] Fix ruby tests. --- subversion/bindings/swig/ruby/svn/util.rb | 6 +++--- diff --git a/subversion/0009-Support-wincrypt-for-password-encryption-on-Cygwin.patch b/subversion/0009-Support-wincrypt-for-password-encryption-on-Cygwin.patch index bb43413447f..c7a0bd967aa 100644 --- a/subversion/0009-Support-wincrypt-for-password-encryption-on-Cygwin.patch +++ b/subversion/0009-Support-wincrypt-for-password-encryption-on-Cygwin.patch @@ -1,7 +1,7 @@ From 40f46575896fff8d0fd363b5a00a2b0341aefb3e Mon Sep 17 00:00:00 2001 From: David Rothenberger Date: Thu, 7 Nov 2013 23:02:43 +0400 -Subject: [PATCH 09/21] Support wincrypt for password encryption on Cygwin. +Subject: [PATCH 09/22] Support wincrypt for password encryption on Cygwin. --- build.conf | 5 +++++ diff --git a/subversion/0010-Install-perl-modules-into-vendors.patch b/subversion/0010-Install-perl-modules-into-vendors.patch index 1d789c4c01b..9d003d13746 100644 --- a/subversion/0010-Install-perl-modules-into-vendors.patch +++ b/subversion/0010-Install-perl-modules-into-vendors.patch @@ -1,7 +1,7 @@ From 8e42fad9c9b2bd1d59b85e27b67a33b9a23d9554 Mon Sep 17 00:00:00 2001 From: David Rothenberger Date: Thu, 7 Nov 2013 23:02:43 +0400 -Subject: [PATCH 10/21] Install perl modules into vendors +Subject: [PATCH 10/22] Install perl modules into vendors --- Makefile.in | 2 +- diff --git a/subversion/0011-XFAIL-some-case-sensitive-rename-and-move-tests.patch b/subversion/0011-XFAIL-some-case-sensitive-rename-and-move-tests.patch index 9aca9a23fe0..b29fddeec5b 100644 --- a/subversion/0011-XFAIL-some-case-sensitive-rename-and-move-tests.patch +++ b/subversion/0011-XFAIL-some-case-sensitive-rename-and-move-tests.patch @@ -1,7 +1,7 @@ From af6280691b7cc13942c888da986d2c419b18ad7e Mon Sep 17 00:00:00 2001 From: David Rothenberger Date: Thu, 7 Nov 2013 23:02:43 +0400 -Subject: [PATCH 11/21] XFAIL some case-sensitive rename and move tests +Subject: [PATCH 11/22] XFAIL some case-sensitive rename and move tests --- subversion/tests/cmdline/copy_tests.py | 1 + diff --git a/subversion/0012-Fix-svnlook_tests.py-so-it-sets-PATH-in-the-python-h.patch b/subversion/0012-Fix-svnlook_tests.py-so-it-sets-PATH-in-the-python-h.patch index b16f38f3a0c..621f42baef9 100644 --- a/subversion/0012-Fix-svnlook_tests.py-so-it-sets-PATH-in-the-python-h.patch +++ b/subversion/0012-Fix-svnlook_tests.py-so-it-sets-PATH-in-the-python-h.patch @@ -1,7 +1,7 @@ From d18c9470c221a07abb41c7e85e433ce3fab0256e Mon Sep 17 00:00:00 2001 From: David Rothenberger Date: Thu, 7 Nov 2013 23:02:43 +0400 -Subject: [PATCH 12/21] Fix svnlook_tests.py, so it sets PATH in the python +Subject: [PATCH 12/22] Fix svnlook_tests.py, so it sets PATH in the python hook. --- diff --git a/subversion/0013-Fix-DSO-open-specifically-for-auth-modules-like-GNOM.patch b/subversion/0013-Fix-DSO-open-specifically-for-auth-modules-like-GNOM.patch index 0d745c37b83..08d982b280a 100644 --- a/subversion/0013-Fix-DSO-open-specifically-for-auth-modules-like-GNOM.patch +++ b/subversion/0013-Fix-DSO-open-specifically-for-auth-modules-like-GNOM.patch @@ -1,7 +1,7 @@ From 32b135c36bae6121be223a8fd0379eb5d4d3f787 Mon Sep 17 00:00:00 2001 From: David Rothenberger Date: Wed, 5 Nov 2014 23:30:55 +0300 -Subject: [PATCH 13/21] Fix DSO open, specifically for auth modules like GNOME +Subject: [PATCH 13/22] Fix DSO open, specifically for auth modules like GNOME keyring support. Thanks to Yaakov for the patch. diff --git a/subversion/0014-Fix-svnauthz_tests.py-by-adding-usr-bin-to-PATH.patch b/subversion/0014-Fix-svnauthz_tests.py-by-adding-usr-bin-to-PATH.patch index c9a30bf680f..92bc840b954 100644 --- a/subversion/0014-Fix-svnauthz_tests.py-by-adding-usr-bin-to-PATH.patch +++ b/subversion/0014-Fix-svnauthz_tests.py-by-adding-usr-bin-to-PATH.patch @@ -1,7 +1,7 @@ From bcc8e13d4dacdaab37d62eb7f3f9b37ea0fa7269 Mon Sep 17 00:00:00 2001 From: David Rothenberger Date: Thu, 7 Nov 2013 23:02:43 +0400 -Subject: [PATCH 14/21] Fix svnauthz_tests.py by adding /usr/bin to PATH. +Subject: [PATCH 14/22] Fix svnauthz_tests.py by adding /usr/bin to PATH. --- subversion/tests/cmdline/svnauthz_tests.py | 2 +- diff --git a/subversion/0015-Mark-basic_test.py-rm_missing_with_case_clashing_ond.patch b/subversion/0015-Mark-basic_test.py-rm_missing_with_case_clashing_ond.patch index a56a73434a2..75931f71c78 100644 --- a/subversion/0015-Mark-basic_test.py-rm_missing_with_case_clashing_ond.patch +++ b/subversion/0015-Mark-basic_test.py-rm_missing_with_case_clashing_ond.patch @@ -1,7 +1,7 @@ From 39a574301a4c2d413e13a2c09a5df049d01ae9cf Mon Sep 17 00:00:00 2001 From: David Rothenberger Date: Thu, 7 Nov 2013 23:02:43 +0400 -Subject: [PATCH 15/21] Mark basic_test.py +Subject: [PATCH 15/22] Mark basic_test.py rm_missing_with_case_clashing_ondisk_item as XFAIL. It depends on Windows code that can get the canonical case for an on diff --git a/subversion/0016-Support-swig3.patch b/subversion/0016-Support-swig3.patch index d32349ec9e6..bf98c69a835 100644 --- a/subversion/0016-Support-swig3.patch +++ b/subversion/0016-Support-swig3.patch @@ -1,7 +1,7 @@ From c29eb6ea86494dacaa98e6afd427d3899fb243ea Mon Sep 17 00:00:00 2001 From: David Rothenberger Date: Mon, 14 Sep 2015 14:39:28 +0300 -Subject: [PATCH 16/21] Support swig3 +Subject: [PATCH 16/22] Support swig3 Fugly hack to fix build with SWIG 3.0.x. The pre-processor seems to expand the %define correctly with only the change to %{..%}, but diff --git a/subversion/0017-Fix-serf-config.patch b/subversion/0017-Fix-serf-config.patch index 47f01f899c5..f26b89581ad 100644 --- a/subversion/0017-Fix-serf-config.patch +++ b/subversion/0017-Fix-serf-config.patch @@ -1,7 +1,7 @@ From 00b4e7f7a8608ded9331651597611c4dc111a784 Mon Sep 17 00:00:00 2001 From: David Rothenberger Date: Mon, 14 Sep 2015 14:39:28 +0300 -Subject: [PATCH 17/21] Fix serf config +Subject: [PATCH 17/22] Fix serf config --- build/ac-macros/serf.m4 | 3 +-- diff --git a/subversion/0018-Remove-contrib.patch b/subversion/0018-Remove-contrib.patch index 2af5bf125e0..f60dc819bb3 100644 --- a/subversion/0018-Remove-contrib.patch +++ b/subversion/0018-Remove-contrib.patch @@ -1,7 +1,7 @@ From 6a1aceeb6851e10576c252ae89094951a710ee8b Mon Sep 17 00:00:00 2001 From: David Rothenberger Date: Mon, 14 Sep 2015 14:39:28 +0300 -Subject: [PATCH 18/21] Remove contrib +Subject: [PATCH 18/22] Remove contrib --- configure.ac | 2 +- diff --git a/subversion/0019-subversion-1.9.1-msys2.patch b/subversion/0019-subversion-1.9.1-msys2.patch index e3d95a98d20..4540be579ff 100644 --- a/subversion/0019-subversion-1.9.1-msys2.patch +++ b/subversion/0019-subversion-1.9.1-msys2.patch @@ -1,7 +1,7 @@ From fadf9eb7ffe8fb8929710f70c4a965f734416166 Mon Sep 17 00:00:00 2001 From: Alexey Pavlov Date: Mon, 14 Sep 2015 14:39:28 +0300 -Subject: [PATCH 19/21] subversion-1.9.1-msys2 +Subject: [PATCH 19/22] subversion-1.9.1-msys2 --- Makefile.in | 2 +- diff --git a/subversion/0020-remove-checking-symlink.patch b/subversion/0020-remove-checking-symlink.patch index 5ff33a5a156..d3be1794cf0 100644 --- a/subversion/0020-remove-checking-symlink.patch +++ b/subversion/0020-remove-checking-symlink.patch @@ -1,7 +1,7 @@ From 6e8f3c07b29ffffd260c70f9a944cb1d55ae4f96 Mon Sep 17 00:00:00 2001 From: Alexpux Date: Tue, 17 Dec 2013 14:05:47 +0400 -Subject: [PATCH 20/21] remove-checking-symlink +Subject: [PATCH 20/22] remove-checking-symlink --- configure.ac | 3 --- diff --git a/subversion/0021-90-use-copy-instead-symlink.patch b/subversion/0021-90-use-copy-instead-symlink.patch index 2c5e6989f03..e04a46030c1 100644 --- a/subversion/0021-90-use-copy-instead-symlink.patch +++ b/subversion/0021-90-use-copy-instead-symlink.patch @@ -1,7 +1,7 @@ From cd45f0b963a95d71cc181e428a8a62e4cedec81e Mon Sep 17 00:00:00 2001 From: Alexey Pavlov Date: Mon, 14 Sep 2015 14:39:28 +0300 -Subject: [PATCH 21/21] 90-use-copy-instead-symlink +Subject: [PATCH 21/22] 90-use-copy-instead-symlink --- Makefile.in | 6 +++--- diff --git a/subversion/0022-Avoid-inadvertently-blocking-files-during-svnadmin-c.patch b/subversion/0022-Avoid-inadvertently-blocking-files-during-svnadmin-c.patch new file mode 100644 index 00000000000..fa97c8273a3 --- /dev/null +++ b/subversion/0022-Avoid-inadvertently-blocking-files-during-svnadmin-c.patch @@ -0,0 +1,39 @@ +From 0f75158a9580d956d276b855c05e5ce0611e6c62 Mon Sep 17 00:00:00 2001 +From: Johannes Schindelin +Date: Thu, 28 Jul 2022 00:52:02 +0200 +Subject: [PATCH 22/22] Avoid inadvertently blocking files during `svnadmin + create` + +When running `svnadmin create ` on MSYS2, the user is greeted with +an error similar to this: + + svnadmin: E000013: Can't open file '/db/revprops/0/0': Permission denied + +There is already special-handling for Win32 to avoid flushing the data +lest appending at a later stage fails (see +https://github.com/apache/subversion/commit/7b0aa264e6f8f244259cc5b1afda3811c31cbdf1 +and https://svn.haxx.se/dev/archive-2015-05/0211.shtml for more +context). Let's use the same handling for MSYS2, which is closer to +Win32 than Cygwin in this instance. + +Signed-off-by: Johannes Schindelin +--- + subversion/libsvn_subr/io.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/subversion/libsvn_subr/io.c b/subversion/libsvn_subr/io.c +index c47fbae..e184a86 100644 +--- a/subversion/libsvn_subr/io.c ++++ b/subversion/libsvn_subr/io.c +@@ -4582,7 +4582,7 @@ svn_io_file_rename2(const char *from_path, const char *to_path, + SVN_ERR(svn_io_file_flush_to_disk(file, pool)); + SVN_ERR(svn_io_file_close(file, pool)); + } +-#elif !defined(WIN32) ++#elif !defined(WIN32) && !defined(__MSYS__) + /* Flush the target of the rename to disk. */ + if (flush_to_disk) + { +-- +2.37.2 + diff --git a/subversion/PKGBUILD b/subversion/PKGBUILD index 64a2b56449a..bac62900b4c 100644 --- a/subversion/PKGBUILD +++ b/subversion/PKGBUILD @@ -38,31 +38,33 @@ source=(https://archive.apache.org/dist/subversion/subversion-${pkgver}.tar.bz2{ 0018-Remove-contrib.patch 0019-subversion-1.9.1-msys2.patch 0020-remove-checking-symlink.patch - 0021-90-use-copy-instead-symlink.patch) + 0021-90-use-copy-instead-symlink.patch + 0022-Avoid-inadvertently-blocking-files-during-svnadmin-c.patch) sha256sums=('c9130e8d0b75728a66f0e7038fc77052e671830d785b5616aad53b4810d3cc28' 'SKIP' 'b09dd041aba0078c8d50df130ef2f96c3ef8486279a620532fef4fe48ef9961e' - '7268e997ada7b9d07415dfc3f40c60f44983e4be53c8ce296f0b3988588ba5e2' - '6e2e73995d7274f88b75d46544af3645e4d3d2fb799f897262d3251fe1765225' - '0749620a73602f6edbdea58f48b6baaf10731d1ce3eff8142131a262a39d3e4b' - 'b86fd2d2ba0109a4704aec7ffaf3daa2392341c94f95b3dc61bd3c139650cefe' - '2cd0ca2ac9655527f676c16e7d6a0cc54372da55113a721c3604574653eed134' - '7da11c7f617a8d98357606dcc2828d8465d1d2910646708306273547f5161bfd' - 'd993b8d871eb870dfc2a11fa84001c8b82119739c9aef8df922f65f99ae74061' - '2d6fbeccc2f956d3b54f0896994afcaabde055e1cf885ba0e8cdb88c086452ca' - '4001484490c512bb72584dd1b3e886bf4485f2e079cf0b11df3c2237ad7a07e9' - '11d692f2c07a42e7d068a329cf9760f12ba512c842dd1f146ee7f87bab177b48' - 'd3a35ae3382b3963db69f14edac16b453aea03ddb26d3afd82d0f1907a4ccbaf' - '199588057644a9325bb9405dbaee1e0f109bea79d3a141a431bad65a28385e81' - '6de46e5d79b33f56a7f9404a6a15cd028cd092e2c26f06d63d264946c3225a42' - '3155575bd53c7d552b04bb976191d85a5acd740bd44eb479e2be37fe4f759143' - '4c3b29c8fead275310b097dfbf081b04c7a8b4f24287a20296c8525e7972d691' - '7f6caba90e204db51a6c00424956cd89c495844f539ed7cd4306fa731d14fd4a' - 'ad49bf1c4e8aca0e8f8245fced060e0e3facffc01b7adb8238799adb785ac122' - '7306626d686c079a0e579712e378ace2308f71f0f9a5c0ecc2ded33734dfe432' - '664f1fc2bbf2a5f043777dae6cc1fb43c079460656c1ad4a4221f5213a812e16' - '0a3b3208bec9b1ddd4936d9403e16f9de3c2ae7887ef15899aee635ab04fae45' - '414b004e442e1daabb6a5e9b469e21ba8175f498c5256163b1e34c07aa0a4841') + '5ec8ac87efd106a662b91f74bec402341baf00f4c089a5d100da5b8ca35aa5ae' + '36901adb72fbd1c397bf309f5c529e007bbe2d060d582805284ea00d2a5aed22' + '70dcb38bc810e76f8d4187ade75a273bf538edce62662e814b88fac5edf6b238' + '98c1852d11502d8a1c46a3d9dc31ac59f5458946676cdb1446a9f55d8f499b99' + '008ab11dbccdb594dae9c3b4ca36b6046cc52500d34cbc628176e85325ecb87f' + '7e3960aa3a9b5647cafd1bc9a53aadedd1b8981a83b16114e294f215fdff7901' + '73d206e49cd8f2bfe1575061dc51d5174ece43e3845720057ef5f434ed8eac0e' + '3ef14a85b292cf0ae7e63c0d0bfb98697df993e62ea6317e05a0699b09a0cbbf' + '468954e8e7c30129f95c7634057cb260544dfe31aea5bf09f36ebf2fd8db4316' + '5a782cbb3e408a09b1648c148e7029a51b541acf5f709e627f68cd4017ab12f8' + '3f8eee63c708d80dcf4f890ebc36ab508e4b058296728500d986271e9388cf00' + '3de47a952de1abeb15f216c966553d2abe27b2113de56dfdc87e5cb87e8bdb66' + '2be4fd0cb52a00d047667329bf3c0a1a674800037e194d149c640540643583e4' + '5e8f08e76c8fb7cb93466f6984fd0dfbd9eba0a7c0d68442fa1350ee921118c3' + '69ec36190c18ca1587797f6c6a68cd70a61407711e527cab321082b78a450c22' + '689d4a5ebac50fb9378bc18a1a9a0f5c3b5aec235f378a383d3496511506e23e' + '59bd993a0f24ebd52204b7f7e1e1ee6ad3d5572a911f2cbf93fe5aee1e335251' + '4a9f031c7eabb1582a165df087133293ee294aa2e578716ee8fc1181f4fbb809' + '703452c939ce8018f8030e6dde311921edcd8f188296c7ad43e973ae1964fcdb' + 'b4cd9841abb8bfd1f692635cc8c7b84ebae7ad8550f6ffb9cfc867aa11aae209' + '724eec2b17bd9504b15a485610b00f88f474c275fbcc53bdc0d901c6607d25bb' + '5cae2e129257a49071ad83aa12e968ebc229bd9ceb147651ff62285f8f5cf96e') validpgpkeys=('91BFBF4D6956BD5DF7B72D23DFE691AE331BA3DB' 'BA3C15B1337CF0FB222BD41A1BCA6586A347943F' 'EC25FCC105618D04ADB43429C4416167349A3BCB') @@ -109,6 +111,7 @@ prepare() { patch -p1 -i ${srcdir}/0019-subversion-1.9.1-msys2.patch patch -p1 -i ${srcdir}/0020-remove-checking-symlink.patch patch -p1 -i ${srcdir}/0021-90-use-copy-instead-symlink.patch + patch -p1 -i ${srcdir}/0022-Avoid-inadvertently-blocking-files-during-svnadmin-c.patch PYTHON=/usr/bin/python2 ./autogen.sh # Hack to allow `libsvn_test-1` to be built From d0adb97646952a443c0685b96ec4c85e3e8acd53 Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Thu, 28 Jul 2022 01:05:54 +0200 Subject: [PATCH 4/6] subversion: run checks as part of packaging again It really does not fill anyone with confidence if the checks are skipped while building a central package... Signed-off-by: Johannes Schindelin --- subversion/PKGBUILD | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/subversion/PKGBUILD b/subversion/PKGBUILD index bac62900b4c..bf31ee68fe6 100644 --- a/subversion/PKGBUILD +++ b/subversion/PKGBUILD @@ -159,11 +159,11 @@ build() { } } -#check() { -# cd ${pkgname}-${pkgver} -# export LANG=C LC_ALL=C -# make check check-swig-pl check-swig-py check-swig-rb CLEANUP=yes # check-javahl -#} +check() { + cd ${pkgname}-${pkgver} + export LANG=C LC_ALL=C + make check check-swig-pl # check-swig-py check-swig-rb CLEANUP=yes # check-javahl +} package() { cd ${pkgname}-${pkgver} From 263673598d4a7a60613aa092cc112cd12363a471 Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Wed, 24 Aug 2022 14:49:44 +0200 Subject: [PATCH 5/6] ci: retire obsolete definition We cherry-picked a newer definition from upstream MSYS2, which lives in `.ci/`. Unfortunately, we forgot to remove the obsolete definition in the old location and therefore had near duplicates. This hurt a lot because it caused an unnecessary day of digging and pulling hair to find out why the CI changes did not take effect (narrator's voice: it helps to edit the correct file). Signed-off-by: Johannes Schindelin --- .drone.yml | 23 ------ appveyor.yml | 25 ------ ci-build.sh | 42 ---------- ci-library.sh | 214 -------------------------------------------------- 4 files changed, 304 deletions(-) delete mode 100644 .drone.yml delete mode 100644 appveyor.yml delete mode 100644 ci-build.sh delete mode 100644 ci-library.sh diff --git a/.drone.yml b/.drone.yml deleted file mode 100644 index 5c72fd68d22..00000000000 --- a/.drone.yml +++ /dev/null @@ -1,23 +0,0 @@ -build: - image: teaci/msys$$arch - pull: true - shell: msys$$arch - commands: - # TODO: remove this option when not anymore needed - - if [ $$arch = 32 ]; then export DISABLE_QUALITY_CHECK=true; fi - - ./ci-build.sh - -notify: - irc: - prefix: build - nick: MSYS2-packages - channel: msys2-ci - server: - host: irc.oftc.net - port: 6667 - -matrix: - arch: - - 64 - - 32 -#FIXME: When a matrix build is done, only the build status of the last job in a matrix is sent to notification plugins, this confuses our irc plugin, see https://github.com/drone/drone/issues/1459. Github pull request Web UI status and Tea CI Web UI status works fine with matrix build. diff --git a/appveyor.yml b/appveyor.yml deleted file mode 100644 index efa5250c269..00000000000 --- a/appveyor.yml +++ /dev/null @@ -1,25 +0,0 @@ -environment: - DEPLOY_PROVIDER: bintray - BINTRAY_ACCOUNT: alexpux - BINTRAY_REPOSITORY: msys2 - PACMAN_REPOSITORY_NAME: ci.msys - BUILD_URL: https://ci.appveyor.com/project/$(APPVEYOR_ACCOUNT_NAME)/$(APPVEYOR_PROJECT_NAME)/build/$(APPVEYOR_BUILD_VERSION) - -build_script: - - C:\msys64\usr\bin\pacman --noconfirm --ask 20 --sync --refresh --refresh --sysupgrade --sysupgrade - - C:\msys64\usr\bin\bash --login -c "$(cygpath ${APPVEYOR_BUILD_FOLDER})/ci-build.sh" - -artifacts: - - path: artifacts\* - -deploy: - - provider: BinTray - username: $(BINTRAY_ACCOUNT) - subject: $(BINTRAY_ACCOUNT) - repo: $(BINTRAY_REPOSITORY) - package: $(PACMAN_REPOSITORY_NAME) - version: latest - publish: true - override: true - api_key: - secure: B2XBLbsX8EQOpWyyaHskipMoF2+Tbt6hc/afbVm82f01CBKruspjwhee4K4C7/xf diff --git a/ci-build.sh b/ci-build.sh deleted file mode 100644 index fd787c12495..00000000000 --- a/ci-build.sh +++ /dev/null @@ -1,42 +0,0 @@ -#!/bin/bash - -# AppVeyor and Drone Continuous Integration for MSYS2 -# Author: Renato Silva -# Author: Qian Hong - -# Configure -cd "$(dirname "$0")" -source 'ci-library.sh' -deploy_enabled && mkdir artifacts -git_config user.email 'ci@msys2.org' -git_config user.name 'MSYS2 Continuous Integration' -git remote add upstream 'https://github.com/Alexpux/MSYS2-packages' -git fetch --quiet upstream - -# Detect -list_commits || failure 'Could not detect added commits' -list_packages || failure 'Could not detect changed files' -message 'Processing changes' "${commits[@]}" -test -z "${packages}" && success 'No changes in package recipes' -define_build_order || failure 'Could not determine build order' - -# Build -message 'Building packages' "${packages[@]}" -execute 'Updating system' update_system -execute 'Approving recipe quality' check_recipe_quality -for package in "${packages[@]}"; do - execute 'Building binary' makepkg --noconfirm --noprogressbar --skippgpcheck --nocheck --syncdeps --rmdeps --cleanbuild - execute 'Building source' makepkg --noconfirm --noprogressbar --skippgpcheck --allsource - execute 'Installing' yes:pacman --noprogressbar --upgrade *.pkg.tar.xz - execute 'Checking dll depencencies' list_dll_deps ./pkg - deploy_enabled && mv "${package}"/*.pkg.tar.xz artifacts - deploy_enabled && mv "${package}"/*.src.tar.gz artifacts - unset package -done - -# Deploy -deploy_enabled && cd artifacts || success 'All packages built successfully' -execute 'Generating pacman repository' create_pacman_repository "${PACMAN_REPOSITORY_NAME:-ci-build}" -execute 'Generating build references' create_build_references "${PACMAN_REPOSITORY_NAME:-ci-build}" -execute 'SHA-256 checksums' sha256sum * -success 'All artifacts built successfully' diff --git a/ci-library.sh b/ci-library.sh deleted file mode 100644 index 773260c4bc4..00000000000 --- a/ci-library.sh +++ /dev/null @@ -1,214 +0,0 @@ -#!/bin/bash - -# Continuous Integration Library for MSYS2 -# Author: Renato Silva -# Author: Qian Hong - -# Enable colors -if [[ -t 1 ]]; then - normal='\e[0m' - red='\e[1;31m' - green='\e[1;32m' - cyan='\e[1;36m' -fi - -# Basic status function -_status() { - local type="${1}" - local status="${package:+${package}: }${2}" - local items=("${@:3}") - case "${type}" in - failure) local -n nameref_color='red'; title='[MSYS2 CI] FAILURE:' ;; - success) local -n nameref_color='green'; title='[MSYS2 CI] SUCCESS:' ;; - message) local -n nameref_color='cyan'; title='[MSYS2 CI]' - esac - printf "\n${nameref_color}${title}${normal} ${status}\n\n" - printf "${items:+\t%s\n}" "${items:+${items[@]}}" -} - -# Convert lines to array -_as_list() { - local -n nameref_list="${1}" - local filter="${2}" - local strip="${3}" - local lines="${4}" - local result=1 - nameref_list=() - while IFS= read -r line; do - test -z "${line}" && continue - result=0 - [[ "${line}" = ${filter} ]] && nameref_list+=("${line/${strip}/}") - done <<< "${lines}" - return "${result}" -} - -# Changes since master or from head -_list_changes() { - local list_name="${1}" - local filter="${2}" - local strip="${3}" - local git_options=("${@:4}") - _as_list "${list_name}" "${filter}" "${strip}" "$(git log "${git_options[@]}" upstream/master.. | sort -u)" || - _as_list "${list_name}" "${filter}" "${strip}" "$(git log "${git_options[@]}" HEAD^.. | sort -u)" -} - -# Get package information -_package_info() { - local package="${1}" - local properties=("${@:2}") - for property in "${properties[@]}"; do - local -n nameref_property="${property}" - nameref_property=($( - source "${package}/PKGBUILD" - declare -n nameref_property="${property}" - echo "${nameref_property[@]}")) - done -} - -# Package provides another -_package_provides() { - local package="${1}" - local another="${2}" - local pkgname provides - _package_info "${package}" pkgname provides - for pkg_name in "${pkgname[@]}"; do [[ "${pkg_name}" = "${another}" ]] && return 0; done - for provided in "${provides[@]}"; do [[ "${provided}" = "${another}" ]] && return 0; done - return 1 -} - -# Add package to build after required dependencies -_build_add() { - local package="${1}" - local depends makedepends - for sorted_package in "${sorted_packages[@]}"; do - [[ "${sorted_package}" = "${package}" ]] && return 0 - done - _package_info "${package}" depends makedepends - for dependency in "${depends[@]}" "${makedepends[@]}"; do - for unsorted_package in "${packages[@]}"; do - [[ "${package}" = "${unsorted_package}" ]] && continue - _package_provides "${unsorted_package}" "${dependency}" && _build_add "${unsorted_package}" - done - done - sorted_packages+=("${package}") -} - -# Download previous artifact -_download_previous() { - local filenames=("${@}") - [[ "${DEPLOY_PROVIDER}" = bintray ]] || return 1 - for filename in "${filenames[@]}"; do - if ! wget --no-verbose "https://dl.bintray.com/${BINTRAY_ACCOUNT}/${BINTRAY_REPOSITORY}/${filename}"; then - rm -f "${filenames[@]}" - return 1 - fi - done - return 0 -} - -# Git configuration -git_config() { - local name="${1}" - local value="${2}" - test -n "$(git config ${name})" && return 0 - git config --global "${name}" "${value}" && return 0 - failure 'Could not configure Git for makepkg' -} - -# Run command with status -execute(){ - local status="${1}" - local command="${2}" - local arguments=("${@:3}") - cd "${package:-.}" - message "${status}" - if [[ "${command}" != *:* ]] - then ${command} ${arguments[@]} - else ${command%%:*} | ${command#*:} ${arguments[@]} - fi || failure "${status} failed" - cd - > /dev/null -} - -# Update system -update_system() { - repman add ci.msys 'https://dl.bintray.com/alexpux/msys2' || return 1 - pacman --noconfirm --noprogressbar --sync --refresh --refresh --sysupgrade --sysupgrade || return 1 - test -n "${DISABLE_QUALITY_CHECK}" && return 0 # TODO: remove this option when not anymore needed - pacman --noconfirm --needed --noprogressbar --sync ci.msys/pactoys -} - -# Sort packages by dependency -define_build_order() { - local sorted_packages=() - for unsorted_package in "${packages[@]}"; do - _build_add "${unsorted_package}" - done - packages=("${sorted_packages[@]}") -} - -# Associate artifacts with this build -create_build_references() { - local repository_name="${1}" - local references="${repository_name}.builds" - _download_previous "${references}" || touch "${references}" - for file in *; do - sed -i "/^${file}.*/d" "${references}" - printf '%-80s%s\n' "${file}" "${BUILD_URL}" >> "${references}" - done - sort "${references}" | tee "${references}.sorted" | sed -r 's/(\S+)\s.*\/([^/]+)/\2\t\1/' - mv "${references}.sorted" "${references}" -} - -# Add packages to repository -create_pacman_repository() { - local name="${1}" - _download_previous "${name}".{db,files}{,.tar.xz} - repo-add "${name}.db.tar.xz" *.pkg.tar.xz -} - -# Deployment is enabled -deploy_enabled() { - test -n "${BUILD_URL}" || return 1 - [[ "${DEPLOY_PROVIDER}" = bintray ]] || return 1 - local repository_account="$(git remote get-url origin | cut -d/ -f4)" - [[ "${repository_account,,}" = "${BINTRAY_ACCOUNT,,}" ]] -} - -# Added commits -list_commits() { - _list_changes commits '*' '#*::' --pretty=format:'%ai::[%h] %s' -} - -# Changed recipes -list_packages() { - local _packages - _list_changes _packages '*/PKGBUILD' '%/PKGBUILD' --pretty=format: --name-only || return 1 - for _package in "${_packages[@]}"; do - local find_case_sensitive="$(find -name "${_package}" -type d -print -quit)" - test -n "${find_case_sensitive}" && packages+=("${_package}") - done - return 0 -} - -# Recipe quality -check_recipe_quality() { - # TODO: remove this option when not anymore needed - if test -n "${DISABLE_QUALITY_CHECK}"; then - echo 'This feature is disabled.' - return 0 - fi - saneman --format='\t%l:%c %p:%c %m' --verbose --no-terminal "${packages[@]}" -} - -# List DDL dependencies -list_dll_deps(){ - local target="${1}" - echo "$(tput setaf 2)MSYS2 DLL dependencies:$(tput sgr0)" - find "$target" -regex ".*\.\(exe\|dll\)" -print0 | xargs -0 -r ldd | GREP_COLOR="1;35" grep --color=always "msys-.*\|" \ - || echo " None" -} - -# Status functions -failure() { local status="${1}"; local items=("${@:2}"); _status failure "${status}." "${items[@]}"; exit 1; } -success() { local status="${1}"; local items=("${@:2}"); _status success "${status}." "${items[@]}"; exit 0; } -message() { local status="${1}"; local items=("${@:2}"); _status message "${status}" "${items[@]}"; } From 94ae74ee7c3a4e05476fee0c4054ccc6a5a8b89c Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Thu, 28 Jul 2022 22:16:55 +0200 Subject: [PATCH 6/6] ci: do run the `check` phase We do not want any regressions to slip through. Signed-off-by: Johannes Schindelin --- .ci/ci-build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.ci/ci-build.sh b/.ci/ci-build.sh index 8482a3b82cb..7a14e358585 100755 --- a/.ci/ci-build.sh +++ b/.ci/ci-build.sh @@ -36,7 +36,7 @@ message 'Building packages' for package in "${packages[@]}"; do echo "::group::[build] ${package}" execute 'Fetch keys' "$DIR/fetch-validpgpkeys.sh" - execute 'Building binary' makepkg --noconfirm --noprogressbar --nocheck --syncdeps --rmdeps --cleanbuild + execute 'Building binary' makepkg --noconfirm --noprogressbar --check --syncdeps --rmdeps --cleanbuild execute 'Building source' makepkg --noconfirm --noprogressbar --allsource echo "::endgroup::"