Matthias Fechner 2023-01-30 23:22:26 +02:00
parent 11818d4e60
commit 3691c737b7
5 changed files with 67 additions and 68 deletions

View File

@ -1,6 +1,6 @@
PORTNAME= gitlab-ce
PORTVERSION= 15.6.4
PORTREVISION= 2
PORTVERSION= 15.7.5
PORTREVISION= 0
CATEGORIES= www devel
MAINTAINER= mfechner@FreeBSD.org
@ -14,21 +14,21 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
# which makes maintaining this long list much easier!
# devel/rubygem-parser is required for database upgrade process
# see https://gitlab.com/gitlab-org/gitlab/-/issues/350866
MY_DEPENDS= git>=2.37.0:devel/git \
MY_DEPENDS= git>=2.39.1:devel/git \
gitaly>=${PORTVERSION}:devel/gitaly \
gitlab-elasticsearch-indexer>=3.1.0:textproc/gitlab-elasticsearch-indexer \
gitlab-agent>=15.6.0:net/gitlab-agent \
gitlab-agent>=15.7.0:net/gitlab-agent \
gitlab-metrics-exporter>0:devel/gitlab-metrics-exporter \
gitlab-pages>=1.63.0:www/gitlab-pages \
gitlab-shell>=14.13.0:devel/gitlab-shell \
gitlab-pages>=${PORTVERSION}:www/gitlab-pages \
gitlab-shell>=14.14.0:devel/gitlab-shell \
gitlab-workhorse>=${PORTVERSION}:www/gitlab-workhorse \
redis>=6.0.14:databases/redis \
yarn>=1.10.0:www/yarn \
gtar>0:archivers/gtar \
bash>0:shells/bash \
rubygem-rails61>=6.1.6.1<6.1.8:www/rubygem-rails61 \
rubygem-bootsnap114>=1.13.0<1.15:devel/rubygem-bootsnap114 \
rubygem-openssl221>=2.2.1<2.2.2:security/rubygem-openssl221 \
rubygem-bootsnap>=1.15.0<1.16:devel/rubygem-bootsnap \
rubygem-openssl2>=2.2.2<2.3:security/rubygem-openssl2 \
rubygem-ipaddr122>=1.2.2<1.2.3:net/rubygem-ipaddr122 \
rubygem-responders-rails61>=3.0<4.0:www/rubygem-responders-rails61 \
rubygem-sprockets3>=3.7<3.8:devel/rubygem-sprockets3 \
@ -42,8 +42,8 @@ MY_DEPENDS= git>=2.37.0:devel/git \
rubygem-declarative_policy>=1.1.0<1.2:security/rubygem-declarative_policy \
rubygem-devise-rails61>=4.8.1<4.9:devel/rubygem-devise-rails61 \
rubygem-bcrypt>=3.1.14<3.2:security/rubygem-bcrypt \
rubygem-doorkeeper>=5.5.0.rc2<5.6:security/rubygem-doorkeeper \
rubygem-doorkeeper-openid_connect>=1.7.5<1.8:security/rubygem-doorkeeper-openid_connect \
rubygem-doorkeeper>=5.5.4<6:security/rubygem-doorkeeper \
rubygem-doorkeeper-openid_connect>=1.8.3<2:security/rubygem-doorkeeper-openid_connect \
rubygem-rexml>=3.2.5<3.3:textproc/rubygem-rexml \
rubygem-ruby-saml>=1.13.0<1.14:security/rubygem-ruby-saml \
rubygem-omniauth>=2.1.0<3:security/rubygem-omniauth \
@ -76,7 +76,7 @@ MY_DEPENDS= git>=2.37.0:devel/git \
rubygem-acme-client>=2.0.9<3:security/rubygem-acme-client \
rubygem-browser>=5.3.1<5.4:www/rubygem-browser \
rubygem-ohai>=16.10<17:sysutils/rubygem-ohai \
rubygem-gpgme>=2.0.20<2.1.0:security/rubygem-gpgme \
rubygem-gpgme>=2.0.22<2.1.0:security/rubygem-gpgme \
rubygem-gitlab_omniauth-ldap>=2.2.0<2.3.0:net/rubygem-gitlab_omniauth-ldap \
rubygem-net-ldap>0.16.3:net/rubygem-net-ldap \
rubygem-grape15>=1.5.2<1.6:devel/rubygem-grape15 \
@ -108,9 +108,9 @@ MY_DEPENDS= git>=2.37.0:devel/git \
rubygem-elasticsearch-model713>=7.2<8:textproc/rubygem-elasticsearch-model713 \
rubygem-elasticsearch-rails>=7.2<8:textproc/rubygem-elasticsearch-rails \
rubygem-elasticsearch-api713>=7.13.3<7.13.4:textproc/rubygem-elasticsearch-api713 \
rubygem-aws-sdk-core>=3.167.0<3.169:devel/rubygem-aws-sdk-core \
rubygem-aws-sdk-core>=3.168.4<3.169:devel/rubygem-aws-sdk-core \
rubygem-aws-sdk-cloudformation>=1<2:devel/rubygem-aws-sdk-cloudformation \
rubygem-aws-sdk-s3>=1.117.1<1.118:devel/rubygem-aws-sdk-s3 \
rubygem-aws-sdk-s3>=1.117.2<1.118:devel/rubygem-aws-sdk-s3 \
rubygem-faraday_middleware-aws-sigv403>=0.3.0<0.4:devel/rubygem-faraday_middleware-aws-sigv403 \
rubygem-typhoeus>=1.4.0<1.5:www/rubygem-typhoeus \
rubygem-html-pipeline>=2.14.3<2.15:textproc/rubygem-html-pipeline \
@ -130,7 +130,7 @@ MY_DEPENDS= git>=2.37.0:devel/git \
rubygem-rouge>=3.30.0<3.31: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.13.9<1.14:textproc/rubygem-nokogiri \
rubygem-nokogiri>=1.13.10<1.14:textproc/rubygem-nokogiri \
rubygem-icalendar>=0:devel/rubygem-icalendar \
rubygem-diffy>=3.4<4:textproc/rubygem-diffy \
rubygem-diff_match_patch>=0.1.0<0.2.0:textproc/rubygem-diff_match_patch \
@ -138,7 +138,7 @@ MY_DEPENDS= git>=2.37.0:devel/git \
rubygem-rack-timeout>=0.6.3<0.7:www/rubygem-rack-timeout \
rubygem-puma>=5.6.5<5.7:www/rubygem-puma \
rubygem-puma_worker_killer>=0.3.1:www/rubygem-puma_worker_killer \
rubygem-sd_notify>=0.1.0<0.2:devel/rubygem-sd_notify \
rubygem-sd_notify>=0.1.1<0.2:devel/rubygem-sd_notify \
rubygem-state_machines-activerecord>=0.8.0<0.9.0:databases/rubygem-state_machines-activerecord \
rubygem-acts-as-taggable-on>=9.0<10:www/rubygem-acts-as-taggable-on \
rubygem-sidekiq6>=6.5.7<6.6:devel/rubygem-sidekiq6 \
@ -151,7 +151,7 @@ MY_DEPENDS= git>=2.37.0:devel/git \
rubygem-ruby-progressbar>=1.11<2:devel/rubygem-ruby-progressbar \
rubygem-settingslogic>=2.0.9<2.1.0:devel/rubygem-settingslogic \
rubygem-re2>=1.6.0<1.7.0:devel/rubygem-re2 \
rubygem-version_sorter>=2.2.4<2.3.0:textproc/rubygem-version_sorter \
rubygem-version_sorter>=2.3<3:textproc/rubygem-version_sorter \
rubygem-js_regex>=3.8<4.0:textproc/rubygem-js_regex \
rubygem-device_detector>=0:devel/rubygem-device_detector \
rubygem-redis4>=4.8.0<5:databases/rubygem-redis4 \
@ -160,15 +160,13 @@ MY_DEPENDS= git>=2.37.0:devel/git \
rubygem-discordrb-webhooks>=3.4<4.0:net-im/rubygem-discordrb-webhooks \
rubygem-jira-ruby21>=2.1.4<2.2:devel/rubygem-jira-ruby21 \
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.4<2.4.0:devel/rubygem-slack-messenger \
rubygem-hangouts-chat>=0.0.5<0.1.0:net/rubygem-hangouts-chat \
rubygem-asana0>=0.10.13<0.11:www/rubygem-asana0 \
rubygem-ruby-fogbugz>=0.3.0<0.4.0:devel/rubygem-ruby-fogbugz \
rubygem-kubeclient>=4.9.3<4.10.0:www/rubygem-kubeclient \
rubygem-sanitize>=6.0<7:textproc/rubygem-sanitize \
rubygem-babosa>=1.0.4<1.1.0:textproc/rubygem-babosa \
rubygem-loofah>=2.19.0<2.20:textproc/rubygem-loofah \
rubygem-loofah>=2.19.1<2.20:textproc/rubygem-loofah \
rubygem-licensee>=9.15<10:devel/rubygem-licensee \
rubygem-charlock_holmes>=0.7.7<0.8.0:textproc/rubygem-charlock_holmes \
rubygem-ruby-magic>=0.5.4<1:devel/rubygem-ruby-magic \
@ -203,10 +201,10 @@ MY_DEPENDS= git>=2.37.0:devel/git \
rubygem-peek-rails61>=1.1.0<2.0:devel/rubygem-peek-rails61 \
rubygem-snowplow-tracker>=0.8.0<1:devel/rubygem-snowplow-tracker \
rubygem-webrick>=1.7.0:www/rubygem-webrick \
rubygem-prometheus-client-mmap>=0.16.0<0.17.0:devel/rubygem-prometheus-client-mmap \
rubygem-prometheus-client-mmap>=0.17<1:devel/rubygem-prometheus-client-mmap \
rubygem-warning>=1.3.0<1.4:devel/rubygem-warning \
rubygem-license_finder>=7.0.0<8:devel/rubygem-license_finder \
rubygem-gitlab-dangerfiles>=3.6.2<3.7:devel/rubygem-gitlab-dangerfiles \
rubygem-gitlab-dangerfiles>=3.6.4<3.7:devel/rubygem-gitlab-dangerfiles \
rubygem-octokit>=4.20<5.0:net/rubygem-octokit \
rubygem-gitlab-mail_room>=0.0.9<0.1.0:mail/rubygem-gitlab-mail_room \
rubygem-email_reply_trimmer>=0.1<1.0:mail/rubygem-email_reply_trimmer \
@ -226,7 +224,7 @@ MY_DEPENDS= git>=2.37.0:devel/git \
rubygem-gitaly>=15.5.2<15.6.0:net/rubygem-gitaly \
rubygem-kas-grpc>=0.0.2,1<0.0.3,1:net/rubygem-kas-grpc \
rubygem-grpc142>=1.42.0<1.43:net/rubygem-grpc142 \
rubygem-google-protobuf>=3.21.9<4:devel/rubygem-google-protobuf \
rubygem-google-protobuf>=3.21.12<4:devel/rubygem-google-protobuf \
rubygem-toml-rb>=2.2.0<3:www/rubygem-toml-rb \
rubygem-flipper025>=0.25.0<0.26:devel/rubygem-flipper025 \
rubygem-flipper-active_record-rails61>=0.25.0<0.26:databases/rubygem-flipper-active_record-rails61 \
@ -236,7 +234,7 @@ MY_DEPENDS= git>=2.37.0:devel/git \
rubygem-lograge-rails61>=0.11.2<1.0:www/rubygem-lograge-rails61 \
rubygem-grape_logging>=1.8<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-countries>=4.1.3<4.2.0:devel/rubygem-countries \
rubygem-retriable>=3.1.2<3.2.0:devel/rubygem-retriable \
rubygem-lru_redux>0:devel/rubygem-lru_redux \
rubygem-mail27>=2.7.1<2.7.2,2:mail/rubygem-mail27 \
@ -256,7 +254,8 @@ MY_DEPENDS= git>=2.37.0:devel/git \
rubygem-cvss-suite>=3.0.1<3.1:security/rubygem-cvss-suite \
rubygem-arr-pm>=0.0.12<0.1:devel/rubygem-arr-pm \
rubygem-CFPropertyList>=0:devel/rubygem-CFPropertyList \
rubygem-telesignenterprise>=2.2<3:devel/rubygem-telesignenterprise
rubygem-telesignenterprise>=2.2<3:devel/rubygem-telesignenterprise \
rubygem-kubeclient>=4.9.3<4.10.0:www/rubygem-kubeclient
BUILD_DEPENDS= gem:devel/ruby-gems \
${MY_DEPENDS}
@ -276,7 +275,7 @@ USE_GITLAB= yes
GL_ACCOUNT= gitlab-org
GL_PROJECT= gitlab-foss
# Find the here: https://gitlab.com/gitlab-org/gitlab-foss/-/tags
GL_COMMIT= 201805ee2af83fc75bb50ee8a10aa24f563bb2f4
GL_COMMIT= 358d690d91c78748a130cb46358c12eaa22275aa
USERS= git
GROUPS= git

