diff --git a/.gitignore b/.gitignore index 30b9a0f..119e105 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,5 @@ -git-1.5.5.6.tar.gz +*~ +*.rpm +*.tar.bz2 +/.build*.log +/git-*/ diff --git a/CVE-2008-5517.patch b/CVE-2008-5517.patch deleted file mode 100644 index a03992c..0000000 --- a/CVE-2008-5517.patch +++ /dev/null @@ -1,75 +0,0 @@ -From 516381d50ba7acb66f260461f4d566ab9b6df107 Mon Sep 17 00:00:00 2001 -From: Lea Wiemann -Date: Tue, 17 Jun 2008 23:46:35 +0200 -Subject: [PATCH] gitweb: quote commands properly when calling the shell - -This eliminates the function git_cmd_str, which was used for composing -command lines, and adds a quote_command function, which quotes all of -its arguments (as in quote.c). - -Signed-off-by: Lea Wiemann -Signed-off-by: Junio C Hamano ---- - gitweb/gitweb.perl | 24 ++++++++++++++---------- - 1 files changed, 14 insertions(+), 10 deletions(-) - -diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl -index 4de9647..d7ee267 100755 ---- a/gitweb/gitweb.perl -+++ b/gitweb/gitweb.perl -@@ -1500,9 +1500,13 @@ sub git_cmd { - return $GIT, '--git-dir='.$git_dir; - } - --# returns path to the core git executable and the --git-dir parameter as string --sub git_cmd_str { -- return join(' ', git_cmd()); -+# quote the given arguments for passing them to the shell -+# quote_command("command", "arg 1", "arg with ' and ! characters") -+# => "'command' 'arg 1' 'arg with '\'' and '\!' characters'" -+# Try to avoid using this function wherever possible. -+sub quote_command { -+ return join(' ', -+ map( { my $a = $_; $a =~ s/(['!])/'\\$1'/g; "'$a'" } @_ )); - } - - # get HEAD ref of given project as hash -@@ -4633,7 +4637,6 @@ sub git_snapshot { - $hash = git_get_head_hash($project); - } - -- my $git_command = git_cmd_str(); - my $name = $project; - $name =~ s,([^/])/*\.git$,$1,; - $name = basename($name); -@@ -4641,11 +4644,12 @@ sub git_snapshot { - $name =~ s/\047/\047\\\047\047/g; - my $cmd; - $filename .= "-$hash$known_snapshot_formats{$format}{'suffix'}"; -- $cmd = "$git_command archive " . -- "--format=$known_snapshot_formats{$format}{'format'} " . -- "--prefix=\'$name\'/ $hash"; -+ $cmd = quote_command( -+ git_cmd(), 'archive', -+ "--format=$known_snapshot_formats{$format}{'format'}", -+ "--prefix=$name/", $hash); - if (exists $known_snapshot_formats{$format}{'compressor'}) { -- $cmd .= ' | ' . join ' ', @{$known_snapshot_formats{$format}{'compressor'}}; -+ $cmd .= ' | ' . quote_command(@{$known_snapshot_formats{$format}{'compressor'}}); - } - - print $cgi->header( -@@ -4858,8 +4862,8 @@ sub git_object { - if ($hash || ($hash_base && !defined $file_name)) { - my $object_id = $hash || $hash_base; - -- my $git_command = git_cmd_str(); -- open my $fd, "-|", "$git_command cat-file -t $object_id 2>/dev/null" -+ open my $fd, "-|", quote_command( -+ git_cmd(), 'cat-file', '-t', $object_id) . ' 2> /dev/null' - or die_error('404 Not Found', "Object does not exist"); - $type = <$fd>; - chomp $type; --- -1.6.1 - diff --git a/git-1.5-gitweb-home-link.patch b/git-1.5-gitweb-home-link.patch index cd36563..74c8390 100644 --- a/git-1.5-gitweb-home-link.patch +++ b/git-1.5-gitweb-home-link.patch @@ -1,7 +1,8 @@ ---- git-1.5.0.6/gitweb/gitweb.perl~ 2007-03-30 01:37:05.000000000 +0100 -+++ git-1.5.0.6/gitweb/gitweb.perl 2007-05-07 08:31:37.000000000 +0100 -@@ -39,7 +39,7 @@ our $projectroot = "++GITWEB_PROJECTROOT - our $home_link = $my_uri || "/"; +diff -up git-1.7.2/gitweb/gitweb.perl.orig git-1.7.2/gitweb/gitweb.perl +--- git-1.7.2/gitweb/gitweb.perl.orig 2010-07-21 23:35:25.000000000 +0200 ++++ git-1.7.2/gitweb/gitweb.perl 2010-07-22 10:49:50.385707086 +0200 +@@ -79,7 +79,7 @@ our $projectroot = "++GITWEB_PROJECTROOT + our $project_maxdepth = "++GITWEB_PROJECT_MAXDEPTH++"; # string of the home link on top of all pages -our $home_link_str = "++GITWEB_HOME_LINK_STR++"; diff --git a/git-1.5.5.6-daemon-extra-args.patch b/git-1.5.5.6-daemon-extra-args.patch deleted file mode 100644 index 15e0ec0..0000000 --- a/git-1.5.5.6-daemon-extra-args.patch +++ /dev/null @@ -1,114 +0,0 @@ -From 0fa027ad52fc9fe886875463fed2e31985a882d9 Mon Sep 17 00:00:00 2001 -From: Shawn O. Pearce -Date: Thu, 4 Jun 2009 18:33:32 -0700 -Subject: [PATCH] daemon: Strictly parse the "extra arg" part of the command - -This is a backport of upstream commit 73bb33a. - -Since 1.4.4.5 (49ba83fb67 "Add virtualization support to git-daemon") -git daemon enters an infinite loop and never terminates if a client -hides any extra arguments in the initial request line which is not -exactly "\0host=blah\0". - -Since that change, a client must never insert additional extra -arguments, or attempt to use any argument other than "host=", as -any daemon will get stuck parsing the request line and will never -complete the request. - -Since the client can't tell if the daemon is patched or not, it -is not possible to know if additional extra args might actually be -able to be safely requested. - -If we ever need to extend the git daemon protocol to support a new -feature, we may have to do something like this to the exchange: - - # If both support git:// v2 - # - C: 000cgit://v2 - S: 0010ok host user - C: 0018host git.kernel.org - C: 0027git-upload-pack /pub/linux-2.6.git - S: ...git-upload-pack header... - - # If client supports git:// v2, server does not: - # - C: 000cgit://v2 - S: - - C: 003bgit-upload-pack /pub/linux-2.6.git\0host=git.kernel.org\0 - S: ...git-upload-pack header... - -This requires the client to create two TCP connections to talk to -an older git daemon, however all daemons since the introduction of -daemon.c will safely reject the unknown "git://v2" command request, -so the client can quite easily determine the server supports an -older protocol. - -Signed-off-by: Shawn O. Pearce -Signed-off-by: Junio C Hamano ---- - connect.c | 5 ++++- - daemon.c | 11 ++++++----- - 2 files changed, 10 insertions(+), 6 deletions(-) - -diff --git a/connect.c b/connect.c -index d12b105..37ea73c 100644 ---- a/connect.c -+++ b/connect.c -@@ -572,7 +572,10 @@ struct child_process *git_connect(int fd[2], const char *url_orig, - git_tcp_connect(fd, host, flags); - /* - * Separate original protocol components prog and path -- * from extended components with a NUL byte. -+ * from extended host header with a NUL byte. -+ * -+ * Note: Do not add any other headers here! Doing so -+ * will cause older git-daemon servers to crash. - */ - packet_write(fd[1], - "%s %s%chost=%s%c", -diff --git a/daemon.c b/daemon.c -index 2b4a6f1..5566a6f 100644 ---- a/daemon.c -+++ b/daemon.c -@@ -431,16 +431,15 @@ static void make_service_overridable(const char *name, int ena) - } - - /* -- * Separate the "extra args" information as supplied by the client connection. -- * Any resulting data is squirreled away in the given interpolation table. -+ * Read the host as supplied by the client connection. - */ --static void parse_extra_args(struct interp *table, char *extra_args, int buflen) -+static void parse_host_arg(struct interp *table, char *extra_args, int buflen) - { - char *val; - int vallen; - char *end = extra_args + buflen; - -- while (extra_args < end && *extra_args) { -+ if (extra_args < end && *extra_args) { - saw_extended_args = 1; - if (strncasecmp("host=", extra_args, 5) == 0) { - val = extra_args + 5; -@@ -460,6 +459,8 @@ static void parse_extra_args(struct interp *table, char *extra_args, int buflen) - /* On to the next one */ - extra_args = val + vallen; - } -+ if (extra_args < end && *extra_args) -+ die("Invalid request"); - } - } - -@@ -579,7 +580,7 @@ static int execute(struct sockaddr *addr) - interp_set_entry(interp_table, INTERP_SLOT_PERCENT, "%"); - - if (len != pktlen) { -- parse_extra_args(interp_table, line + len + 1, pktlen - len - 1); -+ parse_host_arg(interp_table, line + len + 1, pktlen - len - 1); - fill_in_extra_table_entries(interp_table); - } - --- -1.6.3.2 - diff --git a/git-1.5.5.6-reflog-permissions.patch b/git-1.5.5.6-reflog-permissions.patch deleted file mode 100644 index f53b965..0000000 --- a/git-1.5.5.6-reflog-permissions.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 336d09daf288492946f0c51f071da11643f8363d Mon Sep 17 00:00:00 2001 -From: Pierre Habouzit -Date: Sun, 15 Jun 2008 23:37:42 +0200 -Subject: [PATCH] Make git reflog expire honour core.sharedRepository. - -Signed-off-by: Pierre Habouzit -Signed-off-by: Junio C Hamano ---- - builtin-reflog.c | 2 ++ - t/t1301-shared-repo.sh | 15 +++++++++++++++ - 2 files changed, 17 insertions(+), 0 deletions(-) - -diff --git a/builtin-reflog.c b/builtin-reflog.c -index 897d1dc..b151e24 100644 ---- a/builtin-reflog.c -+++ b/builtin-reflog.c -@@ -307,6 +307,8 @@ static int expire_reflog(const char *ref, const unsigned char *sha1, int unused, - unlink(newlog_path); - } else if (cmd->updateref && commit_ref(lock)) { - status |= error("Couldn't set %s", lock->ref_name); -+ } else { -+ adjust_shared_perm(log_file); - } - } - free(newlog_path); --- -1.6.1 - diff --git a/git-1.6-update-contrib-hooks-path.patch b/git-1.6-update-contrib-hooks-path.patch new file mode 100644 index 0000000..a4220ad --- /dev/null +++ b/git-1.6-update-contrib-hooks-path.patch @@ -0,0 +1,43 @@ +From 1963c852acc5d8c521a3e4f3b9ceb313d26a473c Mon Sep 17 00:00:00 2001 +From: Todd Zullinger +Date: Mon, 22 Jun 2009 08:00:29 -0400 +Subject: [PATCH] Update path to contrib/hooks/post-receive-email + +--- + contrib/hooks/post-receive-email | 6 +++--- + templates/hooks--post-receive.sample | 2 +- + 2 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/contrib/hooks/post-receive-email b/contrib/hooks/post-receive-email +index 2a66063..4835ada 100755 +--- a/contrib/hooks/post-receive-email ++++ b/contrib/hooks/post-receive-email +@@ -10,12 +10,12 @@ + # This hook is stored in the contrib/hooks directory. Your distribution + # will have put this somewhere standard. You should make this script + # executable then link to it in the repository you would like to use it in. +-# For example, on debian the hook is stored in +-# /usr/share/doc/git-core/contrib/hooks/post-receive-email: ++# For example, on fedora the hook is stored in ++# /usr/share/git-core/contrib/hooks/post-receive-email: + # + # chmod a+x post-receive-email + # cd /path/to/your/repository.git +-# ln -sf /usr/share/doc/git-core/contrib/hooks/post-receive-email hooks/post-receive ++# ln -sf /usr/share/git-core/contrib/hooks/post-receive-email hooks/post-receive + # + # This hook script assumes it is enabled on the central repository of a + # project, with all users pushing only to it and not between each other. It +diff --git a/templates/hooks--post-receive.sample b/templates/hooks--post-receive.sample +index 18d2e0f..cf57878 100755 +--- a/templates/hooks--post-receive.sample ++++ b/templates/hooks--post-receive.sample +@@ -12,4 +12,4 @@ + # see contrib/hooks/ for a sample, or uncomment the next line and + # rename the file to "post-receive". + +-#. /usr/share/doc/git-core/contrib/hooks/post-receive-email ++#. /usr/share/git-core/contrib/hooks/post-receive-email +-- +1.6.3.2 + diff --git a/git-1.7-el5-emacs-support.patch b/git-1.7-el5-emacs-support.patch new file mode 100644 index 0000000..25b3c31 --- /dev/null +++ b/git-1.7-el5-emacs-support.patch @@ -0,0 +1,252 @@ +From 424058e0607b4b3c558d19633090e06e7bd2b851 Mon Sep 17 00:00:00 2001 +From: Todd Zullinger +Date: Wed, 2 Feb 2011 21:24:44 -0500 +Subject: [PATCH] Restore vc-git.el for basic compatibility on EL-5 + +This is the vc-git.el from 1.6.4.1, the last version to include it. +Most uses will be better served by the vc-git.el which is provided by +emacs >= 22.2, but on EL-5 we don't have the luxury of a modern emacs. +--- + contrib/emacs/Makefile | 2 +- + contrib/emacs/vc-git.el | 216 +++++++++++++++++++++++++++++++++++++++++++++++ + 2 files changed, 217 insertions(+), 1 deletions(-) + create mode 100644 contrib/emacs/vc-git.el + +diff --git a/contrib/emacs/Makefile b/contrib/emacs/Makefile +index 24d9312..a48540a 100644 +--- a/contrib/emacs/Makefile ++++ b/contrib/emacs/Makefile +@@ -2,7 +2,7 @@ + + EMACS = emacs + +-ELC = git.elc git-blame.elc ++ELC = git.elc vc-git.elc git-blame.elc + INSTALL ?= install + INSTALL_ELC = $(INSTALL) -m 644 + prefix ?= $(HOME) +diff --git a/contrib/emacs/vc-git.el b/contrib/emacs/vc-git.el +new file mode 100644 +index 0000000..b8f6be5 +--- /dev/null ++++ b/contrib/emacs/vc-git.el +@@ -0,0 +1,216 @@ ++;;; vc-git.el --- VC backend for the git version control system ++ ++;; Copyright (C) 2006 Alexandre Julliard ++ ++;; This program is free software; you can redistribute it and/or ++;; modify it under the terms of the GNU General Public License as ++;; published by the Free Software Foundation; either version 2 of ++;; the License, or (at your option) any later version. ++;; ++;; This program is distributed in the hope that it will be ++;; useful, but WITHOUT ANY WARRANTY; without even the implied ++;; warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR ++;; PURPOSE. See the GNU General Public License for more details. ++;; ++;; You should have received a copy of the GNU General Public ++;; License along with this program; if not, write to the Free ++;; Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, ++;; MA 02111-1307 USA ++ ++;;; Commentary: ++ ++;; This file contains a VC backend for the git version control ++;; system. ++;; ++;; To install: put this file on the load-path and add GIT to the list ++;; of supported backends in `vc-handled-backends'; the following line, ++;; placed in your ~/.emacs, will accomplish this: ++;; ++;; (add-to-list 'vc-handled-backends 'GIT) ++;; ++;; TODO ++;; - changelog generation ++;; - working with revisions other than HEAD ++;; ++ ++(eval-when-compile (require 'cl)) ++ ++(defvar git-commits-coding-system 'utf-8 ++ "Default coding system for git commits.") ++ ++(defun vc-git--run-command-string (file &rest args) ++ "Run a git command on FILE and return its output as string." ++ (let* ((ok t) ++ (str (with-output-to-string ++ (with-current-buffer standard-output ++ (unless (eq 0 (apply #'call-process "git" nil '(t nil) nil ++ (append args (list (file-relative-name file))))) ++ (setq ok nil)))))) ++ (and ok str))) ++ ++(defun vc-git--run-command (file &rest args) ++ "Run a git command on FILE, discarding any output." ++ (let ((name (file-relative-name file))) ++ (eq 0 (apply #'call-process "git" nil (get-buffer "*Messages") nil (append args (list name)))))) ++ ++(defun vc-git-registered (file) ++ "Check whether FILE is registered with git." ++ (with-temp-buffer ++ (let* ((dir (file-name-directory file)) ++ (name (file-relative-name file dir))) ++ (and (ignore-errors ++ (when dir (cd dir)) ++ (eq 0 (call-process "git" nil '(t nil) nil "ls-files" "-c" "-z" "--" name))) ++ (let ((str (buffer-string))) ++ (and (> (length str) (length name)) ++ (string= (substring str 0 (1+ (length name))) (concat name "\0")))))))) ++ ++(defun vc-git-state (file) ++ "git-specific version of `vc-state'." ++ (let ((diff (vc-git--run-command-string file "diff-index" "-z" "HEAD" "--"))) ++ (if (and diff (string-match ":[0-7]\\{6\\} [0-7]\\{6\\} [0-9a-f]\\{40\\} [0-9a-f]\\{40\\} [ADMU]\0[^\0]+\0" diff)) ++ 'edited ++ 'up-to-date))) ++ ++(defun vc-git-workfile-version (file) ++ "git-specific version of `vc-workfile-version'." ++ (let ((str (with-output-to-string ++ (with-current-buffer standard-output ++ (call-process "git" nil '(t nil) nil "symbolic-ref" "HEAD"))))) ++ (if (string-match "^\\(refs/heads/\\)?\\(.+\\)$" str) ++ (match-string 2 str) ++ str))) ++ ++(defun vc-git-symbolic-commit (commit) ++ "Translate COMMIT string into symbolic form. ++Returns nil if not possible." ++ (and commit ++ (with-temp-buffer ++ (and ++ (zerop ++ (call-process "git" nil '(t nil) nil "name-rev" ++ "--name-only" "--tags" ++ commit)) ++ (goto-char (point-min)) ++ (= (forward-line 2) 1) ++ (bolp) ++ (buffer-substring-no-properties (point-min) (1- (point-max))))))) ++ ++(defun vc-git-previous-version (file rev) ++ "git-specific version of `vc-previous-version'." ++ (let ((default-directory (file-name-directory (expand-file-name file))) ++ (file (file-name-nondirectory file))) ++ (vc-git-symbolic-commit ++ (with-temp-buffer ++ (and ++ (zerop ++ (call-process "git" nil '(t nil) nil "rev-list" ++ "-2" rev "--" file)) ++ (goto-char (point-max)) ++ (bolp) ++ (zerop (forward-line -1)) ++ (not (bobp)) ++ (buffer-substring-no-properties ++ (point) ++ (1- (point-max)))))))) ++ ++(defun vc-git-next-version (file rev) ++ "git-specific version of `vc-next-version'." ++ (let* ((default-directory (file-name-directory ++ (expand-file-name file))) ++ (file (file-name-nondirectory file)) ++ (current-rev ++ (with-temp-buffer ++ (and ++ (zerop ++ (call-process "git" nil '(t nil) nil "rev-list" ++ "-1" rev "--" file)) ++ (goto-char (point-max)) ++ (bolp) ++ (zerop (forward-line -1)) ++ (bobp) ++ (buffer-substring-no-properties ++ (point) ++ (1- (point-max))))))) ++ (and current-rev ++ (vc-git-symbolic-commit ++ (with-temp-buffer ++ (and ++ (zerop ++ (call-process "git" nil '(t nil) nil "rev-list" ++ "HEAD" "--" file)) ++ (goto-char (point-min)) ++ (search-forward current-rev nil t) ++ (zerop (forward-line -1)) ++ (buffer-substring-no-properties ++ (point) ++ (progn (forward-line 1) (1- (point)))))))))) ++ ++(defun vc-git-revert (file &optional contents-done) ++ "Revert FILE to the version stored in the git repository." ++ (if contents-done ++ (vc-git--run-command file "update-index" "--") ++ (vc-git--run-command file "checkout" "HEAD"))) ++ ++(defun vc-git-checkout-model (file) ++ 'implicit) ++ ++(defun vc-git-workfile-unchanged-p (file) ++ (let ((sha1 (vc-git--run-command-string file "hash-object" "--")) ++ (head (vc-git--run-command-string file "ls-tree" "-z" "HEAD" "--"))) ++ (and head ++ (string-match "[0-7]\\{6\\} blob \\([0-9a-f]\\{40\\}\\)\t[^\0]+\0" head) ++ (string= (car (split-string sha1 "\n")) (match-string 1 head))))) ++ ++(defun vc-git-register (file &optional rev comment) ++ "Register FILE into the git version-control system." ++ (vc-git--run-command file "update-index" "--add" "--")) ++ ++(defun vc-git-print-log (file &optional buffer) ++ (let ((name (file-relative-name file)) ++ (coding-system-for-read git-commits-coding-system)) ++ (vc-do-command buffer 'async "git" name "rev-list" "--pretty" "HEAD" "--"))) ++ ++(defun vc-git-diff (file &optional rev1 rev2 buffer) ++ (let ((name (file-relative-name file)) ++ (buf (or buffer "*vc-diff*"))) ++ (if (and rev1 rev2) ++ (vc-do-command buf 0 "git" name "diff-tree" "-p" rev1 rev2 "--") ++ (vc-do-command buf 0 "git" name "diff-index" "-p" (or rev1 "HEAD") "--")) ++ ; git-diff-index doesn't set exit status like diff does ++ (if (vc-git-workfile-unchanged-p file) 0 1))) ++ ++(defun vc-git-checkin (file rev comment) ++ (let ((coding-system-for-write git-commits-coding-system)) ++ (vc-git--run-command file "commit" "-m" comment "--only" "--"))) ++ ++(defun vc-git-checkout (file &optional editable rev destfile) ++ (if destfile ++ (let ((fullname (substring ++ (vc-git--run-command-string file "ls-files" "-z" "--full-name" "--") ++ 0 -1)) ++ (coding-system-for-read 'no-conversion) ++ (coding-system-for-write 'no-conversion)) ++ (with-temp-file destfile ++ (eq 0 (call-process "git" nil t nil "cat-file" "blob" ++ (concat (or rev "HEAD") ":" fullname))))) ++ (vc-git--run-command file "checkout" (or rev "HEAD")))) ++ ++(defun vc-git-annotate-command (file buf &optional rev) ++ ; FIXME: rev is ignored ++ (let ((name (file-relative-name file))) ++ (call-process "git" nil buf nil "blame" name))) ++ ++(defun vc-git-annotate-time () ++ (and (re-search-forward "[0-9a-f]+ (.* \\([0-9]+\\)-\\([0-9]+\\)-\\([0-9]+\\) \\([0-9]+\\):\\([0-9]+\\):\\([0-9]+\\) \\([-+0-9]+\\) +[0-9]+)" nil t) ++ (vc-annotate-convert-time ++ (apply #'encode-time (mapcar (lambda (match) (string-to-number (match-string match))) '(6 5 4 3 2 1 7)))))) ++ ++;; Not really useful since we can't do anything with the revision yet ++;;(defun vc-annotate-extract-revision-at-line () ++;; (save-excursion ++;; (move-beginning-of-line 1) ++;; (and (looking-at "[0-9a-f]+") ++;; (buffer-substring (match-beginning 0) (match-end 0))))) ++ ++(provide 'vc-git) +-- +1.7.3.4 + diff --git a/git-cvsimport-Ignore-cvsps-2.2b1-Branches-output.patch b/git-cvsimport-Ignore-cvsps-2.2b1-Branches-output.patch new file mode 100644 index 0000000..37a22dd --- /dev/null +++ b/git-cvsimport-Ignore-cvsps-2.2b1-Branches-output.patch @@ -0,0 +1,26 @@ +From 09891c65a5f7409ce0bd37daced0ff31fbb1b1c9 Mon Sep 17 00:00:00 2001 +From: Todd Zullinger +Date: Mon, 23 Mar 2009 00:03:36 -0400 +Subject: [PATCH] git-cvsimport: Ignore cvsps-2.2b1 Branches: output + +Signed-off-by: Todd Zullinger +--- + git-cvsimport.perl | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/git-cvsimport.perl b/git-cvsimport.perl +index e439202..d020f1a 100755 +--- a/git-cvsimport.perl ++++ b/git-cvsimport.perl +@@ -952,7 +952,7 @@ while () { + } elsif (/^-+$/) { # end of unknown-line processing + $state = 1; + } elsif ($state != 11) { # ignore stuff when skipping +- print STDERR "* UNKNOWN LINE * $_\n"; ++ print STDERR "* UNKNOWN LINE * $_\n" unless /^Branches: /; + } + } + commit() if $branch and $state != 11; +-- +1.6.2.2 + diff --git a/git-gui.desktop b/git-gui.desktop new file mode 100644 index 0000000..f74f066 --- /dev/null +++ b/git-gui.desktop @@ -0,0 +1,9 @@ +[Desktop Entry] +Name=Git GUI +GenericName=Git GUI +Comment=A graphical interface to Git +Exec=git gui +Icon=/usr/share/git-gui/lib/git-gui.ico +Terminal=false +Type=Application +Categories=Development; diff --git a/git.conf.httpd b/git.conf.httpd index 3611943..4f4eac7 100644 --- a/git.conf.httpd +++ b/git.conf.httpd @@ -3,4 +3,5 @@ Alias /git /var/www/git Options +ExecCGI AddHandler cgi-script .cgi + DirectoryIndex gitweb.cgi diff --git a/git.spec b/git.spec index 2ad950c..fb6b7a5 100644 --- a/git.spec +++ b/git.spec @@ -1,29 +1,64 @@ # Pass --without docs to rpmbuild if you don't want the documentation -Name: git -Version: 1.5.5.6 -Release: 4%{?dist} -Summary: Core git tools -License: GPL -Group: Development/Tools -URL: http://kernel.org/pub/software/scm/git/ -Source: http://kernel.org/pub/software/scm/git/%{name}-%{version}.tar.gz -Source1: git-init.el -Source2: git.xinetd -Source3: git.conf.httpd -Patch0: git-1.5-gitweb-home-link.patch -# http://git.kernel.org/?p=git/git.git;a=commitdiff;h=516381d5 -Patch1: CVE-2008-5517.patch -# http://git.kernel.org/?p=git/git.git;a=commitdiff;h=336d09da -Patch2: git-1.5.5.6-reflog-permissions.patch -# http://git.kernel.org/?p=git/git.git;a=commitdiff;h=73bb33a9 -Patch3: git-1.5.5.6-daemon-extra-args.patch -BuildRequires: perl, zlib-devel >= 1.2, openssl-devel, curl-devel, expat-devel, emacs, gettext %{!?_without_docs:, xmlto, asciidoc > 6.0.3} -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +%if 0%{?rhel} && 0%{?rhel} <= 5 +%global gitcoredir %{_bindir} +%else +%global gitcoredir %{_libexecdir}/git-core +%endif -Requires: perl-Git = %{version}-%{release} -Requires: zlib >= 1.2, rsync, curl, less, openssh-clients, expat, perl(Error) -Provides: git-core = %{version}-%{release} -Obsoletes: git-core <= 1.5.4.3 +Name: git +Version: 1.7.4.1 +Release: 1%{?dist} +Summary: Fast Version Control System +License: GPLv2 +Group: Development/Tools +URL: http://git-scm.com/ +Source0: http://kernel.org/pub/software/scm/git/%{name}-%{version}.tar.bz2 +Source1: git-init.el +Source2: git.xinetd.in +Source3: git.conf.httpd +Source4: git-gui.desktop +Source5: gitweb.conf.in +Patch0: git-1.5-gitweb-home-link.patch +# https://bugzilla.redhat.com/490602 +Patch1: git-cvsimport-Ignore-cvsps-2.2b1-Branches-output.patch +# https://bugzilla.redhat.com/500137 +Patch2: git-1.6-update-contrib-hooks-path.patch +# https://bugzilla.redhat.com/600411 +Patch3: git-1.7-el5-emacs-support.patch +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +BuildRequires: desktop-file-utils +%if 0%{?fedora} || 0%{?rhel} >= 5 +BuildRequires: emacs +%endif +%if 0%{?fedora} || 0%{?rhel} >= 6 +BuildRequires: libcurl-devel +%else +BuildRequires: curl-devel +%endif +BuildRequires: expat-devel +BuildRequires: gettext +BuildRequires: openssl-devel +BuildRequires: zlib-devel >= 1.2 +%{!?_without_docs:BuildRequires: asciidoc > 6.0.3, xmlto} + +Requires: less +Requires: openssh-clients +%if 0%{?fedora} || 0%{?rhel} >= 5 +Requires: perl(Error) +%endif +Requires: perl-Git = %{version}-%{release} +Requires: rsync +Requires: zlib >= 1.2 + +Provides: git-core = %{version}-%{release} +%if 0%{?fedora} || 0%{?rhel} >= 5 +Obsoletes: git-core <= 1.5.4.3 +%else +# EL-4 has 1.5.4.7-3.el4. We don't support this, but no point making it more +# difficult than it needs to be (folks stuck on EL-4 have it bad enough ;). +Obsoletes: git-core <= 1.5.4.7-4 +%endif %description Git is a fast, scalable, distributed revision control system with an @@ -35,17 +70,31 @@ install all git packages, including tools for integrating with other SCMs, install the git-all meta-package. %package all -Summary: Meta-package to pull in all git tools -Group: Development/Tools -Requires: git = %{version}-%{release} -Requires: git-svn = %{version}-%{release} -Requires: git-cvs = %{version}-%{release} -Requires: git-email = %{version}-%{release} -Requires: gitk = %{version}-%{release} -Requires: git-gui = %{version}-%{release} -Requires: perl-Git = %{version}-%{release} -Requires: emacs-git = %{version}-%{release} -Obsoletes: git <= 1.5.4.3 +Summary: Meta-package to pull in all git tools +Group: Development/Tools +%if 0%{?fedora} >= 10 || 0%{?rhel} >= 6 +BuildArch: noarch +%endif +Requires: git = %{version}-%{release} +%if 0%{?fedora} +Requires: git-arch = %{version}-%{release} +%endif +Requires: git-cvs = %{version}-%{release} +Requires: git-email = %{version}-%{release} +Requires: git-gui = %{version}-%{release} +Requires: git-svn = %{version}-%{release} +Requires: gitk = %{version}-%{release} +Requires: perl-Git = %{version}-%{release} +%if 0%{?fedora} || 0%{?rhel} >= 5 +Requires: emacs-git = %{version}-%{release} +%endif +%if 0%{?fedora} || 0%{?rhel} >= 5 +Obsoletes: git <= 1.5.4.3 +%else +# EL-4 has 1.5.4.7-3.el4. We don't support this, but no point making it more +# difficult than it needs to be (folks stuck on EL-4 have it bad enough ;). +Obsoletes: git <= 1.5.4.7-4 +%endif %description all Git is a fast, scalable, distributed revision control system with an @@ -55,15 +104,18 @@ and full access to internals. This is a dummy package which brings in all subpackages. %package daemon -Summary: Git protocol daemon -Group: Development/Tools -Requires: git = %{version}-%{release} +Summary: Git protocol dæmon +Group: Development/Tools +Requires: git = %{version}-%{release}, xinetd %description daemon The git dæmon for supporting git:// access to git repositories %package -n gitweb Summary: Simple web interface to git repositories Group: Development/Tools +%if 0%{?fedora} >= 10 || 0%{?rhel} >= 6 +BuildArch: noarch +%endif Requires: git = %{version}-%{release} %description -n gitweb @@ -73,6 +125,9 @@ Simple web interface to track changes in git repositories %package svn Summary: Git tools for importing Subversion repositories Group: Development/Tools +%if 0%{?fedora} >= 10 || 0%{?rhel} >= 6 +BuildArch: noarch +%endif Requires: git = %{version}-%{release}, subversion, perl(Term::ReadKey) %description svn Git tools for importing Subversion repositories. @@ -80,27 +135,57 @@ Git tools for importing Subversion repositories. %package cvs Summary: Git tools for importing CVS repositories Group: Development/Tools -Requires: git = %{version}-%{release}, cvs, cvsps +%if 0%{?fedora} >= 10 || 0%{?rhel} >= 6 +BuildArch: noarch +%endif +Requires: git = %{version}-%{release}, cvs +%if 0%{?fedora} || 0%{?rhel} >= 5 +Requires: cvsps +%endif %description cvs Git tools for importing CVS repositories. +%if 0%{?fedora} +%package arch +Summary: Git tools for importing Arch repositories +Group: Development/Tools +BuildArch: noarch +Requires: git = %{version}-%{release}, tla +%description arch +Git tools for importing Arch repositories. +%endif + %package email Summary: Git tools for sending email Group: Development/Tools -Requires: git = %{version}-%{release}, perl-Git = %{version}-%{release} +%if 0%{?fedora} >= 10 || 0%{?rhel} >= 6 +BuildArch: noarch +%endif +Requires: git = %{version}-%{release}, perl-Git = %{version}-%{release} +Requires: perl(Authen::SASL) +%if 0%{?fedora} || 0%{?rhel} >= 5 +Requires: perl(Net::SMTP::SSL) +%endif %description email Git tools for sending email. %package gui Summary: Git GUI tool Group: Development/Tools +%if 0%{?fedora} >= 10 || 0%{?rhel} >= 6 +BuildArch: noarch +%endif Requires: git = %{version}-%{release}, tk >= 8.4 +Requires: gitk = %{version}-%{release} %description gui Git GUI tool. %package -n gitk Summary: Git revision tree visualiser Group: Development/Tools +%if 0%{?fedora} >= 10 || 0%{?rhel} >= 6 +BuildArch: noarch +%endif Requires: git = %{version}-%{release}, tk >= 8.4 %description -n gitk Git revision tree visualiser. @@ -108,84 +193,195 @@ Git revision tree visualiser. %package -n perl-Git Summary: Perl interface to Git Group: Development/Libraries -Requires: git = %{version}-%{release}, perl(Error) -Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) +%if 0%{?fedora} >= 10 || 0%{?rhel} >= 6 +BuildArch: noarch +%endif +Requires: git = %{version}-%{release} +%if 0%{?fedora} || 0%{?rhel} >= 5 BuildRequires: perl(Error), perl(ExtUtils::MakeMaker) +Requires: perl(Error) +%endif +Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) %description -n perl-Git Perl interface to Git. +%if 0%{?fedora} || 0%{?rhel} >= 5 %package -n emacs-git -Summary: Git version control system support for Emacs -Group: Applications/Editors -Requires: git = %{version}-%{release}, emacs-common +Summary: Git version control system support for Emacs +Group: Applications/Editors +Requires: git = %{version}-%{release} +%if 0%{?fedora} || 0%{?rhel} >= 6 +BuildArch: noarch +Requires: emacs(bin) >= %{_emacs_version} +%else +Requires: emacs-common +%endif %description -n emacs-git %{summary}. +%package -n emacs-git-el +Summary: Elisp source files for git version control system support for Emacs +Group: Applications/Editors +%if 0%{?fedora} || 0%{?rhel} >= 6 +BuildArch: noarch +%endif +Requires: emacs-git = %{version}-%{release} + +%description -n emacs-git-el +%{summary}. +%endif + %prep %setup -q %patch0 -p1 -%patch1 -p1 -b .CVE-2008-5517 -%patch2 -p1 -b .reflog-perms -%patch3 -p1 -b .daemon-extra-args +%patch1 -p1 +%patch2 -p1 +%if 0%{?rhel} == 5 +%patch3 -p1 +%endif + +# Use these same options for every invocation of 'make'. +# Otherwise it will rebuild in %%install due to flags changes. +cat << \EOF > config.mak +V = 1 +CFLAGS = %{optflags} +BLK_SHA1 = 1 +NEEDS_CRYPTO_WITH_SSL = 1 +NO_PYTHON = 1 +ETC_GITCONFIG = %{_sysconfdir}/gitconfig +DESTDIR = %{buildroot} +INSTALL = install -p +GITWEB_PROJECTROOT = %{_var}/lib/git +htmldir = %{_docdir}/%{name}-%{version} +prefix = %{_prefix} +gitwebdir = %{_var}/www/git +EOF + +%if 0%{?rhel} && 0%{?rhel} <= 5 +echo gitexecdir = %{_bindir} >> config.mak +%endif + +%if 0%{?rhel} && 0%{?rhel} == 5 +# This is needed for 1.69.1-1.71.0 +echo DOCBOOK_SUPPRESS_SP = 1 >> config.mak +%endif + +%if 0%{?rhel} && 0%{?rhel} <= 4 +echo ASCIIDOC7 = 1 >> config.mak +%endif + +# Filter bogus perl requires +# packed-refs comes from a comment in contrib/hooks/update-paranoid +cat << \EOF > %{name}-req +#!/bin/sh +%{__perl_requires} $* |\ +sed -e '/perl(packed-refs)/d' +EOF + +%global __perl_requires %{_builddir}/%{name}-%{version}/%{name}-req +chmod +x %{__perl_requires} %build -make %{_smp_mflags} CFLAGS="$RPM_OPT_FLAGS" \ - ETC_GITCONFIG=/etc/gitconfig \ - prefix=%{_prefix} all %{!?_without_docs: doc} +make %{?_smp_mflags} all %{!?_without_docs: doc} + +%if 0%{?fedora} || 0%{?rhel} >= 5 make -C contrib/emacs +%endif + +# Remove shebang from bash-completion script +sed -i '/^#!bash/,+1 d' contrib/completion/git-completion.bash %install -rm -rf $RPM_BUILD_ROOT -make %{_smp_mflags} CFLAGS="$RPM_OPT_FLAGS" DESTDIR=$RPM_BUILD_ROOT \ - prefix=%{_prefix} mandir=%{_mandir} \ - ETC_GITCONFIG=/etc/gitconfig \ - INSTALLDIRS=vendor install %{!?_without_docs: install-doc} +rm -rf %{buildroot} +make %{?_smp_mflags} INSTALLDIRS=vendor install %{!?_without_docs: install-doc} +%if 0%{?fedora} || 0%{?rhel} >= 5 +%if 0%{?rhel} == 5 +%global _emacs_sitelispdir %{_datadir}/emacs/site-lisp +%global _emacs_sitestartdir %{_emacs_sitelispdir}/site-start.d +%endif +%global elispdir %{_emacs_sitelispdir}/git make -C contrib/emacs install \ - emacsdir=$RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp -for elc in $RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp/*.elc ; do - install -pm 644 contrib/emacs/$(basename $elc .elc).el \ - $RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp + emacsdir=%{buildroot}%{elispdir} +for elc in %{buildroot}%{elispdir}/*.elc ; do + install -pm 644 contrib/emacs/$(basename $elc .elc).el \ + %{buildroot}%{elispdir} done install -Dpm 644 %{SOURCE1} \ - $RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp/site-start.d/git-init.el -mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/xinetd.d -install -m 644 %SOURCE2 $RPM_BUILD_ROOT/%{_sysconfdir}/xinetd.d/git -mkdir -p $RPM_BUILD_ROOT/var/www/git -install -m 644 -t $RPM_BUILD_ROOT/var/www/git gitweb/*.png gitweb/*.css -install -m 755 -t $RPM_BUILD_ROOT/var/www/git gitweb/gitweb.cgi -mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/httpd/conf.d -install -m 0644 %SOURCE3 $RPM_BUILD_ROOT/%{_sysconfdir}/httpd/conf.d/git.conf - -find $RPM_BUILD_ROOT -type f -name .packlist -exec rm -f {} ';' -find $RPM_BUILD_ROOT -type f -name '*.bs' -empty -exec rm -f {} ';' -find $RPM_BUILD_ROOT -type f -name perllocal.pod -exec rm -f {} ';' - -find $RPM_BUILD_ROOT -type f -name 'git-archimport*' -exec rm -f {} ';' - -(find $RPM_BUILD_ROOT%{_bindir} -type f | grep -vE "svn|cvs|email|gitk|git-gui|git-citool|git-daemon" | sed -e s@^$RPM_BUILD_ROOT@@) > bin-man-doc-files -(find $RPM_BUILD_ROOT%{perl_vendorlib} -type f | sed -e s@^$RPM_BUILD_ROOT@@) >> perl-files -%if %{!?_without_docs:1}0 -(find $RPM_BUILD_ROOT%{_mandir} $RPM_BUILD_ROOT/Documentation -type f | grep -vE "svn|git-cvs|email|gitk|git-gui|git-citool" | sed -e s@^$RPM_BUILD_ROOT@@ -e 's/$/*/' ) >> bin-man-doc-files -%else -rm -rf $RPM_BUILD_ROOT%{_mandir} + %{buildroot}%{_emacs_sitestartdir}/git-init.el %endif -mkdir -p $RPM_BUILD_ROOT/srv/git -mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/bash_completion.d -install -m 644 -T contrib/completion/git-completion.bash $RPM_BUILD_ROOT%{_sysconfdir}/bash_completion.d/git +mkdir -p %{buildroot}%{_sysconfdir}/httpd/conf.d +install -pm 0644 %{SOURCE3} %{buildroot}%{_sysconfdir}/httpd/conf.d/git.conf +sed "s|@PROJECTROOT@|%{_var}/lib/git|g" \ + %{SOURCE5} > %{buildroot}%{_sysconfdir}/gitweb.conf + +find %{buildroot} -type f -name .packlist -exec rm -f {} ';' +find %{buildroot} -type f -name '*.bs' -empty -exec rm -f {} ';' +find %{buildroot} -type f -name perllocal.pod -exec rm -f {} ';' + +%if ! 0%{?fedora} +find %{buildroot} Documentation -type f -name 'git-archimport*' -exec rm -f {} ';' +%endif + +(find %{buildroot}{%{_bindir},%{_libexecdir}} -type f | grep -vE "archimport|svn|cvs|email|gitk|git-gui|git-citool|git-daemon" | sed -e s@^%{buildroot}@@) > bin-man-doc-files +(find %{buildroot}%{perl_vendorlib} -type f | sed -e s@^%{buildroot}@@) >> perl-files +%if %{!?_without_docs:1}0 +(find %{buildroot}%{_mandir} -type f | grep -vE "archimport|svn|git-cvs|email|gitk|git-gui|git-citool|git-daemon" | sed -e s@^%{buildroot}@@ -e 's/$/*/' ) >> bin-man-doc-files +%else +rm -rf %{buildroot}%{_mandir} +%endif + +mkdir -p %{buildroot}%{_var}/lib/git +mkdir -p %{buildroot}%{_sysconfdir}/xinetd.d +# On EL <= 5, xinetd does not enable IPv6 by default +enable_ipv6=" # xinetd does not enable IPv6 by default + flags = IPv6" +perl -p \ + -e "s|\@GITCOREDIR\@|%{gitcoredir}|g;" \ + -e "s|\@BASE_PATH\@|%{_var}/lib/git|g;" \ +%if 0%{?rhel} && 0%{?rhel} <= 5 + -e "s|^}|$enable_ipv6\n$&|;" \ +%endif + %{SOURCE2} > %{buildroot}%{_sysconfdir}/xinetd.d/git + +mkdir -p %{buildroot}%{_sysconfdir}/bash_completion.d +install -pm 644 contrib/completion/git-completion.bash %{buildroot}%{_sysconfdir}/bash_completion.d/git + +# Move contrib/hooks out of %%docdir and make them executable +mkdir -p %{buildroot}%{_datadir}/git-core/contrib +mv contrib/hooks %{buildroot}%{_datadir}/git-core/contrib +chmod +x %{buildroot}%{_datadir}/git-core/contrib/hooks/* +pushd contrib > /dev/null +ln -s ../../../git-core/contrib/hooks +popd > /dev/null + +# install git-gui .desktop file +desktop-file-install \ +%if 0%{?rhel} && 0%{?rhel} <= 5 + --vendor fedora \ +%endif + --dir=%{buildroot}%{_datadir}/applications %{SOURCE4} + +# quiet some rpmlint complaints +chmod -R g-w %{buildroot} +find %{buildroot} -name git-mergetool--lib | xargs chmod a-x +rm -f {Documentation/technical,contrib/emacs}/.gitignore +chmod a-x Documentation/technical/api-index.sh +find contrib -type f | xargs chmod -x %clean -rm -rf $RPM_BUILD_ROOT +rm -rf %{buildroot} %files -f bin-man-doc-files %defattr(-,root,root) %{_datadir}/git-core/ -%doc README COPYING Documentation/*.txt contrib/hooks +%dir %{gitcoredir} +%doc README COPYING Documentation/*.txt Documentation/RelNotes contrib/ %{!?_without_docs: %doc Documentation/*.html Documentation/docbook-xsl.css} %{!?_without_docs: %doc Documentation/howto Documentation/technical} %{_sysconfdir}/bash_completion.d @@ -193,7 +389,7 @@ rm -rf $RPM_BUILD_ROOT %files svn %defattr(-,root,root) -%{_bindir}/*svn* +%{gitcoredir}/*svn* %doc Documentation/*svn*.txt %{!?_without_docs: %{_mandir}/man1/*svn*.1*} %{!?_without_docs: %doc Documentation/*svn*.html } @@ -201,21 +397,32 @@ rm -rf $RPM_BUILD_ROOT %files cvs %defattr(-,root,root) %doc Documentation/*git-cvs*.txt -%{_bindir}/*cvs* +%{_bindir}/git-cvsserver +%{gitcoredir}/*cvs* %{!?_without_docs: %{_mandir}/man1/*cvs*.1*} %{!?_without_docs: %doc Documentation/*git-cvs*.html } +%if 0%{?fedora} +%files arch +%defattr(-,root,root) +%doc Documentation/git-archimport.txt +%{gitcoredir}/git-archimport +%{!?_without_docs: %{_mandir}/man1/git-archimport.1*} +%{!?_without_docs: %doc Documentation/git-archimport.html } +%endif + %files email %defattr(-,root,root) %doc Documentation/*email*.txt -%{_bindir}/*email* +%{gitcoredir}/*email* %{!?_without_docs: %{_mandir}/man1/*email*.1*} %{!?_without_docs: %doc Documentation/*email*.html } %files gui %defattr(-,root,root) -%{_bindir}/git-gui -%{_bindir}/git-citool +%{gitcoredir}/git-gui* +%{gitcoredir}/git-citool +%{_datadir}/applications/*git-gui.desktop %{_datadir}/git-gui/ %{!?_without_docs: %{_mandir}/man1/git-gui.1*} %{!?_without_docs: %doc Documentation/git-gui.html} @@ -233,56 +440,394 @@ rm -rf $RPM_BUILD_ROOT %files -n perl-Git -f perl-files %defattr(-,root,root) +%if 0%{?fedora} || 0%{?rhel} >= 5 %files -n emacs-git %defattr(-,root,root) -%{_datadir}/emacs/site-lisp/*git*.el* -%{_datadir}/emacs/site-lisp/site-start.d/git-init.el +%doc contrib/emacs/README +%dir %{elispdir} +%{elispdir}/*.elc +%{_emacs_sitestartdir}/git-init.el + +%files -n emacs-git-el +%defattr(-,root,root) +%{elispdir}/*.el +%endif %files daemon %defattr(-,root,root) -%{_bindir}/git-daemon +%doc Documentation/*daemon*.txt %config(noreplace)%{_sysconfdir}/xinetd.d/git -/srv/git +%{gitcoredir}/git-daemon +%{_var}/lib/git +%{!?_without_docs: %{_mandir}/man1/*daemon*.1*} +%{!?_without_docs: %doc Documentation/*daemon*.html} %files -n gitweb %defattr(-,root,root) -/var/www/git/ +%doc gitweb/INSTALL gitweb/README +%config(noreplace)%{_sysconfdir}/gitweb.conf %config(noreplace)%{_sysconfdir}/httpd/conf.d/git.conf +%{_var}/www/git/ + %files all # No files for you! %changelog -* Fri Jun 19 2009 Todd Zullinger - 1.5.5.6-4 +* Sun Feb 13 2011 Todd Zullinger - 1.7.4.1-1 +- Update to 1.7.4.1 +- Clean up documentation settings (the defaults changed in 1.7.4) +- Improve EL-5 compatibility, thanks to Kevin Fenzi for emacs testing + +* Tue Feb 08 2011 Fedora Release Engineering - 1.7.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Mon Jan 31 2011 Adam Tkac - 1.7.4-1 +- update to 1.7.4 + +* Wed Jan 19 2011 Adam Tkac - 1.7.3.5-1 +- update to 1.7.3.5 + +* Thu Dec 16 2010 Adam Tkac - 1.7.3.4-1 +- update to 1.7.3.4 + +* Mon Dec 06 2010 Adam Tkac - 1.7.3.3-1 +- update to 1.7.3.3 + +* Fri Oct 22 2010 Adam Tkac - 1.7.3.2-1 +- update to 1.7.3.2 + +* Thu Sep 30 2010 Adam Tkac - 1.7.3.1-1 +- update to 1.7.3.1 + +* Wed Sep 29 2010 jkeating - 1.7.3-3 +- Rebuilt for gcc bug 634757 + +* Mon Sep 20 2010 Todd Zullinger - 1.7.3-2 +- Ensure the release notes are included in %%doc + +* Sun Sep 19 2010 Todd Zullinger - 1.7.3-1 +- Update to 1.7.3 + +* Tue Sep 07 2010 Adam Tkac - 1.7.2.3-1 +- update to 1.7.2.3 + +* Fri Aug 20 2010 Adam Tkac - 1.7.2.2-1 +- update to 1.7.2.2 + +* Fri Jul 30 2010 Thomas Spura - 1.7.2.1-2 +- cherry-pick: "Do not unquote + into ' ' in URLs" + +* Thu Jul 29 2010 Todd Zullinger - 1.7.2.1-1 +- Update to git-1.7.2.1 + +* Thu Jul 22 2010 Adam Tkac - 1.7.2-1 +- update to 1.7.2 + +* Fri Jul 02 2010 Adam Tkac - 1.7.1.1-1 +- update to 1.7.1.1 + +* Fri Jun 25 2010 Adam Tkac - 1.7.1-2 +- rebuild against new perl + +* Tue May 04 2010 Todd Zullinger - 1.7.1-1 +- git-1.7.1 +- Fix conditionals for EL-6 +- Comply with Emacs add-on packaging guidelines (#573423), Jonathan Underwood + - Place elisp source files in separate emacs-git-el package + - Place git support files in own directory under site-lisp + - Use Emacs packaging macros + +* Thu Apr 29 2010 Marcela Maslanova - 1.7.0.1-2 +- Mass rebuild with perl-5.12.0 + +* Mon Mar 01 2010 Todd Zullinger - 1.7.0.1-1 +- git-1.7.0.1 + +* Sat Feb 13 2010 Todd Zullinger - 1.7.0-1 +- git-1.7.0 +- Link imap-send with libcrypto (#565147) +- Disable building of unused python remote helper libs + +* Tue Jan 26 2010 Todd Zullinger - 1.6.6.1-1 +- git-1.6.6.1 +- Use %%{gitcoredir}/git-daemon as xinetd server option, for SELinux (#529682) +- Make %%{_var}/lib/git the default gitweb projectroot (#556299) +- Include gitweb/INSTALL file as documentation, the gitweb README refers to it +- Ship a short example gitweb config file (%%{_sysconfdir}/gitweb.conf) +- Remove long fixed xinetd IPv6 workaround on Fedora (#557528) +- Install missing gitweb.js (#558740) + +* Wed Dec 23 2009 Todd Zullinger - 1.6.6-1 +- git-1.6.6 + +* Fri Dec 11 2009 Todd Zullinger - 1.6.5.6-1 +- git-1.6.5.6 + +* Sun Dec 06 2009 Todd Zullinger - 1.6.5.5-1 +- git-1.6.5.5 + +* Fri Dec 4 2009 Stepan Kasal - 1.6.5.3-2 +- rebuild against perl 5.10.1 + +* Sat Nov 21 2009 Todd Zullinger - 1.6.5.3-1 +- git-1.6.5.3 +- Only BR perl(Error) on Fedora and RHEL >= 5 +- Use config.mak to set build options +- Improve compatibility with EPEL +- Replace $RPM_BUILD_ROOT with %%{buildroot} +- Fix Obsoletes for those rebuilding on EL-4 + +* Mon Oct 26 2009 Todd Zullinger - 1.6.5.2-1 +- git-1.6.5.2 +- Drop asciidoc --unsafe option, it should not be needed anymore +- Don't use install -t/-T, they're not compatible with older coreutils +- Don't use -perm /a+x with find, it's incompatible with older findutils + +* Sat Oct 17 2009 Todd Zullinger - 1.6.5.1-1 +- git-1.6.5.1 + +* Sun Oct 11 2009 Todd Zullinger - 1.6.5-1 +- git-1.6.5 + +* Mon Sep 28 2009 Todd Zullinger - 1.6.5-0.2.rc2 +- git-1.6.5.rc2 +- Enable Linus' block-sha1 implementation + +* Wed Sep 16 2009 Todd Zullinger - 1.6.4.4-1 +- git-1.6.4.4 + +* Sun Sep 13 2009 Todd Zullinger - 1.6.4.3-1 +- git-1.6.4.3 + +* Sun Aug 30 2009 Todd Zullinger - 1.6.4.2-1 +- git-1.6.4.2 + +* Sat Aug 22 2009 Todd Zullinger - 1.6.4.1-1 +- git-1.6.4.1 + +* Fri Aug 21 2009 Tomas Mraz - 1.6.4-2 +- rebuilt with new openssl + +* Wed Jul 29 2009 Todd Zullinger - 1.6.4-1 +- git-1.6.4 + +* Fri Jul 24 2009 Fedora Release Engineering - 1.6.3.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Sun Jun 28 2009 Todd Zullinger - 1.6.3.3-1 +- git-1.6.3.3 +- Move contributed hooks to %%{_datadir}/git-core/contrib/hooks (bug 500137) +- Fix rpmlint warnings about Summary and git-mergetool--lib missing shebang + +* Fri Jun 19 2009 Todd Zullinger - 1.6.3.2-3 +- Temporarily disable asciidoc's safe mode until bug 506953 is fixed + +* Fri Jun 19 2009 Todd Zullinger - 1.6.3.2-2 - Fix git-daemon hang on invalid input (CVE-2009-2108, bug 505761) -* Wed Jan 14 2009 Todd Zullinger 1.5.5.6-3 -- Add upstream patch for reflog permissions issue on shared repositories +* Fri Jun 05 2009 Todd Zullinger - 1.6.3.2-1 +- git-1.6.3.2 +- Require emacs >= 22.2 for emacs support (bug 495312) +- Add a .desktop file for git-gui (bug 498801) +- Set ASCIIDOC8 and ASCIIDOC_NO_ROFF to correct documentation issues, + the sed hack to fix bug 485161 should no longer be needed +- Escape newline in git-daemon xinetd description (bug 502393) +- Add xinetd to git-daemon Requires (bug 504105) +- Organize BuildRequires/Requires, drop redundant expat Requires +- Only build noarch subpackages on Fedora >= 10 +- Only build emacs and arch subpackages on Fedora +- Handle curl/libcurl naming for EPEL and Fedora -* Mon Jan 12 2009 Todd Zullinger 1.5.5.6-2 -- Fix CVE-2008-5517, gitweb remote command injection +* Fri Apr 03 2009 Todd Zullinger - 1.6.2.2-1 +- git-1.6.2.2 +- Include contrib/ dir in %%doc (bug 492490) +- Don't set DOCBOOK_XSL_172, fix the '\&.ft' with sed (bug 485161) +- Ignore Branches output from cvsps-2.2b1 (bug 490602) +- Remove shebang from bash-completion script +- Include README in gitweb subpackage -* Sat Dec 20 2008 James Bowes 1.5.5.6-1 -- git-1.5.5.6 +* Mon Mar 09 2009 Todd Zullinger - 1.6.2-1 +- git-1.6.2 +- Include contrib/emacs/README in emacs subpackage +- Drop upstreamed git-web--browse patch -* Thu May 15 2008 James Bowes 1.5.5.1-2 -- Remove requires on git-arch +* Tue Feb 24 2009 Todd Zullinger - 1.6.1.3-2 +- Require perl(Authen::SASL) in git-email (bug 483062) +- Build many of the subpackages as noarch +- Update URL field -* Wed May 14 2008 James Bowes 1.5.5.1-1 +* Mon Feb 09 2009 Todd Zullinger 1.6.1.3-1 +- git-1.6.1.3 +- Set htmldir so "git help -w " works +- Patch git-web--browse to not use "/sbin/start" to browse +- Include git-daemon documentation in the git-daemon package + +* Thu Jan 29 2009 Josh Boyer 1.6.1.2-1 +- git-1.6.1.2 + +* Mon Jan 26 2009 Todd Zullinger 1.6.1.1-1 +- git-1.6.1.1 +- Make compile more verbose + +* Fri Jan 16 2009 Tomas Mraz 1.6.1-2 +- rebuild with new openssl + +* Sat Jan 03 2009 Todd Zullinger 1.6.1-1 +- Install git-* commands in %%{_libexecdir}/git-core, the upstream default +- Remove libcurl from Requires, rpm will pick this up automatically +- Consolidate build/install options in %%make_git (Roland McGrath) +- Include DirectoryIndex in gitweb httpd-config (bug 471692) +- Define DOCBOOK_XSL_172 to fix minor manpage issues +- Rename %%{_var}/lib/git-daemon to %%{_var}/lib/git +- Preserve timestamps on installed files +- Quiet some rpmlint complaints +- Use macros more consistently + +* Sat Dec 20 2008 Todd Zullinger 1.6.0.6-1 +- git-1.6.0.6 +- Fixes a local privilege escalation bug in gitweb + (http://article.gmane.org/gmane.comp.version-control.git/103624) +- Add gitk Requires to git-gui (bug 476308) + +* Thu Dec 11 2008 Josh Boyer 1.6.0.5-1 +- git-1.6.0.5 + +* Mon Nov 17 2008 Seth Vidal +- switch from /srv/git to /var/lib/git-daemon for packaging rules compliance + +* Fri Nov 14 2008 Josh Boyer 1.6.0.4-1 +- git-1.6.0.4 + +* Wed Oct 22 2008 Josh Boyer 1.6.0.3-1 +- git-1.6.0.3 +- Drop curl requirement in favor of libcurl (bug 449388) +- Add requires for SMTP-SSL perl module to make git-send-email work (bug 443615) + +* Thu Aug 28 2008 James Bowes 1.6.0.1-1 +- git-1.6.0.1 + +* Thu Jul 24 2008 James Bowes 1.5.6-4 +- git-1.5.6.4 + +* Thu Jun 19 2008 James Bowes 1.5.6-1 +- git-1.5.6 + +* Tue Jun 3 2008 Stepan Kasal 1.5.5.3-2 +- use tar.bz2 instead of tar.gz + +* Wed May 28 2008 James Bowes 1.5.5.3-1 +- git-1.5.5.3 + +* Mon May 26 2008 James Bowes 1.5.5.2-1 +- git-1.5.5.2 + +* Mon Apr 21 2008 James Bowes 1.5.5.1-1 - git-1.5.5.1 -* Wed Dec 05 2007 Josh Boyer 1.5.3.6-1 -- git-1.5.3.6 -- Add git-deamon and git-web subpackages +* Wed Apr 09 2008 James Bowes 1.5.5-1 +- git-1.5.5 -* Fri Oct 12 2007 James Bowes 1.5.3.3-1 +* Fri Apr 04 2008 James Bowes 1.5.4.5-3 +- Remove the last two requires on git-core. + +* Wed Apr 02 2008 James Bowes 1.5.4.5-2 +- Remove a patch that's already upstream. + +* Fri Mar 28 2008 James Bowes 1.5.4.5-1 +- git-1.5.4.5 + +* Wed Mar 26 2008 James Bowes 1.5.4.4-4 +- Own /etc/bash_completion.d in case bash-completion isn't installed. + +* Tue Mar 25 2008 James Bowes 1.5.4.4-3 +- Include the sample hooks from contrib/hooks as docs (bug 321151). +- Install the bash completion script from contrib (bug 433255). +- Include the html docs in the 'core' package again (bug 434271). + +* Wed Mar 19 2008 James Bowes 1.5.4.4-2 +- Obsolete git <= 1.5.4.3, to catch going from F8 to rawhide/F9 + +* Thu Mar 13 2008 James Bowes 1.5.4.4-1 +- git-1.5.4.4 + +* Mon Mar 3 2008 Tom "spot" Callaway 1.5.4.3-3 +- rebuild for new perl (again) + +* Sun Feb 24 2008 Bernardo Innocenti 1.5.4.3-2 +- Do not silently overwrite /etc/httpd/conf.d/git.conf + +* Sat Feb 23 2008 James Bowes 1.5.4.3-1 +- git-1.5.4.3 +- Include Kristian Høgsberg's changes to rename git-core to + git and git to git-all. + +* Sun Feb 17 2008 James Bowes 1.5.4.2-1 +- git-1.5.4.2 + +* Mon Feb 11 2008 Jeremy Katz - 1.5.4.1-2 +- Add upstream patch (e62a641de17b172ffc4d3a803085c8afbfbec3d1) to have + gitweb rss feeds point be commitdiffs instead of commit + +* Sun Feb 10 2008 James Bowes 1.5.4.1-1 +- git-1.5.4.1 + +* Tue Feb 05 2008 Tom "spot" Callaway 1.5.4-3 +- rebuild for new perl + +* Sun Feb 03 2008 James Bowes 1.5.4-1 +- Add BuidRequires on gettext. + +* Sat Feb 02 2008 James Bowes 1.5.4-1 +- git-1.5.4 + +* Tue Jan 08 2008 James Bowes 1.5.3.8-1 +- git-1.5.3.8 + +* Fri Dec 21 2007 James Bowes 1.5.3.7-2 +- Have git metapackage require explicit versions (bug 247214) + +* Mon Dec 03 2007 Josh Boyer 1.5.3.7-1 +- git-1.5.3.7 + +* Tue Nov 27 2007 Josh Boyer 1.5.3.6-1 +- git-1.5.3.6 +- git-core requires perl(Error) (bug 367861) +- git-svn requires perl(Term:ReadKey) (bug 261361) +- git-email requires perl-Git (bug 333061) + +* Wed Oct 24 2007 Lubomir Kundrak 1.5.3.4-2 +- git-Perl requires Error package + +* Tue Oct 09 2007 James Bowes 1.5.3.4-1 +- git-1.5.3.4 + +* Sun Sep 30 2007 James Bowes 1.5.3.3-1 - git-1.5.3.3 -* Mon Jul 23 2007 James Bowes 1.5.2.1-3 -- Remove the git-arch subpackage (tla is not in epel). +* Wed Sep 26 2007 James Bowes 1.5.3.2-1 +- git-1.5.3.2 -* Fri Jun 22 2007 James Bowes 1.5.2.1-2 -- Remove buildreq on perl(Error) and perl-devel for el5. +* Thu Sep 06 2007 Josh Boyer 1.5.3.1-2 +- Include git-gui and git-citool docs + +* Thu Sep 06 2007 Josh Boyer 1.5.3.1-1 +- git-1.5.3.1-1 + +* Thu Aug 23 2007 James Bowes 1.5.2.5-1 +- git-1.5.2.5-1 + +* Fri Aug 03 2007 Josh Boyer 1.5.2.4-1 +- git-1.5.2.4-1 + +* Tue Jul 03 2007 Josh Boyer 1.5.2.2-3 +- Add git-daemon and gitweb packages + +* Thu Jun 21 2007 Josh Boyer 1.5.2.2-2 +- Add emacs-git package (#235431) + +* Mon Jun 18 2007 James Bowes 1.5.2.2-1 +- git-1.5.2.2 * Fri Jun 08 2007 James Bowes 1.5.2.1-1 - git-1.5.2.1 @@ -392,7 +937,7 @@ rm -rf $RPM_BUILD_ROOT * Tue Jan 10 2006 Chris Wright 1.1.0-1 - Update to latest git-1.1.0 (drop git-email for now) - Now creates multiple packages: -- git-core, git-svn, git-cvs, git-arch, gitk +- git-core, git-svn, git-cvs, git-arch, gitk * Mon Nov 14 2005 H. Peter Anvin 0.99.9j-1 - Change subpackage names to git- instead of git-core- @@ -429,7 +974,7 @@ rm -rf $RPM_BUILD_ROOT * Wed Aug 17 2005 Tom "spot" Callaway 0.99.4-3 - use dist tag to differentiate between branches - use rpm optflags by default (patch0) -- own %{_datadir}/git-core/ +- own %%{_datadir}/git-core/ * Mon Aug 15 2005 Chris Wright - update spec file to fix Buildroot, Requires, and drop Vendor diff --git a/git.xinetd b/git.xinetd deleted file mode 100644 index dcfae91..0000000 --- a/git.xinetd +++ /dev/null @@ -1,16 +0,0 @@ -# default: off -# description: The git dæmon allows git repositories to be exported using -# the git:// protocol. - -service git -{ - disable = yes - socket_type = stream - wait = no - user = nobody - server = /usr/bin/git-daemon - server_args = --base-path=/srv/git --export-all --user-path=public_git --syslog --inetd --verbose - log_on_failure += USERID -# xinetd doesn't do this by default. bug #195265 - flags = IPv6 -} diff --git a/git.xinetd.in b/git.xinetd.in new file mode 100644 index 0000000..540e070 --- /dev/null +++ b/git.xinetd.in @@ -0,0 +1,14 @@ +# default: off +# description: The git dæmon allows git repositories to be exported using \ +# the git:// protocol. + +service git +{ + disable = yes + socket_type = stream + wait = no + user = nobody + server = @GITCOREDIR@/git-daemon + server_args = --base-path=@BASE_PATH@ --export-all --user-path=public_git --syslog --inetd --verbose + log_on_failure += USERID +} diff --git a/gitweb.conf.in b/gitweb.conf.in new file mode 100644 index 0000000..c04a96b --- /dev/null +++ b/gitweb.conf.in @@ -0,0 +1,53 @@ +# The gitweb config file is a fragment of perl code. You can set variables +# using "our $variable = value"; text from "#" character until the end of a +# line is ignored. See perlsyn(1) man page for details. +# +# See /usr/share/doc/gitweb-*/README and /usr/share/doc/gitweb-*/INSTALL for +# more details and available configuration variables. + +# Set the path to git projects. This is an absolute filesystem path which will +# be prepended to the project path. +#our $projectroot = "@PROJECTROOT@"; + +# Set the list of git base URLs used for URL to where fetch project from, i.e. +# the full URL is "$git_base_url/$project". By default this is empty +#our @git_base_url_list = qw(git://git.example.com +# ssh://git.example.com@PROJECTROOT@); + +# Enable the 'blame' blob view, showing the last commit that modified +# each line in the file. This can be very CPU-intensive. Disabled by default +#$feature{'blame'}{'default'} = [1]; +# +# Allow projects to override the default setting via git config file. +# Example: gitweb.blame = 0|1; +#$feature{'blame'}{'override'} = 1; + +# Disable the 'snapshot' link, providing a compressed archive of any tree. This +# can potentially generate high traffic if you have large project. Enabled for +# .tar.gz snapshots by default. +# +# Value is a list of formats defined in %known_snapshot_formats that you wish +# to offer. +#$feature{'snapshot'}{'default'} = []; +# +# Allow projects to override the default setting via git config file. +# Example: gitweb.snapshot = tbz2,zip; (use "none" to disable) +#$feature{'snapshot'}{'override'} = 1; + +# Disable grep search, which will list the files in currently selected tree +# containing the given string. This can be potentially CPU-intensive, of +# course. Enabled by default. +#$feature{'grep'}{'default'} = [0]; +# +# Allow projects to override the default setting via git config file. +# Example: gitweb.grep = 0|1; +#$feature{'grep'}{'override'} = 1; + +# Disable the pickaxe search, which will list the commits that modified a given +# string in a file. This can be practical and quite faster alternative to +# 'blame', but still potentially CPU-intensive. Enabled by default. +#$feature{'pickaxe'}{'default'} = [0]; +# +# Allow projects to override the default setting via git config file. +# Example: gitweb.pickaxe = 0|1; +#$feature{'pickaxe'}{'override'} = 1; diff --git a/sources b/sources index b92755f..0faef81 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -d2c201a2a5edaf36340075cffdb30e57 git-1.5.5.6.tar.gz +76898de4566d11c0d0eec7e99edc2b5c git-1.7.4.1.tar.bz2