summaryrefslogtreecommitdiff
path: root/www/gitlab
diff options
context:
space:
mode:
Diffstat (limited to 'www/gitlab')
-rw-r--r--www/gitlab/Makefile76
-rw-r--r--www/gitlab/distinfo5
-rw-r--r--www/gitlab/files/gitlab.in2
-rw-r--r--www/gitlab/files/patch-config_gitlab.yml.example10
-rw-r--r--www/gitlab/files/patch-config_puma.rb.example18
-rw-r--r--www/gitlab/files/patch-lib_support_nginx_gitlab6
-rw-r--r--www/gitlab/files/patch-lib_support_nginx_gitlab-ssl6
7 files changed, 78 insertions, 45 deletions
diff --git a/www/gitlab/Makefile b/www/gitlab/Makefile
index a5ad13f61be7..9b31ff46711e 100644
--- a/www/gitlab/Makefile
+++ b/www/gitlab/Makefile
@@ -1,7 +1,10 @@
-PORTNAME= gitlab-ce
+PORTNAME= gitlab-${FLAVOR:Uce}
PORTVERSION= 16.10.2
DISTVERSIONPREFIX= v
-PORTREVISION= 2
+.if ${FLAVOR:U} == ee
+DISTVERSIONSUFFIX= -ee
+.endif
+
CATEGORIES= www devel
# include patch to fix database migration
@@ -286,11 +289,19 @@ BUILD_DEPENDS= gem:devel/ruby-gems \
RUN_DEPENDS= ${MY_DEPENDS}
-USES= go:modules nodejs:env ruby shebangfix
+FLAVORS= ce ee
+FLAVOR?= ${FLAVORS:[1]}
+
+USES= nodejs:env ruby shebangfix
USE_GITLAB= yes
GL_ACCOUNT= gitlab-org
+.if ${FLAVOR:U} == ee
+GL_PROJECT= gitlab
+.else # ce
GL_PROJECT= gitlab-foss
+.endif
+
USE_RC_SUBR= gitlab
SHEBANG_FILES= scripts/build_qa_image \
@@ -312,6 +323,8 @@ CONFLICTS_INSTALL= gitolite \
gitea \
gitosis
+# We install the CE and EE flavor in the same directory
+WWWDIR= ${PREFIX}/www/gitlab
NO_ARCH= yes
NO_BUILD= yes
@@ -326,7 +339,7 @@ KERBEROS_RUN_DEPENDS= rubygem-timfel-krb5-auth>=0.8<1:security/rubygem-timfel-k
KERBEROS_EXTRA_PATCHES_OFF= ${FILESDIR}/extra-patch-Gemfile-kerberos-off
post-patch:
- ${REINPLACE_CMD} -e "s|%%PREFIX%%|${PREFIX}|" ${WRKSRC}/config/gitlab.yml.example \
+ ${REINPLACE_CMD} -e "s|%%PREFIX%%|${PREFIX}|" -e "s|%%WWWDIR%%|${WWWDIR}|" ${WRKSRC}/config/gitlab.yml.example \
${WRKSRC}/config/puma.rb.example \
${WRKSRC}/lib/support/nginx/gitlab \
${WRKSRC}/lib/support/nginx/gitlab-ssl
@@ -338,40 +351,40 @@ do-install:
${CP} ${WRKSRC}/config/database.yml.postgresql ${WRKSRC}/config/database.yml.sample
(cd ${WRKSRC} && ${RM} Gemfile.lock && bundle install --local)
${RM} -R ${WRKSRC}/workhorse
- # Has only a Gemfile.lock, so remove it, is maybe fixed by a newer version
- ${RM} -R ${WRKSRC}/vendor/gems/omniauth-google-oauth2
${FIND} ${WRKSRC} -name '*.orig' -delete
${FIND} ${WRKSRC} -name '*.bak' -delete
${FIND} ${WRKSRC} -name '*.gitkeep' -delete
${FIND} ${WRKSRC} -name '*.gitignore' -delete
${FIND} ${WRKSRC} -name "Gemfile.lock" -delete
${MV} ${WRKSRC}/config/initializers/relative_url.rb.sample ${WRKSRC}/config/initializers/relative_url.rb.example
- # get files for workdir with: find . -name "*.example"
- ${MV} ${WRKSRC}/config/puma.rb.example ${WRKSRC}/config/puma.rb.sample
- ${MV} ${WRKSRC}/config/secrets.yml.example ${WRKSRC}/config/secrets.yml.sample
- ${MV} ${WRKSRC}/config/sidekiq.yml.example ${WRKSRC}/config/sidekiq.yml.sample
+ # get files for workdir with: find . -name "*.example" | sort
${MV} ${WRKSRC}/config/cable.yml.example ${WRKSRC}/config/cable.yml.sample
${MV} ${WRKSRC}/config/gitlab.yml.example ${WRKSRC}/config/gitlab.yml.sample
${MV} ${WRKSRC}/config/initializers/devise_password_length.rb.example ${WRKSRC}/config/initializers/devise_password_length.rb.sample
+ ${MV} ${WRKSRC}/config/puma.rb.example ${WRKSRC}/config/puma.rb.sample
+ ${MV} ${WRKSRC}/config/redis.yml.example ${WRKSRC}/config/redis.yml.sample
${MV} ${WRKSRC}/config/resque.yml.example ${WRKSRC}/config/resque.yml.sample
+ ${MV} ${WRKSRC}/config/secrets.yml.example ${WRKSRC}/config/secrets.yml.sample
+ ${MV} ${WRKSRC}/config/session_store.yml.example ${WRKSRC}/config/session_store.yml.sample
+ ${MV} ${WRKSRC}/config/sidekiq.yml.example ${WRKSRC}/config/sidekiq.yml.sample
${MV} ${WRKSRC}/lib/support/nginx/gitlab ${WRKSRC}/lib/support/nginx/gitlab.sample
${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}${PREFIX}/www/${PORTNAME}/app/assets/builds
- ${MKDIR} ${STAGEDIR}${PREFIX}/www/${PORTNAME}/public/assets
- ${MKDIR} ${STAGEDIR}${PREFIX}/www/${PORTNAME}/public/uploads
- ${MKDIR} ${STAGEDIR}${PREFIX}/www/${PORTNAME}/tmp/cache
- ${MKDIR} ${STAGEDIR}${PREFIX}/www/${PORTNAME}/tmp/sessions
- ${MKDIR} ${STAGEDIR}${PREFIX}/www/${PORTNAME}/tmp/backups
- ${MKDIR} ${STAGEDIR}${PREFIX}/www/${PORTNAME}/tmp/sockets/private/internal
- ${MKDIR} ${STAGEDIR}${PREFIX}/www/${PORTNAME}/shared/tmp
- ${MKDIR} ${STAGEDIR}${PREFIX}/www/${PORTNAME}/shared/artifacts/tmp/work
- ${MKDIR} ${STAGEDIR}${PREFIX}/www/${PORTNAME}/vendor/assets/stylesheets
- ${MKDIR} ${STAGEDIR}${PREFIX}/www/${PORTNAME}/workhorse/changelogs/unreleased
+ ${MKDIR} ${STAGEDIR}${WWWDIR}/app/assets/builds
+ ${MKDIR} ${STAGEDIR}${WWWDIR}/public/assets
+ ${MKDIR} ${STAGEDIR}${WWWDIR}/public/uploads
+ ${MKDIR} ${STAGEDIR}${WWWDIR}/tmp/cache
+ ${MKDIR} ${STAGEDIR}${WWWDIR}/tmp/sessions
+ ${MKDIR} ${STAGEDIR}${WWWDIR}/tmp/backups
+ ${MKDIR} ${STAGEDIR}${WWWDIR}/tmp/sockets/private/internal
+ ${MKDIR} ${STAGEDIR}${WWWDIR}/shared/tmp
+ ${MKDIR} ${STAGEDIR}${WWWDIR}/shared/artifacts/tmp/work
+ ${MKDIR} ${STAGEDIR}${WWWDIR}/vendor/assets/stylesheets
+ ${MKDIR} ${STAGEDIR}${WWWDIR}/workhorse/changelogs/unreleased
# Skip file having an executable bit
- (cd ${WRKSRC} && ${COPYTREE_SHARE} . ${STAGEDIR}${PREFIX}/www/${PORTNAME} "-not ( -type f -perm -a=x )")
+ (cd ${WRKSRC} && ${COPYTREE_SHARE} . ${STAGEDIR}${WWWDIR} "-not ( -type f -perm -a=x )")
# now copy all files having an execution bit and preserve to x bit (this fixes some issues we saw)
- (cd ${WRKSRC} && ${COPYTREE_BIN} . ${STAGEDIR}${PREFIX}/www/${PORTNAME} "-type f -perm -a=x")
+ (cd ${WRKSRC} && ${COPYTREE_BIN} . ${STAGEDIR}${WWWDIR} "-type f -perm -a=x")
post-install:
${FIND} -s ${STAGEDIR}${WWWDIR} -not -type d | ${SORT} | \
@@ -459,5 +472,22 @@ post-install:
@${ECHO_CMD} "@dir(,,770) ${WWWDIR_REL}/vendor/assets" >> ${TMPPLIST}
@${ECHO_CMD} "@dir(,,770) ${WWWDIR_REL}/vendor/assets/stylesheets" >> ${TMPPLIST}
@${ECHO_CMD} "@dir(,,770) ${WWWDIR_REL}/workhorse/changelogs/unreleased" >> ${TMPPLIST}
+.if ${FLAVOR:U} == ee
+ # Gitlab-ee version
+ @${ECHO_CMD} "@dir(,,744) ${WWWDIR_REL}/gems/gitlab-backup-cli/tmp" >> ${TMPPLIST}
+ @${ECHO_CMD} "@dir(,,744) ${WWWDIR_REL}/qa/qa/specs/features/ee/api/4_verify" >> ${TMPPLIST}
+ @${ECHO_CMD} "@dir(,,744) ${WWWDIR_REL}/qa/qa/specs/features/ee/api/5_package" >> ${TMPPLIST}
+ @${ECHO_CMD} "@dir(,,744) ${WWWDIR_REL}/qa/qa/specs/features/ee/api/6_release" >> ${TMPPLIST}
+ @${ECHO_CMD} "@dir(,,744) ${WWWDIR_REL}/qa/qa/specs/features/ee/api/8_monitor" >> ${TMPPLIST}
+ @${ECHO_CMD} "@dir(,,744) ${WWWDIR_REL}/qa/qa/specs/features/ee/browser_ui/7_configure" >> ${TMPPLIST}
+.endif
+
+.if !defined(_GITLAB_MAKESUM_GUARD)
+makesum:
+ ${MAKE} -D_GITLAB_MAKESUM_GUARD makesum DISTINFO_FILE=${.CURDIR}/distinfo FLAVOR=ce
+ ${MAKE} -D_GITLAB_MAKESUM_GUARD makesum DISTINFO_FILE=${.CURDIR}/distinfo.ee FLAVOR=ee
+ ${CAT} ${.CURDIR}/distinfo.ee >> ${.CURDIR}/distinfo
+ ${RM} ${.CURDIR}/distinfo.ee
+.endif
.include <bsd.port.mk>
diff --git a/www/gitlab/distinfo b/www/gitlab/distinfo
index a097d6a3fc85..63cadb329bc1 100644
--- a/www/gitlab/distinfo
+++ b/www/gitlab/distinfo
@@ -1,3 +1,6 @@
-TIMESTAMP = 1712813287
+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
diff --git a/www/gitlab/files/gitlab.in b/www/gitlab/files/gitlab.in
index 1783a33acda9..bf1410ac5058 100644
--- a/www/gitlab/files/gitlab.in
+++ b/www/gitlab/files/gitlab.in
@@ -68,7 +68,7 @@ esac
# Script variable names should be lower-case not to conflict with
# internal /bin/sh variables such as PATH, EDITOR or SHELL.
app_user="git"
-app_root="%%PREFIX%%/www/gitlab-ce"
+app_root="%%WWWDIR%%"
pid_path="$app_root/tmp/pids"
socket_path="$app_root/tmp/sockets"
rails_socket="$socket_path/gitlab.socket"
diff --git a/www/gitlab/files/patch-config_gitlab.yml.example b/www/gitlab/files/patch-config_gitlab.yml.example
index 1b5556be240b..ee3fd11e206b 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-02-14 14:42:02 UTC
+--- config/gitlab.yml.example.orig 2024-04-09 16:46:13 UTC
+++ config/gitlab.yml.example
@@ -463,7 +463,7 @@ production: &base
## GitLab Pages
@@ -27,7 +27,7 @@
storages: # You must have at least a `default` storage path.
default:
- gitaly_address: unix:/home/git/gitlab/tmp/sockets/private/gitaly.socket # TCP connections are supported too (e.g. tcp://host:port). TLS connections are also supported using the system certificate pool (eg: tls://host:port).
-+ gitaly_address: unix:%%PREFIX%%/www/gitlab-ce/tmp/sockets/private/gitaly.socket # TCP connections are supported too (e.g. tcp://host:port). TLS connections are also supported using the system certificate pool (eg: tls://host:port).
++ gitaly_address: unix:%%WWWDIR%%/tmp/sockets/private/gitaly.socket # TCP connections are supported too (e.g. tcp://host:port). TLS connections are also supported using the system certificate pool (eg: tls://host:port).
# gitaly_token: 'special token' # Optional: override global gitaly.token for this storage.
## Backup settings
@@ -50,7 +50,7 @@
# File that contains the secret key for verifying access for gitlab-shell.
# Default is '.gitlab_shell_secret' relative to Rails.root (i.e. root of the GitLab app).
- # secret_file: /home/git/gitlab/.gitlab_shell_secret
-+ # secret_file: %%PREFIX%%/www/gitlab-ce/.gitlab_shell_secret
++ # secret_file: %%WWWDIR%%/.gitlab_shell_secret
# Git over HTTP
upload_pack: true
@@ -59,14 +59,14 @@
# 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).
- # secret_file: /home/git/gitlab/.gitlab_workhorse_secret
-+ # secret_file: %%PREFIX%%/www/gitlab-ce/.gitlab_workhorse_secret
++ # secret_file: %%WWWDIR%%/.gitlab_workhorse_secret
gitlab_kas:
# 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).
- # secret_file: /home/git/gitlab/.gitlab_kas_secret
-+ # secret_file: %%PREFIX%%/www/gitlab-ce/.gitlab_kas_secret
++ # secret_file: %%WWWDIR%%/.gitlab_kas_secret
# The URL to the external KAS API (used by the Kubernetes agents)
# external_url: wss://kas.example.com
diff --git a/www/gitlab/files/patch-config_puma.rb.example b/www/gitlab/files/patch-config_puma.rb.example
index ca75ff90f250..a7cf2c2ced7e 100644
--- a/www/gitlab/files/patch-config_puma.rb.example
+++ b/www/gitlab/files/patch-config_puma.rb.example
@@ -1,4 +1,4 @@
---- config/puma.rb.example.orig 2023-10-20 08:41:39 UTC
+--- config/puma.rb.example.orig 2024-04-09 16:46:13 UTC
+++ config/puma.rb.example
@@ -5,11 +5,11 @@
# The default is "config.ru".
@@ -6,13 +6,13 @@
rackup 'config.ru'
-pidfile '/home/git/gitlab/tmp/pids/puma.pid'
-state_path '/home/git/gitlab/tmp/pids/puma.state'
-+pidfile '%%PREFIX%%/www/gitlab-ce/tmp/pids/puma.pid'
-+state_path '%%PREFIX%%/www/gitlab-ce/tmp/pids/puma.state'
++pidfile '%%WWWDIR%%/tmp/pids/puma.pid'
++state_path '%%WWWDIR%%/tmp/pids/puma.state'
-stdout_redirect '/home/git/gitlab/log/puma.stdout.log',
- '/home/git/gitlab/log/puma.stderr.log',
-+stdout_redirect '%%PREFIX%%/www/gitlab-ce/log/puma.stdout.log',
-+ '%%PREFIX%%/www/gitlab-ce/log/puma.stderr.log',
++stdout_redirect '%%WWWDIR%%/log/puma.stdout.log',
++ '%%WWWDIR%%/log/puma.stderr.log',
true
# Configure "min" to be the minimum number of threads to use to answer
@@ -21,12 +21,12 @@
# Bind the server to "url". "tcp://", "unix://" and "ssl://" are the only
# accepted protocols.
-bind 'unix:///home/git/gitlab/tmp/sockets/gitlab.socket'
-+bind 'unix://%%PREFIX%%/www/gitlab-ce/tmp/sockets/gitlab.socket'
++bind 'unix://%%WWWDIR%%/tmp/sockets/gitlab.socket'
workers 3
-require_relative "/home/git/gitlab/lib/gitlab/cluster/lifecycle_events"
-+require_relative "%%PREFIX%%/www/gitlab-ce/lib/gitlab/cluster/lifecycle_events"
++require_relative "%%WWWDIR%%/lib/gitlab/cluster/lifecycle_events"
on_restart do
# Signal application hooks that we're about to restart
@@ -35,7 +35,7 @@
# Use json formatter
-require_relative "/home/git/gitlab/lib/gitlab/puma_logging/json_formatter"
-+require_relative "%%PREFIX%%/www/gitlab-ce/lib/gitlab/puma_logging/json_formatter"
++require_relative "%%WWWDIR%%/lib/gitlab/puma_logging/json_formatter"
json_formatter = Gitlab::PumaLogging::JSONFormatter.new
log_formatter do |str|
@@ -43,7 +43,7 @@
end
-require_relative "/home/git/gitlab/lib/gitlab/puma/error_handler"
-+require_relative "%%PREFIX%%/www/gitlab-ce/lib/gitlab/puma/error_handler"
++require_relative "%%WWWDIR%%/lib/gitlab/puma/error_handler"
error_handler = Gitlab::Puma::ErrorHandler.new(ENV['RAILS_ENV'] == 'production')
diff --git a/www/gitlab/files/patch-lib_support_nginx_gitlab b/www/gitlab/files/patch-lib_support_nginx_gitlab
index 5eaaaf9163d3..ba44e58e7372 100644
--- a/www/gitlab/files/patch-lib_support_nginx_gitlab
+++ b/www/gitlab/files/patch-lib_support_nginx_gitlab
@@ -1,11 +1,11 @@
---- lib/support/nginx/gitlab.orig 2020-11-20 12:00:55 UTC
+--- lib/support/nginx/gitlab.orig 2024-04-09 16:46:13 UTC
+++ lib/support/nginx/gitlab
@@ -19,7 +19,7 @@
upstream gitlab-workhorse {
# GitLab socket file,
# for Omnibus this would be: unix:/var/opt/gitlab/gitlab-workhorse/sockets/socket
- server unix:/home/git/gitlab/tmp/sockets/gitlab-workhorse.socket fail_timeout=0;
-+ server unix:%%PREFIX%%/www/gitlab-ce/tmp/sockets/gitlab-workhorse.socket fail_timeout=0;
++ server unix:%%WWWDIR%%/tmp/sockets/gitlab-workhorse.socket fail_timeout=0;
}
map $http_upgrade $connection_upgrade_gitlab {
@@ -14,7 +14,7 @@
# Location to the GitLab's public directory,
# for Omnibus this would be: /opt/gitlab/embedded/service/gitlab-rails/public.
- root /home/git/gitlab/public;
-+ root %%PREFIX%%/www/gitlab-ce/public;
++ root %%WWWDIR%%/public;
internal;
}
diff --git a/www/gitlab/files/patch-lib_support_nginx_gitlab-ssl b/www/gitlab/files/patch-lib_support_nginx_gitlab-ssl
index cdcc25d5e278..87393c3aebaa 100644
--- a/www/gitlab/files/patch-lib_support_nginx_gitlab-ssl
+++ b/www/gitlab/files/patch-lib_support_nginx_gitlab-ssl
@@ -1,11 +1,11 @@
---- lib/support/nginx/gitlab-ssl.orig 2023-04-05 16:11:51 UTC
+--- lib/support/nginx/gitlab-ssl.orig 2024-04-09 16:46:13 UTC
+++ lib/support/nginx/gitlab-ssl
@@ -23,7 +23,7 @@
upstream gitlab-workhorse {
# GitLab socket file,
# for Omnibus this would be: unix:/var/opt/gitlab/gitlab-workhorse/sockets/socket
- server unix:/home/git/gitlab/tmp/sockets/gitlab-workhorse.socket fail_timeout=0;
-+ server unix:%%PREFIX%%/www/gitlab-ce/tmp/sockets/gitlab-workhorse.socket fail_timeout=0;
++ server unix:%%WWWDIR%%/tmp/sockets/gitlab-workhorse.socket fail_timeout=0;
}
map $http_upgrade $connection_upgrade_gitlab_ssl {
@@ -14,7 +14,7 @@
# Location to the GitLab's public directory,
# for Omnibus this would be: /opt/gitlab/embedded/service/gitlab-rails/public
- root /home/git/gitlab/public;
-+ root %%PREFIX%%/www/gitlab-ce/public;
++ root %%WWWDIR%%/public;
internal;
}
}