View File

@ -1,3 +1,3 @@
TIMESTAMP = 1673368605
SHA256 (gitlab-org-gitlab-foss-201805ee2af83fc75bb50ee8a10aa24f563bb2f4_GL0.tar.gz) = e78430fac1a4cd33e15912ca95864b436e22470130df016bc68e26790210b1d2
SIZE (gitlab-org-gitlab-foss-201805ee2af83fc75bb50ee8a10aa24f563bb2f4_GL0.tar.gz) = 98462350
TIMESTAMP = 1674281592
SHA256 (gitlab-org-gitlab-foss-358d690d91c78748a130cb46358c12eaa22275aa_GL0.tar.gz) = 748ad48fdce4849f9ea8291437968cd4af9f9b5c09ea2dcd93f31fc3b575f12b
SIZE (gitlab-org-gitlab-foss-358d690d91c78748a130cb46358c12eaa22275aa_GL0.tar.gz) = 99979703

View File

@ -1,18 +1,22 @@
--- Gemfile.orig 2023-01-09 12:50:34 UTC
--- Gemfile.orig 2023-01-12 20:03:13 UTC
+++ Gemfile
@@ -13,9 +13,9 @@ gem 'bundler-checksum', '~> 0.1.0', path: 'vendor/gems
@@ -13,13 +13,13 @@ gem 'bundler-checksum', '~> 0.1.0', path: 'vendor/gems
# NOTE: When incrementing the major or minor version here, also increment activerecord_version
# in vendor/gems/attr_encrypted/attr_encrypted.gemspec until we resolve
# https://gitlab.com/gitlab-org/gitlab/-/issues/375713
-gem 'rails', '~> 6.1.6.1'
+gem 'rails', '~> 6.1.6'
-gem 'bootsnap', '~> 1.13.0', require: false
+gem 'bootsnap', '~> 1.14.0', require: false
gem 'bootsnap', '~> 1.15.0', require: false
# Pin openssl to match the version bundled with our supported Rubies.
# See https://stdgems.org/openssl/#gem-version.
@@ -57,18 +57,18 @@ gem 'doorkeeper-openid_connect', '~> 1.7.5'
-gem 'openssl', '2.2.2'
+gem 'openssl', '~> 2.2.2'
# This gem was originally bundled with Ruby 2.7, but is unbundled as of Ruby 3.
# Since the latest version caused problems with GitLab, we pin this to an older
# version for now.
@@ -57,18 +57,18 @@ gem 'doorkeeper-openid_connect', '~> 1.8'
gem 'rexml', '~> 3.2.5'
gem 'ruby-saml', '~> 1.13.0'
gem 'omniauth', '~> 2.1.0'
@ -44,7 +48,7 @@
# Kerberos authentication. EE-only
gem 'gssapi', group: :kerberos
@@ -113,7 +113,7 @@ gem 'gpgme', '~> 2.0.19'
@@ -113,7 +113,7 @@ gem 'gpgme', '~> 2.0.22'
# GitLab fork with several improvements to original library. For full list of changes
# see https://github.com/intridea/omniauth-ldap/compare/master...gitlabhq:master
gem 'gitlab_omniauth-ldap', '~> 2.2.0', require: 'omniauth-ldap'
@ -53,15 +57,6 @@
# API
gem 'grape', '~> 1.5.2'
@@ -166,7 +166,7 @@ gem 'seed-fu', '~> 2.3.7'
gem 'elasticsearch-model', '~> 7.2'
gem 'elasticsearch-rails', '~> 7.2', require: 'elasticsearch/rails/instrumentation'
gem 'elasticsearch-api', '7.13.3'
-gem 'aws-sdk-core', '~> 3.167.0'
+gem 'aws-sdk-core', '~> 3.167'
gem 'aws-sdk-cloudformation', '~> 1'
gem 'aws-sdk-s3', '~> 1.117.1'
gem 'faraday_middleware-aws-sigv4', '~>0.3.0'
@@ -223,7 +223,7 @@ gem 'redis-namespace', '~> 1.9.0'
gem 'gitlab-sidekiq-fetcher', '0.9.0', require: 'sidekiq-reliable-fetch'
@ -71,22 +66,18 @@
# HTTP requests
gem 'httparty', '~> 0.20.0'
@@ -352,119 +352,23 @@ gem 'batch-loader', '~> 2.0.1'
gem 'peek', '~> 1.1'
# Snowplow events tracking
-gem 'snowplow-tracker', '~> 0.6.1'
+gem 'snowplow-tracker', '~> 0.8.0'
@@ -352,116 +352,20 @@ gem 'peek', '~> 1.1'
gem 'snowplow-tracker', '~> 0.8.0'
# Metrics
-gem 'webrick', '~> 1.6.1', require: false
+gem 'webrick', '~> 1.7.0', require: false
gem 'prometheus-client-mmap', '~> 0.16', require: 'prometheus/client'
gem 'prometheus-client-mmap', '~> 0.17', require: 'prometheus/client'
gem 'warning', '~> 1.3.0'
-group :development do
- gem 'lefthook', '~> 1.2.0', require: false
- gem 'lefthook', '~> 1.2.6', require: false
- gem 'rubocop'
- gem 'solargraph', '~> 0.47.2', require: false
-
@ -97,6 +88,8 @@
- gem 'better_errors', '~> 2.9.1'
-
- gem 'sprite-factory', '~> 1.7'
-
- gem "listen", "~> 3.7"
-end
-
-group :development, :test do
@ -118,10 +111,10 @@
- # Generate Fake data
- gem 'ffaker', '~> 2.10'
-
- gem 'spring', '~> 2.1.0'
- gem 'spring', '~> 4.1.0'
- gem 'spring-commands-rspec', '~> 1.0.4'
-
- gem 'gitlab-styles', '~> 9.0.0', require: false
- gem 'gitlab-styles', '~> 9.1.0', require: false
-
- gem 'haml_lint', '~> 0.40.0', require: false
- gem 'bundler-audit', '~> 0.7.0.1', require: false
@ -135,8 +128,6 @@
-
- gem 'simple_po_parser', '~> 1.1.6', require: false
-
- gem 'timecop', '~> 0.9.1'
-
- gem 'png_quantizator', '~> 0.2.1', require: false
-
- gem 'parallel', '~> 1.19', require: false
@ -149,7 +140,7 @@
-end
-
group :development, :test, :danger do
gem 'gitlab-dangerfiles', '~> 3.6.2', require: false
gem 'gitlab-dangerfiles', '~> 3.6.4', require: false
end
-group :development, :test, :coverage do
@ -193,7 +184,7 @@
gem 'octokit', '~> 4.15'
# Updating this gem version here is deprecated. See:
@@ -511,7 +415,7 @@ gem 'google-protobuf', '~> 3.21', '>= 3.21.9'
@@ -508,7 +412,7 @@ gem 'google-protobuf', '~> 3.21', '>= 3.21.12'
gem 'toml-rb', '~> 2.2.0'
# Feature toggles
@ -202,7 +193,16 @@
gem 'flipper-active_record', '~> 0.25.0'
gem 'flipper-active_support_cache_store', '~> 0.25.0'
gem 'unleash', '~> 3.2.2'
@@ -547,7 +451,7 @@ gem 'lockbox', '~> 0.6.2'
@@ -522,7 +426,7 @@ gem 'grape_logging', '~> 1.8'
gem 'gitlab-net-dns', '~> 0.9.1'
# Countries list
-gem 'countries', '~> 4.0.0'
+gem 'countries', '~> 4.0'
gem 'retriable', '~> 3.1.2'
@@ -544,7 +448,7 @@ gem 'lockbox', '~> 0.6.2'
gem 'valid_email', '~> 0.1'
# JSON
@ -211,7 +211,7 @@
gem 'json_schemer', '~> 0.2.18'
gem 'oj', '~> 3.13.21'
gem 'oj-introspect', '~> 0.7'
@@ -568,6 +472,8 @@ gem 'ed25519', '~> 1.3.0'
@@ -565,6 +469,8 @@ gem 'ed25519', '~> 1.3.0'
# Error Tracking OpenAPI client
# See https://gitlab.com/gitlab-org/gitlab/-/blob/master/doc/development/rake_tasks.md#update-openapi-client-for-error-tracking-feature
gem 'error_tracking_open_api', path: 'vendor/gems/error_tracking_open_api'

