#include <boost/test/parameterized_test.hpp>
#include <boost/test/unit_test_log.hpp>
+#include "zypp/base/Logger.h"
#include "zypp/Url.h"
#include "zypp/PathInfo.h"
#include "zypp/TmpPath.h"
downloader.download(media,localdir);
+ MIL << "All files downloaded" << endl;
+
const char* files[] =
{
"/suse",
// "/media.1/products.key",
"/media.1/media",
// "/media.1/products",
-// "/media.1/info.txt",
-// "/media.1/license.zip",
+ "/media.1/info.txt",
+ "/license.tar.gz",
+ "/control.xml",
+ "/installation.xml",
"/gpg-pubkey-a1912208-446a0899.asc",
"/gpg-pubkey-307e3d54-44201d5d.asc",
"/gpg-pubkey-9c800aca-40d8063e.asc",
KEY SHA1 fd6146cac8c1473c5b52548936de773d5bbd5610 gpg-pubkey-7e2e3b05-44748aba.asc
KEY SHA1 cd7adceba1fe5d7ba27b5749718743192d82f802 gpg-pubkey-9c800aca-40d8063e.asc
KEY SHA1 7535d79e31ef7b4232e5593bb49d9142978b2e95 gpg-pubkey-a1912208-446a0899.asc
+HASH SHA1 172b3cf77268f46e783e78a653902e563cb91e9a license.tar.gz
+HASH SHA1 4aa8ded6302e6ec85690a51af6044dffe9b21923 control.xml
+HASH SHA1 82f1f17ce74f0cd3fca4813c178196b317fc952d installation.xml
+HASH SHA1 68d9b548d61e31e82e8834690e884afa27751287 media.1/info.txt
-----BEGIN PGP MESSAGE-----
Version: GnuPG v1.4.6 (GNU/Linux)
-owGdVTuIJFUUHXeVhYJFNhAMn2AguN39/p9F0Zrpmg+202tX9TgbDe9XM+3MVDVd
-1cyOGhhqIGhiogxGBoogiGwqJoJgbqBmZgaCiaGvuqfd7lVZWGhe0XXvOe/dc05V
-fXD96tqVGx///t03v3wl9h778tq+uWbLovZFvXnxVHx70O8ONzJQjn2RDtOklWtb
-l5PzaC8ZpDv9XYBgm0TdnTRbdKbT0NUbFdO7rTSL13tJa1/yWccSBLcpXqLa7fYH
-oKEHvZ3d4T64PSnd1NYV2Do12zfB7tRPCuMnhzfBlp+c6uI8GiS93X6WpMNBDxzV
-9fhWp3N2dtauppVv2/K0M/EnRVn7qjMikncWp+9sxhtZf3CnKXtd+daspz0Zn0bx
-YGO7fVfyA07B5WXEJQcj1iy0WQITKEo9sUfz7nn9YU3sIXX6/yXywN1ushkPe9l6
-HIRqKIMKrw13Bkl6357LwcCLM2PAWNd10O6WCfeq86r2p1HwaW+nGzDjuci3Ftg5
-pnEm6q+n/V6SLTU1DQdzc/6Fe2EOjEJ5axinwFbAaeA88EX4HWytA1+BfATyCTia
-glEN3tDg+BQUJ6AwYHwCxvXB+gC8eXSwsdus2etRut0fZL14PemBS8ei+b9/9ry8
-PY/frNYOG/53OdnPBnEISrpIiivPipNSu3bTP4tMOTnsuFFVT0ZmWo/KotMMFFIy
-LjtlVXWi/u0sJDfuPTJLURathumRwM6b6WEn2J9uDLo7A9D0dypfT8ehVNlJ1I2z
-eFGINnvxVgqmY6drH6RpPNlKGiOGafRqksUg3Y4RsETk1GiKMeMMSkoJJwIhgaAl
-ElPNpFUQOQfAsfOtRseWQLM0t0OologkzJUxKFdeMW+sN7lTBuOcEJkLoTyG1DoG
-DQhhtMf60FdLYGUJRU4RhMMTAHNIDISIS8QQsRoKQx20WgpyH9zuDpfwmspcMyh0
-bm3YW3DDqApAoqhviCUinhuIlvC+WMILzhSEOWv2C405VTycFXLj8pyyXELmOVJK
-LOOXz58bwzV2XAkeBLVKc+MNw1YTlgumqPbE5znyYPEkVtEryZ1LByBhFHJlEZRI
-cUFdmBRyibFHjpowORJKeAXA4fiwNZ6aY3/egi43BEnZosg7hZVp68re58SeSM8g
-scFOyxyE2DhLkGDMShxgkFKnHEYrnAQKTxyjLUpxsJy5VU4BMVME+/Ci4+GaU6ko
-DqJAKFhOvAvmQUy8XuV0mDniVItwj7CDdJUzdxxRbrWVFlFBLAuisUBMuPNChMMY
-4xhHcIVT+DCegSycU1CpjV7ltE5oF/KnUe6ZE0ZjYZigSiApKEEKO4mDo3iFU1kJ
-oba6RaGTkBP/wOyMBCrlCfJ5SCMOMrAghjFUOYUoVkIaHIK/wqmRQhjD4BHlGkql
-ZpzRuy9dfWKt+aYuPrY3rqT31i6ezd52X3z0w/H3z3327c8/vfPbry//9cfaxTPJ
-54/fe/7sz/feuv70h+//+PWTn3x6528=
-=KMVc
+owGdlsuLI1UUxtsZRAkozMaNm4sLQZxU7vvRjkjSST8wdsZUMs64ae4zHTupCqkK
+3T1LF4PuZi+I4MKV6MY/QBcD7gSX4sqtGxFEXHkr6XaSVhkYSKpInXN+de93vlOp
+hy9c37p245Nfv/vm56/FnWe+fP7UPGfzrPRZufv9w+ntfq893BmAfOazdJh26kHb
+Mp+f1+50+ulB7xAgmJBa+yAdXGami5jVHWeLs3o6aLa6nfpdyZcZayU4oXgNddju
+9UGFB92Dw+FdcHueu4UtC7A3Nfs3weHCzzPj56ObYM/Ppzo7r/U73cPeoJMO+11w
+XJaz7Ubj9PQ0KRaFT2w+bcz9JMtLXzTGRPLG5eobu82dQa9/rwp7Xfj6MieZz6a1
+Zn9nPzmT/IhTcHEac8nBmFUHWh0iCWS5ntvjVfYq/qQk9oQ4/f8QuXK13dltDruD
+VjMKVSGjCu8OD/qd9HF7LjYG3lw2Bsx0WUbttk28VpwXpZ/WYp/uHLRjzWwl8vZl
+7aqm6kyt10p73c5gLalKOFo15191t1aFtRjeGzZTYAvgNHAe+Cx+jvZawBcgjEGY
+g+MFGJfgAw1OpiCbgMyA2QTMyqNWH9w/Pto5rI6D92rpfq8/6DZbnS646Fht9euf
+e15cXtlvGUviDf873Lk76DejUdJLp7j8NJvk2iVV/tIy+XzUcOOinI/NohznWaPa
+UHTJLG/kRdGo9W4PonOb3aemZHlWr0hPVey8WYwasf3pTr990AdVfqPw5WIWQ4Wd
+19rNQfMyUNvtNvdSsJg5XfooTdWTvU7ViGFae6czaIJ0v4kAMURTAwOUzDnCITMc
+Wect5EISww3WKCDHEQAnztcrHesCLd2cRFMlo/trLGwJQx7ByKTCB6wktRGgOZHa
+2uC1C9oHJkH0oz3Rozhy7eEVBJSaB+mRVdwro7HXwgpqIUOIWISsIEJKTNYQPttE
+MOU4M5IJZjTyznkkEQlxOV4pqrSXLFBHLVpHFJsIGDUgPBYHjpgwlmJBpMCQMYkj
+xiHBuZGWriE26hElgjBGJKKaBEksdtZzy52mUFCofSUR5AxcDuay/u3OvVW5hYRR
+yJVFUCLFBXVaCsireyNHjYMWCSW8AmA0G9VnC3Piz+vQBUOQlHUa162wMoku7GMm
+9kR6BomlhFvmIMTGWYIEY1biWAYpdcphtMEkUHjiGK1TiiFyzG0yBcRMEezjo4/H
+c6BSUYyUglCwQLwjCENMvN5kOswccapOuEfYQbrJDNFrlFttpUVUEMsMwyyCCXde
+iLgYYxzjCG4whY/bM5DFdQoqtdGbTOuEjg2IdgieORFdJQwTVAkkBSVIYSdxkBBv
+MJWVEGqr6xQ6CTnxV/bOSEQpT5APwlAcZWBRDGOocgpRrIQ00Spsg6mRQjhaPK6T
+ayiVWjL3m+n+hW8ENsQGITCXgXIfRzB+NWdEwcjnxBqFvIqCTsY2Pi98Uup5ZZ3H
+CKq1dN5xEgu4t5JxBTVDOvCqwyHEoYotqgao+nef55PkbDpZq49KxIEX1gsaoHUk
+WE1lNXqismJ0mAhWMewAGGdFqScTXT2krkC4dMrErsVeVgJJ7KUkNK4knqkOUX/B
+EJYCgKl3Y52gxjgLeVKelbXaR29df3areuW4fBe5ce2Hl7c+fe2P7Qfdvx7RVz9P
+XvntpW97b4wfgK3PPvzqxdGDax8//OLR77+8//pPZ7daf/74Nw==
+=3cih
-----END PGP MESSAGE-----
--- /dev/null
+<?xml version="1.0"?>
+<productDefines xmlns="http://www.suse.com/1.0/yast2ns"
+ xmlns:config="http://www.suse.com/1.0/configns">
+
+<!--
+Work around for the text domain
+textdomain="control"
+-->
+
+ <textdomain>control</textdomain>
+ <globals>
+ <additional_kernel_parameters></additional_kernel_parameters>
+ <enable_autologin config:type="boolean">true</enable_autologin>
+ <enable_firewall config:type="boolean">true</enable_firewall>
+ <firewall_enable_ssh config:type="boolean">false</firewall_enable_ssh>
+ <fam_local_only>never</fam_local_only>
+ <incomplete_translation_treshold>95</incomplete_translation_treshold>
+ <inform_about_suboptimal_distribution config:type="boolean">true</inform_about_suboptimal_distribution>
+ <skip_language_dialog config:type="boolean">true</skip_language_dialog>
+ <ui_mode>simple</ui_mode>
+ <enable_clone config:type="boolean">false</enable_clone>
+ <enable_register_hwdata config:type="boolean">true</enable_register_hwdata>
+ <enable_register_optional config:type="boolean">true</enable_register_optional>
+ <display_register_forcereg config:type="boolean">true</display_register_forcereg>
+ <disable_register_w3m config:type="boolean">true</disable_register_w3m>
+ <register_monthly config:type="boolean">false</register_monthly>
+ <manual_online_update config:type="boolean">true</manual_online_update>
+ <root_password_ca_check config:type="boolean">false</root_password_ca_check>
+
+ <!-- FATE #301937, Save /root content from the installation system to the installed system -->
+ <save_instsys_content config:type="list">
+ <save_instsys_item>
+ <instsys_directory>/root/</instsys_directory>
+ <system_directory>/root/inst-sys/</system_directory>
+ </save_instsys_item>
+ </save_instsys_content>
+ </globals>
+
+ <software>
+ <delete_old_packages config:type="boolean">false</delete_old_packages>
+ <selection_type config:type="symbol">auto</selection_type>
+
+ <!-- FATE #300898, List of external sources accesible during the installation time -->
+ <external_sources_link>http://download.opensuse.org/YaST/Repos/openSUSE_103_Servers.xml</external_sources_link>
+ </software>
+
+ <partitioning>
+ <evms_config config:type="boolean">false</evms_config>
+ <try_separate_home config:type="boolean">true</try_separate_home>
+ <limit_try_home>7G</limit_try_home>
+ <root_space_percent>40</root_space_percent>
+ <root_base_size>5G</root_base_size>
+ <root_max_size>20G</root_max_size>
+ <proposal_lvm>false</proposal_lvm>
+ <proposal_evms>false</proposal_evms>
+ <vm_desired_size>15G</vm_desired_size>
+ <vm_home_max_size>25G</vm_home_max_size>
+ <boot_evms>false</boot_evms>
+ </partitioning>
+
+ <network>
+ <force_static_ip config:type="boolean">false</force_static_ip>
+ <network_manager>laptop</network_manager>
+ <startmode>ifplugd</startmode>
+ </network>
+
+ <clone_modules config:type="list">
+ <clone_module>language</clone_module>
+ <clone_module>keyboard</clone_module>
+ <clone_module>timezone</clone_module>
+ <clone_module>users</clone_module>
+ <clone_module>networking</clone_module>
+ <clone_module>firewall</clone_module>
+ <clone_module>host</clone_module>
+ <clone_module>routing</clone_module>
+ <clone_module>proxy</clone_module>
+ <clone_module>runlevel</clone_module>
+ <clone_module>x11</clone_module>
+ <clone_module>nis</clone_module>
+ <clone_module>ldap</clone_module>
+ <clone_module>printer</clone_module>
+ <clone_module>add-on</clone_module>
+ </clone_modules>
+
+ <texts>
+ <congratulate>
+ <label>
+<p><b>Congratulations!</b></p>
+<p>The installation of openSUSE on your machine is complete.
+After clicking <b>Finish</b>, you can log in to the system.</p>
+<p>Visit us at %1.</p>
+<p>Have a lot of fun!<br>Your openSUSE Development Team</p>
+ </label>
+ </congratulate>
+ </texts>
+
+ <proposals config:type="list">
+ <proposal>
+ <label>Installation Settings</label>
+ <mode>installation,demo,autoinstallation</mode>
+ <stage>initial</stage>
+ <name>initial</name>
+ <enable_skip>no</enable_skip>
+ <proposal_modules config:type="list">
+ <proposal_module>hwinfo</proposal_module>
+ <proposal_module>keyboard</proposal_module>
+ <proposal_module>mouse</proposal_module>
+ <proposal_module>partitions</proposal_module>
+ <proposal_module>software</proposal_module>
+ <proposal_module>bootloader</proposal_module>
+ <proposal_module>timezone</proposal_module>
+ <proposal_module>language</proposal_module>
+ <proposal_module>runlevel</proposal_module>
+ </proposal_modules>
+ <proposal_tabs config:type="list">
+ <proposal_tab>
+ <label>Overview</label>
+ <proposal_modules config:type="list">
+ <proposal_module>partitions</proposal_module>
+ <proposal_module>software_simple</proposal_module>
+ <proposal_module>country_simple</proposal_module>
+ </proposal_modules>
+ </proposal_tab>
+ <proposal_tab>
+ <label>Expert</label>
+ <proposal_modules config:type="list">
+ <proposal_module>hwinfo</proposal_module>
+ <proposal_module>keyboard</proposal_module>
+ <proposal_module>mouse</proposal_module>
+ <proposal_module>partitions</proposal_module>
+ <proposal_module>software</proposal_module>
+ <proposal_module>bootloader</proposal_module>
+ <proposal_module>timezone</proposal_module>
+ <proposal_module>language</proposal_module>
+ <proposal_module>runlevel</proposal_module>
+ </proposal_modules>
+ </proposal_tab>
+ </proposal_tabs>
+ </proposal>
+
+ <proposal>
+ <label>Update Settings</label>
+ <mode>update</mode>
+ <name>initial</name>
+ <stage>normal</stage>
+ <enable_skip>no</enable_skip>
+ <proposal_modules config:type="list">
+ <proposal_module>update</proposal_module>
+ <proposal_module>packages</proposal_module>
+ <proposal_module>backup</proposal_module>
+ <proposal_module>language</proposal_module>
+ </proposal_modules>
+ </proposal>
+
+ <proposal>
+ <label>Installation Settings</label>
+ <mode>update</mode>
+ <stage>initial</stage>
+ <name>initial</name>
+ <enable_skip>no</enable_skip>
+ <proposal_modules config:type="list">
+ <proposal_module>hwinfo</proposal_module>
+ <proposal_module>media</proposal_module>
+<!-- disabled due to bug 165832
+ <proposal_module>rootpart</proposal_module>
+-->
+ <proposal_module>update</proposal_module>
+ <proposal_module>packages</proposal_module>
+ <proposal_module>backup</proposal_module>
+ <proposal_module>language</proposal_module>
+ <proposal_module>keyboard</proposal_module>
+ </proposal_modules>
+ </proposal>
+
+ <proposal>
+ <label>Network Configuration</label>
+ <name>network</name>
+ <stage>continue,normal</stage>
+ <enable_skip>yes</enable_skip>
+ <proposal_modules config:type="list">
+ <proposal_module>
+ <name>lan</name>
+ <presentation_order>20</presentation_order>
+ </proposal_module>
+ <proposal_module>
+ <name>general</name>
+ <presentation_order>5</presentation_order>
+ </proposal_module>
+ <proposal_module>
+ <name>dsl</name>
+ <presentation_order>30</presentation_order>
+ </proposal_module>
+ <proposal_module>
+ <name>isdn</name>
+ <presentation_order>40</presentation_order>
+ </proposal_module>
+ <proposal_module>
+ <name>modem</name>
+ <presentation_order>50</presentation_order>
+ </proposal_module>
+ <proposal_module>
+ <name>remote</name>
+ <presentation_order>60</presentation_order>
+ </proposal_module>
+ <proposal_module>
+ <name>firewall</name>
+ <presentation_order>10</presentation_order>
+ </proposal_module>
+ <proposal_module>
+ <name>proxy</name>
+ <presentation_order>70</presentation_order>
+ </proposal_module>
+ </proposal_modules>
+ </proposal>
+
+ <proposal>
+ <label>Hardware Configuration</label>
+ <name>hardware</name>
+ <stage>continue</stage>
+ <enable_skip>yes</enable_skip>
+ <proposal_modules config:type="list">
+ <proposal_module>x11</proposal_module>
+ <proposal_module>printer</proposal_module>
+ <proposal_module>sound</proposal_module>
+ <proposal_module>tv</proposal_module>
+ <proposal_module>bluetooth</proposal_module>
+ </proposal_modules>
+ </proposal>
+ </proposals>
+
+ <!-- Stage: Initial, Mode: Installation -->
+ <workflows config:type="list">
+ <workflow>
+ <defaults>
+ <archs>all</archs>
+ <enable_back>yes</enable_back>
+ <enable_next>yes</enable_next>
+ </defaults>
+ <label>Preparation</label>
+ <mode>installation</mode>
+ <stage>initial</stage>
+ <modules config:type="list">
+ <module>
+ <name>language</name>
+ <label>Language</label>
+ <enable_back>no</enable_back>
+ <enable_next>yes</enable_next>
+ <arguments>
+ <first_run>yes</first_run>
+ </arguments>
+ <retranslate config:type="boolean">true</retranslate>
+ </module>
+ <module>
+ <label>Language</label>
+ <name>checkmedia</name>
+ </module>
+ <module>
+ <label>License Agreement</label>
+ <name>license</name>
+ </module>
+ <module>
+ <label>Disk Activation</label>
+ <name>disks_activate</name>
+ </module>
+ <module>
+ <label>System Analysis</label>
+ <name>system_analysis</name>
+ </module>
+ <!-- Here, user selects whether to perform New Installation or Upgrade -->
+ <module>
+ <label>Online Repositories</label>
+ <name>productsources</name>
+ <enable_back>yes</enable_back>
+ </module>
+ <module>
+ <label>Add-On Products</label>
+ <name>add-on</name>
+ <enable_back>yes</enable_back>
+ </module>
+ <module>
+ <label>Time Zone</label>
+ <name>timezone</name>
+ <arguments>
+ <first_run>yes</first_run>
+ </arguments>
+ <enable_back>yes</enable_back>
+ </module>
+ <module>
+ <label>Desktop Selection</label>
+ <name>desktop</name>
+ </module>
+ <module>
+ <heading>yes</heading>
+ <label>Installation</label>
+ </module>
+ <module>
+ <label>Installation Settings</label>
+ <name>proposal</name>
+ <proposal>initial</proposal>
+ </module>
+ <module>
+ <label>Perform Installation</label>
+ <name>do_resize</name>
+ <update config:type="boolean">false</update>
+ <archs>i386,x86_64,ia64</archs>
+ </module>
+ <module>
+ <label>Perform Installation</label>
+ <name>prepdisk</name>
+ </module>
+ <module>
+ <label>Perform Installation</label>
+ <name>kickoff</name>
+ </module>
+ <module>
+ <label>Perform Installation</label>
+ <name>rpmcopy</name>
+ <enable_next>no</enable_next>
+ <enable_back>no</enable_back>
+ </module>
+ <module>
+ <label>Perform Installation</label>
+ <name>finish</name>
+ <enable_back>no</enable_back>
+ </module>
+ </modules>
+ </workflow>
+
+ <!-- Stage: Initial, Mode: Update -->
+ <workflow>
+ <defaults>
+ <archs>all</archs>
+ <enable_back>yes</enable_back>
+ <enable_next>yes</enable_next>
+ </defaults>
+ <label>Preparation</label>
+ <mode>update</mode>
+ <stage>initial</stage>
+ <modules config:type="list">
+ <module>
+ <name>language</name>
+ <label>Language</label>
+ <enable_back>no</enable_back>
+ <arguments>
+ <first_run>yes</first_run>
+ </arguments>
+ <retranslate config:type="boolean">true</retranslate>
+ </module>
+ <module>
+ <label>Language</label>
+ <name>checkmedia</name>
+ </module>
+ <module>
+ <label>License Agreement</label>
+ <name>license</name>
+ </module>
+ <module>
+ <label>Disk Activation</label>
+ <name>disks_activate</name>
+ </module>
+ <module>
+ <label>System Analysis</label>
+ <name>system_analysis</name>
+ </module>
+ <module>
+ <label>System for Update</label>
+ <name>update_partition</name>
+ </module>
+ <module>
+ <name>upgrade_urls</name>
+ </module>
+ <module>
+ <label>Online Repositories</label>
+ <name>productsources</name>
+ <enable_back>yes</enable_back>
+ </module>
+ <module>
+ <label>Add-On Products</label>
+ <name>add-on</name>
+ <enable_back>yes</enable_back>
+ </module>
+ <module>
+ <heading>yes</heading>
+ <label>Update</label>
+ </module>
+ <module>
+ <label>Update Settings</label>
+ <name>proposal</name>
+ <proposal>initial</proposal>
+ </module>
+ <module>
+ <label>Perform Update</label>
+ <name>do_resize</name>
+ <update config:type="boolean">false</update>
+ <archs>i386,x86_64,ia64</archs>
+ </module>
+ <module>
+ <label>Perform Update</label>
+ <name>prepdisk</name>
+ </module>
+ <module>
+ <label>Perform Update</label>
+ <name>kickoff</name>
+ </module>
+ <module>
+ <label>Perform Update</label>
+ <name>rpmcopy</name>
+ <enable_back>no</enable_back>
+ <enable_next>no</enable_next>
+ </module>
+ <module>
+ <label>Perform Update</label>
+ <name>finish</name>
+ <enable_back>no</enable_back>
+ </module>
+ </modules>
+ </workflow>
+ <workflow>
+ <defaults>
+ <archs>all</archs>
+ </defaults>
+ <stage>initial</stage>
+ <label>Preparation</label>
+ <mode>repair</mode>
+ <modules config:type="list">
+ <module>
+ <label>System Information</label>
+ <name>info</name>
+ </module>
+ <module>
+ <label>Perform Repair</label>
+ <name>repair</name>
+ </module>
+ </modules>
+ </workflow>
+
+ <!-- Stage: Initial, Mode: ScreenShot -->
+ <workflow>
+ <defaults>
+ <archs>all</archs>
+ <enable_back>yes</enable_back>
+ <enable_next>yes</enable_next>
+ </defaults>
+ <stage>initial</stage>
+ <label>Base Installation</label>
+ <mode>screen_shot</mode>
+ <modules config:type="list">
+ <module>
+ <enable_back>no</enable_back>
+ <enable_next>yes</enable_next>
+ <label>Language</label>
+ <name>language</name>
+ <retranslate config:type="boolean">true</retranslate>
+ </module>
+ <module>
+ <label>Installation Settings</label>
+ <name>proposal</name>
+ <proposal>initial</proposal>
+ </module>
+ <module>
+ <label>Perform Installation</label>
+ <name>do_resize</name>
+ <update config:type="boolean">false</update>
+ <archs>i386,x86_64,ia64</archs>
+ </module>
+ <module>
+ <label>Perform Installation</label>
+ <name>prepdisk</name>
+ </module>
+ <module>
+ <label>Perform Installation</label>
+ <name>kickoff</name>
+ </module>
+ <module>
+ <label>Perform Installation</label>
+ <name>rpmcopy</name>
+ <enable_back>no</enable_back>
+ <enable_next>yes</enable_next>
+ </module>
+ </modules>
+ </workflow>
+
+ <!-- Stage: Initial, Mode: Demo -->
+ <workflow>
+ <defaults>
+ <archs>all</archs>
+ <enable_back>yes</enable_back>
+ <enable_next>yes</enable_next>
+ </defaults>
+ <stage>initial</stage>
+ <label>Base Installation</label>
+ <mode>demo</mode>
+ <modules config:type="list">
+ <module>
+ <enable_back>no</enable_back>
+ <label>Language</label>
+ <name>language</name>
+ <retranslate config:type="boolean">true</retranslate>
+ </module>
+ <module>
+ <label>Installation Settings</label>
+ <name>proposal</name>
+ <proposal>initial</proposal>
+ </module>
+ <module>
+ <label>Perform Installation</label>
+ <name>do_resize</name>
+ <update config:type="boolean">false</update>
+ <archs>i386,x86_64,ia64</archs>
+ </module>
+ <module>
+ <label>Perform Installation</label>
+ <name>prepdisk</name>
+ </module>
+ <module>
+ <label>Perform Installation</label>
+ <name>kickoff</name>
+ </module>
+ <module>
+ <label>Perform Installation</label>
+ <name>rpmcopy</name>
+ <enable_back>no</enable_back>
+ <enable_next>no</enable_next>
+ </module>
+ </modules>
+ </workflow>
+
+ <!-- Stage: Continue, Mode: Update -->
+ <workflow>
+ <stage>continue</stage>
+ <mode>update</mode>
+ <defaults>
+ <archs>all</archs>
+ <enable_back>yes</enable_back>
+ <enable_next>yes</enable_next>
+ </defaults>
+ <modules config:type="list">
+ <module>
+ <label>Perform Update</label>
+ <name>rpmcopy</name>
+ <enable_back>no</enable_back>
+ <enable_next>no</enable_next>
+ </module>
+ <module>
+ <heading>yes</heading>
+ <label>Configuration</label>
+ </module>
+ <module>
+ <label>Network</label>
+ <name>ask_net_test</name>
+ <enable_back>no</enable_back>
+ </module>
+ <module>
+ <label>Network</label>
+ <name>do_net_test</name>
+ </module>
+ <module>
+ <label>Registration</label>
+ <name>addon_update_sources</name>
+ </module>
+ <module>
+ <label>Registration</label>
+ <name>suse_register</name>
+ </module>
+ <module>
+ <label>Online Update</label>
+ <name>ask_online_update</name>
+ </module>
+ <module>
+ <label>Online Update</label>
+ <name>you</name>
+ </module>
+ <module>
+ <label>Online Update</label>
+ <name>restore_settings</name>
+ </module>
+ <module>
+ <name>suseconfig</name>
+ <enable_back>no</enable_back>
+ <enable_next>no</enable_next>
+ </module>
+ <module>
+ <label>Release Notes</label>
+ <name>release_notes</name>
+ </module>
+ <module>
+ <name>congratulate</name>
+ </module>
+ </modules>
+ </workflow>
+
+ <!-- Stage: Continue, Mode: Installation -->
+ <workflow>
+ <stage>continue</stage>
+ <mode>installation</mode>
+ <defaults>
+ <enable_back>yes</enable_back>
+ <enable_next>yes</enable_next>
+ <archs>all</archs>
+ </defaults>
+ <modules config:type="list">
+ <module>
+ <heading>yes</heading>
+ <label>Configuration</label>
+ </module>
+ <module>
+ <label>root Password</label>
+ <name>root</name>
+ <enable_back>no</enable_back>
+ </module>
+ <module>
+ <label>Check Installation</label>
+ <name>initialization</name>
+ <enable_back>no</enable_back>
+ <enable_next>no</enable_next>
+ </module>
+ <module>
+ <label>Check Installation</label>
+ <name>netprobe</name>
+ <enable_back>no</enable_back>
+ <enable_next>no</enable_next>
+ </module>
+ <module>
+ <label>Check Installation</label>
+ <name>rpmcopy</name>
+ <enable_back>no</enable_back>
+ <enable_next>no</enable_next>
+ </module>
+ <module>
+ <label>Hostname</label>
+ <name>hostname</name>
+ </module>
+ <module>
+ <label>Network</label>
+ <name>proposal</name>
+ <proposal>network</proposal>
+ </module>
+ <module>
+ <label>Network</label>
+ <name>fam</name>
+ </module>
+ <module>
+ <label>Network</label>
+ <name>ask_net_test</name>
+ </module>
+ <module>
+ <label>Network</label>
+ <name>do_net_test</name>
+ </module>
+ <module>
+ <label>Registration</label>
+ <name>addon_update_sources</name>
+ </module>
+ <module>
+ <label>Registration</label>
+ <name>suse_register</name>
+ </module>
+ <module>
+ <label>Online Update</label>
+ <name>ask_online_update</name>
+ </module>
+ <module>
+ <label>Online Update</label>
+ <name>you</name>
+ </module>
+ <module>
+ <label>Online Update</label>
+ <name>extrasources</name>
+ </module>
+ <module>
+ <label>Online Update</label>
+ <name>restore_settings</name>
+ </module>
+ <module>
+ <label>Users</label>
+ <name>auth</name>
+ </module>
+ <module>
+ <label>Users</label>
+ <name>user</name>
+ </module>
+ <module>
+ <name>suseconfig</name>
+ <enable_back>no</enable_back>
+ <enable_next>no</enable_next>
+ </module>
+ <module>
+ <label>Release Notes</label>
+ <name>release_notes</name>
+ </module>
+ <module>
+ <label>Hardware Configuration</label>
+ <name>proposal</name>
+ <proposal>hardware</proposal>
+ </module>
+ <module>
+ <label>Hardware Configuration</label>
+ <name>save_hardware_status</name>
+ </module>
+ <module>
+ <name>congratulate</name>
+ </module>
+ </modules>
+ </workflow>
+
+ <!-- Stage: Initial, Mode: AutoInstallation -->
+ <workflow>
+ <stage>initial</stage>
+ <label>Base Installation</label>
+ <mode>autoinstallation</mode>
+ <defaults>
+ <archs>all</archs>
+ <enable_back>no</enable_back>
+ <enable_next>no</enable_next>
+ </defaults>
+ <modules config:type="list">
+ <module>
+ <label>AutoYaST Settings</label>
+ <name>autoinit</name>
+ <archs>all</archs>
+ <retranslate config:type="boolean">true</retranslate>
+ </module>
+ <module>
+ <label>AutoYaST Settings</label>
+ <name>autosetup</name>
+ </module>
+ <module>
+ <label>AutoYaST Settings</label>
+ <name>proposal</name>
+ <proposal>initial</proposal>
+ <enable_back>no</enable_back>
+ <enable_next>yes</enable_next>
+ </module>
+ <module>
+ <label>Perform Installation</label>
+ <name>prepdisk</name>
+ </module>
+ <module>
+ <label>Perform Installation</label>
+ <name>kickoff</name>
+ </module>
+ <module>
+ <label>Perform Installation</label>
+ <name>autoimage</name>
+ </module>
+ <module>
+ <label>Perform Installation</label>
+ <name>rpmcopy</name>
+ </module>
+ <module>
+ <label>Perform Installation</label>
+ <name>finish</name>
+ </module>
+ </modules>
+ </workflow>
+
+ <!-- Stage: Continue, Mode: AutoInstallation -->
+ <workflow>
+ <defaults>
+ <archs>all</archs>
+ <enable_back>no</enable_back>
+ <enable_next>no</enable_next>
+ </defaults>
+ <stage>continue</stage>
+ <mode>autoinstallation</mode>
+ <modules config:type="list">
+ <module>
+ <label>Perform Installation</label>
+ <name>netprobe</name>
+ </module>
+ <module>
+ <label>Perform Installation</label>
+ <name>autopost</name>
+ </module>
+ <module>
+ <label>Perform Installation</label>
+ <name>rpmcopy</name>
+ </module>
+ <module>
+ <heading>yes</heading>
+ <label>Configuration</label>
+ </module>
+ <module>
+ <label>System Configuration</label>
+ <name>autoconfigure</name>
+ </module>
+ <module>
+ <name>suseconfig</name>
+ </module>
+ </modules>
+ </workflow>
+ </workflows>
+</productDefines>
--- /dev/null
+<?xml version="1.0"?>
+<!DOCTYPE productDefines SYSTEM "/usr/share/YaST2/control/control.dtd">
+<productDefines xmlns="http://www.suse.com/1.0/yast2ns" xmlns:config="http://www.suse.com/1.0/configns">
+ <textdomain>control-ISSLE</textdomain>
+ <globals>
+ <enable_firewall config:type="boolean">false</enable_firewall>
+ </globals>
+ <software>
+ <selection_type config:type="symbol">auto</selection_type>
+ </software>
+ <network>
+ <force_static_ip config:type="boolean">true</force_static_ip>
+ </network>
+ <texts>
+ <congratulate>
+ <label>
+<p>
+You have successfully installed the Integrated Stack for SUSE Linux Enterprise.
+</p>
+<p>
+The services you just installed might require additional
+setup before use. See the Integrated Stack for SUSE Linux Enterprise
+Installation guide for details.
+</p>
+ </label>
+ </congratulate>
+ </texts>
+ <proposals config:type="list">
+ <proposal>
+ <label>ISSLE Configuration</label>
+ <name>product</name>
+ <stage>continue,normal</stage>
+ <mode>installation</mode>
+ <proposal_modules config:type="list">
+ <proposal_module>yast2-issleconfig</proposal_module>
+ </proposal_modules>
+ </proposal>
+ </proposals>
+ <workflows config:type="list">
+ <workflow>
+ <defaults>
+ <enable_back>no</enable_back>
+ <enable_next>no</enable_next>
+ </defaults>
+ <stage>normal</stage>
+ <mode>installation,normal</mode>
+ <modules config:type="list">
+ <module>
+ <label>ISSLE Software Selection</label>
+ <name>sw_single</name>
+ <enable_back>yes</enable_back>
+ <enable_next>yes</enable_next>
+ </module>
+ <module>
+ <label>ISSLE Configuration</label>
+ <name>issleconfig</name>
+ <enable_back>yes</enable_back>
+ <enable_next>yes</enable_next>
+ </module>
+ <module>
+ <label>Release Notes</label>
+ <name>inst_release_notes</name>
+ <enable_back>yes</enable_back>
+ <enable_next>yes</enable_next>
+ </module>
+ <module>
+ <name>inst_congratulate</name>
+ <enable_back>no</enable_back>
+ <enable_next>yes</enable_next>
+ </module>
+ </modules>
+ </workflow>
+ </workflows>
+ <update>
+ <workflows config:type="list">
+ <workflow>
+ <defaults>
+ <enable_back>no</enable_back>
+ <enable_next>no</enable_next>
+ </defaults>
+ <stage>continue,normal</stage>
+ <mode>installation,normal,update</mode>
+ <remove_modules config:type="list">
+ <remove_module>hostname</remove_module>
+ <remove_module>root</remove_module>
+ <remove_module>ca_mgm</remove_module>
+ </remove_modules>
+ <append_modules config:type="list">
+ <module>
+ <name>yast2-issleconfig</name>
+ </module>
+ </append_modules>
+ <insert_modules config:type="list">
+ <insert_module>
+ <before>suseconfig</before>
+ <modules config:type="list">
+ <module>
+ <label>ISSLE Configuration</label>
+ <name>issleconfig</name>
+ <enable_back>yes</enable_back>
+ <enable_next>yes</enable_next>
+ </module>
+ </modules>
+ </insert_module>
+ </insert_modules>
+ </workflow>
+ </workflows>
+ </update>
+</productDefines>
KEY SHA1 fd6146cac8c1473c5b52548936de773d5bbd5610 gpg-pubkey-7e2e3b05-44748aba.asc
KEY SHA1 cd7adceba1fe5d7ba27b5749718743192d82f802 gpg-pubkey-9c800aca-40d8063e.asc
KEY SHA1 7535d79e31ef7b4232e5593bb49d9142978b2e95 gpg-pubkey-a1912208-446a0899.asc
+HASH SHA1 172b3cf77268f46e783e78a653902e563cb91e9a license.tar.gz
+HASH SHA1 4aa8ded6302e6ec85690a51af6044dffe9b21923 control.xml
+HASH SHA1 82f1f17ce74f0cd3fca4813c178196b317fc952d installation.xml
+HASH SHA1 68d9b548d61e31e82e8834690e884afa27751287 media.1/info.txt
-----BEGIN PGP MESSAGE-----
Version: GnuPG v1.4.6 (GNU/Linux)
-owGdVTuIJFUUHXeVhYJFNhAMn2AguN39/p9F0Zrpmg+202tX9TgbDe9XM+3MVDVd
-1cyOGhhqIGhiogxGBoogiGwqJoJgbqBmZgaCiaGvuqfd7lVZWGhe0XXvOe/dc05V
-fXD96tqVGx///t03v3wl9h778tq+uWbLovZFvXnxVHx70O8ONzJQjn2RDtOklWtb
-l5PzaC8ZpDv9XYBgm0TdnTRbdKbT0NUbFdO7rTSL13tJa1/yWccSBLcpXqLa7fYH
-oKEHvZ3d4T64PSnd1NYV2Do12zfB7tRPCuMnhzfBlp+c6uI8GiS93X6WpMNBDxzV
-9fhWp3N2dtauppVv2/K0M/EnRVn7qjMikncWp+9sxhtZf3CnKXtd+daspz0Zn0bx
-YGO7fVfyA07B5WXEJQcj1iy0WQITKEo9sUfz7nn9YU3sIXX6/yXywN1ushkPe9l6
-HIRqKIMKrw13Bkl6357LwcCLM2PAWNd10O6WCfeq86r2p1HwaW+nGzDjuci3Ftg5
-pnEm6q+n/V6SLTU1DQdzc/6Fe2EOjEJ5axinwFbAaeA88EX4HWytA1+BfATyCTia
-glEN3tDg+BQUJ6AwYHwCxvXB+gC8eXSwsdus2etRut0fZL14PemBS8ei+b9/9ry8
-PY/frNYOG/53OdnPBnEISrpIiivPipNSu3bTP4tMOTnsuFFVT0ZmWo/KotMMFFIy
-LjtlVXWi/u0sJDfuPTJLURathumRwM6b6WEn2J9uDLo7A9D0dypfT8ehVNlJ1I2z
-eFGINnvxVgqmY6drH6RpPNlKGiOGafRqksUg3Y4RsETk1GiKMeMMSkoJJwIhgaAl
-ElPNpFUQOQfAsfOtRseWQLM0t0OologkzJUxKFdeMW+sN7lTBuOcEJkLoTyG1DoG
-DQhhtMf60FdLYGUJRU4RhMMTAHNIDISIS8QQsRoKQx20WgpyH9zuDpfwmspcMyh0
-bm3YW3DDqApAoqhviCUinhuIlvC+WMILzhSEOWv2C405VTycFXLj8pyyXELmOVJK
-LOOXz58bwzV2XAkeBLVKc+MNw1YTlgumqPbE5znyYPEkVtEryZ1LByBhFHJlEZRI
-cUFdmBRyibFHjpowORJKeAXA4fiwNZ6aY3/egi43BEnZosg7hZVp68re58SeSM8g
-scFOyxyE2DhLkGDMShxgkFKnHEYrnAQKTxyjLUpxsJy5VU4BMVME+/Ci4+GaU6ko
-DqJAKFhOvAvmQUy8XuV0mDniVItwj7CDdJUzdxxRbrWVFlFBLAuisUBMuPNChMMY
-4xhHcIVT+DCegSycU1CpjV7ltE5oF/KnUe6ZE0ZjYZigSiApKEEKO4mDo3iFU1kJ
-oba6RaGTkBP/wOyMBCrlCfJ5SCMOMrAghjFUOYUoVkIaHIK/wqmRQhjD4BHlGkql
-ZpzRuy9dfWKt+aYuPrY3rqT31i6ezd52X3z0w/H3z3327c8/vfPbry//9cfaxTPJ
-54/fe/7sz/feuv70h+//+PWTn3x6528=
-=KMVc
+owGdVjuPG1UU3iRCIEsUaaCguYIiEort+35EvLxr70Mx6+CxQ6BZ3eeuWXtsecba
+3TR0CLr0FKmJhKBBoqZBlCAigQQVLRI/AAlxZr1LvAEUKZI9V55zvu/e833njOfe
+81fWLl/99Pdvvvr1S3X70ufPRfesn+ZlzMvN7+69cavfaw83Bmg6i3k2zDr1ZH05
+nZ/Ubnf62U5vFxHcYLX2TjY4z8wWkNUd5YvjejZorXc79TtanmasQGiD0xWq3Xav
+jyp61N3ZHd5Bt+bTsPBlgbYmbvs62l3Eee7ifP862orzic1Pav1Od7c36GTDfhcd
+lOXsRrN5dHTUKBZFbPjppDmP43xaxqI5Ylo2z0/f3GxtDHr996pwtEWsn+Y05rNJ
+rdXf2G4ca7knOTpbRlJLNBLVhVcXYEL51M79wTJ7GX9SknhCnP9/iD12t93ZbA27
+g/UWCFVRggrvDHf6neyRPWeFoddPjUEzW5ag3Q0H94qTooyTGvh0e6cNmNlS5Bvn
+2CWmcqbWW8963c5gJalK2Fua8y/ca0tgDcJbw1aGfIGCRSGimMNnb2sdxQKlEUpz
+dLBAoxJ9YNHhBOVjlDs0G6NZubfeR3cP9jZ2q+vg3Vq23esPuq31ThedOVZb/vpn
+z7Pby/Y7jTVgw/8Od+4M+i1olOy8U8L0KB9PbWhU+actM53vN8OoKOcjtyhH07xZ
+FQRdMps2p0XRrPVuDaBzW92nZsmneb1ieipwiG6x3wT7s41+e6ePqvxmEcvFDEKF
+n9farUHrPFDb7La2MrSYBVtGkKbyZKtTGTHMam93Bi2UbbcI8kwl7iynVEiBNedM
+MkWIItgzTbkV2htMQkDoMMR6pWNdkdNubkBTrRBpnIxzJJloRHQ+uhSMozQxppNS
+JlLMfRDYIWhGf2j3Y7ECNp5xEgwjFCYAJ8wcxkRqIgjzFivHA/ZWK/YI3GgPV/CW
+62QFVjZ5D3sr6QQ3AGSGx4pYExalw2QFH/MVvJLCYJxEtR8kJm4knBVLF1LiImks
+oiTGqFX86vmTc9LSII2SIKg3VrroBPWWiaSE4TaymBKJ6HwSi9rNzntnDmAmOJbG
+E6yJkYoHqBRLTWkkgTuonCijokFof7Zfny3cYTyp45AcI1rXOYnBUOMatvCPOGlk
+OgrMPNjpRcCYuuAZUUJ4TQGGOQ8mUHKBk2EVWRC8zjkFy0W4yKkwFYbRCA86CWvi
+2nAKomCsRGIxgHmYsmgvcgYqAgumzmQkNGB+kTMFSbj01mtPuGJegGgCiJkMUSk4
+jHNBSIIvcKoI5Tks4JyKa+vsRU4flA3Qf5akKIJylionFDeKaMUZMTRoCo7SC5zG
+a4ytt3WOg8aSxcdqFwyoTGQkJuhGCjIIEMM5boIhnBqlHYXGv8BpiSGUYvCIS4u1
+Maec261se0lKFHXMw3BQqROXUWkGXysFMxj4JfPOkGhA0PHIw9MhNko7b+zfXaHg
+1uoQg2QAkNFrIQ22gtgkK4dTijCCUDHMTfVfPp+OG8eT8QoelCCJKJgYnrAPLHmY
+JJgBoqpWhA5TyRtBYfpHeVHa8dhWj6THSKSGSQfXwMtKIE2j1ozDSWDlNoH+ShCq
+YXgmMYxsgzRHeZo2yuOyVvv4zSvPrFUvGOdvHlcv7369dv/mg2voz8/ev/Ti7R+u
+vfyFunb8x88frd133z544eFPv3y49v3ll1595bcf//rkrYd/Aw==
+=/aaM
-----END PGP MESSAGE-----
--- /dev/null
+<?xml version="1.0"?>
+<productDefines xmlns="http://www.suse.com/1.0/yast2ns"
+ xmlns:config="http://www.suse.com/1.0/configns">
+
+<!--
+Work around for the text domain
+textdomain="control"
+-->
+
+ <textdomain>control</textdomain>
+ <globals>
+ <additional_kernel_parameters></additional_kernel_parameters>
+ <enable_autologin config:type="boolean">true</enable_autologin>
+ <enable_firewall config:type="boolean">true</enable_firewall>
+ <firewall_enable_ssh config:type="boolean">false</firewall_enable_ssh>
+ <fam_local_only>never</fam_local_only>
+ <incomplete_translation_treshold>95</incomplete_translation_treshold>
+ <inform_about_suboptimal_distribution config:type="boolean">true</inform_about_suboptimal_distribution>
+ <skip_language_dialog config:type="boolean">true</skip_language_dialog>
+ <ui_mode>simple</ui_mode>
+ <enable_clone config:type="boolean">false</enable_clone>
+ <enable_register_hwdata config:type="boolean">true</enable_register_hwdata>
+ <enable_register_optional config:type="boolean">true</enable_register_optional>
+ <display_register_forcereg config:type="boolean">true</display_register_forcereg>
+ <disable_register_w3m config:type="boolean">true</disable_register_w3m>
+ <register_monthly config:type="boolean">false</register_monthly>
+ <manual_online_update config:type="boolean">true</manual_online_update>
+ <root_password_ca_check config:type="boolean">false</root_password_ca_check>
+
+ <!-- FATE #301937, Save /root content from the installation system to the installed system -->
+ <save_instsys_content config:type="list">
+ <save_instsys_item>
+ <instsys_directory>/root/</instsys_directory>
+ <system_directory>/root/inst-sys/</system_directory>
+ </save_instsys_item>
+ </save_instsys_content>
+ </globals>
+
+ <software>
+ <delete_old_packages config:type="boolean">false</delete_old_packages>
+ <selection_type config:type="symbol">auto</selection_type>
+
+ <!-- FATE #300898, List of external sources accesible during the installation time -->
+ <external_sources_link>http://download.opensuse.org/YaST/Repos/openSUSE_103_Servers.xml</external_sources_link>
+ </software>
+
+ <partitioning>
+ <evms_config config:type="boolean">false</evms_config>
+ <try_separate_home config:type="boolean">true</try_separate_home>
+ <limit_try_home>7G</limit_try_home>
+ <root_space_percent>40</root_space_percent>
+ <root_base_size>5G</root_base_size>
+ <root_max_size>20G</root_max_size>
+ <proposal_lvm>false</proposal_lvm>
+ <proposal_evms>false</proposal_evms>
+ <vm_desired_size>15G</vm_desired_size>
+ <vm_home_max_size>25G</vm_home_max_size>
+ <boot_evms>false</boot_evms>
+ </partitioning>
+
+ <network>
+ <force_static_ip config:type="boolean">false</force_static_ip>
+ <network_manager>laptop</network_manager>
+ <startmode>ifplugd</startmode>
+ </network>
+
+ <clone_modules config:type="list">
+ <clone_module>language</clone_module>
+ <clone_module>keyboard</clone_module>
+ <clone_module>timezone</clone_module>
+ <clone_module>users</clone_module>
+ <clone_module>networking</clone_module>
+ <clone_module>firewall</clone_module>
+ <clone_module>host</clone_module>
+ <clone_module>routing</clone_module>
+ <clone_module>proxy</clone_module>
+ <clone_module>runlevel</clone_module>
+ <clone_module>x11</clone_module>
+ <clone_module>nis</clone_module>
+ <clone_module>ldap</clone_module>
+ <clone_module>printer</clone_module>
+ <clone_module>add-on</clone_module>
+ </clone_modules>
+
+ <texts>
+ <congratulate>
+ <label>
+<p><b>Congratulations!</b></p>
+<p>The installation of openSUSE on your machine is complete.
+After clicking <b>Finish</b>, you can log in to the system.</p>
+<p>Visit us at %1.</p>
+<p>Have a lot of fun!<br>Your openSUSE Development Team</p>
+ </label>
+ </congratulate>
+ </texts>
+
+ <proposals config:type="list">
+ <proposal>
+ <label>Installation Settings</label>
+ <mode>installation,demo,autoinstallation</mode>
+ <stage>initial</stage>
+ <name>initial</name>
+ <enable_skip>no</enable_skip>
+ <proposal_modules config:type="list">
+ <proposal_module>hwinfo</proposal_module>
+ <proposal_module>keyboard</proposal_module>
+ <proposal_module>mouse</proposal_module>
+ <proposal_module>partitions</proposal_module>
+ <proposal_module>software</proposal_module>
+ <proposal_module>bootloader</proposal_module>
+ <proposal_module>timezone</proposal_module>
+ <proposal_module>language</proposal_module>
+ <proposal_module>runlevel</proposal_module>
+ </proposal_modules>
+ <proposal_tabs config:type="list">
+ <proposal_tab>
+ <label>Overview</label>
+ <proposal_modules config:type="list">
+ <proposal_module>partitions</proposal_module>
+ <proposal_module>software_simple</proposal_module>
+ <proposal_module>country_simple</proposal_module>
+ </proposal_modules>
+ </proposal_tab>
+ <proposal_tab>
+ <label>Expert</label>
+ <proposal_modules config:type="list">
+ <proposal_module>hwinfo</proposal_module>
+ <proposal_module>keyboard</proposal_module>
+ <proposal_module>mouse</proposal_module>
+ <proposal_module>partitions</proposal_module>
+ <proposal_module>software</proposal_module>
+ <proposal_module>bootloader</proposal_module>
+ <proposal_module>timezone</proposal_module>
+ <proposal_module>language</proposal_module>
+ <proposal_module>runlevel</proposal_module>
+ </proposal_modules>
+ </proposal_tab>
+ </proposal_tabs>
+ </proposal>
+
+ <proposal>
+ <label>Update Settings</label>
+ <mode>update</mode>
+ <name>initial</name>
+ <stage>normal</stage>
+ <enable_skip>no</enable_skip>
+ <proposal_modules config:type="list">
+ <proposal_module>update</proposal_module>
+ <proposal_module>packages</proposal_module>
+ <proposal_module>backup</proposal_module>
+ <proposal_module>language</proposal_module>
+ </proposal_modules>
+ </proposal>
+
+ <proposal>
+ <label>Installation Settings</label>
+ <mode>update</mode>
+ <stage>initial</stage>
+ <name>initial</name>
+ <enable_skip>no</enable_skip>
+ <proposal_modules config:type="list">
+ <proposal_module>hwinfo</proposal_module>
+ <proposal_module>media</proposal_module>
+<!-- disabled due to bug 165832
+ <proposal_module>rootpart</proposal_module>
+-->
+ <proposal_module>update</proposal_module>
+ <proposal_module>packages</proposal_module>
+ <proposal_module>backup</proposal_module>
+ <proposal_module>language</proposal_module>
+ <proposal_module>keyboard</proposal_module>
+ </proposal_modules>
+ </proposal>
+
+ <proposal>
+ <label>Network Configuration</label>
+ <name>network</name>
+ <stage>continue,normal</stage>
+ <enable_skip>yes</enable_skip>
+ <proposal_modules config:type="list">
+ <proposal_module>
+ <name>lan</name>
+ <presentation_order>20</presentation_order>
+ </proposal_module>
+ <proposal_module>
+ <name>general</name>
+ <presentation_order>5</presentation_order>
+ </proposal_module>
+ <proposal_module>
+ <name>dsl</name>
+ <presentation_order>30</presentation_order>
+ </proposal_module>
+ <proposal_module>
+ <name>isdn</name>
+ <presentation_order>40</presentation_order>
+ </proposal_module>
+ <proposal_module>
+ <name>modem</name>
+ <presentation_order>50</presentation_order>
+ </proposal_module>
+ <proposal_module>
+ <name>remote</name>
+ <presentation_order>60</presentation_order>
+ </proposal_module>
+ <proposal_module>
+ <name>firewall</name>
+ <presentation_order>10</presentation_order>
+ </proposal_module>
+ <proposal_module>
+ <name>proxy</name>
+ <presentation_order>70</presentation_order>
+ </proposal_module>
+ </proposal_modules>
+ </proposal>
+
+ <proposal>
+ <label>Hardware Configuration</label>
+ <name>hardware</name>
+ <stage>continue</stage>
+ <enable_skip>yes</enable_skip>
+ <proposal_modules config:type="list">
+ <proposal_module>x11</proposal_module>
+ <proposal_module>printer</proposal_module>
+ <proposal_module>sound</proposal_module>
+ <proposal_module>tv</proposal_module>
+ <proposal_module>bluetooth</proposal_module>
+ </proposal_modules>
+ </proposal>
+ </proposals>
+
+ <!-- Stage: Initial, Mode: Installation -->
+ <workflows config:type="list">
+ <workflow>
+ <defaults>
+ <archs>all</archs>
+ <enable_back>yes</enable_back>
+ <enable_next>yes</enable_next>
+ </defaults>
+ <label>Preparation</label>
+ <mode>installation</mode>
+ <stage>initial</stage>
+ <modules config:type="list">
+ <module>
+ <name>language</name>
+ <label>Language</label>
+ <enable_back>no</enable_back>
+ <enable_next>yes</enable_next>
+ <arguments>
+ <first_run>yes</first_run>
+ </arguments>
+ <retranslate config:type="boolean">true</retranslate>
+ </module>
+ <module>
+ <label>Language</label>
+ <name>checkmedia</name>
+ </module>
+ <module>
+ <label>License Agreement</label>
+ <name>license</name>
+ </module>
+ <module>
+ <label>Disk Activation</label>
+ <name>disks_activate</name>
+ </module>
+ <module>
+ <label>System Analysis</label>
+ <name>system_analysis</name>
+ </module>
+ <!-- Here, user selects whether to perform New Installation or Upgrade -->
+ <module>
+ <label>Online Repositories</label>
+ <name>productsources</name>
+ <enable_back>yes</enable_back>
+ </module>
+ <module>
+ <label>Add-On Products</label>
+ <name>add-on</name>
+ <enable_back>yes</enable_back>
+ </module>
+ <module>
+ <label>Time Zone</label>
+ <name>timezone</name>
+ <arguments>
+ <first_run>yes</first_run>
+ </arguments>
+ <enable_back>yes</enable_back>
+ </module>
+ <module>
+ <label>Desktop Selection</label>
+ <name>desktop</name>
+ </module>
+ <module>
+ <heading>yes</heading>
+ <label>Installation</label>
+ </module>
+ <module>
+ <label>Installation Settings</label>
+ <name>proposal</name>
+ <proposal>initial</proposal>
+ </module>
+ <module>
+ <label>Perform Installation</label>
+ <name>do_resize</name>
+ <update config:type="boolean">false</update>
+ <archs>i386,x86_64,ia64</archs>
+ </module>
+ <module>
+ <label>Perform Installation</label>
+ <name>prepdisk</name>
+ </module>
+ <module>
+ <label>Perform Installation</label>
+ <name>kickoff</name>
+ </module>
+ <module>
+ <label>Perform Installation</label>
+ <name>rpmcopy</name>
+ <enable_next>no</enable_next>
+ <enable_back>no</enable_back>
+ </module>
+ <module>
+ <label>Perform Installation</label>
+ <name>finish</name>
+ <enable_back>no</enable_back>
+ </module>
+ </modules>
+ </workflow>
+
+ <!-- Stage: Initial, Mode: Update -->
+ <workflow>
+ <defaults>
+ <archs>all</archs>
+ <enable_back>yes</enable_back>
+ <enable_next>yes</enable_next>
+ </defaults>
+ <label>Preparation</label>
+ <mode>update</mode>
+ <stage>initial</stage>
+ <modules config:type="list">
+ <module>
+ <name>language</name>
+ <label>Language</label>
+ <enable_back>no</enable_back>
+ <arguments>
+ <first_run>yes</first_run>
+ </arguments>
+ <retranslate config:type="boolean">true</retranslate>
+ </module>
+ <module>
+ <label>Language</label>
+ <name>checkmedia</name>
+ </module>
+ <module>
+ <label>License Agreement</label>
+ <name>license</name>
+ </module>
+ <module>
+ <label>Disk Activation</label>
+ <name>disks_activate</name>
+ </module>
+ <module>
+ <label>System Analysis</label>
+ <name>system_analysis</name>
+ </module>
+ <module>
+ <label>System for Update</label>
+ <name>update_partition</name>
+ </module>
+ <module>
+ <name>upgrade_urls</name>
+ </module>
+ <module>
+ <label>Online Repositories</label>
+ <name>productsources</name>
+ <enable_back>yes</enable_back>
+ </module>
+ <module>
+ <label>Add-On Products</label>
+ <name>add-on</name>
+ <enable_back>yes</enable_back>
+ </module>
+ <module>
+ <heading>yes</heading>
+ <label>Update</label>
+ </module>
+ <module>
+ <label>Update Settings</label>
+ <name>proposal</name>
+ <proposal>initial</proposal>
+ </module>
+ <module>
+ <label>Perform Update</label>
+ <name>do_resize</name>
+ <update config:type="boolean">false</update>
+ <archs>i386,x86_64,ia64</archs>
+ </module>
+ <module>
+ <label>Perform Update</label>
+ <name>prepdisk</name>
+ </module>
+ <module>
+ <label>Perform Update</label>
+ <name>kickoff</name>
+ </module>
+ <module>
+ <label>Perform Update</label>
+ <name>rpmcopy</name>
+ <enable_back>no</enable_back>
+ <enable_next>no</enable_next>
+ </module>
+ <module>
+ <label>Perform Update</label>
+ <name>finish</name>
+ <enable_back>no</enable_back>
+ </module>
+ </modules>
+ </workflow>
+ <workflow>
+ <defaults>
+ <archs>all</archs>
+ </defaults>
+ <stage>initial</stage>
+ <label>Preparation</label>
+ <mode>repair</mode>
+ <modules config:type="list">
+ <module>
+ <label>System Information</label>
+ <name>info</name>
+ </module>
+ <module>
+ <label>Perform Repair</label>
+ <name>repair</name>
+ </module>
+ </modules>
+ </workflow>
+
+ <!-- Stage: Initial, Mode: ScreenShot -->
+ <workflow>
+ <defaults>
+ <archs>all</archs>
+ <enable_back>yes</enable_back>
+ <enable_next>yes</enable_next>
+ </defaults>
+ <stage>initial</stage>
+ <label>Base Installation</label>
+ <mode>screen_shot</mode>
+ <modules config:type="list">
+ <module>
+ <enable_back>no</enable_back>
+ <enable_next>yes</enable_next>
+ <label>Language</label>
+ <name>language</name>
+ <retranslate config:type="boolean">true</retranslate>
+ </module>
+ <module>
+ <label>Installation Settings</label>
+ <name>proposal</name>
+ <proposal>initial</proposal>
+ </module>
+ <module>
+ <label>Perform Installation</label>
+ <name>do_resize</name>
+ <update config:type="boolean">false</update>
+ <archs>i386,x86_64,ia64</archs>
+ </module>
+ <module>
+ <label>Perform Installation</label>
+ <name>prepdisk</name>
+ </module>
+ <module>
+ <label>Perform Installation</label>
+ <name>kickoff</name>
+ </module>
+ <module>
+ <label>Perform Installation</label>
+ <name>rpmcopy</name>
+ <enable_back>no</enable_back>
+ <enable_next>yes</enable_next>
+ </module>
+ </modules>
+ </workflow>
+
+ <!-- Stage: Initial, Mode: Demo -->
+ <workflow>
+ <defaults>
+ <archs>all</archs>
+ <enable_back>yes</enable_back>
+ <enable_next>yes</enable_next>
+ </defaults>
+ <stage>initial</stage>
+ <label>Base Installation</label>
+ <mode>demo</mode>
+ <modules config:type="list">
+ <module>
+ <enable_back>no</enable_back>
+ <label>Language</label>
+ <name>language</name>
+ <retranslate config:type="boolean">true</retranslate>
+ </module>
+ <module>
+ <label>Installation Settings</label>
+ <name>proposal</name>
+ <proposal>initial</proposal>
+ </module>
+ <module>
+ <label>Perform Installation</label>
+ <name>do_resize</name>
+ <update config:type="boolean">false</update>
+ <archs>i386,x86_64,ia64</archs>
+ </module>
+ <module>
+ <label>Perform Installation</label>
+ <name>prepdisk</name>
+ </module>
+ <module>
+ <label>Perform Installation</label>
+ <name>kickoff</name>
+ </module>
+ <module>
+ <label>Perform Installation</label>
+ <name>rpmcopy</name>
+ <enable_back>no</enable_back>
+ <enable_next>no</enable_next>
+ </module>
+ </modules>
+ </workflow>
+
+ <!-- Stage: Continue, Mode: Update -->
+ <workflow>
+ <stage>continue</stage>
+ <mode>update</mode>
+ <defaults>
+ <archs>all</archs>
+ <enable_back>yes</enable_back>
+ <enable_next>yes</enable_next>
+ </defaults>
+ <modules config:type="list">
+ <module>
+ <label>Perform Update</label>
+ <name>rpmcopy</name>
+ <enable_back>no</enable_back>
+ <enable_next>no</enable_next>
+ </module>
+ <module>
+ <heading>yes</heading>
+ <label>Configuration</label>
+ </module>
+ <module>
+ <label>Network</label>
+ <name>ask_net_test</name>
+ <enable_back>no</enable_back>
+ </module>
+ <module>
+ <label>Network</label>
+ <name>do_net_test</name>
+ </module>
+ <module>
+ <label>Registration</label>
+ <name>addon_update_sources</name>
+ </module>
+ <module>
+ <label>Registration</label>
+ <name>suse_register</name>
+ </module>
+ <module>
+ <label>Online Update</label>
+ <name>ask_online_update</name>
+ </module>
+ <module>
+ <label>Online Update</label>
+ <name>you</name>
+ </module>
+ <module>
+ <label>Online Update</label>
+ <name>restore_settings</name>
+ </module>
+ <module>
+ <name>suseconfig</name>
+ <enable_back>no</enable_back>
+ <enable_next>no</enable_next>
+ </module>
+ <module>
+ <label>Release Notes</label>
+ <name>release_notes</name>
+ </module>
+ <module>
+ <name>congratulate</name>
+ </module>
+ </modules>
+ </workflow>
+
+ <!-- Stage: Continue, Mode: Installation -->
+ <workflow>
+ <stage>continue</stage>
+ <mode>installation</mode>
+ <defaults>
+ <enable_back>yes</enable_back>
+ <enable_next>yes</enable_next>
+ <archs>all</archs>
+ </defaults>
+ <modules config:type="list">
+ <module>
+ <heading>yes</heading>
+ <label>Configuration</label>
+ </module>
+ <module>
+ <label>root Password</label>
+ <name>root</name>
+ <enable_back>no</enable_back>
+ </module>
+ <module>
+ <label>Check Installation</label>
+ <name>initialization</name>
+ <enable_back>no</enable_back>
+ <enable_next>no</enable_next>
+ </module>
+ <module>
+ <label>Check Installation</label>
+ <name>netprobe</name>
+ <enable_back>no</enable_back>
+ <enable_next>no</enable_next>
+ </module>
+ <module>
+ <label>Check Installation</label>
+ <name>rpmcopy</name>
+ <enable_back>no</enable_back>
+ <enable_next>no</enable_next>
+ </module>
+ <module>
+ <label>Hostname</label>
+ <name>hostname</name>
+ </module>
+ <module>
+ <label>Network</label>
+ <name>proposal</name>
+ <proposal>network</proposal>
+ </module>
+ <module>
+ <label>Network</label>
+ <name>fam</name>
+ </module>
+ <module>
+ <label>Network</label>
+ <name>ask_net_test</name>
+ </module>
+ <module>
+ <label>Network</label>
+ <name>do_net_test</name>
+ </module>
+ <module>
+ <label>Registration</label>
+ <name>addon_update_sources</name>
+ </module>
+ <module>
+ <label>Registration</label>
+ <name>suse_register</name>
+ </module>
+ <module>
+ <label>Online Update</label>
+ <name>ask_online_update</name>
+ </module>
+ <module>
+ <label>Online Update</label>
+ <name>you</name>
+ </module>
+ <module>
+ <label>Online Update</label>
+ <name>extrasources</name>
+ </module>
+ <module>
+ <label>Online Update</label>
+ <name>restore_settings</name>
+ </module>
+ <module>
+ <label>Users</label>
+ <name>auth</name>
+ </module>
+ <module>
+ <label>Users</label>
+ <name>user</name>
+ </module>
+ <module>
+ <name>suseconfig</name>
+ <enable_back>no</enable_back>
+ <enable_next>no</enable_next>
+ </module>
+ <module>
+ <label>Release Notes</label>
+ <name>release_notes</name>
+ </module>
+ <module>
+ <label>Hardware Configuration</label>
+ <name>proposal</name>
+ <proposal>hardware</proposal>
+ </module>
+ <module>
+ <label>Hardware Configuration</label>
+ <name>save_hardware_status</name>
+ </module>
+ <module>
+ <name>congratulate</name>
+ </module>
+ </modules>
+ </workflow>
+
+ <!-- Stage: Initial, Mode: AutoInstallation -->
+ <workflow>
+ <stage>initial</stage>
+ <label>Base Installation</label>
+ <mode>autoinstallation</mode>
+ <defaults>
+ <archs>all</archs>
+ <enable_back>no</enable_back>
+ <enable_next>no</enable_next>
+ </defaults>
+ <modules config:type="list">
+ <module>
+ <label>AutoYaST Settings</label>
+ <name>autoinit</name>
+ <archs>all</archs>
+ <retranslate config:type="boolean">true</retranslate>
+ </module>
+ <module>
+ <label>AutoYaST Settings</label>
+ <name>autosetup</name>
+ </module>
+ <module>
+ <label>AutoYaST Settings</label>
+ <name>proposal</name>
+ <proposal>initial</proposal>
+ <enable_back>no</enable_back>
+ <enable_next>yes</enable_next>
+ </module>
+ <module>
+ <label>Perform Installation</label>
+ <name>prepdisk</name>
+ </module>
+ <module>
+ <label>Perform Installation</label>
+ <name>kickoff</name>
+ </module>
+ <module>
+ <label>Perform Installation</label>
+ <name>autoimage</name>
+ </module>
+ <module>
+ <label>Perform Installation</label>
+ <name>rpmcopy</name>
+ </module>
+ <module>
+ <label>Perform Installation</label>
+ <name>finish</name>
+ </module>
+ </modules>
+ </workflow>
+
+ <!-- Stage: Continue, Mode: AutoInstallation -->
+ <workflow>
+ <defaults>
+ <archs>all</archs>
+ <enable_back>no</enable_back>
+ <enable_next>no</enable_next>
+ </defaults>
+ <stage>continue</stage>
+ <mode>autoinstallation</mode>
+ <modules config:type="list">
+ <module>
+ <label>Perform Installation</label>
+ <name>netprobe</name>
+ </module>
+ <module>
+ <label>Perform Installation</label>
+ <name>autopost</name>
+ </module>
+ <module>
+ <label>Perform Installation</label>
+ <name>rpmcopy</name>
+ </module>
+ <module>
+ <heading>yes</heading>
+ <label>Configuration</label>
+ </module>
+ <module>
+ <label>System Configuration</label>
+ <name>autoconfigure</name>
+ </module>
+ <module>
+ <name>suseconfig</name>
+ </module>
+ </modules>
+ </workflow>
+ </workflows>
+</productDefines>
--- /dev/null
+<?xml version="1.0"?>
+<!DOCTYPE productDefines SYSTEM "/usr/share/YaST2/control/control.dtd">
+<productDefines xmlns="http://www.suse.com/1.0/yast2ns" xmlns:config="http://www.suse.com/1.0/configns">
+ <textdomain>control-ISSLE</textdomain>
+ <globals>
+ <enable_firewall config:type="boolean">false</enable_firewall>
+ </globals>
+ <software>
+ <selection_type config:type="symbol">auto</selection_type>
+ </software>
+ <network>
+ <force_static_ip config:type="boolean">true</force_static_ip>
+ </network>
+ <texts>
+ <congratulate>
+ <label>
+<p>
+You have successfully installed the Integrated Stack for SUSE Linux Enterprise.
+</p>
+<p>
+The services you just installed might require additional
+setup before use. See the Integrated Stack for SUSE Linux Enterprise
+Installation guide for details.
+</p>
+ </label>
+ </congratulate>
+ </texts>
+ <proposals config:type="list">
+ <proposal>
+ <label>ISSLE Configuration</label>
+ <name>product</name>
+ <stage>continue,normal</stage>
+ <mode>installation</mode>
+ <proposal_modules config:type="list">
+ <proposal_module>yast2-issleconfig</proposal_module>
+ </proposal_modules>
+ </proposal>
+ </proposals>
+ <workflows config:type="list">
+ <workflow>
+ <defaults>
+ <enable_back>no</enable_back>
+ <enable_next>no</enable_next>
+ </defaults>
+ <stage>normal</stage>
+ <mode>installation,normal</mode>
+ <modules config:type="list">
+ <module>
+ <label>ISSLE Software Selection</label>
+ <name>sw_single</name>
+ <enable_back>yes</enable_back>
+ <enable_next>yes</enable_next>
+ </module>
+ <module>
+ <label>ISSLE Configuration</label>
+ <name>issleconfig</name>
+ <enable_back>yes</enable_back>
+ <enable_next>yes</enable_next>
+ </module>
+ <module>
+ <label>Release Notes</label>
+ <name>inst_release_notes</name>
+ <enable_back>yes</enable_back>
+ <enable_next>yes</enable_next>
+ </module>
+ <module>
+ <name>inst_congratulate</name>
+ <enable_back>no</enable_back>
+ <enable_next>yes</enable_next>
+ </module>
+ </modules>
+ </workflow>
+ </workflows>
+ <update>
+ <workflows config:type="list">
+ <workflow>
+ <defaults>
+ <enable_back>no</enable_back>
+ <enable_next>no</enable_next>
+ </defaults>
+ <stage>continue,normal</stage>
+ <mode>installation,normal,update</mode>
+ <remove_modules config:type="list">
+ <remove_module>hostname</remove_module>
+ <remove_module>root</remove_module>
+ <remove_module>ca_mgm</remove_module>
+ </remove_modules>
+ <append_modules config:type="list">
+ <module>
+ <name>yast2-issleconfig</name>
+ </module>
+ </append_modules>
+ <insert_modules config:type="list">
+ <insert_module>
+ <before>suseconfig</before>
+ <modules config:type="list">
+ <module>
+ <label>ISSLE Configuration</label>
+ <name>issleconfig</name>
+ <enable_back>yes</enable_back>
+ <enable_next>yes</enable_next>
+ </module>
+ </modules>
+ </insert_module>
+ </insert_modules>
+ </workflow>
+ </workflows>
+ </update>
+</productDefines>
{
if ( _pimpl->setFileCheckSum( _pimpl->repoindex().signingKeys, value ) )
{
- ZYPP_THROW( ParseException( errPrefix( line.lineNo(), "Expected [algorithm checksum filename]", *line ) ) );
+ ZYPP_THROW( ParseException( errPrefix( line.lineNo(), "Expected [KEY algorithm checksum filename]", *line ) ) );
}
}
else if ( key == "LANGUAGE" )
ZYPP_THROW( ParseException( errPrefix( line.lineNo(), "Expected [algorithm checksum filename]", *line ) ) );
}
}
+ else if ( key == "HASH" )
+ {
+ if ( _pimpl->setFileCheckSum( _pimpl->repoindex().mediaFileChecksums, value ) )
+ {
+ ZYPP_THROW( ParseException( errPrefix( line.lineNo(), "Expected [algorithm checksum filename]", *line ) ) );
+ }
+ }
else if ( key == "TIMEZONE" )
{
_pimpl->repoindex().timezone = value;
Pathname datadir;
FileChecksumMap metaFileChecksums;
+ FileChecksumMap mediaFileChecksums;
FileChecksumMap signingKeys;
protected:
#include "zypp/Locale.h"
#include "zypp/ZConfig.h"
#include "zypp/repo/MediaInfoDownloader.h"
-
#include "zypp/repo/susetags/Downloader.h"
+#include "zypp/parser/ParseException.h"
+#include "zypp/parser/susetags/RepoIndex.h"
#include "zypp/base/UserRequestException.h"
using namespace std;
+using namespace zypp::parser;
+using namespace zypp::parser::susetags;
namespace zypp
{
this->start( dest_dir, media );
this->reset();
- std::ifstream file((dest_dir + _path + "/content").asString().c_str());
- std::string buffer;
Pathname descr_dir;
- // FIXME Note this code assumes DESCR comes before as META
- string value;
- while (file && !file.eof())
+ // Content file first to get the repoindex
{
- getline(file, buffer);
- if ( buffer.substr( 0, 5 ) == "DESCR" )
- {
- std::vector<std::string> words;
- if ( str::split( buffer, std::back_inserter(words) ) != 2 )
- {
- // error
- ZYPP_THROW(Exception("bad DESCR line"));
- }
- descr_dir = words[1];
- }
- else if ( buffer.substr( 0, 4 ) == "META" )
+ Pathname inputfile( dest_dir + _path + "/content" );
+ ContentFileReader content;
+ content.setRepoIndexConsumer( bind( &Downloader::consumeIndex, this, _1 ) );
+ content.parse( inputfile );
+ }
+ if ( ! _repoindex )
+ {
+ ZYPP_THROW( ParseException( (dest_dir+_path).asString() + ": " + "No reository index in content file." ) );
+ }
+
+ // Prepare parsing
+ descr_dir = _repoindex->descrdir; // path below reporoot
+ //_datadir = _repoIndex->datadir; // path below reporoot
+
+ for ( RepoIndex::FileChecksumMap::const_iterator it = _repoindex->metaFileChecksums.begin();
+ it != _repoindex->metaFileChecksums.end();
+ ++it )
+ {
+ // omit unwanted translations
+ if ( str::hasPrefix( it->first, "packages" ) )
{
- std::vector<std::string> words;
- if ( str::split( buffer, std::back_inserter(words) ) != 4 )
- {
- // error
- ZYPP_THROW(Exception("bad META line"));
- }
- // omit unwanted translations
- if ( str::hasPrefix( words[3], "packages" ) )
+ std::string rest( str::stripPrefix( it->first, "packages" ) );
+ if ( ! ( rest.empty()
+ || rest == ".DU"
+ || rest == ".en"
+ || rest == ".gz"
+ || rest == ".DU.gz"
+ || rest == ".en.gz" ) )
{
- std::string rest( str::stripPrefix( words[3], "packages" ) );
- if ( ! ( rest.empty()
- || rest == ".DU"
- || rest == ".en"
- || rest == ".gz"
- || rest == ".DU.gz"
- || rest == ".en.gz" ) )
+ // Not 100% correct as we take each fallback of textLocale
+ Locale toParse( ZConfig::instance().textLocale() );
+ while ( toParse != Locale::noCode )
{
- // Not 100% correct as we take each fallback of textLocale
- Locale toParse( ZConfig::instance().textLocale() );
- while ( toParse != Locale::noCode )
- {
- if ( rest == ("."+toParse.code()) || (rest == ("."+toParse.code()+".gz")) )
- break;
- toParse = toParse.fallback();
- }
- if ( toParse == Locale::noCode )
- {
- // discard
- continue;
- }
+ if ( rest == ("."+toParse.code()) || (rest == ("."+toParse.code()+".gz")) )
+ break;
+ toParse = toParse.fallback();
+ }
+ if ( toParse == Locale::noCode )
+ {
+ // discard
+ continue;
}
}
- else if ( str::endsWith( words[3], ".pat" )
- || str::endsWith( words[3], ".pat.gz" ) )
- {
+ }
+ else if ( str::endsWith( it->first, ".pat" )
+ || str::endsWith( it->first, ".pat.gz" ) )
+ {
- // *** see also zypp/parser/susetags/RepoParser.cc ***
+ // *** see also zypp/parser/susetags/RepoParser.cc ***
- // omit unwanted patterns, see https://bugzilla.novell.com/show_bug.cgi?id=298716
- // expect "<name>.<arch>.pat[.gz]", <name> might contain additional dots
- // split at dots, take .pat or .pat.gz into account
+ // omit unwanted patterns, see https://bugzilla.novell.com/show_bug.cgi?id=298716
+ // expect "<name>.<arch>.pat[.gz]", <name> might contain additional dots
+ // split at dots, take .pat or .pat.gz into account
- std::vector<std::string> patparts;
- unsigned archpos = 2;
- // expect "<name>.<arch>.pat[.gz]", <name> might contain additional dots
- unsigned count = str::split( buffer, std::back_inserter(patparts), "." );
- if ( patparts[count-1] == "gz" )
- archpos++;
+ std::vector<std::string> patparts;
+ unsigned archpos = 2;
+ // expect "<name>.<arch>.pat[.gz]", <name> might contain additional dots
+ unsigned count = str::split( it->first, std::back_inserter(patparts), "." );
+ if ( patparts[count-1] == "gz" )
+ archpos++;
- if ( count > archpos )
+ if ( count > archpos )
+ {
+ try // might by an invalid architecture
{
- try // might by an invalid architecture
+ Arch patarch( patparts[count-archpos] );
+ if ( !patarch.compatibleWith( ZConfig::instance().systemArchitecture() ) )
{
- Arch patarch( patparts[count-archpos] );
- if ( !patarch.compatibleWith( ZConfig::instance().systemArchitecture() ) )
- {
- // discard, if not compatible
- MIL << "Discarding pattern " << words[3] << endl;
- continue;
- }
- }
- catch ( const Exception & excpt )
- {
- WAR << "Pattern file name does not contain recognizable architecture: " << words[3] << endl;
- // keep .pat file if it doesn't contain an recognizable arch
+ // discard, if not compatible
+ MIL << "Discarding pattern " << it->first << endl;
+ continue;
}
}
+ catch ( const Exception & excpt )
+ {
+ WAR << "Pattern file name does not contain recognizable architecture: " << it->first << endl;
+ // keep .pat file if it doesn't contain an recognizable arch
+ }
}
- OnMediaLocation location( _path + descr_dir + words[3], 1 );
- location.setChecksum( CheckSum( words[1], words[2] ) );
- this->enqueueDigested(location);
- }
- else if (buffer.substr( 0, 3 ) == "KEY")
- {
- std::vector<std::string> words;
- if ( str::split( buffer, std::back_inserter(words) ) != 4 )
- {
- // error
- ZYPP_THROW(Exception("bad KEY line"));
- }
- OnMediaLocation location( _path + words[3], 1 );
- location.setChecksum( CheckSum( words[1], words[2] ) );
- this->enqueueDigested(location);
}
+ MIL << "adding job " << it->first << endl;
+ OnMediaLocation location( _path + descr_dir + it->first, 1 );
+ location.setChecksum( it->second );
+ this->enqueueDigested(location);
+ }
+
+ for ( RepoIndex::FileChecksumMap::const_iterator it = _repoindex->signingKeys.begin();
+ it != _repoindex->signingKeys.end();
+ ++it )
+ {
+ OnMediaLocation location( _path + it->first, 1 );
+ location.setChecksum( it->second );
+ this->enqueueDigested(location);
+ }
+
+ // add hashed media files
+
+ for ( RepoIndex::FileChecksumMap::const_iterator it = _repoindex->mediaFileChecksums.begin();
+ it != _repoindex->mediaFileChecksums.end();
+ ++it )
+ {
+ OnMediaLocation location( _path + it->first, 1 );
+ location.setChecksum( it->second );
+ this->enqueueDigested(location);
}
- file.close();
+
this->start( dest_dir, media );
}
+void Downloader::consumeIndex( const RepoIndex_Ptr & data_r )
+{
+ MIL << "Consuming repo index" << endl;
+ _repoindex = data_r;
+}
+
}// ns susetags
}// ns source
} // ns zypp
#include "zypp/RepoStatus.h"
#include "zypp/MediaSetAccess.h"
#include "zypp/repo/Downloader.h"
+#include "zypp/parser/susetags/ContentFileReader.h"
namespace zypp
{
* \short Status of the remote repository
*/
RepoStatus status( MediaSetAccess &media );
+
+ /**
+ * Content file parser consumer
+ */
+ void consumeIndex( const parser::susetags::RepoIndex_Ptr & data_r );
+
private:
Pathname _path;
+ parser::susetags::RepoIndex_Ptr _repoindex;
};
} // ns susetags