git: e05aa3351de2 - 2024Q2 - www/gitlab: major upgrade to 16.11.0

From: Matthias Fechner <mfechner_at_FreeBSD.org>
Date: Tue, 23 Apr 2024 15:30:59 UTC
The branch 2024Q2 has been updated by mfechner:

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

commit e05aa3351de25cf46a6db68948623e26827b696f
Author:     Matthias Fechner <mfechner@FreeBSD.org>
AuthorDate: 2024-04-21 06:07:43 +0000
Commit:     Matthias Fechner <mfechner@FreeBSD.org>
CommitDate: 2024-04-23 15:30:43 +0000

    www/gitlab: major upgrade to 16.11.0
    
    Please note, that this version changes the installation path.
    Make sure you follow the upgrade manual very carefully:
    https://gitlab.fechner.net/mfechner/Gitlab-docu/-/blob/master/update/16.10-16.11-freebsd.md
    
    Changes:        https://about.gitlab.com/releases/2024/04/18/gitlab-16-11-released/
    (cherry picked from commit 57a5a76f292efabc53b79e24fb66cf1d8c42ecd2)
---
 UPDATING                                         | 15 ++++++
 devel/gitaly/Makefile                            |  3 +-
 devel/gitaly/distinfo                            | 10 ++--
 devel/gitlab-shell/Makefile                      |  3 +-
 devel/gitlab-shell/distinfo                      | 10 ++--
 net/gitlab-agent/Makefile                        |  3 +-
 net/gitlab-agent/distinfo                        | 10 ++--
 www/gitlab-pages/Makefile                        |  3 +-
 www/gitlab-pages/distinfo                        | 10 ++--
 www/gitlab-workhorse/Makefile                    |  3 +-
 www/gitlab-workhorse/distinfo                    | 10 ++--
 www/gitlab/Makefile                              | 30 ++++++-----
 www/gitlab/distinfo                              | 12 ++---
 www/gitlab/files/patch-Gemfile                   | 68 ++++++++++++------------
 www/gitlab/files/patch-config_gitlab.yml.example |  4 +-
 www/gitlab/pkg-message                           |  2 +-
 16 files changed, 105 insertions(+), 91 deletions(-)

diff --git a/UPDATING b/UPDATING
index cf5c7f3144be..a636a8bcf645 100644
--- a/UPDATING
+++ b/UPDATING
@@ -5,6 +5,21 @@ they are unavoidable.
 You should get into the habit of checking this file for changes each time
 you update your ports collection, before attempting any port upgrades.
 
+20240421:
+  AFFECTS: www/gitlab-ce
+  AUTHOR: mfechner@FreeBSD.org
+
+  With the upgrade to version 16.11 the default path for gitlab-ce changed:
+  /usr/local/www/gitlab-ce -> /usr/local/www/gitlab
+  Make sure you follow the upgrade manual very carefully:
+  https://gitlab.fechner.net/mfechner/Gitlab-docu/-/blob/master/update/16.10-16.11-freebsd.md
+
+  The gitlab port also got a new flavor gitlab@ee to make the Gitlab
+  Enterprise Edition available (you will need a license for it).
+  Please note, that the ee flavor is a draft, but any feedback is welcome.
+  See also the installation and upgrade manual for more details.
+  https://gitlab.fechner.net/mfechner/Gitlab-docu/-/blob/master/install/16.11-freebsd.md
+
 20240409:
   AFFECTS: x11-servers/xwayland-devel
   AUTHOR: jbeich@FreeBSD.org
diff --git a/devel/gitaly/Makefile b/devel/gitaly/Makefile
index 597bf99c05a6..811ebb8e1276 100644
--- a/devel/gitaly/Makefile
+++ b/devel/gitaly/Makefile
@@ -1,7 +1,6 @@
 PORTNAME=	gitaly
 DISTVERSIONPREFIX=	v
-DISTVERSION=	16.10.2
-PORTREVISION=	1
+DISTVERSION=	16.11.0
 CATEGORIES=	devel
 
 MAINTAINER=	mfechner@FreeBSD.org
diff --git a/devel/gitaly/distinfo b/devel/gitaly/distinfo
index 250166e4f7e2..d66dd8ad0e63 100644
--- a/devel/gitaly/distinfo
+++ b/devel/gitaly/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1712813338
-SHA256 (go/devel_gitaly/gitaly-v16.10.2/go.mod) = 7b91ade6dff93cc604ec8e7af286fb2c95ff4de3a92e8ec772762b287557793f
-SIZE (go/devel_gitaly/gitaly-v16.10.2/go.mod) = 10694
-SHA256 (go/devel_gitaly/gitaly-v16.10.2/gitaly-v16.10.2.tar.bz2) = 6d5de86a626aa5d05f7321532f8a5cd8fc987d6fb4ad4cb1bd218c0c6424d6aa
-SIZE (go/devel_gitaly/gitaly-v16.10.2/gitaly-v16.10.2.tar.bz2) = 2569564
+TIMESTAMP = 1713634052
+SHA256 (go/devel_gitaly/gitaly-v16.11.0/go.mod) = 701cdacc7cfef68f40611c56a42b322cd4ddce5d2ad0508d51e43013adca7388
+SIZE (go/devel_gitaly/gitaly-v16.11.0/go.mod) = 11024
+SHA256 (go/devel_gitaly/gitaly-v16.11.0/gitaly-v16.11.0.tar.bz2) = 7e0eb6de98e855db4e455a5b6493f6bf26c475f740aa615ef79686a6d786cb57
+SIZE (go/devel_gitaly/gitaly-v16.11.0/gitaly-v16.11.0.tar.bz2) = 2607295
diff --git a/devel/gitlab-shell/Makefile b/devel/gitlab-shell/Makefile
index a28ecdb801fb..eba451dc0fc3 100644
--- a/devel/gitlab-shell/Makefile
+++ b/devel/gitlab-shell/Makefile
@@ -1,7 +1,6 @@
 PORTNAME=	gitlab-shell
-PORTVERSION=	14.34.0
+PORTVERSION=	14.35.0
 DISTVERSIONPREFIX=	v
-PORTREVISION=	1
 CATEGORIES=	devel
 
 MAINTAINER=	mfechner@FreeBSD.org
diff --git a/devel/gitlab-shell/distinfo b/devel/gitlab-shell/distinfo
index 7d3aa95813cc..37305ca621cc 100644
--- a/devel/gitlab-shell/distinfo
+++ b/devel/gitlab-shell/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1711002376
-SHA256 (go/devel_gitlab-shell/gitlab-shell-v14.34.0/go.mod) = 74f67493ae38b37d290f52e5e5b15bad21dafb4aeb42fc9e8454b0a5aeaf5e81
-SIZE (go/devel_gitlab-shell/gitlab-shell-v14.34.0/go.mod) = 4979
-SHA256 (go/devel_gitlab-shell/gitlab-shell-v14.34.0/gitlab-shell-v14.34.0.tar.bz2) = 480331530951342abb3bc6f95cc9897f9b34422cdec5f717f17c0d5822dd14df
-SIZE (go/devel_gitlab-shell/gitlab-shell-v14.34.0/gitlab-shell-v14.34.0.tar.bz2) = 146280
+TIMESTAMP = 1713637949
+SHA256 (go/devel_gitlab-shell/gitlab-shell-v14.35.0/go.mod) = cd69a1200be427a08520bfbe7287c215bdd5791278367c741c6720d8f56995aa
+SIZE (go/devel_gitlab-shell/gitlab-shell-v14.35.0/go.mod) = 5395
+SHA256 (go/devel_gitlab-shell/gitlab-shell-v14.35.0/gitlab-shell-v14.35.0.tar.bz2) = 962b98f04de977e3699820bbe06f51e68c0effa9f65953da9be248321ff4b046
+SIZE (go/devel_gitlab-shell/gitlab-shell-v14.35.0/gitlab-shell-v14.35.0.tar.bz2) = 149964
diff --git a/net/gitlab-agent/Makefile b/net/gitlab-agent/Makefile
index de2873355cc8..c4d12085576c 100644
--- a/net/gitlab-agent/Makefile
+++ b/net/gitlab-agent/Makefile
@@ -1,7 +1,6 @@
 PORTNAME=	gitlab-agent
-PORTVERSION=	16.10.1
+PORTVERSION=	16.11.0
 DISTVERSIONPREFIX=	v
-PORTREVISION=	1
 CATEGORIES=	net
 
 MAINTAINER=	mfechner@FreeBSD.org
diff --git a/net/gitlab-agent/distinfo b/net/gitlab-agent/distinfo
index c9305520734e..88101dd43872 100644
--- a/net/gitlab-agent/distinfo
+++ b/net/gitlab-agent/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1711002314
-SHA256 (go/net_gitlab-agent/gitlab-agent-v16.10.1/v16.10.1.mod) = c6808de41d9040e81806e0355189a2427bc6d4d38c3e746caf790741cb136fc3
-SIZE (go/net_gitlab-agent/gitlab-agent-v16.10.1/v16.10.1.mod) = 7055
-SHA256 (go/net_gitlab-agent/gitlab-agent-v16.10.1/v16.10.1.zip) = af8434dc5df7e3d634f391b3511d9fad5948619cb099f0a044e293f2d2cdb46c
-SIZE (go/net_gitlab-agent/gitlab-agent-v16.10.1/v16.10.1.zip) = 1244996
+TIMESTAMP = 1713414289
+SHA256 (go/net_gitlab-agent/gitlab-agent-v16.11.0/v16.11.0.mod) = 73740cc2454413865622b26264c35ee5cdd7dd701e66e9e9642dc7d30e690b56
+SIZE (go/net_gitlab-agent/gitlab-agent-v16.11.0/v16.11.0.mod) = 7055
+SHA256 (go/net_gitlab-agent/gitlab-agent-v16.11.0/v16.11.0.zip) = 37058485885f144c1e7eaf16bcfec7304ee7fda56630db89ea73a2093e26e41a
+SIZE (go/net_gitlab-agent/gitlab-agent-v16.11.0/v16.11.0.zip) = 1255441
diff --git a/www/gitlab-pages/Makefile b/www/gitlab-pages/Makefile
index 9c811877f0d8..44c25371aac5 100644
--- a/www/gitlab-pages/Makefile
+++ b/www/gitlab-pages/Makefile
@@ -1,7 +1,6 @@
 PORTNAME=	gitlab-pages
-PORTVERSION=	16.10.2
+PORTVERSION=	16.11.0
 DISTVERSIONPREFIX=	v
-PORTREVISION=	1
 CATEGORIES=	www
 MASTER_SITES+=	https://gitlab.com/gitlab-org/gitlab-pages/-/raw/v${DISTVERSION}/
 DISTFILES+=	go.mod
diff --git a/www/gitlab-pages/distinfo b/www/gitlab-pages/distinfo
index 8b73742b63fa..1acd35b85cba 100644
--- a/www/gitlab-pages/distinfo
+++ b/www/gitlab-pages/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1712813317
-SHA256 (go/www_gitlab-pages/gitlab-pages-v16.10.2/go.mod) = de0926d06d56e5cdb84c2c4fd4bc05bb9c8c3724a8e1cf8c0f775856958540ba
-SIZE (go/www_gitlab-pages/gitlab-pages-v16.10.2/go.mod) = 3328
-SHA256 (go/www_gitlab-pages/gitlab-pages-v16.10.2/gitlab-pages-v16.10.2.tar.bz2) = c60cc0f7cf76c5dc10c79374ff092ef7a47baea2a5dda60c7521252f088dbd30
-SIZE (go/www_gitlab-pages/gitlab-pages-v16.10.2/gitlab-pages-v16.10.2.tar.bz2) = 212538
+TIMESTAMP = 1713633989
+SHA256 (go/www_gitlab-pages/gitlab-pages-v16.11.0/go.mod) = de0926d06d56e5cdb84c2c4fd4bc05bb9c8c3724a8e1cf8c0f775856958540ba
+SIZE (go/www_gitlab-pages/gitlab-pages-v16.11.0/go.mod) = 3328
+SHA256 (go/www_gitlab-pages/gitlab-pages-v16.11.0/gitlab-pages-v16.11.0.tar.bz2) = d9180a31353be2e9c41d22e2a9d91cad62cc4ef00ef7ae202170fde0aea2c9fc
+SIZE (go/www_gitlab-pages/gitlab-pages-v16.11.0/gitlab-pages-v16.11.0.tar.bz2) = 212557
diff --git a/www/gitlab-workhorse/Makefile b/www/gitlab-workhorse/Makefile
index f1de493ba375..edd5eea933ed 100644
--- a/www/gitlab-workhorse/Makefile
+++ b/www/gitlab-workhorse/Makefile
@@ -1,7 +1,6 @@
 PORTNAME=	gitlab-workhorse
-PORTVERSION=	16.10.2
+PORTVERSION=	16.11.0
 DISTVERSIONPREFIX=	v
-PORTREVISION=	1
 CATEGORIES=	www
 
 MAINTAINER=	mfechner@FreeBSD.org
diff --git a/www/gitlab-workhorse/distinfo b/www/gitlab-workhorse/distinfo
index 9db231332ed9..9012462a1600 100644
--- a/www/gitlab-workhorse/distinfo
+++ b/www/gitlab-workhorse/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1712812971
-SHA256 (go/www_gitlab-workhorse/gitlab-foss-v16.10.2/go.mod) = 30331c370381660ab69d81ef95e68b1d1618fe3c25758b3e6dc11f355a1d870c
-SIZE (go/www_gitlab-workhorse/gitlab-foss-v16.10.2/go.mod) = 7081
-SHA256 (go/www_gitlab-workhorse/gitlab-foss-v16.10.2/gitlab-foss-v16.10.2.tar.bz2) = 117c12aa5ef92a1f0e8e5027ee0f44694aabb5b9948636de4b3c2d495af3b61b
-SIZE (go/www_gitlab-workhorse/gitlab-foss-v16.10.2/gitlab-foss-v16.10.2.tar.bz2) = 101864036
+TIMESTAMP = 1713633714
+SHA256 (go/www_gitlab-workhorse/gitlab-foss-v16.11.0/go.mod) = 2c1ff4ba288aa4bf72cc93438b6dda7660257f50eeb7823f9acc0dde5412c499
+SIZE (go/www_gitlab-workhorse/gitlab-foss-v16.11.0/go.mod) = 7010
+SHA256 (go/www_gitlab-workhorse/gitlab-foss-v16.11.0/gitlab-foss-v16.11.0.tar.bz2) = f37af6af67c0d281000098519dec8b62acd678c633c121cf6135d4874f6319c8
+SIZE (go/www_gitlab-workhorse/gitlab-foss-v16.11.0/gitlab-foss-v16.11.0.tar.bz2) = 102630775
diff --git a/www/gitlab/Makefile b/www/gitlab/Makefile
index 768348c8eda2..4cec0e0ca20d 100644
--- a/www/gitlab/Makefile
+++ b/www/gitlab/Makefile
@@ -1,5 +1,5 @@
 PORTNAME=	gitlab-${FLAVOR:Uce}
-PORTVERSION=	16.10.2
+PORTVERSION=	16.11.0
 DISTVERSIONPREFIX=	v
 .if ${FLAVOR:U} == ee
 DISTVERSIONSUFFIX=	-ee
@@ -31,7 +31,7 @@ MY_DEPENDS=	git>=2.41.0:devel/git \
 	gitlab-elasticsearch-indexer>=4.8.0:textproc/gitlab-elasticsearch-indexer \
 	gitlab-agent>=16.10.1:net/gitlab-agent \
 	gitlab-pages>=${PORTVERSION}:www/gitlab-pages \
-	gitlab-shell>=14.34.0:devel/gitlab-shell \
+	gitlab-shell>=14.35.0:devel/gitlab-shell \
 	gitlab-workhorse>=${PORTVERSION}:www/gitlab-workhorse \
 	redis>=6.2.11:databases/redis \
 	yarn${NODEJS_SUFFIX}>=1.10.0:www/yarn${NODEJS_SUFFIX} \
@@ -92,7 +92,7 @@ MY_DEPENDS=	git>=2.41.0:devel/git \
 	rubygem-net-ldap017>=0.17.1<0.18:net/rubygem-net-ldap017 \
 	rubygem-grape>=2.0.0<2.1:devel/rubygem-grape \
 	rubygem-grape-entity>=0.10.2<0.11.0,1:devel/rubygem-grape-entity \
-	rubygem-grape-swagger>=2.0.1<2.1:devel/rubygem-grape-swagger \
+	rubygem-grape-swagger>=2.0.2<2.1:devel/rubygem-grape-swagger \
 	rubygem-grape-swagger-entity>=0.5.1<0.6:devel/rubygem-grape-swagger-entity \
 	rubygem-grape-path-helpers>=2.0.1<2.1:devel/rubygem-grape-path-helpers \
 	rubygem-rack-cors>=2.0.1<2.1:www/rubygem-rack-cors \
@@ -106,13 +106,13 @@ MY_DEPENDS=	git>=2.41.0:devel/git \
 	rubygem-kaminari-rails70>=1.2.2<1.3:www/rubygem-kaminari-rails70 \
 	rubygem-hamlit>=2.15.0<2.16:www/rubygem-hamlit \
 	rubygem-carrierwave1>=1.3.4<2.0:www/rubygem-carrierwave1 \
-	rubygem-mini_magick410>=4.10.1<4.11:graphics/rubygem-mini_magick410 \
+	rubygem-mini_magick>=4.12<5:graphics/rubygem-mini_magick \
 	rubygem-fog-aws>=3.18<4:net/rubygem-fog-aws \
 	rubygem-fog-core210>=2.1.0<2.1.1:devel/rubygem-fog-core210 \
 	rubygem-fog-google>=1.19<2:net/rubygem-fog-google \
 	rubygem-fog-local>=0.8<1.0:net/rubygem-fog-local \
 	rubygem-fog-aliyun>=0.4<1.0:net/rubygem-fog-aliyun \
