git: 7b445a0289ce - main - www/gitlab: update to 17.5.0

From: Matthias Fechner <mfechner_at_FreeBSD.org>
Date: Thu, 17 Oct 2024 19:10:00 UTC
The branch main has been updated by mfechner:

URL: https://cgit.FreeBSD.org/ports/commit/?id=7b445a0289ce3a2f642ed44634336a5687f8e925

commit 7b445a0289ce3a2f642ed44634336a5687f8e925
Author:     Matthias Fechner <mfechner@FreeBSD.org>
AuthorDate: 2024-10-17 18:37:59 +0000
Commit:     Matthias Fechner <mfechner@FreeBSD.org>
CommitDate: 2024-10-17 19:09:46 +0000

    www/gitlab: update to 17.5.0
    
    Changes:        https://about.gitlab.com/releases/2024/10/17/gitlab-17-5-released/
---
 devel/gitaly/distinfo                              | 14 +++----
 devel/gitaly/files/patch-Makefile                  | 31 +++++++++++++-
 net/gitlab-agent/distinfo                          | 10 ++---
 net/rubygem-gitlab-kas-grpc/distinfo               |  6 +--
 textproc/gitlab-elasticsearch-indexer/Makefile     |  2 +-
 textproc/gitlab-elasticsearch-indexer/distinfo     | 10 ++---
 www/gitlab-pages/distinfo                          | 10 ++---
 www/gitlab-workhorse/distinfo                      | 10 ++---
 www/gitlab/Makefile                                | 23 ++++++-----
 www/gitlab/Makefile.common                         |  4 +-
 www/gitlab/distinfo                                | 12 +++---
 www/gitlab/files/patch-Gemfile                     | 48 ++++++++++++++--------
 www/gitlab/files/patch-config_gitlab.yml.example   | 16 ++++----
 ...ems_gitlab-backup-cli_gitlab-backup-cli.gemspec | 18 +++++++-
 www/gitlab/pkg-message                             |  4 +-
 15 files changed, 137 insertions(+), 81 deletions(-)

diff --git a/devel/gitaly/distinfo b/devel/gitaly/distinfo
index 0a2304a0092c..f0ddfbe60bad 100644
--- a/devel/gitaly/distinfo
+++ b/devel/gitaly/distinfo
@@ -1,7 +1,7 @@
-TIMESTAMP = 1728529714
-SHA256 (go/devel_gitaly/gitaly-v17.4.2/go.mod) = fe12bdb7e5d7c75f49847830dd436797b997ab5eda536aaee96f927cd5456ba0
-SIZE (go/devel_gitaly/gitaly-v17.4.2/go.mod) = 12862
-SHA256 (go/devel_gitaly/gitaly-v17.4.2/gitaly-v17.4.2.tar.bz2) = c9a7988abbb3d459b1eb4b25b36efa4b0edc9c2d1fa153afbb06a099a4938fa4
-SIZE (go/devel_gitaly/gitaly-v17.4.2/gitaly-v17.4.2.tar.bz2) = 2954780
-SHA256 (go/devel_gitaly/gitaly-v17.4.2/git-v2.46.1.tar.bz2) = af8c4087aa193259c93bcc753156247c881b5790dfa184a3c84f2efe75cae783
-SIZE (go/devel_gitaly/gitaly-v17.4.2/git-v2.46.1.tar.bz2) = 8821150
+TIMESTAMP = 1729146877
+SHA256 (go/devel_gitaly/gitaly-v17.5.0/go.mod) = 96bcca1d000fb7de35b2db6de7667587874f26aaf3dda58c16b77fe17c3d8d26
+SIZE (go/devel_gitaly/gitaly-v17.5.0/go.mod) = 12053
+SHA256 (go/devel_gitaly/gitaly-v17.5.0/gitaly-v17.5.0.tar.bz2) = 626e67ab3cd207f8b67c403ac155c7e8d23b93e84f87d15f44b2ed97dd93be4b
+SIZE (go/devel_gitaly/gitaly-v17.5.0/gitaly-v17.5.0.tar.bz2) = 4335682
+SHA256 (go/devel_gitaly/gitaly-v17.5.0/git-v2.47.0.tar.bz2) = bda955065ff46d04f980a25858b45352e49de18f04d8dd319b6a681c55ee4529
+SIZE (go/devel_gitaly/gitaly-v17.5.0/git-v2.47.0.tar.bz2) = 8892022
diff --git a/devel/gitaly/files/patch-Makefile b/devel/gitaly/files/patch-Makefile
index 29da174b7379..bc989e29e16f 100644
--- a/devel/gitaly/files/patch-Makefile
+++ b/devel/gitaly/files/patch-Makefile
@@ -1,6 +1,33 @@
---- Makefile.orig	2024-08-20 19:30:28 UTC
+--- Makefile.orig	2024-10-16 07:53:22 UTC
 +++ Makefile
