Hello community, here is the log from the commit of package autoyast2 for openSUSE:Factory checked in at 2015-05-06 07:48:30 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/autoyast2 (Old) and /work/SRC/openSUSE:Factory/.autoyast2.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "autoyast2" Changes: -------- --- /work/SRC/openSUSE:Factory/autoyast2/autoyast2.changes 2015-04-27 22:08:56.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.autoyast2.new/autoyast2.changes 2015-05-06 07:48:31.000000000 +0200 @@ -1,0 +2,13 @@ +Tue May 5 15:05:18 CEST 2015 - [email protected] + +- Reporting unknown and unsupported profile sections (bnc#925381) +- 3.1.76 + +------------------------------------------------------------------- +Mon May 4 12:49:40 CEST 2015 - [email protected] + +- Evaluate the correct host IP in order to read the proper + autoyast.xml file (bnc#928303, 908356, 916628) +- 3.1.75 + +------------------------------------------------------------------- Old: ---- autoyast2-3.1.74.tar.bz2 New: ---- autoyast2-3.1.76.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ autoyast2.spec ++++++ --- /var/tmp/diff_new_pack.66fAiG/_old 2015-05-06 07:48:32.000000000 +0200 +++ /var/tmp/diff_new_pack.66fAiG/_new 2015-05-06 07:48:32.000000000 +0200 @@ -17,7 +17,7 @@ Name: autoyast2 -Version: 3.1.74 +Version: 3.1.76 Release: 0 BuildRoot: %{_tmppath}/%{name}-%{version}-build ++++++ autoyast2-3.1.74.tar.bz2 -> autoyast2-3.1.76.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/autoyast2-3.1.74/package/autoyast2.changes new/autoyast2-3.1.76/package/autoyast2.changes --- old/autoyast2-3.1.74/package/autoyast2.changes 2015-04-27 10:29:12.000000000 +0200 +++ new/autoyast2-3.1.76/package/autoyast2.changes 2015-05-05 16:39:08.000000000 +0200 @@ -1,4 +1,17 @@ ------------------------------------------------------------------- +Tue May 5 15:05:18 CEST 2015 - [email protected] + +- Reporting unknown and unsupported profile sections (bnc#925381) +- 3.1.76 + +------------------------------------------------------------------- +Mon May 4 12:49:40 CEST 2015 - [email protected] + +- Evaluate the correct host IP in order to read the proper + autoyast.xml file (bnc#928303, 908356, 916628) +- 3.1.75 + +------------------------------------------------------------------- Fri Apr 10 10:48:04 CEST 2015 - [email protected] - New autoinst flag in general/mode section: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/autoyast2-3.1.74/package/autoyast2.spec new/autoyast2-3.1.76/package/autoyast2.spec --- old/autoyast2-3.1.74/package/autoyast2.spec 2015-04-27 10:29:12.000000000 +0200 +++ new/autoyast2-3.1.76/package/autoyast2.spec 2015-05-05 16:39:08.000000000 +0200 @@ -17,7 +17,7 @@ Name: autoyast2 -Version: 3.1.74 +Version: 3.1.76 Release: 0 BuildRoot: %{_tmppath}/%{name}-%{version}-build diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/autoyast2-3.1.74/src/clients/inst_autoconfigure.rb new/autoyast2-3.1.76/src/clients/inst_autoconfigure.rb --- old/autoyast2-3.1.74/src/clients/inst_autoconfigure.rb 2015-04-27 10:29:12.000000000 +0200 +++ new/autoyast2-3.1.76/src/clients/inst_autoconfigure.rb 2015-05-05 16:39:08.000000000 +0200 @@ -9,6 +9,8 @@ # $Id$ module Yast class InstAutoconfigureClient < Client + include Yast::Logger + def main Yast.import "UI" textdomain "autoinst" @@ -22,6 +24,7 @@ Yast.import "Y2ModuleConfig" Yast.import "Label" Yast.import "Mode" + Yast.import "Report" @current_step = 0 # Required by logStep() @@ -72,11 +75,39 @@ Wizard.DisableAbortButton - - Builtins.y2debug("Module map: %1", Y2ModuleConfig.ModuleMap) Builtins.y2debug("Current profile: %1", Profile.current) + unsupported_sections = Y2ModuleConfig.unsupported_profile_sections + if unsupported_sections.any? + log.error "Could not process these unsupported profile sections: #{unsupported_sections}" + Report.LongError( + # TRANSLATORS: Error message, %s is replaced by newline-separated + # list of unsupported sections of the profile + # Do not translate words in brackets + _( + "These sections of AutoYaST profile are not supported anymore:\n\n%s\n\n" \ + "Please, use, e.g., <scripts/> or <files/> to change the configuration." + ) % unsupported_sections.map{|section| "<#{section}/>"}.join("\n") + ) + end + + # Report only those that are 'not unsupported', these were already reported + unknown_sections = Y2ModuleConfig.unhandled_profile_sections - unsupported_sections + if unknown_sections.any? + log.error "Could not process these unknown profile sections: #{unknown_sections}" + Report.LongError( + # TRANSLATORS: Error message, %s is replaced by newline-separated + # list of unknown sections of the profile + # Do not translate words in brackets + _( + "These sections of AutoYaST profile cannot be processed on this system:\n\n%s\n\n" \ + "Maybe they were misspelled or your profile does not contain " \ + "all the needed YaST packages in <software/> section." + ) % + unknown_sections.map{|section| "<#{section}/>"}.join("\n") + ) + end @deps = Y2ModuleConfig.Deps @@ -104,11 +135,11 @@ d = Ops.get_map(r, "data", {}) if Ops.get_string(d, "X-SuSE-YaST-AutoInst", "") == "all" || Ops.get_string(d, "X-SuSE-YaST-AutoInst", "") == "write" - if Builtins.haskey(d, "X-SuSE-YaST-AutoInstResource") && - Ops.get_string(d, "X-SuSE-YaST-AutoInstResource", "") != "" + if Builtins.haskey(d, Yast::Y2ModuleConfigClass::RESOURCE_NAME_KEY) && + Ops.get_string(d, Yast::Y2ModuleConfigClass::RESOURCE_NAME_KEY, "") != "" @resource = Ops.get_string( d, - "X-SuSE-YaST-AutoInstResource", + Yast::Y2ModuleConfigClass::RESOURCE_NAME_KEY, "unknown" ) else diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/autoyast2-3.1.74/src/modules/AutoInstallRules.rb new/autoyast2-3.1.76/src/modules/AutoInstallRules.rb --- old/autoyast2-3.1.74/src/modules/AutoInstallRules.rb 2015-04-27 10:29:12.000000000 +0200 +++ new/autoyast2-3.1.76/src/modules/AutoInstallRules.rb 2015-05-05 16:39:08.000000000 +0200 @@ -159,12 +159,18 @@ # @return [String] host ID def getHostid if Stage.initial - @hostaddress = Convert.to_string(SCR.Read(path(".etc.install_inf.IP"))) + wicked_ret = SCR.Execute(path(".target.bash_output"), "/usr/sbin/wicked show --verbose all|grep pref-src") + if wicked_ret["exit"] == 0 + stdout = wicked_ret["stdout"].split + @hostaddress = stdout[stdout.index("pref-src")+1] + else + log.warn "Cannot evaluate IP address with wicked: #{wicked_ret["stderr"]}" + @hostaddress = nil + end else @hostaddress = "192.168.1.1" # FIXME end - hex = IP.ToHex(@hostaddress) - hex + IP.ToHex(@hostaddress) end # Return host name diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/autoyast2-3.1.74/src/modules/Profile.rb new/autoyast2-3.1.76/src/modules/Profile.rb --- old/autoyast2-3.1.74/src/modules/Profile.rb 2015-04-27 10:29:12.000000000 +0200 +++ new/autoyast2-3.1.76/src/modules/Profile.rb 2015-05-05 16:39:08.000000000 +0200 @@ -10,6 +10,37 @@ module Yast class ProfileClass < Module + # All these sections are handled by AutoYaST (or Installer) itself, + # it doesn't use any external AutoYaST client for them + GENERIC_PROFILE_SECTIONS = [ + # Bug: this is already in every auto-generated profile + "deploy_image", + # AutoYaST configuration - complete configuration files + "files", + # AutoYaST configuration - default values + "general", + # AutoYaST has its own partitioning + "partitioning", + # AutoYaST has its Preboot Execution Environment configuration + "pxe", + # AutoYaST configuration - pre and post-install scripts + "scripts", + # AutoYaST has also its own software selection + "software", + # Bug: This top-level entry belongs to users / groups + "user_defaults", + ] + + # Dropped YaST modules that used to provide AutoYaST functionality + # bsc#925381 + OBSOLETE_PROFILE_SECTIONS = [ + # FATE#316185: Drop YaST AutoFS module + "autofs", + # FATE#308682: Drop yast2-backup and yast2-restore modules + "restore", + "sshd", + ] + def main Yast.import "UI" textdomain "autoinst" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/autoyast2-3.1.74/src/modules/Y2ModuleConfig.rb new/autoyast2-3.1.76/src/modules/Y2ModuleConfig.rb --- old/autoyast2-3.1.74/src/modules/Y2ModuleConfig.rb 2015-04-27 10:29:12.000000000 +0200 +++ new/autoyast2-3.1.76/src/modules/Y2ModuleConfig.rb 2015-05-05 16:39:08.000000000 +0200 @@ -10,6 +10,11 @@ module Yast class Y2ModuleConfigClass < Module + # Key for AutoYaST client name in desktop file + RESOURCE_NAME_KEY = "X-SuSE-YaST-AutoInstResource" + + include Yast::Logger + def main textdomain "autoinst" @@ -44,7 +49,7 @@ "Icon", "Hidden", "X-SuSE-YaST-AutoInst", - "X-SuSE-YaST-AutoInstResource", + RESOURCE_NAME_KEY, "X-SuSE-YaST-AutoInstClient", "X-SuSE-YaST-Group", "X-SuSE-YaST-AutoInstMerge", @@ -187,7 +192,7 @@ def getResource(default_resource) ret = Ops.get_string( @ModuleMap, - [default_resource, "X-SuSE-YaST-AutoInstResource"], + [default_resource, RESOURCE_NAME_KEY], "" ) if ret == "" @@ -205,7 +210,7 @@ resourceMap = deep_copy(resourceMap) tmp_resource = Ops.get_string( resourceMap, - "X-SuSE-YaST-AutoInstResource", + RESOURCE_NAME_KEY, "" ) resource = tmp_resource if tmp_resource != "" @@ -335,6 +340,35 @@ true end + # Returns list of all profile sections from the current profile, including + # unsupported ones, that do not have any handler (AutoYaST client) assigned + # at the current system and are not handled by AutoYaST itself. + # + # @return [Array<String>] of unknown profile sections + def unhandled_profile_sections + profile_sections = Profile.current.keys + + profile_handlers = @ModuleMap.map do |name, desc| + desc[RESOURCE_NAME_KEY] || name + end + + profile_sections.reject! do |section| + profile_handlers.include?(section) + end + + # Generic sections are handled by AutoYast itself and not mentioned + # in any desktop file + profile_sections - Yast::ProfileClass::GENERIC_PROFILE_SECTIONS + end + + # Returns list of all profile sections from the current profile that are + # obsolete, e.g., we do not support them anymore. + # + # @return [Array<String>] of unsupported profile sections + def unsupported_profile_sections + unhandled_profile_sections & Yast::ProfileClass::OBSOLETE_PROFILE_SECTIONS + end + publish :variable => :GroupMap, :type => "map <string, map>" publish :variable => :ModuleMap, :type => "map <string, map>" publish :variable => :MenuTreeData, :type => "list <map>" @@ -343,6 +377,8 @@ publish :function => :getResourceData, :type => "any (map, string)" publish :function => :Deps, :type => "list <map> ()" publish :function => :SetDesktopIcon, :type => "boolean (string)" + publish :function => :unhandled_profile_sections, :type => "list <string> ()" + publish :function => :unsupported_profile_sections, :type => "list <string> ()" end Y2ModuleConfig = Y2ModuleConfigClass.new diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/autoyast2-3.1.74/test/AutoInstallRules_test.rb new/autoyast2-3.1.76/test/AutoInstallRules_test.rb --- old/autoyast2-3.1.74/test/AutoInstallRules_test.rb 2015-04-27 10:29:12.000000000 +0200 +++ new/autoyast2-3.1.76/test/AutoInstallRules_test.rb 2015-05-05 16:39:08.000000000 +0200 @@ -7,6 +7,8 @@ describe Yast::AutoInstallRules do subject { Yast::AutoInstallRules } + let(:root_path) { File.expand_path('../..', __FILE__) } + describe "#cpeid_map" do it "parses SLES12 CPE ID" do expect(subject.send(:cpeid_map, "cpe:/o:suse:sles:12")).to eq( @@ -112,4 +114,26 @@ end end + describe "#Host ID" do + let(:wicked_output_path) { File.join(root_path, 'test', 'fixtures', 'output', 'wicked_output') } + it "returns host IP in hex format (initial Stage)" do + expect(Yast::SCR).to receive(:Execute).with(Yast::Path.new(".target.bash_output"), "/usr/sbin/wicked show --verbose all|grep pref-src").and_return({"stdout"=>File.read(wicked_output_path), "exit"=>0}) + expect(Yast::Stage).to receive(:initial).and_return(true) + expect(subject.getHostid).to eq("C0A864DA") + end + + it "returns fix 192.168.1.1 in hex format (normal Stage)" do + expect(Yast::Stage).to receive(:initial).and_return(false) + expect(subject.getHostid).to eq("C0A80101") + end + + it "returns nil if wicked does not find IP address" do + expect(Yast::Stage).to receive(:initial).and_return(true) + expect(Yast::SCR).to receive(:Execute).with(Yast::Path.new(".target.bash_output"), "/usr/sbin/wicked show --verbose all|grep pref-src").and_return({"stderr"=>"error from wicked", "exit"=>1}) + expect(subject.getHostid).to eq(nil) + end + + end + + end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/autoyast2-3.1.74/test/AutoinstClass_test.rb new/autoyast2-3.1.76/test/AutoinstClass_test.rb --- old/autoyast2-3.1.74/test/AutoinstClass_test.rb 2015-04-27 10:29:12.000000000 +0200 +++ new/autoyast2-3.1.76/test/AutoinstClass_test.rb 2015-05-05 16:39:08.000000000 +0200 @@ -219,6 +219,7 @@ let(:output_xml) { File.read(output_path) } let(:dontmerge) { [] } let(:merge_xslt_path) { File.join('xslt', 'merge.xslt') } + let(:conf_to_merge) { { "class" => "swap", "name" => "largeswap.xml" } } let(:xsltproc_command) { "/usr/bin/xsltproc --novalid --param replace \"'false'\" " \ "--param with \"'#{subject.findPath("largeswap.xml", "swap")}'\" "\ @@ -246,7 +247,7 @@ it 'executes xsltproc and returns a hash with info about the result' do expect(Yast::SCR).to receive(:Execute). with(Yast::Path.new(".target.bash_output"), xsltproc_command, {}).and_call_original - out = subject.MergeClasses(subject.confs[0], base_profile_path, 'output.xml') + out = subject.MergeClasses(conf_to_merge, base_profile_path, 'output.xml') expect(out).to eq({ 'exit' => 0, 'stderr' => '', 'stdout' => '' }) end @@ -256,7 +257,7 @@ it 'merges elements from profile and configuration' do expect(Yast::SCR).to receive(:Execute). with(Yast::Path.new(".target.bash_output"), xsltproc_command, {}).and_call_original - subject.MergeClasses(subject.confs[0], base_profile_path, 'output.xml') + subject.MergeClasses(conf_to_merge, base_profile_path, 'output.xml') expect(output_xml).to eq(expected_xml) end end @@ -275,7 +276,7 @@ it 'does not merge those elements' do expect(Yast::SCR).to receive(:Execute). with(Yast::Path.new(".target.bash_output"), xsltproc_command, {}).and_call_original - subject.MergeClasses(subject.confs[0], base_profile_path, 'output.xml') + subject.MergeClasses(conf_to_merge, base_profile_path, 'output.xml') expect(output_xml).to eq(expected_xml) end end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/autoyast2-3.1.74/test/Makefile.am new/autoyast2-3.1.76/test/Makefile.am --- old/autoyast2-3.1.74/test/Makefile.am 2015-04-27 10:29:12.000000000 +0200 +++ new/autoyast2-3.1.76/test/Makefile.am 2015-05-05 16:39:08.000000000 +0200 @@ -2,7 +2,9 @@ # Makefile.am for autoinstallation/test # -TESTS = AutoInstallRules_test.rb +TESTS = \ + AutoInstallRules_test.rb \ + Y2ModuleConfig_test.rb TEST_EXTENSIONS = .rb RB_LOG_COMPILER = rspec diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/autoyast2-3.1.74/test/Y2ModuleConfig_test.rb new/autoyast2-3.1.76/test/Y2ModuleConfig_test.rb --- old/autoyast2-3.1.74/test/Y2ModuleConfig_test.rb 1970-01-01 01:00:00.000000000 +0100 +++ new/autoyast2-3.1.76/test/Y2ModuleConfig_test.rb 2015-05-05 16:39:08.000000000 +0200 @@ -0,0 +1,43 @@ +#!/usr/bin/env rspec + +require_relative "test_helper" +require "yaml" + +Yast.import "Y2ModuleConfig" +Yast.import "Desktop" +Yast.import "Profile" + +describe Yast::Y2ModuleConfig do + FIXTURES_PATH = File.join(File.dirname(__FILE__), 'fixtures') + DESKTOP_DATA = YAML::load_file(File.join(FIXTURES_PATH, 'desktop_files', 'desktops.yml')) + + describe "#unhandled_profile_sections" do + let(:profile_unhandled) { File.join(FIXTURES_PATH, 'profiles', 'unhandled_and_obsolete.xml') } + + it "returns all unsupported and unknown profile sections" do + Yast::Profile.ReadXML(profile_unhandled) + Yast::Y2ModuleConfig.instance_variable_set("@ModuleMap", DESKTOP_DATA) + + expect(Yast::Y2ModuleConfig.unhandled_profile_sections.sort).to eq( + [ + "audit-laf", "autofs", "ca_mgm", "firstboot", "language", "restore", + "runlevel", "sshd", "sysconfig", "unknown_profile_item_1", + "unknown_profile_item_2", "users" + ].sort + ) + end + end + + describe "#unsupported_profile_sections" do + let(:profile_unsupported) { File.join(FIXTURES_PATH, 'profiles', 'unhandled_and_obsolete.xml') } + + it "returns all unsupported profile sections" do + Yast::Profile.ReadXML(profile_unsupported) + Yast::Y2ModuleConfig.instance_variable_set("@ModuleMap", DESKTOP_DATA) + + expect(Yast::Y2ModuleConfig.unsupported_profile_sections.sort).to eq( + ["autofs", "restore", "sshd"].sort + ) + end + end +end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/autoyast2-3.1.74/test/fixtures/desktop_files/desktops.yml new/autoyast2-3.1.76/test/fixtures/desktop_files/desktops.yml --- old/autoyast2-3.1.74/test/fixtures/desktop_files/desktops.yml 1970-01-01 01:00:00.000000000 +0100 +++ new/autoyast2-3.1.76/test/fixtures/desktop_files/desktops.yml 2015-05-05 16:39:08.000000000 +0200 @@ -0,0 +1,59 @@ +--- +firewall: + Name: Firewall + GenericName: Configure a firewall + Icon: yast-firewall + X-SuSE-YaST-AutoInst: all + X-SuSE-YaST-Group: Security + X-SuSE-YaST-AutoInstClonable: 'true' + X-SuSE-YaST-AutoInstRequires: lan + X-SuSE-DocTeamID: ycc_firewall + X-SuSE-YaST-AutoInstClient: firewall_auto +host: + Name: Hostnames + GenericName: Assign hostnames and aliases to IP addresses + Icon: yast-host + X-SuSE-YaST-AutoInst: all + X-SuSE-YaST-AutoInstResource: host + X-SuSE-YaST-Group: Net_advanced + X-SuSE-YaST-AutoInstClonable: 'true' + X-SuSE-DocTeamID: ycc_host + X-SuSE-YaST-AutoInstClient: host_auto +lan: + Name: Network Settings + GenericName: Configure network cards, hostname and routing + Icon: yast-lan + X-SuSE-YaST-AutoInst: all + X-SuSE-YaST-AutoInstResource: networking + X-SuSE-YaST-Group: Network + X-SuSE-YaST-AutoInstClonable: 'true' + X-SuSE-DocTeamID: ycc_lan + X-SuSE-YaST-AutoInstClient: lan_auto +nfs: + Name: NFS Client + GenericName: Configure an NFS client + Icon: yast-nfs + X-SuSE-YaST-AutoInst: all + X-SuSE-YaST-Group: Net_advanced + X-SuSE-YaST-AutoInstDataType: map + X-SuSE-YaST-AutoInstClonable: 'true' + X-SuSE-YaST-AutoInstRequires: lan + X-SuSE-DocTeamID: ycc_nfs + X-SuSE-YaST-AutoInstClient: nfs_auto +new: + Name: New Client + GenericName: Configure something + Icon: yast-new + X-SuSE-YaST-AutoInst: all + X-SuSE-YaST-AutoInstResource: new + X-SuSE-YaST-Group: Network + X-SuSE-YaST-AutoInstDataType: map + X-SuSE-YaST-AutoInstClonable: 'true' + X-SuSE-YaST-AutoInstRequires: new + X-SuSE-DocTeamID: ycc_new + X-SuSE-YaST-AutoInstClient: new_auto +security: + Name: Security settings + GenericName: Configure secure defaults + X-SuSE-YaST-AutoInst: all + X-SuSE-YaST-AutoInstClient: security_auto diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/autoyast2-3.1.74/test/fixtures/output/wicked_output new/autoyast2-3.1.76/test/fixtures/output/wicked_output --- old/autoyast2-3.1.74/test/fixtures/output/wicked_output 1970-01-01 01:00:00.000000000 +0100 +++ new/autoyast2-3.1.76/test/fixtures/output/wicked_output 2015-05-05 16:39:08.000000000 +0200 @@ -0,0 +1 @@ +route: ipv4 192.168.100.0/24 dev #0 type unicast table main scope link protocol kernel pref-src 192.168.100.218 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/autoyast2-3.1.74/test/fixtures/profiles/unhandled_and_obsolete.xml new/autoyast2-3.1.76/test/fixtures/profiles/unhandled_and_obsolete.xml --- old/autoyast2-3.1.74/test/fixtures/profiles/unhandled_and_obsolete.xml 1970-01-01 01:00:00.000000000 +0100 +++ new/autoyast2-3.1.76/test/fixtures/profiles/unhandled_and_obsolete.xml 2015-05-05 16:39:08.000000000 +0200 @@ -0,0 +1,100 @@ +<?xml version="1.0"?> +<!DOCTYPE profile> +<profile xmlns="http://www.suse.com/1.0/yast2ns" xmlns:config="http://www.suse.com/1.0/configns"> + <!-- These are not supported anymore --> + <sshd> + <x config:type="boolean">false</x> + </sshd> + <autofs> + <x config:type="boolean">false</x> + </autofs> + <restore> + <x config:type="boolean">false</x> + </restore> + + <!-- These are unknown --> + <unknown_profile_item_1> + <x config:type="boolean">false</x> + </unknown_profile_item_1> + <unknown_profile_item_2> + <x config:type="boolean">false</x> + </unknown_profile_item_2> + + <!-- + These are all supported and known (to make sure we do not report + them as unknown or unsupported) + --> + <audit-laf><x config:type="boolean">false</x></audit-laf> + <general><x config:type="boolean">false</x></general> + <runlevel><x config:type="boolean">false</x></runlevel> + <security><x config:type="boolean">false</x></security> + <firstboot><x config:type="boolean">false</x></firstboot> + <sysconfig><x config:type="boolean">false</x></sysconfig> + <scripts><x config:type="boolean">false</x></scripts> + <files><x config:type="boolean">false</x></files> + <pxe><x config:type="boolean">false</x></pxe> + <language><x config:type="boolean">false</x></language> + <ca_mgm><x config:type="boolean">false</x></ca_mgm> + <groups/> + <deploy_image> + <image_installation config:type="boolean">false</image_installation> + </deploy_image> + <networking> + <keep_install_network config:type="boolean">true</keep_install_network> + </networking> + <software> + <image/> + <instsource/> + <packages config:type="list"> + <package>grub2</package> + <package>glibc</package> + <package>openssh</package> + <package>mc</package> + <package>syslinux</package> + <package>kexec-tools</package> + <package>sles-release</package> + </packages> + <patterns config:type="list"> + <pattern>Minimal</pattern> + <pattern>base</pattern> + <pattern>laptop</pattern> + <pattern>x11</pattern> + </patterns> + </software> + + + <user_defaults> + <expire/> + <group>100</group> + <groups/> + <home>/home</home> + <inactive>-1</inactive> + <no_groups config:type="boolean">true</no_groups> + <shell>/bin/bash</shell> + <skel>/etc/skel</skel> + <umask>022</umask> + </user_defaults> + <users config:type="list"> + <user> + <encrypted config:type="boolean">true</encrypted> + <fullname>root</fullname> + <gid>0</gid> + <home>/root</home> + <password_settings> + <expire/> + <flag/> + <inact/> + <max/> + <min/> + <warn/> + </password_settings> + <shell>/bin/bash</shell> + <uid>0</uid> + <user_password>$6$0TfzIJLtYubi$13y4.XJeO082KRmhh8xSPw/ijYXbufIZpxqIB2/lwSVuPvsmol4kNTzO3vTVJyOucxGSSISE1DOX8lnvAybkH/</user_password> + <username>root</username> + </user> + </users> + + <!-- Handler mocked in fixtures --> + <new><something config:type="boolean">true</something></new> +</profile>
