Compare commits

...

127 Commits
f23 ... rawhide

Author SHA1 Message Date
Joe Orton d5d79903b7 improve library versioning so filenames are unique across releases 2022-07-29 10:52:39 +01:00
Fedora Release Engineering a369b2c68c Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-23 09:34:39 +00:00
Joe Orton 3ef9dd2eb3 disable libmagic during test runs 2022-07-05 16:08:46 +01:00
Joe Orton 28a8371292 update for new Java arches and bump to JDK 17 (#2103909)
Resolves: rhbz#2103909
2022-07-05 14:30:11 +01:00
Python Maint 66f78b6f0b Rebuilt for Python 3.11 2022-06-13 15:27:35 +02:00
Jitka Plesnikova dfc31038ae Perl 5.36 rebuild 2022-05-31 22:09:00 +02:00
Joe Orton 786c0a870c update to 1.14.2 (#2073852, CVE-2021-28544, CVE-2022-24070) 2022-05-04 10:35:59 +01:00
Jiri 55cb565526 Rebuilt for java-17-openjdk as system jdk
https://fedoraproject.org/wiki/Changes/Java17
2022-02-06 00:21:36 +01:00
Mamoru TASAKA 8936f2a567 F-36: rebuild against ruby31 2022-01-27 10:38:03 +09:00
Timm Bäder 9928155ef9 Disable automatic .la file removal
https://fedoraproject.org/wiki/Changes/RemoveLaFiles
2022-01-24 15:07:31 +01:00
Fedora Release Engineering 6a438d0695 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-22 01:48:20 +00:00
Richard Lescak 230cf0ba53 Replaced deprecated method readfp() in gen_base.py to build with Python 3.11 (#2019019) 2021-12-16 20:39:17 +01:00
Joe Orton fc99096be2 fix intermittent FTBFS in tests (#1956806)
Resolves: rhbz#1956806
2021-12-01 11:40:05 +00:00
Fedora Release Engineering af1f9fda49 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-23 18:25:15 +00:00
Python Maint 295a35219d Rebuilt for Python 3.10 2021-06-04 21:15:48 +02:00
Jitka Plesnikova 7da0927bea Perl 5.34 rebuild 2021-05-22 23:31:41 +02:00
Jitka Plesnikova 5683ab8094 Temporary disable the tests for Perl mass rebuil 2021-05-20 08:08:59 +02:00
Zbigniew Jędrzejewski-Szmek 3a98fb6357 Rebuilt for updated systemd-rpm-macros
See https://pagure.io/fesco/issue/2583.
2021-03-02 16:12:14 +01:00
Joe Orton 467f0d7692 update to 1.14.1 (#1927265, #1768698)
Resolves: rhbz#1768698
Resolves: rhbz#1927265
2021-02-10 14:39:01 +00:00
Fedora Release Engineering 9972e74622 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-01-27 21:10:32 +00:00
Tom Stellard 0fda095229 Add BuildRequires: make
https://fedoraproject.org/wiki/Changes/Remove_make_from_BuildRoot
2021-01-12 00:03:29 +00:00
Mamoru TASAKA b84c8bd57c F-34: rebuild against ruby 3.0 2021-01-06 20:29:30 +09:00
Joe Orton 9e1c54f621 strip libdir from pkgconfig files
add missing -libs dep from python3-subversion
2020-12-11 16:58:50 +00:00
Joe Orton fcaaaff855 fix KWallet conditional (#1902598)
Resolves: rhbz#1902598
2020-12-03 10:31:42 +00:00
Joe Orton 499cd8e83d Reorder bconds. 2020-12-02 14:34:32 +00:00
Jan Grulich eeb81e6a40 Disable KWallet for RHEL and ELN
Resolves: bz#1902598
2020-11-30 18:53:22 +01:00
Joe Orton 3d5f8d900a bump required apr-devel
BR gcc, gcc-c++
2020-09-29 16:30:19 +01:00
Fedora Release Engineering 665f365e99 - Second attempt - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-08-01 09:14:36 +00:00
Fedora Release Engineering 7625a18e28 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-07-29 11:37:01 +00:00
Jitka Plesnikova 98a6fa5e22 Perl 5.32 rebuild 2020-06-23 10:51:49 +02:00
Joe Orton e8ea94364e Fix chronology, again. 2020-06-03 12:13:49 +01:00
Merlin Mathesius 3ebdabd841 Minor conditional fixes for ELN 2020-06-03 12:13:22 +01:00
Joe Orton c9e6813bbd Fix chronology more. 2020-06-03 10:41:52 +01:00
Joe Orton 620cccab98 use minor version as libtool library revision number 2020-06-03 10:03:10 +01:00
Joe Orton b0d36c8372 Amend changelog. 2020-06-03 08:28:20 +01:00
Joe Orton a324bcd12d Seems the ruby bindings failure was a false -ve, though libsvn_swig_ruby
only builds with many mismatched callback pointer types, so looks dubious.
2020-06-03 08:27:29 +01:00
Joe Orton c8b62eed2a - disable Ruby bindings, failing tests with Ruby 2.7 2020-06-02 16:50:54 +01:00
Joe Orton 5deb44b230 - remove duplicated %changelog entries 2020-06-02 16:49:54 +01:00
Joe Orton d4cfdbde97 enable Python swig bindings by default for f32+ 2020-06-02 16:25:48 +01:00
Joe Orton f8836c5c33 update to 1.14.0 (#1840565, #1812195)
Resolves: rhbz#1812195
Resolves: rhbz#1840565
2020-06-02 15:10:26 +01:00
Joe Orton 7f9b0e8ee8 revise %changelog history to restore chronological order 2020-06-01 16:11:48 +01:00
Joe Orton 775848c5c0 Merge branch 'unstable' 2020-06-01 16:09:57 +01:00
Jitka Plesnikova 8ee227cefc Updated build-requires for java and qt5
Switch back to java-11.
2020-05-19 11:01:32 +01:00
Joe Orton 880dc2d088 switch subpackages to lock-step requires on -libs rather than subversion 2020-05-19 10:52:49 +01:00
Joe Orton 15003a7b63 drop Berkeley DB support for Fedora > 32
BR java-11-openjdk-devel
2020-04-30 09:51:47 +01:00
Joe Orton dba71be6b7 Fix for -rc 2020-04-28 17:19:16 +01:00
Jitka Plesnikova 9feed5d046 fixed the build-requires 2020-04-28 15:19:56 +02:00
Jitka Plesnikova 8a826512a3 Updated build-requires for java and qt5 2020-04-28 08:10:16 +02:00
Joe Orton 3751cb1185 - BR py3c-devel 2020-04-24 11:25:11 +01:00
Joe Orton 60ad19a1c4 update to 1.14.0-rc2 2020-04-23 16:51:19 +01:00
Joe Orton 7cd62e93ad - fix FTBFS on 32-bit arches 2020-02-12 13:44:04 +00:00
Joe Orton 0e0c958468 fix FTBFS on 32-bit arches (#1800120)
Resolves: rhbz#1800120
2020-02-12 12:48:53 +00:00
Mamoru TASAKA 3bff10eb40 F-32: fix include path for ruby 2.7 2020-02-12 09:46:45 +00:00
Joe Orton e210879fdd conditionally package bdb tools in -tools 2020-02-12 09:43:37 +00:00
Fedora Release Engineering dde0722d8b - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-01-31 00:29:12 +00:00
Mamoru TASAKA 282e2f908f F-32: fix include path for ruby 2.7
Rebuild for ruby 2.7
2020-01-21 15:11:37 +09:00
Joe Orton 4dacd0cc9a conditionally package bdb tools in -tools 2020-01-17 09:13:34 +00:00
Joe Orton fb7f2749f3 update for KDE 5 (Phil O, #1768693)
Resolves: rhbz#1768693
2020-01-17 09:12:37 +00:00
Joe Orton 44728be640 update for KDE 5 (Phil O, #1768693)
Resolves: rhbz#1768693
2020-01-06 08:24:17 +00:00
Joe Orton 37f54c869d Tweak issue links. 2019-11-28 12:41:27 +00:00
Joe Orton df7a8d4302 update to 1.13.0 2019-11-01 08:00:29 +00:00
Joe Orton b92333397b subversion.spec
- update to 1.13.0
2019-11-01 08:00:12 +00:00
Joe Orton 1009d9c401 switch to Python 3 for F32+ (#1737928)
Resolves: rhbz#1737928
2019-08-30 13:11:42 +01:00
Joe Orton 7a2266fa94 update to 1.12.2 2019-07-25 09:09:59 +01:00
Joe Orton d3d820b4ed Catch issues better in markdown conversion. 2019-07-25 08:59:10 +01:00
Jitka Plesnikova f5c1dc7ba6 Perl 5.30 rebuild 2019-06-01 20:21:53 +02:00
Joe Orton a25a62dd94 - merge pie/rpath patches into one; drop PIE stuff
which shouldn't be needed any more with current Fedora?
2019-05-02 10:02:21 +01:00
Joe Orton 5ad5346643 update to 1.12.0 (#1702471)
Resolves: rhbz#1702471
2019-05-01 17:12:36 +01:00
Joe Orton c5a1e6a57b Add pullrev.sh script. 2019-04-17 09:29:18 +01:00
Joe Orton 57362d6ecd fix build with APR 1.7.0 (upstream r1857391) 2019-04-17 09:29:02 +01:00
Fedora Release Engineering 064aa48b41 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-02-03 08:47:16 +00:00
Igor Gnatenko 6c3bff4b0c Remove obsolete Group tag
References: https://fedoraproject.org/wiki/Changes/Remove_Group_Tag
2019-01-28 20:24:51 +01:00
Igor Gnatenko 69fda208d9
Remove obsolete ldconfig scriptlets
References: https://fedoraproject.org/wiki/Changes/RemoveObsoleteScriptlets
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2019-01-22 18:41:05 +01:00
Mamoru TASAKA 90f80dcf5f F-30: rebuild against ruby26 2019-01-21 17:56:51 +09:00
Björn Esser 02f5184175
Rebuilt for libcrypt.so.2 (#1666033) 2019-01-14 19:17:41 +01:00
Joe Orton 784b518a86 update to 1.11.1 2019-01-11 15:33:40 +00:00
Joe Orton 4df5cd53fb Updated sed script to convert CHANGES to markdown. 2018-11-01 08:31:45 +00:00
Joe Orton ac4378f0e5 update to 1.11.0 2018-10-31 11:51:37 +00:00
Joe Orton d06508e65b update to 1.10.3 2018-10-11 09:24:44 +01:00
Joe Orton a6aa7f6ff5 Remove obsolete patches. 2018-07-20 15:33:53 +01:00
Joe Orton 26d2f416ea update to 1.10.2 (#1603197)
Resolves: rhbz#1603197
2018-07-20 15:32:34 +01:00
Fedora Release Engineering 165709cbf9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-07-14 06:51:16 +00:00
Jitka Plesnikova aaba982dde Perl 5.28 rebuild 2018-06-29 22:06:59 +02:00
Joe Orton 8c2c8c9b5b fix test suite invocation 2018-06-28 17:16:59 +01:00
Joe Orton 7417b32a9b Narrow swig-disabling to just Python bindings. 2018-06-28 16:26:25 +01:00
Joe Orton 730bad37b5 Remove old source. 2018-06-28 09:00:15 +01:00
Joe Orton 5d1d84ed52 really disable Berkeley DB support if required by bcond
add build conditional to disable swig binding subpackages
2018-06-27 17:44:23 +01:00
Joe Orton 28a2e483e9 remove build and -devel deps on libgnome-keyring-devel 2018-05-01 18:04:51 +01:00
Joe Orton 13ecf2b759 drop -devel dep on libserf-devel 2018-05-01 15:15:50 +01:00
Joe Orton 80ac0e0da3 add bdb, tests as build conditional 2018-04-24 17:34:09 +01:00
Joe Orton fdcd0773c4 add bdb build conditional 2018-04-24 09:11:58 +01:00
Joe Orton 1a45152b26 move new tools to -tools 2018-04-17 09:32:29 +01:00
Joe Orton 2e3dd3de30 update to 1.10.0 (#1566493)
Resolves: rhbz#1566493
2018-04-16 10:30:49 +01:00
Joe Orton 5ac98aab34 - more python2 fixes for #1552079 2018-03-27 21:33:56 +01:00
Joe Orton 98ddd79d86 add build conditionals for python2, python3 and kwallet
Resolves: rhbz#1552079
2018-03-27 20:48:07 +01:00
Joe Orton 193e2e3a7d More Python2/3 improvements. 2018-03-27 19:07:50 +01:00
Joe Orton 826f2c3689 For Subversion 1.9, only run test suite with Py2 (Py3 supported with 1.10). 2018-03-27 18:39:23 +01:00
Joe Orton 0006eb7232 add build conditionals for python2, python3 and kwallet 2018-03-27 17:11:44 +01:00
Joe Orton f71da83290 force use of Python2 in test suite 2018-02-09 13:21:12 +00:00
Joe Orton a2f1b0bc3e force use of Python2 in test suite 2018-02-08 16:58:19 +00:00
Joe Orton 65bb8921ac Merge branch 'master' of ssh://pkgs.fedoraproject.org/rpms/subversion 2018-02-01 08:09:40 +00:00
Iryna Shcherbina 368c5a91e6 Update Python 2 dependency declarations to new packaging standards 2018-02-01 03:35:20 +01:00
Björn Esser 729170108e
Rebuilt for switch to libxcrypt 2018-01-20 23:08:36 +01:00
Mamoru TASAKA ddb4d58f79 F-28: rebuild for ruby25 2018-01-05 17:02:14 +09:00
Joe Orton 63c8e7d81d trim changelog, remove mailer tests from -tools 2018-01-02 09:11:26 +00:00
Zbigniew Jędrzejewski-Szmek 8fefc4d3ae Python 2 binary package renamed to python2-subversion 2017-12-17 12:47:13 -05:00
Joe Orton cf4f0b2340 update to 1.9.7 (CVE-2017-9800, #1480402)
add Documentation= to svnserve.service
Resolves: rhbz#1480335
Resolves: rhbz#1480402
2017-08-11 08:29:12 +01:00
Fedora Release Engineering d7124a3c1f - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild 2017-08-03 08:56:10 +00:00
Fedora Release Engineering 3ea10e4bad - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild 2017-07-27 19:27:10 +00:00
Joe Orton 6225a77f14 move javahl .so to -libs (#1469158)
Resolves: rhbz#1469158
2017-07-17 10:17:13 +01:00
Joe Orton 5b21ca64df Merge branch 'f26' 2017-07-10 10:43:45 +01:00
Joe Orton a52dae1fd4 disable tests on ppc64 2017-07-10 08:16:41 +01:00
Joe Orton fa677f6a83 update to 1.9.6 (#1467890)
update to latest upstream psvn.el
move libsvnjavahl to -libs, build -javahl noarch
fix javahl Requires
2017-07-06 19:37:56 +01:00
Joe Orton 0114678efc fix build. 2017-07-06 15:38:57 +01:00
Joe Orton 3ccba7dffd update to 1.9.6 (#1467890)
update to latest upstream psvn.el
move libsvnjavahl to -libs, build -javahl noarch
Resolves: rhbz#1467890
2017-07-06 14:13:40 +01:00
Joe Orton f4b58f8836 update to 1.9.6 (#1467890)
update to latest upstream psvn.el
Resolves: rhbz#1467890
2017-07-06 12:42:09 +01:00
Joe Orton 684d60f4c9 merge 2017-07-06 12:42:06 +01:00
Jitka Plesnikova 4f24860076 Perl 5.26 rebuild 2017-06-04 08:08:55 +02:00
Joe Orton 470c32c558 Fix to use JIRA links. 2017-05-16 16:22:00 +01:00
Joe Orton 567b1233b0 Remove unnecessary whitespace. 2017-05-16 16:22:00 +01:00
Fedora Release Engineering 2c175edca3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild 2017-02-11 14:05:35 +00:00
Mamoru TASAKA cf5ce10eef F-26: rebuild for ruby24 2017-01-13 13:46:26 +09:00
Joe Orton 8b7160d5ae update to 1.9.5 (#1400040, CVE-2016-8734)
Resolves: rhbz#1400040
Resolves: rhbz#1399871
Resolves: rhbz#888755
2017-01-02 13:23:24 +00:00
Fedora Release Engineering a2b9f7990d - https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages 2016-07-19 12:43:34 +00:00
Petr Písař 5f5fc2fff9 Mandatory Perl build-requires added <https://fedoraproject.org/wiki/Changes/Build_Root_Without_Perl> 2016-06-24 09:19:21 +02:00
Jitka Plesnikova ae530f1de4 Enable tests; Revert one of Ruby 2.2 fixes 2016-05-26 09:38:46 +02:00
Jitka Plesnikova a8b52ca121 Perl 5.24 rebuild 2016-05-17 03:45:13 +02:00
18 changed files with 819 additions and 1076 deletions

2
.gitignore vendored
View File

@ -1 +1,3 @@
/subversion-*.tar.bz2
/subversion-1\.[0-9]*\.[0-9]*/
/results_subversion/

View File

@ -6,10 +6,13 @@ echo "This update includes the latest stable release of _Apache Subversion_, ver
echo
curl --silent -n "http://svn.apache.org/repos/asf/subversion/tags/$1/CHANGES" | \
sed -n '
4,/Version/{
s/(r[0-9, retal]*)\;*//g;
s,issue #\([0-9]*\), [issue \1](http://subversion.tigris.org/issues/show_bug.cgi?id=\1),;
sed -n "
/^#/d;
/^Version ${1/-rc*/}/,/^Version /{
/, from \/branches/d;
/repos\/asf\/subversion\/tags/d;
s,#\([0-9]*\),[SVN-\1](https://issues.apache.org/jira/browse/SVN-\1),;
s/(r[0-9, retal]+)\*//g;
s/^ *//;
s/ +/ /g;
s/^ *- \(.*\)$/#### \1/;
@ -21,4 +24,4 @@ s,(r1.*),,g
s,\(@[0-9]*\),\\\1,g
p;
}
' -
" -

189
psvn.el
View File

@ -1,5 +1,5 @@
;;; psvn.el --- Subversion interface for emacs
;; Copyright (C) 2002-2012 by Stefan Reichoer
;; Copyright (C) 2002-2015 by Stefan Reichoer
;; Author: Stefan Reichoer <stefan@xsteve.at>
;; Note: This version is currently not under svn control
@ -241,7 +241,7 @@
;;; Code:
(defconst svn-psvn-revision "2012-03-26, 21:23:49" "The revision date of psvn.")
(defconst svn-psvn-revision "2015-07-20, 21:42:00" "The revision date of psvn.")
(require 'easymenu)
@ -671,7 +671,7 @@ See psvn.el for an example function.")
(defvar svn-process-cmd nil)
(defvar svn-status-info nil)
(defvar svn-status-filename-to-buffer-position-cache (make-hash-table :test 'equal :weakness t))
(defvar svn-status-base-info nil "The parsed result from the svn info command.")
(defvar svn-status-base-info nil "The parsed result from the svn info command as a plist.")
(defvar svn-status-initial-window-configuration nil)
(defvar svn-status-default-column 23)
(defvar svn-status-default-revision-width 4)
@ -703,13 +703,14 @@ This is nil if the log entry is for a new commit.")
(defvar svn-pre-run-mode-line-process nil)
(defvar svn-arg-file-content nil)
(defvar svn-status-temp-dir
(expand-file-name
(or
(when (boundp 'temporary-file-directory) temporary-file-directory) ;emacs
;; XEmacs 21.4.17 can return "/tmp/kalle" from (temp-directory).
;; `file-name-as-directory' adds a slash so we can append a file name.
(when (fboundp 'temp-directory) (file-name-as-directory (temp-directory)))
"/tmp/")) "The directory that is used to store temporary files for psvn.")
(file-name-as-directory
(expand-file-name
(or
(when (boundp 'temporary-file-directory) temporary-file-directory) ;emacs
;; XEmacs 21.4.17 can return "/tmp/kalle" from (temp-directory).
;; `file-name-as-directory' adds a slash so we can append a file name.
(when (fboundp 'temp-directory) (temp-directory))
"/tmp/"))) "The directory that is used to store temporary files for psvn.")
;; Because `temporary-file-directory' is not a risky local variable in
;; GNU Emacs 22.0.51, we don't mark `svn-status-temp-dir' as such either.
(defvar svn-temp-suffix (make-temp-name "."))
@ -1118,12 +1119,18 @@ inside loops."
(defun svn-checkout (repos-url path)
"Run svn checkout REPOS-URL PATH."
(interactive (list (read-string "Checkout from repository Url: ")
(svn-read-directory-name "Checkout to directory: ")))
(expand-file-name
(svn-read-directory-name "Checkout to directory: "))))
(svn-run t t 'checkout "checkout" repos-url (expand-file-name path)))
;;;###autoload (defalias 'svn-examine 'svn-status)
(defalias 'svn-examine 'svn-status)
;;;###autoload
(defun svn-version-controlled-dir-p (dir)
"Return t if DIR is part of a Subversion workarea."
(= 0 (call-process svn-status-svn-executable nil nil nil "info" dir)))
;;;###autoload
(defun svn-status (dir &optional arg)
"Examine the status of Subversion working copy in directory DIR.
@ -1133,20 +1140,17 @@ For every other non nil ARG pass the -u argument to `svn status', which
asks svn to connect to the repository and check to see if there are updates
there.
If there is no .svn directory, examine if there is CVS and run
If DIR is not an SVN working copy, examine if there is CVS and run
`cvs-examine'. Otherwise ask if to run `dired'."
(interactive (list (svn-read-directory-name "SVN status directory: "
nil default-directory nil)
(interactive (list (expand-file-name
(svn-read-directory-name "SVN status directory: "
nil default-directory nil))
current-prefix-arg))
(let ((svn-dir (format "%s%s"
(file-name-as-directory dir)
(svn-wc-adm-dir-name)))
(cvs-dir (format "%sCVS" (file-name-as-directory dir))))
(cond
((file-directory-p svn-dir)
((svn-version-controlled-dir-p (expand-file-name dir))
(setq arg (svn-status-possibly-negate-meaning-of-arg arg 'svn-status))
(svn-status-1 dir arg))
((and (file-directory-p cvs-dir)
((and (file-directory-p (concat (file-name-as-directory dir) "CVS"))
(fboundp 'cvs-examine))
(cvs-examine dir nil))
(t
@ -1159,7 +1163,7 @@ If there is no .svn directory, examine if there is CVS and run
"Run dired instead? ")
dir
(svn-wc-adm-dir-name)))
(dired dir))))))
(dired dir)))))
(defvar svn-status-display-new-status-buffer nil)
(defun svn-status-1 (dir &optional arg)
@ -1195,7 +1199,6 @@ If there is no .svn directory, examine if there is CVS and run
(set-buffer proc-buf)
(setq default-directory dir
svn-status-remote (when arg t))
(set-buffer cur-buf)
(if want-edit
(let ((svn-status-edit-svn-command t))
(svn-run t t 'status "status" svn-status-default-status-arguments status-option))
@ -3089,32 +3092,27 @@ non-interactive use."
(defun svn-status-parse-info-result ()
"Parse the result from the svn info command.
Put the found values in `svn-status-base-info'."
(let ((url)
(repository-root)
(last-changed-author))
(save-excursion
(set-buffer svn-process-buffer-name)
(goto-char (point-min))
(let ((case-fold-search t))
(search-forward "url: ")
(setq url (buffer-substring-no-properties (point) (svn-point-at-eol)))
(when (search-forward "repository root: " nil t)
(setq repository-root (buffer-substring-no-properties (point) (svn-point-at-eol))))
(when (search-forward "last changed author: " nil t)
(setq last-changed-author (buffer-substring-no-properties (point) (svn-point-at-eol))))))
(setq svn-status-base-info `((url ,url) (repository-root ,repository-root) (last-changed-author ,last-changed-author)))))
(save-excursion
(setq svn-status-base-info ())
(set-buffer svn-process-buffer-name)
(goto-char (point-min))
(let ((case-fold-search t)
(key)
(val))
(loop while (looking-at "\\(.*?\\)\\s-*:\\s-*\\(.*\\)$")
do (setq key (intern (concat ":" (downcase (subst-char-in-string ?\ ?- (match-string 1))))))
(setq val (match-string 2))
(setq svn-status-base-info (plist-put svn-status-base-info
key val))
until (< 0 (forward-line))))))
(defun svn-status-base-info->url ()
"Extract the url part from `svn-status-base-info'."
(if svn-status-base-info
(cadr (assoc 'url svn-status-base-info))
""))
(plist-get svn-status-base-info :url))
(defun svn-status-base-info->repository-root ()
"Extract the repository-root part from `svn-status-base-info'."
(if svn-status-base-info
(cadr (assoc 'repository-root svn-status-base-info))
""))
(plist-get svn-status-base-info :repository-root))
(defun svn-status-checkout-prefix-path ()
"When only a part of the svn repository is checked out, return the file path for this checkout."
@ -4057,9 +4055,10 @@ user can enter a new file name, or an existing directory: this is used as the ar
(svn-status-line-info->full-path (car marked-files))))
;;TODO: (when file-exists-p but-no-dir-p dest (error "%s already exists" dest))
;;multiple files selected, so prompt for existing directory to mv them into.
(setq dest (svn-read-directory-name
(format "%s %d files to directory: " manyprompt num-of-files)
(svn-status-directory-containing-point t) nil t))
(setq dest (expand-file-name
(svn-read-directory-name
(format "%s %d files to directory: " manyprompt num-of-files)
(svn-status-directory-containing-point t) nil t)))
(unless (file-directory-p dest)
(error "%s is not a directory" dest)))
(when (string= dest "")
@ -5813,9 +5812,6 @@ Currently is the output from the svn update command known."
"Toggle svn blame minor mode.
With ARG, turn svn blame minor mode on if ARG is positive, off otherwise.
Note: This mode does not yet work on XEmacs...
It is probably because the revisions are in 'before-string properties of overlays
Key bindings:
\\{svn-blame-mode-map}"
(interactive "P")
@ -5845,12 +5841,12 @@ The current buffer must contain a valid output from svn blame"
;; (when (overlay-get ov 'svn-blame-line-info)
;; (delete-overlay ov)))
(while (and (not (eobp)) (< (point) limit))
(setq s (buffer-substring-no-properties (svn-point-at-bol) (+ (svn-point-at-bol) info-end-col)))
(delete-region (svn-point-at-bol) (+ (svn-point-at-bol) info-end-col))
(setq ov (make-overlay (point) (point)))
(overlay-put ov 'svn-blame-line-info t)
(setq s (buffer-substring-no-properties (svn-point-at-bol) (+ (svn-point-at-bol) info-end-col)))
(overlay-put ov 'before-string (propertize s 'face 'svn-status-blame-rev-number-face))
(overlay-put ov 'rev-info (delete "" (split-string s " ")))
(delete-region (svn-point-at-bol) (+ (svn-point-at-bol) info-end-col))
(forward-line)
(setq line (1+ line)))))
(let* ((buf-name (format "*svn-blame: %s <%s>*"
@ -6020,18 +6016,12 @@ You can send raw data to the process via \\[svn-process-send-string]."
(with-current-buffer (get-buffer-create svn-process-buffer-name)
(setq old-process-default-dir default-directory)
(setq default-directory directory)) ;; update the default-directory for the *svn-process* buffer
(svn-run nil t 'parse-info "info" ".")
(with-current-buffer svn-process-buffer-name
;; (message "svn-status-repo-for-path: %s: default-directory: %s directory: %s old-process-default-dir: %s" svn-process-buffer-name default-directory directory old-process-default-dir)
(setq default-directory old-process-default-dir)
(goto-char (point-min))
(let ((case-fold-search t))
(if (search-forward "repository root: " nil t)
(buffer-substring-no-properties (point) (svn-point-at-eol))
(when (search-forward "repository uuid: " nil t)
(svn-status-parse-info t)
(or (plist-get svn-status-base-info :repository-root)
(if (plist-get svn-status-base-info :repository-uuid)
(concat "Svn Repo UUID: " (plist-get svn-status-base-info :repository-uuid))
(message "psvn.el: Detected an old svn working copy in '%s'. Please check it out again to get a 'Repository Root' entry in the svn info output."
default-directory)
(concat "Svn Repo UUID: " (buffer-substring-no-properties (point) (svn-point-at-eol)))))))))
default-directory)))))
(defun svn-status-base-dir (&optional start-directory)
"Find the svn root directory for the current working copy.
@ -6043,29 +6033,60 @@ Return nil, if not in a svn working copy."
base-dir
;; (message "calculating base-dir for %s" start-dir)
(svn-compute-svn-client-version)
(let* ((base-dir start-dir)
(repository-root (svn-status-repo-for-path base-dir))
(dot-svn-dir (concat base-dir (svn-wc-adm-dir-name)))
(in-tree (and repository-root (file-exists-p dot-svn-dir)))
(dir-below (expand-file-name base-dir)))
;; (message "repository-root: %s start-dir: %s" repository-root start-dir)
(if (and (<= (car svn-client-version) 1) (< (cadr svn-client-version) 3))
(setq base-dir (svn-status-base-dir-for-ancient-svn-client start-dir)) ;; svn version < 1.3
(while (when (and dir-below (file-exists-p dot-svn-dir))
(setq base-dir (file-name-directory dot-svn-dir))
(string-match "\\(.+/\\).+/" dir-below)
(setq dir-below
(and (string-match "\\(.*/\\)[^/]+/" dir-below)
(match-string 1 dir-below)))
;; (message "base-dir: %s, dir-below: %s, dot-svn-dir: %s in-tree: %s" base-dir dir-below dot-svn-dir in-tree)
(when dir-below
(if (string= (svn-status-repo-for-path dir-below) repository-root)
(setq dot-svn-dir (concat dir-below (svn-wc-adm-dir-name)))
(setq dir-below nil)))))
(setq base-dir (and in-tree base-dir)))
(svn-puthash start-dir base-dir svn-status-base-dir-cache)
(svn-status-message 7 "svn-status-base-dir %s => %s" start-dir base-dir)
base-dir))))
;; (message "repository-root: %s start-dir: %s" repository-root start-dir)
(cond
((and (<= (car svn-client-version) 1) (< (cadr svn-client-version) 3))
(setq base-dir (svn-status-base-dir-for-ancient-svn-client start-dir))) ;; svn version < 1.3
((and (<= (car svn-client-version) 1) (< (cadr svn-client-version) 7))
(setq base-dir (svn-status-base-dir-for-old-svn-client start-dir))) ;; svn version < 1.7
(t
(setq base-dir (svn-status-base-dir-1 start-dir))))
(when base-dir
(svn-puthash start-dir base-dir svn-status-base-dir-cache))
(svn-status-message 7 "svn-status-base-dir %s => %s" start-dir base-dir)
base-dir)))
(defun svn-status-base-dir-1 (&optional start-directory)
"Find the svn root directory for the current working copy.
Return nil, if not in a svn working copy.
This function is used for svn clients version 1.7 and up."
(let ((default-directory (if start-directory
(expand-file-name start-directory)
(symbol-value 'default-directory)))
parent
wc-root)
(when (svn-version-controlled-dir-p default-directory)
(svn-status-parse-info t)
(setq wc-root (file-name-as-directory (plist-get svn-status-base-info :working-copy-root-path)))
(when wc-root
;; traversing up the hierarchy shortens the path name. Stop if
;; it doesn't, e.g we reached / already.
(setq parent (expand-file-name (concat wc-root "..")))
(or (and (< (length parent) (length wc-root))
(svn-status-base-dir-1 (expand-file-name (concat wc-root ".."))))
wc-root)))))
(defun svn-status-base-dir-for-old-svn-client (&optional start-directory)
"Find the svn root directory for the current working copy.
Return nil, if not in a svn working copy.
This function is used for svn clients version 1.6 and below."
(let* ((base-dir (expand-file-name (or start-directory default-directory)))
(repository-root (svn-status-repo-for-path base-dir))
(dot-svn-dir (concat base-dir (svn-wc-adm-dir-name)))
(in-tree (and repository-root (file-exists-p dot-svn-dir)))
(dir-below (expand-file-name base-dir)))
(while (when (and dir-below (file-exists-p dot-svn-dir))
(setq base-dir (file-name-directory dot-svn-dir))
(string-match "\\(.+/\\).+/" dir-below)
(setq dir-below
(and (string-match "\\(.*/\\)[^/]+/" dir-below)
(match-string 1 dir-below)))
;; (message "base-dir: %s, dir-below: %s, dot-svn-dir: %s in-tree: %s" base-dir dir-below dot-svn-dir in-tree)
(when dir-below
(if (string= (svn-status-repo-for-path dir-below) repository-root)
(setq dot-svn-dir (concat dir-below (svn-wc-adm-dir-name)))
(setq dir-below nil)))))
(and in-tree base-dir)))
(defun svn-status-base-dir-for-ancient-svn-client (&optional start-directory)
"Find the svn root directory for the current working copy.

53
pullrev.sh Executable file
View File

@ -0,0 +1,53 @@
#!/bin/sh -e
if [ $# -lt 1 ]; then
echo "What?"
exit 1
fi
repo="https://svn.apache.org/repos/asf/subversion/trunk"
#repo="https://svn.apache.org/repos/asf/subversion/branches/1.11.x"
prefix=`rpmspec -q --queryformat='%{name}-%{version}\n' ./subversion.spec | sed 1q`
suffix="r$1${2:++}"
fn="${prefix}-${suffix}.patch"
vcurl="http://svn.apache.org/viewvc?view=revision&revision="
if test -f ${fn}; then
mv -v -f ${fn} ${fn}\~
echo "# $0 $*" > ${fn}
sed '1{/#.*pullrev/d;};/^--- /,$d' < ${fn}\~ >> ${fn}
else
echo "# $0 $*" > ${fn}
fi
new=0
for r in $*; do
if ! grep -q "${vcurl}${r}" ${fn}; then
echo "${vcurl}${r}"
new=1
fi
done >> ${fn}
[ $new -eq 0 ] || echo >> ${fn}
prev=/dev/null
for r in $*; do
echo "+ fetching ${r}"
this=`mktemp /tmp/pullrevXXXXXX`
svn diff -c ${r} ${repo} | filterdiff --remove-timestamps --clean -x 'CHANGES' -x 'next-number' -x 'STATUS' \
--addprefix="${prefix}/" > ${this}
next=`mktemp /tmp/pullrevXXXXXX`
combinediff --quiet ${prev} ${this} > ${next}
rm -f "${this}"
[ "${prev}" = "/dev/null" ] || rm -f "${prev}"
prev=${next}
done
cat ${prev} >> ${fn}
vi "${fn}"
echo "+ git add ${fn}"
git add "${fn}"
echo "+ spec template:"
echo "PatchN: ${fn}"
echo "%patchN -p1 -b .${suffix}"

View File

@ -1 +1 @@
29121a038f87641055a8183f49e9739f subversion-1.9.4.tar.bz2
SHA512 (subversion-1.14.2.tar.bz2) = 20ada4688ca07d9fb8da4b7d53b5084568652a3b9418c65e688886bae950a16a3ff37710fcfc9c29ef14a89e75b2ceec4e9cf35d5876a7896ebc2b512cfb9ecc

View File

@ -0,0 +1,84 @@
Fix the way libtool is used to match standard practice:
a) link ONLY libraries using -rpath $(libdir), not executables
.. this avoids adding an RPATH for $libdir to executables
b) link non-installable test binaries using -no-install
.. only for convenience but should speed up builds slightly(?)
--- subversion-1.12.0/build.conf.linking
+++ subversion-1.12.0/build.conf
@@ -572,7 +572,7 @@
path = subversion/bindings/swig/python/libsvn_swig_py
libs = libsvn_client libsvn_wc libsvn_ra libsvn_delta libsvn_subr
apriconv apr python swig
-link-cmd = $(LINK)
+link-cmd = $(LINK_LIB)
install = swig-py-lib
# need special build rule to include -DSWIGPYTHON
compile-cmd = $(COMPILE_SWIG_PY)
@@ -598,7 +598,7 @@
lang = ruby
path = subversion/bindings/swig/ruby/libsvn_swig_ruby
libs = libsvn_client libsvn_wc libsvn_delta libsvn_subr apriconv apr ruby swig
-link-cmd = $(LINK) $(SWIG_RB_LIBS)
+link-cmd = $(LINK_LIB) $(SWIG_RB_LIBS)
install = swig-rb-lib
# need special build rule to include
compile-cmd = $(COMPILE_SWIG_RB)
@@ -769,6 +769,7 @@
libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr
msvc-static = yes
undefined-lib-symbols = yes
+link-cmd = $(LINK_TEST_LIB)
# ----------------------------------------------------------------------------
# Tests for libsvn_fs_base
--- subversion-1.12.0/build/generator/gen_base.py.linking
+++ subversion-1.12.0/build/generator/gen_base.py
@@ -599,7 +599,7 @@
self.install = options.get('install')
self.compile_cmd = options.get('compile-cmd')
self.sources = options.get('sources', '*.c *.cpp')
- self.link_cmd = options.get('link-cmd', '$(LINK)')
+ self.link_cmd = options.get('link-cmd', '$(LINK_LIB)')
self.external_lib = options.get('external-lib')
self.external_project = options.get('external-project')
@@ -659,6 +659,14 @@
self.msvc_force_static = options.get('msvc-force-static') == 'yes'
+ if self.install in ['test', 'bdb-test', 'sub-test', ]:
+ self.link_cmd = '$(LINK_TEST)'
+ elif self.install in ['bin', 'tools']:
+ self.link_cmd = '$(LINK_EXE)'
+ elif self.link_cmd == '$(LINK_LIB)':
+ raise GenError('ERROR: Unknown executable link type for ' + self.name + \
+ ': ' + self.link_cmd + ' (' + self.install + ')')
+
def add_dependencies(self):
TargetLinked.add_dependencies(self)
--- subversion-1.12.0/Makefile.in.linking
+++ subversion-1.12.0/Makefile.in
@@ -268,11 +268,14 @@
COMPILE_SVNXX = $(LT_COMPILE_CXX) $(SVNXX_INCLUDES) -o $@ -c
COMPILE_SVNXX_TEST = $(LT_COMPILE_CXX) $(SVNXX_INCLUDES) $(BOOST_TEST_CPPFLAGS) -o $@ -c
-LINK = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(CFLAGS) $(LDFLAGS) -rpath $(libdir)
-LINK_LIB = $(LINK) $(LT_SO_VERSION)
-LINK_CXX = $(LIBTOOL) $(LTCXXFLAGS) --mode=link $(CXX) $(LT_LDFLAGS) $(CXXFLAGS) $(LDFLAGS) -rpath $(libdir)
-LINK_CXX_LIB = $(LINK_CXX) $(LT_SO_VERSION)
-LINK_SVNXX_TEST = $(LINK_CXX) $(BOOST_TEST_LDFLAGS)
+LINK = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(CFLAGS) $(LDFLAGS)
+LINK_LIB = $(LINK) $(LT_SO_VERSION) -rpath $(libdir)
+LINK_CXX = $(LIBTOOL) $(LTCXXFLAGS) --mode=link $(CXX) $(LT_LDFLAGS) $(CXXFLAGS) $(LDFLAGS)
+LINK_CXX_LIB = $(LINK_CXX) $(LT_SO_VERSION) -rpath $(libdir)
+LINK_SVNXX_TEST = $(LINK_CXX) $(BOOST_TEST_LDFLAGS) -no-install
+LINK_TEST = $(LINK) -no-install
+LINK_TEST_LIB = $(LINK_TEST) -avoid-version
+LINK_EXE = $(LINK)
# special link rule for mod_dav_svn
LINK_APACHE_MOD = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(CFLAGS) $(LDFLAGS) -rpath $(APACHE_LIBEXECDIR) -avoid-version -module $(APACHE_LDFLAGS) -shared

View File

@ -0,0 +1,14 @@
Suppress gcc 10 warning.
--- subversion-1.14.0/subversion/tests/svn_test.h.testwarn
+++ subversion-1.14.0/subversion/tests/svn_test.h
@@ -128,7 +128,7 @@
return svn_error_createf(SVN_ERR_TEST_FAILED, NULL, \
"Strings not equal\n Expected: '%s'\n Found: '%s'" \
"\n at %s:%d", \
- tst_str2, tst_str1, __FILE__, __LINE__); \
+ tst_str2 ? tst_str2 : "(NULL)", tst_str1 ? tst_str1 : "(NULL)", __FILE__, __LINE__); \
} while(0)
/** Handy macro for testing integer equality.

View File

@ -0,0 +1,30 @@
See upstream dev@subversion thread. Fixes intermittent failure of
javahl tests, particularly reproducible on aarch64.
Message-ID: <11de5f5c-5059-b973-95a1-385e7913a63a@syntevo.com>
From: Alexandr Miloslavskiy
--- subversion-1.14.1/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java.fixjavatests
+++ subversion-1.14.1/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java
@@ -4676,7 +4676,19 @@
// RuntimeException("Test exception") is expected here
}
- tunnelAgent.joinAndTest();
+ // In this test, there is a race condition that sometimes results in
+ // IOException when 'WAIT_TUNNEL' tries to read from a pipe that
+ // already has its read end closed. This is not an error, but
+ // it's hard to distinguish this case from other IOException which
+ // indicate a problem. To reproduce, simply wrap this test's body in
+ // a loop. The workaround is to ignore any detected IOException.
+ //
+ // tunnelAgent.joinAndTest();
+ try {
+ tunnelAgent.join();
+ } catch (InterruptedException e) {
+ e.printStackTrace ();
+ }
}
/**

View File

@ -0,0 +1,14 @@
Use read_file instead of deprecated readfp - removed in Python 3.11
diff -ur subversion-1.14.1/build/generator/gen_base.py subversion-1.14.1-patched/build/generator/gen_base.py
--- subversion-1.14.1/build/generator/gen_base.py 2019-11-04 06:59:36.000000000 +0100
+++ subversion-1.14.1-patched/build/generator/gen_base.py 2021-12-15 14:04:50.041649320 +0100
@@ -76,7 +76,7 @@
# Now read and parse build.conf
parser = configparser.ConfigParser()
- parser.readfp(open(fname))
+ parser.read_file(open(fname))
self.conf = build_path(os.path.abspath(fname))

View File

@ -0,0 +1,14 @@
Fix intermittent failures when "svn add" guesses a near-empty file is binary and hence
the output is different.
--- subversion-1.14.1/subversion/tests/cmdline/svntest/main.py.testnoautoprops
+++ subversion-1.14.1/subversion/tests/cmdline/svntest/main.py
@@ -691,6 +691,7 @@
[miscellany]
interactive-conflicts = false
+enable-magic-file = no
"""
if exclusive_wc_locks:
config_contents += """

View File

@ -0,0 +1,23 @@
Subversion libraries don't get properly versioned so the library
names are always "libsvn_foo-1.so.0.0.0". Provide proper
versioning information to libtool *without* changing the soname
for compatibility with upstream, so on-disk filenames are
unique across different releases.
--- subversion-1.14.2/configure.ac.soversion
+++ subversion-1.14.2/configure.ac
@@ -112,7 +112,12 @@
SVN_APR_MAJOR_VERSION=1
fi
AC_SUBST(SVN_APR_MAJOR_VERSION)
-SVN_LT_SOVERSION="-version-info $svn_lib_ver"
+
+m4_define([svn_ver_minor], m4_bpatsubst(AC_PACKAGE_VERSION, [[0-9]*\.\([0-9]*\)\.[0-9]*], [\1]))
+m4_define([svn_ver_patch], m4_bpatsubst(AC_PACKAGE_VERSION, [[0-9]*\.[0-9]*\.\([0-9]*\)], [\1]))
+svn_ver_current="`expr $svn_lib_ver + svn_ver_minor`"
+
+SVN_LT_SOVERSION="-version-info $svn_ver_current:svn_ver_patch:svn_ver_minor"
AC_SUBST(SVN_LT_SOVERSION)
AC_DEFINE_UNQUOTED(SVN_SOVERSION, $svn_lib_ver,
[Subversion library major verson])

View File

@ -1,47 +0,0 @@
diff -uap subversion-1.7.0/build.conf.rpath subversion-1.7.0/build.conf
--- subversion-1.8.0/build.conf.rpath
+++ subversion-1.8.0/build.conf
@@ -501,7 +501,7 @@ type = swig_lib
lang = python
path = subversion/bindings/swig/python/libsvn_swig_py
libs = libsvn_client libsvn_wc libsvn_ra libsvn_delta libsvn_subr apriconv apr
-link-cmd = $(LINK)
+link-cmd = $(LINK_LIB)
install = swig-py-lib
# need special build rule to include -DSWIGPYTHON
compile-cmd = $(COMPILE_SWIG_PY)
@@ -524,7 +524,7 @@ type = swig_lib
lang = ruby
path = subversion/bindings/swig/ruby/libsvn_swig_ruby
libs = libsvn_client libsvn_wc libsvn_delta libsvn_subr apriconv apr
-link-cmd = $(LINK) $(SWIG_RB_LIBS)
+link-cmd = $(LINK_LIB) $(SWIG_RB_LIBS)
install = swig-rb-lib
# need special build rule to include
compile-cmd = $(COMPILE_SWIG_RB)
--- subversion-1.8.0/build/generator/gen_base.py.rpath
+++ subversion-1.8.0/build/generator/gen_base.py
@@ -514,6 +514,10 @@ class TargetLib(TargetLinked):
self.msvc_fake = options.get('msvc-fake') == 'yes' # has fake target
self.msvc_export = options.get('msvc-export', '').split()
+ ### hmm. this is Makefile-specific
+ if self.link_cmd == '$(LINK)':
+ self.link_cmd = '$(LINK_LIB)'
+
class TargetApacheMod(TargetLib):
def __init__(self, name, options, gen_obj):
--- subversion-1.8.0/Makefile.in.rpath
+++ subversion-1.8.0/Makefile.in
@@ -201,8 +201,8 @@ COMPILE_JAVAHL_JAVAH = $(JAVAH)
# special compilation for files destined for cxxhl
COMPILE_CXXHL_CXX = $(LIBTOOL) $(LTCXXFLAGS) --mode=compile $(COMPILE_CXX) $(LT_CFLAGS) $(CXXHL_INCLUDES) -o $@ -c
-LINK = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(CFLAGS) $(LDFLAGS) -rpath $(libdir)
-LINK_LIB = $(LINK) $(LT_SO_VERSION)
+LINK = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(CFLAGS) $(LDFLAGS)
+LINK_LIB = $(LINK) $(LT_SO_VERSION) -rpath $(libdir)
LINK_CXX = $(LIBTOOL) $(LTCXXFLAGS) --mode=link $(CXX) $(LT_LDFLAGS) $(CXXFLAGS) $(LDFLAGS) -rpath $(libdir)
LINK_CXX_LIB = $(LINK_CXX) $(LT_SO_VERSION)

View File

@ -1,47 +0,0 @@
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
%extend still breaks somehow.
https://github.com/swig/swig/issues/379
--- subversion-1.8.13/subversion/bindings/swig/include/proxy.swg.swigpython
+++ subversion-1.8.13/subversion/bindings/swig/include/proxy.swg
@@ -62,7 +62,7 @@
/* Default code for all wrapped proxy classes in Python */
%define %proxy_pythoncode(TYPE)
-%pythoncode {
+%pythoncode %{
def set_parent_pool(self, parent_pool=None):
"""Create a new proxy object for TYPE"""
import libsvn.core, weakref
@@ -83,13 +83,10 @@
value = _swig_getattr(self, self.__class__, name)
- # If we got back a different object than we have, we need to copy all our
- # metadata into it, so that it looks identical
members = self.__dict__.get("_members")
if members is not None:
_copy_metadata_deep(value, members.get(name))
- # Verify that the new object is good
_assert_valid_deep(value)
return value
@@ -98,13 +95,10 @@
"""Set an attribute on this object"""
self.assert_valid()
- # Save a copy of the object, so that the garbage
- # collector won't kill the object while it's in
- # SWIG-land
self.__dict__.setdefault("_members",{})[name] = value
return _swig_setattr(self, self.__class__, name, value)
-}
+%}
%enddef
/* Define a proxy for wrapping an existing struct */

View File

@ -1,89 +0,0 @@
Link executables using -pie, link test executables using -no-install.
diff -uap subversion-1.9.0/build.conf.pie subversion-1.9.0/build.conf
diff -uap subversion-1.9.0/build.conf.pie subversion-1.9.0/build.conf
diff -uap subversion-1.9.0/build.conf.pie subversion-1.9.0/build.conf
--- subversion-1.9.0/build.conf.pie
+++ subversion-1.9.0/build.conf
@@ -743,7 +743,7 @@ libs = libsvncxxhl libgmock libsvn_subr
sources = tests/*.cpp
install = tests
compile-cmd = $(COMPILE_CXXHL_GMOCK_CXX)
-link-cmd = $(LINK_CXX)
+link-cmd = $(LINK_TEST_CXX)
# ----------------------------------------------------------------------------
@@ -760,7 +760,7 @@ sources = gmock-gtest-all.cc
install = tests
msvc-static = yes
compile-cmd = $(COMPILE_GMOCK_CXX)
-link-cmd = $(LINK_CXX_LIB)
+link-cmd = $(LINK_TEST_CXX_LIB)
# ----------------------------------------------------------------------------
#
@@ -775,6 +775,7 @@ install = test
libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr
msvc-static = yes
undefined-lib-symbols = yes
+link-cmd = $(LINK_TEST_LIB)
# ----------------------------------------------------------------------------
# Tests for libsvn_fs_base
diff -uap subversion-1.9.0/build/generator/gen_base.py.pie subversion-1.9.0/build/generator/gen_base.py
--- subversion-1.9.0/build/generator/gen_base.py.pie
+++ subversion-1.9.0/build/generator/gen_base.py
@@ -585,7 +585,7 @@ class TargetLinked(Target):
self.install = options.get('install')
self.compile_cmd = options.get('compile-cmd')
self.sources = options.get('sources', '*.c *.cpp')
- self.link_cmd = options.get('link-cmd', '$(LINK)')
+ self.link_cmd = options.get('link-cmd', '$(LINK_LIB)')
self.external_lib = options.get('external-lib')
self.external_project = options.get('external-project')
@@ -644,6 +644,14 @@ class TargetExe(TargetLinked):
self.msvc_force_static = options.get('msvc-force-static') == 'yes'
+ if self.install in ['test', 'bdb-test', 'sub-test', ]:
+ self.link_cmd = '$(LINK_TEST)'
+ elif self.link_cmd == '$(LINK_LIB)':
+ # Over-ride the default for TargetLinked.
+ self.link_cmd = '$(LINK_EXE)'
+ elif self.link_cmd not in ['$(LINK_TEST_CXX)', ]:
+ raise GenError('ERROR: Unknown executable link type for ' + self.name + ': ' + self.link_cmd)
+
def add_dependencies(self):
TargetLinked.add_dependencies(self)
diff -uap subversion-1.9.0/Makefile.in.pie subversion-1.9.0/Makefile.in
--- subversion-1.9.0/Makefile.in.pie
+++ subversion-1.9.0/Makefile.in
@@ -259,6 +259,11 @@ LINK = $(LIBTOOL) $(LTFLAGS) --mode=link
LINK_LIB = $(LINK) $(LT_SO_VERSION) -rpath $(libdir)
LINK_CXX = $(LIBTOOL) $(LTCXXFLAGS) --mode=link $(CXX) $(LT_LDFLAGS) $(CXXFLAGS) $(LDFLAGS)
LINK_CXX_LIB = $(LINK_CXX) $(LT_SO_VERSION) -rpath $(libdir)
+LINK_TEST = $(LINK) -no-install
+LINK_TEST_LIB = $(LINK) -avoid-version
+LINK_TEST_CXX_LIB = $(LINK_CXX) -avoid-version
+LINK_EXE = $(LINK) -pie
+LINK_CXX_EXE = $(LINK) -pie
# special link rule for mod_dav_svn
LINK_APACHE_MOD = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(CFLAGS) $(LDFLAGS) -rpath $(APACHE_LIBEXECDIR) -avoid-version -module $(APACHE_LDFLAGS)
@@ -753,10 +758,10 @@ schema-clean:
$(PYTHON) $(top_srcdir)/build/transform_sql.py $< $(top_srcdir)/$@
.c.o:
- $(COMPILE) -o $@ -c $<
+ $(COMPILE) -fPIE -o $@ -c $<
.cpp.o:
- $(COMPILE_CXX) -o $@ -c $<
+ $(COMPILE_CXX) -fPIE -o $@ -c $<
.c.lo:
$(LT_COMPILE) -o $@ -c $<

View File

@ -1,41 +0,0 @@
Only link libraries using -rpath, to avoid unnecessary RPATH tags in executables.
--- subversion-1.9.0/build.conf.rpath
+++ subversion-1.9.0/build.conf
@@ -561,7 +561,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
-link-cmd = $(LINK)
+link-cmd = $(LINK_LIB)
install = swig-py-lib
# need special build rule to include -DSWIGPYTHON
compile-cmd = $(COMPILE_SWIG_PY)
@@ -586,7 +586,7 @@ type = swig_lib
lang = ruby
path = subversion/bindings/swig/ruby/libsvn_swig_ruby
libs = libsvn_client libsvn_wc libsvn_delta libsvn_subr apriconv apr ruby swig
-link-cmd = $(LINK) $(SWIG_RB_LIBS)
+link-cmd = $(LINK_LIB) $(SWIG_RB_LIBS)
install = swig-rb-lib
# need special build rule to include
compile-cmd = $(COMPILE_SWIG_RB)
diff -uap subversion-1.9.0/Makefile.in.rpath subversion-1.9.0/Makefile.in
--- subversion-1.9.0/Makefile.in.rpath
+++ subversion-1.9.0/Makefile.in
@@ -255,10 +255,10 @@ COMPILE_CXXHL_CXX = $(LT_COMPILE_CXX) $(
COMPILE_GMOCK_CXX = $(LT_COMPILE_CXX_NOWARN) $(GMOCK_INCLUDES) -o $@ -c
COMPILE_CXXHL_GMOCK_CXX = $(LT_COMPILE_CXX) $(CXXHL_INCLUDES) $(GMOCK_INCLUDES) -o $@ -c
-LINK = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(CFLAGS) $(LDFLAGS) -rpath $(libdir)
-LINK_LIB = $(LINK) $(LT_SO_VERSION)
-LINK_CXX = $(LIBTOOL) $(LTCXXFLAGS) --mode=link $(CXX) $(LT_LDFLAGS) $(CXXFLAGS) $(LDFLAGS) -rpath $(libdir)
-LINK_CXX_LIB = $(LINK_CXX) $(LT_SO_VERSION)
+LINK = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(CFLAGS) $(LDFLAGS)
+LINK_LIB = $(LINK) $(LT_SO_VERSION) -rpath $(libdir)
+LINK_CXX = $(LIBTOOL) $(LTCXXFLAGS) --mode=link $(CXX) $(LT_LDFLAGS) $(CXXFLAGS) $(LDFLAGS)
+LINK_CXX_LIB = $(LINK_CXX) $(LT_SO_VERSION) -rpath $(libdir)
# special link rule for mod_dav_svn
LINK_APACHE_MOD = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(CFLAGS) $(LDFLAGS) -rpath $(APACHE_LIBEXECDIR) -avoid-version -module $(APACHE_LDFLAGS)

View File

@ -1,21 +0,0 @@
--- subversion-1.9.4/build/ac-macros/kwallet.m4.orig 2016-05-08 14:14:47.603122825 +0100
+++ subversion-1.9.4/build/ac-macros/kwallet.m4 2016-05-08 14:16:56.509192769 +0100
@@ -68,15 +68,15 @@
fi
done
qt_include_dirs="`$PKG_CONFIG --cflags-only-I QtCore QtDBus QtGui`"
- kde_incdir="`$KDE4_CONFIG --install include`"
- SVN_KWALLET_INCLUDES="$DBUS_CPPFLAGS $qt_include_dirs -I$kde_incdir"
+ kde_include_dirs="`$KDE4_CONFIG --path include`"
+ SVN_KWALLET_INCLUDES="$DBUS_CPPFLAGS $qt_include_dirs -I$kde_include_dirs"
qt_libs_other_options="`$PKG_CONFIG --libs-only-other QtCore QtDBus QtGui`"
SVN_KWALLET_LIBS="$DBUS_LIBS -lQtCore -lQtDBus -lQtGui -lkdecore -lkdeui $qt_libs_other_options"
CXXFLAGS="$CXXFLAGS $SVN_KWALLET_INCLUDES"
LIBS="$LIBS $SVN_KWALLET_LIBS"
qt_lib_dirs="`$PKG_CONFIG --libs-only-L QtCore QtDBus QtGui`"
kde_libdir="`$KDE4_CONFIG --install lib`"
- LDFLAGS="$old_LDFLAGS `SVN_REMOVE_STANDARD_LIB_DIRS($qt_lib_dirs -L$kde_libdir)`"
+ LDFLAGS="$old_LDFLAGS `SVN_REMOVE_STANDARD_LIB_DIRS($qt_lib_dirs -L$libdir/kde4/devel)`"
AC_LANG(C++)
AC_LINK_IFELSE([AC_LANG_SOURCE([[
#include <kwallet.h>

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,7 @@
[Unit]
Description=Subversion protocol daemon
After=syslog.target network.target
Documentation=man:svnserve(8)
[Service]
Type=forking