Index: head/www/gitlab-ce/Makefile =================================================================== --- head/www/gitlab-ce/Makefile (revision 474905) +++ head/www/gitlab-ce/Makefile (revision 474906) @@ -1,263 +1,269 @@ # Created by: Torsten Zuehlsdorff # $FreeBSD$ PORTNAME= gitlab-ce PORTVERSION= 11.0.3 PORTREVISION= 1 CATEGORIES= www devel MAINTAINER= mfechner@FreeBSD.org COMMENT= Web GUI for managing git repositories LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE OPTIONS_SINGLE= DATABASE OPTIONS_SINGLE_DATABASE= PGSQL MYSQL OPTIONS_DEFAULT= PGSQL PGSQL_DESC= Default PostgreSQL support (preferred) MYSQL_DESC= Optional MySQL support BUILD_DEPENDS= gem:devel/ruby-gems # the rubygems of RUN_DEPENDS matches the order of the Gemfile # which makes maintaining this long list much easier! # only rubygem-pg and rubygem-mysql are defined later as RUN_DEPENDS # for the options RUN_DEPENDS= git>=2.16.2:devel/git \ gitlab-shell>=7.1.4:devel/gitlab-shell \ gitlab-workhorse>=4.3.1:www/gitlab-workhorse \ gitaly>=0.105.0:devel/gitaly \ gitlab-pages>=0.9.1:www/gitlab-pages \ redis>=2.8.23:databases/redis \ npm>=4.3.0:www/npm \ yarn>=0.17.0:www/yarn \ rubygem-rails4>=4.2.10:www/rubygem-rails4 \ rubygem-rails-deprecated_sanitizer>=1.0.3:devel/rubygem-rails-deprecated_sanitizer \ rubygem-responders>=2.0:www/rubygem-responders \ rubygem-sprockets3>=3.7:devel/rubygem-sprockets3 \ rubygem-default_value_for30>=3.0.5:devel/rubygem-default_value_for30 \ rubygem-rugged>=0.27.0:devel/rubygem-rugged \ rubygem-grape-path-helpers>=1.0:devel/rubygem-grape-path-helpers \ rubygem-faraday>=0.12.0:www/rubygem-faraday \ rubygem-devise>=4.4:devel/rubygem-devise \ rubygem-doorkeeper>=4.3:security/rubygem-doorkeeper \ rubygem-doorkeeper-openid_connect>=1.3:security/rubygem-doorkeeper-openid_connect \ rubygem-omniauth>=1.8:security/rubygem-omniauth \ rubygem-omniauth-auth0>=2.0.0:net/rubygem-omniauth-auth0 \ rubygem-omniauth-azure-oauth2>=0.0.9:net/rubygem-omniauth-azure-oauth2 \ rubygem-omniauth-cas3>=1.1.4:security/rubygem-omniauth-cas3 \ rubygem-omniauth-facebook4>=4.0.0:net/rubygem-omniauth-facebook4 \ rubygem-omniauth-github>=1.3.0:net/rubygem-omniauth-github \ rubygem-omniauth-gitlab>=1.0.2:security/rubygem-omniauth-gitlab \ rubygem-omniauth-google-oauth2>=0.5.3:net/rubygem-omniauth-google-oauth2 \ rubygem-omniauth-kerberos>=0.3.0:net/rubygem-omniauth-kerberos \ rubygem-omniauth-oauth2-generic>=0.2.2:security/rubygem-omniauth-oauth2-generic \ rubygem-omniauth-saml>=1.10:security/rubygem-omniauth-saml \ rubygem-omniauth-shibboleth12>=1.2.0:security/rubygem-omniauth-shibboleth12 \ rubygem-omniauth-twitter>=1.4:net/rubygem-omniauth-twitter \ rubygem-omniauth_crowd22>=2.2.0:devel/rubygem-omniauth_crowd22 \ rubygem-omniauth-authentiq>=0.3.3:net/rubygem-omniauth-authentiq \ rubygem-rack-oauth212>=1.2.1:security/rubygem-rack-oauth212 \ rubygem-jwt1>=1.5.6:www/rubygem-jwt1 \ rubygem-recaptcha3>=3.0:devel/rubygem-recaptcha3 \ rubygem-akismet>=2.0:devel/rubygem-akismet \ rubygem-devise-two-factor>=3.0.0:security/rubygem-devise-two-factor \ rubygem-rqrcode-rails3>=0.1.7:www/rubygem-rqrcode-rails3 \ rubygem-attr_encrypted>=3.1.0:security/rubygem-attr_encrypted \ rubygem-u2f0>=0.2.1:net/rubygem-u2f0 \ rubygem-validates_hostname>=1.0.6:dns/rubygem-validates_hostname \ rubygem-browser>=2.2:www/rubygem-browser \ rubygem-gpgme>=2.0.13:security/rubygem-gpgme \ rubygem-gitlab_omniauth-ldap>=2.0.4:net/rubygem-gitlab_omniauth-ldap \ rubygem-net-ldap>=0.16.0:net/rubygem-net-ldap \ rubygem-gitlab-gollum-lib>=4.2.0:www/rubygem-gitlab-gollum-lib \ rubygem-gitlab-gollum-rugged_adapter>=0.4.4:www/rubygem-gitlab-gollum-rugged_adapter \ rubygem-github-linguist53>=5.3.3:textproc/rubygem-github-linguist53 \ rubygem-grape>=1.0:devel/rubygem-grape \ rubygem-grape-entity>=0.7.1:devel/rubygem-grape-entity \ rubygem-rack-cors>=1.0.0:www/rubygem-rack-cors \ rubygem-graphql>=1.8.0:devel/rubygem-graphql \ rubygem-graphiql-rails>=1.4.10:devel/rubygem-graphiql-rails \ rubygem-hashie-forbidden_attributes>=0:devel/rubygem-hashie-forbidden_attributes \ rubygem-kaminari-rails4>=1.0:www/rubygem-kaminari-rails4 \ rubygem-hamlit26>=2.6.1:www/rubygem-hamlit26 \ rubygem-carrierwave>=1.1:www/rubygem-carrierwave \ rubygem-mini_magick>=0:graphics/rubygem-mini_magick \ rubygem-dropzonejs-rails07>=0.7.1:www/rubygem-dropzonejs-rails07 \ rubygem-fog-aws2>=2.0.1:net/rubygem-fog-aws2 \ rubygem-fog-core1>=1.44:devel/rubygem-fog-core1 \ rubygem-fog-google>=1.3.3:net/rubygem-fog-google \ rubygem-fog-local>=0.3:net/rubygem-fog-local \ rubygem-fog-openstack>=0.1:net/rubygem-fog-openstack \ rubygem-fog-rackspace>=0.1.1:net/rubygem-fog-rackspace \ rubygem-fog-aliyun>=0.2.0:net/rubygem-fog-aliyun \ rubygem-google-api-client>=0.19.8:devel/rubygem-google-api-client \ rubygem-unf>=0.1.4:textproc/rubygem-unf \ rubygem-seed-fu>=2.3.7:databases/rubygem-seed-fu \ rubygem-html-pipeline-gitlab>=2.7.1:textproc/rubygem-html-pipeline-gitlab \ rubygem-deckar01-task_list>=2.0.0:www/rubygem-deckar01-task_list \ rubygem-gitlab-markup>=1.6.2:textproc/rubygem-gitlab-markup \ rubygem-redcarpet>=3.4:textproc/rubygem-redcarpet \ rubygem-commonmarker>=0.17:textproc/rubygem-commonmarker \ rubygem-redcloth>=4.3.2:www/rubygem-redcloth \ rubygem-rdoc>=6.0:devel/rubygem-rdoc \ rubygem-org-ruby>=0.9.12:textproc/rubygem-org-ruby \ rubygem-creole>=0.5.0:textproc/rubygem-creole \ rubygem-wikicloth081>=0.8.1:textproc/rubygem-wikicloth081 \ rubygem-asciidoctor>=1.5.6:textproc/rubygem-asciidoctor \ rubygem-asciidoctor-plantuml>=0.0.8:textproc/rubygem-asciidoctor-plantuml \ rubygem-rouge>=3.1:textproc/rubygem-rouge \ rubygem-truncato>=0.7.9:textproc/rubygem-truncato \ rubygem-bootstrap_form>=2.7.0:devel/rubygem-bootstrap_form \ rubygem-nokogiri>=1.8.2:textproc/rubygem-nokogiri \ rubygem-icalendar>=0:devel/rubygem-icalendar \ rubygem-diffy31>=3.1.0:textproc/rubygem-diffy31 \ rubygem-unicorn51>=5.1.0:www/rubygem-unicorn51 \ rubygem-unicorn-worker-killer044>=0.4.4:www/rubygem-unicorn-worker-killer044 \ rubygem-state_machines-activerecord>=0.5.1:databases/rubygem-state_machines-activerecord \ rubygem-acts-as-taggable-on>=5.0:www/rubygem-acts-as-taggable-on \ rubygem-sidekiq>=5.1.0:devel/rubygem-sidekiq \ rubygem-sidekiq-cron>=0.6.0:devel/rubygem-sidekiq-cron \ rubygem-redis-namespace>=1.6.0:databases/rubygem-redis-namespace \ rubygem-sidekiq-limit_fetch>=3.4:devel/rubygem-sidekiq-limit_fetch \ rubygem-rufus-scheduler342>=3.4.0:devel/rubygem-rufus-scheduler342 \ rubygem-httparty>=0.13.3:www/rubygem-httparty \ rubygem-rainbow2>=2.2:devel/rubygem-rainbow2 \ rubygem-ruby-progressbar>=0:devel/rubygem-ruby-progressbar \ rubygem-settingslogic>=2.0.9:devel/rubygem-settingslogic \ rubygem-re2>=1.1.1:devel/rubygem-re2 \ rubygem-version_sorter21>=2.1.0:textproc/rubygem-version_sorter21 \ rubygem-device_detector>=0:devel/rubygem-device_detector \ rubygem-redis-rails>=5.0.1:www/rubygem-redis-rails \ rubygem-redis3>=3.2:databases/rubygem-redis3 \ rubygem-connection_pool>=2.0:net/rubygem-connection_pool \ rubygem-hipchat15>=1.5.0:net-im/rubygem-hipchat15 \ rubygem-jira-ruby>=1.4:devel/rubygem-jira-ruby \ rubygem-gitlab-flowdock-git-hook>=1.0.1:www/rubygem-gitlab-flowdock-git-hook \ rubygem-gemnasium-gitlab-service>=0.2:devel/rubygem-gemnasium-gitlab-service \ rubygem-slack-notifier1>=1.5.1:devel/rubygem-slack-notifier1 \ rubygem-asana>=0.6.0:www/rubygem-asana \ rubygem-ruby-fogbugz021>=0.2.1:devel/rubygem-ruby-fogbugz021 \ rubygem-kubeclient>=3.1.0:www/rubygem-kubeclient \ rubygem-sanitize>=4.6.5:textproc/rubygem-sanitize \ rubygem-babosa>=1.0.2:textproc/rubygem-babosa \ rubygem-loofah>=2.2:textproc/rubygem-loofah \ rubygem-licensee8>=8.9:devel/rubygem-licensee8 \ rubygem-rack-attack44>=4.4.1:www/rubygem-rack-attack44 \ rubygem-ace-rails-ap>=4.1.0:www/rubygem-ace-rails-ap \ rubygem-mousetrap-rails>=1.4.6:www/rubygem-mousetrap-rails \ rubygem-charlock_holmes>=0.7.5:textproc/rubygem-charlock_holmes \ rubygem-fast_blank>=0:devel/rubygem-fast_blank \ rubygem-chronic>=0.10.2:devel/rubygem-chronic \ rubygem-chronic_duration>=0.10.6:devel/rubygem-chronic_duration \ rubygem-webpack-rails>=0.9.10:www/rubygem-webpack-rails \ rubygem-rack-proxy>=0.6.0:www/rubygem-rack-proxy \ rubygem-sass-rails-rails4>=5.0.6:textproc/rubygem-sass-rails-rails4 \ rubygem-uglifier27>=2.7.2:www/rubygem-uglifier27 \ rubygem-addressable>=2.5.2:www/rubygem-addressable \ rubygem-font-awesome-rails-rails4>=4.7:devel/rubygem-font-awesome-rails-rails4 \ rubygem-gemojione>=3.3:graphics/rubygem-gemojione \ rubygem-gon>=6.2.0:www/rubygem-gon \ rubygem-jquery-atwho-rails13>=1.3.2:www/rubygem-jquery-atwho-rails13 \ rubygem-request_store>=1.3:devel/rubygem-request_store \ rubygem-select2-rails3>=3.5.9:www/rubygem-select2-rails3 \ rubygem-virtus>=1.0.1:devel/rubygem-virtus \ rubygem-base32>=0.3.0:converters/rubygem-base32 \ rubygem-sentry-raven>=2.7:devel/rubygem-sentry-raven \ rubygem-premailer-rails19>=1.9.7:mail/rubygem-premailer-rails19 \ rubygem-ruby_parser>=3.8.4:devel/rubygem-ruby_parser \ rubygem-rails-i18n-4>=4.0.9:devel/rubygem-rails-i18n-4 \ rubygem-gettext_i18n_rails>=1.8.0:devel/rubygem-gettext_i18n_rails \ rubygem-gettext_i18n_rails_js>=1.3:devel/rubygem-gettext_i18n_rails_js \ rubygem-gettext>=3.2.2:devel/rubygem-gettext \ rubygem-batch-loader>=1.2.1:devel/rubygem-batch-loader \ rubygem-peek>=1.0.1:devel/rubygem-peek \ rubygem-peek-gc>=0.0.2:devel/rubygem-peek-gc \ rubygem-peek-rblineprof>=0.2.0:devel/rubygem-peek-rblineprof \ rubygem-peek-redis>=1.2.0:devel/rubygem-peek-redis \ rubygem-peek-sidekiq>=1.0.3:devel/rubygem-peek-sidekiq \ rubygem-prometheus-client-mmap>=0.9.3:devel/rubygem-prometheus-client-mmap \ rubygem-octokit>=4.9:net/rubygem-octokit \ rubygem-mail_room>=0.9.1:mail/rubygem-mail_room \ rubygem-email_reply_trimmer>=0.1:mail/rubygem-email_reply_trimmer \ rubygem-html2text>=0:textproc/rubygem-html2text \ rubygem-ruby-prof>=0.17.0:devel/rubygem-ruby-prof \ rubygem-oauth2>=1.4.0:net/rubygem-oauth2 \ rubygem-health_check26>=2.6.0:devel/rubygem-health_check26 \ rubygem-vmstat>=2.3.0:sysutils/rubygem-vmstat \ rubygem-sys-filesystem>=1.1.6:sysutils/rubygem-sys-filesystem \ rubygem-net-ssh>=5.0:security/rubygem-net-ssh \ rubygem-sshkey>=1.9.0:security/rubygem-sshkey \ rubygem-ed25519>=1.2:security/rubygem-ed25519 \ rubygem-bcrypt_pbkdf>=1.0:security/rubygem-bcrypt_pbkdf \ rubygem-gitaly-proto>=0.101.0:net/rubygem-gitaly-proto \ rubygem-grpc>=1.11.0:net/rubygem-grpc \ rubygem-gitaly>=0.8.0:net/rubygem-gitaly \ rubygem-google-protobuf351>=3.5.1:devel/rubygem-google-protobuf351 \ rubygem-toml-rb10>=1.0.0:www/rubygem-toml-rb10 \ rubygem-flipper013>=0.13.0:devel/rubygem-flipper013 \ rubygem-flipper-active_record013>=0.13.0:databases/rubygem-flipper-active_record013 \ rubygem-flipper-active_support_cache_store013>=0.13.0:devel/rubygem-flipper-active_support_cache_store013 \ rubygem-lograge>=0.5:www/rubygem-lograge \ rubygem-grape_logging>=1.7:devel/rubygem-grape_logging \ rubygem-asset_sync>=2.4:net/rubygem-asset_sync PGSQL_RUN_DEPENDS= rubygem-pg018>=0.18.2:databases/rubygem-pg018 \ rubygem-peek-pg>=1.3.0:databases/rubygem-peek-pg MYSQL_RUN_DEPENDS= rubygem-mysql2>=0.4.5:databases/rubygem-mysql2 \ rubygem-peek-mysql2>=1.1.0:databases/rubygem-peek-mysql2 USE_RUBY= yes USE_RC_SUBR= gitlab USE_GITLAB= yes GL_ACCOUNT= gitlab-org # Find the here: https://gitlab.com/gitlab-org/gitlab-ce/tags GL_COMMIT= aa6207551b023ecba0dba332c6358e1007f4b0eb USERS= git GROUPS= git NO_ARCH= yes NO_BUILD= yes +post-patch: + ${REINPLACE_CMD} -e "s|%%PREFIX%%|${PREFIX}|" ${WRKSRC}/config/gitlab.yml.example \ + ${WRKSRC}/config/unicorn.rb.example \ + ${WRKSRC}/lib/support/nginx/gitlab \ + ${WRKSRC}/lib/support/nginx/gitlab-ssl + post-patch-MYSQL-on: ${CP} ${WRKSRC}/config/database.yml.mysql ${WRKSRC}/config/database.yml.sample post-patch-MYSQL-off: ${REINPLACE_CMD} -e "/gem 'mysql2'/d" ${WRKSRC}/Gemfile ${REINPLACE_CMD} -e "/gem 'peek-mysql2'/d" ${WRKSRC}/Gemfile post-patch-PGSQL-on: ${CP} ${WRKSRC}/config/database.yml.postgresql ${WRKSRC}/config/database.yml.sample post-patch-PGSQL-off: ${REINPLACE_CMD} -e "/gem 'pg'/d" ${WRKSRC}/Gemfile ${REINPLACE_CMD} -e "/gem 'peek-pg'/d" ${WRKSRC}/Gemfile do-install: ${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 ${FIND} ${WRKSRC} -name "Gemfile.rail5.lock" -delete ${MV} ${WRKSRC}/config/gitlab.yml.example ${WRKSRC}/config/gitlab.yml.sample ${MV} ${WRKSRC}/config/unicorn.rb.example ${WRKSRC}/config/unicorn.rb.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/initializers/rack_attack.rb.example ${WRKSRC}/config/initializers/rack_attack.rb.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 ${MKDIR} ${STAGEDIR}/usr/home/git/repositories ${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}/shared/tmp ${MKDIR} ${STAGEDIR}${PREFIX}/www/${PORTNAME}/shared/artifacts/tmp/work (cd ${WRKSRC} && ${COPYTREE_SHARE} . ${STAGEDIR}${PREFIX}/www/${PORTNAME}) .include Index: head/www/gitlab-ce/files/gitlab.in =================================================================== --- head/www/gitlab-ce/files/gitlab.in (revision 474905) +++ head/www/gitlab-ce/files/gitlab.in (revision 474906) @@ -1,570 +1,570 @@ #! /bin/sh # $FreeBSD$ ### BEGIN INIT INFO # Provides: gitlab # Required-Start: $local_fs $remote_fs $network $syslog redis-server # Required-Stop: $local_fs $remote_fs $network $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: GitLab git repository management # Description: GitLab git repository management # chkconfig: - 85 14 ### END INIT INFO # Maintainer: Torsten Zuehlsdorff # Based on work of: @charlienewey, rovanion.luckey@gmail.com, @randx # PROVIDE: gitlab # REQUIRE: LOGIN # KEYWORD: shutdown # # Add the following line to /etc/rc.conf to enable GitLab: # # gitlab_enable="YES" -PATH="/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin" +PATH="/sbin:/bin:/usr/sbin:/usr/bin:%%LOCALBASE%%/sbin:%%LOCALBASE%%/bin" . /etc/rc.subr name=gitlab rcvar=gitlab_enable extra_commands=status status_cmd="print_status" start_cmd="start_gitlab" stop_cmd="stop_gitlab" restart_cmd="restart_gitlab" : ${gitlab_enable:="NO"} : ${gitlab_authBackend:="http://127.0.0.1:8080"} : ${gitlab_workhorse_tcp:="NO"} : ${gitlab_workhorse_addr:="127.0.0.1:8181"} : ${gitlab_mail_room_enable:="NO"} load_rc_config $name ### Environment variables RAILS_ENV="production" # 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="/usr/local/www/gitlab-ce" +app_root="%%PREFIX%%/www/gitlab-ce" pid_path="$app_root/tmp/pids" socket_path="$app_root/tmp/sockets" rails_socket="$socket_path/gitlab.socket" web_server_pid_path="$pid_path/unicorn.pid" sidekiq_pid_path="$pid_path/sidekiq.pid" if checkyesno gitlab_mail_room_enable; then mail_room_enabled=true else mail_room_enabled=false fi mail_room_pid_path="$pid_path/mail_room.pid" gitlab_workhorse_dir=$(cd $app_root/../gitlab-workhorse && pwd) gitlab_workhorse_pid_path="$pid_path/gitlab-workhorse.pid" if checkyesno gitlab_workhorse_tcp; then gitlab_workhorse_listen="-listenNetwork tcp -listenAddr $gitlab_workhorse_addr" else gitlab_workhorse_listen="-listenNetwork unix -listenAddr $socket_path/gitlab-workhorse.socket" fi gitlab_workhorse_options="-listenUmask 0 $gitlab_workhorse_listen -authBackend $gitlab_authBackend -authSocket $rails_socket -documentRoot $app_root/public" gitlab_workhorse_log="$app_root/log/gitlab-workhorse.log" gitlab_pages_enabled=false gitlab_pages_dir=$(cd $app_root/../gitlab-pages 2> /dev/null && pwd) gitlab_pages_pid_path="$pid_path/gitlab-pages.pid" gitlab_pages_options="-pages-domain example.com -pages-root $app_root/shared/pages -listen-proxy 127.0.0.1:8090" gitlab_pages_log="$app_root/log/gitlab-pages.log" shell_path="/bin/bash" gitaly_enabled=true -gitaly_dir="/usr/local/share/gitaly" +gitaly_dir="%%PREFIX%%/share/gitaly" gitaly_pid_path="$pid_path/gitaly.pid" gitaly_log="$app_root/log/gitaly.log" # Read configuration variable file if it is present test -f /etc/default/gitlab && . /etc/default/gitlab # Switch to the app_user if it is not he/she who is running the script. if [ "$USER" != "$app_user" ]; then # Regenerate the Gemfile.lock for all related products echo "Regenerate Gitlab Gemfile.lock" rm -f "${app_root}"/Gemfile.lock - if ! su -l ${app_user} -c "cd ${app_root} && /usr/local/bin/bundle install --local --quiet"; then + if ! su -l ${app_user} -c "cd ${app_root} && %%LOCALBASE%%/bin/bundle install --local --quiet"; then echo "Could not create Gemfile.lock for gitlab, please report this using FreeBSD Bugtracker, https://bugs.freebsd.org/" exit 1 fi echo "Regenerate Gitaly Gemfile.lock" rm -f "${gitaly_dir}"/ruby/Gemfile.lock - if ! su -l root -c "cd ${gitaly_dir}/ruby && /usr/local/bin/bundle install --local --quiet"; then + if ! su -l root -c "cd ${gitaly_dir}/ruby && %%LOCALBASE%%/bin/bundle install --local --quiet"; then echo "Could not create Gemfile.lock for gitaly, please report this using FreeBSD Bugtracker, https://bugs.freebsd.org/" exit 1 fi - eval su - "$app_user" -c $(echo \")/usr/local/etc/rc.d/gitlab "$@"$(echo \"); exit; + eval su - "$app_user" -c $(echo \")%%LOCALBASE%%/etc/rc.d/gitlab "$@"$(echo \"); exit; fi # Switch to the gitlab path, exit on failure. if ! cd "$app_root" ; then echo "Failed to cd into $app_root, exiting!"; exit 1 fi ### Init Script functions ## Gets the pids from the files check_pids(){ if ! mkdir -p "$pid_path"; then echo "Could not create the path $pid_path needed to store the pids." exit 1 fi # If there exists a file which should hold the value of the Unicorn pid: read it. if [ -f "$web_server_pid_path" ]; then wpid=$(cat "$web_server_pid_path") else wpid=0 fi if [ -f "$sidekiq_pid_path" ]; then spid=$(cat "$sidekiq_pid_path") else spid=0 fi if [ -f "$gitlab_workhorse_pid_path" ]; then hpid=$(cat "$gitlab_workhorse_pid_path") else hpid=0 fi if [ "$mail_room_enabled" = true ]; then if [ -f "$mail_room_pid_path" ]; then mpid=$(cat "$mail_room_pid_path") else mpid=0 fi fi if [ "$gitlab_pages_enabled" = true ]; then if [ -f "$gitlab_pages_pid_path" ]; then gppid=$(cat "$gitlab_pages_pid_path") else gppid=0 fi fi if [ "$gitaly_enabled" = true ]; then if [ -f "$gitaly_pid_path" ]; then gapid=$(cat "$gitaly_pid_path") else gapid=0 fi fi } ## Called when we have started the two processes and are waiting for their pid files. wait_for_pids(){ # We are sleeping a bit here mostly because sidekiq is slow at writing its pid i=0; while [ ! -f $web_server_pid_path ] || [ ! -f $sidekiq_pid_path ] || [ ! -f $gitlab_workhorse_pid_path ] || { [ "$mail_room_enabled" = true ] && [ ! -f $mail_room_pid_path ]; } || { [ "$gitlab_pages_enabled" = true ] && [ ! -f $gitlab_pages_pid_path ]; } || { [ "$gitaly_enabled" = true ] && [ ! -f $gitaly_pid_path ]; }; do sleep 0.1; i=$((i+1)) if [ $((i%10)) = 0 ]; then echo -n "." elif [ $((i)) = 301 ]; then echo "Waited 30s for the processes to write their pids, something probably went wrong." exit 1; fi done echo } # We use the pids in so many parts of the script it makes sense to always check them. # Only after start() is run should the pids change. Sidekiq sets its own pid. check_pids ## Checks whether the different parts of the service are already running or not. check_status(){ check_pids # If the web server is running kill -0 $wpid returns true, or rather 0. # Checks of *_status should only check for == 0 or != 0, never anything else. if [ $wpid -ne 0 ]; then kill -0 "$wpid" 2>/dev/null web_status="$?" else web_status="-1" fi if [ $spid -ne 0 ]; then kill -0 "$spid" 2>/dev/null sidekiq_status="$?" else sidekiq_status="-1" fi if [ $hpid -ne 0 ]; then kill -0 "$hpid" 2>/dev/null gitlab_workhorse_status="$?" else gitlab_workhorse_status="-1" fi if [ "$mail_room_enabled" = true ]; then if [ $mpid -ne 0 ]; then kill -0 "$mpid" 2>/dev/null mail_room_status="$?" else mail_room_status="-1" fi fi if [ "$gitlab_pages_enabled" = true ]; then if [ $gppid -ne 0 ]; then kill -0 "$gppid" 2>/dev/null gitlab_pages_status="$?" else gitlab_pages_status="-1" fi fi if [ "$gitaly_enabled" = true ]; then if [ $gapid -ne 0 ]; then kill -0 "$gapid" 2>/dev/null gitaly_status="$?" else gitaly_status="-1" fi fi if [ $web_status = 0 ] && [ $sidekiq_status = 0 ] && [ $gitlab_workhorse_status = 0 ] && { [ "$mail_room_enabled" != true ] || [ $mail_room_status = 0 ]; } && { [ "$gitlab_pages_enabled" != true ] || [ $gitlab_pages_status = 0 ]; } && { [ "$gitaly_enabled" != true ] || [ $gitaly_status = 0 ]; }; then gitlab_status=0 else # http://refspecs.linuxbase.org/LSB_4.1.0/LSB-Core-generic/LSB-Core-generic/iniscrptact.html # code 3 means 'program is not running' gitlab_status=3 fi } ## Check for stale pids and remove them if necessary. check_stale_pids(){ check_status # If there is a pid it is something else than 0, the service is running if # *_status is == 0. if [ "$wpid" != "0" ] && [ "$web_status" != "0" ]; then echo "Removing stale Unicorn web server pid. This is most likely caused by the web server crashing the last time it ran." if ! rm "$web_server_pid_path"; then echo "Unable to remove stale pid, exiting." exit 1 fi fi if [ "$spid" != "0" ] && [ "$sidekiq_status" != "0" ]; then echo "Removing stale Sidekiq job dispatcher pid. This is most likely caused by Sidekiq crashing the last time it ran." if ! rm "$sidekiq_pid_path"; then echo "Unable to remove stale pid, exiting" exit 1 fi fi if [ "$hpid" != "0" ] && [ "$gitlab_workhorse_status" != "0" ]; then echo "Removing stale GitLab Workhorse pid. This is most likely caused by GitLab Workhorse crashing the last time it ran." if ! rm "$gitlab_workhorse_pid_path"; then echo "Unable to remove stale pid, exiting" exit 1 fi fi if [ "$mail_room_enabled" = true ] && [ "$mpid" != "0" ] && [ "$mail_room_status" != "0" ]; then echo "Removing stale MailRoom job dispatcher pid. This is most likely caused by MailRoom crashing the last time it ran." if ! rm "$mail_room_pid_path"; then echo "Unable to remove stale pid, exiting" exit 1 fi fi if [ "$gitlab_pages_enabled" = true ] && [ "$gppid" != "0" ] && [ "$gitlab_pages_status" != "0" ]; then echo "Removing stale GitLab Pages job dispatcher pid. This is most likely caused by GitLab Pages crashing the last time it ran." if ! rm "$gitlab_pages_pid_path"; then echo "Unable to remove stale pid, exiting" exit 1 fi fi if [ "$gitaly_enabled" = true ] && [ "$gapid" != "0" ] && [ "$gitaly_status" != "0" ]; then echo "Removing stale Gitaly pid. This is most likely caused by Gitaly crashing the last time it ran." if ! rm "$gitaly_pid_path"; then echo "Unable to remove stale pid, exiting" exit 1 fi fi } ## If no parts of the service is running, bail out. exit_if_not_running(){ check_stale_pids if [ "$web_status" != "0" ] && [ "$sidekiq_status" != "0" ] && [ "$gitlab_workhorse_status" != "0" ] && { [ "$mail_room_enabled" != true ] || [ "$mail_room_status" != "0" ]; } && { [ "$gitlab_pages_enabled" != true ] || [ "$gitlab_pages_status" != "0" ]; } && { [ "$gitaly_enabled" != true ] || [ "$gitaly_status" != "0" ]; }; then echo "GitLab is not running." exit fi } ## Starts Unicorn and Sidekiq if they're not running. start_gitlab() { check_stale_pids if [ "$web_status" != "0" ]; then echo "Starting GitLab Unicorn" fi if [ "$sidekiq_status" != "0" ]; then echo "Starting GitLab Sidekiq" fi if [ "$gitlab_workhorse_status" != "0" ]; then echo "Starting GitLab Workhorse" fi if [ "$mail_room_enabled" = true ] && [ "$mail_room_status" != "0" ]; then echo "Starting GitLab MailRoom" fi if [ "$gitlab_pages_enabled" = true ] && [ "$gitlab_pages_status" != "0" ]; then echo "Starting GitLab Pages" fi if [ "$gitaly_enabled" = true ] && [ "$gitaly_status" != "0" ]; then echo "Starting Gitaly" fi # Then check if the service is running. If it is: don't start again. if [ "$web_status" = "0" ]; then echo "The Unicorn web server already running with pid $wpid, not restarting." else # Remove old socket if it exists rm -f "$socket_path"/gitlab.socket 2>/dev/null # Start the web server RAILS_ENV=$RAILS_ENV bin/web start fi # If sidekiq is already running, don't start it again. if [ "$sidekiq_status" = "0" ]; then echo "The Sidekiq job dispatcher is already running with pid $spid, not restarting" else RAILS_ENV=$RAILS_ENV bin/background_jobs start & fi if [ "$gitlab_workhorse_status" = "0" ]; then echo "The GitLab Workhorse is already running with pid $hpid, not restarting" else # No need to remove a socket, gitlab-workhorse does this itself. # Because gitlab-workhorse has multiple executables we need to fix # the PATH. $app_root/bin/daemon_with_pidfile $gitlab_workhorse_pid_path \ /usr/bin/env PATH=$gitlab_workhorse_dir:$PATH \ gitlab-workhorse $gitlab_workhorse_options \ >> $gitlab_workhorse_log 2>&1 & fi if [ "$mail_room_enabled" = true ]; then # If MailRoom is already running, don't start it again. if [ "$mail_room_status" = "0" ]; then echo "The MailRoom email processor is already running with pid $mpid, not restarting" else RAILS_ENV=$RAILS_ENV bin/mail_room start & fi fi if [ "$gitlab_pages_enabled" = true ]; then if [ "$gitlab_pages_status" = "0" ]; then echo "The GitLab Pages is already running with pid $gppid, not restarting" else $app_root/bin/daemon_with_pidfile $gitlab_pages_pid_path \ $gitlab_pages_dir/gitlab-pages $gitlab_pages_options \ >> $gitlab_pages_log 2>&1 & fi fi if [ "$gitaly_enabled" = true ]; then if [ "$gitaly_status" = "0" ]; then echo "Gitaly is already running with pid $gapid, not restarting" else $app_root/bin/daemon_with_pidfile $gitaly_pid_path \ $gitaly_dir/bin/gitaly $gitaly_dir/config.toml >> $gitaly_log 2>&1 & fi fi # Wait for the pids to be planted wait_for_pids # Finally check the status to tell wether or not GitLab is running print_status } ## Asks Unicorn, Sidekiq and MailRoom if they would be so kind as to stop, if not kills them. stop_gitlab() { exit_if_not_running if [ "$web_status" = "0" ]; then echo "Shutting down GitLab Unicorn" RAILS_ENV=$RAILS_ENV bin/web stop fi if [ "$sidekiq_status" = "0" ]; then echo "Shutting down GitLab Sidekiq" RAILS_ENV=$RAILS_ENV bin/background_jobs stop fi if [ "$gitlab_workhorse_status" = "0" ]; then echo "Shutting down GitLab Workhorse" kill -- $(cat $gitlab_workhorse_pid_path) fi if [ "$mail_room_enabled" = true ] && [ "$mail_room_status" = "0" ]; then echo "Shutting down GitLab MailRoom" RAILS_ENV=$RAILS_ENV bin/mail_room stop fi if [ "$gitlab_pages_status" = "0" ]; then echo "Shutting down gitlab-pages" kill -- $(cat $gitlab_pages_pid_path) fi if [ "$gitaly_status" = "0" ]; then echo "Shutting down Gitaly" kill -- $(cat $gitaly_pid_path) fi # If something needs to be stopped, lets wait for it to stop. Never use SIGKILL in a script. while [ "$web_status" = "0" ] || [ "$sidekiq_status" = "0" ] || [ "$gitlab_workhorse_status" = "0" ] || { [ "$mail_room_enabled" = true ] && [ "$mail_room_status" = "0" ]; } || { [ "$gitlab_pages_enabled" = true ] && [ "$gitlab_pages_status" = "0" ]; } || { [ "$gitaly_enabled" = true ] && [ "$gitaly_status" = "0" ]; }; do sleep 1 check_status printf "." if [ "$web_status" != "0" ] && [ "$sidekiq_status" != "0" ] && [ "$gitlab_workhorse_status" != "0" ] && { [ "$mail_room_enabled" != true ] || [ "$mail_room_status" != "0" ]; } && { [ "$gitlab_pages_enabled" != true ] || [ "$gitlab_pages_status" != "0" ]; } && { [ "$gitaly_enabled" != true ] || [ "$gitaly_status" != "0" ]; }; then printf "\n" break fi done sleep 1 # Cleaning up unused pids rm "$web_server_pid_path" 2>/dev/null # rm "$sidekiq_pid_path" 2>/dev/null # Sidekiq seems to be cleaning up its own pid. rm -f "$gitlab_workhorse_pid_path" if [ "$mail_room_enabled" = true ]; then rm "$mail_room_pid_path" 2>/dev/null fi rm -f "$gitlab_pages_pid_path" rm -f "$gitaly_pid_path" print_status } ## Prints the status of GitLab and its components. print_status() { check_status if [ "$web_status" != "0" ] && [ "$sidekiq_status" != "0" ] && [ "$gitlab_workhorse_status" != "0" ] && { [ "$mail_room_enabled" != true ] || [ "$mail_room_status" != "0" ]; } && { [ "$gitlab_pages_enabled" != true ] || [ "$gitlab_pages_status" != "0" ]; } && { [ "$gitaly_enabled" != true ] || [ "$gitaly_status" != "0" ]; }; then echo "GitLab is not running." return fi if [ "$web_status" = "0" ]; then echo "The GitLab Unicorn web server with pid $wpid is running." else printf "The GitLab Unicorn web server is \033[31mnot running\033[0m.\n" fi if [ "$sidekiq_status" = "0" ]; then echo "The GitLab Sidekiq job dispatcher with pid $spid is running." else printf "The GitLab Sidekiq job dispatcher is \033[31mnot running\033[0m.\n" fi if [ "$gitlab_workhorse_status" = "0" ]; then echo "The GitLab Workhorse with pid $hpid is running." else printf "The GitLab Workhorse is \033[31mnot running\033[0m.\n" fi if [ "$mail_room_enabled" = true ]; then if [ "$mail_room_status" = "0" ]; then echo "The GitLab MailRoom email processor with pid $mpid is running." else printf "The GitLab MailRoom email processor is \033[31mnot running\033[0m.\n" fi fi if [ "$gitlab_pages_enabled" = true ]; then if [ "$gitlab_pages_status" = "0" ]; then echo "The GitLab Pages with pid $gppid is running." else printf "The GitLab Pages is \033[31mnot running\033[0m.\n" fi fi if [ "$gitaly_enabled" = true ]; then if [ "$gitaly_status" = "0" ]; then echo "Gitaly with pid $gapid is running." else printf "Gitaly is \033[31mnot running\033[0m.\n" fi fi if [ "$web_status" = "0" ] && [ "$sidekiq_status" = "0" ] && [ "$gitlab_workhorse_status" = "0" ] && { [ "$mail_room_enabled" != true ] || [ "$mail_room_status" = "0" ]; } && { [ "$gitlab_pages_enabled" != true ] || [ "$gitlab_pages_status" = "0" ]; } && { [ "$gitaly_enabled" != true ] || [ "$gitaly_status" = "0" ]; }; then printf "GitLab and all its components are \033[32mup and running\033[0m.\n" fi } ## Tells unicorn to reload its config and Sidekiq to restart reload_gitlab(){ exit_if_not_running if [ "$wpid" = "0" ];then echo "The GitLab Unicorn Web server is not running thus its configuration can't be reloaded." exit 1 fi printf "Reloading GitLab Unicorn configuration... " RAILS_ENV=$RAILS_ENV bin/web reload echo "Done." echo "Restarting GitLab Sidekiq since it isn't capable of reloading its config..." RAILS_ENV=$RAILS_ENV bin/background_jobs restart if [ "$mail_room_enabled" != true ]; then echo "Restarting GitLab MailRoom since it isn't capable of reloading its config..." RAILS_ENV=$RAILS_ENV bin/mail_room restart fi wait_for_pids print_status } ## Restarts Sidekiq and Unicorn. restart_gitlab(){ check_status if [ "$web_status" = "0" ] || [ "$sidekiq_status" = "0" ] || [ "$gitlab_workhorse" = "0" ] || { [ "$mail_room_enabled" = true ] && [ "$mail_room_status" = "0" ]; } || { [ "$gitlab_pages_enabled" = true ] && [ "$gitlab_pages_status" = "0" ]; } || { [ "$gitaly_enabled" = true ] && [ "$gitaly_status" = "0" ]; }; then stop_gitlab fi start_gitlab } ### Finally the input handling. case $gitlab_enable in [yY][eE][sS]) case "$1" in start|quietstart|faststart) start_gitlab ;; stop|faststop) stop_gitlab ;; restart) restart_gitlab ;; reload|force-reload) reload_gitlab ;; status) print_status exit $gitlab_status ;; *) echo "Usage: service gitlab {start|quietstart|faststop|stop|restart|reload|onestart|onestop|onerestart|onreload|status}" exit 1 ;; esac ;; *) case "$1" in onestart) start_gitlab ;; onestop) stop_gitlab ;; onerestart) restart_gitlab ;; onreload) reload_gitlab ;; status) print_status exit $gitlab_status ;; *) echo "Usage: service gitlab {start|quietstart|faststop|stop|restart|reload|onestart|onestop|onerestart|onreload|status}" exit 1 ;; esac esac exit Index: head/www/gitlab-ce/files/patch-config_gitlab.yml.example =================================================================== --- head/www/gitlab-ce/files/patch-config_gitlab.yml.example (revision 474905) +++ head/www/gitlab-ce/files/patch-config_gitlab.yml.example (revision 474906) @@ -1,56 +1,56 @@ --- config/gitlab.yml.example.orig 2018-06-21 15:14:17 UTC +++ config/gitlab.yml.example @@ -218,7 +218,7 @@ production: &base # external_http: ["1.1.1.1:80", "[2001::1]:80"] # If defined, enables custom domain support in GitLab Pages # external_https: ["1.1.1.1:443", "[2001::1]:443"] # If defined, enables custom domain and certificate support in GitLab Pages admin: - address: unix:/home/git/gitlab/tmp/sockets/private/pages-admin.socket # TCP connections are supported too (e.g. tcp://host:port) -+ address: unix:/usr/local/www/gitlab-ce/tmp/sockets/private/pages-admin.socket # TCP connections are supported too (e.g. tcp://host:port) ++ address: unix:%%PREFIX%%/www/gitlab-ce/tmp/sockets/private/pages-admin.socket # TCP connections are supported too (e.g. tcp://host:port) ## Mattermost ## For enabling Add to Mattermost button @@ -577,7 +577,7 @@ production: &base # Gitaly settings gitaly: # Path to the directory containing Gitaly client executables. - client_path: /home/git/gitaly/bin -+ client_path: /usr/local/share/gitaly/bin ++ client_path: %%PREFIX%%/share/gitaly/bin # Default Gitaly authentication token. Can be overriden per storage. Can # be left blank when Gitaly is running locally on a Unix socket, which # is the normal way to deploy Gitaly. @@ -595,8 +595,8 @@ production: &base # real path not the symlink. storages: # You must have at least a `default` storage path. default: - path: /home/git/repositories/ - gitaly_address: unix:/home/git/gitlab/tmp/sockets/private/gitaly.socket # TCP connections are supported too (e.g. tcp://host:port) + path: /usr/home/git/repositories/ -+ gitaly_address: unix:/usr/local/www/gitlab-ce/tmp/sockets/private/gitaly.socket # TCP connections are supported too (e.g. tcp://host:port) ++ gitaly_address: unix:%%PREFIX%%/www/gitlab-ce/tmp/sockets/private/gitaly.socket # TCP connections are supported too (e.g. tcp://host:port) # gitaly_token: 'special token' # Optional: override global gitaly.token for this storage. ## Backup settings @@ -624,12 +624,12 @@ production: &base ## GitLab Shell settings gitlab_shell: - path: /home/git/gitlab-shell/ - hooks_path: /home/git/gitlab-shell/hooks/ -+ path: /usr/local/share/gitlab-shell/ -+ hooks_path: /usr/local/share/gitlab-shell/hooks/ ++ path: %%PREFIX%%/share/gitlab-shell/ ++ hooks_path: %%PREFIX/share/gitlab-shell/hooks/ # 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: /usr/home/git/gitlab/.gitlab_shell_secret # Git over HTTP upload_pack: true @@ -650,7 +650,7 @@ production: &base # CAUTION! # Use the default values unless you really know what you are doing git: - bin_path: /usr/bin/git -+ bin_path: /usr/local/bin/git ++ bin_path: %%PREFIX%%/bin/git ## Webpack settings # If enabled, this will tell rails to serve frontend assets from the webpack-dev-server running Index: head/www/gitlab-ce/files/patch-config_unicorn.rb.example =================================================================== --- head/www/gitlab-ce/files/patch-config_unicorn.rb.example (revision 474905) +++ head/www/gitlab-ce/files/patch-config_unicorn.rb.example (revision 474906) @@ -1,34 +1,34 @@ --- config/unicorn.rb.example.orig 2017-06-07 20:58:14 UTC +++ config/unicorn.rb.example @@ -33,12 +33,12 @@ worker_processes 3 # Help ensure your application will always spawn in the symlinked # "current" directory that Capistrano sets up. -working_directory "/home/git/gitlab" # available in 0.94.0+ -+working_directory "/usr/local/www/gitlab-ce" # available in 0.94.0+ ++working_directory "%%PREFIX%%/www/gitlab-ce" # available in 0.94.0+ # Listen on both a Unix domain socket and a TCP port. # If you are load-balancing multiple Unicorn masters, lower the backlog # setting to e.g. 64 for faster failover. -listen "/home/git/gitlab/tmp/sockets/gitlab.socket", :backlog => 1024 -+listen "/usr/local/www/gitlab-ce/tmp/sockets/gitlab.socket", :backlog => 1024 ++listen "%%PREFIX%%/www/gitlab-ce/tmp/sockets/gitlab.socket", :backlog => 1024 listen "127.0.0.1:8080", :tcp_nopush => true # nuke workers after 30 seconds instead of 60 seconds (the default) @@ -59,13 +59,13 @@ listen "127.0.0.1:8080", :tcp_nopush => timeout 60 # feel free to point this anywhere accessible on the filesystem -pid "/home/git/gitlab/tmp/pids/unicorn.pid" -+pid "/usr/local/www/gitlab-ce/tmp/pids/unicorn.pid" ++pid "%%PREFIX%%/www/gitlab-ce/tmp/pids/unicorn.pid" # By default, the Unicorn logger will write to stderr. # Additionally, some applications/frameworks log to stderr or stdout, # so prevent them from going to /dev/null when daemonized here: -stderr_path "/home/git/gitlab/log/unicorn.stderr.log" -stdout_path "/home/git/gitlab/log/unicorn.stdout.log" -+stderr_path "/usr/local/www/gitlab-ce/log/unicorn.stderr.log" -+stdout_path "/usr/local/www/gitlab-ce/log/unicorn.stdout.log" ++stderr_path "%%PREFIX%%/www/gitlab-ce/log/unicorn.stderr.log" ++stdout_path "%%PREFIX%%/www/gitlab-ce/log/unicorn.stdout.log" # combine Ruby 2.0.0dev or REE with "preload_app true" for memory savings # http://rubyenterpriseedition.com/faq.html#adapt_apps_for_cow Index: head/www/gitlab-ce/files/patch-lib_support_nginx_gitlab =================================================================== --- head/www/gitlab-ce/files/patch-lib_support_nginx_gitlab (revision 474905) +++ head/www/gitlab-ce/files/patch-lib_support_nginx_gitlab (revision 474906) @@ -1,20 +1,20 @@ --- lib/support/nginx/gitlab.orig 2018-02-22 10:46:29 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/socket - server unix:/home/git/gitlab/tmp/sockets/gitlab-workhorse.socket fail_timeout=0; -+ server unix:/usr/local/www/gitlab-ce/tmp/sockets/gitlab-workhorse.socket fail_timeout=0; ++ server unix:%%PREFIX%%/www/gitlab-ce/tmp/sockets/gitlab-workhorse.socket fail_timeout=0; } map $http_upgrade $connection_upgrade_gitlab { @@ -114,7 +114,7 @@ server { location ~ ^/(404|422|500|502|503)\.html$ { # 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 /usr/local/www/gitlab-ce/public; ++ root %%PREFIX%%/www/gitlab-ce/public; internal; } Index: head/www/gitlab-ce/files/patch-lib_support_nginx_gitlab-ssl =================================================================== --- head/www/gitlab-ce/files/patch-lib_support_nginx_gitlab-ssl (revision 474905) +++ head/www/gitlab-ce/files/patch-lib_support_nginx_gitlab-ssl (revision 474906) @@ -1,20 +1,20 @@ --- lib/support/nginx/gitlab-ssl.orig 2018-02-22 10:46:29 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/socket - server unix:/home/git/gitlab/tmp/sockets/gitlab-workhorse.socket fail_timeout=0; -+ server unix:/usr/local/www/gitlab-ce/tmp/sockets/gitlab-workhorse.socket fail_timeout=0; ++ server unix:%%PREFIX%%/www/gitlab-ce/tmp/sockets/gitlab-workhorse.socket fail_timeout=0; } map $http_upgrade $connection_upgrade_gitlab_ssl { @@ -164,7 +164,7 @@ server { location ~ ^/(404|422|500|502|503)\.html$ { # 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 /usr/local/www/gitlab-ce/public; ++ root %%PREFIX%%/www/gitlab-ce/public; internal; } }