-	rubygem-gitlab-fog-azure-rm>=1.8.0<1.9:net/rubygem-gitlab-fog-azure-rm \
+	rubygem-gitlab-fog-azure-rm>=1.9.1<1.10:net/rubygem-gitlab-fog-azure-rm \
 	rubygem-google-apis-storage_v1>=0.29<1:devel/rubygem-google-apis-storage_v1 \
 	rubygem-google-cloud-storage145>=1.45.0<1.46:net/rubygem-google-cloud-storage145 \
 	rubygem-google-apis-core>=0.11.2<2:devel/rubygem-google-apis-core \
@@ -132,9 +132,9 @@ MY_DEPENDS=	git>=2.41.0:devel/git \
 	rubygem-elasticsearch-model713>=7.2<8:textproc/rubygem-elasticsearch-model713 \
 	rubygem-elasticsearch-rails>=7.2<8:textproc/rubygem-elasticsearch-rails \
 	rubygem-elasticsearch-api713>=7.13.3<7.13.4:textproc/rubygem-elasticsearch-api713 \
-	rubygem-aws-sdk-core>=3.191.3<4:devel/rubygem-aws-sdk-core \
+	rubygem-aws-sdk-core>=3.191.6<4:devel/rubygem-aws-sdk-core \
 	rubygem-aws-sdk-cloudformation>=1<2:devel/rubygem-aws-sdk-cloudformation \
-	rubygem-aws-sdk-s3>=1.144.0<2:devel/rubygem-aws-sdk-s3 \
+	rubygem-aws-sdk-s3>=1.146.1<2:devel/rubygem-aws-sdk-s3 \
 	rubygem-faraday_middleware-aws-sigv403>=0.3.0<0.4:devel/rubygem-faraday_middleware-aws-sigv403 \
 	rubygem-typhoeus>=1.4.0<1.5:www/rubygem-typhoeus \
 	rubygem-html-pipeline>=2.14.3<2.15:textproc/rubygem-html-pipeline \
@@ -153,7 +153,7 @@ MY_DEPENDS=	git>=2.41.0:devel/git \
 	rubygem-rouge>=4.2.0<4.3:textproc/rubygem-rouge \
 	rubygem-truncato>=0.7.12<0.8.0:textproc/rubygem-truncato \
 	rubygem-nokogiri>=1.16<2:textproc/rubygem-nokogiri \
-	rubygem-gitlab-glfm-markdown>=0.0.13<0.1:textproc/rubygem-gitlab-glfm-markdown \
+	rubygem-gitlab-glfm-markdown>=0.0.14<0.1:textproc/rubygem-gitlab-glfm-markdown \
 	rubygem-icalendar>=0:devel/rubygem-icalendar \
 	rubygem-diffy>=3.4<4:textproc/rubygem-diffy \
 	rubygem-rack22>=2.2.8.1,3<2.3,3:www/rubygem-rack22 \
@@ -169,7 +169,7 @@ MY_DEPENDS=	git>=2.41.0:devel/git \
 	rubygem-rainbow>=3.1.1<4.0:devel/rubygem-rainbow \
 	rubygem-ruby-progressbar>=1.11<2:devel/rubygem-ruby-progressbar \
 	rubygem-re2>=2.7.0<2.8:devel/rubygem-re2 \
-	rubygem-semver_dialects>=2.0<3:devel/rubygem-semver_dialects \
+	rubygem-semver_dialects>=2.0.2<3:devel/rubygem-semver_dialects \
 	rubygem-version_sorter>=2.3<3:textproc/rubygem-version_sorter \
 	rubygem-js_regex>=3.8<4.0:textproc/rubygem-js_regex \
 	rubygem-device_detector>=0:devel/rubygem-device_detector \
@@ -190,7 +190,7 @@ MY_DEPENDS=	git>=2.41.0:devel/git \
 	rubygem-babosa>=2.0<3:textproc/rubygem-babosa \
 	rubygem-loofah>=2.22.0<2.23:textproc/rubygem-loofah \
 	rubygem-licensee>=9.16<10:devel/rubygem-licensee \
-	rubygem-charlock_holmes>=0.7.7<0.8.0:textproc/rubygem-charlock_holmes \
+	rubygem-static_holmes>=0.7.7:textproc/rubygem-static_holmes \
 	rubygem-ruby-magic>=0.6<1:devel/rubygem-ruby-magic \
 	rubygem-fast_blank>=1.0.1<1.1:devel/rubygem-fast_blank \
 	rubygem-gitlab-chronic>=0.10.5<0.11.0:devel/rubygem-gitlab-chronic \
@@ -214,7 +214,7 @@ MY_DEPENDS=	git>=2.41.0:devel/git \
 	rubygem-gitlab-labkit>=0.35.1<0.36:devel/rubygem-gitlab-labkit \
 	rubygem-thrift>=0.16.0:devel/rubygem-thrift \
 	rubygem-rails-i18n-rails70>=7.0<8:devel/rubygem-rails-i18n-rails70 \
-	rubygem-gettext_i18n_rails111>=1.11.0<1.12.0:devel/rubygem-gettext_i18n_rails111 \
+	rubygem-gettext_i18n_rails>=1.12.0<1.13:devel/rubygem-gettext_i18n_rails \
 	rubygem-gettext>=3.4<4:devel/rubygem-gettext \
 	rubygem-batch-loader>=2.0.1<2.1:devel/rubygem-batch-loader \
 	rubygem-peek-rails70>=1.1<2.0:devel/rubygem-peek-rails70 \
@@ -225,7 +225,7 @@ MY_DEPENDS=	git>=2.41.0:devel/git \
 	rubygem-gitlab-dangerfiles>=4.7.0<4.8:devel/rubygem-gitlab-dangerfiles \
 	rubygem-license_finder>=7.0.0<8:devel/rubygem-license_finder \
 	rubygem-rspec>=3.0<4:devel/rubygem-rspec \
