Compare commits
7 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
7298c1b936 | ||
|
5c5d45daa5 | ||
|
9a4d3fc3fd | ||
|
f35e3f08ff | ||
|
cc34ecfca0 | ||
|
da8ac45851 | ||
|
177b3ae9ee |
36
.gitignore
vendored
36
.gitignore
vendored
@ -1,3 +1,33 @@
|
|||||||
/subversion-*.tar.bz2
|
subversion-1.6.12.tar.bz2
|
||||||
/subversion-1\.[0-9]*\.[0-9]*/
|
*.rpm
|
||||||
/results_subversion/
|
/subversion-1.6.13.tar.bz2.asc
|
||||||
|
/subversion-1.6.13.tar.bz2
|
||||||
|
/subversion-1.6.15.tar.bz2
|
||||||
|
/subversion-1.6.16.tar.bz2
|
||||||
|
/subversion-1.6.17.tar.bz2
|
||||||
|
/subversion-1.7.0.tar.bz2
|
||||||
|
/subversion-1.7.0
|
||||||
|
/clog
|
||||||
|
/subversion-1.7.1.tar.bz2
|
||||||
|
/subversion-1.7.2.tar.bz2
|
||||||
|
/subversion-1.7.3.tar.bz2
|
||||||
|
/subversion
|
||||||
|
/subversion-1.?.?
|
||||||
|
/*.asc
|
||||||
|
/subversion-1.?.??
|
||||||
|
/subversion-1.7.4.tar.bz2
|
||||||
|
/subversion-1.7.5.tar.bz2
|
||||||
|
/subversion-1.7.6.tar.bz2
|
||||||
|
/subversion-1.7.7.tar.bz2
|
||||||
|
/subversion-1.7.8.tar.bz2
|
||||||
|
/subversion-1.7.9.tar.bz2
|
||||||
|
/subversion-1.7.10.tar.bz2
|
||||||
|
/subversion-1.8.0.tar.bz2
|
||||||
|
/subversion-1.8.1.tar.bz2
|
||||||
|
/subversion-1.8.3.tar.bz2
|
||||||
|
/subversion-1.8.4.tar.bz2
|
||||||
|
/subversion-1.8.5.tar.bz2
|
||||||
|
/subversion-1.8.8.tar.bz2
|
||||||
|
/subversion-1.8.9.tar.bz2
|
||||||
|
/subversion-1.8.10.tar.bz2
|
||||||
|
/subversion-1.8.11.tar.bz2
|
||||||
|
@ -1,27 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
version=$1
|
|
||||||
|
|
||||||
echo "This update includes the latest stable release of _Apache Subversion_, version **${1}**".
|
|
||||||
echo
|
|
||||||
|
|
||||||
curl --silent -n "http://svn.apache.org/repos/asf/subversion/tags/$1/CHANGES" | \
|
|
||||||
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/;
|
|
||||||
s/\(.*visible changes.*:\)$/### \1/;
|
|
||||||
/^ *$/d;
|
|
||||||
/Windows/d
|
|
||||||
/^Version /d
|
|
||||||
s,(r1.*),,g
|
|
||||||
s,\(@[0-9]*\),\\\1,g
|
|
||||||
p;
|
|
||||||
}
|
|
||||||
" -
|
|
141
psvn.el
141
psvn.el
@ -1,5 +1,5 @@
|
|||||||
;;; psvn.el --- Subversion interface for emacs
|
;;; psvn.el --- Subversion interface for emacs
|
||||||
;; Copyright (C) 2002-2015 by Stefan Reichoer
|
;; Copyright (C) 2002-2012 by Stefan Reichoer
|
||||||
|
|
||||||
;; Author: Stefan Reichoer <stefan@xsteve.at>
|
;; Author: Stefan Reichoer <stefan@xsteve.at>
|
||||||
;; Note: This version is currently not under svn control
|
;; Note: This version is currently not under svn control
|
||||||
@ -241,7 +241,7 @@
|
|||||||
|
|
||||||
;;; Code:
|
;;; Code:
|
||||||
|
|
||||||
(defconst svn-psvn-revision "2015-07-20, 21:42:00" "The revision date of psvn.")
|
(defconst svn-psvn-revision "2012-03-26, 21:23:49" "The revision date of psvn.")
|
||||||
|
|
||||||
|
|
||||||
(require 'easymenu)
|
(require 'easymenu)
|
||||||
@ -671,7 +671,7 @@ See psvn.el for an example function.")
|
|||||||
(defvar svn-process-cmd nil)
|
(defvar svn-process-cmd nil)
|
||||||
(defvar svn-status-info nil)
|
(defvar svn-status-info nil)
|
||||||
(defvar svn-status-filename-to-buffer-position-cache (make-hash-table :test 'equal :weakness t))
|
(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 as a plist.")
|
(defvar svn-status-base-info nil "The parsed result from the svn info command.")
|
||||||
(defvar svn-status-initial-window-configuration nil)
|
(defvar svn-status-initial-window-configuration nil)
|
||||||
(defvar svn-status-default-column 23)
|
(defvar svn-status-default-column 23)
|
||||||
(defvar svn-status-default-revision-width 4)
|
(defvar svn-status-default-revision-width 4)
|
||||||
@ -703,14 +703,13 @@ This is nil if the log entry is for a new commit.")
|
|||||||
(defvar svn-pre-run-mode-line-process nil)
|
(defvar svn-pre-run-mode-line-process nil)
|
||||||
(defvar svn-arg-file-content nil)
|
(defvar svn-arg-file-content nil)
|
||||||
(defvar svn-status-temp-dir
|
(defvar svn-status-temp-dir
|
||||||
(file-name-as-directory
|
|
||||||
(expand-file-name
|
(expand-file-name
|
||||||
(or
|
(or
|
||||||
(when (boundp 'temporary-file-directory) temporary-file-directory) ;emacs
|
(when (boundp 'temporary-file-directory) temporary-file-directory) ;emacs
|
||||||
;; XEmacs 21.4.17 can return "/tmp/kalle" from (temp-directory).
|
;; 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.
|
;; `file-name-as-directory' adds a slash so we can append a file name.
|
||||||
(when (fboundp 'temp-directory) (temp-directory))
|
(when (fboundp 'temp-directory) (file-name-as-directory (temp-directory)))
|
||||||
"/tmp/"))) "The directory that is used to store temporary files for psvn.")
|
"/tmp/")) "The directory that is used to store temporary files for psvn.")
|
||||||
;; Because `temporary-file-directory' is not a risky local variable in
|
;; 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.
|
;; GNU Emacs 22.0.51, we don't mark `svn-status-temp-dir' as such either.
|
||||||
(defvar svn-temp-suffix (make-temp-name "."))
|
(defvar svn-temp-suffix (make-temp-name "."))
|
||||||
@ -1119,18 +1118,12 @@ inside loops."
|
|||||||
(defun svn-checkout (repos-url path)
|
(defun svn-checkout (repos-url path)
|
||||||
"Run svn checkout REPOS-URL PATH."
|
"Run svn checkout REPOS-URL PATH."
|
||||||
(interactive (list (read-string "Checkout from repository Url: ")
|
(interactive (list (read-string "Checkout from repository Url: ")
|
||||||
(expand-file-name
|
(svn-read-directory-name "Checkout to directory: ")))
|
||||||
(svn-read-directory-name "Checkout to directory: "))))
|
|
||||||
(svn-run t t 'checkout "checkout" repos-url (expand-file-name path)))
|
(svn-run t t 'checkout "checkout" repos-url (expand-file-name path)))
|
||||||
|
|
||||||
;;;###autoload (defalias 'svn-examine 'svn-status)
|
;;;###autoload (defalias 'svn-examine 'svn-status)
|
||||||
(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
|
;;;###autoload
|
||||||
(defun svn-status (dir &optional arg)
|
(defun svn-status (dir &optional arg)
|
||||||
"Examine the status of Subversion working copy in directory DIR.
|
"Examine the status of Subversion working copy in directory DIR.
|
||||||
@ -1140,17 +1133,20 @@ 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
|
asks svn to connect to the repository and check to see if there are updates
|
||||||
there.
|
there.
|
||||||
|
|
||||||
If DIR is not an SVN working copy, examine if there is CVS and run
|
If there is no .svn directory, examine if there is CVS and run
|
||||||
`cvs-examine'. Otherwise ask if to run `dired'."
|
`cvs-examine'. Otherwise ask if to run `dired'."
|
||||||
(interactive (list (expand-file-name
|
(interactive (list (svn-read-directory-name "SVN status directory: "
|
||||||
(svn-read-directory-name "SVN status directory: "
|
nil default-directory nil)
|
||||||
nil default-directory nil))
|
|
||||||
current-prefix-arg))
|
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
|
(cond
|
||||||
((svn-version-controlled-dir-p (expand-file-name dir))
|
((file-directory-p svn-dir)
|
||||||
(setq arg (svn-status-possibly-negate-meaning-of-arg arg 'svn-status))
|
(setq arg (svn-status-possibly-negate-meaning-of-arg arg 'svn-status))
|
||||||
(svn-status-1 dir arg))
|
(svn-status-1 dir arg))
|
||||||
((and (file-directory-p (concat (file-name-as-directory dir) "CVS"))
|
((and (file-directory-p cvs-dir)
|
||||||
(fboundp 'cvs-examine))
|
(fboundp 'cvs-examine))
|
||||||
(cvs-examine dir nil))
|
(cvs-examine dir nil))
|
||||||
(t
|
(t
|
||||||
@ -1163,7 +1159,7 @@ If DIR is not an SVN working copy, examine if there is CVS and run
|
|||||||
"Run dired instead? ")
|
"Run dired instead? ")
|
||||||
dir
|
dir
|
||||||
(svn-wc-adm-dir-name)))
|
(svn-wc-adm-dir-name)))
|
||||||
(dired dir)))))
|
(dired dir))))))
|
||||||
|
|
||||||
(defvar svn-status-display-new-status-buffer nil)
|
(defvar svn-status-display-new-status-buffer nil)
|
||||||
(defun svn-status-1 (dir &optional arg)
|
(defun svn-status-1 (dir &optional arg)
|
||||||
@ -1199,6 +1195,7 @@ If DIR is not an SVN working copy, examine if there is CVS and run
|
|||||||
(set-buffer proc-buf)
|
(set-buffer proc-buf)
|
||||||
(setq default-directory dir
|
(setq default-directory dir
|
||||||
svn-status-remote (when arg t))
|
svn-status-remote (when arg t))
|
||||||
|
(set-buffer cur-buf)
|
||||||
(if want-edit
|
(if want-edit
|
||||||
(let ((svn-status-edit-svn-command t))
|
(let ((svn-status-edit-svn-command t))
|
||||||
(svn-run t t 'status "status" svn-status-default-status-arguments status-option))
|
(svn-run t t 'status "status" svn-status-default-status-arguments status-option))
|
||||||
@ -3092,27 +3089,32 @@ non-interactive use."
|
|||||||
(defun svn-status-parse-info-result ()
|
(defun svn-status-parse-info-result ()
|
||||||
"Parse the result from the svn info command.
|
"Parse the result from the svn info command.
|
||||||
Put the found values in `svn-status-base-info'."
|
Put the found values in `svn-status-base-info'."
|
||||||
|
(let ((url)
|
||||||
|
(repository-root)
|
||||||
|
(last-changed-author))
|
||||||
(save-excursion
|
(save-excursion
|
||||||
(setq svn-status-base-info ())
|
|
||||||
(set-buffer svn-process-buffer-name)
|
(set-buffer svn-process-buffer-name)
|
||||||
(goto-char (point-min))
|
(goto-char (point-min))
|
||||||
(let ((case-fold-search t)
|
(let ((case-fold-search t))
|
||||||
(key)
|
(search-forward "url: ")
|
||||||
(val))
|
(setq url (buffer-substring-no-properties (point) (svn-point-at-eol)))
|
||||||
(loop while (looking-at "\\(.*?\\)\\s-*:\\s-*\\(.*\\)$")
|
(when (search-forward "repository root: " nil t)
|
||||||
do (setq key (intern (concat ":" (downcase (subst-char-in-string ?\ ?- (match-string 1))))))
|
(setq repository-root (buffer-substring-no-properties (point) (svn-point-at-eol))))
|
||||||
(setq val (match-string 2))
|
(when (search-forward "last changed author: " nil t)
|
||||||
(setq svn-status-base-info (plist-put svn-status-base-info
|
(setq last-changed-author (buffer-substring-no-properties (point) (svn-point-at-eol))))))
|
||||||
key val))
|
(setq svn-status-base-info `((url ,url) (repository-root ,repository-root) (last-changed-author ,last-changed-author)))))
|
||||||
until (< 0 (forward-line))))))
|
|
||||||
|
|
||||||
(defun svn-status-base-info->url ()
|
(defun svn-status-base-info->url ()
|
||||||
"Extract the url part from `svn-status-base-info'."
|
"Extract the url part from `svn-status-base-info'."
|
||||||
(plist-get svn-status-base-info :url))
|
(if svn-status-base-info
|
||||||
|
(cadr (assoc 'url svn-status-base-info))
|
||||||
|
""))
|
||||||
|
|
||||||
(defun svn-status-base-info->repository-root ()
|
(defun svn-status-base-info->repository-root ()
|
||||||
"Extract the repository-root part from `svn-status-base-info'."
|
"Extract the repository-root part from `svn-status-base-info'."
|
||||||
(plist-get svn-status-base-info :repository-root))
|
(if svn-status-base-info
|
||||||
|
(cadr (assoc 'repository-root svn-status-base-info))
|
||||||
|
""))
|
||||||
|
|
||||||
(defun svn-status-checkout-prefix-path ()
|
(defun svn-status-checkout-prefix-path ()
|
||||||
"When only a part of the svn repository is checked out, return the file path for this checkout."
|
"When only a part of the svn repository is checked out, return the file path for this checkout."
|
||||||
@ -4055,10 +4057,9 @@ 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))))
|
(svn-status-line-info->full-path (car marked-files))))
|
||||||
;;TODO: (when file-exists-p but-no-dir-p dest (error "%s already exists" dest))
|
;;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.
|
;;multiple files selected, so prompt for existing directory to mv them into.
|
||||||
(setq dest (expand-file-name
|
(setq dest (svn-read-directory-name
|
||||||
(svn-read-directory-name
|
|
||||||
(format "%s %d files to directory: " manyprompt num-of-files)
|
(format "%s %d files to directory: " manyprompt num-of-files)
|
||||||
(svn-status-directory-containing-point t) nil t)))
|
(svn-status-directory-containing-point t) nil t))
|
||||||
(unless (file-directory-p dest)
|
(unless (file-directory-p dest)
|
||||||
(error "%s is not a directory" dest)))
|
(error "%s is not a directory" dest)))
|
||||||
(when (string= dest "")
|
(when (string= dest "")
|
||||||
@ -5812,6 +5813,9 @@ Currently is the output from the svn update command known."
|
|||||||
"Toggle svn blame minor mode.
|
"Toggle svn blame minor mode.
|
||||||
With ARG, turn svn blame minor mode on if ARG is positive, off otherwise.
|
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:
|
Key bindings:
|
||||||
\\{svn-blame-mode-map}"
|
\\{svn-blame-mode-map}"
|
||||||
(interactive "P")
|
(interactive "P")
|
||||||
@ -5841,12 +5845,12 @@ The current buffer must contain a valid output from svn blame"
|
|||||||
;; (when (overlay-get ov 'svn-blame-line-info)
|
;; (when (overlay-get ov 'svn-blame-line-info)
|
||||||
;; (delete-overlay ov)))
|
;; (delete-overlay ov)))
|
||||||
(while (and (not (eobp)) (< (point) limit))
|
(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)))
|
(setq ov (make-overlay (point) (point)))
|
||||||
(overlay-put ov 'svn-blame-line-info t)
|
(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 'before-string (propertize s 'face 'svn-status-blame-rev-number-face))
|
||||||
(overlay-put ov 'rev-info (delete "" (split-string s " ")))
|
(overlay-put ov 'rev-info (delete "" (split-string s " ")))
|
||||||
|
(delete-region (svn-point-at-bol) (+ (svn-point-at-bol) info-end-col))
|
||||||
(forward-line)
|
(forward-line)
|
||||||
(setq line (1+ line)))))
|
(setq line (1+ line)))))
|
||||||
(let* ((buf-name (format "*svn-blame: %s <%s>*"
|
(let* ((buf-name (format "*svn-blame: %s <%s>*"
|
||||||
@ -6016,12 +6020,18 @@ You can send raw data to the process via \\[svn-process-send-string]."
|
|||||||
(with-current-buffer (get-buffer-create svn-process-buffer-name)
|
(with-current-buffer (get-buffer-create svn-process-buffer-name)
|
||||||
(setq old-process-default-dir default-directory)
|
(setq old-process-default-dir default-directory)
|
||||||
(setq default-directory directory)) ;; update the default-directory for the *svn-process* buffer
|
(setq default-directory directory)) ;; update the default-directory for the *svn-process* buffer
|
||||||
(svn-status-parse-info t)
|
(svn-run nil t 'parse-info "info" ".")
|
||||||
(or (plist-get svn-status-base-info :repository-root)
|
(with-current-buffer svn-process-buffer-name
|
||||||
(if (plist-get svn-status-base-info :repository-uuid)
|
;; (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)
|
||||||
(concat "Svn Repo UUID: " (plist-get svn-status-base-info :repository-uuid))
|
(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)
|
||||||
(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."
|
(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)))))
|
default-directory)
|
||||||
|
(concat "Svn Repo UUID: " (buffer-substring-no-properties (point) (svn-point-at-eol)))))))))
|
||||||
|
|
||||||
(defun svn-status-base-dir (&optional start-directory)
|
(defun svn-status-base-dir (&optional start-directory)
|
||||||
"Find the svn root directory for the current working copy.
|
"Find the svn root directory for the current working copy.
|
||||||
@ -6033,48 +6043,14 @@ Return nil, if not in a svn working copy."
|
|||||||
base-dir
|
base-dir
|
||||||
;; (message "calculating base-dir for %s" start-dir)
|
;; (message "calculating base-dir for %s" start-dir)
|
||||||
(svn-compute-svn-client-version)
|
(svn-compute-svn-client-version)
|
||||||
;; (message "repository-root: %s start-dir: %s" repository-root start-dir)
|
(let* ((base-dir 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))
|
(repository-root (svn-status-repo-for-path base-dir))
|
||||||
(dot-svn-dir (concat base-dir (svn-wc-adm-dir-name)))
|
(dot-svn-dir (concat base-dir (svn-wc-adm-dir-name)))
|
||||||
(in-tree (and repository-root (file-exists-p dot-svn-dir)))
|
(in-tree (and repository-root (file-exists-p dot-svn-dir)))
|
||||||
(dir-below (expand-file-name base-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))
|
(while (when (and dir-below (file-exists-p dot-svn-dir))
|
||||||
(setq base-dir (file-name-directory dot-svn-dir))
|
(setq base-dir (file-name-directory dot-svn-dir))
|
||||||
(string-match "\\(.+/\\).+/" dir-below)
|
(string-match "\\(.+/\\).+/" dir-below)
|
||||||
@ -6086,7 +6062,10 @@ This function is used for svn clients version 1.6 and below."
|
|||||||
(if (string= (svn-status-repo-for-path dir-below) repository-root)
|
(if (string= (svn-status-repo-for-path dir-below) repository-root)
|
||||||
(setq dot-svn-dir (concat dir-below (svn-wc-adm-dir-name)))
|
(setq dot-svn-dir (concat dir-below (svn-wc-adm-dir-name)))
|
||||||
(setq dir-below nil)))))
|
(setq dir-below nil)))))
|
||||||
(and in-tree base-dir)))
|
(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))))
|
||||||
|
|
||||||
(defun svn-status-base-dir-for-ancient-svn-client (&optional start-directory)
|
(defun svn-status-base-dir-for-ancient-svn-client (&optional start-directory)
|
||||||
"Find the svn root directory for the current working copy.
|
"Find the svn root directory for the current working copy.
|
||||||
|
53
pullrev.sh
53
pullrev.sh
@ -1,53 +0,0 @@
|
|||||||
#!/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}"
|
|
3
sources
3
sources
@ -1 +1,2 @@
|
|||||||
SHA512 (subversion-1.14.2.tar.bz2) = 20ada4688ca07d9fb8da4b7d53b5084568652a3b9418c65e688886bae950a16a3ff37710fcfc9c29ef14a89e75b2ceec4e9cf35d5876a7896ebc2b512cfb9ecc
|
3068256761b40863df96128834d6b71b subversion-1.8.10.tar.bz2
|
||||||
|
766a89bbbb388f8eb76166672d3b9e49 subversion-1.8.11.tar.bz2
|
||||||
|
@ -1,84 +0,0 @@
|
|||||||
|
|
||||||
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
|
|
@ -1,14 +0,0 @@
|
|||||||
|
|
||||||
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.
|
|
@ -1,30 +0,0 @@
|
|||||||
|
|
||||||
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 ();
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
@ -1,14 +0,0 @@
|
|||||||
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))
|
|
||||||
|
|
@ -1,14 +0,0 @@
|
|||||||
|
|
||||||
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 += """
|
|
@ -1,23 +0,0 @@
|
|||||||
|
|
||||||
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])
|
|
26
subversion-1.8.0-kwallet.patch
Normal file
26
subversion-1.8.0-kwallet.patch
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
|
||||||
|
The first half of this is certainly upstream-worthy, but the second half is presumably
|
||||||
|
some Fedora-specific KDE packaging thing. It's not obvious how to get
|
||||||
|
kde4-config to report the directory which contains the .so files.
|
||||||
|
|
||||||
|
--- subversion-1.8.0/build/ac-macros/kwallet.m4.kwallet
|
||||||
|
+++ subversion-1.8.0/build/ac-macros/kwallet.m4
|
||||||
|
@@ -63,15 +63,15 @@ AC_DEFUN(SVN_LIB_KWALLET,
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
qt_include_dirs="`$PKG_CONFIG --cflags-only-I QtCore QtDBus QtGui`"
|
||||||
|
- kde_dir="`$KDE4_CONFIG --prefix`"
|
||||||
|
- SVN_KWALLET_INCLUDES="$DBUS_CPPFLAGS $qt_include_dirs -I$kde_dir/include"
|
||||||
|
+ kde_include_dirs="-I`$KDE4_CONFIG --path include`"
|
||||||
|
+ SVN_KWALLET_INCLUDES="$DBUS_CPPFLAGS $qt_include_dirs $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_lib_suffix="`$KDE4_CONFIG --libsuffix`"
|
||||||
|
- LDFLAGS="$old_LDFLAGS `SVN_REMOVE_STANDARD_LIB_DIRS($qt_lib_dirs -L$kde_dir/lib$kde_lib_suffix)`"
|
||||||
|
+ 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>
|
56
subversion-1.8.0-pie.patch
Normal file
56
subversion-1.8.0-pie.patch
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
diff -uap subversion-1.7.0/build/generator/gen_base.py.pie subversion-1.7.0/build/generator/gen_base.py
|
||||||
|
--- subversion-1.8.0/build/generator/gen_base.py.pie
|
||||||
|
+++ subversion-1.8.0/build/generator/gen_base.py
|
||||||
|
@@ -409,7 +409,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')
|
||||||
|
@@ -465,6 +465,11 @@ class TargetExe(TargetLinked):
|
||||||
|
self.manpages = options.get('manpages', '')
|
||||||
|
self.testing = options.get('testing')
|
||||||
|
|
||||||
|
+ if self.install == 'test' or self.install == 'bdb-test':
|
||||||
|
+ self.link_cmd = '$(LINK_TEST)'
|
||||||
|
+ else:
|
||||||
|
+ self.link_cmd = '$(LINK_EXE)'
|
||||||
|
+
|
||||||
|
def add_dependencies(self):
|
||||||
|
TargetLinked.add_dependencies(self)
|
||||||
|
|
||||||
|
@@ -515,8 +520,8 @@ class TargetLib(TargetLinked):
|
||||||
|
self.msvc_export = options.get('msvc-export', '').split()
|
||||||
|
|
||||||
|
### hmm. this is Makefile-specific
|
||||||
|
- if self.link_cmd == '$(LINK)':
|
||||||
|
- self.link_cmd = '$(LINK_LIB)'
|
||||||
|
+ if self.install == 'test':
|
||||||
|
+ self.link_cmd = '$(LINK_TEST_LIB)'
|
||||||
|
|
||||||
|
class TargetApacheMod(TargetLib):
|
||||||
|
|
||||||
|
--- subversion-1.8.0/Makefile.in.pie
|
||||||
|
+++ subversion-1.8.0/Makefile.in
|
||||||
|
@@ -203,6 +203,9 @@ COMPILE_CXXHL_CXX = $(LIBTOOL) $(LTCXXFL
|
||||||
|
|
||||||
|
LINK = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(CFLAGS) $(LDFLAGS)
|
||||||
|
LINK_LIB = $(LINK) $(LT_SO_VERSION) -rpath $(libdir)
|
||||||
|
+LINK_TEST = $(LINK) -no-install
|
||||||
|
+LINK_TEST_LIB = $(LINK) -avoid-version
|
||||||
|
+LINK_EXE = $(LINK) -pie
|
||||||
|
LINK_CXX = $(LIBTOOL) $(LTCXXFLAGS) --mode=link $(CXX) $(LT_LDFLAGS) $(CXXFLAGS) $(LDFLAGS) -rpath $(libdir)
|
||||||
|
LINK_CXX_LIB = $(LINK_CXX) $(LT_SO_VERSION)
|
||||||
|
|
||||||
|
@@ -676,7 +679,7 @@ 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 $<
|
47
subversion-1.8.0-rpath.patch
Normal file
47
subversion-1.8.0-rpath.patch
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
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)
|
||||||
|
|
1310
subversion.spec
1310
subversion.spec
File diff suppressed because it is too large
Load Diff
@ -1,13 +1,11 @@
|
|||||||
[Unit]
|
[Unit]
|
||||||
Description=Subversion protocol daemon
|
Description=Subversion protocol daemon
|
||||||
After=syslog.target network.target
|
After=syslog.target network.target
|
||||||
Documentation=man:svnserve(8)
|
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
Type=forking
|
Type=forking
|
||||||
EnvironmentFile=/etc/sysconfig/svnserve
|
EnvironmentFile=/etc/sysconfig/svnserve
|
||||||
ExecStart=/usr/bin/svnserve --daemon --pid-file=/run/svnserve/svnserve.pid $OPTIONS
|
ExecStart=/usr/bin/svnserve --daemon --pid-file=/run/svnserve/svnserve.pid $OPTIONS
|
||||||
PrivateTmp=yes
|
|
||||||
|
|
||||||
[Install]
|
[Install]
|
||||||
WantedBy=multi-user.target
|
WantedBy=multi-user.target
|
||||||
|
Loading…
Reference in New Issue
Block a user