Author: lslezak Date: Thu Sep 8 14:33:41 2011 New Revision: 65605 URL: http://svn.opensuse.org/viewcvs/yast?rev=65605&view=rev Log: - read biosdevname option directly from /proc/cmdline (bnc#712049) Added: trunk/packager/testsuite/tests/Packages.err trunk/packager/testsuite/tests/Packages.out trunk/packager/testsuite/tests/Packages.ycp Modified: trunk/packager/package/yast2-packager.changes trunk/packager/src/modules/Packages.ycp Modified: trunk/packager/package/yast2-packager.changes URL: http://svn.opensuse.org/viewcvs/yast/trunk/packager/package/yast2-packager.changes?rev=65605&r1=65604&r2=65605&view=diff ============================================================================== --- trunk/packager/package/yast2-packager.changes (original) +++ trunk/packager/package/yast2-packager.changes Thu Sep 8 14:33:41 2011 @@ -1,4 +1,9 @@ ------------------------------------------------------------------- +Thu Sep 8 09:12:40 UTC 2011 - lslezak@suse.cz + +- read biosdevname option directly from /proc/cmdline (bnc#712049) + +------------------------------------------------------------------- Fri Sep 2 12:28:58 UTC 2011 - lslezak@suse.cz - intialize the target in the second stage to read the GPG keys, Modified: trunk/packager/src/modules/Packages.ycp URL: http://svn.opensuse.org/viewcvs/yast/trunk/packager/src/modules/Packages.ycp?rev=65605&r1=65604&r2=65605&view=diff ============================================================================== --- trunk/packager/src/modules/Packages.ycp (original) +++ trunk/packager/src/modules/Packages.ycp Thu Sep 8 14:33:41 2011 @@ -834,31 +834,24 @@ { list<string> ret = []; - string biosdevname = (string)SCR::Read(.etc.install_inf.biosdevname); - y2milestone("read biosdevname option: %1", biosdevname); boolean add_biosdevname = false; + string cmdline = (string)SCR::Read(.target.string, "/proc/cmdline"); - if (biosdevname == "1") - { - y2milestone("Found biosdevname=1 kernel option, selecting biosdevname package to install"); - add_biosdevname = true; - } - else - { - string cmdline = (string)SCR::Read(.target.string, "/proc/cmdline"); + list<string> options = splitstring(cmdline, " \t"); - if (!issubstring(cmdline, "biosdevname")) - { - y2milestone("Missing biosdevname option, autodetecting..."); - if (DellSystem()) - { - add_biosdevname = true; - } - } - else - { - y2milestone("biosdevname disabled via kernel option, NOT selecting biosdevname package to install"); - } + if (contains(options, "biosdevname=1")) { + y2milestone("Biosdevname explicitly enabled"); + add_biosdevname = true; + } + else if (contains(options, "biosdevname=0")) { + y2milestone("Biosdevname explicitly disabled"); + add_biosdevname = false; + } + else { + y2milestone("Missing biosdevname option, autodetecting..."); + if (DellSystem()) { + add_biosdevname = true; + } } if (add_biosdevname) Added: trunk/packager/testsuite/tests/Packages.err URL: http://svn.opensuse.org/viewcvs/yast/trunk/packager/testsuite/tests/Packages.err?rev=65605&view=auto ============================================================================== (empty) Added: trunk/packager/testsuite/tests/Packages.out URL: http://svn.opensuse.org/viewcvs/yast/trunk/packager/testsuite/tests/Packages.out?rev=65605&view=auto ============================================================================== --- trunk/packager/testsuite/tests/Packages.out (added) +++ trunk/packager/testsuite/tests/Packages.out Thu Sep 8 14:33:41 2011 @@ -0,0 +1,24 @@ +Read .target.tmpdir "/tmp" +Read .target.stat "/y2update/control.xml" $["isreg":true] +Read .target.size "/y2update/control.xml" 1 +Read .xml "/y2update/control.xml" $[] +Read .sysconfig.console.CONSOLE_ENCODING "UTF-8" +Execute .target.bash_output "locale -k charmap" $["exit":0, "stdout":"charmap=\"UTF-8\"\n"] +Read .sysconfig.language.RC_LANG "en_US.UTF-8" +Read .target.size "/etc/sysconfig/language" 1 +Read .sysconfig.language.ROOT_USES_LANG "ctype" +Read .sysconfig.language.RC_LANG "en_US.UTF-8" +Read .sysconfig.language.INSTALLED_LANGUAGES "" +Read .target.string ["//etc/SuSE-release", "?"] "SUSE Linux Enterprise Server 11 (x86_64)\nVERSION = 11\nPATCHLEVEL = 1\n" +Read .target.string ["//etc/SuSE-release", "?"] "SUSE Linux Enterprise Server 11 (x86_64)\nVERSION = 11\nPATCHLEVEL = 1\n" +Dump ----- biosdevname tests ----- +Read .target.string "/proc/cmdline" "install=cd:// vga=0x314 biosdevname=1" +Return ["biosdevname"] +Read .target.string "/proc/cmdline" "install=cd:// vga=0x314 biosdevname=0" +Return [] +Read .target.string "/proc/cmdline" "install=cd:// vga=0x314" +Execute .target.bash_output "/usr/sbin/hwinfo --bios" $["exit":0, "stderr":"", "stdout":" BIOS Info: #0\n Vendor: \"Dell Inc.\"\n Version: \"A03\""] +Return ["biosdevname"] +Read .target.string "/proc/cmdline" "install=cd:// vga=0x314" +Execute .target.bash_output "/usr/sbin/hwinfo --bios" $["exit":0, "stderr":"", "stdout":" BIOS Info: #0\n Vendor: \"FooBar Inc.\"\n Version: \"001\""] +Return [] Added: trunk/packager/testsuite/tests/Packages.ycp URL: http://svn.opensuse.org/viewcvs/yast/trunk/packager/testsuite/tests/Packages.ycp?rev=65605&view=auto ============================================================================== --- trunk/packager/testsuite/tests/Packages.ycp (added) +++ trunk/packager/testsuite/tests/Packages.ycp Thu Sep 8 14:33:41 2011 @@ -0,0 +1,66 @@ +/** + * Testsuite for Packages.ycp module + * + */ + +{ + +include "testsuite.ycp"; + +// huh, we need to mock too much paths because of some module constructor... :-( +map READ = $[ + "target" : $[ + "tmpdir" : "/tmp", + "size" : 1, + "stat" : $["isreg": true], + "string" : "SUSE Linux Enterprise Server 11 (x86_64)\nVERSION = 11\nPATCHLEVEL = 1\n" + ], + "xml" : $[], + "sysconfig" : $[ + "language" : $[ + "RC_LANG" : "en_US.UTF-8", + "ROOT_USES_LANG" : "ctype", + "RC_LANG" : "en_US.UTF-8", + "INSTALLED_LANGUAGES" : "" + ], + "console" : $[ + "CONSOLE_ENCODING" : "UTF-8" + ] + ] +]; + +map EXEC = $[ + "target" : $[ + "bash_output" : $[ "exit" : 0, "stdout" : "charmap=\"UTF-8\"\n"] + ] +]; + +TESTSUITE_INIT ([READ, $[], EXEC], nil); + +import "Packages"; + + + +DUMP(" ----- biosdevname tests ----- "); + +// explicitly enable +READ["target", "string"] = "install=cd:// vga=0x314 biosdevname=1"; +TEST(``(Packages::kernelCmdLinePackages()), [READ, $[], EXEC], nil); + +// explicitly disable +READ["target", "string"] = "install=cd:// vga=0x314 biosdevname=0"; +TEST(``(Packages::kernelCmdLinePackages()), [READ, $[], EXEC], nil); + + +// autodetection, no biosdevname=0|1 boot option +READ["target", "string"] = "install=cd:// vga=0x314"; + +// a Dell system +EXEC["target", "bash_output"] = $[ "exit" : 0, "stdout" : " BIOS Info: #0\n Vendor: \"Dell Inc.\"\n Version: \"A03\"", "stderr" : ""]; +TEST(``(Packages::kernelCmdLinePackages()), [READ, $[], EXEC], nil); + +// a non-Dell system +EXEC["target", "bash_output"] = $[ "exit" : 0, "stdout" : " BIOS Info: #0\n Vendor: \"FooBar Inc.\"\n Version: \"001\"", "stderr" : ""]; +TEST(``(Packages::kernelCmdLinePackages()), [READ, $[], EXEC], nil); + +} -- To unsubscribe, e-mail: yast-commit+unsubscribe@opensuse.org For additional commands, e-mail: yast-commit+help@opensuse.org