aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Fechner <mfechner@FreeBSD.org>2022-06-24 10:11:44 +0000
committerMatthias Fechner <mfechner@FreeBSD.org>2022-06-24 10:20:06 +0000
commit4912f10df8a49d6a0a14dd7ef8955bdf576e1659 (patch)
treefecc3f9612f4ffb611fcdfea945c9627bd06efa0
parent8db17473365e488be2cb5c5bc008a7a645bcb477 (diff)
downloadports-4912f10df8a49d6a0a14dd7ef8955bdf576e1659.tar.gz
ports-4912f10df8a49d6a0a14dd7ef8955bdf576e1659.zip
devel/gitaly: update to 15.1.0
Required for gitlab-ce 15.1 Changelog: https://gitlab.com/gitlab-org/gitaly/-/blob/master/CHANGELOG.md#1510-2022-06-21 15.1.0 (2022-06-21) Added (4 changes) operations: Return structured errors on conflict in UserMergeBranch (merge request) praefect: Add list-storages subcommand (merge request) gitaly/config: Add option to ignore gitconfig files (merge request) Make Git build with SHA256 routines in FIPS mode (merge request) Fixed (10 changes) operations: Use structured errors in UserDeleteBranch (merge request) datastore: Fix migration that prunes maintenance-style replication jobs (merge request) catfile: Fix deadlock between reading a new object and accessing it (merge request) catfile: Fix dirtiness check when current object has been fully read (merge request) streamcache: Unlock waiters after cache keys have been pruned (merge request) gitpipe: Fix closing queue too early (merge request) gitpipe: Fix deadlock on context cancellation with unflushed requests (merge request) Makefile: Fix install target using doubly-prefixed Gitaly paths (merge request) cgroups: Handle nil repo (merge request) supervisor: Fix leaking logrus Goroutine on spawn failure (merge request) Changed (5 changes) Update nokogiri to v1.13.6 (merge request) metadatahandler: Add grpc_method to prometheus metric (merge request) Enable feature flag exact_pagination_token_match by default (merge request) gitaly-lfs-smudge: Update git-lfs module and dependencies (merge request) linguist: Implement wrapper to ignore gitconfig in Rugged (merge request) Security (1 change) Makefile: Run bundle in frozen mode (merge request) Performance (1 change) repository: Use long-running filter process for converting LFS pointers (merge request)
-rw-r--r--devel/gitaly/Makefile9
-rw-r--r--devel/gitaly/distinfo10
-rw-r--r--devel/gitaly/files/patch-Makefile51
-rw-r--r--devel/gitaly/files/patch-config.toml.example14
-rw-r--r--devel/gitaly/files/patch-ruby_Gemfile4
5 files changed, 52 insertions, 36 deletions
diff --git a/devel/gitaly/Makefile b/devel/gitaly/Makefile
index 262222c1ba30..a52a1ec01399 100644
--- a/devel/gitaly/Makefile
+++ b/devel/gitaly/Makefile
@@ -1,5 +1,5 @@
PORTNAME= gitaly
-DISTVERSION= 15.0.3
+DISTVERSION= 15.1.0
DISTVERSIONPREFIX= v
PORTREVISION= 0
CATEGORIES= devel
@@ -28,7 +28,7 @@ MY_DEPENDS= git>=2.36.1:devel/git \
rubygem-sentry-raven>=3.0<4:devel/rubygem-sentry-raven \
rubygem-faraday1>=1.0.1<2:www/rubygem-faraday1 \
rubygem-rbtrace>=0.4.14:devel/rubygem-rbtrace \
- rubygem-gitlab-labkit>=0.22.0<0.23:devel/rubygem-gitlab-labkit \
+ rubygem-gitlab-labkit>=0.22.0<0.24:devel/rubygem-gitlab-labkit \
rubygem-licensee>=9.14.1<9.15:devel/rubygem-licensee \
rubygem-google-protobuf319>=3.19.0<3.20:devel/rubygem-google-protobuf319 \
rubygem-gitlab-license_finder>=6.14.2.1<7:devel/rubygem-gitlab-license_finder
@@ -51,7 +51,7 @@ MAKE_ENV+= ${GO_ENV}
USE_GITLAB= yes
GL_ACCOUNT= gitlab-org
# Find this here: https://gitlab.com/gitlab-org/gitaly/-/tags
-GL_COMMIT= fc0906498828d30d2a6fb0cb9bfb593d4e5e2586
+GL_COMMIT= 9f4ac0e03ac72467cba99bf22348e9ad9bb50c27
# for go dependencies
# Gitlab hosts there dependencies on their own platform and not on go-proxy
@@ -76,6 +76,9 @@ post-patch:
${REINPLACE_CMD} -e "s|%%PREFIX%%|${PREFIX}|" ${WRKSRC}/config.toml.example
${MV} ${WRKSRC}/config.toml.example ${WRKSRC}/config.toml.sample
+pre-build:
+ (cd ${WRKSRC}/ruby && ${RM} Gemfile.lock && bundle install --local)
+
do-install:
${MKDIR} ${STAGEDIR}${DATADIR}
${MKDIR} ${STAGEDIR}${DATADIR}/bin
diff --git a/devel/gitaly/distinfo b/devel/gitaly/distinfo
index c86efaa1a11d..9c15aaac2786 100644
--- a/devel/gitaly/distinfo
+++ b/devel/gitaly/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1655704466
-SHA256 (go/devel_gitaly/gitlab-org-gitaly-fc0906498828d30d2a6fb0cb9bfb593d4e5e2586_GL0/go.mod) = 0f81920b355ef928d3d62a8f34c87240b9cc045e2a124cd617d25c1097a5c787
-SIZE (go/devel_gitaly/gitlab-org-gitaly-fc0906498828d30d2a6fb0cb9bfb593d4e5e2586_GL0/go.mod) = 1827
-SHA256 (go/devel_gitaly/gitlab-org-gitaly-fc0906498828d30d2a6fb0cb9bfb593d4e5e2586_GL0/gitlab-org-gitaly-fc0906498828d30d2a6fb0cb9bfb593d4e5e2586_GL0.tar.gz) = 2bee095a59990252daeac82c8a5315613775bd61649b6307969d8a592d24aa60
-SIZE (go/devel_gitaly/gitlab-org-gitaly-fc0906498828d30d2a6fb0cb9bfb593d4e5e2586_GL0/gitlab-org-gitaly-fc0906498828d30d2a6fb0cb9bfb593d4e5e2586_GL0.tar.gz) = 3916693
+TIMESTAMP = 1655816762
+SHA256 (go/devel_gitaly/gitlab-org-gitaly-9f4ac0e03ac72467cba99bf22348e9ad9bb50c27_GL0/go.mod) = da3660541474ccb9c6cbe923f17450ae26a1d3c4465b9125281ff4361a7cb45b
+SIZE (go/devel_gitaly/gitlab-org-gitaly-9f4ac0e03ac72467cba99bf22348e9ad9bb50c27_GL0/go.mod) = 2054
+SHA256 (go/devel_gitaly/gitlab-org-gitaly-9f4ac0e03ac72467cba99bf22348e9ad9bb50c27_GL0/gitlab-org-gitaly-9f4ac0e03ac72467cba99bf22348e9ad9bb50c27_GL0.tar.gz) = dd84460ed029bb5aec837c1c00537a6a2e2b951b261bfd738969a83fa0e07755
+SIZE (go/devel_gitaly/gitlab-org-gitaly-9f4ac0e03ac72467cba99bf22348e9ad9bb50c27_GL0/gitlab-org-gitaly-9f4ac0e03ac72467cba99bf22348e9ad9bb50c27_GL0.tar.gz) = 3939078
diff --git a/devel/gitaly/files/patch-Makefile b/devel/gitaly/files/patch-Makefile
index dba82827dc1e..5f3b12f9b285 100644
--- a/devel/gitaly/files/patch-Makefile
+++ b/devel/gitaly/files/patch-Makefile
@@ -1,29 +1,42 @@
---- Makefile.orig 2022-05-20 13:52:23 UTC
+--- Makefile.orig 2022-06-21 10:12:22 UTC
+++ Makefile
-@@ -279,7 +279,7 @@ build: ${SOURCE_DIR}/.ruby-bundle ${GITALY_EXECUTABLES
- gitaly: GO_BUILD_TAGS = ${SERVER_BUILD_TAGS}
- praefect: GO_BUILD_TAGS = ${SERVER_BUILD_TAGS}
- gitaly-git2go-v14: GO_BUILD_TAGS = ${GIT2GO_BUILD_TAGS}
--gitaly-git2go-v14: libgit2
-+#gitaly-git2go-v14: libgit2
+@@ -235,7 +235,7 @@ TEST_REPO_GIT := ${TEST_REPO_DIR}/gitlab-git-test.
+ BENCHMARK_REPO := ${TEST_REPO_DIR}/benchmark.git
- .PHONY: ${GITALY_EXECUTABLES}
- ${GITALY_EXECUTABLES}:
-@@ -291,7 +291,7 @@ ${GITALY_EXECUTABLES}:
- @ # This fallback is unique but non-deterministic, making it sufficient to avoid generating the
- @ # GNU build-id from the empty string and causing guaranteed collisions.
- ${Q}GO_BUILD_ID=$$( go tool buildid $(addprefix ${BUILD_DIR}/bin/, $@) || openssl rand -hex 32 ) && \
-- GNU_BUILD_ID=$$( echo $$GO_BUILD_ID | sha1sum | cut -d' ' -f1 ) && \
-+ GNU_BUILD_ID=$$( echo $$GO_BUILD_ID | sha1 | cut -d' ' -f1 ) && \
- go install -ldflags '${GO_LDFLAGS}'" -B 0x$$GNU_BUILD_ID" -tags "${GO_BUILD_TAGS}" $(addprefix ${GITALY_PACKAGE}/cmd/, $@)
+ # All executables provided by Gitaly
+-GITALY_EXECUTABLES = $(addprefix ${BUILD_DIR}/bin/,$(notdir $(shell find ${SOURCE_DIR}/cmd -mindepth 1 -maxdepth 1 -type d -print)) gitaly-git2go-v14)
++GITALY_EXECUTABLES = $(addprefix ${BUILD_DIR}/bin/,$(notdir $(shell find ${SOURCE_DIR}/cmd -mindepth 1 -maxdepth 1 -type d -print)) )
+ # Find all Go source files.
+ find_go_sources = $(shell find ${SOURCE_DIR} -type d \( -name ruby -o -name vendor -o -name testdata -o -name '_*' -o -path '*/proto/go/gitalypb' \) -prune -o -type f -name '*.go' -not -name '*.pb.go' -print | sort -u)
- .PHONY: install
-@@ -493,7 +493,7 @@ libgit2: ${LIBGIT2_INSTALL_DIR}/lib/libgit2.a
+@@ -497,7 +497,6 @@ libgit2: ${LIBGIT2_INSTALL_DIR}/lib/libgit2.a
# step. Both Omnibus and CNG assume it is in the Gitaly root, not in
# _build. Hence the '../' in front.
${SOURCE_DIR}/.ruby-bundle: ${GITALY_RUBY_DIR}/Gemfile.lock ${GITALY_RUBY_DIR}/Gemfile
- ${Q}cd ${GITALY_RUBY_DIR} && bundle install
-+ ${Q}cd ${GITALY_RUBY_DIR} && rm -f Gemfile.lock && bundle install --local
${Q}touch $@
${SOURCE_DIR}/NOTICE: ${BUILD_DIR}/NOTICE
+@@ -560,22 +559,11 @@ ${BUILD_DIR}/bin/%: ${BUILD_DIR}/intermediate/% | ${BU
+ ${BUILD_DIR}/intermediate/gitaly: GO_BUILD_TAGS = ${SERVER_BUILD_TAGS}
+ ${BUILD_DIR}/intermediate/praefect: GO_BUILD_TAGS = ${SERVER_BUILD_TAGS}
+ ${BUILD_DIR}/intermediate/gitaly-git2go-v15: GO_BUILD_TAGS = ${GIT2GO_BUILD_TAGS}
+-${BUILD_DIR}/intermediate/gitaly-git2go-v15: libgit2
+ ${BUILD_DIR}/intermediate/%: .FORCE
+ @ # We're building intermediate binaries first which contain a fixed build ID
+ @ # of "TEMP_GITALY_BUILD_ID". In the final binary we replace this build ID with
+ @ # the computed build ID for this binary.
+ ${Q}go build -o "$@" -ldflags '-B 0x${TEMPORARY_BUILD_ID} ${GO_LDFLAGS}' -tags "${GO_BUILD_TAGS}" $(addprefix ${SOURCE_DIR}/cmd/,$(@F))
+-
+-# This target is required for backwards compatibility during zero-downtime
+-# upgrades and can be removed when v15.0 has been released.
+-${BUILD_DIR}/intermediate/gitaly-git2go-v14: GO_BUILD_TAGS = ${GIT2GO_BUILD_TAGS}
+-${BUILD_DIR}/intermediate/gitaly-git2go-v14: libgit2
+-${BUILD_DIR}/intermediate/gitaly-git2go-v14: .FORCE
+- @ # gitaly-git2go-v14 pulls directly from a commit sha so that the gitaly-git2go-v14
+- @ # binary can continue to be installed for the sake of zero downtime
+- @ # upgrades.
+- ${Q}GOBIN="$(dir $@)" go install -ldflags '-B 0x${TEMPORARY_BUILD_ID} ${GO_LDFLAGS}' -tags "${GO_BUILD_TAGS}" "gitlab.com/gitlab-org/gitaly/v14/cmd/gitaly-git2go-v14@c7c7c936c302ab435a0a56fbc19cfbd9bea0c835"
+
+ # This is a build hack to avoid excessive rebuilding of targets. Instead of
+ # depending on the Makefile, we start to depend on tool versions as defined in
diff --git a/devel/gitaly/files/patch-config.toml.example b/devel/gitaly/files/patch-config.toml.example
index dec08c459f9e..7e6e96a77994 100644
--- a/devel/gitaly/files/patch-config.toml.example
+++ b/devel/gitaly/files/patch-config.toml.example
@@ -1,4 +1,4 @@
---- config.toml.example.orig 2022-05-20 13:52:23 UTC
+--- config.toml.example.orig 2022-06-21 10:12:22 UTC
+++ config.toml.example
@@ -2,10 +2,10 @@
# Documentation lives at https://docs.gitlab.com/ee/administration/gitaly/ and
@@ -33,9 +33,9 @@
+[git]
+bin_path = "%%PREFIX%%/bin/git"
# catfile_cache_size = 100
- # [[git.config]]
- # key = fetch.fsckObjects
-@@ -43,7 +43,7 @@ bin_dir = "/home/git/gitaly/_build/bin"
+ #
+ # # Set this setting to `true` to start ignoring gitconfig files installed in
+@@ -51,7 +51,7 @@ bin_dir = "/home/git/gitaly/_build/bin"
[[storage]]
name = "default"
@@ -44,7 +44,7 @@
# # You can optionally configure more storages for this Gitaly instance to serve up
#
-@@ -55,7 +55,7 @@ path = "/home/git/repositories"
+@@ -63,7 +63,7 @@ path = "/home/git/repositories"
# # You can optionally configure Gitaly to output JSON-formatted log messages to stdout
# [logging]
# # The directory where Gitaly stores extra log files
@@ -53,7 +53,7 @@
# format = "json"
# # Optional: Set log level to only log entries with that severity or above
# # One of, in order: debug, info, warn, errror, fatal, panic
-@@ -73,7 +73,7 @@ dir = "/home/git/gitlab/log"
+@@ -81,7 +81,7 @@ dir = "/home/git/gitlab/log"
[gitaly-ruby]
# The directory where gitaly-ruby is installed
@@ -62,7 +62,7 @@
# # Gitaly-ruby resident set size (RSS) that triggers a memory restart (bytes)
# max_rss = 200000000
-@@ -93,14 +93,14 @@ dir = "/home/git/gitaly/ruby"
+@@ -101,14 +101,14 @@ dir = "/home/git/gitaly/ruby"
[gitlab-shell]
# The directory where gitlab-shell is installed
diff --git a/devel/gitaly/files/patch-ruby_Gemfile b/devel/gitaly/files/patch-ruby_Gemfile
index c45c9d730a3f..a4f633b918c9 100644
--- a/devel/gitaly/files/patch-ruby_Gemfile
+++ b/devel/gitaly/files/patch-ruby_Gemfile
@@ -1,4 +1,4 @@
---- ruby/Gemfile.orig 2022-05-20 13:52:23 UTC
+--- ruby/Gemfile.orig 2022-06-21 10:12:22 UTC
+++ ruby/Gemfile
@@ -2,8 +2,8 @@ source 'https://rubygems.org'
@@ -16,7 +16,7 @@
# Labkit provides observability functionality
-gem 'gitlab-labkit', '~> 0.21.1'
-+gem 'gitlab-labkit', '~> 0.22.0'
++gem 'gitlab-labkit', '~> 0.23.0'
# Detects the open source license the repository includes
# This version needs to be in sync with GitLab CE/EE