Date: Thursday, March 23, 2023 @ 23:39:15
  Author: anatolik
Revision: 1427423

archrelease: copy trunk to community-testing-x86_64

Added:
  gitlab-gitaly/repos/community-testing-x86_64/
  gitlab-gitaly/repos/community-testing-x86_64/PKGBUILD
    (from rev 1427421, gitlab-gitaly/trunk/PKGBUILD)
  gitlab-gitaly/repos/community-testing-x86_64/configs.patch
    (from rev 1427421, gitlab-gitaly/trunk/configs.patch)
  gitlab-gitaly/repos/community-testing-x86_64/gitlab-gitaly.service
    (from rev 1427421, gitlab-gitaly/trunk/gitlab-gitaly.service)
  gitlab-gitaly/repos/community-testing-x86_64/ruby27.patch
    (from rev 1427422, gitlab-gitaly/trunk/ruby27.patch)

-----------------------+
 PKGBUILD              |   61 +++++++++++++++++++++++++++++
 configs.patch         |   99 ++++++++++++++++++++++++++++++++++++++++++++++++
 gitlab-gitaly.service |   14 ++++++
 ruby27.patch          |   83 ++++++++++++++++++++++++++++++++++++++++
 4 files changed, 257 insertions(+)

Copied: gitlab-gitaly/repos/community-testing-x86_64/PKGBUILD (from rev 
1427421, gitlab-gitaly/trunk/PKGBUILD)
===================================================================
--- community-testing-x86_64/PKGBUILD                           (rev 0)
+++ community-testing-x86_64/PKGBUILD   2023-03-23 23:39:15 UTC (rev 1427423)
@@ -0,0 +1,61 @@
+# Maintainer: Sven-Hendrik Haase <[email protected]>
+
+# NOTE: Gitlab isn't always compatible with modern Ruby versions. In that 
case, check the
+# commit log for an old fix on how to tell it to use older versions of Ruby. 
I'm afraid we'll
+# need this again at some point in the future.
+pkgname=gitlab-gitaly
+pkgver=15.10.0
+pkgrel=1
+pkgdesc="Speed up Git access using caching"
+arch=('x86_64')
+url="https://gitlab.com/gitlab-org/gitaly";
+license=('MIT')
+depends=(glibc ruby2.7 libxml2 libxslt libssh2)
+options=(!buildflags)
+makedepends=(go cmake git)
+backup=("etc/gitlab-gitaly/config.toml")
+_tag=v${pkgver}
+source=("https://gitlab.com/gitlab-org/gitaly/-/archive/${_tag}/gitaly-${_tag}.tar.gz";
+        "configs.patch"
+        "gitlab-gitaly.service"
+       "ruby27.patch")
+sha512sums=('9a4d085f1a9251457a50f2e93fbb2a6f009fc96c993b18aee6a26214259a7976625c59aa349c631436e1080db09c6edabcaea5db722ed563ca0d354fa3ba071c'
+            
'ba4343e1646e301e038d50e89509ec6fe376628506374489eb63f7ea36a1eec36ca073f69abd883bbca8079294a5bfaacea4bab2abf8a3044b79304ee09a69df'
+            
'7f5cd528c873a5e43e18aa6a88bd7298422c047e0e61cf3208be7d9fcfdfdc8a844b5c439ab6afc2098c5c4c60ed9c3d167c2f87517f1e93b34f39be3d3dad09'
+            
'efaf482c40ec74a96b324f3c2e4a4ffb5a55c3faa46fd2bead9ae5db3986d1526c92d6f2911fe2c5bf349737b345827598d598b98188c49ecc901cb935f9fcb0')
+
+prepare() {
+  cd gitaly-$_tag
+
+  patch -p1 < ../ruby27.patch
+
+  patch -p1 < ../configs.patch
+  # At this point the config file should not contain any references to 
'/home/git'
+
+  # https://github.com/bundler/bundler/issues/6882
+  sed -e '/BUNDLED WITH/,+1d' -i ruby/Gemfile.lock
+}
+
+build() {
+  cd gitaly-$_tag
+
+  pushd ruby
+  bundle-2.7 config force_ruby_platform true # build from sources as some 
prebuilt gems are not available for newer ruby
+  bundle-2.7 install --path vendor/bundle
+  popd
+
+  make V=1 BUILD_TAGS="tracer_static tracer_static_jaeger"
+}
+
+package() {
+  cd gitaly-$_tag
+
+  make PREFIX=/usr DESTDIR="${pkgdir}" install
+  mkdir -p "${pkgdir}"/etc/gitlab-gitaly
+  mkdir -p "${pkgdir}"/usr/share/webapps/gitlab-gitaly
+  cp -r ruby "${pkgdir}"/usr/share/webapps/gitlab-gitaly/ruby
+
+  install -Dm644 config.toml.example "${pkgdir}"/etc/${pkgname}/config.toml
+  install -Dm644 "LICENSE" "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
+  install -Dm644 "${srcdir}"/gitlab-gitaly.service 
"${pkgdir}"/usr/lib/systemd/system/gitlab-gitaly.service
+}

Copied: gitlab-gitaly/repos/community-testing-x86_64/configs.patch (from rev 
1427421, gitlab-gitaly/trunk/configs.patch)
===================================================================
--- community-testing-x86_64/configs.patch                              (rev 0)
+++ community-testing-x86_64/configs.patch      2023-03-23 23:39:15 UTC (rev 
1427423)
@@ -0,0 +1,99 @@
+commit dd7533a33c4e7eb93abdc5d50e3c03e29f54021e
+Author: Anatol Pomozov <[email protected]>
+Date:   Tue Jun 21 09:35:40 2022 -0700
+
+    Patch config files with Arch Linux specific locations
+    
+    Arch uses upstream's default config files as a base for its configs.
+    But directory structure at Arch is completely different from the default
+    one specified by gitlab project.
+    We used to have a lot of seds expressions to adjust the files but as
+    complexity of configs grew 'sed' makes it easy to miss a changed/added
+    option.
+    
+    Track set of diffs as a patch. If upstream modifies config file then it
+    will cause a conflict that needs to be reviewed manually.
+
+diff --git a/config.toml.example b/config.toml.example
+index 9a4753e1e..682083d8e 100644
+--- a/config.toml.example
++++ b/config.toml.example
+@@ -2,10 +2,10 @@
+ # Documentation lives at https://docs.gitlab.com/ee/administration/gitaly/ and
+ # https://docs.gitlab.com/ee//administration/gitaly/reference
+ 
+-socket_path = "/home/git/gitlab/tmp/sockets/private/gitaly.socket"
++socket_path = "/run/gitlab/gitlab-gitaly.socket"
+ 
+ # The directory where Gitaly's executables are stored
+-bin_dir = "/home/git/gitaly/_build/bin"
++bin_dir = "/usr/bin"
+ 
+ # # Optional: The directory where Gitaly can create all files required to
+ # # properly operate at runtime. If not set, Gitaly will create a directory in
+@@ -22,7 +22,7 @@ bin_dir = "/home/git/gitaly/_build/bin"
+ # # Optional: configure where the Gitaly creates the sockets for internal 
connections. If unset, Gitaly will create a randomly
+ # # named temp directory each time it boots.
+ # # Non Gitaly clients should never connect to these sockets.
+-# internal_socket_dir = "/home/git/gitlab/tmp/sockets/private/internal"
++# internal_socket_dir = "/run/gitlab/private"
+ 
+ # # Optional: authenticate Gitaly requests using a shared secret
+ # [auth]
+@@ -30,8 +30,8 @@ bin_dir = "/home/git/gitaly/_build/bin"
+ # transitioning = false # Set `transitioning` to true to temporarily allow 
unauthenticated while rolling out authentication.
+ 
+ # [tls]
+-# certificate_path = '/home/git/cert.cert'
+-# key_path = '/home/git/key.pem'
++# certificate_path = '/var/lib/gitlab/cert.cert'
++# key_path = '/var/lib/gitlab/key.pem'
+ 
+ # # Git settings
+ # [git]
+@@ -51,7 +51,7 @@ bin_dir = "/home/git/gitaly/_build/bin"
+ 
+ [[storage]]
+ name = "default"
+-path = "/home/git/repositories"
++path = "/var/lib/gitlab/repositories"
+ 
+ # # You can optionally configure more storages for this Gitaly instance to 
serve up
+ #
+@@ -63,7 +63,7 @@ path = "/home/git/repositories"
+ # # You can optionally configure Gitaly to output JSON-formatted log messages 
to stdout
+ # [logging]
+ # # The directory where Gitaly stores extra log files
+-dir = "/home/git/gitlab/log"
++dir = "/var/log/gitlab"
+ # format = "json"
+ # # Optional: Set log level to only log entries with that severity or above
+ # # One of, in order: debug, info, warn, errror, fatal, panic
+@@ -81,7 +81,7 @@ dir = "/home/git/gitlab/log"
+ 
+ [gitaly-ruby]
+ # The directory where gitaly-ruby is installed
+-dir = "/home/git/gitaly/ruby"
++dir = "/usr/share/webapps/gitlab-gitaly/ruby"
+ 
+ # # Gitaly-ruby resident set size (RSS) that triggers a memory restart (bytes)
+ # max_rss = 200000000
+@@ -101,14 +101,14 @@ dir = "/home/git/gitaly/ruby"
+ 
+ [gitlab-shell]
+ # The directory where gitlab-shell is installed
+-dir = "/home/git/gitlab-shell"
++dir = "/usr/share/webapps/gitlab-shell"
+ 
+ [hooks]
+-custom_hooks_dir = "/home/git/custom_hooks"
++custom_hooks_dir = "/var/lib/gitlab/custom_hooks"
+ 
+ [gitlab]
+-secret_file = "/home/git/gitlab-shell/.gitlab_shell_secret"
+-url = 
"http+unix://%2Fhome%2Fgit%2Fgitlab%2Ftmp%2Fsockets%2Fgitlab-workhorse.socket"
++secret_file = "/etc/webapps/gitlab-shell/secret"
++url = "http+unix://%2Frun%2Fgitlab%2Fgitlab.socket"
+ # Only needed if a UNIX socket is used in `url` and GitLab is configured to
+ # use a relative path (e.g. /gitlab).
+ # relative_url_root = '/'

