Index: head/www/gitlab-ce/Makefile =================================================================== --- head/www/gitlab-ce/Makefile (revision 544685) +++ head/www/gitlab-ce/Makefile (revision 544686) @@ -1,305 +1,305 @@ # Created by: Torsten Zuehlsdorff # $FreeBSD$ PORTNAME= gitlab-ce PORTVERSION= 13.2.3 -PORTREVISION= 0 +PORTREVISION= 1 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.25:devel/git \ gitaly>=${PORTVERSION}:devel/gitaly \ gitlab-elasticsearch-indexer>=2.4.0:textproc/gitlab-elasticsearch-indexer \ gitlab-pages>=1.21.0:www/gitlab-pages \ gitlab-shell>=13.3.0:devel/gitlab-shell \ gitlab-workhorse>=8.37.0:www/gitlab-workhorse \ redis>=3.2.12:databases/redis \ yarn>=1.10.0:www/yarn \ gtar>0:archivers/gtar \ bash>0:shells/bash \ gtar>0:archivers/gtar \ rubygem-rails60>=6.0.3.1<6.1: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.3<2.0:devel/rubygem-grape-path-helpers \ rubygem-faraday0>=0.17.3<1.0:www/rubygem-faraday0 \ 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.3<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.5<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.10<1.1.0:dns/rubygem-validates_hostname \ rubygem-rubyzip20>=2.0.0<2.1.0:archivers/rubygem-rubyzip20 \ rubygem-acme-client>=2.0.6<3: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-grape>=1.4.0<1.4.1:devel/rubygem-grape \ 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.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.2.1<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-google>=1.10<2:net/rubygem-fog-google \ 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.33<1: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.1<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-kramdown22>=2.2.1<2.3:textproc/rubygem-kramdown22 \ 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-plantuml>=0.0.12<0.1:textproc/rubygem-asciidoctor-plantuml \ rubygem-rouge>=3.21.0<3.22:textproc/rubygem-rouge \ 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-rack-timeout>=0.5.1<0.6:www/rubygem-rack-timeout \ rubygem-unicorn>=5.5<6: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-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.9<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.2.0<1.3.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-ruby20>=2.0.0<2.1:devel/rubygem-jira-ruby20 \ 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.10.0<0.10.1: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.5<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.3.0<6.4.0:www/rubygem-rack-attack \ rubygem-sentry-raven2>=2.9<3.0:devel/rubygem-sentry-raven2 \ rubygem-premailer-rails-rails60>=1.10.3<1.11.0:mail/rubygem-premailer-rails-rails60 \ rubygem-gitlab-labkit>=0.12.1<0.12.2: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-method_source0>=0.8<1.0:devel/rubygem-method_source0 \ 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.6<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.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.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>=6.0<7,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>=13.2.0.p.r2<13.3.0:net/rubygem-gitaly \ 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-flipper017>=0.17.1<0.18.0:devel/rubygem-flipper017 \ rubygem-flipper-active_record017>=0.17.1<0.18.0:databases/rubygem-flipper-active_record017 \ rubygem-flipper-active_support_cache_store017>=0.17.1<0.18.0:devel/rubygem-flipper-active_support_cache_store017 \ rubygem-unleash>=0.1.5<0.2.0:devel/rubygem-unleash \ rubygem-lograge-rails60>=0.11.2<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-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-lockbox>=0.3.3<0.4.0:security/rubygem-lockbox \ rubygem-valid_email>=0.1<1:mail/rubygem-valid_email \ rubygem-json>=2.3.0<2.4:devel/rubygem-json \ rubygem-json-schema>=2.8.0<2.9:devel/rubygem-json-schema \ rubygem-oj>=3.10.6<3.11:devel/rubygem-oj \ rubygem-multi_json114>=1.14.1<1.15:devel/rubygem-multi_json114 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= 0f9c583610f49b547412dc2186585c2a918e112a 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 # 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/redis.cache.yml.example ${WRKSRC}/config/redis.cache.yml.sample ${MV} ${WRKSRC}/config/sidekiq.yml.example ${WRKSRC}/config/sidekiq.yml.sample ${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/redis.queues.yml.example ${WRKSRC}/config/redis.queues.yml.sample ${MV} ${WRKSRC}/config/initializers/devise_password_length.rb.example ${WRKSRC}/config/initializers/devise_password_length.rb.sample ${MV} ${WRKSRC}/config/redis.shared_state.yml.example ${WRKSRC}/config/redis.shared_state.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}/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/files/gitlab.in =================================================================== --- head/www/gitlab-ce/files/gitlab.in (revision 544685) +++ head/www/gitlab-ce/files/gitlab.in (revision 544686) @@ -1,577 +1,577 @@ #! /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=${RAILS_ENV:-'production'} SIDEKIQ_WORKERS=${SIDEKIQ_WORKERS:-1} -USE_WEB_SERVER=${USE_WEB_SERVER:-'unicorn'} +USE_WEB_SERVER=${USE_WEB_SERVER:-'puma'} case "${USE_WEB_SERVER}" in puma|unicorn) use_web_server="$USE_WEB_SERVER" ;; *) echo "Unsupported web server '${USE_WEB_SERVER}' (Allowed: 'puma', 'unicorn')" 1>&2 exit 1 ;; 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" pid_path="$app_root/tmp/pids" socket_path="$app_root/tmp/sockets" rails_socket="$socket_path/gitlab.socket" web_server_pid_path="$pid_path/$use_web_server.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 if [ -z "$SIDEKIQ_WORKERS" ]; then sidekiq_pid_path="$pid_path/sidekiq.pid" else 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 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 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 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-bin_actioncable =================================================================== --- head/www/gitlab-ce/files/patch-bin_actioncable (nonexistent) +++ head/www/gitlab-ce/files/patch-bin_actioncable (revision 544686) @@ -0,0 +1,11 @@ +--- bin/actioncable.orig 2020-08-11 09:44:44 UTC ++++ bin/actioncable +@@ -10,7 +10,7 @@ puma_config="$app_root/config/puma_actioncable.rb" + + spawn_puma() + { +- exec bundle exec puma --config "${puma_config}" --environment "$RAILS_ENV" "$@" ++ exec bundle exec gpuma --config "${puma_config}" --environment "$RAILS_ENV" "$@" + } + + get_puma_pid() Property changes on: head/www/gitlab-ce/files/patch-bin_actioncable ___________________________________________________________________ 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/files/patch-bin_web__puma =================================================================== --- head/www/gitlab-ce/files/patch-bin_web__puma (nonexistent) +++ head/www/gitlab-ce/files/patch-bin_web__puma (revision 544686) @@ -0,0 +1,11 @@ +--- bin/web_puma.orig 2020-08-11 09:44:03 UTC ++++ bin/web_puma +@@ -10,7 +10,7 @@ puma_config="$app_root/config/puma.rb" + + spawn_puma() + { +- exec bundle exec puma --config "${puma_config}" --environment "$RAILS_ENV" "$@" ++ exec bundle exec gpuma --config "${puma_config}" --environment "$RAILS_ENV" "$@" + } + + get_puma_pid() Property changes on: head/www/gitlab-ce/files/patch-bin_web__puma ___________________________________________________________________ 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/files/patch-config_puma.rb.example =================================================================== --- head/www/gitlab-ce/files/patch-config_puma.rb.example (revision 544685) +++ head/www/gitlab-ce/files/patch-config_puma.rb.example (revision 544686) @@ -1,34 +1,47 @@ ---- config/puma.rb.example.orig 2019-08-17 12:35:36 UTC +--- config/puma.rb.example.orig 2020-08-05 09:54:00 UTC +++ config/puma.rb.example @@ -5,11 +5,11 @@ # The default is "config.ru". # 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' -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', true # Configure "min" to be the minimum number of threads to use to answer @@ -31,12 +31,12 @@ queue_requests false # 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' workers 3 -require_relative "/home/git/gitlab/lib/gitlab/cluster/lifecycle_events" -require_relative "/home/git/gitlab/lib/gitlab/cluster/puma_worker_killer_initializer" +require_relative "%%PREFIX%%/www/gitlab-ce/lib/gitlab/cluster/lifecycle_events" +require_relative "%%PREFIX%%/www/gitlab-ce/lib/gitlab/cluster/puma_worker_killer_initializer" on_restart do # Signal application hooks that we're about to restart +@@ -70,9 +70,9 @@ tag 'gitlab-puma-worker' + worker_timeout 60 + + # 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" + + json_formatter = Gitlab::PumaLogging::JSONFormatter.new + log_formatter do |str| + json_formatter.call(str) +-end +\ No newline at end of file ++end Index: head/www/rubygem-gitlab-puma/Makefile =================================================================== --- head/www/rubygem-gitlab-puma/Makefile (revision 544685) +++ head/www/rubygem-gitlab-puma/Makefile (revision 544686) @@ -1,29 +1,30 @@ # Created by: Steve Wills # $FreeBSD$ PORTNAME= gitlab-puma DISTVERSION= 4.3.3.gitlab.2 +PORTREVISION= 1 CATEGORIES= www rubygems MASTER_SITES= RG MAINTAINER= mfechner@FreeBSD.org COMMENT= Fast, multithreaded and highly concurrent ruby web server LICENSE= BSD3CLAUSE LICENSE_FILE= ${WRKSRC}/LICENSE RUN_DEPENDS= rubygem-nio4r>=2.0<3:devel/rubygem-nio4r USES= gem shebangfix ssl USE_RUBY= yes PLIST_FILES= bin/gpuma bin/gpumactl #PLIST_FILES= bin/puma bin/pumactl SHEBANG_FILES= tools/jungle/init.d/run-puma -post-install: - ${MV} ${STAGEDIR}${PREFIX}/bin/puma ${STAGEDIR}${PREFIX}/bin/gpuma - ${MV} ${STAGEDIR}${PREFIX}/bin/pumactl ${STAGEDIR}${PREFIX}/bin/gpumactl +post-patch: + ${MV} ${WRKSRC}/bin/puma ${WRKSRC}/bin/gpuma + ${MV} ${WRKSRC}/bin/pumactl ${WRKSRC}/bin/gpumactl .include Index: head/www/rubygem-gitlab-puma/files/patch-gitlab-puma.gemspec =================================================================== --- head/www/rubygem-gitlab-puma/files/patch-gitlab-puma.gemspec (nonexistent) +++ head/www/rubygem-gitlab-puma/files/patch-gitlab-puma.gemspec (revision 544686) @@ -0,0 +1,14 @@ +--- gitlab-puma.gemspec.orig 2020-08-11 09:30:41 UTC ++++ gitlab-puma.gemspec +@@ -13,9 +13,9 @@ Gem::Specification.new do |s| + s.date = "2020-03-04" + s.description = "Puma is a simple, fast, threaded, and highly concurrent HTTP 1.1 server for Ruby/Rack applications. Puma is intended for use in both development and production environments. It's great for highly concurrent Ruby implementations such as Rubinius and JRuby as well as as providing process worker support to support CRuby well.".freeze + s.email = ["kamil@gitlab.com".freeze, "evan@phx.io".freeze] +- s.executables = ["puma".freeze, "pumactl".freeze] ++ s.executables = ["gpuma".freeze, "gpumactl".freeze] + s.extensions = ["ext/puma_http11/extconf.rb".freeze] +- s.files = ["History.md".freeze, "LICENSE".freeze, "README.md".freeze, "bin/puma".freeze, "bin/puma-wild".freeze, "bin/pumactl".freeze, "docs/architecture.md".freeze, "docs/deployment.md".freeze, "docs/images/puma-connection-flow-no-reactor.png".freeze, "docs/images/puma-connection-flow.png".freeze, "docs/images/puma-general-arch.png".freeze, "docs/nginx.md".freeze, "docs/plugins.md".freeze, "docs/restart.md".freeze, "docs/signals.md".freeze, "docs/systemd.md".freeze, "docs/tcp_mode.md".freeze, "ext/puma_http11/PumaHttp11Service.java".freeze, "ext/puma_http11/ext_help.h".freeze, "ext/puma_http11/extconf.rb".freeze, "ext/puma_http11/http11_parser.c".freeze, "ext/puma_http11/http11_parser.h".freeze, "ext/puma_http11/http11_parser.java.rl".freeze, "ext/puma_http11/http11_parser.rl".freeze, "ext/puma_http11/http11_parser_common.rl".freeze, "ext/puma_http11/io_buffer.c".freeze, "ext/puma_http11/mini_ssl.c".freeze, "ext/puma_http11/org/jruby/puma/Http11.java".freeze, "ext/puma_http11/org/jruby/puma/Http11Parser.java".freeze, "ext/puma_http11/org/jruby/puma/IOBuffer.java".freeze, "ext/puma_http11/org/jruby/puma/MiniSSL.java".freeze, "ext/puma_http11/puma_http11.c".freeze, "lib/puma.rb".freeze, "lib/puma/accept_nonblock.rb".freeze, "lib/puma/app/status.rb".freeze, "lib/puma/binder.rb".freeze, "lib/puma/cli.rb".freeze, "lib/puma/client.rb".freeze, "lib/puma/cluster.rb".freeze, "lib/puma/commonlogger.rb".freeze, "lib/puma/configuration.rb".freeze, "lib/puma/const.rb".freeze, "lib/puma/control_cli.rb".freeze, "lib/puma/detect.rb".freeze, "lib/puma/dsl.rb".freeze, "lib/puma/events.rb".freeze, "lib/puma/io_buffer.rb".freeze, "lib/puma/jruby_restart.rb".freeze, "lib/puma/launcher.rb".freeze, "lib/puma/minissl.rb".freeze, "lib/puma/minissl/context_builder.rb".freeze, "lib/puma/null_io.rb".freeze, "lib/puma/plugin.rb".freeze, "lib/puma/plugin/tmp_restart.rb".freeze, "lib/puma/rack/builder.rb".freeze, "lib/puma/rack/urlmap.rb".freeze, "lib/puma/rack_default.rb".freeze, "lib/puma/reactor.rb".freeze, "lib/puma/runner.rb".freeze, "lib/puma/server.rb".freeze, "lib/puma/single.rb".freeze, "lib/puma/state_file.rb".freeze, "lib/puma/tcp_logger.rb".freeze, "lib/puma/thread_pool.rb".freeze, "lib/puma/util.rb".freeze, "lib/rack/handler/puma.rb".freeze, "tools/docker/Dockerfile".freeze, "tools/jungle/README.md".freeze, "tools/jungle/init.d/README.md".freeze, "tools/jungle/init.d/puma".freeze, "tools/jungle/init.d/run-puma".freeze, "tools/jungle/rc.d/README.md".freeze, "tools/jungle/rc.d/puma".freeze, "tools/jungle/rc.d/puma.conf".freeze, "tools/jungle/upstart/README.md".freeze, "tools/jungle/upstart/puma-manager.conf".freeze, "tools/jungle/upstart/puma.conf".freeze, "tools/trickletest.rb".freeze] ++ s.files = ["History.md".freeze, "LICENSE".freeze, "README.md".freeze, "bin/gpuma".freeze, "bin/puma-wild".freeze, "bin/gpumactl".freeze, "docs/architecture.md".freeze, "docs/deployment.md".freeze, "docs/images/puma-connection-flow-no-reactor.png".freeze, "docs/images/puma-connection-flow.png".freeze, "docs/images/puma-general-arch.png".freeze, "docs/nginx.md".freeze, "docs/plugins.md".freeze, "docs/restart.md".freeze, "docs/signals.md".freeze, "docs/systemd.md".freeze, "docs/tcp_mode.md".freeze, "ext/puma_http11/PumaHttp11Service.java".freeze, "ext/puma_http11/ext_help.h".freeze, "ext/puma_http11/extconf.rb".freeze, "ext/puma_http11/http11_parser.c".freeze, "ext/puma_http11/http11_parser.h".freeze, "ext/puma_http11/http11_parser.java.rl".freeze, "ext/puma_http11/http11_parser.rl".freeze, "ext/puma_http11/http11_parser_common.rl".freeze, "ext/puma_http11/io_buffer.c".freeze, "ext/puma_http11/mini_ssl.c".freeze, "ext/puma_http11/org/jruby/puma/Http11.java".freeze, "ext/puma_http11/org/jruby/puma/Http11Parser.java".freeze, "ext/puma_http11/org/jruby/puma/IOBuffer.java".freeze, "ext/puma_http11/org/jruby/puma/MiniSSL.java".freeze, "ext/puma_http11/puma_http11.c".freeze, "lib/puma.rb".freeze, "lib/puma/accept_nonblock.rb".freeze, "lib/puma/app/status.rb".freeze, "lib/puma/binder.rb".freeze, "lib/puma/cli.rb".freeze, "lib/puma/client.rb".freeze, "lib/puma/cluster.rb".freeze, "lib/puma/commonlogger.rb".freeze, "lib/puma/configuration.rb".freeze, "lib/puma/const.rb".freeze, "lib/puma/control_cli.rb".freeze, "lib/puma/detect.rb".freeze, "lib/puma/dsl.rb".freeze, "lib/puma/events.rb".freeze, "lib/puma/io_buffer.rb".freeze, "lib/puma/jruby_restart.rb".freeze, "lib/puma/launcher.rb".freeze, "lib/puma/minissl.rb".freeze, "lib/puma/minissl/context_builder.rb".freeze, "lib/puma/null_io.rb".freeze, "lib/puma/plugin.rb".freeze, "lib/puma/plugin/tmp_restart.rb".freeze, "lib/puma/rack/builder.rb".freeze, "lib/puma/rack/urlmap.rb".freeze, "lib/puma/rack_default.rb".freeze, "lib/puma/reactor.rb".freeze, "lib/puma/runner.rb".freeze, "lib/puma/server.rb".freeze, "lib/puma/single.rb".freeze, "lib/puma/state_file.rb".freeze, "lib/puma/tcp_logger.rb".freeze, "lib/puma/thread_pool.rb".freeze, "lib/puma/util.rb".freeze, "lib/rack/handler/puma.rb".freeze, "tools/docker/Dockerfile".freeze, "tools/jungle/README.md".freeze, "tools/jungle/init.d/README.md".freeze, "tools/jungle/init.d/puma".freeze, "tools/jungle/init.d/run-puma".freeze, "tools/jungle/rc.d/README.md".freeze, "tools/jungle/rc.d/puma".freeze, "tools/jungle/rc.d/puma.conf".freeze, "tools/jungle/upstart/README.md".freeze, "tools/jungle/upstart/puma-manager.conf".freeze, "tools/jungle/upstart/puma.conf".freeze, "tools/trickletest.rb".freeze] + s.homepage = "https://gitlab.com/gitlab-org/gitlab-puma".freeze + s.licenses = ["BSD-3-Clause".freeze] + s.required_ruby_version = Gem::Requirement.new(">= 2.2".freeze) Property changes on: head/www/rubygem-gitlab-puma/files/patch-gitlab-puma.gemspec ___________________________________________________________________ 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