Index: head/www/gitlab-ce/Makefile =================================================================== --- head/www/gitlab-ce/Makefile (revision 535981) +++ head/www/gitlab-ce/Makefile (revision 535982) @@ -1,288 +1,296 @@ # Created by: Torsten Zuehlsdorff # $FreeBSD$ PORTNAME= gitlab-ce -PORTVERSION= 12.9.5 -PORTREVISION= 1 +PORTVERSION= 12.10.6 +PORTREVISION= 0 CATEGORIES= www devel MAINTAINER= mfechner@FreeBSD.org COMMENT= Web GUI for managing git repositories LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE # the rubygems of RUN_DEPENDS matches the order of the Gemfile # which makes maintaining this long list much easier! MY_DEPENDS= git>=2.24.3:devel/git \ - gitlab-shell>=12.0.0:devel/gitlab-shell \ - gitlab-workhorse>=8.25.2:www/gitlab-workhorse \ gitaly>=${PORTVERSION}:devel/gitaly \ + gitlab-shell>=12.2.0:devel/gitlab-shell \ + gitlab-workhorse>=8.30.1:www/gitlab-workhorse \ gitlab-pages>=1.17.0:www/gitlab-pages \ + gitlab-elasticsearch-indexer>=2.2.0:textproc/gitlab-elasticsearch-indexer \ redis>=3.2.12:databases/redis \ yarn>=1.10.0:www/yarn \ gtar>0:archivers/gtar \ - rubygem-rails60>=6.0.2.2<6.0.2.3:www/rubygem-rails60 \ + bash>0:shells/bash \ + gtar>0:archivers/gtar \ + rubygem-rails60>=6.0.3.1<6.0.3.2:www/rubygem-rails60 \ rubygem-bootsnap>=1.4.6<2.0:devel/rubygem-bootsnap \ rubygem-nakayoshi_fork>=0.0.4<0.1.0:devel/rubygem-nakayoshi_fork \ rubygem-responders-rails60>=3.0<4.0:www/rubygem-responders-rails60 \ rubygem-sprockets3>=3.7<3.8:devel/rubygem-sprockets3 \ rubygem-default_value_for>=3.3.0<3.4.0:devel/rubygem-default_value_for \ rubygem-pg>=1.1<2:databases/rubygem-pg \ rubygem-rugged>=0.28:devel/rubygem-rugged \ rubygem-grape-path-helpers>=1.2<2.0:devel/rubygem-grape-path-helpers \ rubygem-faraday>=0.12<1.0:www/rubygem-faraday \ rubygem-marginalia>=1.8.0<1.9:databases/rubygem-marginalia \ rubygem-devise-rails60>=4.6<5.0:devel/rubygem-devise-rails60 \ rubygem-doorkeeper>=5.0.2<5.1:security/rubygem-doorkeeper \ rubygem-doorkeeper-openid_connect>=1.6.3<1.7:security/rubygem-doorkeeper-openid_connect \ rubygem-omniauth>=1.8<2.0:security/rubygem-omniauth \ rubygem-omniauth-auth0>=2.0.0<2.1.0:net/rubygem-omniauth-auth0 \ rubygem-omniauth-azure-oauth2>=0.0.9<0.1.0:net/rubygem-omniauth-azure-oauth2 \ rubygem-omniauth-cas3>=1.1.4<1.2.0:security/rubygem-omniauth-cas3 \ rubygem-omniauth-facebook4>=4.0.0<4.1.0:net/rubygem-omniauth-facebook4 \ rubygem-omniauth-github>=1.4.0<2.0:net/rubygem-omniauth-github \ rubygem-omniauth-gitlab>=1.0.2<1.1.0:security/rubygem-omniauth-gitlab \ rubygem-omniauth-google-oauth2>=0.6.0<0.7.0:net/rubygem-omniauth-google-oauth2 \ rubygem-omniauth-kerberos>=0.3.0<0.4.0:net/rubygem-omniauth-kerberos \ rubygem-omniauth-oauth2-generic>=0.2.2<0.3.0:security/rubygem-omniauth-oauth2-generic \ rubygem-omniauth-saml>=1.10<2.0:security/rubygem-omniauth-saml \ rubygem-omniauth-shibboleth>=1.3.0<1.4.0:security/rubygem-omniauth-shibboleth \ rubygem-omniauth-twitter>=1.4<2.0:net/rubygem-omniauth-twitter \ rubygem-omniauth_crowd22>=2.2.0<2.3.0:devel/rubygem-omniauth_crowd22 \ rubygem-omniauth-authentiq>=0.3.3<0.4.0:net/rubygem-omniauth-authentiq \ rubygem-omniauth_openid_connect>=0.3.3<0.4.0:net/rubygem-omniauth_openid_connect \ rubygem-omniauth-ultraauth>=0.0.2<0.1.0:net/rubygem-omniauth-ultraauth \ rubygem-omniauth-salesforce>=1.0.5<1.1.0:net/rubygem-omniauth-salesforce \ rubygem-rack-oauth2>=1.9.3<1.10.0:security/rubygem-rack-oauth2 \ rubygem-jwt21>=2.1.0<2.2.0:www/rubygem-jwt21 \ rubygem-gssapi>0:security/rubygem-gssapi \ rubygem-recaptcha>=4.11<5.0:devel/rubygem-recaptcha \ rubygem-akismet>=3.0<4.0:devel/rubygem-akismet \ rubygem-invisible_captcha>=0.12.1<0.13.0:graphics/rubygem-invisible_captcha \ rubygem-devise-two-factor-rails60>=3.1.0<3.2.0:security/rubygem-devise-two-factor-rails60 \ rubygem-rqrcode-rails3>=0.1.7<0.2.0:www/rubygem-rqrcode-rails3 \ rubygem-attr_encrypted>=3.1.0<3.2.0:security/rubygem-attr_encrypted \ rubygem-u2f0>=0.2.1<0.3.0:net/rubygem-u2f0 \ rubygem-validates_hostname>=1.0.6<1.1.0:dns/rubygem-validates_hostname \ rubygem-rubyzip20>=2.0.0<2.1.0:archivers/rubygem-rubyzip20 \ rubygem-acme-client>=2.0.5<2.1.0:security/rubygem-acme-client \ rubygem-browser>=2.5<3.0:www/rubygem-browser \ rubygem-gpgme>=2.0.20<2.1.0:security/rubygem-gpgme \ rubygem-gitlab_omniauth-ldap>=2.1.1<2.2.0:net/rubygem-gitlab_omniauth-ldap \ rubygem-net-ldap>0:net/rubygem-net-ldap \ rubygem-grape11>=1.1.0<1.2.0:devel/rubygem-grape11 \ rubygem-grape-entity>=0.7.1<0.8.0,1:devel/rubygem-grape-entity \ rubygem-rack-cors>=1.0.6<1.1.0:www/rubygem-rack-cors \ - rubygem-graphql>=1.9.19<1.10.0:devel/rubygem-graphql \ + rubygem-graphql>=1.10.5<1.11.0:devel/rubygem-graphql \ rubygem-graphiql-rails>=1.4.10<1.5.0:devel/rubygem-graphiql-rails \ rubygem-apollo_upload_server>=2.0.0.b.3<2.1.0:net/rubygem-apollo_upload_server \ rubygem-graphql-docs>=1.6.0<1.7.0:devel/rubygem-graphql-docs \ rubygem-hashie-forbidden_attributes>0:devel/rubygem-hashie-forbidden_attributes \ rubygem-kaminari-rails60>=1.0<2.0:www/rubygem-kaminari-rails60 \ rubygem-hamlit>=2.11.0<2.12.0:www/rubygem-hamlit \ rubygem-carrierwave>=1.3<2.0:www/rubygem-carrierwave \ rubygem-mini_magick>0:graphics/rubygem-mini_magick \ rubygem-fog-aws>=3.5<4.0:net/rubygem-fog-aws \ rubygem-fog-core210=2.1.0:devel/rubygem-fog-core210 \ rubygem-fog-google19>=1.9<1.10:net/rubygem-fog-google19 \ rubygem-fog-local>=0.6<1.0:net/rubygem-fog-local \ rubygem-fog-openstack>=1.0<2.0:net/rubygem-fog-openstack \ rubygem-fog-rackspace>=0.1.1<1.2.0:net/rubygem-fog-rackspace \ rubygem-fog-aliyun>=0.3<1.0:net/rubygem-fog-aliyun \ rubygem-google-api-client>=0.23<1.0:devel/rubygem-google-api-client \ rubygem-unf>=0.1.4<0.2.0:textproc/rubygem-unf \ rubygem-seed-fu>=2.3.7<2.4.0:databases/rubygem-seed-fu \ rubygem-elasticsearch-model6>=6.1<7:textproc/rubygem-elasticsearch-model6 \ rubygem-elasticsearch-rails6>=6.1<7:textproc/rubygem-elasticsearch-rails6 \ rubygem-elasticsearch-api6>=6.1<7:textproc/rubygem-elasticsearch-api6 \ rubygem-aws-sdk>0:devel/rubygem-aws-sdk \ rubygem-faraday_middleware-aws-signers-v4>0:devel/rubygem-faraday_middleware-aws-signers-v4 \ rubygem-html-pipeline>=2.12<3.0:textproc/rubygem-html-pipeline \ rubygem-deckar01-task_list=2.3.1:www/rubygem-deckar01-task_list \ rubygem-gitlab-markup>=1.7.0<1.8.0:textproc/rubygem-gitlab-markup \ rubygem-github-markup17>=1.7.0<1.8.0:textproc/rubygem-github-markup17 \ rubygem-commonmarker>=0.20<1.0:textproc/rubygem-commonmarker \ rubygem-redcloth>=4.3.2<4.4.0:www/rubygem-redcloth \ rubygem-rdoc>=6.1.2<6.2:devel/rubygem-rdoc \ rubygem-org-ruby>=0.9.12<0.10.0:textproc/rubygem-org-ruby \ rubygem-creole>=0.5.0<0.6.0:textproc/rubygem-creole \ rubygem-wikicloth081>=0.8.1<0.8.2:textproc/rubygem-wikicloth081 \ rubygem-asciidoctor>=2.0.10<2.1.0:textproc/rubygem-asciidoctor \ rubygem-asciidoctor-include-ext>=0.3.1<0.4.0:textproc/rubygem-asciidoctor-include-ext \ rubygem-asciidoctor-plantuml0010=0.0.10:textproc/rubygem-asciidoctor-plantuml0010 \ - rubygem-rouge317>=3.17.0<3.18:textproc/rubygem-rouge317 \ + rubygem-rouge318>=3.18.0<3.19:textproc/rubygem-rouge318 \ rubygem-truncato>=0.7.11<0.8.0:textproc/rubygem-truncato \ rubygem-bootstrap_form>=4.2.0<4.3.0:devel/rubygem-bootstrap_form \ rubygem-nokogiri>=1.10.9<1.11.0:textproc/rubygem-nokogiri \ rubygem-escape_utils>=1.1<2.0:textproc/rubygem-escape_utils \ rubygem-icalendar>=0:devel/rubygem-icalendar \ rubygem-diffy>=3.3<4:textproc/rubygem-diffy \ rubygem-diff_match_patch>=0.1.0<0.2.0:textproc/rubygem-diff_match_patch \ rubygem-rack20>=2.0.9<2.1.0,3:www/rubygem-rack20 \ rubygem-unicorn>=5.4.1<5.5.0:www/rubygem-unicorn \ rubygem-unicorn-worker-killer>=0.4.4<0.5.0:www/rubygem-unicorn-worker-killer \ rubygem-gitlab-puma>=4.3.3.g.2:www/rubygem-gitlab-puma \ rubygem-gitlab-puma_worker_killer>=0.1.1.g.1:www/rubygem-gitlab-puma_worker_killer \ rubygem-rack-timeout>=0:www/rubygem-rack-timeout \ rubygem-state_machines-activerecord>=0.6.0<0.7.0:databases/rubygem-state_machines-activerecord \ rubygem-acts-as-taggable-on>=6.0<7.0:www/rubygem-acts-as-taggable-on \ rubygem-sidekiq5>=5.2.7<5.3.0:devel/rubygem-sidekiq5 \ rubygem-sidekiq-cron>=1.0<2.0:devel/rubygem-sidekiq-cron \ rubygem-redis-namespace>=1.6.0<1.7.0:databases/rubygem-redis-namespace \ rubygem-gitlab-sidekiq-fetcher=0.5.2_1:devel/rubygem-gitlab-sidekiq-fetcher \ rubygem-fugit12>=1.2.1<1.3.0:devel/rubygem-fugit12 \ rubygem-httparty>=0.16.4<0.17.0:www/rubygem-httparty \ rubygem-rainbow>=3.0<4.0:devel/rubygem-rainbow \ rubygem-ruby-progressbar>=0:devel/rubygem-ruby-progressbar \ rubygem-settingslogic>=2.0.9<2.1.0:devel/rubygem-settingslogic \ rubygem-re2>=1.1.1<1.2.0:devel/rubygem-re2 \ rubygem-version_sorter>=2.2.4<2.3.0:textproc/rubygem-version_sorter \ rubygem-js_regex>=3.1<4.0:textproc/rubygem-js_regex \ rubygem-device_detector>=0:devel/rubygem-device_detector \ rubygem-redis>=4.0<5.0:databases/rubygem-redis \ rubygem-connection_pool>=2.0<3.0:net/rubygem-connection_pool \ rubygem-redis-rails-rails60>=5.0.2<5.1:www/rubygem-redis-rails-rails60 \ rubygem-discordrb-webhooks-blackst0ne>=3.3<4.0:net-im/rubygem-discordrb-webhooks-blackst0ne \ rubygem-hipchat>=1.6.0<1.7.0:net-im/rubygem-hipchat \ rubygem-jira-ruby1>=1.7<2.0:devel/rubygem-jira-ruby1 \ rubygem-atlassian-jwt>=0.2.0<0.3.0:www/rubygem-atlassian-jwt \ rubygem-flowdock>=0.7<1.0:www/rubygem-flowdock \ rubygem-slack-messenger>=2.3.3<2.4.0:devel/rubygem-slack-messenger \ rubygem-hangouts-chat>=0.0.5<0.1.0:net/rubygem-hangouts-chat \ rubygem-asana>=0.9<1.0:www/rubygem-asana \ rubygem-ruby-fogbugz021>=0.2.1<0.3.0:devel/rubygem-ruby-fogbugz021 \ rubygem-kubeclient>=4.6.0<4.7.0:www/rubygem-kubeclient \ rubygem-sanitize>=4.6<5.0:textproc/rubygem-sanitize \ rubygem-babosa>=1.0.2<1.1.0:textproc/rubygem-babosa \ rubygem-loofah>=2.2<3.0:textproc/rubygem-loofah \ rubygem-licensee8>=8.9<9.0:devel/rubygem-licensee8 \ rubygem-ace-rails-ap>=4.1.0<4.2.0:www/rubygem-ace-rails-ap \ rubygem-charlock_holmes>=0.7.5<0.8.0:textproc/rubygem-charlock_holmes \ rubygem-mimemagic>=0.3.2<0.4.0:misc/rubygem-mimemagic \ rubygem-fast_blank>=0:devel/rubygem-fast_blank \ rubygem-gitlab-chronic>=0.10.5<0.11.0:devel/rubygem-gitlab-chronic \ rubygem-gitlab_chronic_duration>=0.10.6.2<0.10.7:devel/rubygem-gitlab_chronic_duration \ rubygem-webpack-rails-rails60>=0.9.10<0.10.0:www/rubygem-webpack-rails-rails60 \ rubygem-rack-proxy>=0.6.0<0.7.0:www/rubygem-rack-proxy \ rubygem-sassc-rails-rails60>=2.1.0<2.2.0:textproc/rubygem-sassc-rails-rails60 \ rubygem-uglifier27>=2.7.2<2.8.0:www/rubygem-uglifier27 \ rubygem-addressable>=2.7<3:www/rubygem-addressable \ rubygem-font-awesome-rails-rails60>=4.7<5.0:devel/rubygem-font-awesome-rails-rails60 \ rubygem-gemojione>=3.3<4.0:graphics/rubygem-gemojione \ rubygem-gon-rails60>=6.2<7.0:www/rubygem-gon-rails60 \ rubygem-request_store>=1.3<2.0:devel/rubygem-request_store \ rubygem-base32>=0.3.0<0.4.0:converters/rubygem-base32 \ rubygem-gitlab-license>=1.0<2.0:devel/rubygem-gitlab-license \ rubygem-rack-attack>=6.2.0<6.3.0:www/rubygem-rack-attack \ rubygem-sentry-raven>=2.9<3.0:devel/rubygem-sentry-raven \ rubygem-premailer-rails-rails60>=1.10.3<1.11.0:mail/rubygem-premailer-rails-rails60 \ - rubygem-gitlab-labkit>=0.11.0<0.11.1:devel/rubygem-gitlab-labkit \ + rubygem-gitlab-labkit>=0.12.0<0.12.1:devel/rubygem-gitlab-labkit \ rubygem-ruby_parser>=3.8<4.0:devel/rubygem-ruby_parser \ rubygem-rails-i18n-rails60>=6.0<7.0:devel/rubygem-rails-i18n-rails60 \ rubygem-gettext_i18n_rails>=1.8.0<1.9.0:devel/rubygem-gettext_i18n_rails \ rubygem-gettext_i18n_rails_js-rails60>=1.3<2.0:devel/rubygem-gettext_i18n_rails_js-rails60 \ rubygem-gettext32>=3.2.2<3.3.0:devel/rubygem-gettext32 \ rubygem-batch-loader14>=1.4.0<1.5.0:devel/rubygem-batch-loader14 \ rubygem-peek-rails60>=1.1.0<2.0:devel/rubygem-peek-rails60 \ rubygem-snowplow-tracker>=0.6.1<0.7.0:devel/rubygem-snowplow-tracker \ - rubygem-gitlab-derailed_benchmarks>0:benchmarks/rubygem-gitlab-derailed_benchmarks \ + rubygem-derailed_benchmarks>0:benchmarks/rubygem-derailed_benchmarks \ rubygem-method_source0>=0.8<1.0:devel/rubygem-method_source0 \ rubygem-influxdb>=0.2<1.0:databases/rubygem-influxdb \ rubygem-prometheus-client-mmap>=0.10.0<0.11.0:devel/rubygem-prometheus-client-mmap \ rubygem-raindrops>=0.18<1.0:www/rubygem-raindrops \ rubygem-octokit>=4.15<5.0:net/rubygem-octokit \ rubygem-gitlab-mail_room>=0.0.3<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 \ - rubygem-ruby-prof>=1.0.0<1.1.0:devel/rubygem-ruby-prof \ + rubygem-ruby-prof>=1.3.0<1.4.0:devel/rubygem-ruby-prof \ rubygem-stackprof>=0.2.15<0.3:devel/rubygem-stackprof \ rubygem-rbtrace>=0.4<1.0:devel/rubygem-rbtrace \ rubygem-memory_profiler>=0.9<1.0:devel/rubygem-memory_profiler \ rubygem-benchmark-memory>=0.1<1.0:benchmarks/rubygem-benchmark-memory \ rubygem-activerecord-explain-analyze>=0.1<1.0:databases/rubygem-activerecord-explain-analyze \ rubygem-oauth2>=1.4<2.0:net/rubygem-oauth2 \ rubygem-health_check26-rails60>=2.6.0<2.7.0:devel/rubygem-health_check26-rails60 \ rubygem-vmstat>=2.3.0<2.4.0:sysutils/rubygem-vmstat \ rubygem-sys-filesystem>=1.1.6<1.2.0:sysutils/rubygem-sys-filesystem \ rubygem-net-ntp>0:net/rubygem-net-ntp \ rubygem-net-ssh>=5.2<6.0,2:security/rubygem-net-ssh \ rubygem-sshkey>=2.0<3.0:security/rubygem-sshkey \ rubygem-ed25519>=1.2<2.0:security/rubygem-ed25519 \ rubygem-bcrypt_pbkdf>=1.0<2.0:security/rubygem-bcrypt_pbkdf \ rubygem-gitaly>=12.9.0.p.r4<12.10.0:net/rubygem-gitaly \ - rubygem-grpc124>=1.24.0<1.25.0:net/rubygem-grpc124 \ - rubygem-google-protobuf38>=3.8.0<3.9.0:devel/rubygem-google-protobuf38 \ + rubygem-grpc124>=1.24.0:net/rubygem-grpc124 \ + rubygem-google-protobuf38>=3.8.:devel/rubygem-google-protobuf38 \ rubygem-toml-rb10>=1.0.0<1.1.0:www/rubygem-toml-rb10 \ rubygem-flipper>=0.17.1<0.18.0:devel/rubygem-flipper \ rubygem-flipper-active_record>=0.17.1<0.18.0:databases/rubygem-flipper-active_record \ rubygem-flipper-active_support_cache_store>=0.17.1<0.18.0:devel/rubygem-flipper-active_support_cache_store \ rubygem-unleash>=0.1.5<0.2.0:devel/rubygem-unleash \ rubygem-lograge-rails60>=0.5<1.0:www/rubygem-lograge-rails60 \ rubygem-grape_logging>=1.7<2.0:devel/rubygem-grape_logging \ rubygem-gitlab-net-dns>=0.9.1<0.10:dns/rubygem-gitlab-net-dns \ rubygem-countries>=3.0.0<4.0.0:devel/rubygem-countries \ rubygem-retriable>=3.1.2<3.2.0:devel/rubygem-retriable \ rubygem-liquid>=4.0<5:textproc/rubygem-liquid \ rubygem-lru_redux>0:devel/rubygem-lru_redux \ rubygem-erubi>=1.9.0<1.10:www/rubygem-erubi \ - rubygem-mail>=2.7.1<2.7.2,2:mail/rubygem-mail + rubygem-mail>=2.7.1<2.7.2,2:mail/rubygem-mail \ + rubygem-lockbox>=0.3.3<0.4.0:security/rubygem-lockbox BUILD_DEPENDS= gem:devel/ruby-gems \ ${MY_DEPENDS} RUN_DEPENDS= ${MY_DEPENDS} CONFLICTS_INSTALL= gitolite-* \ gitolite2-* \ gogs-* \ gitea-* \ ${PYTHON_PKGNAMEPREFIX}-gitosis-* +USES= shebangfix USE_RUBY= yes USE_RC_SUBR= gitlab USE_GITLAB= yes GL_ACCOUNT= gitlab-org GL_PROJECT= gitlab-foss # Find the here: https://gitlab.com/gitlab-org/gitlab-foss/-/tags -GL_COMMIT= 58afee038ec5ae1c6e1887238a0d9b3aba9cfb86 +GL_COMMIT= 833223f2a7f9b95823f6a570be3e65cd3ecfa71f +SHEBANG_FILES= bin/background_* scripts/build_assets_image scripts/clean-old-cached-assets scripts/create_postgres_user.sh scripts/prepare_postgres_fdw.sh scripts/review_apps/gcp_cleanup.sh scripts/rspec_helpers.sh scripts/security-harness USERS= git GROUPS= git NO_BUILD= yes + +NO_ARCH= yes post-patch: ${REINPLACE_CMD} -e "s|%%PREFIX%%|${PREFIX}|" ${WRKSRC}/config/gitlab.yml.example \ ${WRKSRC}/config/puma.rb.example \ ${WRKSRC}/config/unicorn.rb.example \ ${WRKSRC}/lib/support/nginx/gitlab \ ${WRKSRC}/lib/support/nginx/gitlab-ssl do-install: ${CP} ${WRKSRC}/config/database.yml.postgresql ${WRKSRC}/config/database.yml.sample (cd ${WRKSRC} && ${RM} Gemfile.lock && bundle install --local) ${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/gitlab.yml.example ${WRKSRC}/config/gitlab.yml.sample ${MV} ${WRKSRC}/config/unicorn.rb.example ${WRKSRC}/config/unicorn.rb.sample ${MV} ${WRKSRC}/config/puma.rb.example ${WRKSRC}/config/puma.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}${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/distinfo =================================================================== --- head/www/gitlab-ce/distinfo (revision 535981) +++ head/www/gitlab-ce/distinfo (revision 535982) @@ -1,3 +1,3 @@ -TIMESTAMP = 1588326501 -SHA256 (gitlab-org-gitlab-foss-58afee038ec5ae1c6e1887238a0d9b3aba9cfb86_GL0.tar.gz) = 7cd1267906dad7e4c1030d309fccaf81dd18ae589a52793751040895050fcbee -SIZE (gitlab-org-gitlab-foss-58afee038ec5ae1c6e1887238a0d9b3aba9cfb86_GL0.tar.gz) = 89140411 +TIMESTAMP = 1589649421 +SHA256 (gitlab-org-gitlab-foss-833223f2a7f9b95823f6a570be3e65cd3ecfa71f_GL0.tar.gz) = 10a6dcd8a4b1c4c384f9bb457cf8f96ea3c4685179a3d6bfa3c10afb28c6be6d +SIZE (gitlab-org-gitlab-foss-833223f2a7f9b95823f6a570be3e65cd3ecfa71f_GL0.tar.gz) = 85959439 Index: head/www/gitlab-ce/files/gitlab.in =================================================================== --- head/www/gitlab-ce/files/gitlab.in (revision 535981) +++ head/www/gitlab-ce/files/gitlab.in (revision 535982) @@ -1,568 +1,573 @@ #! /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: Matthias Fechner # Based on work of: @charlienewey, rovanion.luckey@gmail.com, @randx, @tz # 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:%%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"} : ${gitlab_allow_conflicts:="NO"} load_rc_config $name ### Environment variables RAILS_ENV="production" -EXPERIMENTAL_PUMA="" +USE_UNICORN="1" +SIDEKIQ_WORKERS=1 # 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" 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 2> /dev/null && 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="%%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 # Check if other colliding packages are installed if `/usr/sbin/pkg -N info -e gogs` && [ $? -eq 0 ]; then echo "WARNING: Gitlab cannot run together with gogs as both of them modify .ssh/authorized_keys" if checkyesno gitlab_allow_conflicts; then echo "but start as overwritten" else echo "you can overwrite this with: sysrc gitlab_allow_conflicts=YES" exit 1 fi fi if `/usr/sbin/pkg -N info -e "gitolite*"` && [ $? -eq 0 ]; then echo "WARNING: Gitlab cannot run together with gitolite as both of them modify .ssh/authorized_keys" if checkyesno gitlab_allow_conflicts; then echo "but start as overwritten" else echo "you can overwrite this with: sysrc gitlab_allow_conflicts=YES" exit 1 fi fi if `/usr/sbin/pkg -N info -e "*gitosis*"` && [ $? -eq 0 ]; then echo "WARNING: Gitlab cannot run together with py-gitosis as both of them modify .ssh/authorized_keys" if checkyesno gitlab_allow_conflicts; then echo "but start as overwritten" else echo "you can overwrite this with: sysrc gitlab_allow_conflicts=YES" exit 1 fi fi if `/usr/sbin/pkg -N info -e gitea` && [ $? -eq 0 ]; then echo "WARNING: Gitlab cannot run together with gitea as both of them modify .ssh/authorized_keys" if checkyesno gitlab_allow_conflicts; then echo "but start as overwritten" else echo "you can overwrite this with: sysrc gitlab_allow_conflicts=YES" exit 1 fi fi # 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 root -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 chown git "${app_root}"/Gemfile.lock # echo "Regenerate Gitaly Gemfile.lock" rm -f "${gitaly_dir}"/ruby/Gemfile.lock 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 \")%%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 # Select the web server to use -if [ -z "$EXPERIMENTAL_PUMA" ]; then +if [ -z "$USE_UNICORN" ]; then + use_web_server="puma" +else use_web_server="unicorn" +fi + +if [ -z "$SIDEKIQ_WORKERS" ]; then + sidekiq_pid_path="$pid_path/sidekiq.pid" else - use_web_server="puma" + sidekiq_pid_path="$pid_path/sidekiq-cluster.pid" 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 web server 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 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 web server and Sidekiq if they're not running. start_gitlab() { check_stale_pids if [ "$web_status" != "0" ]; then echo "Starting GitLab web server ($use_web_server)" 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 web server already running with pid $wpid, not restarting." else # Remove old socket if it exists rm -f "$rails_socket" 2>/dev/null # Start the web server RAILS_ENV=$RAILS_ENV USE_WEB_SERVER=$use_web_server 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 & + RAILS_ENV=$RAILS_ENV SIDEKIQ_WORKERS=$SIDEKIQ_WORKERS 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 web server, 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 web server" RAILS_ENV=$RAILS_ENV USE_WEB_SERVER=$use_web_server bin/web stop fi if [ "$sidekiq_status" = "0" ]; then echo "Shutting down GitLab Sidekiq" - RAILS_ENV=$RAILS_ENV bin/background_jobs stop + RAILS_ENV=$RAILS_ENV SIDEKIQ_WORKERS=$SIDEKIQ_WORKERS 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 web server with pid $wpid is running." else printf "The GitLab 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 web server to reload its config and Sidekiq to restart reload_gitlab(){ exit_if_not_running if [ "$wpid" = "0" ];then echo "The GitLab web server Web server is not running thus its configuration can't be reloaded." exit 1 fi printf "Reloading GitLab web server configuration... " RAILS_ENV=$RAILS_ENV USE_WEB_SERVER=$use_web_server 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 + RAILS_ENV=$RAILS_ENV SIDEKIQ_WORKERS=$SIDEKIQ_WORKERS 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 web server. 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 } run_rc_command "$1" exit Index: head/www/gitlab-ce/files/patch-Gemfile =================================================================== --- head/www/gitlab-ce/files/patch-Gemfile (revision 535981) +++ head/www/gitlab-ce/files/patch-Gemfile (revision 535982) @@ -1,129 +1,128 @@ ---- Gemfile.orig 2020-04-14 21:01:52 UTC +--- Gemfile.orig 2020-05-04 10:07:41 UTC +++ Gemfile @@ -1,6 +1,6 @@ source 'https://rubygems.org' -gem 'rails', '6.0.2' -+gem 'rails', '6.0.2.2' ++gem 'rails', '6.0.3.1' gem 'bootsnap', '~> 1.4.6' @@ -18,7 +18,7 @@ gem 'default_value_for', '~> 3.3.0' # Supported DBs gem 'pg', '~> 1.1' -gem 'rugged', '~> 0.28' +gem 'rugged', '~> 1.0' gem 'grape-path-helpers', '~> 1.2' gem 'faraday', '~> 0.12' -@@ -93,7 +93,6 @@ gem 'graphql', '~> 1.9.19' +@@ -93,7 +93,6 @@ gem 'graphql', '~> 1.10.5' # https://gitlab.com/gitlab-org/gitlab/issues/31747 gem 'graphiql-rails', '~> 1.4.10' gem 'apollo_upload_server', '~> 2.0.0.beta3' -gem 'graphql-docs', '~> 1.6.0', group: [:development, :test] # Disable strong_params so that Mash does not respond to :permitted? gem 'hashie-forbidden_attributes' @@ -227,7 +226,7 @@ gem 'redis-rails', '~> 5.0.2' gem 'discordrb-webhooks-blackst0ne', '~> 3.3', require: false # HipChat integration -gem 'hipchat', '~> 1.5.0' +gem 'hipchat', '~> 1.6.0' # Jira integration gem 'jira-ruby', '~> 1.7' -@@ -329,92 +328,6 @@ group :metrics do +@@ -329,91 +328,6 @@ group :metrics do # Prometheus gem 'prometheus-client-mmap', '~> 0.10.0' gem 'raindrops', '~> 0.18' -end - -group :development do - gem 'brakeman', '~> 4.2', require: false - gem 'danger', '~> 6.0', require: false - - gem 'letter_opener_web', '~> 1.3.4' - gem 'rblineprof', '~> 0.3.6', platform: :mri, require: false - - # Better errors handler - gem 'better_errors', '~> 2.5.0' - gem 'binding_of_caller', '~> 0.8.0' - - # thin instead webrick - gem 'thin', '~> 1.7.0' -end - -group :development, :test do - gem 'bullet', '~> 6.0.2', require: !!ENV['ENABLE_BULLET'] - gem 'pry-byebug', '~> 3.5.1', platform: :mri - gem 'pry-rails', '~> 0.3.9' - - gem 'awesome_print', require: false - - gem 'database_cleaner', '~> 1.7.0' - gem 'factory_bot_rails', '~> 5.1.0' - gem 'rspec-rails', '~> 4.0.0.beta4' - - # Prevent occasions where minitest is not bundled in packaged versions of ruby (see #3826) - gem 'minitest', '~> 5.11.0' - - # Generate Fake data - gem 'ffaker', '~> 2.10' - - gem 'spring', '~> 2.0.0' - gem 'spring-commands-rspec', '~> 1.0.4' - -- gem 'gitlab-styles', '~> 3.1.0', require: false +- gem 'gitlab-styles', '~> 3.2.0', require: false - # Pin these dependencies, otherwise a new rule could break the CI pipelines - gem 'rubocop', '~> 0.74.0' - gem 'rubocop-performance', '~> 1.4.1' - gem 'rubocop-rspec', '~> 1.37.0' - - gem 'scss_lint', '~> 0.56.0', require: false - gem 'haml_lint', '~> 0.34.0', require: false - gem 'simplecov', '~> 0.18.5', require: false - gem 'bundler-audit', '~> 0.6.1', require: false - - gem 'benchmark-ips', '~> 2.3.0', require: false - - gem 'knapsack', '~> 1.17' - - gem 'simple_po_parser', '~> 1.1.2', require: false - - gem 'timecop', '~> 0.9.1' - - gem 'png_quantizator', '~> 0.2.1', require: false - - gem 'parallel', '~> 1.19', require: false -end - -# Gems required in omnibus-gitlab pipeline -group :development, :test, :omnibus do - gem 'license_finder', '~> 5.4', require: false -end - -group :test do - gem 'fuubar', '~> 2.2.0' - gem 'rspec-retry', '~> 0.6.1' - gem 'rspec_profiling', '~> 0.0.5' -- gem 'rspec-set', '~> 0.1.3' - gem 'rspec-parameterized', require: false - - gem 'capybara', '~> 3.22.0' - gem 'capybara-screenshot', '~> 1.0.22' - gem 'selenium-webdriver', '~> 3.142' - - gem 'shoulda-matchers', '~> 4.0.1', require: false - gem 'email_spec', '~> 2.2.0' - gem 'json-schema', '~> 2.8.0' - gem 'webmock', '~> 3.5.1' - gem 'rails-controller-testing' - gem 'concurrent-ruby', '~> 1.1' - gem 'test-prof', '~> 0.10.0' - gem 'rspec_junit_formatter' - gem 'guard-rspec' end gem 'octokit', '~> 4.15' Index: head/www/gitlab-ce/files/patch-bin_background__jobs__sk =================================================================== --- head/www/gitlab-ce/files/patch-bin_background__jobs__sk (revision 535981) +++ head/www/gitlab-ce/files/patch-bin_background__jobs__sk (revision 535982) @@ -1,20 +1,20 @@ --- bin/background_jobs_sk.orig 2020-03-27 13:35:17 UTC +++ bin/background_jobs_sk @@ -14,7 +14,7 @@ warn() stop() { - bundle exec sidekiqctl stop $sidekiq_pidfile >> $sidekiq_logfile 2>&1 -+ bundle exec sidekiqctl5 stop $sidekiq_pidfile >> $sidekiq_logfile 2>&1 ++ bundle exec sidekiqctl stop $sidekiq_pidfile >> $sidekiq_logfile 2>&1 } restart() @@ -42,7 +42,7 @@ start_sidekiq() cmd="${cmd} ${chpst} -P" fi - ${cmd} bundle exec sidekiq -C "${sidekiq_config}" -e $RAILS_ENV "$@" -+ ${cmd} bundle exec sidekiq5 -C "${sidekiq_config}" -e $RAILS_ENV "$@" ++ ${cmd} bundle exec sidekiq -C "${sidekiq_config}" -e $RAILS_ENV "$@" } case "$1" in Index: head/www/gitlab-ce/files/patch-config_gitlab.yml.example =================================================================== --- head/www/gitlab-ce/files/patch-config_gitlab.yml.example (revision 535981) +++ head/www/gitlab-ce/files/patch-config_gitlab.yml.example (revision 535982) @@ -1,47 +1,54 @@ ---- config/gitlab.yml.example.orig 2020-03-26 12:19:15 UTC +--- config/gitlab.yml.example.orig 2020-05-15 17:18:13 UTC +++ config/gitlab.yml.example -@@ -937,7 +937,7 @@ production: &base +@@ -955,7 +955,7 @@ production: &base # Gitaly settings gitaly: # Path to the directory containing Gitaly client executables. - client_path: /home/git/gitaly + client_path: %%PREFIX%%/share/gitaly/bin # Default Gitaly authentication token. Can be overridden per storage. Can # be left blank when Gitaly is running locally on a Unix socket, which # is the normal way to deploy Gitaly. -@@ -955,8 +955,8 @@ production: &base +@@ -973,8 +973,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). TLS connections are also supported using the system certificate pool (eg: tls://host:port). + path: /usr/local/git/repositories/ + 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 -@@ -1002,12 +1002,12 @@ production: &base +@@ -1020,12 +1020,12 @@ production: &base ## GitLab Shell settings gitlab_shell: - path: /home/git/gitlab-shell/ - authorized_keys_file: /home/git/.ssh/authorized_keys + path: %%PREFIX%%/share/gitlab-shell/ + authorized_keys_file: %%PREFIX%%/git/.ssh/authorized_keys # 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/local/www/gitlab-ce/.gitlab_shell_secret # Git over HTTP upload_pack: true -@@ -1032,7 +1032,7 @@ production: &base +@@ -1044,13 +1044,13 @@ production: &base + + ## GitLab Elasticsearch settings + elasticsearch: +- indexer_path: /home/git/gitlab-elasticsearch-indexer/ ++ indexer_path: %%PREFIX%%/bin/ + + ## Git settings # CAUTION! # Use the default values unless you really know what you are doing git: - bin_path: /usr/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_initializers_1__settings.rb =================================================================== --- head/www/gitlab-ce/files/patch-config_initializers_1__settings.rb (revision 535981) +++ head/www/gitlab-ce/files/patch-config_initializers_1__settings.rb (revision 535982) @@ -1,15 +1,15 @@ ---- config/initializers/1_settings.rb.orig 2020-03-26 12:19:15 UTC +--- config/initializers/1_settings.rb.orig 2020-04-21 23:01:33 UTC +++ config/initializers/1_settings.rb -@@ -182,11 +182,7 @@ Settings.gitlab['url'] ||= Settings.__send__(:build_gi +@@ -173,11 +173,7 @@ Settings.gitlab['url'] ||= Settings.__send__(:build_gi Settings.gitlab['user'] ||= 'git' # External configuration may cause the ssh user to differ from the GitLab user Settings.gitlab['ssh_user'] ||= Settings.gitlab.user -Settings.gitlab['user_home'] ||= begin - Etc.getpwnam(Settings.gitlab['user']).dir -rescue ArgumentError # no user configured - '/home/' + Settings.gitlab['user'] -end +Settings.gitlab['user_home'] ||= '/usr/local/git' Settings.gitlab['time_zone'] ||= nil Settings.gitlab['signup_enabled'] ||= true if Settings.gitlab['signup_enabled'].nil? Settings.gitlab['signin_enabled'] ||= true if Settings.gitlab['signin_enabled'].nil? Index: head/www/gitlab-ce/files/patch-config_initializers_active__record__fix__insert__all.rb =================================================================== --- head/www/gitlab-ce/files/patch-config_initializers_active__record__fix__insert__all.rb (nonexistent) +++ head/www/gitlab-ce/files/patch-config_initializers_active__record__fix__insert__all.rb (revision 535982) @@ -0,0 +1,11 @@ +--- config/initializers/active_record_fix_insert_all.rb.orig 2020-05-15 17:18:13 UTC ++++ config/initializers/active_record_fix_insert_all.rb +@@ -7,7 +7,7 @@ + # This is covered by tests in `BulkInsertSafe` + # that validates handling of different data types + +-if Rails.gem_version > Gem::Version.new("6.0.2") ++if Rails.gem_version > Gem::Version.new("6.0.3.1") + raise Gem::DependencyError, + "Remove patch once the https://github.com/rails/rails/pull/38763 is included" + end Property changes on: head/www/gitlab-ce/files/patch-config_initializers_active__record__fix__insert__all.rb ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/www/gitlab-ce/pkg-message =================================================================== --- head/www/gitlab-ce/pkg-message (revision 535981) +++ head/www/gitlab-ce/pkg-message (revision 535982) @@ -1,33 +1,33 @@ [ { message: <