Copied: gitlab-gitaly/repos/community-testing-x86_64/gitlab-gitaly.service 
(from rev 1427421, gitlab-gitaly/trunk/gitlab-gitaly.service)
===================================================================
--- community-testing-x86_64/gitlab-gitaly.service                              
(rev 0)
+++ community-testing-x86_64/gitlab-gitaly.service      2023-03-23 23:39:15 UTC 
(rev 1427423)
@@ -0,0 +1,14 @@
+[Unit]
+Description=Gitaly is a Git RPC service for handling all the git calls made by 
GitLab.
+
+[Service]
+Type=simple
+User=gitlab
+Group=gitlab
+WorkingDirectory=/usr/share/webapps/gitlab
+SyslogIdentifier=gitlab-gitaly
+PIDFile=/run/gitlab/gitaly.pid
+ExecStart=/usr/bin/gitaly /etc/gitlab-gitaly/config.toml
+
+[Install]
+WantedBy=multi-user.target

Copied: gitlab-gitaly/repos/community-testing-x86_64/ruby27.patch (from rev 
1427422, gitlab-gitaly/trunk/ruby27.patch)
===================================================================
--- community-testing-x86_64/ruby27.patch                               (rev 0)
+++ community-testing-x86_64/ruby27.patch       2023-03-23 23:39:15 UTC (rev 
1427423)
@@ -0,0 +1,83 @@
+commit 4f8b635c102f6c66b2aa0a87659f08ac4ee7f756
+Author: Anatol Pomozov <[email protected]>
+Date:   Tue Jun 21 09:37:26 2022 -0700
+
+    Pin sources to ruby2.7 package
+
+diff --git a/Makefile b/Makefile
+index 18440fb3f..a871ae254 100644
+--- a/Makefile
++++ b/Makefile
+@@ -405,7 +405,7 @@ race-go: test-go
+ .PHONY: rspec
+ ## Run Ruby tests.
+ rspec: build prepare-tests
+-      ${Q}cd ${GITALY_RUBY_DIR} && 
PATH='${SOURCE_DIR}/internal/testhelper/testdata/home/bin:${PATH}' bundle exec 
rspec
++      ${Q}cd ${GITALY_RUBY_DIR} && 
PATH='${SOURCE_DIR}/internal/testhelper/testdata/home/bin:${PATH}' bundle-2.7 
exec rspec
+ 
+ .PHONY: verify
+ ## Verify that various files conform to our expectations.
+@@ -463,7 +463,7 @@ clean-ruby-vendor-go:
+ .PHONY: rubocop
+ ## Run Rubocop.
+ rubocop: ${RUBY_BUNDLE_FILE}
+-      ${Q}cd ${GITALY_RUBY_DIR} && bundle exec rubocop --parallel --config 
${GITALY_RUBY_DIR}/.rubocop.yml ${GITALY_RUBY_DIR} 
${SOURCE_DIR}/_support/test-boot
++      ${Q}cd ${GITALY_RUBY_DIR} && bundle-2.7 exec rubocop --parallel 
--config ${GITALY_RUBY_DIR}/.rubocop.yml ${GITALY_RUBY_DIR} 
${SOURCE_DIR}/_support/test-boot
+ 
+ .PHONY: cover
+ ## Generate coverage report via Go tests.
+@@ -545,7 +545,7 @@ libgit2: ${LIBGIT2_INSTALL_DIR}/lib/libgit2.a
+ # step. Both Omnibus and CNG assume it is in the Gitaly root, not in
+ # _build. Hence the '../' in front.
+ ${RUBY_BUNDLE_FILE}: ${GITALY_RUBY_DIR}/Gemfile.lock 
${GITALY_RUBY_DIR}/Gemfile
+-      ${Q}cd ${GITALY_RUBY_DIR} && bundle install
++      ${Q}cd ${GITALY_RUBY_DIR} && bundle-2.7 install
+       ${Q}touch $@
+ 
+ ${SOURCE_DIR}/NOTICE: ${BUILD_DIR}/NOTICE
+diff --git a/internal/gitaly/rubyserver/rubyserver.go 
b/internal/gitaly/rubyserver/rubyserver.go
+index 7e661954a..4650546ff 100644
+--- a/internal/gitaly/rubyserver/rubyserver.go
++++ b/internal/gitaly/rubyserver/rubyserver.go
+@@ -191,7 +191,7 @@ func (s *Server) start() error {
+               // Use 'ruby-cd' to make sure gitaly-ruby has the same working 
directory
+               // as the current process. This is a hack to sort-of support 
relative
+               // Unix socket paths.
+-              args := []string{"bundle", "exec", "bin/ruby-cd", wd, 
gitalyRuby, strconv.Itoa(os.Getpid()), socketPath}
++              args := []string{"bundle-2.7", "exec", "bin/ruby-cd", wd, 
gitalyRuby, strconv.Itoa(os.Getpid()), socketPath}
+ 
+               events := make(chan supervisor.Event)
+               check := func() error { return ping(socketPath) }
+diff --git a/ruby/bin/gitaly-ruby b/ruby/bin/gitaly-ruby
+index 11cfa231b..d7493f723 100755
+--- a/ruby/bin/gitaly-ruby
++++ b/ruby/bin/gitaly-ruby
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env ruby
++#!/usr/bin/env ruby-2.7
+ 
+ # Gitaly always spawns this executable with LANG=en_US.UTF-8. In case the
+ # system doesn't have this local, Ruby will fall back to the C locale and as a
+diff --git a/ruby/bin/ruby-cd b/ruby/bin/ruby-cd
+index 9c60fcd42..15f0cb05a 100755
+--- a/ruby/bin/ruby-cd
++++ b/ruby/bin/ruby-cd
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env ruby
++#!/usr/bin/env ruby-2.7
+ 
+ # This script lets you run `bundle exec` in one directory, and then changes 
into another.
+ 
+diff --git a/tools/protogem/build-proto-gem b/tools/protogem/build-proto-gem
+index ee5fc94df..6b36fafc5 100755
+--- a/tools/protogem/build-proto-gem
++++ b/tools/protogem/build-proto-gem
+@@ -41,7 +41,7 @@ def generate_sources(output_dir, version)
+   proto_files = Dir[File.join(proto_dir, '*.proto')].sort
+ 
+   run!(
+-    %W[bundle exec grpc_tools_ruby_protoc -I #{proto_dir} 
--ruby_out=#{proto_output_dir} --grpc_out=#{proto_output_dir}] + proto_files,
++    %W[bundle-2.7 exec grpc_tools_ruby_protoc -I #{proto_dir} 
--ruby_out=#{proto_output_dir} --grpc_out=#{proto_output_dir}] + proto_files,
+     File.join(SOURCE_DIR, 'tools', 'protogem')
+   )
+ 

Reply via email to