machinery-tool 1.17.0 → 1.18.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.
Files changed (310) hide show
  1. checksums.yaml +4 -4
  2. data/.git_revision +1 -1
  3. data/NEWS +17 -1
  4. data/bin/machinery +1 -1
  5. data/export_helpers/merge_users_and_groups.pl.erb +1 -1
  6. data/html/comparison.html.haml +14 -9
  7. data/html/index.html.haml +5 -2
  8. data/html/landing_page.html.haml +4 -1
  9. data/html/partials/changed_managed_files.html.haml +2 -0
  10. data/html/partials/compare/alert.html.haml +1 -1
  11. data/html/partials/compare/unmanaged_file_list.html.haml +12 -0
  12. data/html/partials/config_files.html.haml +2 -0
  13. data/html/partials/landing_page/alert.html.haml +1 -1
  14. data/html/partials/unmanaged_files.html.haml +14 -0
  15. data/inspect_helpers/changed_files.sh +1 -1
  16. data/inspect_helpers/dpkg_unmanaged_files.sh +1 -1
  17. data/inspect_helpers/yum_repositories.py +1 -1
  18. data/lib/analyze_config_file_diffs_task.rb +1 -1
  19. data/lib/array.rb +1 -1
  20. data/lib/autoyast.rb +34 -34
  21. data/lib/build_task.rb +1 -1
  22. data/lib/cli.rb +21 -6
  23. data/lib/compare_task.rb +1 -1
  24. data/lib/comparison.rb +1 -1
  25. data/lib/config.rb +1 -1
  26. data/lib/config_base.rb +1 -1
  27. data/lib/config_task.rb +1 -1
  28. data/lib/constants.rb +2 -2
  29. data/lib/containerize_task.rb +1 -1
  30. data/lib/containerized_app.rb +1 -1
  31. data/lib/copy_task.rb +1 -1
  32. data/lib/current_user.rb +1 -1
  33. data/lib/deploy_task.rb +1 -1
  34. data/lib/docker_system.rb +4 -5
  35. data/lib/dpkg_database.rb +2 -2
  36. data/lib/element_filter.rb +1 -1
  37. data/lib/exceptions.rb +2 -2
  38. data/lib/export_task.rb +1 -1
  39. data/lib/exporter.rb +1 -1
  40. data/lib/file_diff.rb +1 -1
  41. data/lib/file_scope.rb +1 -1
  42. data/lib/file_validator.rb +1 -1
  43. data/lib/filter.rb +1 -1
  44. data/lib/filter_option_parser.rb +1 -1
  45. data/lib/helper.rb +1 -1
  46. data/lib/hint.rb +1 -1
  47. data/lib/html.rb +1 -1
  48. data/lib/inspect_task.rb +1 -1
  49. data/lib/inspector.rb +1 -1
  50. data/lib/json_schema_monkey_patch.rb +35 -0
  51. data/lib/json_validation_error_cleaner.rb +1 -1
  52. data/lib/json_validator.rb +1 -1
  53. data/lib/kiwi_config.rb +69 -67
  54. data/lib/list_task.rb +1 -1
  55. data/lib/local_system.rb +1 -1
  56. data/lib/logged_cheetah.rb +1 -1
  57. data/lib/machinery.rb +6 -2
  58. data/lib/machinery_helper.rb +28 -8
  59. data/lib/machinery_logger.rb +1 -1
  60. data/lib/man_task.rb +50 -5
  61. data/lib/managed_files_database.rb +24 -17
  62. data/lib/manifest.rb +3 -2
  63. data/lib/migration.rb +1 -1
  64. data/lib/mountpoints.rb +1 -1
  65. data/lib/move_task.rb +1 -1
  66. data/lib/object.rb +1 -1
  67. data/lib/remote_system.rb +2 -2
  68. data/lib/remove_task.rb +1 -1
  69. data/lib/renderer.rb +1 -1
  70. data/lib/renderer_helper.rb +1 -1
  71. data/lib/rpm.rb +1 -1
  72. data/lib/rpm_database.rb +1 -1
  73. data/lib/scope.rb +1 -1
  74. data/lib/scope_file_store.rb +1 -1
  75. data/lib/serve_html_task.rb +1 -1
  76. data/lib/server.rb +32 -2
  77. data/lib/show_task.rb +1 -1
  78. data/lib/system.rb +1 -1
  79. data/lib/system_description.rb +2 -2
  80. data/lib/system_description_memory_store.rb +1 -1
  81. data/lib/system_description_store.rb +1 -1
  82. data/lib/system_file.rb +1 -1
  83. data/lib/tarball.rb +1 -1
  84. data/lib/tee_io.rb +39 -0
  85. data/lib/try.rb +1 -1
  86. data/lib/ui.rb +1 -1
  87. data/lib/upgrade_format_task.rb +1 -1
  88. data/lib/validate_task.rb +1 -1
  89. data/lib/version.rb +2 -2
  90. data/lib/workload_mapper.rb +1 -1
  91. data/lib/workload_mapper_dsl.rb +1 -1
  92. data/lib/zypper.rb +3 -3
  93. data/machinery-helper/Rakefile +2 -8
  94. data/machinery-helper/file_utils.go +28 -0
  95. data/machinery-helper/file_utils_test.go +21 -0
  96. data/machinery-helper/machinery_helper.go +121 -8
  97. data/machinery-helper/machinery_helper_test.go +102 -0
  98. data/machinery-helper/mountpoints_test.go +33 -33
  99. data/machinery-helper/version.go +1 -1
  100. data/man/generated/machinery.1.gz +0 -0
  101. data/manual/custom_theme/base.html +42 -0
  102. data/manual/docs/CNAME +1 -0
  103. data/manual/docs/README.md +128 -0
  104. data/manual/docs/css/bootstrap.min.css +7 -0
  105. data/manual/docs/css/custom.css +788 -0
  106. data/manual/docs/css/fixed-positioning.css +45 -0
  107. data/manual/docs/custom.css +804 -0
  108. data/manual/docs/docs.md +7 -0
  109. data/manual/docs/favicon.png +0 -0
  110. data/manual/docs/hand3.png +0 -0
  111. data/manual/docs/img/arrow.png +0 -0
  112. data/manual/docs/img/background/1.png +0 -0
  113. data/manual/docs/img/background/2.png +0 -0
  114. data/manual/docs/img/background/3.png +0 -0
  115. data/manual/docs/img/background/4.png +0 -0
  116. data/manual/docs/img/background/5.png +0 -0
  117. data/manual/docs/img/background/6.png +0 -0
  118. data/manual/docs/img/background/7.png +0 -0
  119. data/manual/docs/img/bk-cloud.png +0 -0
  120. data/manual/docs/img/bk-sec-15.png +0 -0
  121. data/manual/docs/img/book.png +0 -0
  122. data/manual/docs/img/configuration-discovery.png +0 -0
  123. data/manual/docs/img/dot-line-left.png +0 -0
  124. data/manual/docs/img/dot-line-right.png +0 -0
  125. data/manual/docs/img/gear.png +0 -0
  126. data/manual/docs/img/gear2.png +0 -0
  127. data/manual/docs/img/gear3.png +0 -0
  128. data/manual/docs/img/hand.png +0 -0
  129. data/manual/docs/img/hand2.png +0 -0
  130. data/manual/docs/img/hand3.png +0 -0
  131. data/manual/docs/img/home2.png +0 -0
  132. data/manual/docs/img/moustache.png +0 -0
  133. data/manual/docs/img/navig.png +0 -0
  134. data/manual/docs/img/philo.png +0 -0
  135. data/manual/docs/img/service-migration.png +0 -0
  136. data/manual/docs/img/system-validation.png +0 -0
  137. data/manual/docs/img/ticket2.png +0 -0
  138. data/manual/docs/img/usecase-default.png +0 -0
  139. data/manual/docs/img/usecase1.png +0 -0
  140. data/manual/docs/img/usecase2.png +0 -0
  141. data/manual/docs/img/usecase3.png +0 -0
  142. data/manual/docs/img/usecase4.png +0 -0
  143. data/manual/docs/img/wheels.png +0 -0
  144. data/manual/docs/index.html +402 -0
  145. data/manual/docs/js/bootstrap.min.js +6 -0
  146. data/manual/docs/js/custom.js +148 -0
  147. data/manual/docs/js/jquery.js +4 -0
  148. data/manual/docs/js/jquery.nicescroll.min.js +116 -0
  149. data/manual/docs/js/jquery.pageslide.min.js +11 -0
  150. data/manual/docs/js/parallaxImg.js +146 -0
  151. data/manual/docs/js/skrollr.min.js +2 -0
  152. data/manual/docs/machinery-analyze.1.md +37 -0
  153. data/manual/docs/machinery-build.1.md +62 -0
  154. data/manual/docs/machinery-compare.1.md +63 -0
  155. data/manual/docs/machinery-config.1.md +45 -0
  156. data/manual/docs/machinery-copy.1.md +31 -0
  157. data/manual/docs/machinery-deploy.1.md +71 -0
  158. data/manual/docs/machinery-export-autoyast.1.md +58 -0
  159. data/manual/docs/machinery-export-kiwi.1.md +38 -0
  160. data/manual/docs/machinery-inspect-docker.1.md +108 -0
  161. data/manual/docs/machinery-inspect.1.md +145 -0
  162. data/manual/docs/machinery-list.1.md +51 -0
  163. data/manual/docs/machinery-man.1.md +16 -0
  164. data/manual/docs/machinery-move.1.md +29 -0
  165. data/manual/docs/machinery-remove.1.md +44 -0
  166. data/manual/docs/machinery-serve.1.md +45 -0
  167. data/manual/docs/machinery-show.1.md +63 -0
  168. data/manual/docs/machinery-upgrade-format.1.md +47 -0
  169. data/manual/docs/machinery-validate.1.md +34 -0
  170. data/manual/docs/machinery.ymp +114 -0
  171. data/manual/docs/machinery_main_general.1.md +139 -0
  172. data/manual/docs/machinery_main_scopes.1.md +98 -0
  173. data/manual/docs/machinery_main_usecases.1.md +49 -0
  174. data/manual/docs/machinery_security_implications.1.md +89 -0
  175. data/manual/docs/subcommand-template.1.md +46 -0
  176. data/manual/docs/wheels.png +0 -0
  177. data/manual/mkdocs.yml +30 -0
  178. data/manual/site/CNAME +1 -0
  179. data/manual/site/base.html +42 -0
  180. data/manual/site/css/bootstrap.min.css +7 -0
  181. data/manual/site/css/custom.css +788 -0
  182. data/manual/site/css/fixed-positioning.css +45 -0
  183. data/manual/site/custom.css +804 -0
  184. data/manual/site/docs/index.html +144 -0
  185. data/manual/site/favicon.png +0 -0
  186. data/manual/site/hand3.png +0 -0
  187. data/manual/site/img/arrow.png +0 -0
  188. data/manual/site/img/background/1.png +0 -0
  189. data/manual/site/img/background/2.png +0 -0
  190. data/manual/site/img/background/3.png +0 -0
  191. data/manual/site/img/background/4.png +0 -0
  192. data/manual/site/img/background/5.png +0 -0
  193. data/manual/site/img/background/6.png +0 -0
  194. data/manual/site/img/background/7.png +0 -0
  195. data/manual/site/img/bk-cloud.png +0 -0
  196. data/manual/site/img/bk-sec-15.png +0 -0
  197. data/manual/site/img/book.png +0 -0
  198. data/manual/site/img/configuration-discovery.png +0 -0
  199. data/manual/site/img/dot-line-left.png +0 -0
  200. data/manual/site/img/dot-line-right.png +0 -0
  201. data/manual/site/img/gear.png +0 -0
  202. data/manual/site/img/gear2.png +0 -0
  203. data/manual/site/img/gear3.png +0 -0
  204. data/manual/site/img/hand.png +0 -0
  205. data/manual/site/img/hand2.png +0 -0
  206. data/manual/site/img/hand3.png +0 -0
  207. data/manual/site/img/home2.png +0 -0
  208. data/manual/site/img/moustache.png +0 -0
  209. data/manual/site/img/navig.png +0 -0
  210. data/manual/site/img/philo.png +0 -0
  211. data/manual/site/img/service-migration.png +0 -0
  212. data/manual/site/img/system-validation.png +0 -0
  213. data/manual/site/img/ticket2.png +0 -0
  214. data/manual/site/img/usecase-default.png +0 -0
  215. data/manual/site/img/usecase1.png +0 -0
  216. data/manual/site/img/usecase2.png +0 -0
  217. data/manual/site/img/usecase3.png +0 -0
  218. data/manual/site/img/usecase4.png +0 -0
  219. data/manual/site/img/wheels.png +0 -0
  220. data/manual/site/index.html +402 -0
  221. data/manual/site/js/bootstrap.min.js +6 -0
  222. data/manual/site/js/custom.js +148 -0
  223. data/manual/site/js/jquery.js +4 -0
  224. data/manual/site/js/jquery.nicescroll.min.js +116 -0
  225. data/manual/site/js/jquery.pageslide.min.js +11 -0
  226. data/manual/site/js/parallaxImg.js +146 -0
  227. data/manual/site/js/skrollr.min.js +2 -0
  228. data/manual/site/machinery-analyze.1/index.html +167 -0
  229. data/manual/site/machinery-build.1/index.html +198 -0
  230. data/manual/site/machinery-compare.1/index.html +200 -0
  231. data/manual/site/machinery-config.1/index.html +175 -0
  232. data/manual/site/machinery-copy.1/index.html +164 -0
  233. data/manual/site/machinery-deploy.1/index.html +200 -0
  234. data/manual/site/machinery-export-autoyast.1/index.html +188 -0
  235. data/manual/site/machinery-export-kiwi.1/index.html +169 -0
  236. data/manual/site/machinery-inspect-docker.1/index.html +242 -0
  237. data/manual/site/machinery-inspect.1/index.html +283 -0
  238. data/manual/site/machinery-list.1/index.html +180 -0
  239. data/manual/site/machinery-man.1/index.html +148 -0
  240. data/manual/site/machinery-move.1/index.html +162 -0
  241. data/manual/site/machinery-remove.1/index.html +175 -0
  242. data/manual/site/machinery-serve.1/index.html +174 -0
  243. data/manual/site/machinery-show.1/index.html +199 -0
  244. data/manual/site/machinery-upgrade-format.1/index.html +173 -0
  245. data/manual/site/machinery-validate.1/index.html +161 -0
  246. data/manual/site/machinery.ymp +114 -0
  247. data/manual/site/machinery_main_general.1/index.html +260 -0
  248. data/manual/site/machinery_main_scopes.1/index.html +242 -0
  249. data/manual/site/machinery_main_usecases.1/index.html +182 -0
  250. data/manual/site/machinery_security_implications.1/index.html +223 -0
  251. data/manual/site/mkdocs/js/lunr-0.5.7.min.js +7 -0
  252. data/manual/site/mkdocs/js/mustache.min.js +1 -0
  253. data/manual/site/mkdocs/js/require.js +36 -0
  254. data/manual/site/mkdocs/js/search-results-template.mustache +4 -0
  255. data/manual/site/mkdocs/js/search.js +88 -0
  256. data/manual/site/mkdocs/js/text.js +390 -0
  257. data/manual/site/mkdocs/search_index.json +824 -0
  258. data/manual/site/sitemap.xml +152 -0
  259. data/manual/site/wheels.png +0 -0
  260. data/plugins/changed_managed_files/changed_managed_files_inspector.rb +1 -1
  261. data/plugins/changed_managed_files/changed_managed_files_model.rb +1 -1
  262. data/plugins/changed_managed_files/changed_managed_files_renderer.rb +1 -1
  263. data/plugins/changed_managed_files/schema/system-description-changed-managed-files.schema-v7.json +160 -0
  264. data/plugins/config_files/config_files_inspector.rb +1 -1
  265. data/plugins/config_files/config_files_model.rb +1 -1
  266. data/plugins/config_files/config_files_renderer.rb +1 -1
  267. data/plugins/config_files/schema/system-description-config-files.schema-v7.json +160 -0
  268. data/plugins/environment/environment_inspector.rb +1 -1
  269. data/plugins/environment/environment_model.rb +1 -1
  270. data/plugins/environment/schema/system-description-environment.schema-v7.json +17 -0
  271. data/plugins/groups/groups_inspector.rb +1 -1
  272. data/plugins/groups/groups_model.rb +1 -1
  273. data/plugins/groups/groups_renderer.rb +1 -1
  274. data/plugins/groups/schema/system-description-groups.schema-v7.json +49 -0
  275. data/plugins/os/os_inspector.rb +1 -1
  276. data/plugins/os/os_model.rb +1 -1
  277. data/plugins/os/os_renderer.rb +1 -1
  278. data/plugins/os/schema/system-description-os.schema-v7.json +21 -0
  279. data/plugins/packages/packages_inspector.rb +1 -1
  280. data/plugins/packages/packages_model.rb +1 -1
  281. data/plugins/packages/packages_renderer.rb +1 -1
  282. data/plugins/packages/schema/system-description-packages.schema-v7.json +115 -0
  283. data/plugins/patterns/patterns_inspector.rb +6 -6
  284. data/plugins/patterns/patterns_model.rb +1 -1
  285. data/plugins/patterns/patterns_renderer.rb +1 -1
  286. data/plugins/patterns/schema/system-description-patterns.schema-v7.json +58 -0
  287. data/plugins/repositories/repositories_inspector.rb +16 -16
  288. data/plugins/repositories/repositories_model.rb +1 -1
  289. data/plugins/repositories/repositories_renderer.rb +1 -1
  290. data/plugins/repositories/schema/system-description-repositories.schema-v7.json +165 -0
  291. data/plugins/services/schema/system-description-services.schema-v7.json +93 -0
  292. data/plugins/services/services_inspector.rb +1 -1
  293. data/plugins/services/services_model.rb +1 -1
  294. data/plugins/services/services_renderer.rb +1 -1
  295. data/plugins/unmanaged_files/schema/system-description-unmanaged-files.schema-v6.json +19 -61
  296. data/plugins/unmanaged_files/schema/system-description-unmanaged-files.schema-v7.json +124 -0
  297. data/plugins/unmanaged_files/unmanaged_files_inspector.rb +21 -436
  298. data/plugins/unmanaged_files/unmanaged_files_model.rb +2 -2
  299. data/plugins/unmanaged_files/unmanaged_files_renderer.rb +2 -2
  300. data/plugins/users/schema/system-description-users.schema-v7.json +86 -0
  301. data/plugins/users/users_inspector.rb +1 -1
  302. data/plugins/users/users_model.rb +1 -1
  303. data/plugins/users/users_renderer.rb +1 -1
  304. data/schema/migrations/migrate1to2.rb +1 -1
  305. data/schema/migrations/migrate6to7.rb +38 -0
  306. data/schema/system-description-global.schema-v7.json +43 -0
  307. data/tools/go.rb +92 -0
  308. data/tools/helper_builder.rb +16 -49
  309. metadata +182 -6
  310. data/man/generated/machinery.1.html +0 -1399
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7d95072db7db89bc9881b0f130e31fc14a4cef78
4
- data.tar.gz: 01accc4637d1dc9cbad915914eeca4a7ae4ccfa3
3
+ metadata.gz: 3862196a560a037acde60f2864df0bde8426cd9e
4
+ data.tar.gz: 635959f588111bad3702a7d8eb134316ec339b13
5
5
  SHA512:
6
- metadata.gz: 03b5e6b547a2dec55e3f72559db01c0cb3971c902ee622470d89f45d79f1984bdf4eb888f5210829cf848b695e41d93b8a80f3ef7efac68af91344f3c9764b63
7
- data.tar.gz: 8cf84db6d3ba91a18c35ebbf6938caf2df4ae463b05af5420937e17ef4aa960f78b90ef457046c337317b677093936c7a35363db1a6cb08dca689c01000fa092
6
+ metadata.gz: 4fc553147b68761806a51fe5c078d792bb28c7bc38dfdf17e766c85c1fe3643dd3830122563885ccdd5d63d584114e17bb00ea880d4fb1029af24007c43c4e38
7
+ data.tar.gz: ab2165ca7a37ad14e4b794ea7eeefca6905b84bd3911914ee9f113e46754a2e6b2876a5b893b2145466c42d8171078f143a57ba6a0623ac26df1f8f952af3285
data/.git_revision CHANGED
@@ -1 +1 @@
1
- 8bfc2e6ccf6d9ff87a018bd15002a20182fd6709
1
+ 8df1e753fd5f3ef8a5bcfed6eb932b864acbebde
data/NEWS CHANGED
@@ -1,6 +1,23 @@
1
1
  # Machinery Release Notes
