obs_deploy 0.2.5 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Dockerfile.dev +8 -0
- data/{Dockerfile → Dockerfile.rpm} +0 -0
- data/Makefile +9 -0
- data/README.md +13 -1
- data/dist/_service +9 -1
- data/dist/rubygem-obs_deploy.spec +91 -41
- data/lib/obs_deploy.rb +1 -0
- data/lib/obs_deploy/apache_sysconfig.rb +10 -1
- data/lib/obs_deploy/cli/commands/get_diff.rb +8 -0
- data/lib/obs_deploy/version.rb +1 -1
- data/lib/obs_deploy/zypper.rb +19 -4
- metadata +10 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7ebc8a1643cc4ad84ad5d480e44e6c98c8bbb008aaee87cd450f59ff85219083
|
4
|
+
data.tar.gz: 219d68cf9a244dd94f011bfe8126b7c667c2477059dd5d5132da81b99a25018f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 50e93f6d5392498366eb0da55273ac5fab0cb594b836a526147e081f85ba8e7e8dcda66246755c14905dbe4daa6108a8a3fc4c930f3b0ac119c9e02fb903248e
|
7
|
+
data.tar.gz: b93b82add9aea39fcb322f005bf9a739a9b1ab4f2dca241c405ea151855146a2c5217f1f324fbc324723ea1d70cf6da8e0d4e0faeb45cc27ce0d6582587521cb
|
data/Dockerfile.dev
ADDED
File without changes
|
data/Makefile
ADDED
@@ -0,0 +1,9 @@
|
|
1
|
+
docker-dev:
|
2
|
+
docker build -f Dockerfile.dev -t $(USER)/obs_deploy_dev .
|
3
|
+
docker run --rm -it -v "$(HOME)/.ssh:/tmp/.ssh:ro" -v "$(PWD):/obs_deploy" $(USER)/obs_deploy_dev bash
|
4
|
+
|
5
|
+
docker-rpm:
|
6
|
+
docker build -f Dockerfile.rpm -t $(USER)/obs_deploy_dev .
|
7
|
+
docker run --rm -it -v "$(HOME)/.ssh:/tmp/.ssh:ro" -v "$(PWD):/obs_deploy" $(USER)/obs_deploy_dev bash
|
8
|
+
|
9
|
+
|
data/README.md
CHANGED
@@ -5,6 +5,9 @@ Simple tool to deploy OBS via zypper to our reference server
|
|
5
5
|
## Build Status
|
6
6
|
[](https://app.circleci.com/pipelines/github/vpereira/obs_deploy)
|
7
7
|
|
8
|
+
## Codebeat
|
9
|
+
[](https://codebeat.co/projects/github-com-vpereira-obs_deploy-master)
|
10
|
+
|
8
11
|
|
9
12
|
## Installation
|
10
13
|
|
@@ -84,7 +87,7 @@ if you want to run it against the OBS appliance running on VirtualBox:
|
|
84
87
|
- then run the container as:
|
85
88
|
|
86
89
|
```
|
87
|
-
docker
|
90
|
+
make docker-dev
|
88
91
|
```
|
89
92
|
Now you are inside the container and should be able to ping the obs appliance.
|
90
93
|
|
@@ -101,6 +104,15 @@ If you want to add new command to the cli, please read the `dry-cli` documentati
|
|
101
104
|
|
102
105
|
The commands are being sent via ssh and ssh is being called via `cheetah` https://github.com/openSUSE/cheetah. Please Read the `ssh.rb` file, specially the `SSH#run` method
|
103
106
|
|
107
|
+
## RPM Building
|
108
|
+
|
109
|
+
Under dist/ we have the necessary files to use to build the gem as rpm. The
|
110
|
+
`_service` still not used. Mainly because we need either to build the rubygem
|
111
|
+
dependencies or use https://github.com/openSUSE/obs-service-bundle_gems
|
112
|
+
|
113
|
+
Today as it is, you have to push the gem to rubygems and then generate the spec
|
114
|
+
and push it to build service
|
115
|
+
|
104
116
|
## Contributing
|
105
117
|
|
106
118
|
Bug reports and pull requests are welcome on GitHub at https://github.com/vpereira/obs_deploy.
|
data/dist/_service
CHANGED
@@ -1,4 +1,12 @@
|
|
1
1
|
<services>
|
2
|
-
<service name="
|
2
|
+
<service name="tar_scm">
|
3
|
+
<param name="scm">git</param>
|
4
|
+
<param name="url">git://github.com/vpereira/obs_deploy.git</param>
|
5
|
+
<param name="revision">master</param>
|
6
|
+
<param name="version">0.2.0</param>
|
3
7
|
</service>
|
8
|
+
<service name="recompress">
|
9
|
+
<param name="file">*.tar</param>
|
10
|
+
<param name="compression">xz</param>
|
11
|
+
</service>
|
4
12
|
</services>
|
@@ -1,54 +1,104 @@
|
|
1
|
-
#
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
#
|
6
|
-
# All modifications and additions to the file contributed by third parties
|
7
|
-
# remain the property of their copyright owners, unless otherwise agreed
|
8
|
-
# upon. The license for this file, and modifications and additions to the
|
9
|
-
# file, is the same license as for the pristine package itself (unless the
|
10
|
-
# license for the pristine package is not an Open Source License, in which
|
11
|
-
# case the license is the MIT License). An "Open Source License" is a
|
12
|
-
# license that conforms to the Open Source Definition (Version 1.9)
|
13
|
-
# published by the Open Source Initiative.
|
14
|
-
|
15
|
-
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
16
|
-
#
|
17
|
-
|
18
|
-
|
19
|
-
%define mod_name obs_deploy
|
20
|
-
%define mod_full_name %{mod_name}-%{version}
|
21
|
-
%define rb_suffix ruby2.6
|
22
|
-
Name: rubygem-obs_deploy
|
23
|
-
Version: 0.2.0
|
24
|
-
Release: 0
|
25
|
-
Summary: OBS Deployment tool
|
26
|
-
License: MIT
|
27
|
-
Group: Development/Languages/Ruby
|
28
|
-
URL: https://openbuildservice.org
|
29
|
-
Source: https://rubygems.org/gems/%{mod_full_name}.gem
|
30
|
-
BuildRequires: %{rubygem gem2rpm}
|
31
|
-
BuildRequires: %{ruby}
|
32
|
-
BuildRequires: ruby-macros >= 5
|
33
|
-
BuildRequires: ruby-common-rails
|
34
|
-
# FIXME: use proper Requires(pre/post/preun/...)
|
35
|
-
PreReq: update-alternatives
|
1
|
+
# Generated from obs_deploy-0.2.5.gem by gem2rpm -*- rpm-spec -*-
|
2
|
+
%define rbname obs_deploy
|
3
|
+
%define version 0.2.5
|
4
|
+
%define release 1
|
36
5
|
|
6
|
+
Summary: OBS Deployment tool
|
7
|
+
Name: ruby-gems-%{rbname}
|
8
|
+
|
9
|
+
Version: %{version}
|
10
|
+
Release: %{release}
|
11
|
+
Group: Development/Ruby
|
12
|
+
License: Distributable
|
13
|
+
URL: https://openbuildservice.org
|
14
|
+
Source0: %{rbname}-%{version}.gem
|
15
|
+
# Make sure the spec template is included in the SRPM
|
16
|
+
Source1: ruby-gems-%{rbname}.spec.in
|
17
|
+
BuildRoot: %{_tmppath}/%{name}-%{version}-root
|
18
|
+
Requires: ruby [""]
|
19
|
+
Requires: ruby-gems >= 3.0.6
|
20
|
+
Requires: ruby-gems-bundler >= 2.0
|
21
|
+
Requires: ruby-gems-bundler < 3
|
22
|
+
Requires: ruby-gems-pry
|
23
|
+
Requires: ruby-gems-rake >= 13.0
|
24
|
+
Requires: ruby-gems-rake < 14
|
25
|
+
Requires: ruby-gems-rspec >= 3.0
|
26
|
+
Requires: ruby-gems-rspec < 4
|
27
|
+
Requires: ruby-gems-rubocop
|
28
|
+
Requires: ruby-gems-webmock
|
29
|
+
Requires: ruby-gems-cheetah
|
30
|
+
Requires: ruby-gems-dry-cli
|
31
|
+
Requires: ruby-gems-nokogiri
|
32
|
+
BuildRequires: ruby [""]
|
33
|
+
BuildRequires: ruby-gems >= 3.0.6
|
34
|
+
BuildArch: noarch
|
35
|
+
Provides: ruby(Obs_deploy) = %{version}
|
36
|
+
|
37
|
+
%define gemdir /home/vpereira/.rvm/gems/ruby-2.5.0
|
38
|
+
%define gembuilddir %{buildroot}%{gemdir}
|
37
39
|
|
38
40
|
%description
|
39
41
|
OBS Deployment tool.
|
40
42
|
|
43
|
+
|
41
44
|
%prep
|
45
|
+
%setup -T -c
|
42
46
|
|
43
47
|
%build
|
44
48
|
|
45
49
|
%install
|
46
|
-
%
|
47
|
-
%
|
48
|
-
|
49
|
-
|
50
|
-
|
50
|
+
%{__rm} -rf %{buildroot}
|
51
|
+
mkdir -p %{gembuilddir}
|
52
|
+
gem install --local --install-dir %{gembuilddir} --force %{SOURCE0}
|
53
|
+
mkdir -p %{buildroot}/%{_bindir}
|
54
|
+
mv %{gembuilddir}/bin/* %{buildroot}/%{_bindir}
|
55
|
+
rmdir %{gembuilddir}/bin
|
56
|
+
|
57
|
+
%clean
|
58
|
+
%{__rm} -rf %{buildroot}
|
59
|
+
|
60
|
+
%files
|
61
|
+
%defattr(-, root, root)
|
62
|
+
%{_bindir}/console
|
63
|
+
%{_bindir}/obs_deploy
|
64
|
+
%{_bindir}/setup
|
65
|
+
%{gemdir}/gems/obs_deploy-0.2.5/
|
66
|
+
%{gemdir}/gems/obs_deploy-0.2.5/
|
67
|
+
%{gemdir}/gems/obs_deploy-0.2.5/
|
68
|
+
%{gemdir}/gems/obs_deploy-0.2.5/
|
69
|
+
%{gemdir}/gems/obs_deploy-0.2.5/
|
70
|
+
%{gemdir}/gems/obs_deploy-0.2.5/
|
71
|
+
%{gemdir}/gems/obs_deploy-0.2.5/
|
72
|
+
%{gemdir}/gems/obs_deploy-0.2.5/
|
73
|
+
%{gemdir}/gems/obs_deploy-0.2.5/
|
74
|
+
%{gemdir}/gems/obs_deploy-0.2.5/
|
75
|
+
%{gemdir}/gems/obs_deploy-0.2.5/
|
76
|
+
%{gemdir}/gems/obs_deploy-0.2.5/
|
77
|
+
%{gemdir}/gems/obs_deploy-0.2.5/
|
78
|
+
%{gemdir}/gems/obs_deploy-0.2.5/
|
79
|
+
%{gemdir}/gems/obs_deploy-0.2.5/
|
80
|
+
%{gemdir}/gems/obs_deploy-0.2.5/
|
81
|
+
%{gemdir}/gems/obs_deploy-0.2.5/
|
82
|
+
%{gemdir}/gems/obs_deploy-0.2.5/
|
83
|
+
%{gemdir}/gems/obs_deploy-0.2.5/
|
84
|
+
%{gemdir}/gems/obs_deploy-0.2.5/
|
85
|
+
%{gemdir}/gems/obs_deploy-0.2.5/
|
86
|
+
%{gemdir}/gems/obs_deploy-0.2.5/
|
87
|
+
%{gemdir}/gems/obs_deploy-0.2.5/
|
88
|
+
%{gemdir}/gems/obs_deploy-0.2.5/
|
89
|
+
%{gemdir}/gems/obs_deploy-0.2.5/
|
90
|
+
%{gemdir}/gems/obs_deploy-0.2.5/
|
91
|
+
%{gemdir}/gems/obs_deploy-0.2.5/
|
92
|
+
%{gemdir}/gems/obs_deploy-0.2.5/
|
93
|
+
%{gemdir}/gems/obs_deploy-0.2.5/
|
94
|
+
%{gemdir}/gems/obs_deploy-0.2.5/
|
95
|
+
%{gemdir}/gems/obs_deploy-0.2.5/
|
96
|
+
%{gemdir}/gems/obs_deploy-0.2.5/
|
97
|
+
%{gemdir}/gems/obs_deploy-0.2.5/
|
98
|
+
|
51
99
|
|
52
|
-
%
|
100
|
+
%doc %{gemdir}/doc/obs_deploy-0.2.5
|
101
|
+
%{gemdir}/cache/obs_deploy-0.2.5.gem
|
102
|
+
%{gemdir}/specifications/obs_deploy-0.2.5.gemspec
|
53
103
|
|
54
104
|
%changelog
|
data/lib/obs_deploy.rb
CHANGED
@@ -51,7 +51,16 @@ module ObsDeploy
|
|
51
51
|
end
|
52
52
|
|
53
53
|
def write_apache_sysconfig(content)
|
54
|
-
|
54
|
+
f = Tempfile.new
|
55
|
+
f.write(content)
|
56
|
+
begin
|
57
|
+
File.rename(f.path, path)
|
58
|
+
rescue SystemCallError => e
|
59
|
+
puts e.inspect
|
60
|
+
ensure
|
61
|
+
f.unlink
|
62
|
+
f.close
|
63
|
+
end
|
55
64
|
end
|
56
65
|
end
|
57
66
|
end
|
data/lib/obs_deploy/version.rb
CHANGED
data/lib/obs_deploy/zypper.rb
CHANGED
@@ -10,11 +10,26 @@ module ObsDeploy
|
|
10
10
|
end
|
11
11
|
|
12
12
|
def update
|
13
|
-
run [
|
13
|
+
run %w[zypper] + update_string + package_name
|
14
14
|
end
|
15
15
|
|
16
16
|
def refresh
|
17
|
-
run [
|
17
|
+
run %w[zypper --non-interactive --gpg-auto-import-keys refresh]
|
18
|
+
end
|
19
|
+
|
20
|
+
# TODO
|
21
|
+
# check if we want to lock from specific repositories
|
22
|
+
def add_lock
|
23
|
+
run %w[zypper addlock] + package_name
|
24
|
+
end
|
25
|
+
|
26
|
+
def remove_lock
|
27
|
+
run %w[zypper removelock] + package_name
|
28
|
+
end
|
29
|
+
|
30
|
+
def locked?
|
31
|
+
# check the return value
|
32
|
+
run %w[zypper locks] + package_name
|
18
33
|
end
|
19
34
|
|
20
35
|
private
|
@@ -36,11 +51,11 @@ module ObsDeploy
|
|
36
51
|
end
|
37
52
|
|
38
53
|
def update_params
|
39
|
-
[
|
54
|
+
%w[--non-interactive update --best-effort --details]
|
40
55
|
end
|
41
56
|
|
42
57
|
def dry_run_params
|
43
|
-
[
|
58
|
+
%w[--dry-run --download-only]
|
44
59
|
end
|
45
60
|
end
|
46
61
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: obs_deploy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Victor Pereira
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-12-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -136,7 +136,7 @@ dependencies:
|
|
136
136
|
- - ">="
|
137
137
|
- !ruby/object:Gem::Version
|
138
138
|
version: '0'
|
139
|
-
description:
|
139
|
+
description:
|
140
140
|
email:
|
141
141
|
- vpereira@suse.de
|
142
142
|
executables:
|
@@ -151,9 +151,11 @@ files:
|
|
151
151
|
- ".rspec"
|
152
152
|
- ".rubocop.yml"
|
153
153
|
- ".travis.yml"
|
154
|
-
- Dockerfile
|
154
|
+
- Dockerfile.dev
|
155
|
+
- Dockerfile.rpm
|
155
156
|
- Gemfile
|
156
157
|
- Gemfile.lock
|
158
|
+
- Makefile
|
157
159
|
- README.md
|
158
160
|
- Rakefile
|
159
161
|
- bin/console
|
@@ -169,6 +171,7 @@ files:
|
|
169
171
|
- lib/obs_deploy/cli/commands.rb
|
170
172
|
- lib/obs_deploy/cli/commands/deploy.rb
|
171
173
|
- lib/obs_deploy/cli/commands/get_deployed_version.rb
|
174
|
+
- lib/obs_deploy/cli/commands/get_diff.rb
|
172
175
|
- lib/obs_deploy/cli/commands/get_package_version.rb
|
173
176
|
- lib/obs_deploy/cli/commands/get_pending_migration.rb
|
174
177
|
- lib/obs_deploy/cli/commands/refresh_repositories.rb
|
@@ -185,7 +188,7 @@ metadata:
|
|
185
188
|
allowed_push_host: https://rubygems.org
|
186
189
|
homepage_uri: https://openbuildservice.org
|
187
190
|
source_code_uri: https://github.com/vpereira/obs_deploy.git
|
188
|
-
post_install_message:
|
191
|
+
post_install_message:
|
189
192
|
rdoc_options: []
|
190
193
|
require_paths:
|
191
194
|
- lib
|
@@ -201,7 +204,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
201
204
|
version: '0'
|
202
205
|
requirements: []
|
203
206
|
rubygems_version: 3.0.6
|
204
|
-
signing_key:
|
207
|
+
signing_key:
|
205
208
|
specification_version: 4
|
206
209
|
summary: OBS Deployment tool
|
207
210
|
test_files: []
|