redmine_with_git 0.7.8 → 0.7.9

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e1dc013b770447a315019fc043054ab3eadc2f1ea69604400d535406ff7afde1
4
- data.tar.gz: a916cf9a989cd007f93ac48e5f5bbdbd184b6915f4325790fd0d56299e13862c
3
+ metadata.gz: 2f9a04b22d5fd7ac0889c9334049403f512292871b3ca73829e414401a8f688f
4
+ data.tar.gz: 54eaa0769689fce4254692356fc4f16f6ca7d32e9085f8f87c760fd75e759a2b
5
5
  SHA512:
6
- metadata.gz: 9c4935dfba94daed5fce53629080508e8e03b8715d215812d4a7199f0e1dd00ea8776abd9eb45f9533af0bf994950354a98f3e2dffbad981c971320856f1a43f
7
- data.tar.gz: 46fcdea0f709fe6607f4a0047689ac60ac88f2412238747af744bcc1147530b9040b95743d6ad79ffd01889f09e9ae58a923afd33aaa9155a49c4320af178c0c
6
+ metadata.gz: 463c0616cc2c09597d21fac0714915dc65669e629d261cb19881e06dc049026a24a5221f7186a1618c3c49cd97eb41fd9bbc76388392e2e2c023f27cc479ec48
7
+ data.tar.gz: 364e0fe410f29ef9cc25c543681e9f860a36ec10114b00a1f8b7aac8df695c5da6558c64e7d2a5e1bf2e09dc964d1d245b56631e1a03951882eaf708d4252d39
@@ -1,5 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require 'redmine_with_git/patches/redmine_git_hosting/gitolite_hook_patch'
4
+
3
5
  apply_patches_version_limit = ::Gem::Version.new('4.0.0')
