machinery-tool 1.17.0 → 1.18.0

Sign up to get free protection for your applications and to get access to all the features.
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