From 06d5535acb29af97f8b0c632fd88d598d8460966 Mon Sep 17 00:00:00 2001 From: Kacper Kornet Date: Fri, 7 Nov 2014 17:08:43 +0000 Subject: [PATCH] - up to 0.10.2 --- cgit-git-2.0.3.patch | 136 +++++++++++++++++++++++++++++++++++++++++++ cgit.spec | 9 ++- 2 files changed, 142 insertions(+), 3 deletions(-) create mode 100644 cgit-git-2.0.3.patch diff --git a/cgit-git-2.0.3.patch b/cgit-git-2.0.3.patch new file mode 100644 index 0000000..f0178dd --- /dev/null +++ b/cgit-git-2.0.3.patch @@ -0,0 +1,136 @@ +commit 93d8ef8f1de4385c565049e1ccd7fdd25e6c14d7 +Author: John Keeping +Date: Sun Jul 27 11:56:18 2014 +0100 + + parsing.c: make commit buffer const + + This will be required in order to incorporate the changes to commit + buffer handling in Git 2.0.2. + + Signed-off-by: John Keeping + +diff --git a/parsing.c b/parsing.c +index 073f46f..edb3416 100644 +--- a/parsing.c ++++ b/parsing.c +@@ -69,9 +69,9 @@ static char *substr(const char *head, const char *tail) + return buf; + } + +-static char *parse_user(char *t, char **name, char **email, unsigned long *date) ++static const char *parse_user(const char *t, char **name, char **email, unsigned long *date) + { +- char *p = t; ++ const char *p = t; + int mode = 1; + + while (p && *p) { +@@ -132,7 +132,7 @@ static const char *reencode(char **txt, const char *src_enc, const char *dst_enc + struct commitinfo *cgit_parse_commit(struct commit *commit) + { + struct commitinfo *ret; +- char *p = commit->buffer, *t; ++ const char *p = commit->buffer, *t; + + ret = xmalloc(sizeof(*ret)); + ret->commit = commit; +@@ -223,7 +223,7 @@ struct taginfo *cgit_parse_tag(struct tag *tag) + void *data; + enum object_type type; + unsigned long size; +- char *p; ++ const char *p; + struct taginfo *ret; + + data = read_sha1_file(tag->object.sha1, &type, &size); +commit 865afe0eb1b5e6485fe0f65472e6635266e393b1 +Author: John Keeping +Date: Sun Jul 27 11:56:19 2014 +0100 + + git: update to v2.0.3 + + This is slightly more involved than just bumping the version number + because it pulls in a change to convert the commit buffer to a slab, + removing the "buffer" field from "struct commit". All sites that access + "commit->buffer" have been changed to use the new functions provided for + this purpose. + + Signed-off-by: John Keeping + +diff --git a/Makefile b/Makefile +index bf8be02..93b525a 100644 +--- a/Makefile ++++ b/Makefile +@@ -14,7 +14,7 @@ htmldir = $(docdir) + pdfdir = $(docdir) + mandir = $(prefix)/share/man + SHA1_HEADER = +-GIT_VER = 2.0.1 ++GIT_VER = 2.0.3 + GIT_URL = https://www.kernel.org/pub/software/scm/git/git-$(GIT_VER).tar.gz + INSTALL = install + COPYTREE = cp -r +diff --git a/parsing.c b/parsing.c +index edb3416..3dbd122 100644 +--- a/parsing.c ++++ b/parsing.c +@@ -132,7 +132,8 @@ static const char *reencode(char **txt, const char *src_enc, const char *dst_enc + struct commitinfo *cgit_parse_commit(struct commit *commit) + { + struct commitinfo *ret; +- const char *p = commit->buffer, *t; ++ const char *p = get_cached_commit_buffer(commit, NULL); ++ const char *t; + + ret = xmalloc(sizeof(*ret)); + ret->commit = commit; +diff --git a/ui-atom.c b/ui-atom.c +index b22d745..e2b39ee 100644 +--- a/ui-atom.c ++++ b/ui-atom.c +@@ -133,8 +133,7 @@ void cgit_print_atom(char *tip, char *path, int max_count) + } + while ((commit = get_revision(&rev)) != NULL) { + add_entry(commit, host); +- free(commit->buffer); +- commit->buffer = NULL; ++ free_commit_buffer(commit); + free_commit_list(commit->parents); + commit->parents = NULL; + } +diff --git a/ui-log.c b/ui-log.c +index b5846e4..bcdb666 100644 +--- a/ui-log.c ++++ b/ui-log.c +@@ -388,16 +388,14 @@ void cgit_print_log(const char *tip, int ofs, int cnt, char *grep, char *pattern + ofs = 0; + + for (i = 0; i < ofs && (commit = get_revision(&rev)) != NULL; i++) { +- free(commit->buffer); +- commit->buffer = NULL; ++ free_commit_buffer(commit); + free_commit_list(commit->parents); + commit->parents = NULL; + } + + for (i = 0; i < cnt && (commit = get_revision(&rev)) != NULL; i++) { + print_commit(commit, &rev); +- free(commit->buffer); +- commit->buffer = NULL; ++ free_commit_buffer(commit); + free_commit_list(commit->parents); + commit->parents = NULL; + } +diff --git a/ui-stats.c b/ui-stats.c +index bc27308..6f13c32 100644 +--- a/ui-stats.c ++++ b/ui-stats.c +@@ -244,7 +244,7 @@ static struct string_list collect_stats(struct cgit_period *period) + memset(&authors, 0, sizeof(authors)); + while ((commit = get_revision(&rev)) != NULL) { + add_commit(&authors, commit, period); +- free(commit->buffer); ++ free_commit_buffer(commit); + free_commit_list(commit->parents); + } + return authors; diff --git a/cgit.spec b/cgit.spec index 4fea420..8ead37a 100644 --- a/cgit.spec +++ b/cgit.spec @@ -1,18 +1,19 @@ Summary: cgit - a fast webinterface to git Summary(pl.UTF-8): cgit - szybki interfejs WWW do gita Name: cgit -Version: 0.10.1 +Version: 0.10.2 Release: 1 License: GPL v2 Group: Development/Tools Source0: http://git.zx2c4.com/cgit/snapshot/%{name}-%{version}.tar.xz -# Source0-md5: 060ef0aa95ebda6ea7daf823214bc4d0 +# Source0-md5: 6682d597f6e3e76645a254c7be537bd3 Source1: %{name}.conf Source2: %{name}-repo.conf Source3: %{name}-apache.conf Patch0: %{name}-system-git.patch +Patch1: %{name}-git-2.0.3.patch URL: http://git.zx2c4.com/cgit/about/ -BuildRequires: git-core-devel >= 1.9.0 +BuildRequires: git-core-devel >= 2.0.3 BuildRequires: lua52-devel BuildRequires: openssl-devel BuildConflicts: zlib-devel = 1.2.5-1 @@ -43,6 +44,7 @@ HTML zapisany jest na dysku dla kolejnych żądań. %prep %setup -q %patch0 -p1 +%patch1 -p1 cp %{_includedir}/git-core/{Makefile,config.*} git %build @@ -112,6 +114,7 @@ rm -rf $RPM_BUILD_ROOT %attr(755,root,root) %{_prefix}/lib/cgit/filters/commit-links.sh %attr(655,root,root) %{_prefix}/lib/cgit/filters/email-gravatar.lua %attr(755,root,root) %{_prefix}/lib/cgit/filters/email-gravatar.py +%attr(655,root,root) %{_prefix}/lib/cgit/filters/email-libravatar.lua %attr(655,root,root) %{_prefix}/lib/cgit/filters/simple-authentication.lua %attr(755,root,root) %{_prefix}/lib/cgit/filters/syntax-highlighting.py %attr(755,root,root) %{_prefix}/lib/cgit/filters/syntax-highlighting.sh -- 2.43.0