-@@ -618,12 +618,12 @@ ${DEPENDENCY_DIR}/git-%/Makefile: ${DEPENDENCY_DIR}/gi
+@@ -216,8 +216,7 @@ BUILD_GEM_NAME ?= gitaly
+ BUILD_GEM_NAME ?= gitaly
+ 
+ # Git binaries that are eventually embedded into the Gitaly binary.
+-GIT_PACKED_EXECUTABLES       = $(addprefix ${BUILD_DIR}/bin/gitaly-, $(addsuffix -v2.46, ${GIT_EXECUTABLES})) \
+-							   $(addprefix ${BUILD_DIR}/bin/gitaly-, $(addsuffix -v2.47, ${GIT_EXECUTABLES}))
++GIT_PACKED_EXECUTABLES       = $(addprefix ${BUILD_DIR}/bin/gitaly-, $(addsuffix -v2.47, ${GIT_EXECUTABLES}))
+ 
+ # All executables provided by Gitaly.
+ GITALY_EXECUTABLES           = $(addprefix ${BUILD_DIR}/bin/,$(notdir $(shell find ${SOURCE_DIR}/cmd -mindepth 1 -maxdepth 1 -type d -print)))
+@@ -306,14 +305,14 @@ install: build
+ 
+ .PHONY: build-bundled-git
+ ## Build bundled Git binaries.
+-build-bundled-git: build-bundled-git-v2.46 build-bundled-git-v2.47
++build-bundled-git: build-bundled-git-v2.47
+ build-bundled-git-v2.46: $(patsubst %,${BUILD_DIR}/bin/gitaly-%-v2.46,${GIT_EXECUTABLES})
+ build-bundled-git-v2.47: $(patsubst %,${BUILD_DIR}/bin/gitaly-%-v2.47,${GIT_EXECUTABLES})
+ 
+ .PHONY: install-bundled-git
+ ## Install bundled Git binaries. The target directory can be modified by
+ ## setting PREFIX and DESTDIR.
+-install-bundled-git: install-bundled-git-v2.46 install-bundled-git-v2.47
++install-bundled-git: install-bundled-git-v2.47
+ install-bundled-git-v2.46: $(patsubst %,${INSTALL_DEST_DIR}/gitaly-%-v2.46,${GIT_EXECUTABLES})
+ install-bundled-git-v2.47: $(patsubst %,${INSTALL_DEST_DIR}/gitaly-%-v2.47,${GIT_EXECUTABLES})
+ 
+@@ -614,12 +613,12 @@ ${DEPENDENCY_DIR}/git-%/Makefile: ${DEPENDENCY_DIR}/gi
  # otherwise try to rebuild all targets depending on it whenever we build
  # something else. We thus depend on the Makefile instead.
  ${DEPENDENCY_DIR}/git-%/Makefile: ${DEPENDENCY_DIR}/git-%.version
diff --git a/net/gitlab-agent/distinfo b/net/gitlab-agent/distinfo
index d4b221ceea41..2139f61537b0 100644
--- a/net/gitlab-agent/distinfo
+++ b/net/gitlab-agent/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1728528015
-SHA256 (go/net_gitlab-agent/gitlab-agent-v17.4.2/v17.4.2.mod) = b97d1a40937e17a403f19c17005a4a696c7b7a78a9f710548301f478a00a35fa
-SIZE (go/net_gitlab-agent/gitlab-agent-v17.4.2/v17.4.2.mod) = 8669
-SHA256 (go/net_gitlab-agent/gitlab-agent-v17.4.2/v17.4.2.zip) = b5f74b19bdf758b928b847c1337475472869a35440bda78af00f349cb1924b29
-SIZE (go/net_gitlab-agent/gitlab-agent-v17.4.2/v17.4.2.zip) = 1364274
+TIMESTAMP = 1729142443
+SHA256 (go/net_gitlab-agent/gitlab-agent-v17.5.0/v17.5.0.mod) = 5b20a758e950f6a939a2be6906957bbeb7ecaf2af94ce47c82529ec8c76d03eb
+SIZE (go/net_gitlab-agent/gitlab-agent-v17.5.0/v17.5.0.mod) = 8560
+SHA256 (go/net_gitlab-agent/gitlab-agent-v17.5.0/v17.5.0.zip) = 40895edec6b2089298909d2bb4092990292b3e68671ee0d60fa1ed1b12307ef4
+SIZE (go/net_gitlab-agent/gitlab-agent-v17.5.0/v17.5.0.zip) = 1391476
diff --git a/net/rubygem-gitlab-kas-grpc/distinfo b/net/rubygem-gitlab-kas-grpc/distinfo
index 770568ced1f0..ae14a87b3221 100644
--- a/net/rubygem-gitlab-kas-grpc/distinfo
+++ b/net/rubygem-gitlab-kas-grpc/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1728528068
-SHA256 (rubygem/gitlab-kas-grpc-17.4.2.gem) = 68f70359bcd4014b9a49a332ac34229c5bb63b2f6d1d843360749adddd0bc47c
-SIZE (rubygem/gitlab-kas-grpc-17.4.2.gem) = 8704
+TIMESTAMP = 1729142518
+SHA256 (rubygem/gitlab-kas-grpc-17.5.0.gem) = 4b0af5619e3cc68d7293abb7dca96f5cab7d9700c42622e525e78d36d43a744c
+SIZE (rubygem/gitlab-kas-grpc-17.5.0.gem) = 8704
diff --git a/textproc/gitlab-elasticsearch-indexer/Makefile b/textproc/gitlab-elasticsearch-indexer/Makefile
index 18e65b5c6636..6351580dae62 100644
--- a/textproc/gitlab-elasticsearch-indexer/Makefile
+++ b/textproc/gitlab-elasticsearch-indexer/Makefile
@@ -1,5 +1,5 @@
 PORTNAME=	gitlab-elasticsearch-indexer
-PORTVERSION=	5.2.0
+PORTVERSION=	5.3.0
 DISTVERSIONPREFIX=	v
 CATEGORIES=	textproc
 
diff --git a/textproc/gitlab-elasticsearch-indexer/distinfo b/textproc/gitlab-elasticsearch-indexer/distinfo
index b5e20f89afb1..e6911316239e 100644
--- a/textproc/gitlab-elasticsearch-indexer/distinfo
+++ b/textproc/gitlab-elasticsearch-indexer/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1721626377
-SHA256 (go/textproc_gitlab-elasticsearch-indexer/gitlab-elasticsearch-indexer-v5.2.0/go.mod) = f8080fedd1cf8350a8c222e2179df2aeb30df6fd741d2bd473d82ddb334d8a8f
-SIZE (go/textproc_gitlab-elasticsearch-indexer/gitlab-elasticsearch-indexer-v5.2.0/go.mod) = 4995
-SHA256 (go/textproc_gitlab-elasticsearch-indexer/gitlab-elasticsearch-indexer-v5.2.0/gitlab-elasticsearch-indexer-v5.2.0.tar.bz2) = 4ca774d2e25aacd2450c82fa078fc886f22d87b2a267009a4353a43daa6c0b31
-SIZE (go/textproc_gitlab-elasticsearch-indexer/gitlab-elasticsearch-indexer-v5.2.0/gitlab-elasticsearch-indexer-v5.2.0.tar.bz2) = 67582
+TIMESTAMP = 1729148343
+SHA256 (go/textproc_gitlab-elasticsearch-indexer/gitlab-elasticsearch-indexer-v5.3.0/go.mod) = f35f3452b17003137caac0dd58f9b54304f346d994496a80f3b61156c245999a
+SIZE (go/textproc_gitlab-elasticsearch-indexer/gitlab-elasticsearch-indexer-v5.3.0/go.mod) = 4995
+SHA256 (go/textproc_gitlab-elasticsearch-indexer/gitlab-elasticsearch-indexer-v5.3.0/gitlab-elasticsearch-indexer-v5.3.0.tar.bz2) = 2ce127f2d32b662de30a9b8774041ff1255169f4a5e13ee70c13dc5b81025013
+SIZE (go/textproc_gitlab-elasticsearch-indexer/gitlab-elasticsearch-indexer-v5.3.0/gitlab-elasticsearch-indexer-v5.3.0.tar.bz2) = 67763
diff --git a/www/gitlab-pages/distinfo b/www/gitlab-pages/distinfo
index d594428788a5..079e57a8de67 100644
--- a/www/gitlab-pages/distinfo
+++ b/www/gitlab-pages/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1728528018
-SHA256 (go/www_gitlab-pages/gitlab-pages-v17.4.2/go.mod) = 6ff49ea30f45d00e03846a8707a3a57725b3a020985ea35b78d52e983b4cbc86
-SIZE (go/www_gitlab-pages/gitlab-pages-v17.4.2/go.mod) = 3456
-SHA256 (go/www_gitlab-pages/gitlab-pages-v17.4.2/gitlab-pages-v17.4.2.tar.bz2) = 6b7e4227c0f865267c3ce61f5c944decdea0516df4d4cf4991be2ec81d105d0f
-SIZE (go/www_gitlab-pages/gitlab-pages-v17.4.2/gitlab-pages-v17.4.2.tar.bz2) = 230868
+TIMESTAMP = 1729142447
+SHA256 (go/www_gitlab-pages/gitlab-pages-v17.5.0/go.mod) = 121f4f5d1ab2962bf653ae3cb735a80ef9fb20b0ea39c04b7b0dc6a9fd7775d1
+SIZE (go/www_gitlab-pages/gitlab-pages-v17.5.0/go.mod) = 3456
+SHA256 (go/www_gitlab-pages/gitlab-pages-v17.5.0/gitlab-pages-v17.5.0.tar.bz2) = 12f20ff63fb45af4ded36db09b06b42f71bfedc7e57cbefe7145f1efcd7b19cd
+SIZE (go/www_gitlab-pages/gitlab-pages-v17.5.0/gitlab-pages-v17.5.0.tar.bz2) = 230707
diff --git a/www/gitlab-workhorse/distinfo b/www/gitlab-workhorse/distinfo
index c9bedaac2dc5..2fea54e0f496 100644
--- a/www/gitlab-workhorse/distinfo
+++ b/www/gitlab-workhorse/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1728528067
-SHA256 (go/www_gitlab-workhorse/gitlab-foss-v17.4.2/go.mod) = 2b446f8b88ec69df0276676f9ef0e63e750d690b31f8b1944264c0b988dd2704
-SIZE (go/www_gitlab-workhorse/gitlab-foss-v17.4.2/go.mod) = 8244
-SHA256 (go/www_gitlab-workhorse/gitlab-foss-v17.4.2/gitlab-foss-v17.4.2.tar.bz2) = 8cba9afdbb0313f54aba643956537f45b711e2f70986e0042599a35befc5faaa
-SIZE (go/www_gitlab-workhorse/gitlab-foss-v17.4.2/gitlab-foss-v17.4.2.tar.bz2) = 105607527
+TIMESTAMP = 1729142517
+SHA256 (go/www_gitlab-workhorse/gitlab-foss-v17.5.0/go.mod) = 029bc5f21b93644dc278494622505975de94e0659f3e512e78cd75fd7a0783af
+SIZE (go/www_gitlab-workhorse/gitlab-foss-v17.5.0/go.mod) = 8053
+SHA256 (go/www_gitlab-workhorse/gitlab-foss-v17.5.0/gitlab-foss-v17.5.0.tar.bz2) = 9a2b6b05f75bb24325b3af748d1b88378f06a190d58a7be633392efa68e3b33a
+SIZE (go/www_gitlab-workhorse/gitlab-foss-v17.5.0/gitlab-foss-v17.5.0.tar.bz2) = 122447968
diff --git a/www/gitlab/Makefile b/www/gitlab/Makefile
index 296014892198..0a2b9a559244 100644
--- a/www/gitlab/Makefile
+++ b/www/gitlab/Makefile
@@ -1,11 +1,10 @@
 PORTNAME=	gitlab-${FLAVOR:Uce}
 PORTVERSION=	${GITLAB_VERSION}
-PORTREVISION=	${GITLAB_PORTREVISION} # modify it in www/gitlab/Makefile.common
 DISTVERSIONPREFIX=	v
 .if ${FLAVOR:U} == ee
 DISTVERSIONSUFFIX=	-ee
 .endif
-PORTREVISION=	1
+PORTREVISION=	${GITLAB_PORTREVISION} # modify it in www/gitlab/Makefile.common
 CATEGORIES=	www devel
 
 # include patch to fix database migration
@@ -30,7 +29,7 @@ LICENSE_FILE=	${WRKSRC}/LICENSE
 # mail/rubygem-net-pop is required as ruby 3.1 removed it
 MY_DEPENDS=	git>=2.41.0:devel/git \
 	gitaly>=${GITLAB_VERSION}:devel/gitaly \
-	gitlab-elasticsearch-indexer>=5.2.0:textproc/gitlab-elasticsearch-indexer \
+	gitlab-elasticsearch-indexer>=5.3.0:textproc/gitlab-elasticsearch-indexer \
 	gitlab-agent>=${GITLAB_VERSION}:net/gitlab-agent \
 	gitlab-pages>=${GITLAB_VERSION}:www/gitlab-pages \
 	gitlab-shell>=14.39.0:devel/gitlab-shell \
@@ -44,6 +43,7 @@ MY_DEPENDS=	git>=2.41.0:devel/git \
 	rubygem-psych3>=3.1<4:textproc/rubygem-psych3 \
 	rubygem-rails70>=7.0.8.4<7.1:www/rubygem-rails70 \
 	rubygem-bootsnap>=1.18.3<1.19:devel/rubygem-bootsnap \
+	rubygem-ffi>=1.17<2:devel/rubygem-ffi \
 	rubygem-openssl>=3.2.0<4:security/rubygem-openssl \
 	rubygem-ipaddr>=1.2.5<1.3:net/rubygem-ipaddr \
 	rubygem-responders-rails70>=3.0<4.0:www/rubygem-responders-rails70 \
@@ -135,9 +135,9 @@ MY_DEPENDS=	git>=2.41.0:devel/git \
 	rubygem-elasticsearch-model713>=7.2<8:textproc/rubygem-elasticsearch-model713 \
 	rubygem-elasticsearch-rails7>=7.2<8:textproc/rubygem-elasticsearch-rails7 \
 	rubygem-elasticsearch-api7>=7.17.11<7.18:textproc/rubygem-elasticsearch-api7 \
-	rubygem-aws-sdk-core-gitlab>=3.202.0<3.203:devel/rubygem-aws-sdk-core-gitlab \
+	rubygem-aws-sdk-core-gitlab>=3.206.0<3.207:devel/rubygem-aws-sdk-core-gitlab \
 	rubygem-aws-sdk-cloudformation-gitlab>=1<2:devel/rubygem-aws-sdk-cloudformation-gitlab \
-	rubygem-aws-sdk-s3-gitlab>=1.159.0<1.160:devel/rubygem-aws-sdk-s3-gitlab \
+	rubygem-aws-sdk-s3-gitlab>=1.163.0<1.164:devel/rubygem-aws-sdk-s3-gitlab \
 	rubygem-faraday-typhoeus>=1.1<2:www/rubygem-faraday-typhoeus \
 	rubygem-faraday_middleware-aws-sigv4>=1.0.1<1.1:devel/rubygem-faraday_middleware-aws-sigv4 \
 	rubygem-typhoeus>=1.4.0<1.5:www/rubygem-typhoeus \
@@ -158,12 +158,12 @@ MY_DEPENDS=	git>=2.41.0:devel/git \
 	rubygem-truncato>=0.7.12<0.8.0:textproc/rubygem-truncato \
 	rubygem-tty-prompt>=0.23<1:devel/rubygem-tty-prompt \
 	rubygem-nokogiri>=1.16<2:textproc/rubygem-nokogiri \
-	rubygem-gitlab-glfm-markdown>=0.0.20<0.1:textproc/rubygem-gitlab-glfm-markdown \
+	rubygem-gitlab-glfm-markdown>=0.0.21<0.1:textproc/rubygem-gitlab-glfm-markdown \
 	rubygem-icalendar>=2.10.2<2.11:devel/rubygem-icalendar \
 	rubygem-diffy>=3.4<4:textproc/rubygem-diffy \
 	rubygem-rack22>=2.2.9,3<2.3,3:www/rubygem-rack22 \
 	rubygem-rack-timeout>=0.7.0<0.8:www/rubygem-rack-timeout \
-	rubygem-puma>=6.4<7:www/rubygem-puma \
+	rubygem-puma>=6.4.3<7:www/rubygem-puma \
 	rubygem-sd_notify>=0.1.1<0.2:devel/rubygem-sd_notify \
 	rubygem-state_machines-activerecord08>=0.8.0<0.9.0:databases/rubygem-state_machines-activerecord08 \
 	rubygem-sidekiq72>=7.2.4<7.3:devel/rubygem-sidekiq72 \
@@ -217,7 +217,7 @@ MY_DEPENDS=	git>=2.41.0:devel/git \
 	rubygem-gitlab-labkit>=0.36.0<0.37:devel/rubygem-gitlab-labkit \
 	rubygem-thrift>=0.16.0:devel/rubygem-thrift \
 	rubygem-rails-i18n-rails70>=7.0.9<8:devel/rubygem-rails-i18n-rails70 \
-	rubygem-gettext_i18n_rails112>=1.12.0<1.13:devel/rubygem-gettext_i18n_rails112 \
+	rubygem-gettext_i18n_rails>=1.13.0<1.14:devel/rubygem-gettext_i18n_rails \
 	rubygem-gettext>=3.4<4:devel/rubygem-gettext \
 	rubygem-batch-loader>=2.0.5<2.1:devel/rubygem-batch-loader \
 	rubygem-tty-prompt>=0.23<1:devel/rubygem-tty-prompt \
@@ -226,7 +226,7 @@ MY_DEPENDS=	git>=2.41.0:devel/git \
 	rubygem-webrick>=1.8.1<1.9:www/rubygem-webrick \
 	rubygem-prometheus-client-mmap>=1.1.1<2:devel/rubygem-prometheus-client-mmap \
 	rubygem-async212>=2.12.1<2.13:devel/rubygem-async212 \
-	rubygem-gitlab-security_report_schemas>=0.1.2.min15.0.0.max15.2.0<0.1.2.min15.0.0.max15.2.1:devel/rubygem-gitlab-security_report_schemas \
+	rubygem-gitlab-security_report_schemas>=0.1.2.min15.0.0.max15.2.1<0.1.2.min15.0.0.max15.2.2:devel/rubygem-gitlab-security_report_schemas \
 	rubygem-opentelemetry-sdk>=1.5.0:devel/rubygem-opentelemetry-sdk \
 	rubygem-opentelemetry-exporter-otlp>=0.26.3:devel/rubygem-opentelemetry-exporter-otlp \
 	rubygem-opentelemetry-instrumentation-active_support>=0.6.0:devel/rubygem-opentelemetry-instrumentation-active_support \
@@ -312,9 +312,11 @@ MY_DEPENDS=	git>=2.41.0:devel/git \
 	rubygem-duo_api>=1.3<2:security/rubygem-duo_api \
 	rubygem-gitlab-sdk>=0.3.0<0.4:devel/rubygem-gitlab-sdk \
 	rubygem-paper_trail>=15.0<16:devel/rubygem-paper_trail \
+	rubygem-i18n_data>=0.13.1<1:devel/rubygem-i18n_data \
 	rubygem-google-cloud-profiler-v2>=0.3<1:textproc/rubygem-google-cloud-profiler-v2 \
 	rubygem-parallel>=1.22<2:sysutils/rubygem-parallel \
-	rubygem-google-cloud-storage_transfer12>=1.2.0<1.3:net/rubygem-google-cloud-storage_transfer12
+	rubygem-google-cloud-storage_transfer12>=1.2.0<1.3:net/rubygem-google-cloud-storage_transfer12 \
+	rubygem-minitest>=5.11<6:devel/rubygem-minitest
 
 BUILD_DEPENDS=	gem:devel/ruby-gems \
 	${MY_DEPENDS}
@@ -346,6 +348,7 @@ SHEBANG_FILES=	scripts/build_qa_image \
 		scripts/frontend/start_storybook.sh \
 		scripts/partitioning/generate-fk \
 		scripts/validate-monorepo-gem \
+		.lefthook/gitleaks.sh \
 		.lefthook/pre-push/merge_conflicts \
 		qa/gdk/entrypoint \
 		qa/bin/test \
diff --git a/www/gitlab/Makefile.common b/www/gitlab/Makefile.common
index c8782916840c..3dd4e425e1fb 100644
--- a/www/gitlab/Makefile.common
+++ b/www/gitlab/Makefile.common
@@ -1,10 +1,10 @@
-GITLAB_VERSION=		17.4.2
+GITLAB_VERSION=		17.5.0
 GITLAB_PORTREVISION=	0
 
 # Git version gitaly should use (from gitlab mirror)
 # Find current tag from Makefile and .gitlab-ci.yaml
 # and from https://gitlab.com/gitlab-org/git/-/tags
-GITLAB_GIT_VERSION=	2.46.1
+GITLAB_GIT_VERSION=	2.47.0
 # return something like x.yy
 GITLAB_GIT_VERSION_SHORT=	${GITLAB_GIT_VERSION:C/^([0-9]*\.[0-9]*)\..*/\1/}
 
diff --git a/www/gitlab/distinfo b/www/gitlab/distinfo
index 53d639bdeeed..c39e36026579 100644
--- a/www/gitlab/distinfo
+++ b/www/gitlab/distinfo
@@ -1,6 +1,6 @@
-TIMESTAMP = 1728527939
-SHA256 (gitlab-foss-v17.4.2.tar.bz2) = 8cba9afdbb0313f54aba643956537f45b711e2f70986e0042599a35befc5faaa
-SIZE (gitlab-foss-v17.4.2.tar.bz2) = 105607527
-TIMESTAMP = 1728527993
-SHA256 (gitlab-v17.4.2-ee.tar.bz2) = 660533397d8beeb18a40267bc6b2f647882b8caa0f52203b88221ee795d62d18
-SIZE (gitlab-v17.4.2-ee.tar.bz2) = 114598901
+TIMESTAMP = 1729155836
+SHA256 (gitlab-foss-v17.5.0.tar.bz2) = 9a2b6b05f75bb24325b3af748d1b88378f06a190d58a7be633392efa68e3b33a
+SIZE (gitlab-foss-v17.5.0.tar.bz2) = 122447968
+TIMESTAMP = 1729155837
+SHA256 (gitlab-v17.5.0-ee.tar.bz2) = e47dea8cc6ca91471490d29fef068b78b10314bfad144a69155ae8cad22eaa2e
+SIZE (gitlab-v17.5.0-ee.tar.bz2) = 131815307
diff --git a/www/gitlab/files/patch-Gemfile b/www/gitlab/files/patch-Gemfile
index bb189590edaa..a8c5098e445b 100644
--- a/www/gitlab/files/patch-Gemfile
+++ b/www/gitlab/files/patch-Gemfile
@@ -1,6 +1,6 @@
---- Gemfile.orig	2024-10-09 10:29:44 UTC
+--- Gemfile.orig	2024-10-16 08:01:39 UTC
 +++ Gemfile
-@@ -156,7 +156,7 @@ gem 'graphql', '~> 2.3.14', feature_category: :api
+@@ -160,7 +160,7 @@ gem 'graphql', '~> 2.3.14', feature_category: :api
  
  # GraphQL API
  gem 'graphql', '~> 2.3.14', feature_category: :api
@@ -9,7 +9,7 @@
  gem 'graphiql-rails', '~> 1.10', feature_category: :api
  gem 'apollo_upload_server', '~> 2.1.6', feature_category: :api
  gem 'graphlient', '~> 0.8.0', feature_category: :importers # Used by BulkImport feature (group::import)
-@@ -209,7 +209,7 @@ gem 'google-cloud-storage', '~> 1.45.0' # rubocop:todo
+@@ -213,7 +213,7 @@ gem 'google-cloud-storage', '~> 1.45.0' # rubocop:todo
  gem 'google-apis-storage_v1', '~> 0.29' # rubocop:todo Gemfile/MissingFeatureCategory
  gem 'google-cloud-storage', '~> 1.45.0' # rubocop:todo Gemfile/MissingFeatureCategory
  # We need >= 0.11.1 because that's when match_glob support is added to list_objects
@@ -18,7 +18,7 @@
  gem 'google-apis-compute_v1', '~> 0.57.0' # rubocop:todo Gemfile/MissingFeatureCategory
  gem 'google-apis-container_v1', '~> 0.43.0' # rubocop:todo Gemfile/MissingFeatureCategory
  gem 'google-apis-container_v1beta1', '~> 0.43.0' # rubocop:todo Gemfile/MissingFeatureCategory
-@@ -220,7 +220,7 @@ gem 'google-apis-androidpublisher_v3', '~> 0.34.0' # r
+@@ -224,7 +224,7 @@ gem 'google-apis-androidpublisher_v3', '~> 0.34.0' # r
  gem 'google-apis-sqladmin_v1beta4', '~> 0.41.0' # rubocop:todo Gemfile/MissingFeatureCategory
  gem 'google-apis-androidpublisher_v3', '~> 0.34.0' # rubocop:todo Gemfile/MissingFeatureCategory
  
@@ -27,16 +27,16 @@
  gem 'google-cloud-artifact_registry-v1', '~> 0.11.0', feature_category: :shared
  gem 'google-cloud-compute-v1', '~> 2.6.0', feature_category: :shared
  
-@@ -271,7 +271,7 @@ group :puma do
+@@ -275,7 +275,7 @@ group :puma do
  gem 'rack-timeout', '~> 0.7.0', require: 'rack/timeout/base' # rubocop:todo Gemfile/MissingFeatureCategory
  
  group :puma do
--  gem 'puma', '= 6.4.0', require: false, feature_category: :shared
-+  gem 'puma', '~> 6.4.0', require: false, feature_category: :shared
+-  gem 'puma', '= 6.4.3', require: false, feature_category: :shared
++  gem 'puma', '~> 6.4.3', require: false, feature_category: :shared
    gem 'sd_notify', '~> 0.1.0', require: false # rubocop:todo Gemfile/MissingFeatureCategory
  end
  
-@@ -279,7 +279,7 @@ gem 'state_machines-activerecord', '~> 0.8.0' # ruboco
+@@ -283,7 +283,7 @@ gem 'state_machines-activerecord', '~> 0.8.0' # ruboco
  gem 'state_machines-activerecord', '~> 0.8.0' # rubocop:todo Gemfile/MissingFeatureCategory
  
  # Background jobs
@@ -45,7 +45,7 @@
  gem 'sidekiq-cron', '~> 1.12.0', feature_category: :scalability
  gem 'gitlab-sidekiq-fetcher',
    path: 'vendor/gems/sidekiq-reliable-fetch',
-@@ -462,136 +462,15 @@ gem 'warning', '~> 1.3.0' # rubocop:todo Gemfile/Missi
+@@ -466,136 +466,15 @@ gem 'warning', '~> 1.3.0' # rubocop:todo Gemfile/Missi
  
  gem 'warning', '~> 1.3.0' # rubocop:todo Gemfile/MissingFeatureCategory
  
@@ -64,7 +64,7 @@
 -
 -  gem 'listen', '~> 3.7' # rubocop:todo Gemfile/MissingFeatureCategory
 -
--  gem 'ruby-lsp', "~> 0.17.0", require: false, feature_category: :tooling
+-  gem 'ruby-lsp', "~> 0.19.0", require: false, feature_category: :tooling
 -
 -  gem 'ruby-lsp-rails', "~> 0.3.6", feature_category: :tooling
 -
@@ -84,7 +84,7 @@
 -  gem 'awesome_print', require: false # rubocop:todo Gemfile/MissingFeatureCategory
 -
 -  gem 'database_cleaner-active_record', '~> 2.2.0', feature_category: :database
--  gem 'rspec-rails', '~> 6.1.1', feature_category: :shared
+-  gem 'rspec-rails', '~> 7.0.0', feature_category: :shared
 -  gem 'factory_bot_rails', '~> 6.4.3', feature_category: :tooling
 -
 -  # Prevent occasions where minitest is not bundled in packaged versions of ruby (see #3826)
@@ -176,13 +176,20 @@
 -  # Moved in `test` because https://gitlab.com/gitlab-org/gitlab/-/issues/217527
 -  gem 'derailed_benchmarks', require: false # rubocop:todo Gemfile/MissingFeatureCategory
 -
--  gem 'gitlab_quality-test_tooling', '~> 1.38.0', require: false, feature_category: :tooling
+-  gem 'gitlab_quality-test_tooling', '~> 1.39.0', require: false, feature_category: :tooling
 -end
 -
  gem 'octokit', '~> 9.0', feature_category: :importers
  # Needed by octokit: https://github.com/octokit/octokit.rb/pull/1688
  gem 'faraday-multipart', '~> 1.0', feature_category: :importers
-@@ -635,7 +514,7 @@ gem 'gitlab-kas-grpc', '~> 17.4.0.pre.rc1', feature_ca
+@@ -633,13 +512,13 @@ gem 'gitaly', '~> 17.4.0.pre.rc1', feature_category: :
+ gem 'gitaly', '~> 17.4.0.pre.rc1', feature_category: :gitaly
+ 
+ # KAS GRPC protocol definitions
+-gem 'gitlab-kas-grpc', '~> 17.4.0.pre.rc1', feature_category: :deployment_management
++gem 'gitlab-kas-grpc', '~> 17.4', feature_category: :deployment_management
+ 
+ # Lock the version before issues below are resolved:
  # https://gitlab.com/gitlab-org/gitlab/-/issues/473169#note_2028352939
  # Or we can upgrade to a more recent version as long as we can confirm
  # that it doesn't have the same issues.
@@ -191,7 +198,7 @@
  
  gem 'google-protobuf', '~> 3.25', '>= 3.25.3' # rubocop:todo Gemfile/MissingFeatureCategory
  
-@@ -656,7 +535,7 @@ gem 'gitlab-net-dns', '~> 0.9.2' # rubocop:todo Gemfil
+@@ -660,7 +539,7 @@ gem 'gitlab-net-dns', '~> 0.9.2' # rubocop:todo Gemfil
  gem 'gitlab-net-dns', '~> 0.9.2' # rubocop:todo Gemfile/MissingFeatureCategory
  
  # Countries list
@@ -200,15 +207,20 @@
  
  gem 'retriable', '~> 3.1.2' # rubocop:todo Gemfile/MissingFeatureCategory
  
-@@ -730,6 +609,11 @@ gem 'duo_api', '~> 1.3' # rubocop:todo Gemfile/Missing
- gem 'net-http', '= 0.4.1', feature_category: :shared
+@@ -735,10 +614,15 @@ gem 'duo_api', '~> 1.3' # rubocop:todo Gemfile/Missing
  
  gem 'duo_api', '~> 1.3' # rubocop:todo Gemfile/MissingFeatureCategory
-+
+ 
 +gem 'parser'
 +gem 'net-smtp'
 +gem 'net-pop'
 +gem 'psych', '~> 3.1'
- 
++
  gem 'gitlab-sdk', '~> 0.3.0', feature_category: :application_instrumentation
  
+ gem 'openbao_client', path: 'gems/openbao_client' # rubocop:todo Gemfile/MissingFeatureCategory
+ 
+ gem 'paper_trail', '~> 15.0' # rubocop:todo Gemfile/MissingFeatureCategory
+ 
+-gem "i18n_data", "~> 0.13.1", feature_category: :system_access
++gem "i18n_data", "~> 0.13", feature_category: :system_access
diff --git a/www/gitlab/files/patch-config_gitlab.yml.example b/www/gitlab/files/patch-config_gitlab.yml.example
index 25c50397d1e2..de2730916655 100644
--- a/www/gitlab/files/patch-config_gitlab.yml.example
+++ b/www/gitlab/files/patch-config_gitlab.yml.example
@@ -1,4 +1,4 @@
---- config/gitlab.yml.example.orig	2024-09-18 10:07:13 UTC
+--- config/gitlab.yml.example.orig	2024-10-16 08:01:39 UTC
 +++ config/gitlab.yml.example
 @@ -473,7 +473,7 @@ production: &base
    ## GitLab Pages
@@ -22,7 +22,7 @@
  
      # File that contains the shared secret key for verifying access for gitlab-pages.
      # Default is '.gitlab_pages_secret' relative to Rails.root (i.e. root of the GitLab app).
-@@ -1214,13 +1214,13 @@ production: &base
+@@ -1210,13 +1210,13 @@ production: &base
    repositories:
      storages: # You must have at least a `default` storage path.
        default:
@@ -38,7 +38,7 @@
      # archive_permissions: 0640 # Permissions for the resulting backup.tar file (default: 0600)
      # keep_time: 604800   # default: 0 (forever) (in seconds)
      # pg_schema: public     # default: nil, it means that all schemas will be backed up
-@@ -1255,12 +1255,12 @@ production: &base
+@@ -1251,12 +1251,12 @@ production: &base
  
    ## GitLab Shell settings
    gitlab_shell:
@@ -54,7 +54,7 @@
  
      # Git over HTTP
      upload_pack: true
-@@ -1275,7 +1275,7 @@ production: &base
+@@ -1271,7 +1271,7 @@ production: &base
    workhorse:
      # File that contains the secret key for verifying access for gitlab-workhorse.
      # Default is '.gitlab_workhorse_secret' relative to Rails.root (i.e. root of the GitLab app).
@@ -63,7 +63,7 @@
  
    topology_service:
      # enabled: false
-@@ -1291,7 +1291,7 @@ production: &base
+@@ -1287,7 +1287,7 @@ production: &base
      # enabled: true
      # File that contains the secret key for verifying access for gitlab-kas.
      # Default is '.gitlab_kas_secret' relative to Rails.root (i.e. root of the GitLab app).
@@ -72,7 +72,7 @@
  
      # The URL to the external KAS API (used by the Kubernetes agents)
      # external_url: wss://kas.example.com
-@@ -1315,13 +1315,13 @@ production: &base
+@@ -1311,13 +1311,13 @@ production: &base
  
    ## GitLab Elasticsearch settings
    elasticsearch:
@@ -88,7 +88,7 @@
  
    ## Webpack settings
    # If enabled, this will tell rails to serve frontend assets from the webpack-dev-server running
-@@ -1342,18 +1342,18 @@ production: &base
+@@ -1338,18 +1338,18 @@ production: &base
  
      # Sidekiq exporter is a dedicated Prometheus metrics server optionally running alongside Sidekiq.
      sidekiq_exporter:
@@ -114,7 +114,7 @@
  
      # Web exporter is a dedicated Prometheus metrics server optionally running alongside Puma.
      web_exporter:
-@@ -1586,13 +1586,13 @@ test:
+@@ -1582,13 +1582,13 @@ test:
          gitaly_address: unix:tmp/tests/gitaly/praefect.socket
  
    gitaly:
diff --git a/www/gitlab/files/patch-gems_gitlab-backup-cli_gitlab-backup-cli.gemspec b/www/gitlab/files/patch-gems_gitlab-backup-cli_gitlab-backup-cli.gemspec
index fdb8c56e19ee..b71dcf9c0c56 100644
--- a/www/gitlab/files/patch-gems_gitlab-backup-cli_gitlab-backup-cli.gemspec
+++ b/www/gitlab/files/patch-gems_gitlab-backup-cli_gitlab-backup-cli.gemspec
@@ -1,11 +1,25 @@
---- gems/gitlab-backup-cli/gitlab-backup-cli.gemspec.orig	2024-08-27 06:12:18 UTC
+--- gems/gitlab-backup-cli/gitlab-backup-cli.gemspec.orig	2024-10-16 08:01:39 UTC
 +++ gems/gitlab-backup-cli/gitlab-backup-cli.gemspec
 @@ -25,7 +25,7 @@ Gem::Specification.new do |spec|
    spec.require_paths = ["lib"]
  
-   spec.add_dependency "activesupport", "< 7.2"
+   spec.add_dependency "activesupport", ">= 7"
 -  spec.add_dependency "googleauth", "~> 1.8.1" # https://gitlab.com/gitlab-org/gitlab/-/issues/449019
 +  spec.add_dependency "googleauth", "~> 1.8" # https://gitlab.com/gitlab-org/gitlab/-/issues/449019
    spec.add_dependency "google-cloud-storage_transfer", "~> 1.2.0"
    spec.add_dependency "rainbow", "~> 3.0"
    spec.add_dependency "thor", "~> 1.3"
+@@ -36,11 +36,11 @@ Gem::Specification.new do |spec|
+   spec.add_dependency "concurrent-ruby", "~> 1.1"
+   spec.add_dependency "faraday", "~> 2"
+   spec.add_dependency "google-protobuf", "~> 3.25", ">= 3.25.3"
+-  spec.add_dependency "grpc", "= 1.63.0"
++  spec.add_dependency "grpc", "~> 1.63"
+   spec.add_dependency "json", "~> 2.7.2"
+   spec.add_dependency "jwt", "~> 2.5"
+   spec.add_dependency "logger", "~> 1.5.3"
+-  spec.add_dependency "minitest", "~> 5.11.0"
++  spec.add_dependency "minitest", "~> 5.11"
+   spec.add_dependency "parallel", "~> 1.19"
+   spec.add_dependency "rack", "~> 2.2.9"
+   spec.add_dependency "rexml", "~> 3.3.2"
diff --git a/www/gitlab/pkg-message b/www/gitlab/pkg-message
index 619235f65793..d6f254eb0e15 100644
--- a/www/gitlab/pkg-message
+++ b/www/gitlab/pkg-message
@@ -6,7 +6,7 @@ Gitlab was installed successfully.
 You now need to set up the various components of Gitlab, so please
 follow the instructions in the guide at:
 
-https://gitlab.com/mfechner/freebsd-gitlab-docu/blob/master/install/17.4-freebsd.md
+https://gitlab.com/mfechner/freebsd-gitlab-docu/blob/master/install/17.5-freebsd.md
 EOM
   type: install
 }
@@ -20,7 +20,7 @@ EOM
 If you just installed an major upgrade of GitLab, for example you
 switched from 14.5.x to 14.6.x, please follow the instructions in the guide at:
 
-https://gitlab.com/mfechner/freebsd-gitlab-docu/blob/master/update/17.3-17.4-freebsd.md
+https://gitlab.com/mfechner/freebsd-gitlab-docu/blob/master/update/17.4-17.5-freebsd.md
 
 If you just installed an minor upgrade of GitLab please follow
 the instructions in the guide at: