Hello community, here is the log from the commit of package python-kiwi for openSUSE:Factory checked in at 2020-02-29 21:20:24 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-kiwi (Old) and /work/SRC/openSUSE:Factory/.python-kiwi.new.26092 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-kiwi" Sat Feb 29 21:20:24 2020 rev:57 rq:779546 version:9.20.1 Changes: -------- --- /work/SRC/openSUSE:Factory/python-kiwi/python-kiwi.changes 2020-02-19 12:39:40.427524503 +0100 +++ /work/SRC/openSUSE:Factory/.python-kiwi.new.26092/python-kiwi.changes 2020-02-29 21:20:27.142034169 +0100 @@ -1,0 +2,162 @@ +Wed Feb 19 18:01:58 CET 2020 - Marcus Schäfer <[email protected]> + +- Bump version: 9.20.0 → 9.20.1 + +------------------------------------------------------------------- +Wed Feb 19 16:51:56 CET 2020 - Marcus Schäfer <[email protected]> + +- Added serial console in centos integration test + + For use with Kanku we enable the serial console for the + centos integration test image + +------------------------------------------------------------------- +Wed Feb 19 10:37:19 CET 2020 - Marcus Schäfer <[email protected]> + +- Make PrEP partition known to GPT partitioner + +------------------------------------------------------------------- +Wed Feb 19 10:24:41 CET 2020 - Marcus Schäfer <[email protected]> + +- Use GPT table for Power ofw firmware + + GPT partition table should be preferred for power systems + these days. Related to Issue #1325 + +------------------------------------------------------------------- +Wed Feb 19 09:40:50 CET 2020 - Marcus Schäfer <[email protected]> + +- target blocksize for IBM Power8 systems is 4k + + Adapt the oem image integration test for bare metal to use + 4k blocksize + +------------------------------------------------------------------- +Tue Feb 18 10:38:30 CET 2020 - Marcus Schäfer <[email protected]> + +- Fixup documentation for consistency + + There is the legacy kiwi version and there is this kiwi(next generation). + From a documentation perspective there are several inconsistencies that + could confuse users. This commit makes the name for KIWI-NG consistent + across the entire documentation. At places where we point to older + documentation we use the term Legacy KIWI and a link to the documentation + that covers this part. All this is needed in preparation to cleanup the + documentation situation for the SUSE documentation but with respect to + the upstream doc sources, their layout and markup. + +------------------------------------------------------------------- +Mon Feb 17 16:58:56 CET 2020 - David Cassany <[email protected]> + +- Do not create empty macros file + + This commit makes sure to empty RPM macros files are created during + the build. Additionally it also ensures that no needless `rm` and `mkdir` + calls are done. + + Fixes #1316 + +------------------------------------------------------------------- +Mon Feb 17 16:02:46 CET 2020 - Marcus Schäfer <[email protected]> + +- Turn btrfs requirement into a recommend + + Only on suse systems btrfs is eligable to be a required package + because it's the default filesystem of that distribution. In any + other case it should be a recommended package. As a side effect + of this change we will be able to activate the CentOS-8 build + target + +------------------------------------------------------------------- +Sat Feb 15 15:46:21 CET 2020 - Marcus Schäfer <[email protected]> + +- Bump version: 9.19.16 → 9.20.0 + +------------------------------------------------------------------- +Thu Feb 13 16:03:42 CET 2020 - David Cassany <[email protected]> + +- Fix append file for PXE + + This commit fixes a regression introduced in 141f384e. With this commit + the append file is only added to the PXE tarball only when it is + created. + +------------------------------------------------------------------- +Tue Feb 11 19:04:19 CET 2020 - Al <[email protected]> + +- Split kiwi-dump into 2 modules to allow inserting a module after the image dump and before system reboot + +------------------------------------------------------------------- +Tue Feb 11 13:14:34 CET 2020 - Marcus Schäfer <[email protected]> + +- Addded doc_suse tox target to build docbook target + + SUSE documentation is based on docbook or asciidoc. The kiwi + documentation is maintained along with the code and uses the + sphinx system and therefore ReST as markup language. We would + like to keep one source and don't want to move to another markup + language. Thus the sources needs to be structured in a way that + allows translation into sphinx supported targets as well as + into SUSE docbook style. This commit changes the documentation + structure in a way that both is possible. With the use of Sphinx + XML and rstxml2docbook the ReST docs are converted into docbook. + From there the SUSE daps tool can create SUSE documentation + +------------------------------------------------------------------- +Mon Feb 10 09:34:07 CET 2020 - Marcus Schäfer <[email protected]> + +- Move gitlab stages to use gitlab registry + + The kiwi-ci-containers project on gitlab now builds all + containers that are needed to run all type of tests we + have in the gitlab pipeline for kiwi. This commit moves + the tests to fetch the containers from the gitlab + registry and avoids any requirement to install packages + prior to running the tests. This will speedup the + overall test time and makes the system also more robust + in case the repo servers hosting the packages can't + be accessed for some reason + +------------------------------------------------------------------- +Sun Feb 09 19:21:14 CET 2020 - Marcus Schäfer <[email protected]> + +- Fixed ISO creation on ppc + + On the ppc architecture the isolinux path was chosen which + is wrong. This patch fixes the ISO creation to use the grub + path + +------------------------------------------------------------------- +Sun Feb 09 17:42:28 CET 2020 - Marcus Schäfer <[email protected]> + +- Added suse OEM ppc integration test + + Added obs integration test for building a simple disk image + to be started in a VM on power. Related to Issue #1325 + +------------------------------------------------------------------- +Fri Feb 07 14:46:36 CET 2020 - Marcus Schäfer <[email protected]> + +- Move gitlab build_doc target to gitlab registry + + Use the container from the kiwi-ci-containers project to + run the build_doc target + +------------------------------------------------------------------- +Fri Feb 07 09:49:32 CET 2020 - Marcus Schäfer <[email protected]> + +- Delete use of ifplugd in integration tests + + ifplugd was dropped from the factory tree and that change + needs to be addressed in the integration tests to let + them build again + +------------------------------------------------------------------- +Thu Feb 06 10:25:34 CET 2020 - Marcus Schäfer <[email protected]> + +- Added ppc integration test links + + Added ppc integration test links to the overview page of + the kiwi documentation. Related to Issue #1325 + +------------------------------------------------------------------- @@ -4,0 +167,12 @@ + +------------------------------------------------------------------- +Wed Feb 05 18:47:35 CET 2020 - David Cassany <[email protected]> + +- Add .append file for PXE images + + This commit creates the .append file for PXE images. This file + is only created for initrd based images and includes the + UUID of the rootfs and any parameter added by the user within + the 'kernelcmdline' attribute. + + Fixes #1327 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-kiwi.spec ++++++ --- /var/tmp/diff_new_pack.bboTPb/_old 2020-02-29 21:20:27.998035863 +0100 +++ /var/tmp/diff_new_pack.bboTPb/_new 2020-02-29 21:20:28.002035871 +0100 @@ -43,7 +43,7 @@ %endif Name: python-kiwi -Version: 9.19.16 +Version: 9.20.1 Provides: kiwi-schema = 7.1 Release: 0 Url: https://github.com/SUSE/kiwi @@ -212,12 +212,16 @@ Requires: bc Requires: cryptsetup %if 0%{?fedora} || 0%{?rhel} || 0%{?ubuntu} >= 1804 || 0%{?debian} >= 9 +%if 0%{?rhel} && 0%{?rhel} < 8 Requires: btrfs-progs +%else +Recommends: btrfs-progs +%endif Requires: gdisk Requires: dracut-network %else %if 0%{?debian} || 0%{?ubuntu} -Requires: btrfs-tools +Recommends: btrfs-tools Requires: gdisk %else Requires: btrfsprogs @@ -284,12 +288,12 @@ Group: %{sysgroup} %description -n dracut-kiwi-oem-dump -This package contains the kiwi-dump dracut module which is -used to install an oem image onto a target disk. It implements -a simple installer which allows for user selected target disk -or unattended installation to target. The source of the image -to install could be either from media(CD/DVD/USB) or from -remote +This package contains the kiwi-dump and kiwi-dump-reboot dracut +modules which is used to install an oem image onto a target disk. +It implements a simple installer which allows for user selected +target disk or unattended installation to target. The source of +the image to install could be either from media(CD/DVD/USB) or +from remote %package -n dracut-kiwi-live Summary: KIWI - Dracut module for iso(live) image type @@ -439,6 +443,7 @@ %files -n dracut-kiwi-oem-dump %{_usr}/lib/dracut/modules.d/90kiwi-dump +%{_usr}/lib/dracut/modules.d/99kiwi-dump-reboot %files -n dracut-kiwi-live %{_usr}/lib/dracut/modules.d/90kiwi-live ++++++ python-kiwi.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.19.16/.bumpversion.cfg new/kiwi-9.20.1/.bumpversion.cfg --- old/kiwi-9.19.16/.bumpversion.cfg 2020-02-06 10:07:45.000000000 +0100 +++ new/kiwi-9.20.1/.bumpversion.cfg 2020-02-19 18:01:58.000000000 +0100 @@ -1,5 +1,5 @@ [bumpversion] -current_version = 9.19.16 +current_version = 9.20.1 commit = True tag = True diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.19.16/.virtualenv.dev-requirements.txt new/kiwi-9.20.1/.virtualenv.dev-requirements.txt --- old/kiwi-9.19.16/.virtualenv.dev-requirements.txt 2019-10-21 15:31:46.000000000 +0200 +++ new/kiwi-9.20.1/.virtualenv.dev-requirements.txt 2020-02-17 15:56:00.000000000 +0100 @@ -40,6 +40,8 @@ # for building documentation sphinx +git+https://github.com/openSUSE/rstxml2docbook.git@feature/kiwi + sphinx_rtd_theme sphinxcontrib-spelling pyenchant diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.19.16/PKG-INFO new/kiwi-9.20.1/PKG-INFO --- old/kiwi-9.19.16/PKG-INFO 2020-02-06 10:09:29.000000000 +0100 +++ new/kiwi-9.20.1/PKG-INFO 2020-02-19 18:03:36.000000000 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: kiwi -Version: 9.19.16 +Version: 9.20.1 Summary: KIWI - Appliance Builder (next generation) Home-page: https://osinside.github.io/kiwi Author: Marcus Schaefer Binary files old/kiwi-9.19.16/doc/build/latex/kiwi.pdf and new/kiwi-9.20.1/doc/build/latex/kiwi.pdf differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.19.16/doc/build/man/kiwi.8 new/kiwi-9.20.1/doc/build/man/kiwi.8 --- old/kiwi-9.19.16/doc/build/man/kiwi.8 2020-02-06 10:09:28.000000000 +0100 +++ new/kiwi-9.20.1/doc/build/man/kiwi.8 2020-02-19 18:03:35.000000000 +0100 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "KIWI" "8" "Feb 06, 2020" "9.19.16" "kiwi" +.TH "KIWI" "8" "Feb 19, 2020" "9.20.1" "KIWI NG" .SH NAME kiwi \- Creating Operating System Images . @@ -46,14 +46,14 @@ [\-\-color\-output] image <command> [<args>...] kiwi [\-\-debug] - [\-\-color\-output] + [\-\-color\-output] result <command> [<args>...] kiwi [\-\-profile=<name>...] - [\-\-shared\-cache\-dir=<directory>] - [\-\-type=<build_type>] - [\-\-logfile=<filename>] - [\-\-debug] - [\-\-color\-output] + [\-\-shared\-cache\-dir=<directory>] + [\-\-type=<build_type>] + [\-\-logfile=<filename>] + [\-\-debug] + [\-\-color\-output] system <command> [<args>...] kiwi compat <legacy_args>... kiwi \-v | \-\-version @@ -64,7 +64,7 @@ .UNINDENT .SH DESCRIPTION .sp -KIWI is an imaging solution that is based on an image XML description. +KIWI NG is an imaging solution that is based on an image XML description. Such a description is represented by a directory which includes at least one \fBconfig.xml\fP or \fB\&.kiwi\fP file and may as well include other files like scripts or configuration data. @@ -76,8 +76,8 @@ predefined remote source setup to allow installation of missing software components at a later point in time. .sp -KIWI operates in two steps. The system build command combines -both steps into one to make it easier to start with KIWI. The first +KIWI NG operates in two steps. The system build command combines +both steps into one to make it easier to start with KIWI NG. The first step is the preparation step and if that step was successful, a creation step follows which is able to create different image output types. @@ -88,7 +88,7 @@ uses the contents of the new image root tree to create the output image. .sp -KIWI supports the creation of the following image types: +KIWI NG supports the creation of the following image types: .INDENT 0.0 .IP \(bu 2 ISO Live Systems @@ -153,107 +153,11 @@ .fi .UNINDENT .UNINDENT -.SH THE RUNTIME CONFIGURATION FILE -.sp -KIWI supports an additional configuration file for runtime specific -settings that do not belong into the image description but which are -persistent and would be unsuitable for command line parameters. -.sp -The runtime configuration file must adhere to the \fI\%YAML\fP syntax. KIWI searches for the runtime configuration -file in the following locations: -.INDENT 0.0 -.IP 1. 3 -\fB~/.config/kiwi/config.yml\fP -.IP 2. 3 -\fB/etc/kiwi.yml\fP -.UNINDENT -.sp -The parameters that can be changed via the runtime configuration file are -illustrated in the following example: -.INDENT 0.0 -.INDENT 3.5 -.sp -.nf -.ft C -xz: - # Additional command line flags for \(gaxz\(ga - # see \(gaman xz\(ga for details - \- options: \-9e - -obs: - # Override the URL to the Open Build Service (i.e. how repository - # paths starting with \(gaobs://\(ga will be resolved). - # This setting is useful for building a KIWI appliance locally, which is - # hosted on a custom OBS instance. - # defaults to: http://download.opensuse.org/repositories - \- download_url: https://build.my\-domain.example/repositories - - # Specifies whether the Open Build Service instance is public or - # private - # defaults to true - \- public: true | false - -bundle: - # Configure whether the image bundle should contain a XZ compressed - # image result or not. - \- compress: true | false - -container: - # Specify the compression algorithm for compressing container - # images. Invalid entries are skipped. - # Defaults to \(gaxz\(ga. - \- compress: xz | none - -iso: - # Configure which tool KIWI will use to build ISO images. Invalid - # entries are ignored. - # Defaults to \(gaxorriso\(ga - \- tool_category: cdrtools | xorriso - -oci: - # Specify the OCI archive tool that will be used to create container - # archives for OCI compliant images. - # Defaults to \(gaumoci\(ga. - \- archive_tool: umoci | buildah - -build_constraints: - # Configure the maximum image size. Either provide a number in bytes - # or specify it with the suffix \(gam\(ga/\(gaM\(ga for megabytes or \(gag\(ga/\(gaG\(ga for - # gigabytes. - # If the resulting image exceeds the specified value, then KIWI will - # abort with an error. - # The default is no size constraint. - \- max_size: 700m - -runtime_checks: - # Provide a list of runtime checks that should be disabled. Checks - # that do not exist but are present in this list are silently - # ignored. - \- disable: check_image_include_repos_publicly_resolvable | \e - check_target_directory_not_in_shared_cache | \e - check_volume_label_used_with_lvm | \e - check_volume_setup_defines_multiple_fullsize_volumes | \e - check_volume_setup_has_no_root_definition | \e - check_container_tool_chain_installed | \e - check_boot_description_exists | \e - check_consistent_kernel_in_boot_and_system_image | \e - check_dracut_module_for_oem_install_in_package_list | \e - check_dracut_module_for_disk_oem_in_package_list | \e - check_dracut_module_for_live_iso_in_package_list | \e - check_dracut_module_for_disk_overlay_in_package_list | \e - check_efi_mode_for_disk_overlay_correctly_setup | \e - check_xen_uniquely_setup_as_server_or_guest | \e - check_mediacheck_only_for_x86_arch | \e - check_minimal_required_preferences -.ft P -.fi -.UNINDENT -.UNINDENT .SH COMPATIBILITY .sp -This version of KIWI uses a different caller syntax compared to +This version of KIWI NG uses a different caller syntax compared to former versions. However there is a compatibility mode which allows -to use a legacy KIWI commandline as follows: +to use a legacy KIWI NG commandline as follows: .INDENT 0.0 .INDENT 3.5 .sp @@ -269,6 +173,6 @@ .SH AUTHOR Marcus Schäfer .SH COPYRIGHT -2019, Marcus Schäfer +2020, Marcus Schäfer .\" Generated by docutils manpage writer. . diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.19.16/doc/build/man/kiwi::image::info.8 new/kiwi-9.20.1/doc/build/man/kiwi::image::info.8 --- old/kiwi-9.19.16/doc/build/man/kiwi::image::info.8 2020-02-06 10:09:28.000000000 +0100 +++ new/kiwi-9.20.1/doc/build/man/kiwi::image::info.8 2020-02-19 18:03:35.000000000 +0100 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "KIWI::IMAGE::INFO" "8" "Feb 06, 2020" "9.19.16" "kiwi" +.TH "KIWI::IMAGE::INFO" "8" "Feb 19, 2020" "9.20.1" "KIWI NG" .SH NAME kiwi::image::info \- Provide detailed information about an image description . @@ -83,6 +83,6 @@ .SH AUTHOR Marcus Schäfer .SH COPYRIGHT -2019, Marcus Schäfer +2020, Marcus Schäfer .\" Generated by docutils manpage writer. . diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.19.16/doc/build/man/kiwi::image::resize.8 new/kiwi-9.20.1/doc/build/man/kiwi::image::resize.8 --- old/kiwi-9.19.16/doc/build/man/kiwi::image::resize.8 2020-02-06 10:09:28.000000000 +0100 +++ new/kiwi-9.20.1/doc/build/man/kiwi::image::resize.8 2020-02-19 18:03:35.000000000 +0100 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "KIWI::IMAGE::RESIZE" "8" "Feb 06, 2020" "9.19.16" "kiwi" +.TH "KIWI::IMAGE::RESIZE" "8" "Feb 19, 2020" "9.20.1" "KIWI NG" .SH NAME kiwi::image::resize \- Resize disk images to new geometry . @@ -71,6 +71,6 @@ .SH AUTHOR Marcus Schäfer .SH COPYRIGHT -2019, Marcus Schäfer +2020, Marcus Schäfer .\" Generated by docutils manpage writer. . diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.19.16/doc/build/man/kiwi::result::bundle.8 new/kiwi-9.20.1/doc/build/man/kiwi::result::bundle.8 --- old/kiwi-9.19.16/doc/build/man/kiwi::result::bundle.8 2020-02-06 10:09:28.000000000 +0100 +++ new/kiwi-9.20.1/doc/build/man/kiwi::result::bundle.8 2020-02-19 18:03:35.000000000 +0100 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "KIWI::RESULT::BUNDLE" "8" "Feb 06, 2020" "9.19.16" "kiwi" +.TH "KIWI::RESULT::BUNDLE" "8" "Feb 19, 2020" "9.20.1" "KIWI NG" .SH NAME kiwi::result::bundle \- Bundle build results . @@ -73,7 +73,7 @@ .INDENT 7.0 .IP \(bu 2 The zsync control file is only created for those bundle files -which are marked for compression because in a KIWI build only those +which are marked for compression because in a KIWI NG build only those are meaningful for a partial binary file download. .IP \(bu 2 It is expected that all files from a bundle are placed to the same @@ -83,6 +83,6 @@ .SH AUTHOR Marcus Schäfer .SH COPYRIGHT -2019, Marcus Schäfer +2020, Marcus Schäfer .\" Generated by docutils manpage writer. . diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.19.16/doc/build/man/kiwi::result::list.8 new/kiwi-9.20.1/doc/build/man/kiwi::result::list.8 --- old/kiwi-9.19.16/doc/build/man/kiwi::result::list.8 2020-02-06 10:09:28.000000000 +0100 +++ new/kiwi-9.20.1/doc/build/man/kiwi::result::list.8 2020-02-19 18:03:35.000000000 +0100 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "KIWI::RESULT::LIST" "8" "Feb 06, 2020" "9.19.16" "kiwi" +.TH "KIWI::RESULT::LIST" "8" "Feb 19, 2020" "9.20.1" "KIWI NG" .SH NAME kiwi::result::list \- List build results . @@ -61,6 +61,6 @@ .SH AUTHOR Marcus Schäfer .SH COPYRIGHT -2019, Marcus Schäfer +2020, Marcus Schäfer .\" Generated by docutils manpage writer. . diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.19.16/doc/build/man/kiwi::system::build.8 new/kiwi-9.20.1/doc/build/man/kiwi::system::build.8 --- old/kiwi-9.19.16/doc/build/man/kiwi::system::build.8 2020-02-06 10:09:28.000000000 +0100 +++ new/kiwi-9.20.1/doc/build/man/kiwi::system::build.8 2020-02-19 18:03:35.000000000 +0100 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "KIWI::SYSTEM::BUILD" "8" "Feb 06, 2020" "9.19.16" "kiwi" +.TH "KIWI::SYSTEM::BUILD" "8" "Feb 19, 2020" "9.20.1" "KIWI NG" .SH NAME kiwi::system::build \- Build image in combined prepare and create step . @@ -194,6 +194,6 @@ .SH AUTHOR Marcus Schäfer .SH COPYRIGHT -2019, Marcus Schäfer +2020, Marcus Schäfer .\" Generated by docutils manpage writer. . diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.19.16/doc/build/man/kiwi::system::create.8 new/kiwi-9.20.1/doc/build/man/kiwi::system::create.8 --- old/kiwi-9.19.16/doc/build/man/kiwi::system::create.8 2020-02-06 10:09:28.000000000 +0100 +++ new/kiwi-9.20.1/doc/build/man/kiwi::system::create.8 2020-02-19 18:03:35.000000000 +0100 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "KIWI::SYSTEM::CREATE" "8" "Feb 06, 2020" "9.19.16" "kiwi" +.TH "KIWI::SYSTEM::CREATE" "8" "Feb 19, 2020" "9.20.1" "KIWI NG" .SH NAME kiwi::system::create \- Create image from prepared root system . @@ -75,6 +75,6 @@ .SH AUTHOR Marcus Schäfer .SH COPYRIGHT -2019, Marcus Schäfer +2020, Marcus Schäfer .\" Generated by docutils manpage writer. . diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.19.16/doc/build/man/kiwi::system::prepare.8 new/kiwi-9.20.1/doc/build/man/kiwi::system::prepare.8 --- old/kiwi-9.19.16/doc/build/man/kiwi::system::prepare.8 2020-02-06 10:09:28.000000000 +0100 +++ new/kiwi-9.20.1/doc/build/man/kiwi::system::prepare.8 2020-02-19 18:03:35.000000000 +0100 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "KIWI::SYSTEM::PREPARE" "8" "Feb 06, 2020" "9.19.16" "kiwi" +.TH "KIWI::SYSTEM::PREPARE" "8" "Feb 19, 2020" "9.20.1" "KIWI NG" .SH NAME kiwi::system::prepare \- Prepare image root system . @@ -133,6 +133,6 @@ .SH AUTHOR Marcus Schäfer .SH COPYRIGHT -2019, Marcus Schäfer +2020, Marcus Schäfer .\" Generated by docutils manpage writer. . diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.19.16/doc/build/man/kiwi::system::update.8 new/kiwi-9.20.1/doc/build/man/kiwi::system::update.8 --- old/kiwi-9.19.16/doc/build/man/kiwi::system::update.8 2020-02-06 10:09:28.000000000 +0100 +++ new/kiwi-9.20.1/doc/build/man/kiwi::system::update.8 2020-02-19 18:03:35.000000000 +0100 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "KIWI::SYSTEM::UPDATE" "8" "Feb 06, 2020" "9.19.16" "kiwi" +.TH "KIWI::SYSTEM::UPDATE" "8" "Feb 19, 2020" "9.20.1" "KIWI NG" .SH NAME kiwi::system::update \- Update/Upgrade image root system . @@ -71,6 +71,6 @@ .SH AUTHOR Marcus Schäfer .SH COPYRIGHT -2019, Marcus Schäfer +2020, Marcus Schäfer .\" Generated by docutils manpage writer. . diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.19.16/dracut/modules.d/90kiwi-dump/kiwi-dump-image.sh new/kiwi-9.20.1/dracut/modules.d/90kiwi-dump/kiwi-dump-image.sh --- old/kiwi-9.19.16/dracut/modules.d/90kiwi-dump/kiwi-dump-image.sh 2020-01-24 10:18:45.000000000 +0100 +++ new/kiwi-9.20.1/dracut/modules.d/90kiwi-dump/kiwi-dump-image.sh 2020-02-17 15:56:00.000000000 +0100 @@ -397,33 +397,6 @@ echo "${image_uri}|${image_md5}" } -function boot_installed_system { - local boot_options - # if rd.kiwi.install.pass.bootparam is given, pass on most - # boot options to the kexec kernel - if getargbool 0 rd.kiwi.install.pass.bootparam; then - local cmdline - local option - read -r cmdline < /proc/cmdline - for option in ${cmdline}; do - case ${option} in - rd.kiwi.*) ;; # skip all rd.kiwi options, they might do harm - *) boot_options="${boot_options}${option} ";; - esac - done - fi - boot_options="${boot_options}$(cat /config.bootoptions)" - if getargbool 0 rd.kiwi.debug; then - boot_options="${boot_options} rd.kiwi.debug" - fi - kexec -l /run/install/boot/*/loader/linux \ - --initrd /run/install/initrd.system_image \ - --command-line "${boot_options}" - if ! kexec -e; then - report_and_quit "Failed to kexec boot system" - fi -} - #====================================== # Perform image dump/install operations #-------------------------------------- @@ -450,15 +423,3 @@ fi check_image_integrity "${image_target}" - -if getargbool 0 rd.kiwi.ramdisk; then - # For ramdisk deployment a kexec boot is not possible as it - # will wipe the contents of the ramdisk. Therefore we prepare - # the switch_root from this deployment initrd. Also see the - # unit generator: dracut-kiwi-ramdisk-generator - kpartx -s -a "${image_target}" -else - # Standard deployment will use kexec to activate and boot the - # deployed system - boot_installed_system -fi diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.19.16/dracut/modules.d/99kiwi-dump-reboot/kiwi-dump-reboot-system.sh new/kiwi-9.20.1/dracut/modules.d/99kiwi-dump-reboot/kiwi-dump-reboot-system.sh --- old/kiwi-9.19.16/dracut/modules.d/99kiwi-dump-reboot/kiwi-dump-reboot-system.sh 1970-01-01 01:00:00.000000000 +0100 +++ new/kiwi-9.20.1/dracut/modules.d/99kiwi-dump-reboot/kiwi-dump-reboot-system.sh 2020-02-17 15:56:00.000000000 +0100 @@ -0,0 +1,50 @@ +type report_and_quit >/dev/null 2>&1 || . /lib/kiwi-dump-image.sh +type get_selected_disk >/dev/null 2>&1 || . /lib/kiwi-dump-image.sh +type run_dialog >/dev/null 2>&1 || . /lib/kiwi-dialog-lib.sh + +#====================================== +# Functions +#-------------------------------------- +function boot_installed_system { + local boot_options + # if rd.kiwi.install.pass.bootparam is given, pass on most + # boot options to the kexec kernel + if getargbool 0 rd.kiwi.install.pass.bootparam; then + local cmdline + local option + read -r cmdline < /proc/cmdline + for option in ${cmdline}; do + case ${option} in + rd.kiwi.*) ;; # skip all rd.kiwi options, they might do harm + *) boot_options="${boot_options}${option} ";; + esac + done + fi + boot_options="${boot_options}$(cat /config.bootoptions)" + if getargbool 0 rd.kiwi.debug; then + boot_options="${boot_options} rd.kiwi.debug" + fi + kexec -l /run/install/boot/*/loader/linux \ + --initrd /run/install/initrd.system_image \ + --command-line "${boot_options}" + if ! kexec -e; then + report_and_quit "Failed to kexec boot system" + fi +} + +#====================================== +# Reboot into system +#-------------------------------------- + +if getargbool 0 rd.kiwi.ramdisk; then + # For ramdisk deployment a kexec boot is not possible as it + # will wipe the contents of the ramdisk. Therefore we prepare + # the switch_root from this deployment initrd. Also see the + # unit generator: dracut-kiwi-ramdisk-generator + image_target=$(get_selected_disk) + kpartx -s -a "${image_target}" +else + # Standard deployment will use kexec to activate and boot the + # deployed system + boot_installed_system +fi diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.19.16/dracut/modules.d/99kiwi-dump-reboot/module-setup.sh new/kiwi-9.20.1/dracut/modules.d/99kiwi-dump-reboot/module-setup.sh --- old/kiwi-9.19.16/dracut/modules.d/99kiwi-dump-reboot/module-setup.sh 1970-01-01 01:00:00.000000000 +0100 +++ new/kiwi-9.20.1/dracut/modules.d/99kiwi-dump-reboot/module-setup.sh 2020-02-17 15:56:00.000000000 +0100 @@ -0,0 +1,24 @@ +#!/bin/bash + +# called by dracut +check() { + return 255 +} + +# called by dracut +depends() { + echo network rootfs-block dm kiwi-lib kiwi-dump + return 0 +} + +# called by dracut +installkernel() { + return 0 +} + +# called by dracut +install() { + declare moddir=${moddir} + + inst_hook pre-mount 40 "${moddir}/kiwi-dump-reboot-system.sh" +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.19.16/helper/schema_docs.conf new/kiwi-9.20.1/helper/schema_docs.conf --- old/kiwi-9.19.16/helper/schema_docs.conf 2018-11-05 17:08:13.000000000 +0100 +++ new/kiwi-9.20.1/helper/schema_docs.conf 2020-02-17 15:56:00.000000000 +0100 @@ -5,7 +5,7 @@ <String xml:space="preserve">xsd.documentation.options</String> <xsdDocumentationOptions> <field name="unexpandedOutputFile"> - <String xml:space="preserve">../../kiwi/doc/source/development/schema/schema.html</String> + <String xml:space="preserve">../../kiwi/doc/source/schema/schema.html</String> </field> <field name="splitMethod"> <Integer xml:space="preserve">1</Integer> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.19.16/helper/schema_docs.sh new/kiwi-9.20.1/helper/schema_docs.sh --- old/kiwi-9.19.16/helper/schema_docs.sh 2019-05-20 08:34:50.000000000 +0200 +++ new/kiwi-9.20.1/helper/schema_docs.sh 2020-02-17 15:56:00.000000000 +0100 @@ -9,9 +9,9 @@ echo "Switching to fallback schema documentation creator" echo ./schema_parser.py ../kiwi/schema/kiwi.rng \ - --output ../doc/source/development/schema.rst + --output ../doc/source/schema.rst else - cat > ../doc/source/development/schema.rst <<- EOF + cat > ../doc/source/schema.rst <<- EOF .. _schema-docs: Schema Documentation 7.1 @@ -22,5 +22,5 @@ EOF trang -I rnc -O xsd ../kiwi/schema/kiwi.rnc kiwi.xsd && \ bash $oxygen_tool kiwi.xsd -cfg:schema_docs.conf - rm -f kiwi.xsd xsi.xsd ../doc/source/development/schema/xsdDocHtml.css + rm -f kiwi.xsd xsi.xsd ../doc/source/schema/xsdDocHtml.css fi diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.19.16/kiwi/bootloader/config/grub2.py new/kiwi-9.20.1/kiwi/bootloader/config/grub2.py --- old/kiwi-9.19.16/kiwi/bootloader/config/grub2.py 2020-01-24 10:18:45.000000000 +0100 +++ new/kiwi-9.20.1/kiwi/bootloader/config/grub2.py 2020-02-17 15:56:00.000000000 +0100 @@ -201,18 +201,19 @@ :param string kernel: unused :param string initrd: unused :param dict boot_options: - options dictionary that has to contain the root and boot - device and optional volume configuration. KIWI has to - mount the system prior to run grub2-mkconfig. - .. code:: python + options dictionary that has to contain the root and boot + device and optional volume configuration. KIWI has to + mount the system prior to run grub2-mkconfig. - { - 'root_device': string, - 'boot_device': string, - 'efi_device': string, - 'system_volumes': volume_manager_instance.get_volumes() - } + .. code:: python + + { + 'root_device': string, + 'boot_device': string, + 'efi_device': string, + 'system_volumes': volume_manager_instance.get_volumes() + } """ self._mount_system( boot_options.get('root_device'), diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.19.16/kiwi/builder/filesystem.py new/kiwi-9.20.1/kiwi/builder/filesystem.py --- old/kiwi-9.19.16/kiwi/builder/filesystem.py 2019-10-24 11:10:45.000000000 +0200 +++ new/kiwi-9.20.1/kiwi/builder/filesystem.py 2020-02-06 15:53:15.000000000 +0100 @@ -41,6 +41,7 @@ **Filesystem image builder** :param str label: filesystem label + :param str root_uuid: UUID of the created filesystem (on block device only) :param str root_dir: root directory path name :param str target_dir: target directory path name :param str requested_image_type: configured image type @@ -57,6 +58,7 @@ """ def __init__(self, xml_state, target_dir, root_dir): self.label = None + self.root_uuid = None self.root_dir = root_dir self.target_dir = target_dir self.requested_image_type = xml_state.get_build_type_name() @@ -167,6 +169,7 @@ self.root_dir + os.sep, self.filesystem_custom_parameters ) filesystem.create_on_device(self.label) + self.root_uuid = loop_provider.get_uuid(loop_provider.get_device()) log.info( '--> Syncing data to filesystem on %s', loop_provider.get_device() ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.19.16/kiwi/builder/install.py new/kiwi-9.20.1/kiwi/builder/install.py --- old/kiwi-9.19.16/kiwi/builder/install.py 2020-01-24 10:18:45.000000000 +0100 +++ new/kiwi-9.20.1/kiwi/builder/install.py 2020-02-17 15:56:00.000000000 +0100 @@ -146,7 +146,8 @@ 'meta_data': { 'volume_id': self.iso_volume_id, 'mbr_id': self.mbrid.get_id(), - 'efi_mode': self.firmware.efi_mode() + 'efi_mode': self.firmware.efi_mode(), + 'ofw_mode': self.firmware.ofw_mode() } } @@ -380,6 +381,9 @@ self.boot_image_task.include_module( 'kiwi-dump', install_media=True ) + self.boot_image_task.include_module( + 'kiwi-dump-reboot', install_media=True + ) if self.root_filesystem_is_multipath is False: self.boot_image_task.omit_module( 'multipath', install_media=True @@ -419,6 +423,9 @@ self.boot_image_task.include_module( 'kiwi-dump', install_media=True ) + self.boot_image_task.include_module( + 'kiwi-dump-reboot', install_media=True + ) if self.root_filesystem_is_multipath is False: self.boot_image_task.omit_module( 'multipath', install_media=True diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.19.16/kiwi/builder/pxe.py new/kiwi-9.20.1/kiwi/builder/pxe.py --- old/kiwi-9.19.16/kiwi/builder/pxe.py 2019-10-24 11:10:45.000000000 +0200 +++ new/kiwi-9.20.1/kiwi/builder/pxe.py 2020-02-17 15:56:00.000000000 +0100 @@ -53,12 +53,14 @@ self.target_dir = target_dir self.compressed = xml_state.build_type.get_compressed() self.xen_server = xml_state.is_xen_server() + self.custom_cmdline = xml_state.build_type.get_kernelcmdline() self.filesystem = FileSystemBuilder( xml_state, target_dir, root_dir + '/' ) self.system_setup = SystemSetup( xml_state=xml_state, root_dir=root_dir ) + self.initrd_system = xml_state.get_initrd_system() self.boot_signing_keys = custom_args['signing_keys'] if custom_args \ and 'signing_keys' in custom_args else None @@ -78,6 +80,7 @@ '-' + xml_state.get_image_version() ] ) + self.append_file = ''.join([self.image_name, '.append']) self.archive_name = ''.join([self.image_name, '.tar']) self.checksum_name = ''.join([self.image_name, '.md5']) self.kernel_filename = None @@ -172,6 +175,15 @@ # create initrd for pxe boot self.boot_image_task.create_initrd() + # create pxe config append information + # this information helps to configure the boot server correctly + if self.filesystem.root_uuid and self.initrd_system == 'dracut': + cmdline = 'root=UUID={}'.format(self.filesystem.root_uuid) + if self.custom_cmdline: + cmdline += ' {}'.format(self.custom_cmdline) + with open(self.append_file, 'w') as append: + append.write(cmdline) + # put results into a tarball if not self.xz_options: self.xz_options = Defaults.get_xz_compression_options() @@ -180,8 +192,12 @@ self.kernel_filename, os.path.basename(self.boot_image_task.initrd_filename), os.path.basename(self.image), - os.path.basename(self.checksum_name) + os.path.basename(self.checksum_name), ] + + if self.filesystem.root_uuid and self.initrd_system == 'dracut': + pxe_tarball_files.append(os.path.basename(self.append_file)) + pxe_tarball = ArchiveTar( self.archive_name, create_from_file_list=True, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.19.16/kiwi/container/oci.py new/kiwi-9.20.1/kiwi/container/oci.py --- old/kiwi-9.19.16/kiwi/container/oci.py 2019-10-24 11:10:45.000000000 +0200 +++ new/kiwi-9.20.1/kiwi/container/oci.py 2020-02-17 15:56:00.000000000 +0100 @@ -33,31 +33,32 @@ :param string root_dir: root directory path name :param dict custom_args: - Custom processing arguments defined as hash keys: - Example + Custom processing arguments defined as hash keys: - .. code:: python + Example - { - 'container_name': 'name', - 'container_tag': '1.0', - 'additional_tags': ['current', 'foobar'], - 'entry_command': ['/bin/bash', '-x'], - 'entry_subcommand': ['ls', '-l'], - 'maintainer': 'tux', - 'user': 'root', - 'workingdir': '/root', - 'expose_ports': ['80', '42'], - 'volumes': ['/var/log', '/tmp'], - 'environment': {'PATH': '/bin'}, - 'labels': {'name': 'value'}, - 'history': { - 'created_by': 'some explanation here', - 'comment': 'some comment here', - 'author': 'tux' - } + .. code:: python + + { + 'container_name': 'name', + 'container_tag': '1.0', + 'additional_tags': ['current', 'foobar'], + 'entry_command': ['/bin/bash', '-x'], + 'entry_subcommand': ['ls', '-l'], + 'maintainer': 'tux', + 'user': 'root', + 'workingdir': '/root', + 'expose_ports': ['80', '42'], + 'volumes': ['/var/log', '/tmp'], + 'environment': {'PATH': '/bin'}, + 'labels': {'name': 'value'}, + 'history': { + 'created_by': 'some explanation here', + 'comment': 'some comment here', + 'author': 'tux' } + } """ def __init__(self, root_dir, transport, custom_args=None): self.root_dir = root_dir diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.19.16/kiwi/filesystem/isofs.py new/kiwi-9.20.1/kiwi/filesystem/isofs.py --- old/kiwi-9.19.16/kiwi/filesystem/isofs.py 2019-10-24 11:10:45.000000000 +0200 +++ new/kiwi-9.20.1/kiwi/filesystem/isofs.py 2020-02-17 15:56:00.000000000 +0100 @@ -44,10 +44,11 @@ """ meta_data = self.custom_args['meta_data'] efi_mode = meta_data.get('efi_mode') + ofw_mode = meta_data.get('ofw_mode') iso_tool = IsoTools(self.root_dir) iso = Iso(self.root_dir) - if not efi_mode: + if not efi_mode and not ofw_mode: iso.setup_isolinux_boot_path() if not iso_tool.has_iso_hybrid_capability(): @@ -60,7 +61,7 @@ iso_tool.create_iso(filename) if not iso_tool.has_iso_hybrid_capability(): - if not efi_mode: + if not efi_mode and not ofw_mode: hybrid_offset = iso.create_header_end_block(filename) iso_tool.create_iso( filename, hidden_files=[iso.header_end_name] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.19.16/kiwi/firmware.py new/kiwi-9.20.1/kiwi/firmware.py --- old/kiwi-9.19.16/kiwi/firmware.py 2019-08-26 15:39:13.000000000 +0200 +++ new/kiwi-9.20.1/kiwi/firmware.py 2020-02-19 18:01:53.000000000 +0100 @@ -70,10 +70,7 @@ else: return 'msdos' elif 'ppc64' in self.arch: - if self.opal_mode(): - return 'gpt' - else: - return 'msdos' + return 'gpt' elif self.efi_mode(): default_efi_table = Defaults.get_default_efi_partition_table_type() return self.efi_partition_table or default_efi_table diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.19.16/kiwi/kiwi.py new/kiwi-9.20.1/kiwi/kiwi.py --- old/kiwi-9.19.16/kiwi/kiwi.py 2019-10-24 11:10:45.000000000 +0200 +++ new/kiwi-9.20.1/kiwi/kiwi.py 2020-02-17 15:56:00.000000000 +0100 @@ -36,11 +36,13 @@ :param bool help_: indicate to show help :param string version: version string :param list options: - list of option tuples - .. code:: python + list of option tuples + + .. code:: python + + [option(name='name', value='value')] - [option(name='name', value='value')] :param string doc: docopt doc string """ if help_ and any((o.name in ('-h', '--help')) and o.value for o in options): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.19.16/kiwi/partitioner/gpt.py new/kiwi-9.20.1/kiwi/partitioner/gpt.py --- old/kiwi-9.19.16/kiwi/partitioner/gpt.py 2019-11-25 15:12:56.000000000 +0100 +++ new/kiwi-9.20.1/kiwi/partitioner/gpt.py 2020-02-19 18:01:53.000000000 +0100 @@ -45,7 +45,8 @@ 't.swap': '8200', 't.lvm': '8E00', 't.raid': 'FD00', - 't.efi': 'EF00' + 't.efi': 'EF00', + 't.prep': '4100' } def create(self, name, mbsize, type_name, flags=None): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.19.16/kiwi/path.py new/kiwi-9.20.1/kiwi/path.py --- old/kiwi-9.19.16/kiwi/path.py 2019-11-27 15:08:45.000000000 +0100 +++ new/kiwi-9.20.1/kiwi/path.py 2020-02-19 18:01:14.000000000 +0100 @@ -104,9 +104,10 @@ :param string path: path name """ - Command.run( - ['mkdir', '-p', path] - ) + if not os.path.exists(path): + Command.run( + ['mkdir', '-p', path] + ) @staticmethod def wipe(path): @@ -115,9 +116,10 @@ :param string path: path name """ - Command.run( - ['rm', '-r', '-f', path] - ) + if os.path.exists(path): + Command.run( + ['rm', '-r', '-f', path] + ) @staticmethod def remove(path): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.19.16/kiwi/solver/repository/base.py new/kiwi-9.20.1/kiwi/solver/repository/base.py --- old/kiwi-9.19.16/kiwi/solver/repository/base.py 2019-08-26 15:39:13.000000000 +0200 +++ new/kiwi-9.20.1/kiwi/solver/repository/base.py 2020-02-17 15:56:00.000000000 +0100 @@ -36,7 +36,9 @@ """ **Base class interface for SAT solvable creation.** - * :param object uri: Instance of :class:`Uri` + :param object uri: Instance of :class:`Uri` + :param string user: User name for uri authentication + :param string secret: Secret token for uri authentication """ def __init__(self, uri, user=None, secret=None): self.uri = uri diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.19.16/kiwi/utils/rpm.py new/kiwi-9.20.1/kiwi/utils/rpm.py --- old/kiwi-9.19.16/kiwi/utils/rpm.py 2019-08-26 15:39:13.000000000 +0200 +++ new/kiwi-9.20.1/kiwi/utils/rpm.py 2020-02-19 18:01:14.000000000 +0100 @@ -98,10 +98,11 @@ Write bootstrap macro file to the custom rpm macros path """ - Path.create(self.macro_path) - with open(self.macro_file, 'w') as macro: - for entry in self.custom_config: - macro.write('{0}{1}'.format(entry, os.linesep)) + if self.custom_config: + Path.create(self.macro_path) + with open(self.macro_file, 'w') as macro: + for entry in self.custom_config: + macro.write('{0}{1}'.format(entry, os.linesep)) def wipe_config(self): """ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.19.16/kiwi/version.py new/kiwi-9.20.1/kiwi/version.py --- old/kiwi-9.19.16/kiwi/version.py 2020-02-06 10:07:45.000000000 +0100 +++ new/kiwi-9.20.1/kiwi/version.py 2020-02-19 18:01:58.000000000 +0100 @@ -18,5 +18,5 @@ """ Global version information used in kiwi and the package """ -__version__ = '9.19.16' -__githash__ = '84f8ca6f9798da8678f62e826f6f513b1323067d' +__version__ = '9.20.1' +__githash__ = '71fecd3011ca8d8a3a9ab90e7db816c852146b86' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.19.16/kiwi.egg-info/PKG-INFO new/kiwi-9.20.1/kiwi.egg-info/PKG-INFO --- old/kiwi-9.19.16/kiwi.egg-info/PKG-INFO 2020-02-06 10:09:29.000000000 +0100 +++ new/kiwi-9.20.1/kiwi.egg-info/PKG-INFO 2020-02-19 18:03:36.000000000 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: kiwi -Version: 9.19.16 +Version: 9.20.1 Summary: KIWI - Appliance Builder (next generation) Home-page: https://osinside.github.io/kiwi Author: Marcus Schaefer diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.19.16/kiwi.egg-info/SOURCES.txt new/kiwi-9.20.1/kiwi.egg-info/SOURCES.txt --- old/kiwi-9.19.16/kiwi.egg-info/SOURCES.txt 2020-02-06 10:09:29.000000000 +0100 +++ new/kiwi-9.20.1/kiwi.egg-info/SOURCES.txt 2020-02-19 18:03:36.000000000 +0100 @@ -40,6 +40,8 @@ dracut/modules.d/90kiwi-overlay/parse-kiwi-overlay.sh dracut/modules.d/90kiwi-repart/kiwi-repart-disk.sh dracut/modules.d/90kiwi-repart/module-setup.sh +dracut/modules.d/99kiwi-dump-reboot/kiwi-dump-reboot-system.sh +dracut/modules.d/99kiwi-dump-reboot/module-setup.sh dracut/modules.d/99kiwi-lib/kiwi-dialog-lib.sh dracut/modules.d/99kiwi-lib/kiwi-filesystem-lib.sh dracut/modules.d/99kiwi-lib/kiwi-lib.sh diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.19.16/package/python-kiwi-spec-template new/kiwi-9.20.1/package/python-kiwi-spec-template --- old/kiwi-9.19.16/package/python-kiwi-spec-template 2020-01-23 09:48:12.000000000 +0100 +++ new/kiwi-9.20.1/package/python-kiwi-spec-template 2020-02-19 18:01:14.000000000 +0100 @@ -212,12 +212,16 @@ Requires: bc Requires: cryptsetup %if 0%{?fedora} || 0%{?rhel} || 0%{?ubuntu} >= 1804 || 0%{?debian} >= 9 +%if 0%{?rhel} && 0%{?rhel} < 8 Requires: btrfs-progs +%else +Recommends: btrfs-progs +%endif Requires: gdisk Requires: dracut-network %else %if 0%{?debian} || 0%{?ubuntu} -Requires: btrfs-tools +Recommends: btrfs-tools Requires: gdisk %else Requires: btrfsprogs @@ -284,12 +288,12 @@ Group: %{sysgroup} %description -n dracut-kiwi-oem-dump -This package contains the kiwi-dump dracut module which is -used to install an oem image onto a target disk. It implements -a simple installer which allows for user selected target disk -or unattended installation to target. The source of the image -to install could be either from media(CD/DVD/USB) or from -remote +This package contains the kiwi-dump and kiwi-dump-reboot dracut +modules which is used to install an oem image onto a target disk. +It implements a simple installer which allows for user selected +target disk or unattended installation to target. The source of +the image to install could be either from media(CD/DVD/USB) or +from remote %package -n dracut-kiwi-live Summary: KIWI - Dracut module for iso(live) image type @@ -439,6 +443,7 @@ %files -n dracut-kiwi-oem-dump %{_usr}/lib/dracut/modules.d/90kiwi-dump +%{_usr}/lib/dracut/modules.d/99kiwi-dump-reboot %files -n dracut-kiwi-live %{_usr}/lib/dracut/modules.d/90kiwi-live diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.19.16/test/unit/builder/install_test.py new/kiwi-9.20.1/test/unit/builder/install_test.py --- old/kiwi-9.19.16/test/unit/builder/install_test.py 2020-01-24 10:18:45.000000000 +0100 +++ new/kiwi-9.20.1/test/unit/builder/install_test.py 2020-02-17 15:56:00.000000000 +0100 @@ -204,9 +204,12 @@ with patch('builtins.open', m_open, create=True): self.install_image.create_install_iso() - self.boot_image_task.include_module.assert_called_once_with( + self.boot_image_task.include_module.assert_any_call( 'kiwi-dump', install_media=True ) + self.boot_image_task.include_module.assert_any_call( + 'kiwi-dump-reboot', install_media=True + ) self.boot_image_task.omit_module.assert_called_once_with( 'multipath', install_media=True ) @@ -395,9 +398,12 @@ ) ] - self.boot_image_task.include_module.assert_called_once_with( + self.boot_image_task.include_module.assert_any_call( 'kiwi-dump', install_media=True ) + self.boot_image_task.include_module.assert_any_call( + 'kiwi-dump-reboot', install_media=True + ) self.boot_image_task.omit_module.assert_called_once_with( 'multipath', install_media=True ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.19.16/test/unit/builder/pxe_test.py new/kiwi-9.20.1/test/unit/builder/pxe_test.py --- old/kiwi-9.19.16/test/unit/builder/pxe_test.py 2019-10-24 11:10:45.000000000 +0200 +++ new/kiwi-9.20.1/test/unit/builder/pxe_test.py 2020-02-06 15:53:15.000000000 +0100 @@ -1,6 +1,6 @@ from collections import namedtuple from mock import ( - patch, Mock, MagicMock + patch, Mock, MagicMock, mock_open ) from pytest import ( raises, fixture @@ -29,14 +29,22 @@ mock_boot.return_value = self.boot_image_task self.filesystem = MagicMock() self.filesystem.filename = 'myimage.fs' + self.filesystem.root_uuid = 'some_uuid' mock_filesystem.return_value = self.filesystem self.xml_state = Mock() self.xml_state.get_image_version = Mock( return_value='1.2.3' ) + self.xml_state.get_initrd_system = Mock( + return_value='dracut' + ) self.xml_state.xml_data.get_name = Mock( return_value='some-image' ) + self.xml_state.build_type = Mock() + self.xml_state.build_type.get_kernelcmdline = Mock( + return_value='console=hvc0' + ) kernel_type = namedtuple( 'kernel', ['filename', 'version'] ) @@ -77,7 +85,18 @@ self.boot_image_task.required = Mock( return_value=True ) - self.pxe.create() + + m_open = mock_open() + with patch('builtins.open', m_open, create=True): + self.pxe.create() + + m_open.assert_called_once_with( + 'target_dir/some-image.x86_64-1.2.3.append', 'w' + ) + m_open.return_value.write.assert_called_once_with( + 'root=UUID=some_uuid console=hvc0' + ) + self.filesystem.create.assert_called_once_with() mock_rename.assert_called_once_with( 'myimage.fs', 'myimage' @@ -101,7 +120,14 @@ tar.create.assert_called_once_with('target_dir') self.pxe.compressed = False - self.pxe.create() + + m_open = mock_open() + with patch('builtins.open', m_open, create=True): + self.pxe.create() + + m_open.return_value.write.assert_called_once_with( + 'root=UUID=some_uuid console=hvc0' + ) tar.create_xz_compressed.assert_called_once_with( 'target_dir', xz_options=['--threads=0'] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.19.16/test/unit/firmware_test.py new/kiwi-9.20.1/test/unit/firmware_test.py --- old/kiwi-9.19.16/test/unit/firmware_test.py 2019-10-01 11:49:59.000000000 +0200 +++ new/kiwi-9.20.1/test/unit/firmware_test.py 2020-02-19 18:01:53.000000000 +0100 @@ -70,7 +70,7 @@ assert self.firmware_s390_scsi.get_partition_table_type() == 'msdos' def test_get_partition_table_type_ppc_ofw_mode(self): - assert self.firmware_ofw.get_partition_table_type() == 'msdos' + assert self.firmware_ofw.get_partition_table_type() == 'gpt' def test_get_partition_table_type_ppc_opal_mode(self): assert self.firmware_opal.get_partition_table_type() == 'gpt' @@ -97,9 +97,11 @@ def test_ofw_mode(self): assert self.firmware_ofw.ofw_mode() is True + assert self.firmware_bios.ofw_mode() is False def test_opal_mode(self): assert self.firmware_opal.opal_mode() is True + assert self.firmware_bios.opal_mode() is False def test_get_legacy_bios_partition_size(self): assert self.firmware_bios.get_legacy_bios_partition_size() == 0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.19.16/test/unit/path_test.py new/kiwi-9.20.1/test/unit/path_test.py --- old/kiwi-9.19.16/test/unit/path_test.py 2019-11-27 15:08:45.000000000 +0100 +++ new/kiwi-9.20.1/test/unit/path_test.py 2020-02-19 18:01:14.000000000 +0100 @@ -21,19 +21,31 @@ ) assert ordered == ['usr', 'etc', 'usr/bin', 'usr/lib'] + @patch('kiwi.command.os.path.exists') @patch('kiwi.command.Command.run') - def test_create(self, mock_command): + def test_create(self, mock_command, mock_exists): + mock_exists.return_value = False Path.create('foo') mock_command.assert_called_once_with( ['mkdir', '-p', 'foo'] ) + mock_exists.return_value = True + mock_command.reset_mock() + Path.create('foo') + assert not mock_command.called + @patch('kiwi.command.os.path.exists') @patch('kiwi.command.Command.run') - def test_wipe(self, mock_command): + def test_wipe(self, mock_command, mock_exists): + mock_exists.return_value = True Path.wipe('foo') mock_command.assert_called_once_with( ['rm', '-r', '-f', 'foo'] ) + mock_exists.return_value = False + mock_command.reset_mock() + Path.wipe('foo') + assert not mock_command.called @patch('kiwi.command.Command.run') def test_remove(self, mock_command): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.19.16/test/unit/repository/zypper_test.py new/kiwi-9.20.1/test/unit/repository/zypper_test.py --- old/kiwi-9.19.16/test/unit/repository/zypper_test.py 2020-01-23 09:48:12.000000000 +0100 +++ new/kiwi-9.20.1/test/unit/repository/zypper_test.py 2020-02-19 18:01:14.000000000 +0100 @@ -355,19 +355,12 @@ call('../data/shared-dir/zypper/repos/spam') ] - @patch('kiwi.command.Command.run') - def test_delete_all_repos(self, mock_command): + @patch('kiwi.path.Path.wipe') + @patch('kiwi.path.Path.create') + def test_delete_all_repos(self, mock_create, mock_wipe): self.repo.delete_all_repos() - call = mock_command.call_args_list[0] - assert mock_command.call_args_list[0] == \ - call([ - 'rm', '-r', '-f', '../data/shared-dir/zypper/repos' - ]) - call = mock_command.call_args_list[1] - assert mock_command.call_args_list[1] == \ - call([ - 'mkdir', '-p', '../data/shared-dir/zypper/repos' - ]) + mock_wipe.assert_called_once_with('../data/shared-dir/zypper/repos') + mock_create.assert_called_once_with('../data/shared-dir/zypper/repos') @patch('kiwi.path.Path.wipe') def test_delete_repo_cache(self, mock_wipe): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.19.16/test/unit/system/root_init_test.py new/kiwi-9.20.1/test/unit/system/root_init_test.py --- old/kiwi-9.19.16/test/unit/system/root_init_test.py 2019-10-21 15:31:46.000000000 +0200 +++ new/kiwi-9.20.1/test/unit/system/root_init_test.py 2020-02-19 18:01:14.000000000 +0100 @@ -45,6 +45,7 @@ @patch('os.chown') @patch('os.symlink') @patch('os.makedev') + @patch('kiwi.path.Path.create') @patch('kiwi.system.root_init.copy') @patch('kiwi.system.root_init.rmtree') @patch('kiwi.system.root_init.DataSync') @@ -52,7 +53,7 @@ @patch('kiwi.system.root_init.Command.run') def test_create( self, mock_command, mock_temp, mock_data_sync, mock_rmtree, mock_copy, - mock_makedev, mock_symlink, mock_chwon, mock_makedirs, + mock_create, mock_makedev, mock_symlink, mock_chwon, mock_makedirs, mock_path ): data_sync = Mock() @@ -97,7 +98,6 @@ call('/run', 'tmpdir/var/run') ] assert mock_command.call_args_list == [ - call(['mkdir', '-p', 'root_dir']), call([ 'cp', '/var/adm/fillup-templates/group.aaa_base', @@ -127,16 +127,15 @@ mock_copy.assert_called_once_with( '/.buildenv', 'root_dir' ) + mock_create.assert_called_once_with('root_dir') - @patch('kiwi.command.Command.run') + @patch('kiwi.path.Path.wipe') @patch('os.path.exists') - def test_delete(self, mock_path, mock_command): + def test_delete(self, mock_path, mock_wipe): mock_path.return_value = False root = RootInit('root_dir') root.delete() - mock_command.assert_called_once_with( - ['rm', '-r', '-f', 'root_dir'] - ) + mock_wipe.assert_called_once_with('root_dir') def teardown(self): sys.argv = argv_kiwi_tests diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.19.16/test/unit/system/setup_test.py new/kiwi-9.20.1/test/unit/system/setup_test.py --- old/kiwi-9.19.16/test/unit/system/setup_test.py 2020-01-24 10:18:45.000000000 +0100 +++ new/kiwi-9.20.1/test/unit/system/setup_test.py 2020-02-19 18:01:14.000000000 +0100 @@ -89,7 +89,6 @@ '../data/config-cdroot.tar*' ) assert mock_command.call_args_list == [ - call(['mkdir', '-p', 'root_dir/image']), call(['cp', '../data/config.sh', 'root_dir/image/config.sh']), call([ 'cp', '../data/my_edit_boot_script', @@ -109,10 +108,11 @@ call(['cp', 'config-cdroot.tar.xz', 'root_dir/image/']) ] + @patch('kiwi.path.Path.create') @patch('kiwi.command.Command.run') @patch('os.path.exists') def test_import_description_archive_from_derived( - self, mock_path, mock_command + self, mock_path, mock_command, mock_create ): path_return_values = [ True, False, True, True, True, True, True @@ -127,7 +127,6 @@ self.setup_with_real_xml.import_description() assert mock_command.call_args_list == [ - call(['mkdir', '-p', 'root_dir/image']), call(['cp', '../data/config.sh', 'root_dir/image/config.sh']), call([ 'cp', '../data/my_edit_boot_script', @@ -147,6 +146,7 @@ 'cp', 'derived/description/bootstrap.tgz', 'root_dir/image/' ]) ] + mock_create.assert_called_once_with('root_dir/image') @patch('kiwi.command.Command.run') @patch('os.path.exists') @@ -372,7 +372,6 @@ self.setup.preferences['timezone'] = 'timezone' self.setup.setup_timezone() mock_command.assert_has_calls([ - call(['rm', '-r', '-f', 'root_dir/etc/localtime']), call([ 'chroot', 'root_dir', 'systemd-firstboot', '--timezone=timezone' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.19.16/test/unit/volume_manager/lvm_test.py new/kiwi-9.20.1/test/unit/volume_manager/lvm_test.py --- old/kiwi-9.19.16/test/unit/volume_manager/lvm_test.py 2019-11-26 10:09:06.000000000 +0100 +++ new/kiwi-9.20.1/test/unit/volume_manager/lvm_test.py 2020-02-19 18:01:14.000000000 +0100 @@ -140,6 +140,7 @@ self.volume_manager.setup('volume_group') @patch('os.path.exists') + @patch('kiwi.path.Path.create') @patch('kiwi.volume_manager.base.SystemSize') @patch('kiwi.volume_manager.lvm.Command.run') @patch('kiwi.volume_manager.lvm.FileSystem') @@ -148,7 +149,7 @@ @patch('kiwi.volume_manager.base.VolumeManagerBase.apply_attributes_on_volume') def test_create_volumes( self, mock_attrs, mock_mount, mock_mapped_device, mock_fs, - mock_command, mock_size, mock_os_exists + mock_command, mock_size, mock_create, mock_os_exists ): mock_os_exists_return_list = [True, True, False, False, False] @@ -209,15 +210,6 @@ ] assert mock_command.call_args_list == [ call( - ['mkdir', '-p', 'root_dir/etc'] - ), - call( - ['mkdir', '-p', 'root_dir/data'] - ), - call( - ['mkdir', '-p', 'root_dir/home'] - ), - call( [ 'lvcreate', '-Zn', '-L', '100', '-n', 'LVSwap', 'volume_group' @@ -291,6 +283,10 @@ call(label='etc'), call(label=None) ] + + assert mock_create.call_args_list == [ + call('root_dir/etc'), call('root_dir/data'), call('root_dir/home') + ] self.volume_manager.volume_group = None @patch('kiwi.volume_manager.lvm.Path') diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.19.16/tox.ini new/kiwi-9.20.1/tox.ini --- old/kiwi-9.19.16/tox.ini 2019-10-14 10:36:01.000000000 +0200 +++ new/kiwi-9.20.1/tox.ini 2020-02-17 15:56:00.000000000 +0100 @@ -24,11 +24,11 @@ [testenv] whitelist_externals = * basepython = - {check,devel,packagedoc,doc,doc_travis}: python3 + {check,devel,packagedoc,doc,doc_travis,doc_suse,doc_schema}: python3 unit_py3_7: python3.7 unit_py3_6: python3.6 envdir = - {check,devel,packagedoc,doc,doc_travis}: {toxworkdir}/3 + {check,devel,packagedoc,doc,doc_travis,doc_suse,doc_schema}: {toxworkdir}/3 unit_py3_7: {toxworkdir}/3.7 unit_py3_6: {toxworkdir}/3.6 passenv = @@ -76,27 +76,26 @@ --cov-config .coveragerc {posargs} -# Documentation build run suitable for doc deployment in package(rpm) -[testenv:packagedoc] +# Documentation build suitable for local review +[testenv:doc] skip_install = True usedevelop = True deps = {[testenv]deps} changedir=doc commands = - {[testenv:doc.latexpdf]commands} + {[testenv:doc.html]commands} {[testenv:doc.man]commands} -# Complete documentation build run, collection of all doc.X targets -[testenv:doc] +# Documentation build run suitable for doc deployment in package(rpm) +[testenv:packagedoc] skip_install = True usedevelop = True deps = {[testenv]deps} changedir=doc commands = - {[testenv:doc.html]commands} + {[testenv:doc.latexpdf]commands} {[testenv:doc.man]commands} - {[testenv:doc.schema]commands} # Documentation build suitable for doc deployment in travis env @@ -109,7 +108,38 @@ {[testenv:doc.man]commands} travis-sphinx --outdir build_travis build --nowarn --source ./source bash -c 'touch ./build_travis/.nojekyll' - bash -c 'cp -a ./source/development/schema/images ./build_travis/development' + bash -c 'cp -a ./source/schema/images ./build_travis' + + +# Documentation build suitable for SUSE documentation +[testenv:doc_suse] +skip_install = True +usedevelop = True +deps = {[testenv:doc]deps} +changedir=doc +commands = + {[testenv:doc.xml]commands} + rstxml2docbook -v --no-split -o build/xml/book.xml build/restxml/index.xml + bash -c 'mkdir -p build/build/.images/color && cp -a source/.images/* build/build/.images/color' + cp DC-kiwi build/ + bash -c 'cd build && daps -d DC-kiwi html' + + +# Documentation build schema documentation +# Please note an external tool called oxygen is used to build +# the schema documentation. The tool requires a license which +# exists for SUSE. Thus this target can only be called inside +# of a licensed environment and can therefore not be included +# into the automation pipeline. If you know the schema has +# changed the call to recreate the schema docs must be done +# manually +[testenv:doc_schema] +skip_install = True +usedevelop = True +deps = {[testenv:doc]deps} +changedir=doc +commands = + {[testenv:doc.schema]commands} # Documentation build html result @@ -121,6 +151,17 @@ make html +# Documentation build xml result +[testenv:doc.xml] +skip_install = True +deps = {[testenv:doc]deps} +changedir=doc +commands = + make xml + rm -rf build/restxml + mv build/xml build/restxml + + # Documentation build PDF result [testenv:doc.latexpdf] skip_install = True