2
2
 
3
3
 
4
+ ## Version 1.18.0 - Tue Mar 01 13:51:39 CET 2016 - thardeck@suse.de
5
+
6
+ * Make the machinery-helper exclusive to improve inspection performance significantly
7
+ on all supported architectures.
8
+ Following this change Go is required for installing the gem for now.
9
+ * Fix treatment of the rpm `(replaced)` flag (gh#SUSE/machinery#1897)
10
+ * Fix repository recognition on older Debian systems
11
+ * Inspection of unmanaged-files is now also using the faster machinery-helper
12
+ when a remote user is used
13
+ * Show all available information for unmanaged files in HTML view (gh#SUSE/machinery#1905)
14
+ * Move the machinery documentation from man page to HTML format
15
+ * Implement "--extract-metadata" option for the unmanaged-files inspection to
16
+ retrieve the file meta (e.g. owner, group, size) data without extracting the
17
+ files.
18
+ * Fixed counting of files in unmanaged directories (empty directories now report zero files
19
+ as one would expect)
20
+
4
21
  ## Version 1.17.0 - Mon Jan 25 16:49:58 CET 2016 - thardeck@suse.de
5
22
 
6
23
  * Fix reset button in HTML view (gh#SUSE/machinery#1899)
@@ -409,4 +426,3 @@
409
426
  ## Version 0.1.0 - Tue Dec 17 14:06:59 CET 2013 - aduffeck@suse.de
410
427
 
411
428
  * Package and repository inspection of SLES 11 systems
412
-
data/bin/machinery CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- # Copyright (c) 2013-2015 SUSE LLC
3
+ # Copyright (c) 2013-2016 SUSE LLC
4
4
  #
5
5
  # This program is free software; you can redistribute it and/or
6
6
  # modify it under the terms of version 3 of the GNU General Public License as
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env perl
2
2
 
3
- # Copyright (c) 2013-2015 SUSE LLC
3
+ # Copyright (c) 2013-2016 SUSE LLC
4
4
  #
5
5
  # This program is free software; you can redistribute it and/or
6
6
  # modify it under the terms of version 3 of the GNU General Public License as
@@ -51,13 +51,6 @@
51
51
  .col-xs-10
52
52
  %h1
53
53
  Comparing '#{@description_a.name}' with '#{@description_b.name}'
54
- %span.scope-navigation
55
- Scopes:
56
- - scopes.each do |scope|
57
- %a.btn.btn-default.btn-sm{ :href => "##{scope}", :title => scope_title(scope),
58
- "data-toggle"=>"popover", "data-content" => scope_help(scope),
59
- :class => nav_class(scope), "ng-show" => "diff.#{scope}" }
60
- %span= scope_initials(scope)
61
54
  .row
62
55
  .col-xs-1
63
56
  %a#expand-all{:href => "#", :style => "display: none"}
@@ -65,11 +58,23 @@
65
58
  %a#collapse-all{:href => "#"}
66
59
  Collapse all
67
60
  .row
68
- .col-xs-9
69
- %small.pull-right.pad-top
61
+ .col-xs-1
62
+ .col-xs-10
63
+ %small.pull-right
70
64
  created by
71
65
  %a{:href => "http://machinery-project.org", :target => "_blank"}
72
66
  Machinery
67
+ %br
68
+ %a{ :href => "/site/docs/", :target => "_blank" }
69
+ Machinery documentation
70
+
71
+ %span.scope-navigation
72
+ Scopes:
73
+ - scopes.each do |scope|
74
+ %a.btn.btn-default.btn-sm{ :href => "##{scope}", :title => scope_title(scope),
75
+ "data-toggle"=>"popover", "data-content" => scope_help(scope),
76
+ :class => nav_class(scope), "ng-show" => "diff.#{scope}" }
77
+ %span= scope_initials(scope)
73
78
 
74
79
  #content_container
75
80
  %div
data/html/index.html.haml CHANGED
@@ -57,11 +57,14 @@
57
57
  Expand all
58
58
  %a#collapse-all{ :href => "#" }
59
59
  Collapse all
60
- .col-xs-9.nav-buttons
61
- %small.pull-right.pad-top
60
+ .col-xs-10.nav-buttons
61
+ %small.pull-right
62
62
  created by
63
63
  %a{ :href => "http://machinery-project.org", :target => "_blank" }
64
64
  Machinery
65
+ %br
66
+ %a{ :href => "/site/docs/", :target => "_blank" }
67
+ Machinery documentation
65
68
  .filter-input.col-md-4
66
69
  %input.col-md-8#filter{ :placeholder => "Type To Filter" }
67
70
  %a.btn.btn-default.btn-reset{ :href => "#", :title => "Reset Filter" }
@@ -28,10 +28,13 @@
28
28
  %span Reset
29
29
 
30
30
  .col-xs-6.nav-buttons
31
- %small.pull-right.pad-top
31
+ %small.pull-right
32
32
  created by
33
33
  %a{ :href => "http://machinery-project.org", :target => "_blank" }
34
34
  Machinery
35
+ %br
36
+ %a{ :href => "/site/docs/", :target => "_blank" }
37
+ Machinery documentation
35
38
 
36
39
 
37
40
  #content_container
@@ -10,6 +10,8 @@
10
10
  .row.scope_content.collapse.in
11
11
  .col-xs-1
12
12
  .col-xs-11
13
+ %p
14
+ <strong>Files extracted:</strong> #{changed_managed_files.extracted ? "yes" : "no"}
13
15
  - if count == 0
14
16
  There are no changed managed files.
15
17
  - if count > 0
@@ -3,7 +3,7 @@
3
3
  .row
4
4
  .col-xs-10.col-xs-offset-1
5
5
  .well
6
- %span.text-right.dismiss{ title: "Collapse/Expand" }
6
+ %span.text-right.dismiss{ title: "Dismiss" }
7
7
  - if @meta[:uninspected][@description_a.name]
8
8
  %p
9
9
  Couldn't compare
@@ -7,8 +7,20 @@
7
7
  %tr
8
8
  %th Name
9
9
  %th.small Type
10
+ - if list.has_metadata
11
+ %th.medium Mode
12
+ %th.medium User
13
+ %th.medium Group
14
+ %th.medium Size
15
+ %th.medium Files in dir.
10
16
  %tbody
11
17
  - list.each do |file|
12
18
  %tr
13
19
  %td= file.name
14
20
  %td= file.type
21
+ - if list.has_metadata
22
+ %td= file.mode
23
+ %td= file.user
24
+ %td= file.group
25
+ %td= number_to_human_size(file.size)
26
+ %td= file.files
@@ -10,6 +10,8 @@
10
10
  .row.scope_content.collapse.in
11
11
  .col-xs-1
12
12
  .col-xs-11
13
+ %p
14
+ <strong>Files extracted:</strong> #{config_files.extracted ? "yes" : "no"}
13
15
  - if count == 0
14
16
  There are no config files.
15
17
  - if count > 0
@@ -3,7 +3,7 @@
3
3
  .row
4
4
  .col-xs-10.col-xs-offset-1
5
5
  .well
6
- %span.text-right.dismiss{ title: "Collapse/Expand" }
6
+ %span.text-right.dismiss{ title: "Dismiss" }
7
7
  - @errors.each do |error|
8
8
  %p
9
9
  = error
@@ -10,6 +10,8 @@
10
10
  .row.scope_content.collapse.in
11
11
  .col-xs-1
12
12
  .col-xs-11
13
+ %p
14
+ <strong>Files extracted:</strong> #{unmanaged_files.extracted ? "yes" : "no"}
13
15
  - if count == 0
14
16
  There are no unmanaged files.
15
17
  - if count > 0
@@ -18,6 +20,12 @@
18
20
  %tr
19
21
  %th Name
20
22
  %th.medium Type
23
+ - if unmanaged_files.has_metadata
24
+ %th.medium Mode
25
+ %th.medium User
26
+ %th.medium Group
27
+ %th.medium Size
28
+ %th.medium Files in dir.
21
29
  %tbody
22
30
  - unmanaged_files.each do |file|
23
31
  %tr
@@ -29,3 +37,9 @@
29
37
  %span
30
38
  = file.name
31
39
  %td= file.type
40
+ - if unmanaged_files.has_metadata
41
+ %td= file.mode
42
+ %td= file.user
43
+ %td= file.group
44
+ %td= number_to_human_size(file.size)
45
+ %td= file.files
@@ -1,5 +1,5 @@
1
1
  #!/bin/bash
2
- # Copyright (c) 2013-2015 SUSE LLC
2
+ # Copyright (c) 2013-2016 SUSE LLC
3
3
  #
4
4
  # This program is free software; you can redistribute it and/or
5
5
  # modify it under the terms of version 3 of the GNU General Public License as
@@ -1,5 +1,5 @@
1
1
  #!/bin/bash
2
- # Copyright (c) 2013-2015 SUSE LLC
2
+ # Copyright (c) 2013-2016 SUSE LLC
3
3
  #
4
4
  # This program is free software; you can redistribute it and/or
5
5
  # modify it under the terms of version 3 of the GNU General Public License as
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/python
2
- # Copyright (c) 2013-2015 SUSE LLC
2
+ # Copyright (c) 2013-2016 SUSE LLC
3
3
  #
4
4
  # This program is free software; you can redistribute it and/or
5
5
  # modify it under the terms of version 3 of the GNU General Public License as
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2013-2015 SUSE LLC
1
+ # Copyright (c) 2013-2016 SUSE LLC
2
2
  #
3
3
  # This program is free software; you can redistribute it and/or
4
4
  # modify it under the terms of version 3 of the GNU General Public License as
data/lib/array.rb CHANGED
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2013-2015 SUSE LLC
1
+ # Copyright (c) 2013-2016 SUSE LLC
2
2
  #
3
3
  # This program is free software; you can redistribute it and/or
4
4
  # modify it under the terms of version 3 of the GNU General Public License as
data/lib/autoyast.rb CHANGED
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2013-2015 SUSE LLC
1
+ # Copyright (c) 2013-2016 SUSE LLC
2
2
  #
3
3
  # This program is free software; you can redistribute it and/or
4
4
  # modify it under the terms of version 3 of the GNU General Public License as
@@ -66,41 +66,41 @@ class Autoyast < Exporter
66
66
  end
67
67
 
68
68
  def profile
69
- builder = Nokogiri::XML::Builder.new do |xml|
70
- xml.doc.create_internal_subset("profile", nil, nil)
71
- xml.profile(
72
- "xmlns" => "http://www.suse.com/1.0/yast2ns",
73
- "xmlns:config" => "http://www.suse.com/1.0/configns"
74
- ) do
75
- apply_non_interactive_mode(xml)
76
- apply_basic_network(xml)
77
- apply_repositories(xml)
78
- xml.software do
79
- apply_software_settings(xml)
80
- apply_packages(xml)
81
- apply_patterns(xml)
82
- end
83
- apply_users(xml)
84
- apply_groups(xml)
85
- apply_services(xml)
86
-
87
- apply_changed_files("config_files")
88
- apply_changed_files("changed_managed_files")
89
- apply_unmanaged_files
90
- xml.scripts do
91
- apply_url_extraction(xml)
92
- xml.send("chroot-scripts", "config:type" => "list") do
93
- xml.script do
94
- xml.source do
95
- xml.cdata @chroot_scripts.join("\n")
96
- end
69
+ xml = Builder::XmlMarkup.new(indent: 2)
70
+ xml.instruct! :xml
71
+ xml.declare! :DOCTYPE, :profile
72
+ xml.profile(
73
+ "xmlns" => "http://www.suse.com/1.0/yast2ns",
74
+ "xmlns:config" => "http://www.suse.com/1.0/configns"
75
+ ) do
76
+ apply_non_interactive_mode(xml)
77
+ apply_basic_network(xml)
78
+ apply_repositories(xml)
79
+ xml.software do
80
+ apply_software_settings(xml)
81
+ apply_packages(xml)
82
+ apply_patterns(xml)
83
+ end
84
+ apply_users(xml)
85
+ apply_groups(xml)
86
+ apply_services(xml)
87
+
88
+ apply_changed_files("config_files")
89
+ apply_changed_files("changed_managed_files")
90
+ apply_unmanaged_files
91
+ xml.scripts do
92
+ apply_url_extraction(xml)
93
+ xml.tag!("chroot-scripts", "config:type" => "list") do
94
+ xml.script do
95
+ xml.source do
96
+ xml.cdata! @chroot_scripts.join("\n")
97
97
  end
98
98
  end
99
99
  end
100
100
  end
101
101
  end
102
102
 
103
- builder.to_xml
103
+ xml.target!
104
104
  end
105
105
 
106
106
  def outgoing_ip
@@ -140,7 +140,7 @@ class Autoyast < Exporter
140
140
  def apply_repositories(xml)
141
141
  return if !@system_description.repositories
142
142
 
143
- xml.send("add-on") do
143
+ xml.tag!("add-on") do
144
144
  xml.add_on_products("config:type" => "list") do
145
145
  @system_description.repositories.each do |repository|
146
146
  if repository.enabled && !repository.external_medium?
@@ -239,7 +239,7 @@ class Autoyast < Exporter
239
239
  def apply_services(xml)
240
240
  return if !@system_description.services
241
241
 
242
- xml.send("services-manager") do
242
+ xml.tag!("services-manager") do
243
243
  xml.services("config:type" => "list") do
244
244
  @system_description.services.each do |service|
245
245
  name = service.name
@@ -268,10 +268,10 @@ class Autoyast < Exporter
268
268
  end
269
269
 
270
270
  def apply_url_extraction(xml)
271
- xml.send("pre-scripts", "config:type" => "list") do
271
+ xml.tag!("pre-scripts", "config:type" => "list") do
272
272
  xml.script do
273
273
  xml.source do
274
- xml.cdata 'sed -n \'/.*autoyast2\?=\([^ ]*\)\/.*[^\s]*/s//\1/p\'' \
274
+ xml.cdata! 'sed -n \'/.*autoyast2\?=\([^ ]*\)\/.*[^\s]*/s//\1/p\'' \
275
275
  ' /proc/cmdline > /tmp/description_url'
276
276
  end
277
277
  end
data/lib/build_task.rb CHANGED
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2013-2015 SUSE LLC
1
+ # Copyright (c) 2013-2016 SUSE LLC
2
2
  #
3
3
  # This program is free software; you can redistribute it and/or
4
4
  # modify it under the terms of version 3 of the GNU General Public License as
data/lib/cli.rb CHANGED
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2013-2015 SUSE LLC
1
+ # Copyright (c) 2013-2016 SUSE LLC
2
2
  #
3
3
  # This program is free software; you can redistribute it and/or
4
4
  # modify it under the terms of version 3 of the GNU General Public License as
@@ -43,9 +43,9 @@ class Cli
43
43
  post do |global_options,command,options,args|
44
44
  if command.is_a?(GLI::Commands::Help) && !global_options[:version] && ARGV == ["help"]
45
45
 
46
- Machinery::Ui.puts "\nFor more detailed information, open the man page by typing 'man " \
47
- "machinery'.\nIf you are unable to find a solution within the man page visit our wiki " \
48
- "page\nat https://github.com/SUSE/machinery/wiki"
46
+ Machinery::Ui.puts "\nFor more detailed information, open the documentation by typing " \
47
+ "'machinery man --html'.\nIf you are unable to find a solution within the man page " \
48
+ "visit our wiki page\nat https://github.com/SUSE/machinery/wiki"
49
49
 
50
50
  Machinery::Ui.puts "\nMachinery can show hints which guide through a typical workflow."
51
51
  if @config.hints
@@ -518,6 +518,10 @@ class Cli
518
518
  "Either provide one file or directory name or a list of names separated by commas."
519
519
  c.switch ["extract-files", :x], required: false, negatable: false,
520
520
  desc: "Extract changed configuration files and unmanaged files from inspected system"
521
+ if @config.experimental_features
522
+ c.switch ["extract-metadata", :m], required: false, negatable: false,
523
+ desc: "Extract unmanaged files metadata without extracting the files."
524
+ end
521
525
  c.switch "extract-changed-config-files", required: false, negatable: false,
522
526
  desc: "Extract changed configuration files from inspected system"
523
527
  c.switch "extract-unmanaged-files", required: false, negatable: false,
@@ -556,6 +560,9 @@ class Cli
556
560
  if options["extract-files"] || options["extract-unmanaged-files"]
557
561
  inspect_options[:extract_unmanaged_files] = true
558
562
  end
563
+ if options["extract-metadata"]
564
+ inspect_options[:extract_metadata] = true
565
+ end
559
566
 
560
567
  filter = FilterOptionParser.parse("inspect", options)
561
568
 
@@ -710,9 +717,17 @@ class Cli
710
717
 
711
718
  LONGDESC
712
719
  command "man" do |c|
713
- c.action do
720
+ c.switch "html", required: false, negatable: false,
721
+ desc: "Open documentation in HTML format in your web browser."
722
+
723
+ c.action do |_global_options, options, _args|
724
+ options = {
725
+ ip: "127.0.0.1",
726
+ port: @config.http_server_port
727
+ }.merge(options)
728
+
714
729
  task = ManTask.new
715
- task.man
730
+ task.man(options)
716
731
  end
717
732
  end
718
733