View File

@ -1,6 +1,6 @@
--- config/gitlab.yml.example.orig 2022-11-11 19:24:20 UTC
--- config/gitlab.yml.example.orig 2023-01-12 20:03:13 UTC
+++ config/gitlab.yml.example
@@ -1179,14 +1179,14 @@ production: &base
@@ -1187,14 +1187,14 @@ production: &base
# real path not the symlink.
storages: # You must have at least a `default` storage path.
default:
@ -18,7 +18,7 @@
# archive_permissions: 0640 # Permissions for the resulting backup.tar file (default: 0600)
# keep_time: 604800 # default: 0 (forever) (in seconds)
# pg_schema: public # default: nil, it means that all schemas will be backed up
@@ -1221,12 +1221,12 @@ production: &base
@@ -1229,12 +1229,12 @@ production: &base
## GitLab Shell settings
gitlab_shell:
@ -34,7 +34,7 @@
# Git over HTTP
upload_pack: true
@@ -1241,13 +1241,13 @@ production: &base
@@ -1249,13 +1249,13 @@ production: &base
workhorse:
# File that contains the secret key for verifying access for gitlab-workhorse.
# Default is '.gitlab_workhorse_secret' relative to Rails.root (i.e. root of the GitLab app).
@ -50,7 +50,7 @@
# The URL to the external KAS API (used by the Kubernetes agents)
# external_url: wss://kas.example.com
@@ -1260,13 +1260,13 @@ production: &base
@@ -1268,13 +1268,13 @@ production: &base
## GitLab Elasticsearch settings
elasticsearch:
@ -66,7 +66,7 @@
## Webpack settings
# If enabled, this will tell rails to serve frontend assets from the webpack-dev-server running
@@ -1287,18 +1287,18 @@ production: &base
@@ -1295,18 +1295,18 @@ production: &base
# Sidekiq exporter is a dedicated Prometheus metrics server optionally running alongside Sidekiq.
sidekiq_exporter:
@ -92,7 +92,7 @@
# Web exporter is a dedicated Prometheus metrics server optionally running alongside Puma.
web_exporter:
@@ -1523,13 +1523,13 @@ test:
@@ -1531,13 +1531,13 @@ test:
gitaly_address: unix:tmp/tests/gitaly/praefect.socket
gitaly:

View File

@ -6,7 +6,7 @@ Gitlab was installed successfully.
You now need to set up the various components of Gitlab, so please
follow the instructions in the guide at:
https://gitlab.fechner.net/mfechner/Gitlab-docu/blob/master/install/15.6-freebsd.md
https://gitlab.fechner.net/mfechner/Gitlab-docu/blob/master/install/15.7-freebsd.md
EOM
type: install
}
@ -20,7 +20,7 @@ EOM
If you just installed an major upgrade of GitLab, for example you
switched from 14.5.x to 14.6.x, please follow the instructions in the guide at:
https://gitlab.fechner.net/mfechner/Gitlab-docu/blob/master/update/15.5-15.6-freebsd.md
https://gitlab.fechner.net/mfechner/Gitlab-docu/blob/master/update/15.6-15.7-freebsd.md
If you just installed an minor upgrade of GitLab please follow
the instructions in the guide at: