machinery-tool 1.18.0 → 1.19.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.git_revision +1 -1
- data/NEWS +17 -0
- data/bin/machinery +10 -2
- data/html/comparison.html.haml +1 -1
- data/html/index.html.haml +2 -2
- data/html/partials/{config_files.html.haml → changed_config_files.html.haml} +10 -10
- data/html/partials/compare/changed_config_files.html.haml +48 -0
- data/html/partials/compare/{config_file_list.html.haml → changed_config_files_list.html.haml} +0 -0
- data/html/partials/compare/unmanaged_file_list.html.haml +1 -1
- data/html/partials/compare/unmanaged_files.html.haml +2 -2
- data/html/partials/patterns.html.haml +5 -0
- data/html/upgrade.html.haml +49 -0
- data/lib/{analyze_config_file_diffs_task.rb → analyze_changed_config_files_diffs_task.rb} +8 -8
- data/lib/autoyast.rb +12 -13
- data/lib/build_task.rb +2 -2
- data/lib/cli.rb +39 -32
- data/lib/compare_task.rb +1 -1
- data/lib/config_base.rb +1 -1
- data/lib/deploy_task.rb +4 -4
- data/lib/docker_system.rb +1 -1
- data/lib/element_filter.rb +3 -3
- data/lib/export_task.rb +3 -3
- data/lib/file_validator.rb +8 -5
- data/lib/filter.rb +5 -5
- data/lib/filter_option_parser.rb +3 -3
- data/lib/hint.rb +9 -4
- data/lib/html.rb +3 -3
- data/lib/inspect_task.rb +3 -3
- data/lib/json_schema_monkey_patch.rb +2 -2
- data/lib/json_validation_error_cleaner.rb +1 -1
- data/lib/json_validator.rb +2 -2
- data/lib/kiwi_config.rb +39 -14
- data/lib/list_task.rb +1 -1
- data/lib/local_system.rb +4 -4
- data/lib/machinery.rb +1 -1
- data/lib/machinery_logger.rb +4 -4
- data/lib/manifest.rb +5 -5
- data/lib/migration.rb +4 -4
- data/lib/object.rb +6 -10
- data/lib/remove_task.rb +1 -1
- data/lib/renderer.rb +5 -5
- data/lib/scope_file_access_archive.rb +2 -2
- data/lib/scope_file_access_flat.rb +3 -3
- data/lib/scope_file_store.rb +3 -3
- data/lib/serve_html_task.rb +15 -2
- data/lib/server.rb +32 -12
- data/lib/system.rb +1 -1
- data/lib/system_description.rb +16 -14
- data/lib/system_description_store.rb +5 -6
- data/lib/ui.rb +1 -1
- data/lib/upgrade_format_task.rb +2 -2
- data/lib/version.rb +1 -1
- data/lib/workload_mapper.rb +11 -11
- data/lib/zypper.rb +1 -1
- data/machinery-helper/Rakefile +1 -1
- data/machinery-helper/version.go +1 -1
- data/man/generated/machinery.1.gz +0 -0
- data/manual/docs/machinery-analyze.1.md +3 -3
- data/manual/docs/machinery-compare.1.md +2 -2
- data/manual/docs/machinery-inspect-docker.1.md +1 -1
- data/manual/docs/machinery-inspect.1.md +4 -1
- data/manual/docs/machinery-show.1.md +2 -2
- data/manual/docs/machinery_main_general.1.md +1 -1
- data/manual/docs/machinery_main_scopes.1.md +8 -6
- data/manual/site/machinery-analyze.1/index.html +3 -3
- data/manual/site/machinery-compare.1/index.html +2 -2
- data/manual/site/machinery-inspect-docker.1/index.html +1 -1
- data/manual/site/machinery-inspect.1/index.html +3 -1
- data/manual/site/machinery-show.1/index.html +2 -2
- data/manual/site/machinery_main_general.1/index.html +1 -1
- data/manual/site/machinery_main_scopes.1/index.html +8 -6
- data/manual/site/mkdocs/search_index.json +17 -17
- data/manual/site/sitemap.xml +23 -23
- data/plugins/{config_files/config_files.yml → changed_config_files/changed_config_files.yml} +3 -3
- data/plugins/{config_files/config_files_inspector.rb → changed_config_files/changed_config_files_inspector.rb} +14 -10
- data/plugins/{config_files/config_files_model.rb → changed_config_files/changed_config_files_model.rb} +1 -1
- data/plugins/{config_files/config_files_renderer.rb → changed_config_files/changed_config_files_renderer.rb} +9 -9
- data/plugins/{config_files/schema/system-description-config-files.schema-v1.json → changed_config_files/schema/system-description-changed-config-files.schema-v1.json} +0 -0
- data/plugins/{config_files/schema/system-description-config-files.schema-v2.json → changed_config_files/schema/system-description-changed-config-files.schema-v2.json} +0 -0
- data/plugins/{config_files/schema/system-description-config-files.schema-v3.json → changed_config_files/schema/system-description-changed-config-files.schema-v3.json} +0 -0
- data/plugins/{config_files/schema/system-description-config-files.schema-v4.json → changed_config_files/schema/system-description-changed-config-files.schema-v4.json} +0 -0
- data/plugins/{config_files/schema/system-description-config-files.schema-v5.json → changed_config_files/schema/system-description-changed-config-files.schema-v5.json} +0 -0
- data/plugins/{config_files/schema/system-description-config-files.schema-v6.json → changed_config_files/schema/system-description-changed-config-files.schema-v6.json} +0 -0
- data/plugins/{config_files/schema/system-description-config-files.schema-v7.json → changed_config_files/schema/system-description-changed-config-files.schema-v7.json} +0 -0
- data/plugins/changed_config_files/schema/system-description-changed-config-files.schema-v8.json +160 -0
- data/plugins/changed_managed_files/changed_managed_files_inspector.rb +6 -2
- data/plugins/changed_managed_files/changed_managed_files_renderer.rb +1 -1
- data/plugins/changed_managed_files/schema/system-description-changed-managed-files.schema-v8.json +160 -0
- data/plugins/environment/schema/system-description-environment.schema-v8.json +17 -0
- data/plugins/groups/groups_inspector.rb +1 -1
- data/plugins/groups/groups_renderer.rb +1 -1
- data/plugins/groups/schema/system-description-groups.schema-v8.json +49 -0
- data/plugins/os/os_inspector.rb +6 -6
- data/plugins/os/os_renderer.rb +1 -1
- data/plugins/os/schema/system-description-os.schema-v8.json +21 -0
- data/plugins/packages/packages_inspector.rb +1 -1
- data/plugins/packages/schema/system-description-packages.schema-v8.json +115 -0
- data/plugins/patterns/patterns.yml +5 -3
- data/plugins/patterns/patterns_inspector.rb +4 -3
- data/plugins/patterns/patterns_renderer.rb +5 -1
- data/plugins/patterns/schema/system-description-patterns.schema-v8.json +58 -0
- data/plugins/repositories/repositories_inspector.rb +2 -1
- data/plugins/repositories/schema/system-description-repositories.schema-v8.json +165 -0
- data/plugins/services/schema/system-description-services.schema-v8.json +93 -0
- data/plugins/services/services.yml +1 -1
- data/plugins/services/services_inspector.rb +1 -1
- data/plugins/unmanaged_files/schema/system-description-unmanaged-files.schema-v8.json +124 -0
- data/plugins/unmanaged_files/unmanaged_files_inspector.rb +9 -4
- data/plugins/unmanaged_files/unmanaged_files_model.rb +12 -5
- data/plugins/unmanaged_files/unmanaged_files_renderer.rb +1 -1
- data/plugins/users/schema/system-description-users.schema-v8.json +86 -0
- data/plugins/users/users_inspector.rb +7 -7
- data/schema/migrations/migrate1to2.rb +4 -4
- data/schema/migrations/migrate2to3.rb +1 -1
- data/schema/migrations/migrate3to4.rb +9 -9
- data/schema/migrations/migrate7to8.rb +47 -0
- data/schema/system-description-global.schema-v8.json +43 -0
- data/workload_mapper/rails/setup/setup.rb.erb +1 -1
- data/workload_mapper/wordpress/setup/setup.rb.erb +1 -1
- metadata +31 -17
- data/html/partials/compare/config_files.html.haml +0 -48
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2d349debbcb3d723bc63b0d88e167c740eefba7d
|
4
|
+
data.tar.gz: 7916e14996d43eaa7573874248a41e5eb951f70c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 72c3fb80b1ff276026fe17984ec495ae0ac5b3f5d4f6ce09a459eacb5cd7a968196f1074024a27d0e79e94ab1d9b6bb5973afb42b6deb924bd5c7457a94c32ee
|
7
|
+
data.tar.gz: 11a7aa1ebd52c08682c01367814b6c114b21685424bc0b94d70c23ed4ce9f2ce711f5277ab6565d0d9f30ec97c29e991d447518566964f178569d1911dc9ed04
|
data/.git_revision
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
2b9173e39c9aa1b627b29893d7374eae4378e029
|
data/NEWS
CHANGED
@@ -1,6 +1,23 @@
|
|
1
1
|
# Machinery Release Notes
|
2
2
|
|
3
3
|
|
4
|
+
## Version 1.19.0 - Mon Apr 04 17:06:37 CEST 2016 - thardeck@suse.de
|
5
|
+
|
6
|
+
* Rename config-files inspector to changed-config-files inspector to be more
|
7
|
+
intuitive
|
8
|
+
* Following the previous change the analyze operation was also renamed to
|
9
|
+
changed-config-files-diffs
|
10
|
+
* Add explanation for patterns-tasks relationship for Debian based
|
11
|
+
systems (gh#SUSE/machinery#1820)
|
12
|
+
* Public serve task now prints hostname for sharing (gh#SUSE/machinery#1699)
|
13
|
+
* Fix export of description with no repositories scope to Autoyast (gh#SUSE/machinery#2024)
|
14
|
+
* Only use required packages for bootstrap in Kiwi export
|
15
|
+
* Fix regression which prevented changed-config-file diffs from being shown
|
16
|
+
in the HTML output
|
17
|
+
* Hint now mentions remote-user option (gh#SUSE/machinery#1813)
|
18
|
+
* Hint is printed when `machinery` is called without options (gh#SUSE/machinery#1286)
|
19
|
+
* Rename --exclude-scope option to --ignore-scope (gh#SUSE/machinery#897)
|
20
|
+
|
4
21
|
## Version 1.18.0 - Tue Mar 01 13:51:39 CET 2016 - thardeck@suse.de
|
5
22
|
|
6
23
|
* Make the machinery-helper exclusive to improve inspection performance significantly
|
data/bin/machinery
CHANGED
@@ -21,8 +21,16 @@ require_relative '../lib/machinery'
|
|
21
21
|
|
22
22
|
begin
|
23
23
|
if Dir.exist?(File.join(Machinery::ROOT, ".git"))
|
24
|
-
|
25
|
-
|
24
|
+
begin
|
25
|
+
Dir.chdir(File.join(Machinery::ROOT, "machinery-helper")) do
|
26
|
+
Cheetah.run("rake", "build")
|
27
|
+
end
|
28
|
+
rescue
|
29
|
+
STDERR.puts(
|
30
|
+
"ERROR: The official Go compiler is not available on this system which prevents the" \
|
31
|
+
" machinery-helper binaries from being built."
|
32
|
+
)
|
33
|
+
exit
|
26
34
|
end
|
27
35
|
end
|
28
36
|
|
data/html/comparison.html.haml
CHANGED
@@ -22,7 +22,7 @@
|
|
22
22
|
|
23
23
|
%body{ "data-description-a" => @description_a.name, "data-description-b" => @description_b.name }
|
24
24
|
- scopes = ["os", "packages", "patterns", "repositories", "users", "groups",
|
25
|
-
"services", "
|
25
|
+
"services", "changed_config_files", "changed_managed_files", "unmanaged_files"]
|
26
26
|
#diff-unmanaged-files.modal.fade
|
27
27
|
.modal-dialog.modal-lg
|
28
28
|
.modal-content
|
data/html/index.html.haml
CHANGED
@@ -18,7 +18,7 @@
|
|
18
18
|
|
19
19
|
%body{ "data-description" => @description.name }
|
20
20
|
- scopes = ["os", "packages", "patterns", "repositories", "users", "groups",
|
21
|
-
"services", "
|
21
|
+
"services", "changed_config_files", "changed_managed_files", "unmanaged_files"]
|
22
22
|
.modal.fade#file-modal{ "tabindex" => "-1" }
|
23
23
|
.modal-dialog.modal-lg
|
24
24
|
.modal-content
|
@@ -109,7 +109,7 @@
|
|
109
109
|
.row
|
110
110
|
.col-xs-1
|
111
111
|
.col-xs-11
|
112
|
-
-
|
112
|
+
- unless @description.filter_definitions("inspect").empty?
|
113
113
|
%ul
|
114
114
|
- @description.filter_definitions("inspect").each do |filter|
|
115
115
|
%li.filter
|
@@ -1,21 +1,21 @@
|
|
1
|
-
- if
|
1
|
+
- if changed_config_files
|
2
2
|
%div
|
3
|
-
%a.scope_anchor{ id: "
|
4
|
-
.scope#
|
5
|
-
- count =
|
3
|
+
%a.scope_anchor{ id: "changed_config_files" }
|
4
|
+
.scope#changed_config_files_container{ "data-scope" => "changed_config_files" }
|
5
|
+
- count = changed_config_files.length
|
6
6
|
= render_partial "scope_header",
|
7
|
-
:scope => "
|
8
|
-
:title => "
|
7
|
+
:scope => "changed_config_files",
|
8
|
+
:title => "Changed Configuration Files",
|
9
9
|
:count => "#{count} #{Machinery.pluralize(count, "file")}"
|
10
10
|
.row.scope_content.collapse.in
|
11
11
|
.col-xs-1
|
12
12
|
.col-xs-11
|
13
13
|
%p
|
14
|
-
<strong>Files extracted:</strong> #{
|
14
|
+
<strong>Files extracted:</strong> #{changed_config_files.extracted ? "yes" : "no"}
|
15
15
|
- if count == 0
|
16
|
-
There are no
|
16
|
+
There are no changed configuration files.
|
17
17
|
- if count > 0
|
18
|
-
-
|
18
|
+
- changed_config_files.each do |file|
|
19
19
|
- if file.diff
|
20
20
|
.diff{ style: "display: none", "data-config-file-diff" => file.diff.file }
|
21
21
|
%span.diff-summary
|
@@ -38,7 +38,7 @@
|
|
38
38
|
%th.small User
|
39
39
|
%th.small Group
|
40
40
|
%tbody
|
41
|
-
-
|
41
|
+
- changed_config_files.each do |file|
|
42
42
|
%tr
|
43
43
|
%td
|
44
44
|
%span
|
@@ -0,0 +1,48 @@
|
|
1
|
+
- if @diff["changed_config_files"]
|
2
|
+
- scope = "changed_config_files"
|
3
|
+
%a.scope_anchor{ id: scope }
|
4
|
+
.scope#changed_config_files_container
|
5
|
+
.row
|
6
|
+
.col-xs-1
|
7
|
+
%a.btn.btn-default.btn-lg.scope_logo_big{ :href => "##{scope}",
|
8
|
+
:title => scope_title(scope), "data-toggle"=>"popover",
|
9
|
+
"data-content" => scope_help(scope) }
|
10
|
+
%span= scope_initials(scope)
|
11
|
+
%span.toggle{ title: "Collapse/Expand" }
|
12
|
+
.col-xs-11
|
13
|
+
%h2
|
14
|
+
Changed Config Files
|
15
|
+
= render_partial "compare/summary",
|
16
|
+
scope: "changed_config_files",
|
17
|
+
singular: "file",
|
18
|
+
plural: "files"
|
19
|
+
.row.scope_content.collapse.in
|
20
|
+
.col-md-12
|
21
|
+
.row
|
22
|
+
.col-xs-6.table_container
|
23
|
+
- if @diff["changed_config_files"].only_in1
|
24
|
+
= only_in_a
|
25
|
+
= render_partial "compare/changed_config_files_list", list: @diff["changed_config_files"].only_in1
|
26
|
+
.col-xs-6.table_container
|
27
|
+
- if @diff["changed_config_files"].only_in2
|
28
|
+
= only_in_b
|
29
|
+
= render_partial "compare/changed_config_files_list", list: @diff["changed_config_files"].only_in2
|
30
|
+
- if @diff["changed_config_files"].changed
|
31
|
+
%a.both_anchor{ id: "changed_config_files_changed" }
|
32
|
+
.row
|
33
|
+
.col-xs-12.table_container
|
34
|
+
= changed
|
35
|
+
= render_partial "compare/changes", changes: changed_elements("changed_config_files",
|
36
|
+
key: "name")
|
37
|
+
- if @diff["changed_config_files"].common
|
38
|
+
%a.both_anchor{ id: "changed_config_files_both" }
|
39
|
+
.row
|
40
|
+
.col-xs-12
|
41
|
+
%a.show-common-elements{ href: "#changed_config_files_both" }
|
42
|
+
Show common elements in changed-config-files
|
43
|
+
%a.hide-common-elements{ href: "#", style: "display: none" }
|
44
|
+
Hide common elements in changed-config-files
|
45
|
+
.row.scope_common_content.collapse
|
46
|
+
.col-xs-12.table_container
|
47
|
+
= in_both
|
48
|
+
= render_partial "compare/changed_config_files_list", list: @diff["changed_config_files"].common
|
data/html/partials/compare/{config_file_list.html.haml → changed_config_files_list.html.haml}
RENAMED
File without changes
|
@@ -26,7 +26,7 @@
|
|
26
26
|
%a.show-changed-elements{ href: "#unmanaged_files_changed" }
|
27
27
|
changed
|
28
28
|
= ": #{pluralize_scope(@diff["unmanaged_files"].changed, "file", "files")}"
|
29
|
-
-
|
29
|
+
- unless @diff["unmanaged_files"].common.elements.empty?
|
30
30
|
%span.summary-part
|
31
31
|
%a.show-common-elements{ href: "#unmanaged_files_both" }<
|
32
32
|
both
|
@@ -51,7 +51,7 @@
|
|
51
51
|
= changed
|
52
52
|
= render_partial "compare/changes", changes: changed_elements("unmanaged_files",
|
53
53
|
key: "name")
|
54
|
-
-
|
54
|
+
- unless @diff["unmanaged_files"].common.elements.empty?
|
55
55
|
%a.both_anchor{ id: "unmanaged_files_both" }
|
56
56
|
.row
|
57
57
|
.col-md-12
|
@@ -6,6 +6,11 @@
|
|
6
6
|
:scope => "patterns",
|
7
7
|
:title => "Patterns",
|
8
8
|
:count => "#{patterns.length} #{Machinery.pluralize(patterns.length, "pattern")}"
|
9
|
+
- if @description.packages && @description.packages.package_system == "dpkg"
|
10
|
+
.row
|
11
|
+
.col-xs-1
|
12
|
+
.col-xs-11
|
13
|
+
Note: Tasks on Debian-like systems are treated as patterns.
|
9
14
|
.row.scope_content.collapse.in
|
10
15
|
.col-xs-1
|
11
16
|
.col-xs-11
|
@@ -0,0 +1,49 @@
|
|
1
|
+
!!!
|
2
|
+
%html
|
3
|
+
%head
|
4
|
+
%title
|
5
|
+
Machinery Error: incompatible system description
|
6
|
+
%meta{ :charset => 'utf-8' }
|
7
|
+
%link{ :href => "assets/machinery-base.css", :rel => "stylesheet", :type => "text/css" }
|
8
|
+
%link{ :href => "assets/machinery.css", :rel => "stylesheet", :type => "text/css" }
|
9
|
+
%script{ :src => "assets/jquery-2.1.1.min.js" }
|
10
|
+
%script{ :src => "assets/transition.js" }
|
11
|
+
%script{ :src => "assets/collapse.js" }
|
12
|
+
%script{ :src => "assets/modal.js" }
|
13
|
+
%script{ :src => "assets/jquery.searcher.min.js" }
|
14
|
+
%script{ :src => "assets/machinery-base.js" }
|
15
|
+
%script{ :src => "assets/show/machinery.js" }
|
16
|
+
%script{ :src => "assets/bootstrap-tooltip.js" }
|
17
|
+
%script{ :src => "assets/bootstrap-popover.js" }
|
18
|
+
|
19
|
+
%body
|
20
|
+
.container-fluid
|
21
|
+
#nav-bar
|
22
|
+
.row
|
23
|
+
.col-xs-1
|
24
|
+
.col-xs-10
|
25
|
+
%h1
|
26
|
+
System Description incompatible!
|
27
|
+
.row
|
28
|
+
.col-xs-1
|
29
|
+
.col-xs-4
|
30
|
+
Incompatible format version of system description
|
31
|
+
.col-xs-10.nav-buttons
|
32
|
+
%small.pull-right
|
33
|
+
created by
|
34
|
+
%a{ :href => "http://machinery-project.org", :target => "_blank" }
|
35
|
+
Machinery
|
36
|
+
%br
|
37
|
+
%a{ :href => "/site/docs/", :target => "_blank" }
|
38
|
+
Machinery documentation
|
39
|
+
#content_container
|
40
|
+
.row
|
41
|
+
.col-xs-11
|
42
|
+
- if @error
|
43
|
+
.scope#alert_container
|
44
|
+
.row
|
45
|
+
.col-xs-10.col-xs-offset-1
|
46
|
+
.well
|
47
|
+
%span
|
48
|
+
%p
|
49
|
+
= @error
|
@@ -23,23 +23,23 @@ class AnalyzeConfigFileDiffsTask
|
|
23
23
|
description.validate_analysis_compatibility
|
24
24
|
description.assert_scopes(
|
25
25
|
"repositories",
|
26
|
-
"
|
26
|
+
"changed_config_files"
|
27
27
|
)
|
28
28
|
|
29
|
-
|
29
|
+
unless description["repositories"].any? { |repo| repo.enabled && !repo.external_medium? }
|
30
30
|
raise Machinery::Errors::AnalysisFailed,
|
31
31
|
"Can not analyze the system description because it does not contain any online repository"
|
32
32
|
end
|
33
33
|
|
34
|
-
|
35
|
-
raise Machinery::Errors::MissingExtractedFiles.new(description, ["
|
34
|
+
unless description.scope_extracted?("changed_config_files")
|
35
|
+
raise Machinery::Errors::MissingExtractedFiles.new(description, ["changed_config_files"])
|
36
36
|
end
|
37
37
|
|
38
38
|
with_repositories(description) do |zypper|
|
39
|
-
file_store = description.scope_file_store("analyze/
|
39
|
+
file_store = description.scope_file_store("analyze/changed_config_files_diffs")
|
40
40
|
file_store.create
|
41
41
|
diffs_path = file_store.path
|
42
|
-
extracted_files_path = description.scope_file_store("
|
42
|
+
extracted_files_path = description.scope_file_store("changed_config_files").path
|
43
43
|
|
44
44
|
Machinery::Ui.puts "Generating diffs..."
|
45
45
|
cnt = 1
|
@@ -95,7 +95,7 @@ class AnalyzeConfigFileDiffsTask
|
|
95
95
|
# }
|
96
96
|
# ]
|
97
97
|
def files_by_package(description)
|
98
|
-
files = description["
|
98
|
+
files = description["changed_config_files"].
|
99
99
|
select { |f| f.changes.include?("md5") }
|
100
100
|
|
101
101
|
files.inject({}) do |result, file|
|
@@ -137,7 +137,7 @@ class AnalyzeConfigFileDiffsTask
|
|
137
137
|
raise if e.status.exitstatus == 7
|
138
138
|
|
139
139
|
# Refreshing repositories might fail for various other reasons, but we
|
140
|
-
# still stick to the plan because the relevant
|
140
|
+
# still stick to the plan because the relevant configuration files might be
|
141
141
|
# available from the other repositories.
|
142
142
|
# If they aren't an error message will then be generated for each of
|
143
143
|
# the actually missing files instead.
|
data/lib/autoyast.rb
CHANGED
@@ -24,11 +24,10 @@ class Autoyast < Exporter
|
|
24
24
|
@system_description = description
|
25
25
|
@system_description.assert_scopes(
|
26
26
|
"os",
|
27
|
-
"repositories",
|
28
27
|
"packages"
|
29
28
|
)
|
30
29
|
check_exported_os
|
31
|
-
|
30
|
+
unless description.users
|
32
31
|
Machinery::Ui.puts(
|
33
32
|
"\nWarning: Exporting a description without the scope 'users' as AutoYaST" \
|
34
33
|
" profile will result in a root account without a password which prevents" \
|
@@ -85,7 +84,7 @@ class Autoyast < Exporter
|
|
85
84
|
apply_groups(xml)
|
86
85
|
apply_services(xml)
|
87
86
|
|
88
|
-
apply_changed_files("
|
87
|
+
apply_changed_files("changed_config_files")
|
89
88
|
apply_changed_files("changed_managed_files")
|
90
89
|
apply_unmanaged_files
|
91
90
|
xml.scripts do
|
@@ -138,7 +137,7 @@ class Autoyast < Exporter
|
|
138
137
|
end
|
139
138
|
|
140
139
|
def apply_repositories(xml)
|
141
|
-
return
|
140
|
+
return unless @system_description.repositories
|
142
141
|
|
143
142
|
xml.tag!("add-on") do
|
144
143
|
xml.add_on_products("config:type" => "list") do
|
@@ -158,7 +157,7 @@ class Autoyast < Exporter
|
|
158
157
|
if !repository.enabled || repository.external_medium?
|
159
158
|
zypper_ar = "zypper -n ar --name='#{repository.name}'"
|
160
159
|
zypper_ar << " --type='#{repository.type}'" if repository.type
|
161
|
-
zypper_ar << " --disable"
|
160
|
+
zypper_ar << " --disable" unless repository.enabled
|
162
161
|
zypper_ar << " '#{repository.url}' '#{repository.alias}'"
|
163
162
|
@chroot_scripts << zypper_ar.strip
|
164
163
|
end
|
@@ -175,7 +174,7 @@ class Autoyast < Exporter
|
|
175
174
|
end
|
176
175
|
|
177
176
|
def apply_packages(xml)
|
178
|
-
return
|
177
|
+
return unless @system_description.packages
|
179
178
|
|
180
179
|
xml.packages("config:type" => "list") do
|
181
180
|
@system_description.packages.each do |package|
|
@@ -185,7 +184,7 @@ class Autoyast < Exporter
|
|
185
184
|
end
|
186
185
|
|
187
186
|
def apply_patterns(xml)
|
188
|
-
return
|
187
|
+
return unless @system_description.patterns
|
189
188
|
|
190
189
|
xml.patterns("config:type" => "list") do
|
191
190
|
@system_description.patterns.each do |pattern|
|
@@ -195,7 +194,7 @@ class Autoyast < Exporter
|
|
195
194
|
end
|
196
195
|
|
197
196
|
def apply_users(xml)
|
198
|
-
return
|
197
|
+
return unless @system_description.users
|
199
198
|
|
200
199
|
xml.users("config:type" => "list") do
|
201
200
|
@system_description.users.each do |user|
|
@@ -221,7 +220,7 @@ class Autoyast < Exporter
|
|
221
220
|
end
|
222
221
|
|
223
222
|
def apply_groups(xml)
|
224
|
-
return
|
223
|
+
return unless @system_description.groups
|
225
224
|
|
226
225
|
xml.groups("config:type" => "list") do
|
227
226
|
@system_description.groups.each do |group|
|
@@ -237,7 +236,7 @@ class Autoyast < Exporter
|
|
237
236
|
end
|
238
237
|
|
239
238
|
def apply_services(xml)
|
240
|
-
return
|
239
|
+
return unless @system_description.services
|
241
240
|
|
242
241
|
xml.tag!("services-manager") do
|
243
242
|
xml.services("config:type" => "list") do
|
@@ -245,7 +244,7 @@ class Autoyast < Exporter
|
|
245
244
|
name = service.name
|
246
245
|
if @system_description.services.init_system == "systemd"
|
247
246
|
# Yast can only handle services right now
|
248
|
-
next
|
247
|
+
next unless name =~ /\.service$/
|
249
248
|
name = name.gsub(/\.service$/, "")
|
250
249
|
end
|
251
250
|
# systemd service states like "masked" and "static" are
|
@@ -279,7 +278,7 @@ class Autoyast < Exporter
|
|
279
278
|
end
|
280
279
|
|
281
280
|
def apply_changed_files(scope)
|
282
|
-
return
|
281
|
+
return unless @system_description.scope_extracted?(scope)
|
283
282
|
|
284
283
|
@system_description[scope].each do |file|
|
285
284
|
if file.deleted?
|
@@ -308,7 +307,7 @@ EOF
|
|
308
307
|
end
|
309
308
|
|
310
309
|
def apply_unmanaged_files
|
311
|
-
return
|
310
|
+
return unless @system_description.scope_extracted?("unmanaged_files")
|
312
311
|
|
313
312
|
base = Pathname(@system_description.scope_file_store("unmanaged_files").path)
|
314
313
|
@chroot_scripts << <<-EOF.chomp.gsub(/^\s+/, "")
|
data/lib/build_task.rb
CHANGED
@@ -68,7 +68,7 @@ class BuildTask
|
|
68
68
|
|
69
69
|
Machinery::Ui.warn "Cleaning up temporary files..."
|
70
70
|
[tmp_config_dir, tmp_image_dir].each do |path|
|
71
|
-
LoggedCheetah.run("sudo", "rm", "-r", path) if Dir.
|
71
|
+
LoggedCheetah.run("sudo", "rm", "-r", path) if Dir.exist?(path)
|
72
72
|
end
|
73
73
|
end
|
74
74
|
raise
|
@@ -89,7 +89,7 @@ class BuildTask
|
|
89
89
|
|
90
90
|
image_file = Dir.glob(File.join(output_path, "*.#{img_extension}")).first
|
91
91
|
|
92
|
-
|
92
|
+
unless image_file
|
93
93
|
raise(Machinery::Errors::BuildFailed, "The image build process failed. Check " \
|
94
94
|
"build log '#{tmp_image_dir}/kiwi-terminal-output.log' for more " \
|
95
95
|
"details."
|