4
6
  redmine_git_hosting_version = ::Gem::Version.new(
5
7
  ::Redmine::Plugin.registered_plugins[:redmine_git_hosting].version
@@ -8,5 +8,5 @@ function task_condition {
8
8
  }
9
9
 
10
10
  function task_dependencies {
11
- echo gitolite_setup redmine_gitolite_sudoer redmine_git_hosting_settings apt_ruby
11
+ echo gitolite_setup redmine_gitolite_sudoer redmine_git_hosting_settings
12
12
  }
@@ -13,6 +13,6 @@ export -f task_condition
13
13
 
14
14
  function task_fix {
15
15
  # https://github.com/libgit2/pygit2/issues/1013#issuecomment-679200156
16
- sudo -u "$redmine_user" -H ssh-keygen -m PEM -t rsa -b 2048 -t rsa -f "$ssh_key" -N ''
16
+ sudo -u "$redmine_user" -H ssh-keygen -m PEM -t ed25519 -b 2048 -f "$ssh_key" -N ''
17
17
  }
18
18
  export -f task_fix
@@ -0,0 +1,94 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+ require 'eac_ruby_utils/patch'
5
+ require 'redmine_git_hosting/gitolite_hook'
6
+ require 'rbconfig'
7
+
8
+ module RedmineWithGit
9
+ module Patches
10
+ module RedmineGitHosting
11
+ module GitoliteHookPatch
12
+ def self.included(base)
13
+ base.prepend(InstanceMethods)
14
+ end
15
+
16
+ module InstanceMethods
17
+ SHEBANG_PATTERNS = [:ruby].map { |k| [k, /^\#!.+\s+#{::Regexp.quote(k)}\s*$/] }
18
+ .to_h
19
+
20
+ def hook_file_has_changed?
21
+ on_content_replaced { super }
22
+ end
23
+
24
+ def install_hook_file
25
+ on_content_replaced { super }
26
+ end
27
+
28
+ def on_content_replaced
29
+ return yield unless replace_shebang?
30
+
31
+ ::EacRubyUtils::Fs::Temp.on_file do |temp_path|
32
+ temp_path.write(source_content_with_shebang_replaced)
33
+ @temp_source_path = temp_path.to_path
34
+ yield
35
+ ensure
36
+ @temp_source_path = nil
37
+ end
38
+ end
39
+
40
+ # @return [Boolean]
41
+ def replace_shebang?
42
+ shebang_replacement.present?
43
+ end
44
+
45
+ # @return [String]
46
+ def ruby_shebang
47
+ bin = ::RbConfig::CONFIG['RUBY_INSTALL_NAME'] || ::RbConfig::CONFIG['ruby_install_name']
48
+ bin += (::RbConfig::CONFIG['EXEEXT'] || ::RbConfig::CONFIG['exeext'] || '')
49
+ ::File.join(::RbConfig::CONFIG['bindir'], bin)
50
+ end
51
+
52
+ # @return [Regexp]
53
+ def shebang_from
54
+ SHEBANG_PATTERNS.fetch(shebang_replacement)
55
+ end
56
+
57
+ # @return [Symbol, nil]
58
+ def shebang_replacement
59
+ SHEBANG_PATTERNS.each do |k, v|
60
+ return k if v.match?(source_shebang)
61
+ end
62
+
63
+ nil
64
+ end
65
+
66
+ # @return [String]
67
+ def shebang_to
68
+ "\#\!#{send("#{shebang_replacement}_shebang")}\n"
69
+ end
70
+
71
+ # @return [String]
72
+ def source_path
73
+ @temp_source_path || super
74
+ end
75
+
76
+ # @return [String]
77
+ def source_shebang
78
+ ::File.open(source_path, &:readline).strip
79
+ end
80
+
81
+ # @return [String]
82
+ def source_content_with_shebang_replaced
83
+ ::File.read(source_path).gsub(shebang_from, shebang_to)
84
+ end
85
+ end
86
+ end
87
+ end
88
+ end
89
+ end
90
+
91
+ ::EacRubyUtils.patch(
92
+ ::RedmineGitHosting::GitoliteHook,
93
+ ::RedmineWithGit::Patches::RedmineGitHosting::GitoliteHookPatch
94
+ )
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RedmineWithGit
4
- VERSION = '0.7.8'
4
+ VERSION = '0.7.9'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: redmine_with_git
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.8
4
+ version: 0.7.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Esquilo Azul Company
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-05-26 00:00:00.000000000 Z
11
+ date: 2023-07-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: avm
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0.7'
19
+ version: '0.78'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '0.7'
26
+ version: '0.78'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: eac_rails_utils
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -44,14 +44,28 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '0.35'
47
+ version: '0.119'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '0.35'
54
+ version: '0.119'
55
+ - !ruby/object:Gem::Dependency
56
+ name: eac_ruby_gem_support
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: 0.5.1
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: 0.5.1
55
69
  description:
56
70
  email:
57
71
  executables: []
@@ -80,7 +94,6 @@ files:
80
94
  - installer/programs/triggers/redmine_git_hosting_rescue.sh
81
95
  - installer/setup.sh
82
96
  - installer/tasks/_before_run.sh
83
- - installer/tasks/apt_ruby.sh
84
97
  - installer/tasks/gitolite.sh
85
98
  - installer/tasks/gitolite_rc.sh
86
99
  - installer/tasks/gitolite_setup.sh
@@ -116,6 +129,7 @@ files:
116
129
  - lib/redmine_with_git/load/git.rb
117
130
  - lib/redmine_with_git/patches/redmine_git_hosting/cache/database_patch.rb
118
131
  - lib/redmine_with_git/patches/redmine_git_hosting/commands/git/git_patch.rb
132
+ - lib/redmine_with_git/patches/redmine_git_hosting/gitolite_hook_patch.rb
119
133
  - lib/redmine_with_git/version.rb
120
134
  - lib/tasks/redmine_with_git.rake
121
135
  homepage:
@@ -1,14 +0,0 @@
1
- #!/bin/bash
2
-
3
- set -u
4
- set -e
5
-
6
- export RUBY_PACKAGE="ruby"
7
-
8
- function task_condition {
9
- package_installed apt "$RUBY_PACKAGE"
10
- }
11
-
12
- function task_fix {
13
- package_assert apt "$RUBY_PACKAGE"
14
- }