-	rubygem-octokit>=8.0<9:net/rubygem-octokit \
+	rubygem-octokit>=8.1<9:net/rubygem-octokit \
 	rubygem-gitlab-mail_room>=0.0.24<0.1.0:mail/rubygem-gitlab-mail_room \
 	rubygem-email_reply_trimmer>=0.1<1.0:mail/rubygem-email_reply_trimmer \
 	rubygem-html2text>=0:textproc/rubygem-html2text \
@@ -240,7 +240,7 @@ MY_DEPENDS=	git>=2.41.0:devel/git \
 	rubygem-net-ntp>0:net/rubygem-net-ntp \
 	rubygem-ssh_data>=1.3<2:security/rubygem-ssh_data \
 	rubygem-spamcheck>=1.3.0<1.4:net/rubygem-spamcheck \
-	rubygem-gitaly>=16.10.0.pre.rc1<16.11.0:net/rubygem-gitaly \
+	rubygem-gitaly>=16.11.0.pre.rc1<16.12.0:net/rubygem-gitaly \
 	rubygem-kas-grpc>=0.4.0,1<0.5.0,1:net/rubygem-kas-grpc \
 	rubygem-grpc>=1.60.0<2:net/rubygem-grpc \
 	rubygem-google-protobuf>=3.25.3<4:devel/rubygem-google-protobuf \
@@ -273,7 +273,7 @@ MY_DEPENDS=	git>=2.41.0:devel/git \
 	rubygem-parser>=3.2.2.4:devel/rubygem-parser \
 	rubygem-cvss-suite>=3.0.1<3.1:security/rubygem-cvss-suite \
 	rubygem-arr-pm>=0.0.12<0.1:devel/rubygem-arr-pm \
-	rubygem-devfile>=0.0.25.p.a1<0.0.25:net/rubygem-devfile \
+	rubygem-devfile>=0.0.26.p.a1<0.0.27:net/rubygem-devfile \
 	rubygem-CFPropertyList>=3.0.0<3.1:devel/rubygem-CFPropertyList \
 	rubygem-app_store_connect>=0:net/rubygem-app_store_connect \
 	rubygem-telesignenterprise>=2.2<3:devel/rubygem-telesignenterprise \
@@ -371,6 +371,7 @@ do-install:
 	${MV} ${WRKSRC}/lib/support/nginx/gitlab-ssl ${WRKSRC}/lib/support/nginx/gitlab-ssl.sample
 	${MV} ${WRKSRC}/public/robots.txt ${WRKSRC}/public/robots.txt.sample
 	${MKDIR} ${STAGEDIR}${WWWDIR}/app/assets/builds
+	${MKDIR} ${STAGEDIR}${WWWDIR}/config/helpers/tailwind
 	${MKDIR} ${STAGEDIR}${WWWDIR}/public/assets
 	${MKDIR} ${STAGEDIR}${WWWDIR}/public/uploads
 	${MKDIR} ${STAGEDIR}${WWWDIR}/tmp/cache
@@ -402,6 +403,7 @@ post-install:
 	@${ECHO_CMD} "@dir ${WWWDIR_REL}/app/assets/javascripts/pipeline_wizard/templates/" >> ${TMPPLIST}
 	@${ECHO_CMD} "@dir(git,git,554) ${WWWDIR_REL}/bin" >> ${TMPPLIST}
 	@${ECHO_CMD} "@dir ${WWWDIR_REL}/config" >> ${TMPPLIST}
+	@${ECHO_CMD} "@dir(git,git,755) ${WWWDIR_REL}/config/helpers/tailwind" >> ${TMPPLIST}
 	@${ECHO_CMD} "@dir(,,700) ${WWWDIR_REL}/builds" >> ${TMPPLIST}
 	@${ECHO_CMD} "@dir(,,744) ${WWWDIR_REL}/locale" >> ${TMPPLIST}
 	@${ECHO_CMD} "@dir ${WWWDIR_REL}/lib/assets" >> ${TMPPLIST}
diff --git a/www/gitlab/distinfo b/www/gitlab/distinfo
index 63cadb329bc1..88ec868535d7 100644
--- a/www/gitlab/distinfo
+++ b/www/gitlab/distinfo
@@ -1,6 +1,6 @@
-TIMESTAMP = 1712907601
-SHA256 (gitlab-foss-v16.10.2.tar.bz2) = 117c12aa5ef92a1f0e8e5027ee0f44694aabb5b9948636de4b3c2d495af3b61b
-SIZE (gitlab-foss-v16.10.2.tar.bz2) = 101864036
-TIMESTAMP = 1712907527
-SHA256 (gitlab-v16.10.2-ee.tar.bz2) = 403107ce5f1fda0d8d14911fa48cb9da0c6e5c7b0c5ec979fc0cd54b1cd3df83
-SIZE (gitlab-v16.10.2-ee.tar.bz2) = 109168675
+TIMESTAMP = 1713633902
+SHA256 (gitlab-foss-v16.11.0.tar.bz2) = f37af6af67c0d281000098519dec8b62acd678c633c121cf6135d4874f6319c8
+SIZE (gitlab-foss-v16.11.0.tar.bz2) = 102630775
+TIMESTAMP = 1713633967
+SHA256 (gitlab-v16.11.0-ee.tar.bz2) = 93d25af24702d173e52eee9ef2437c0b5faf688b675d9e8358d0f496e7fb960f
+SIZE (gitlab-v16.11.0-ee.tar.bz2) = 110296983
diff --git a/www/gitlab/files/patch-Gemfile b/www/gitlab/files/patch-Gemfile
index ce181c3a12c6..19e303a3e6a7 100644
--- a/www/gitlab/files/patch-Gemfile
+++ b/www/gitlab/files/patch-Gemfile
@@ -1,6 +1,6 @@
---- Gemfile.orig	2024-03-27 08:20:26 UTC
+--- Gemfile.orig	2024-04-17 11:47:15 UTC
 +++ Gemfile
-@@ -58,7 +58,7 @@ gem 'neighbor', '~> 0.2.3' # rubocop:todo Gemfile/Miss
+@@ -58,7 +58,7 @@ gem 'rugged', '~> 1.6' # rubocop:todo Gemfile/MissingF
  
  gem 'rugged', '~> 1.6' # rubocop:todo Gemfile/MissingFeatureCategory
  
@@ -9,7 +9,7 @@
  gem 'marginalia', '~> 1.11.1' # rubocop:todo Gemfile/MissingFeatureCategory
  
  # Authorization
-@@ -78,8 +78,8 @@ gem 'omniauth-azure-activedirectory-v2', '~> 2.0' # ru
+@@ -78,8 +78,8 @@ gem 'omniauth-alicloud', '~> 3.0.0' # rubocop:todo Gem
  gem 'omniauth-azure-oauth2', '~> 0.0.9', path: 'vendor/gems/omniauth-azure-oauth2' # See gem README.md # rubocop:todo Gemfile/MissingFeatureCategory
  gem 'omniauth-dingtalk-oauth2', '~> 1.0' # rubocop:todo Gemfile/MissingFeatureCategory
  gem 'omniauth-alicloud', '~> 3.0.0' # rubocop:todo Gemfile/MissingFeatureCategory
@@ -20,7 +20,7 @@
  gem 'omniauth-gitlab', '~> 4.0.0', path: 'vendor/gems/omniauth-gitlab' # See vendor/gems/omniauth-gitlab/README.md # rubocop:todo Gemfile/MissingFeatureCategory
  gem 'omniauth-google-oauth2', '~> 1.1' # rubocop:todo Gemfile/MissingFeatureCategory
  gem 'omniauth-oauth2-generic', '~> 0.2.2' # rubocop:todo Gemfile/MissingFeatureCategory
-@@ -90,7 +90,7 @@ gem 'omniauth_crowd', '~> 2.4.0', path: 'vendor/gems/o
+@@ -90,7 +90,7 @@ gem 'omniauth_openid_connect', '~> 0.6.1' # rubocop:to
  gem 'omniauth_openid_connect', '~> 0.6.1' # rubocop:todo Gemfile/MissingFeatureCategory
  # Locked until Ruby 3.0 upgrade since upgrading will pull in an updated net-smtp gem.
  # See https://docs.gitlab.com/ee/development/emails.html#rationale.
@@ -29,7 +29,7 @@
  gem 'omniauth-salesforce', '~> 1.0.5', path: 'vendor/gems/omniauth-salesforce' # See gem README.md # rubocop:todo Gemfile/MissingFeatureCategory
  gem 'omniauth-atlassian-oauth2', '~> 0.2.0' # rubocop:todo Gemfile/MissingFeatureCategory
  gem 'rack-oauth2', '~> 1.21.3' # rubocop:todo Gemfile/MissingFeatureCategory
-@@ -185,7 +185,7 @@ gem 'gitlab-fog-azure-rm', '~> 1.8.0', require: 'fog/a
+@@ -185,7 +185,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
@@ -38,7 +38,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
-@@ -196,7 +196,7 @@ gem 'google-apis-serviceusage_v1', '~> 0.28.0' # ruboc
+@@ -196,7 +196,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
  
@@ -47,19 +47,19 @@
  gem 'google-cloud-artifact_registry-v1', '~> 0.11.0', feature_category: :shared
  gem 'google-cloud-compute-v1', '~> 2.6.0', feature_category: :shared
  
-@@ -207,9 +207,9 @@ gem 'seed-fu', '~> 2.3.7' # rubocop:todo Gemfile/Missi
+@@ -207,9 +207,9 @@ gem 'elasticsearch-api',   '7.13.3' # rubocop:todo Gem
  gem 'elasticsearch-model', '~> 7.2' # rubocop:todo Gemfile/MissingFeatureCategory
  gem 'elasticsearch-rails', '~> 7.2', require: 'elasticsearch/rails/instrumentation' # rubocop:todo Gemfile/MissingFeatureCategory
  gem 'elasticsearch-api',   '7.13.3' # rubocop:todo Gemfile/MissingFeatureCategory
--gem 'aws-sdk-core', '~> 3.191.3' # rubocop:todo Gemfile/MissingFeatureCategory
+-gem 'aws-sdk-core', '~> 3.191.6' # rubocop:todo Gemfile/MissingFeatureCategory
 +gem 'aws-sdk-core', '~> 3.191' # rubocop:todo Gemfile/MissingFeatureCategory
  gem 'aws-sdk-cloudformation', '~> 1' # rubocop:todo Gemfile/MissingFeatureCategory
--gem 'aws-sdk-s3', '~> 1.144.0' # rubocop:todo Gemfile/MissingFeatureCategory
-+gem 'aws-sdk-s3', '~> 1.144' # rubocop:todo Gemfile/MissingFeatureCategory
+-gem 'aws-sdk-s3', '~> 1.146.1' # rubocop:todo Gemfile/MissingFeatureCategory
++gem 'aws-sdk-s3', '~> 1.146' # rubocop:todo Gemfile/MissingFeatureCategory
  gem 'faraday_middleware-aws-sigv4', '~>0.3.0' # rubocop:todo Gemfile/MissingFeatureCategory
  gem 'typhoeus', '~> 1.4.0' # Used with Elasticsearch to support http keep-alive connections # rubocop:todo Gemfile/MissingFeatureCategory
  
-@@ -240,12 +240,12 @@ gem 'diffy', '~> 3.4' # rubocop:todo Gemfile/MissingFe
+@@ -240,12 +240,12 @@ gem 'diff_match_patch', '~> 0.1.0', path: 'vendor/gems
  gem 'diff_match_patch', '~> 0.1.0', path: 'vendor/gems/diff_match_patch', feature_category: :team_planning
  
  # Application server
@@ -74,7 +74,7 @@
    gem 'sd_notify', '~> 0.1.0', require: false # rubocop:todo Gemfile/MissingFeatureCategory
  end
  
-@@ -256,7 +256,7 @@ gem 'state_machines-activerecord', '~> 0.8.0' # ruboco
+@@ -256,7 +256,7 @@ gem 'acts-as-taggable-on', '~> 10.0' # rubocop:todo Ge
  gem 'acts-as-taggable-on', '~> 10.0' # rubocop:todo Gemfile/MissingFeatureCategory
  
  # Background jobs
@@ -83,17 +83,17 @@
  gem 'sidekiq-cron', '~> 1.12.0', feature_category: :shared
  gem 'gitlab-sidekiq-fetcher', path: 'vendor/gems/sidekiq-reliable-fetch', require: 'sidekiq-reliable-fetch' # rubocop:todo Gemfile/MissingFeatureCategory
  
-@@ -399,93 +399,10 @@ gem 'prometheus-client-mmap', '~> 1.1', '>= 1.1.1', re
+@@ -401,95 +401,10 @@ gem 'warning', '~> 1.3.0' # rubocop:todo Gemfile/Missi
  
  gem 'warning', '~> 1.3.0' # rubocop:todo Gemfile/MissingFeatureCategory
  
 -group :development do
--  gem 'lefthook', '~> 1.5.6', require: false, feature_category: :tooling
+-  gem 'lefthook', '~> 1.6.8', require: false, feature_category: :tooling
 -  gem 'rubocop', feature_category: :tooling
 -  gem 'solargraph', '~> 0.47.2', require: false # rubocop:todo Gemfile/MissingFeatureCategory
 -
 -  gem 'letter_opener_web', '~> 2.0.0' # rubocop:todo Gemfile/MissingFeatureCategory
--  gem 'lookbook', '~> 2.2' # rubocop:todo Gemfile/MissingFeatureCategory
+-  gem 'lookbook', '~> 2.2', '>= 2.2.2' # rubocop:todo Gemfile/MissingFeatureCategory
 -
 -  # Better errors handler
 -  gem 'better_errors', '~> 2.10.1' # rubocop:todo Gemfile/MissingFeatureCategory
@@ -102,17 +102,19 @@
 -
 -  gem 'listen', '~> 3.7' # rubocop:todo Gemfile/MissingFeatureCategory
 -
--  gem 'ruby-lsp', "~> 0.14.4", require: false, feature_category: :tooling
+-  gem 'ruby-lsp', "~> 0.14.6", require: false, feature_category: :tooling
 -
--  gem 'ruby-lsp-rails', "~> 0.3.0", feature_category: :tooling
+-  gem 'ruby-lsp-rails', "~> 0.3.3", feature_category: :tooling
 -
 -  gem 'ruby-lsp-rspec', "~> 0.1.10", require: false, feature_category: :tooling
+-
+-  gem 'gdk-toogle', '~> 0.9', require: 'toogle', feature_category: :tooling
 -end
 -
 -group :development, :test do
 -  gem 'deprecation_toolkit', '~> 1.5.1', require: false # rubocop:todo Gemfile/MissingFeatureCategory
 -  gem 'bullet', '~> 7.1.2' # rubocop:todo Gemfile/MissingFeatureCategory
--  gem 'parser', '~> 3.3', '>= 3.3.0.2' # rubocop:todo Gemfile/MissingFeatureCategory
+-  gem 'parser', '~> 3.3', '>= 3.3.0.5' # rubocop:todo Gemfile/MissingFeatureCategory
 -  gem 'pry-byebug' # rubocop:todo Gemfile/MissingFeatureCategory
 -  gem 'pry-rails', '~> 0.3.9' # rubocop:todo Gemfile/MissingFeatureCategory
 -  gem 'pry-shell', '~> 0.6.4' # rubocop:todo Gemfile/MissingFeatureCategory
@@ -129,9 +131,9 @@
 -  gem 'spring', '~> 4.1.0' # rubocop:todo Gemfile/MissingFeatureCategory
 -  gem 'spring-commands-rspec', '~> 1.0.4' # rubocop:todo Gemfile/MissingFeatureCategory
 -
--  gem 'gitlab-styles', '~> 11.0.0', require: false # rubocop:todo Gemfile/MissingFeatureCategory
+-  gem 'gitlab-styles', '~> 11.0.0', feature_category: :tooling
+-  gem 'haml_lint', '~> 0.53', feature_category: :tooling
 -
--  gem 'haml_lint', '~> 0.53', require: false # rubocop:todo Gemfile/MissingFeatureCategory
 -  gem 'bundler-audit', '~> 0.9.1', require: false # rubocop:todo Gemfile/MissingFeatureCategory
 -
 -  # Benchmarking & profiling
@@ -143,7 +145,7 @@
 -
 -  gem 'knapsack', '~> 1.22.0', feature_category: :tooling
 -  gem 'crystalball', '~> 0.7.0', require: false, feature_category: :tooling
--  gem 'test_file_finder', '~> 0.2.1', feature_category: :tooling
+-  gem 'test_file_finder', '~> 0.3.1', feature_category: :tooling
 -
 -  gem 'simple_po_parser', '~> 1.1.6', require: false # rubocop:todo Gemfile/MissingFeatureCategory
 -
@@ -177,44 +179,44 @@
  # Gems required in omnibus-gitlab pipeline
  group :development, :test, :omnibus do
    gem 'license_finder', '~> 7.0', require: false # rubocop:todo Gemfile/MissingFeatureCategory
-@@ -497,36 +414,6 @@ group :development, :test, :monorepo do
+@@ -501,36 +416,6 @@ end
    gem 'gitlab-rspec_flaky', path: 'gems/gitlab-rspec_flaky', feature_category: :tooling
  end
  
 -group :test do
 -  gem 'fuubar', '~> 2.2.0' # rubocop:todo Gemfile/MissingFeatureCategory
 -  gem 'rspec-retry', '~> 0.6.2', feature_category: :tooling
--  gem 'rspec_profiling', '~> 0.0.8', feature_category: :tooling
+-  gem 'rspec_profiling', '~> 0.0.9', feature_category: :tooling
 -  gem 'rspec-benchmark', '~> 0.6.0', feature_category: :tooling
 -  gem 'rspec-parameterized', '~> 1.0', require: false, feature_category: :tooling
 -  gem 'os', '~> 1.1', '>= 1.1.4', feature_category: :tooling
 -
 -  gem 'capybara', '~> 3.40' # rubocop:todo Gemfile/MissingFeatureCategory
 -  gem 'capybara-screenshot', '~> 1.0.26' # rubocop:todo Gemfile/MissingFeatureCategory
--  gem 'selenium-webdriver', '~> 4.18', '>= 4.18.1' # rubocop:todo Gemfile/MissingFeatureCategory
+-  gem 'selenium-webdriver', '~> 4.19' # rubocop:todo Gemfile/MissingFeatureCategory
 -
 -  gem 'graphlyte', '~> 1.0.0' # rubocop:todo Gemfile/MissingFeatureCategory
 -
 -  gem 'shoulda-matchers', '~> 5.1.0', require: false # rubocop:todo Gemfile/MissingFeatureCategory
 -  gem 'email_spec', '~> 2.2.0' # rubocop:todo Gemfile/MissingFeatureCategory
--  gem 'webmock', '~> 3.22.0' # rubocop:todo Gemfile/MissingFeatureCategory
+-  gem 'webmock', '~> 3.23.0', feature_category: :shared
 -  gem 'rails-controller-testing' # rubocop:todo Gemfile/MissingFeatureCategory
 -  gem 'concurrent-ruby', '~> 1.1' # rubocop:todo Gemfile/MissingFeatureCategory
--  gem 'test-prof', '~> 1.3.1' # rubocop:todo Gemfile/MissingFeatureCategory
+-  gem 'test-prof', '~> 1.3.2', feature_category: :tooling
 -  gem 'rspec_junit_formatter' # rubocop:todo Gemfile/MissingFeatureCategory
 -  gem 'guard-rspec' # rubocop:todo Gemfile/MissingFeatureCategory
--  gem 'axe-core-rspec', '~> 4.8.2', feature_category: :tooling
+-  gem 'axe-core-rspec', '~> 4.9.0', feature_category: :tooling
 -
 -  # 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.17.0', require: false, feature_category: :tooling
+-  gem 'gitlab_quality-test_tooling', '~> 1.21.1', require: false, feature_category: :tooling
 -end
 -
- gem 'octokit', '~> 8.0', feature_category: :importers
+ gem 'octokit', '~> 8.1', feature_category: :importers
  
  gem 'gitlab-mail_room', '~> 0.0.24', require: 'mail_room', feature_category: :shared
-@@ -564,7 +451,7 @@ gem 'gitaly', '~> 16.10.0-rc1', feature_category: :git
+@@ -568,7 +453,7 @@ gem 'kas-grpc', '~> 0.4.0', feature_category: :deploym
  # KAS GRPC protocol definitions
  gem 'kas-grpc', '~> 0.4.0', feature_category: :deployment_management
  
@@ -223,7 +225,7 @@
  
  gem 'google-protobuf', '~> 3.25', '>= 3.25.3' # rubocop:todo Gemfile/MissingFeatureCategory
  
-@@ -585,7 +472,7 @@ gem 'grape_logging', '~> 1.8', '>= 1.8.4', feature_cat
+@@ -589,7 +474,7 @@ gem 'gitlab-net-dns', '~> 0.9.2' # rubocop:todo Gemfil
  gem 'gitlab-net-dns', '~> 0.9.2' # rubocop:todo Gemfile/MissingFeatureCategory
  
  # Countries list
@@ -232,7 +234,7 @@
  
  gem 'retriable', '~> 3.1.2' # rubocop:todo Gemfile/MissingFeatureCategory
  
-@@ -651,6 +538,7 @@ gem 'app_store_connect' # rubocop:todo Gemfile/Missing
+@@ -655,6 +540,7 @@ gem 'telesignenterprise', '~> 2.2' # rubocop:todo Gemf
  gem 'telesignenterprise', '~> 2.2' # rubocop:todo Gemfile/MissingFeatureCategory
  
  # BufferedIO patch
@@ -240,7 +242,7 @@
  # Updating this version will require updating scripts/allowed_warnings.txt
  gem 'net-protocol', '~> 0.1.3' # rubocop:todo Gemfile/MissingFeatureCategory
  # Lock this until we make DNS rebinding work with the updated net-http:
-@@ -658,5 +546,11 @@ gem 'net-protocol', '~> 0.1.3' # rubocop:todo Gemfile/
+@@ -662,5 +548,11 @@ gem 'duo_api', '~> 1.3' # rubocop:todo Gemfile/Missing
  gem 'net-http', '= 0.1.1' # rubocop:todo Gemfile/MissingFeatureCategory
  
  gem 'duo_api', '~> 1.3' # rubocop:todo Gemfile/MissingFeatureCategory
diff --git a/www/gitlab/files/patch-config_gitlab.yml.example b/www/gitlab/files/patch-config_gitlab.yml.example
index ee3fd11e206b..45a8c89d5209 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-04-09 16:46:13 UTC
+--- config/gitlab.yml.example.orig	2024-04-17 11:47:15 UTC
 +++ config/gitlab.yml.example
 @@ -463,7 +463,7 @@ production: &base
    ## GitLab Pages
@@ -112,7 +112,7 @@
  
      # Web exporter is a dedicated Prometheus metrics server optionally running alongside Puma.
      web_exporter:
-@@ -1563,13 +1563,13 @@ test:
+@@ -1565,13 +1565,13 @@ test:
          gitaly_address: unix:tmp/tests/gitaly/praefect.socket
  
    gitaly:
diff --git a/www/gitlab/pkg-message b/www/gitlab/pkg-message
index 5e98f2054fa2..039c61ef5679 100644
--- a/www/gitlab/pkg-message
+++ b/www/gitlab/pkg-message
@@ -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.fechner.net/mfechner/Gitlab-docu/blob/master/update/16.9-16.10-freebsd.md
+https://gitlab.fechner.net/mfechner/Gitlab-docu/blob/master/update/16.10-16.11-freebsd.md
 
 If you just installed an minor upgrade of GitLab please follow
 the instructions in the guide at: