From 283408564162619d0c3929772e33418e5ffa30fe Mon Sep 17 00:00:00 2001 From: Todd Zullinger Date: Jan 02 2022 06:13:23 +0000 Subject: build with git-2.34.1 Apply the patches Christian Hesse has regularly posted upstream to track the current git release. Just because it's bundled doesn't mean it should fall so far behind. While here, update the comment regarding bundled git provides. It is neither safe nor fair to assume that the security team are the folks interested in tracking the bundled git, nor that they are all guys. :) --- diff --git a/cgit-1.2.3-update-to-git-2.34.1.patch b/cgit-1.2.3-update-to-git-2.34.1.patch new file mode 100644 index 0000000..3e47d41 --- /dev/null +++ b/cgit-1.2.3-update-to-git-2.34.1.patch @@ -0,0 +1,1003 @@ +From 0462f08d8508978256118769b3e6dc89773a1367 Mon Sep 17 00:00:00 2001 +From: Christian Hesse +Date: Mon, 9 Mar 2020 09:51:05 +0100 +Subject: [PATCH] git: update to v2.26.0 + +Update to git version v2.26.0. + +No changes required. + +Signed-off-by: Christian Hesse +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 49109ad..b50159f 100644 +--- a/Makefile ++++ b/Makefile +@@ -14,7 +14,7 @@ htmldir = $(docdir) + pdfdir = $(docdir) + mandir = $(prefix)/share/man + SHA1_HEADER = +-GIT_VER = 2.25.1 ++GIT_VER = 2.26.0 + GIT_URL = https://www.kernel.org/pub/software/scm/git/git-$(GIT_VER).tar.xz + INSTALL = install + COPYTREE = cp -r +From f780396c0afa6015a05025c6404a560252605319 Mon Sep 17 00:00:00 2001 +From: Christian Hesse +Date: Tue, 2 Jun 2020 10:10:15 +0200 +Subject: [PATCH] git: update to v2.27.0 + +Update to git version v2.27.0. + +No changes required. + +Signed-off-by: Christian Hesse +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index b50159f..5c8fa8c 100644 +--- a/Makefile ++++ b/Makefile +@@ -14,7 +14,7 @@ htmldir = $(docdir) + pdfdir = $(docdir) + mandir = $(prefix)/share/man + SHA1_HEADER = +-GIT_VER = 2.26.0 ++GIT_VER = 2.27.0 + GIT_URL = https://www.kernel.org/pub/software/scm/git/git-$(GIT_VER).tar.xz + INSTALL = install + COPYTREE = cp -r +From 205837d4684f331afa93c946cbdfa1fa9b3d1ce9 Mon Sep 17 00:00:00 2001 +From: Christian Hesse +Date: Mon, 27 Jul 2020 20:36:14 +0200 +Subject: [PATCH] git: update to v2.28.0 + +Update to git version v2.28.0. + +No changes required. + +Signed-off-by: Christian Hesse +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 5c8fa8c..84822f0 100644 +--- a/Makefile ++++ b/Makefile +@@ -14,7 +14,7 @@ htmldir = $(docdir) + pdfdir = $(docdir) + mandir = $(prefix)/share/man + SHA1_HEADER = +-GIT_VER = 2.27.0 ++GIT_VER = 2.28.0 + GIT_URL = https://www.kernel.org/pub/software/scm/git/git-$(GIT_VER).tar.xz + INSTALL = install + COPYTREE = cp -r +From 629659d2cffbf059374fc53e6400ff0bebe1ddde Mon Sep 17 00:00:00 2001 +From: Christian Hesse +Date: Tue, 6 Oct 2020 16:32:08 +0200 +Subject: [PATCH] git: update to v2.29.0 + +Update to git version v2.29.0, this requires changes for these +upstream commits: + +* dbbcd44fb47347a3fdbee88ea21805b7f4ac0b98 + strvec: rename files from argv-array to strvec + +* 873cd28a8b17ff21908c78c7929a7615f8c94992 + argv-array: rename to strvec + +* d70a9eb611a9d242c1d26847d223b8677609305b + strvec: rename struct fields + +* 6a67c759489e1025665adf78326e9e0d0981bab5 + test-lib-functions: restrict test_must_fail usage + +Signed-off-by: Christian Hesse +--- + Makefile | 2 +- + cgit.h | 2 +- + tests/t0109-gitconfig.sh | 2 +- + ui-blame.c | 10 +++++----- + ui-log.c | 30 +++++++++++++++--------------- + ui-snapshot.c | 24 ++++++++++++------------ + 6 files changed, 35 insertions(+), 35 deletions(-) + +diff --git a/Makefile b/Makefile +index 84822f0..c947b63 100644 +--- a/Makefile ++++ b/Makefile +@@ -14,7 +14,7 @@ htmldir = $(docdir) + pdfdir = $(docdir) + mandir = $(prefix)/share/man + SHA1_HEADER = +-GIT_VER = 2.28.0 ++GIT_VER = 2.29.0 + GIT_URL = https://www.kernel.org/pub/software/scm/git/git-$(GIT_VER).tar.xz + INSTALL = install + COPYTREE = cp -r +diff --git a/cgit.h b/cgit.h +index 7ec46b4..f5db364 100644 +--- a/cgit.h ++++ b/cgit.h +@@ -14,7 +14,7 @@ + #include + #include + #include +-#include ++#include + #include + #include + #include +diff --git a/tests/t0109-gitconfig.sh b/tests/t0109-gitconfig.sh +index 8cee75c..189ef28 100755 +--- a/tests/t0109-gitconfig.sh ++++ b/tests/t0109-gitconfig.sh +@@ -25,7 +25,7 @@ test_no_home_access () { + -E CGIT_CONFIG="$PWD/cgitrc" \ + -E QUERY_STRING="url=$1" \ + -e access -f -o strace.out cgit && +- test_must_fail grep "$non_existent_path" strace.out ++ ! grep "$non_existent_path" strace.out + } + + test_no_home_access_success() { +diff --git a/ui-blame.c b/ui-blame.c +index f28eea0..c3662bb 100644 +--- a/ui-blame.c ++++ b/ui-blame.c +@@ -10,7 +10,7 @@ + #include "ui-blame.h" + #include "html.h" + #include "ui-shared.h" +-#include "argv-array.h" ++#include "strvec.h" + #include "blame.h" + + +@@ -104,7 +104,7 @@ static void print_object(const struct object_id *oid, const char *path, + enum object_type type; + char *buf; + unsigned long size; +- struct argv_array rev_argv = ARGV_ARRAY_INIT; ++ struct strvec rev_argv = STRVEC_INIT; + struct rev_info revs; + struct blame_scoreboard sb; + struct blame_origin *o; +@@ -124,11 +124,11 @@ static void print_object(const struct object_id *oid, const char *path, + return; + } + +- argv_array_push(&rev_argv, "blame"); +- argv_array_push(&rev_argv, rev); ++ strvec_push(&rev_argv, "blame"); ++ strvec_push(&rev_argv, rev); + init_revisions(&revs, NULL); + revs.diffopt.flags.allow_textconv = 1; +- setup_revisions(rev_argv.argc, rev_argv.argv, &revs, NULL); ++ setup_revisions(rev_argv.nr, rev_argv.v, &revs, NULL); + init_scoreboard(&sb); + sb.revs = &revs; + sb.repo = the_repository; +diff --git a/ui-log.c b/ui-log.c +index 2939c01..fd07409 100644 +--- a/ui-log.c ++++ b/ui-log.c +@@ -10,7 +10,7 @@ + #include "ui-log.h" + #include "html.h" + #include "ui-shared.h" +-#include "argv-array.h" ++#include "strvec.h" + + static int files, add_lines, rem_lines, lines_counted; + +@@ -366,23 +366,23 @@ void cgit_print_log(const char *tip, int ofs, int cnt, char *grep, char *pattern + { + struct rev_info rev; + struct commit *commit; +- struct argv_array rev_argv = ARGV_ARRAY_INIT; ++ struct strvec rev_argv = STRVEC_INIT; + int i, columns = commit_graph ? 4 : 3; + int must_free_tip = 0; + + /* rev_argv.argv[0] will be ignored by setup_revisions */ +- argv_array_push(&rev_argv, "log_rev_setup"); ++ strvec_push(&rev_argv, "log_rev_setup"); + + if (!tip) + tip = ctx.qry.head; + tip = disambiguate_ref(tip, &must_free_tip); +- argv_array_push(&rev_argv, tip); ++ strvec_push(&rev_argv, tip); + + if (grep && pattern && *pattern) { + pattern = xstrdup(pattern); + if (!strcmp(grep, "grep") || !strcmp(grep, "author") || + !strcmp(grep, "committer")) { +- argv_array_pushf(&rev_argv, "--%s=%s", grep, pattern); ++ strvec_pushf(&rev_argv, "--%s=%s", grep, pattern); + } else if (!strcmp(grep, "range")) { + char *arg; + /* Split the pattern at whitespace and add each token +@@ -390,14 +390,14 @@ void cgit_print_log(const char *tip, int ofs, int cnt, char *grep, char *pattern + * rev-list options. Also, replace the previously + * pushed tip (it's no longer relevant). + */ +- argv_array_pop(&rev_argv); ++ strvec_pop(&rev_argv); + while ((arg = next_token(&pattern))) { + if (*arg == '-') { + fprintf(stderr, "Bad range expr: %s\n", + arg); + break; + } +- argv_array_push(&rev_argv, arg); ++ strvec_push(&rev_argv, arg); + } + } + } +@@ -412,22 +412,22 @@ void cgit_print_log(const char *tip, int ofs, int cnt, char *grep, char *pattern + } + + if (commit_graph && !ctx.qry.follow) { +- argv_array_push(&rev_argv, "--graph"); +- argv_array_push(&rev_argv, "--color"); ++ strvec_push(&rev_argv, "--graph"); ++ strvec_push(&rev_argv, "--color"); + graph_set_column_colors(column_colors_html, + COLUMN_COLORS_HTML_MAX); + } + + if (commit_sort == 1) +- argv_array_push(&rev_argv, "--date-order"); ++ strvec_push(&rev_argv, "--date-order"); + else if (commit_sort == 2) +- argv_array_push(&rev_argv, "--topo-order"); ++ strvec_push(&rev_argv, "--topo-order"); + + if (path && ctx.qry.follow) +- argv_array_push(&rev_argv, "--follow"); +- argv_array_push(&rev_argv, "--"); ++ strvec_push(&rev_argv, "--follow"); ++ strvec_push(&rev_argv, "--"); + if (path) +- argv_array_push(&rev_argv, path); ++ strvec_push(&rev_argv, path); + + init_revisions(&rev, NULL); + rev.abbrev = DEFAULT_ABBREV; +@@ -436,7 +436,7 @@ void cgit_print_log(const char *tip, int ofs, int cnt, char *grep, char *pattern + rev.show_root_diff = 0; + rev.ignore_missing = 1; + rev.simplify_history = 1; +- setup_revisions(rev_argv.argc, rev_argv.argv, &rev, NULL); ++ setup_revisions(rev_argv.nr, rev_argv.v, &rev, NULL); + load_ref_decorations(NULL, DECORATE_FULL_REFS); + rev.show_decorations = 1; + rev.grep_filter.ignore_case = 1; +diff --git a/ui-snapshot.c b/ui-snapshot.c +index 556d3ed..18361a6 100644 +--- a/ui-snapshot.c ++++ b/ui-snapshot.c +@@ -13,32 +13,32 @@ + + static int write_archive_type(const char *format, const char *hex, const char *prefix) + { +- struct argv_array argv = ARGV_ARRAY_INIT; ++ struct strvec argv = STRVEC_INIT; + const char **nargv; + int result; +- argv_array_push(&argv, "snapshot"); +- argv_array_push(&argv, format); ++ strvec_push(&argv, "snapshot"); ++ strvec_push(&argv, format); + if (prefix) { + struct strbuf buf = STRBUF_INIT; + strbuf_addstr(&buf, prefix); + strbuf_addch(&buf, '/'); +- argv_array_push(&argv, "--prefix"); +- argv_array_push(&argv, buf.buf); ++ strvec_push(&argv, "--prefix"); ++ strvec_push(&argv, buf.buf); + strbuf_release(&buf); + } +- argv_array_push(&argv, hex); ++ strvec_push(&argv, hex); + /* + * Now we need to copy the pointers to arguments into a new + * structure because write_archive will rearrange its arguments + * which may result in duplicated/missing entries causing leaks +- * or double-frees in argv_array_clear. ++ * or double-frees in strvec_clear. + */ +- nargv = xmalloc(sizeof(char *) * (argv.argc + 1)); +- /* argv_array guarantees a trailing NULL entry. */ +- memcpy(nargv, argv.argv, sizeof(char *) * (argv.argc + 1)); ++ nargv = xmalloc(sizeof(char *) * (argv.nr + 1)); ++ /* strvec guarantees a trailing NULL entry. */ ++ memcpy(nargv, argv.v, sizeof(char *) * (argv.nr + 1)); + +- result = write_archive(argv.argc, nargv, NULL, the_repository, NULL, 0); +- argv_array_clear(&argv); ++ result = write_archive(argv.nr, nargv, NULL, the_repository, NULL, 0); ++ strvec_clear(&argv); + free(nargv); + return result; + } +From fe99c76ee477f91d6d983486491603109c7b2599 Mon Sep 17 00:00:00 2001 +From: Christian Hesse +Date: Tue, 27 Oct 2020 10:39:46 +0100 +Subject: [PATCH] git: update to v2.29.1 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Update to git version v2.29.1. No functional change, but we want latest +and greated version number, no? 😜 + +Signed-off-by: Christian Hesse +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index c947b63..eb60388 100644 +--- a/Makefile ++++ b/Makefile +@@ -14,7 +14,7 @@ htmldir = $(docdir) + pdfdir = $(docdir) + mandir = $(prefix)/share/man + SHA1_HEADER = +-GIT_VER = 2.29.0 ++GIT_VER = 2.29.1 + GIT_URL = https://www.kernel.org/pub/software/scm/git/git-$(GIT_VER).tar.xz + INSTALL = install + COPYTREE = cp -r +From b1739247b17524460282f63fa240b3f34501e000 Mon Sep 17 00:00:00 2001 +From: Christian Hesse +Date: Fri, 30 Oct 2020 22:22:32 +0100 +Subject: [PATCH] git: update to v2.29.2 + +Update to git version v2.29.2. + +No changes required. + +Signed-off-by: Christian Hesse +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index eb60388..1a8f496 100644 +--- a/Makefile ++++ b/Makefile +@@ -14,7 +14,7 @@ htmldir = $(docdir) + pdfdir = $(docdir) + mandir = $(prefix)/share/man + SHA1_HEADER = +-GIT_VER = 2.29.1 ++GIT_VER = 2.29.2 + GIT_URL = https://www.kernel.org/pub/software/scm/git/git-$(GIT_VER).tar.xz + INSTALL = install + COPYTREE = cp -r +From cef27b670a66c9840bb6120260864e4b3a701dc2 Mon Sep 17 00:00:00 2001 +From: Christian Hesse +Date: Mon, 28 Dec 2020 23:27:13 +0100 +Subject: [PATCH] git: update to v2.30.0 + +Update to git version v2.30.0, this requires changes for these +upstream commits: + +* 88894aaeeae92e8cb41143cc2e045f50289dc790 + blame: simplify 'setup_scoreboard' interface + +* 1fbfdf556f2abc708183caca53ae4e2881b46ae2 + banned.h: mark non-reentrant gmtime, etc as banned + +Signed-off-by: Christian Hesse +--- + Makefile | 2 +- + cache.c | 6 +++--- + ui-blame.c | 3 ++- + ui-shared.c | 9 +++++---- + ui-stats.c | 48 ++++++++++++++++++++++++------------------------ + 5 files changed, 35 insertions(+), 33 deletions(-) + +diff --git a/Makefile b/Makefile +index 1a8f496..6dfc003 100644 +--- a/Makefile ++++ b/Makefile +@@ -14,7 +14,7 @@ htmldir = $(docdir) + pdfdir = $(docdir) + mandir = $(prefix)/share/man + SHA1_HEADER = +-GIT_VER = 2.29.2 ++GIT_VER = 2.30.0 + GIT_URL = https://www.kernel.org/pub/software/scm/git/git-$(GIT_VER).tar.xz + INSTALL = install + COPYTREE = cp -r +diff --git a/cache.c b/cache.c +index 2c70be7..55199e8 100644 +--- a/cache.c ++++ b/cache.c +@@ -401,12 +401,12 @@ int cache_process(int size, const char *path, const char *key, int ttl, + static char *sprintftime(const char *format, time_t time) + { + static char buf[64]; +- struct tm *tm; ++ struct tm tm; + + if (!time) + return NULL; +- tm = gmtime(&time); +- strftime(buf, sizeof(buf)-1, format, tm); ++ gmtime_r(&time, &tm); ++ strftime(buf, sizeof(buf)-1, format, &tm); + return buf; + } + +diff --git a/ui-blame.c b/ui-blame.c +index cfab7fb..ec1d888 100644 +--- a/ui-blame.c ++++ b/ui-blame.c +@@ -132,7 +132,8 @@ static void print_object(const struct object_id *oid, const char *path, + init_scoreboard(&sb); + sb.revs = &revs; + sb.repo = the_repository; +- setup_scoreboard(&sb, path, &o); ++ sb.path = path; ++ setup_scoreboard(&sb, &o); + o->suspects = blame_entry_prepend(NULL, 0, sb.num_lines, o); + prio_queue_put(&sb.commits, o->commit); + blame_origin_decref(o); +diff --git a/ui-shared.c b/ui-shared.c +index 151ac17..acd8ab5 100644 +--- a/ui-shared.c ++++ b/ui-shared.c +@@ -22,10 +22,11 @@ static char *http_date(time_t t) + static char month[][4] = + {"Jan", "Feb", "Mar", "Apr", "May", "Jun", + "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}; +- struct tm *tm = gmtime(&t); +- return fmt("%s, %02d %s %04d %02d:%02d:%02d GMT", day[tm->tm_wday], +- tm->tm_mday, month[tm->tm_mon], 1900 + tm->tm_year, +- tm->tm_hour, tm->tm_min, tm->tm_sec); ++ struct tm tm; ++ gmtime_r(&t, &tm); ++ return fmt("%s, %02d %s %04d %02d:%02d:%02d GMT", day[tm.tm_wday], ++ tm.tm_mday, month[tm.tm_mon], 1900 + tm.tm_year, ++ tm.tm_hour, tm.tm_min, tm.tm_sec); + } + + void cgit_print_error(const char *fmt, ...) +diff --git a/ui-stats.c b/ui-stats.c +index 7272a61..09b3625 100644 +--- a/ui-stats.c ++++ b/ui-stats.c +@@ -166,7 +166,7 @@ static void add_commit(struct string_list *authors, struct commit *commit, + struct authorstat *authorstat; + struct string_list *items; + char *tmp; +- struct tm *date; ++ struct tm date; + time_t t; + uintptr_t *counter; + +@@ -180,9 +180,9 @@ static void add_commit(struct string_list *authors, struct commit *commit, + authorstat = author->util; + items = &authorstat->list; + t = info->committer_date; +- date = gmtime(&t); +- period->trunc(date); +- tmp = xstrdup(period->pretty(date)); ++ gmtime_r(&t, &date); ++ period->trunc(&date); ++ tmp = xstrdup(period->pretty(&date)); + item = string_list_insert(items, tmp); + counter = (uintptr_t *)&item->util; + if (*counter) +@@ -215,15 +215,15 @@ static struct string_list collect_stats(const struct cgit_period *period) + int argc = 3; + time_t now; + long i; +- struct tm *tm; ++ struct tm tm; + char tmp[11]; + + time(&now); +- tm = gmtime(&now); +- period->trunc(tm); ++ gmtime_r(&now, &tm); ++ period->trunc(&tm); + for (i = 1; i < period->count; i++) +- period->dec(tm); +- strftime(tmp, sizeof(tmp), "%Y-%m-%d", tm); ++ period->dec(&tm); ++ strftime(tmp, sizeof(tmp), "%Y-%m-%d", &tm); + argv[2] = xstrdup(fmt("--since=%s", tmp)); + if (ctx.qry.path) { + argv[3] = "--"; +@@ -261,21 +261,21 @@ static void print_combined_authorrow(struct string_list *authors, int from, + struct string_list_item *date; + time_t now; + long i, j, total, subtotal; +- struct tm *tm; ++ struct tm tm; + char *tmp; + + time(&now); +- tm = gmtime(&now); +- period->trunc(tm); ++ gmtime_r(&now, &tm); ++ period->trunc(&tm); + for (i = 1; i < period->count; i++) +- period->dec(tm); ++ period->dec(&tm); + + total = 0; + htmlf("%s", leftclass, + fmt(name, to - from + 1)); + for (j = 0; j < period->count; j++) { +- tmp = period->pretty(tm); +- period->inc(tm); ++ tmp = period->pretty(&tm); ++ period->inc(&tm); + subtotal = 0; + for (i = from; i <= to; i++) { + author = &authors->items[i]; +@@ -300,20 +300,20 @@ static void print_authors(struct string_list *authors, int top, + struct string_list_item *date; + time_t now; + long i, j, total; +- struct tm *tm; ++ struct tm tm; + char *tmp; + + time(&now); +- tm = gmtime(&now); +- period->trunc(tm); ++ gmtime_r(&now, &tm); ++ period->trunc(&tm); + for (i = 1; i < period->count; i++) +- period->dec(tm); ++ period->dec(&tm); + + html(""); + for (j = 0; j < period->count; j++) { +- tmp = period->pretty(tm); ++ tmp = period->pretty(&tm); + htmlf("", tmp); +- period->inc(tm); ++ period->inc(&tm); + } + html("\n"); + +@@ -329,10 +329,10 @@ static void print_authors(struct string_list *authors, int top, + items = &authorstat->list; + total = 0; + for (j = 0; j < period->count; j++) +- period->dec(tm); ++ period->dec(&tm); + for (j = 0; j < period->count; j++) { +- tmp = period->pretty(tm); +- period->inc(tm); ++ tmp = period->pretty(&tm); ++ period->inc(&tm); + date = string_list_lookup(items, tmp); + if (!date) + html(""); +From 4ffadc1e0c589f9bcfb4a721f5625914ef2d496d Mon Sep 17 00:00:00 2001 +From: Christian Hesse +Date: Wed, 10 Feb 2021 16:13:53 +0100 +Subject: [PATCH] git: update to v2.30.1 + +Update to git version v2.30.1, no additional changes required. + +Signed-off-by: Christian Hesse +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 6dfc003..a4e597b 100644 +--- a/Makefile ++++ b/Makefile +@@ -14,7 +14,7 @@ htmldir = $(docdir) + pdfdir = $(docdir) + mandir = $(prefix)/share/man + SHA1_HEADER = +-GIT_VER = 2.30.0 ++GIT_VER = 2.30.1 + GIT_URL = https://www.kernel.org/pub/software/scm/git/git-$(GIT_VER).tar.xz + INSTALL = install + COPYTREE = cp -r +From d889cae811f27a052317ac5aea23890cba414760 Mon Sep 17 00:00:00 2001 +From: Christian Hesse +Date: Mon, 15 Mar 2021 22:48:26 +0100 +Subject: [PATCH] git: update to v2.31.0 + +Update to git version v2.31.0, this requires changes for these +upstream commits: + +* 36a317929b8f0c67d77d54235f2d20751c576cbb + refs: switch peel_ref() to peel_iterated_oid() + +Signed-off-by: Christian Hesse +--- + Makefile | 2 +- + ui-log.c | 7 ++++--- + 2 files changed, 5 insertions(+), 4 deletions(-) + +diff --git a/Makefile b/Makefile +index a4e597b..11b437b 100644 +--- a/Makefile ++++ b/Makefile +@@ -14,7 +14,7 @@ htmldir = $(docdir) + pdfdir = $(docdir) + mandir = $(prefix)/share/man + SHA1_HEADER = +-GIT_VER = 2.30.1 ++GIT_VER = 2.31.0 + GIT_URL = https://www.kernel.org/pub/software/scm/git/git-$(GIT_VER).tar.xz + INSTALL = install + COPYTREE = cp -r +diff --git a/ui-log.c b/ui-log.c +index 6914f75..20774bf 100644 +--- a/ui-log.c ++++ b/ui-log.c +@@ -65,8 +65,9 @@ void show_commit_decorations(struct commit *commit) + return; + html(""); + while (deco) { +- struct object_id peeled; ++ struct object_id oid_tag, peeled; + int is_annotated = 0; ++ + strlcpy(buf, prettify_refname(deco->name), sizeof(buf)); + switch(deco->type) { + case DECORATION_NONE: +@@ -79,8 +80,8 @@ void show_commit_decorations(struct commit *commit) + ctx.qry.showmsg, 0); + break; + case DECORATION_REF_TAG: +- if (!peel_ref(deco->name, &peeled)) +- is_annotated = !oidcmp(&commit->object.oid, &peeled); ++ if (!read_ref(deco->name, &oid_tag) && !peel_iterated_oid(&oid_tag, &peeled)) ++ is_annotated = !oideq(&oid_tag, &peeled); + cgit_tag_link(buf, NULL, is_annotated ? "tag-annotated-deco" : "tag-deco", buf); + break; + case DECORATION_REF_REMOTE: +From 6dbbffe01533a91c79c4497c80f46af8e1581e25 Mon Sep 17 00:00:00 2001 +From: Christian Hesse +Date: Tue, 18 May 2021 21:54:23 +0200 +Subject: [PATCH] git: update to v2.31.1 + +Update to git version v2.31.1, no additional changes required. + +Signed-off-by: Christian Hesse +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 11b437b..abc52bc 100644 +--- a/Makefile ++++ b/Makefile +@@ -14,7 +14,7 @@ htmldir = $(docdir) + pdfdir = $(docdir) + mandir = $(prefix)/share/man + SHA1_HEADER = +-GIT_VER = 2.31.0 ++GIT_VER = 2.31.1 + GIT_URL = https://www.kernel.org/pub/software/scm/git/git-$(GIT_VER).tar.xz + INSTALL = install + COPYTREE = cp -r +From 5258c297ba6fb604ae1415fbc19a3fe42457e49e Mon Sep 17 00:00:00 2001 +From: Christian Hesse +Date: Tue, 18 May 2021 22:49:13 +0200 +Subject: [PATCH] git: update to v2.32.0 + +Update to git version v2.32.0, this requires changes for these +upstream commits: + +* 47957485b3b731a7860e0554d2bd12c0dce1c75a + tree.h API: simplify read_tree_recursive() signature + +Signed-off-by: Christian Hesse +--- + Makefile | 2 +- + ui-blame.c | 9 +++------ + ui-blob.c | 20 ++++++++------------ + ui-plain.c | 7 +++---- + ui-tree.c | 21 ++++++++------------- + 5 files changed, 23 insertions(+), 36 deletions(-) + +diff --git a/Makefile b/Makefile +index abc52bc..d13c5bd 100644 +--- a/Makefile ++++ b/Makefile +@@ -14,7 +14,7 @@ htmldir = $(docdir) + pdfdir = $(docdir) + mandir = $(prefix)/share/man + SHA1_HEADER = +-GIT_VER = 2.31.1 ++GIT_VER = 2.32.0 + GIT_URL = https://www.kernel.org/pub/software/scm/git/git-$(GIT_VER).tar.xz + INSTALL = install + COPYTREE = cp -r +diff --git a/ui-blame.c b/ui-blame.c +index ec1d888..03136f7 100644 +--- a/ui-blame.c ++++ b/ui-blame.c +@@ -221,8 +221,7 @@ cleanup: + } + + static int walk_tree(const struct object_id *oid, struct strbuf *base, +- const char *pathname, unsigned mode, int stage, +- void *cbdata) ++ const char *pathname, unsigned mode, void *cbdata) + { + struct walk_tree_context *walk_tree_ctx = cbdata; + +@@ -291,10 +290,8 @@ void cgit_print_blame(void) + walk_tree_ctx.match_baselen = (path_items.match) ? + basedir_len(path_items.match) : -1; + +- read_tree_recursive(the_repository, +- repo_get_commit_tree(the_repository, commit), +- "", 0, 0, +- &paths, walk_tree, &walk_tree_ctx); ++ read_tree(the_repository, repo_get_commit_tree(the_repository, commit), ++ &paths, walk_tree, &walk_tree_ctx); + if (!walk_tree_ctx.state) + cgit_print_error_page(404, "Not found", "Not found"); + else if (walk_tree_ctx.state == 2) +diff --git a/ui-blob.c b/ui-blob.c +index f76c641..c10ae42 100644 +--- a/ui-blob.c ++++ b/ui-blob.c +@@ -19,7 +19,7 @@ struct walk_tree_context { + }; + + static int walk_tree(const struct object_id *oid, struct strbuf *base, +- const char *pathname, unsigned mode, int stage, void *cbdata) ++ const char *pathname, unsigned mode, void *cbdata) + { + struct walk_tree_context *walk_tree_ctx = cbdata; + +@@ -56,9 +56,9 @@ int cgit_ref_path_exists(const char *path, const char *ref, int file_only) + goto done; + if (oid_object_info(the_repository, &oid, &size) != OBJ_COMMIT) + goto done; +- read_tree_recursive(the_repository, +- repo_get_commit_tree(the_repository, lookup_commit_reference(the_repository, &oid)), +- "", 0, 0, &paths, walk_tree, &walk_tree_ctx); ++ read_tree(the_repository, ++ repo_get_commit_tree(the_repository, lookup_commit_reference(the_repository, &oid)), ++ &paths, walk_tree, &walk_tree_ctx); + + done: + free(path_items.match); +@@ -92,10 +92,8 @@ int cgit_print_file(char *path, const char *head, int file_only) + type = oid_object_info(the_repository, &oid, &size); + if (type == OBJ_COMMIT) { + commit = lookup_commit_reference(the_repository, &oid); +- read_tree_recursive(the_repository, +- repo_get_commit_tree(the_repository, commit), +- "", 0, 0, &paths, walk_tree, +- &walk_tree_ctx); ++ read_tree(the_repository, repo_get_commit_tree(the_repository, commit), ++ &paths, walk_tree, &walk_tree_ctx); + if (!walk_tree_ctx.found_path) + return -1; + type = oid_object_info(the_repository, &oid, &size); +@@ -151,10 +149,8 @@ void cgit_print_blob(const char *hex, char *path, const char *head, int file_onl + + if ((!hex) && type == OBJ_COMMIT && path) { + commit = lookup_commit_reference(the_repository, &oid); +- read_tree_recursive(the_repository, +- repo_get_commit_tree(the_repository, commit), +- "", 0, 0, &paths, walk_tree, +- &walk_tree_ctx); ++ read_tree(the_repository, repo_get_commit_tree(the_repository, commit), ++ &paths, walk_tree, &walk_tree_ctx); + type = oid_object_info(the_repository, &oid, &size); + } + +diff --git a/ui-plain.c b/ui-plain.c +index 001001c..65a205f 100644 +--- a/ui-plain.c ++++ b/ui-plain.c +@@ -130,7 +130,7 @@ static void print_dir_tail(void) + } + + static int walk_tree(const struct object_id *oid, struct strbuf *base, +- const char *pathname, unsigned mode, int stage, void *cbdata) ++ const char *pathname, unsigned mode, void *cbdata) + { + struct walk_tree_context *walk_tree_ctx = cbdata; + +@@ -198,9 +198,8 @@ void cgit_print_plain(void) + } + else + walk_tree_ctx.match_baselen = basedir_len(path_items.match); +- read_tree_recursive(the_repository, +- repo_get_commit_tree(the_repository, commit), +- "", 0, 0, &paths, walk_tree, &walk_tree_ctx); ++ read_tree(the_repository, repo_get_commit_tree(the_repository, commit), ++ &paths, walk_tree, &walk_tree_ctx); + if (!walk_tree_ctx.match) + cgit_print_error_page(404, "Not found", "Not found"); + else if (walk_tree_ctx.match == 2) +diff --git a/ui-tree.c b/ui-tree.c +index 1e4efb2..b61f6f5 100644 +--- a/ui-tree.c ++++ b/ui-tree.c +@@ -139,8 +139,7 @@ struct single_tree_ctx { + }; + + static int single_tree_cb(const struct object_id *oid, struct strbuf *base, +- const char *pathname, unsigned mode, int stage, +- void *cbdata) ++ const char *pathname, unsigned mode, void *cbdata) + { + struct single_tree_ctx *ctx = cbdata; + +@@ -185,8 +184,7 @@ static void write_tree_link(const struct object_id *oid, char *name, + tree_ctx.name = NULL; + tree_ctx.count = 0; + +- read_tree_recursive(the_repository, tree, "", 0, 1, +- &paths, single_tree_cb, &tree_ctx); ++ read_tree(the_repository, tree, &paths, single_tree_cb, &tree_ctx); + + if (tree_ctx.count != 1) + break; +@@ -199,7 +197,7 @@ static void write_tree_link(const struct object_id *oid, char *name, + } + + static int ls_item(const struct object_id *oid, struct strbuf *base, +- const char *pathname, unsigned mode, int stage, void *cbdata) ++ const char *pathname, unsigned mode, void *cbdata) + { + struct walk_tree_context *walk_tree_ctx = cbdata; + char *name; +@@ -294,14 +292,13 @@ static void ls_tree(const struct object_id *oid, const char *path, struct walk_t + } + + ls_head(); +- read_tree_recursive(the_repository, tree, "", 0, 1, +- &paths, ls_item, walk_tree_ctx); ++ read_tree(the_repository, tree, &paths, ls_item, walk_tree_ctx); + ls_tail(); + } + + + static int walk_tree(const struct object_id *oid, struct strbuf *base, +- const char *pathname, unsigned mode, int stage, void *cbdata) ++ const char *pathname, unsigned mode, void *cbdata) + { + struct walk_tree_context *walk_tree_ctx = cbdata; + +@@ -326,7 +323,7 @@ static int walk_tree(const struct object_id *oid, struct strbuf *base, + return 0; + } + } +- ls_item(oid, base, pathname, mode, stage, walk_tree_ctx); ++ ls_item(oid, base, pathname, mode, walk_tree_ctx); + return 0; + } + +@@ -374,10 +371,8 @@ void cgit_print_tree(const char *rev, char *path) + goto cleanup; + } + +- read_tree_recursive(the_repository, +- repo_get_commit_tree(the_repository, commit), +- "", 0, 0, +- &paths, walk_tree, &walk_tree_ctx); ++ read_tree(the_repository, repo_get_commit_tree(the_repository, commit), ++ &paths, walk_tree, &walk_tree_ctx); + if (walk_tree_ctx.state == 1) + ls_tail(); + else if (walk_tree_ctx.state == 2) +From 45eff406554f3ff31bdf7d54daae1da5635db72e Mon Sep 17 00:00:00 2001 +From: Christian Hesse +Date: Sun, 8 Aug 2021 17:55:53 +0200 +Subject: [PATCH] git: update to v2.33.0 + +Update to git version v2.33.0, no additional changes required. + +Signed-off-by: Christian Hesse +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index d13c5bd..b030ff9 100644 +--- a/Makefile ++++ b/Makefile +@@ -14,7 +14,7 @@ htmldir = $(docdir) + pdfdir = $(docdir) + mandir = $(prefix)/share/man + SHA1_HEADER = +-GIT_VER = 2.32.0 ++GIT_VER = 2.33.0 + GIT_URL = https://www.kernel.org/pub/software/scm/git/git-$(GIT_VER).tar.xz + INSTALL = install + COPYTREE = cp -r +From b8f2b675df61e3a4ff4db7073fe7142fc07e8b7a Mon Sep 17 00:00:00 2001 +From: Christian Hesse +Date: Wed, 3 Nov 2021 15:32:17 +0100 +Subject: [PATCH] git: update to v2.34.0 + +Update to git version v2.34.0, this requires changes for these +upstream commits: + +* abf897bacd2d36b9dbd07c70b4a2f97a084704ee + string-list.[ch]: remove string_list_init() compatibility function + +Signed-off-by: Christian Hesse +--- + Makefile | 2 +- + cgit.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Makefile b/Makefile +index b030ff9..9153a39 100644 +--- a/Makefile ++++ b/Makefile +@@ -14,7 +14,7 @@ htmldir = $(docdir) + pdfdir = $(docdir) + mandir = $(prefix)/share/man + SHA1_HEADER = +-GIT_VER = 2.33.0 ++GIT_VER = 2.34.0 + GIT_URL = https://www.kernel.org/pub/software/scm/git/git-$(GIT_VER).tar.xz + INSTALL = install + COPYTREE = cp -r +diff --git a/cgit.c b/cgit.c +index 08d81a1..4b2d86c 100644 +--- a/cgit.c ++++ b/cgit.c +@@ -428,7 +428,7 @@ static void prepare_context(void) + ctx.page.modified = time(NULL); + ctx.page.expires = ctx.page.modified; + ctx.page.etag = NULL; +- string_list_init(&ctx.cfg.mimetypes, 1); ++ string_list_init_dup(&ctx.cfg.mimetypes); + if (ctx.env.script_name) + ctx.cfg.script_name = xstrdup(ctx.env.script_name); + if (ctx.env.query_string) +From 11be5b8182fc71c00c1c00c693f64c97769d77bb Mon Sep 17 00:00:00 2001 +From: Christian Hesse +Date: Wed, 24 Nov 2021 21:12:12 +0100 +Subject: [PATCH] git: update to v2.34.1 + +Update to git version v2.34.1, no additional changes required. + +Signed-off-by: Christian Hesse +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 9153a39..baa7c2d 100644 +--- a/Makefile ++++ b/Makefile +@@ -14,7 +14,7 @@ htmldir = $(docdir) + pdfdir = $(docdir) + mandir = $(prefix)/share/man + SHA1_HEADER = +-GIT_VER = 2.34.0 ++GIT_VER = 2.34.1 + GIT_URL = https://www.kernel.org/pub/software/scm/git/git-$(GIT_VER).tar.xz + INSTALL = install + COPYTREE = cp -r diff --git a/cgit.spec b/cgit.spec index dcf72d7..c59d76b 100644 --- a/cgit.spec +++ b/cgit.spec @@ -1,7 +1,7 @@ # Review bug: https://bugzilla.redhat.com/479723 # Defaults -%global gitver 2.25.1 +%global gitver 2.34.1 %global cachedir %{_localstatedir}/cache/%{name} %global filterdir %{_libexecdir}/%{name}/filters %global scriptdir %{_localstatedir}/www/cgi-bin @@ -31,7 +31,7 @@ Name: cgit Version: 1.2.3 -Release: 7%{?dist} +Release: 8%{?dist} Summary: A fast web interface for git License: GPLv2 @@ -68,7 +68,20 @@ Patch0: 0001-use-highlight-3-by-default.patch # https://lists.zx2c4.com/pipermail/cgit/2020-August/004513.html Patch1: https://git.zx2c4.com/cgit/patch/?id=bd6f5683f#/0001-t0107-support-older-and-or-non-GNU-tar.patch -# Security guys might try to repoquery for this. +# Update to current git +# +# This is a compilation of patches Christian Hesse has sent to the cgit list. +# It was created somewhat manually by reviewing the number of patches since the +# last update to git-2.25.1 (14). Then patch was generated via: +# +# git log --grep=git: --format='%h' --reverse -14 origin/ch/for-jason | +# while read c _; do +# git format-patch -1 --ignore-submodules --no-signature --stdout $c +# done >~/src/dist/fedora/cgit/cgit-1.2.3-update-to-git-2.34.1.patch +Patch2: cgit-1.2.3-update-to-git-2.34.1.patch + +# Note the bundled git, per the packaging guidelines +# https://docs.fedoraproject.org/en-US/packaging-guidelines/#bundling Provides: bundled(git) = %gitver %if %{with highlight} @@ -214,6 +227,9 @@ make test %changelog +* Sun Jan 02 2022 Todd Zullinger - 1.2.3-8 +- update to git-2.34.1 + * Mon Jul 26 2021 Todd Zullinger - 1.2.3-7 - update SELinux README - simplify install commands diff --git a/sources b/sources index ce92be2..d78c0ad 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ SHA512 (cgit-1.2.3.tar.xz) = 58f9bb644b07be49dc51f3ef30a3d0e53699cede3c06b1d6920f3874fe846c83dd2589632aa84357b70ea2d60272448409aa1b892f405d14dd6745f5559b4504 SHA512 (cgit-1.2.3.tar.asc) = 6694f799bbf7c28baa683be0a2b51b0611d80b9611db9e1705e55e45e2501a1955910f90f9246a8ca52f61a2d34ac6262825f6a0165e67ec57189a8242aa4faa -SHA512 (git-2.25.1.tar.xz) = 15241143acfd8542d85d2709ac3c80dbd6e8d5234438f70c4f33cc71a2bdec3e32938df7f6351e2746d570b021d3bd0b70474ea4beec0c51d1fc45f9c287b344 -SHA512 (git-2.25.1.tar.sign) = 29a4fd59227d74b233416fa17ce184c0f57d824fdfc4554e37aa9dd06176fdfa0e7cbade77c661d5d9aa1e62d206f7f4816a690984845baa3ca691069de65a6b +SHA512 (git-2.34.1.tar.xz) = a1a8e9e6f64b1da25508fbd2f783564dcdbe181fb5ff1ebab3bdac6db6094e18acc334479a1abf22ac17ce4f733cc3e10a664db9ab234cd523735a3f027b42db +SHA512 (git-2.34.1.tar.sign) = a1111276e18da1a7b360e3ed3b8460034ea413b116482b0b66342f8873a9dd02a90f3f5bc7ad1e4b3c7f39ed55926a8155064b849e6e6bdf9478cb85b93f10b5
Author%sTotal
0