Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-kiwi for openSUSE:Factory checked in at 2022-06-18 22:05:20 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-kiwi (Old) and /work/SRC/openSUSE:Factory/.python-kiwi.new.1548 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-kiwi" Sat Jun 18 22:05:20 2022 rev:98 rq:982951 version:9.24.41 Changes: -------- --- /work/SRC/openSUSE:Factory/python-kiwi/python-kiwi.changes 2022-05-24 20:31:24.366921505 +0200 +++ /work/SRC/openSUSE:Factory/.python-kiwi.new.1548/python-kiwi.changes 2022-06-18 22:05:24.343589269 +0200 @@ -1,0 +2,123 @@ +Thu Jun 09 10:29:53 CEST 2022 - Marcus Sch??fer <marcus.schae...@gmail.com> + +- Bump version: 9.24.40 ??? 9.24.41 + +------------------------------------------------------------------- +Wed Jun 08 23:06:16 CEST 2022 - Marcus Sch??fer <marcus.schae...@gmail.com> + +- Fix helper method to detect dracut outfile format + + The method _get_boot_image_output_file_format_from_dracut_code + is used in kiwi to match parts of the dracut code for the used + output file format. Beginning with dracut-056 the code part + checked has changed syntactically such that the match did + no longer work. This commit increases the scope of the match + and replace pattern and Fixes #2149 + +------------------------------------------------------------------- +Wed Jun 08 18:29:42 CEST 2022 - Marcus Sch??fer <marcus.schae...@gmail.com> + +- Fixed handling of signing_keys in cmdline options + + When passing signing_keys with the --add-repo|--set-repo + commandline options the delimiter to separate the single + key information is a colon(:). However, this is stupid when + kiwi expects the signing key to be references as an URI + format like file://... Therefore this patch changes the + delimiter from colon(:) to semicolon(;) + +------------------------------------------------------------------- +Wed Jun 01 11:31:29 CEST 2022 - Marcus Sch??fer <marcus.schae...@gmail.com> + +- Bump version: 9.24.39 ??? 9.24.40 + +------------------------------------------------------------------- +Wed Jun 01 11:31:00 CEST 2022 - Carlos Bederi??n <zzz...@gmail.com> + +- Setup SELinux on every system prepare / build (#2148) + + Setup SELinux on every system prepare / build such that all image types benefit from it not only the disk (oem) type + +------------------------------------------------------------------- +Sun May 29 21:26:15 CEST 2022 - Marcus Sch??fer <marcus.schae...@gmail.com> + +- Install all of QEMU to Ubuntu arm integration test + +------------------------------------------------------------------- +Sun May 29 20:51:24 CEST 2022 - Marcus Sch??fer <marcus.schae...@gmail.com> + +- rename user to ubuntu for Ubuntu integration test + +------------------------------------------------------------------- +Sun May 29 20:33:16 CEST 2022 - Marcus Sch??fer <marcus.schae...@gmail.com> + +- Bump version: 9.24.38 ??? 9.24.39 + +------------------------------------------------------------------- +Sun May 29 20:31:42 CEST 2022 - Marcus Sch??fer <marcus.schae...@gmail.com> + +- Move to sphinx>=5.0.0 + +------------------------------------------------------------------- +Sun May 29 20:17:55 CEST 2022 - Marcus Sch??fer <marcus.schae...@gmail.com> + +- Bump version: 9.24.37 ??? 9.24.38 + +------------------------------------------------------------------- +Sun May 29 20:16:20 CEST 2022 - Marcus Sch??fer <marcus.schae...@gmail.com> + +- Fixed sphinx extlinks rendering + + In Sphinx v5 warning will be treated as errors. This results in the following + warning to be an error: extlinks: Sphinx-6.0 will require a caption string to + contain exactly one '%s' and all other '%' need to be escaped as '%%'. + This commit applies the required quoting + +------------------------------------------------------------------- +Sun May 29 20:06:52 CEST 2022 - Marcus Sch??fer <marcus.schae...@gmail.com> + +- Bump version: 9.24.36 ??? 9.24.37 + +------------------------------------------------------------------- +Sat May 28 16:47:35 CEST 2022 - Marcus Sch??fer <marcus.schae...@gmail.com> + +- Added example aarch64 integration test for Ubuntu + + Created a RaspberryPI image description for Ubuntu(jammy) + as integration test for building aarch64 images and added + it to the integration test matrix + +------------------------------------------------------------------- +Mon May 23 16:53:04 CEST 2022 - Marcus Sch??fer <marcus.schae...@gmail.com> + +- Added --target-arch for image info + + Allow cross arch dependency solving + +------------------------------------------------------------------- +Fri May 20 22:09:33 CEST 2022 - Marcus Sch??fer <marcus.schae...@gmail.com> + +- update docs + +------------------------------------------------------------------- +Fri May 20 19:23:22 CEST 2022 - Marcus Sch??fer <marcus.schae...@gmail.com> + +- Add support for group id in users setting + + Allow to specify the group id in the groups list a user + should belong to. The group id can be placed as part of + the group name separated by a colon like in the following + example: + + <users> + <user groups="kiwi,admin:42,users" password="..." name="kiwi"/> + </users> + + Please note kiwi checks if the provided group already + exists and only creates a group if it is not already present in + the system. As default groups are usually provided by the OS + itself including its preferred group id, you will intentionally + not be able to overwrite group id for existing groups. + This Fixes #2064 + +------------------------------------------------------------------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-kiwi.spec ++++++ --- /var/tmp/diff_new_pack.1OHFzJ/_old 2022-06-18 22:05:25.467590866 +0200 +++ /var/tmp/diff_new_pack.1OHFzJ/_new 2022-06-18 22:05:25.471590871 +0200 @@ -43,7 +43,7 @@ %endif Name: python-kiwi -Version: 9.24.36 +Version: 9.24.41 Provides: kiwi-schema = 7.5 Release: 0 Url: https://github.com/OSInside/kiwi ++++++ PKGBUILD ++++++ --- /var/tmp/diff_new_pack.1OHFzJ/_old 2022-06-18 22:05:25.503590917 +0200 +++ /var/tmp/diff_new_pack.1OHFzJ/_new 2022-06-18 22:05:25.507590922 +0200 @@ -3,7 +3,7 @@ pkgname=('python-kiwi' 'kiwi-man-pages' 'dracut-kiwi-lib' 'dracut-kiwi-oem-repart' 'dracut-kiwi-oem-dump' 'dracut-kiwi-live' 'dracut-kiwi-overlay') arch=(x86_64) -pkgver=9.24.36 +pkgver=9.24.41 pkgrel=0 pkgdesc="KIWI - Appliance Builder Next Generation" url="https://github.com/SUSE/kiwi/tarball/master" @@ -12,7 +12,7 @@ provides=(kiwi-ng kiwi) source=("${pkgname}.tar.gz") changelog="${pkgname}.changes" -md5sums=('7eefd0af367564845b071d5664003f83') +md5sums=('a896d30f03172d8fdca0ec3f218aa0f8') build() { ++++++ python-kiwi.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.36/.bumpversion.cfg new/kiwi-9.24.41/.bumpversion.cfg --- old/kiwi-9.24.36/.bumpversion.cfg 2022-05-19 15:21:54.000000000 +0200 +++ new/kiwi-9.24.41/.bumpversion.cfg 2022-06-09 10:29:53.000000000 +0200 @@ -1,5 +1,5 @@ [bumpversion] -current_version = 9.24.36 +current_version = 9.24.41 commit = True tag = True diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.36/.virtualenv.dev-requirements.txt new/kiwi-9.24.41/.virtualenv.dev-requirements.txt --- old/kiwi-9.24.36/.virtualenv.dev-requirements.txt 2022-02-25 15:34:33.000000000 +0100 +++ new/kiwi-9.24.41/.virtualenv.dev-requirements.txt 2022-05-30 08:16:30.000000000 +0200 @@ -38,7 +38,7 @@ generateDS==2.29.24 # for building documentation -sphinx>=4.0.2 +sphinx>=5.0.0 git+https://github.com/openSUSE/rstxml2docbook.git@feature/kiwi diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.36/PKG-INFO new/kiwi-9.24.41/PKG-INFO --- old/kiwi-9.24.36/PKG-INFO 2022-05-19 15:25:18.000000000 +0200 +++ new/kiwi-9.24.41/PKG-INFO 2022-06-09 10:33:09.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: kiwi -Version: 9.24.36 +Version: 9.24.41 Summary: KIWI - Appliance Builder (next generation) Home-page: https://osinside.github.io/kiwi Author: Marcus Schaefer Binary files old/kiwi-9.24.36/doc/build/latex/kiwi.pdf and new/kiwi-9.24.41/doc/build/latex/kiwi.pdf differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.36/doc/build/man/kiwi.8 new/kiwi-9.24.41/doc/build/man/kiwi.8 --- old/kiwi-9.24.36/doc/build/man/kiwi.8 2022-05-19 15:25:16.000000000 +0200 +++ new/kiwi-9.24.41/doc/build/man/kiwi.8 2022-06-09 10:33:07.000000000 +0200 @@ -27,7 +27,7 @@ .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "KIWI" "8" "May 19, 2022" "9.24.36" "KIWI NG" +.TH "KIWI" "8" "Jun 09, 2022" "9.24.41" "KIWI NG" .SH NAME kiwi \- Creating Operating System Images .SH SYNOPSIS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.36/doc/build/man/kiwi::image::info.8 new/kiwi-9.24.41/doc/build/man/kiwi::image::info.8 --- old/kiwi-9.24.36/doc/build/man/kiwi::image::info.8 2022-05-19 15:25:16.000000000 +0200 +++ new/kiwi-9.24.41/doc/build/man/kiwi::image::info.8 2022-06-09 10:33:07.000000000 +0200 @@ -27,7 +27,7 @@ .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "KIWI::IMAGE::INFO" "8" "May 19, 2022" "9.24.36" "KIWI NG" +.TH "KIWI::IMAGE::INFO" "8" "Jun 09, 2022" "9.24.41" "KIWI NG" .SH NAME kiwi::image::info \- Provide detailed information about an image description .SH SYNOPSIS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.36/doc/build/man/kiwi::image::resize.8 new/kiwi-9.24.41/doc/build/man/kiwi::image::resize.8 --- old/kiwi-9.24.36/doc/build/man/kiwi::image::resize.8 2022-05-19 15:25:16.000000000 +0200 +++ new/kiwi-9.24.41/doc/build/man/kiwi::image::resize.8 2022-06-09 10:33:07.000000000 +0200 @@ -27,7 +27,7 @@ .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "KIWI::IMAGE::RESIZE" "8" "May 19, 2022" "9.24.36" "KIWI NG" +.TH "KIWI::IMAGE::RESIZE" "8" "Jun 09, 2022" "9.24.41" "KIWI NG" .SH NAME kiwi::image::resize \- Resize disk images to new geometry .SH SYNOPSIS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.36/doc/build/man/kiwi::result::bundle.8 new/kiwi-9.24.41/doc/build/man/kiwi::result::bundle.8 --- old/kiwi-9.24.36/doc/build/man/kiwi::result::bundle.8 2022-05-19 15:25:16.000000000 +0200 +++ new/kiwi-9.24.41/doc/build/man/kiwi::result::bundle.8 2022-06-09 10:33:07.000000000 +0200 @@ -27,7 +27,7 @@ .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "KIWI::RESULT::BUNDLE" "8" "May 19, 2022" "9.24.36" "KIWI NG" +.TH "KIWI::RESULT::BUNDLE" "8" "Jun 09, 2022" "9.24.41" "KIWI NG" .SH NAME kiwi::result::bundle \- Bundle build results .SH SYNOPSIS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.36/doc/build/man/kiwi::result::list.8 new/kiwi-9.24.41/doc/build/man/kiwi::result::list.8 --- old/kiwi-9.24.36/doc/build/man/kiwi::result::list.8 2022-05-19 15:25:16.000000000 +0200 +++ new/kiwi-9.24.41/doc/build/man/kiwi::result::list.8 2022-06-09 10:33:07.000000000 +0200 @@ -27,7 +27,7 @@ .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "KIWI::RESULT::LIST" "8" "May 19, 2022" "9.24.36" "KIWI NG" +.TH "KIWI::RESULT::LIST" "8" "Jun 09, 2022" "9.24.41" "KIWI NG" .SH NAME kiwi::result::list \- List build results .SH SYNOPSIS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.36/doc/build/man/kiwi::system::build.8 new/kiwi-9.24.41/doc/build/man/kiwi::system::build.8 --- old/kiwi-9.24.36/doc/build/man/kiwi::system::build.8 2022-05-19 15:25:16.000000000 +0200 +++ new/kiwi-9.24.41/doc/build/man/kiwi::system::build.8 2022-06-09 10:33:07.000000000 +0200 @@ -27,7 +27,7 @@ .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "KIWI::SYSTEM::BUILD" "8" "May 19, 2022" "9.24.36" "KIWI NG" +.TH "KIWI::SYSTEM::BUILD" "8" "Jun 09, 2022" "9.24.41" "KIWI NG" .SH NAME kiwi::system::build \- Build image in combined prepare and create step .SH SYNOPSIS @@ -164,7 +164,9 @@ .IP \(bu 2 \fB{signing_keys}\fP .sp -List of signing_keys enclosed in curly brackets and delimited by a colon +List of signing_keys enclosed in curly brackets and delimited by +semicolon. The reference to a signing key must be provided as URI +format .IP \(bu 2 \fBcomponents\fP .sp diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.36/doc/build/man/kiwi::system::create.8 new/kiwi-9.24.41/doc/build/man/kiwi::system::create.8 --- old/kiwi-9.24.36/doc/build/man/kiwi::system::create.8 2022-05-19 15:25:16.000000000 +0200 +++ new/kiwi-9.24.41/doc/build/man/kiwi::system::create.8 2022-06-09 10:33:07.000000000 +0200 @@ -27,7 +27,7 @@ .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "KIWI::SYSTEM::CREATE" "8" "May 19, 2022" "9.24.36" "KIWI NG" +.TH "KIWI::SYSTEM::CREATE" "8" "Jun 09, 2022" "9.24.41" "KIWI NG" .SH NAME kiwi::system::create \- Create image from prepared root system .SH SYNOPSIS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.36/doc/build/man/kiwi::system::prepare.8 new/kiwi-9.24.41/doc/build/man/kiwi::system::prepare.8 --- old/kiwi-9.24.36/doc/build/man/kiwi::system::prepare.8 2022-05-19 15:25:16.000000000 +0200 +++ new/kiwi-9.24.41/doc/build/man/kiwi::system::prepare.8 2022-06-09 10:33:07.000000000 +0200 @@ -27,7 +27,7 @@ .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "KIWI::SYSTEM::PREPARE" "8" "May 19, 2022" "9.24.36" "KIWI NG" +.TH "KIWI::SYSTEM::PREPARE" "8" "Jun 09, 2022" "9.24.41" "KIWI NG" .SH NAME kiwi::system::prepare \- Prepare image root system .SH SYNOPSIS @@ -174,7 +174,9 @@ \fB{signing_keys}\fP .UNINDENT .sp -List of signing_keys enclosed in curly brackets and delimited by a colon +List of signing_keys enclosed in curly brackets and delimited by +semicolon. The reference to a signing key must be provided as URI +format .IP \(bu 2 \fBcomponents\fP .sp diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.36/doc/build/man/kiwi::system::update.8 new/kiwi-9.24.41/doc/build/man/kiwi::system::update.8 --- old/kiwi-9.24.36/doc/build/man/kiwi::system::update.8 2022-05-19 15:25:16.000000000 +0200 +++ new/kiwi-9.24.41/doc/build/man/kiwi::system::update.8 2022-06-09 10:33:07.000000000 +0200 @@ -27,7 +27,7 @@ .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "KIWI::SYSTEM::UPDATE" "8" "May 19, 2022" "9.24.36" "KIWI NG" +.TH "KIWI::SYSTEM::UPDATE" "8" "Jun 09, 2022" "9.24.41" "KIWI NG" .SH NAME kiwi::system::update \- Update/Upgrade image root system .SH SYNOPSIS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.36/doc/source/commands/system_build.rst new/kiwi-9.24.41/doc/source/commands/system_build.rst --- old/kiwi-9.24.36/doc/source/commands/system_build.rst 2022-05-11 13:21:54.000000000 +0200 +++ new/kiwi-9.24.41/doc/source/commands/system_build.rst 2022-06-09 10:29:28.000000000 +0200 @@ -151,7 +151,9 @@ - **{signing_keys}** - List of signing_keys enclosed in curly brackets and delimited by a colon + List of signing_keys enclosed in curly brackets and delimited by + semicolon. The reference to a signing key must be provided as URI + format - **components** diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.36/doc/source/commands/system_prepare.rst new/kiwi-9.24.41/doc/source/commands/system_prepare.rst --- old/kiwi-9.24.36/doc/source/commands/system_prepare.rst 2022-05-11 13:21:54.000000000 +0200 +++ new/kiwi-9.24.41/doc/source/commands/system_prepare.rst 2022-06-09 10:29:28.000000000 +0200 @@ -152,7 +152,9 @@ - **{signing_keys}** - List of signing_keys enclosed in curly brackets and delimited by a colon + List of signing_keys enclosed in curly brackets and delimited by + semicolon. The reference to a signing key must be provided as URI + format - **components** diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.36/doc/source/conf.py new/kiwi-9.24.41/doc/source/conf.py --- old/kiwi-9.24.36/doc/source/conf.py 2022-05-19 15:21:54.000000000 +0200 +++ new/kiwi-9.24.41/doc/source/conf.py 2022-06-09 10:29:53.000000000 +0200 @@ -139,7 +139,7 @@ # built documents. # # The short X.Y version. -version = '9.24.36' +version = '9.24.41' # The full version, including alpha/beta/rc tags. release = version @@ -177,13 +177,6 @@ # If true, `todo` and `todoList` produce output, else they produce nothing. todo_include_todos = True -extlinks = { - 'issue': ('https://github.com/OSInside/kiwi/issues/%s', '#'), - 'pr': ('https://github.com/OSInside/kiwi/pull/%s', 'PR #'), - 'ghkiwi': ('https://github.com/OSInside/kiwi/blob/master/%s', '') -} - - autosummary_generate = True # -- Options for HTML output ---------------------------------------------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.36/doc/source/image_description/elements.rst new/kiwi-9.24.41/doc/source/image_description/elements.rst --- old/kiwi-9.24.36/doc/source/image_description/elements.rst 2022-05-19 15:21:13.000000000 +0200 +++ new/kiwi-9.24.41/doc/source/image_description/elements.rst 2022-06-08 18:16:08.000000000 +0200 @@ -1472,11 +1472,24 @@ home="path": The path to the user's home directory -groups="group_a,group_b": +groups="group_a,group_b,group_c:id": A comma separated list of UNIX groups. The first element of the list is used as the user's primary group. The remaining elements are appended to the user's supplementary groups. When no groups are assigned - then the system's default primary group will be used. + then the system's default primary group will be used. If a group should + be of a specific group id, it can be appended to the name separated by + a colon. + + .. note:: + + Group ID's can only be set for groups that does not yet exist at + the time when {kiwi} creates them. A check is made if the desired + group is already present and if it exists the user will become a + member of that group but any given group ID from the {kiwi} + configuration will **not** be taken into account. Usually all + standard system groups are affected by this behavior because they + are provided by the OS itself. Thus it's by intention not possible + to overwrite the group ID of an existing group. id="number": The numeric user id of this account. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.36/doc/source/index.rst new/kiwi-9.24.41/doc/source/index.rst --- old/kiwi-9.24.36/doc/source/index.rst 2022-01-21 13:05:28.000000000 +0100 +++ new/kiwi-9.24.41/doc/source/index.rst 2022-05-30 08:16:30.000000000 +0200 @@ -50,6 +50,7 @@ * `Build Tests CentOS(x86) <https://build.opensuse.org/project/show/Virtualization:Appliances:Images:Testing_x86:centos>`__ * `Build Tests Ubuntu(x86) <https://build.opensuse.org/project/show/Virtualization:Appliances:Images:Testing_x86:ubuntu>`__ + * `Build Tests Ubuntu(arm) <https://build.opensuse.org/project/show/Virtualization:Appliances:Images:Testing_arm:ubuntu>`__ * `Build Tests Debian(x86) <https://build.opensuse.org/project/show/Virtualization:Appliances:Images:Testing_x86:debian>`__ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.36/helper/build_status.sh new/kiwi-9.24.41/helper/build_status.sh --- old/kiwi-9.24.36/helper/build_status.sh 2022-05-11 09:17:52.000000000 +0200 +++ new/kiwi-9.24.41/helper/build_status.sh 2022-05-30 08:16:30.000000000 +0200 @@ -12,6 +12,7 @@ Virtualization:Appliances:Images:Testing_x86:centos \ Virtualization:Appliances:Images:Testing_x86:fedora \ Virtualization:Appliances:Images:Testing_x86:ubuntu \ + Virtualization:Appliances:Images:Testing_arm:ubuntu \ Virtualization:Appliances:Images:Testing_x86:debian \ Virtualization:Appliances:Images:Testing_s390:tumbleweed \ Virtualization:Appliances:Images:Testing_s390:sle15 \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.36/kiwi/boot/image/base.py new/kiwi-9.24.41/kiwi/boot/image/base.py --- old/kiwi-9.24.36/kiwi/boot/image/base.py 2022-01-21 13:05:28.000000000 +0100 +++ new/kiwi-9.24.41/kiwi/boot/image/base.py 2022-06-09 10:29:28.000000000 +0200 @@ -461,11 +461,15 @@ 'dracut', root_dir=self.boot_root_directory, access_mode=os.X_OK ) if dracut_tool: - outfile_expression = r'outfile="/boot/(init.*\$kernel.*)"' + outfile_expression = r'outfile=".*/boot/(init.*kernel.*)"' with open(dracut_tool) as dracut: matches = re.findall(outfile_expression, dracut.read()) if matches: - return matches[0].replace('$kernel', '{kernel_version}') + return matches[0].replace( + '$kernel', '{kernel_version}' + ).replace( + '${kernel}', '{kernel_version}' + ) return None def _get_boot_image_output_file_format_from_existing_file( diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.36/kiwi/builder/disk.py new/kiwi-9.24.41/kiwi/builder/disk.py --- old/kiwi-9.24.36/kiwi/builder/disk.py 2022-05-11 13:21:54.000000000 +0200 +++ new/kiwi-9.24.41/kiwi/builder/disk.py 2022-06-01 11:31:20.000000000 +0200 @@ -513,9 +513,6 @@ disk.storage_provider ) - # set SELinux file security contexts if context exists - self._setup_selinux_file_contexts() - # run pre sync script hook if self.system_setup.script_exists( defaults.PRE_DISK_SYNC_SCRIPT @@ -693,13 +690,6 @@ return result_instance - def _setup_selinux_file_contexts(self) -> None: - security_context = '/etc/selinux/targeted/contexts/files/file_contexts' - if os.path.exists(self.root_dir + security_context): - self.system_setup.set_selinux_file_contexts( - security_context - ) - def _install_image_requested(self) -> bool: return bool( self.install_iso or self.install_stick or self.install_pxe diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.36/kiwi/cli.py new/kiwi-9.24.41/kiwi/cli.py --- old/kiwi-9.24.36/kiwi/cli.py 2022-01-21 13:05:28.000000000 +0100 +++ new/kiwi-9.24.41/kiwi/cli.py 2022-05-27 15:35:53.000000000 +0200 @@ -19,6 +19,7 @@ usage: kiwi-ng -h | --help kiwi-ng [--profile=<name>...] [--temp-dir=<directory>] + [--target-arch=<name>] [--type=<build_type>] [--logfile=<filename>] [--debug] @@ -92,7 +93,7 @@ configuration elements. If not specified kiwi searches for a file named config.xml or a file matching *.kiwi -global options for services: system +global options for services: image, system --target-arch=<name> set the image architecture. By default the host architecture is used as the image architecture. If the specified architecture name diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.36/kiwi/schema/kiwi.rnc new/kiwi-9.24.41/kiwi/schema/kiwi.rnc --- old/kiwi-9.24.36/kiwi/schema/kiwi.rnc 2022-05-19 15:21:13.000000000 +0200 +++ new/kiwi-9.24.41/kiwi/schema/kiwi.rnc 2022-06-08 18:16:08.000000000 +0200 @@ -34,7 +34,7 @@ volume-size-type = xsd:token {pattern = "(\d+|\d+M|\d+G|all)"} partition-size-type = xsd:token {pattern = "(\d+|\d+M|\d+G)"} vhd-tag-type = xsd:token {pattern = "[0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12}"} -groups-list = xsd:token {pattern = "[a-zA-Z0-9_\-\.]+(,[a-zA-Z0-9_\-\.]+)*"} +groups-list = xsd:token {pattern = "[a-zA-Z0-9_\-\.:]+(,[a-zA-Z0-9_\-\.:]+)*"} arch-name = xsd:token {pattern = "(x86_64|i586|i686|ix86|aarch64|arm64|armv5el|armv5tel|armv6hl|armv6l|armv7hl|armv7l|ppc|ppc64|ppc64le|s390|s390x)(,(x86_64|i586|i686|ix86|aarch64|arm64|armv5el|armv5tel|armv6hl|armv6l|armv7hl|armv7l|ppc|ppc64|ppc64le|s390|s390x))*"} portnum-type = xsd:token {pattern = "(\d+|\d+/(udp|tcp))"} grub_console = xsd:token {pattern = "(console|gfxterm|serial)( (console|gfxterm|serial))*"} @@ -2190,8 +2190,8 @@ ## The user ID for this user attribute id { xsd:nonNegativeInteger } k.user.groups.attribute = - ## The list of groups that he user belongs to. The - ## frist item in the list is used as the login group. + ## The list of groups that the user belongs to. The + ## first item in the list is used as the login group. ## If 'groups' is not present a default group is assigned ## to the user according to he specifing toolchain behaviour. attribute groups { groups-list } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.36/kiwi/schema/kiwi.rng new/kiwi-9.24.41/kiwi/schema/kiwi.rng --- old/kiwi-9.24.36/kiwi/schema/kiwi.rng 2022-05-19 15:21:13.000000000 +0200 +++ new/kiwi-9.24.41/kiwi/schema/kiwi.rng 2022-06-08 18:16:08.000000000 +0200 @@ -73,7 +73,7 @@ </define> <define name="groups-list"> <data type="token"> - <param name="pattern">[a-zA-Z0-9_\-\.]+(,[a-zA-Z0-9_\-\.]+)*</param> + <param name="pattern">[a-zA-Z0-9_\-\.:]+(,[a-zA-Z0-9_\-\.:]+)*</param> </data> </define> <define name="arch-name"> @@ -3253,8 +3253,8 @@ </define> <define name="k.user.groups.attribute"> <attribute name="groups"> - <a:documentation>The list of groups that he user belongs to. The -frist item in the list is used as the login group. + <a:documentation>The list of groups that the user belongs to. The +first item in the list is used as the login group. If 'groups' is not present a default group is assigned to the user according to he specifing toolchain behaviour.</a:documentation> <ref name="groups-list"/> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.36/kiwi/solver/sat.py new/kiwi-9.24.41/kiwi/solver/sat.py --- old/kiwi-9.24.36/kiwi/solver/sat.py 2021-07-14 18:09:36.000000000 +0200 +++ new/kiwi-9.24.41/kiwi/solver/sat.py 2022-05-27 15:35:53.000000000 +0200 @@ -65,6 +65,10 @@ 'deb-x86_64': { 'pool_dist': self.solv.Pool.DISTTYPE_DEB, 'arch': 'amd64' + }, + 'deb-aarch64': { + 'pool_dist': self.solv.Pool.DISTTYPE_DEB, + 'arch': 'arm64' } } dist_type = dist_types.get(f'{dist}-{arch}') diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.36/kiwi/system/setup.py new/kiwi-9.24.41/kiwi/system/setup.py --- old/kiwi-9.24.36/kiwi/system/setup.py 2022-05-11 08:59:15.000000000 +0200 +++ new/kiwi-9.24.41/kiwi/system/setup.py 2022-06-08 18:16:08.000000000 +0200 @@ -22,7 +22,9 @@ import pathlib from collections import OrderedDict from collections import namedtuple -from typing import Any +from typing import ( + Any, List +) # project import kiwi.defaults as defaults @@ -381,10 +383,14 @@ system_users = Users(self.root_dir) for user in self.xml_state.get_users(): - for group in self.xml_state.get_user_groups(user.get_name()): + group_dict = self._get_group_names_and_ids_for_user(user.get_name()) + for group, group_id in group_dict.items(): if not system_users.group_exists(group): log.info('Adding group {0}'.format(group)) - system_users.group_add(group, []) + options = self._process_user_options( + group_id=group_id + ) + system_users.group_add(group, options) def setup_users(self) -> None: """ @@ -401,13 +407,21 @@ user_id = user.get_id() user_realname = user.get_realname() user_shell = user.get_shell() - user_groups = self.xml_state.get_user_groups(user.get_name()) + user_groups = list( + self._get_group_names_and_ids_for_user(user.get_name()).keys() + ) user_exists = system_users.user_exists(user_name) options = self._process_user_options( - password_format, password, user_shell, user_groups, - user_id, user_realname, user_exists, home_path + password_format=password_format, + password=password, + user_shell=user_shell, + user_groups=user_groups, + user_id=user_id, + user_realname=user_realname, + user_exists=user_exists, + home_path=home_path ) group_msg = '--> Primary group for user {0}: {1}'.format( @@ -484,6 +498,14 @@ ] ) + def setup_selinux_file_contexts(self) -> None: + """ + Set SELinux file security contexts if the default context file is found + """ + security_context = '/etc/selinux/targeted/contexts/files/file_contexts' + if os.path.exists(self.root_dir + security_context): + self.set_selinux_file_contexts(security_context) + def export_modprobe_setup(self, target_root_dir: str) -> None: """ Export etc/modprobe.d to given root_dir @@ -828,8 +850,16 @@ Path.wipe(metadata['archive_name'] + '.gz') def _process_user_options( - self, password_format, password, user_shell, user_groups, - user_id, user_realname, user_exists, home_path + self, + password_format: str = '', + password: str = '', + user_shell: str = '', + user_groups: List[str] = [], + user_id: str = '', + group_id: str = '', + user_realname: str = '', + user_exists: bool = True, + home_path: str = '' ): options = [] if password_format == 'plain': @@ -849,6 +879,9 @@ if user_id: options.append('-u') options.append('{0}'.format(user_id)) + if group_id: + options.append('-g') + options.append('{0}'.format(group_id)) if user_realname: options.append('-c') options.append(user_realname) @@ -1276,3 +1309,15 @@ if script_path and not os.path.isabs(script_path): script_path = os.path.join(self.description_dir, script_path) return script_path + + def _get_group_names_and_ids_for_user(self, user: str) -> OrderedDict: + group: OrderedDict = OrderedDict() + for group_match in self.xml_state.get_user_groups(user): + group_and_id = group_match.split(':') + group.update( + [( + group_and_id[0], + group_and_id[1] if len(group_and_id) > 1 else '' + )] + ) + return group diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.36/kiwi/tasks/base.py new/kiwi-9.24.41/kiwi/tasks/base.py --- old/kiwi-9.24.36/kiwi/tasks/base.py 2022-05-11 13:21:54.000000000 +0200 +++ new/kiwi-9.24.41/kiwi/tasks/base.py 2022-06-09 10:29:28.000000000 +0200 @@ -242,7 +242,7 @@ elif len(token) > 0 and token == 'false': return False elif len(token) > 0 and token.startswith('{'): - return token.replace('{', '').replace('}', '').split(':') + return token.replace('{', '').replace('}', '').split(';') else: return token diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.36/kiwi/tasks/system_build.py new/kiwi-9.24.41/kiwi/tasks/system_build.py --- old/kiwi-9.24.36/kiwi/tasks/system_build.py 2022-05-11 13:21:54.000000000 +0200 +++ new/kiwi-9.24.41/kiwi/tasks/system_build.py 2022-06-01 11:31:20.000000000 +0200 @@ -250,6 +250,7 @@ setup.setup_plymouth_splash() setup.setup_timezone() setup.setup_permissions() + setup.setup_selinux_file_contexts() # make sure manager instance is cleaned up now del manager diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.36/kiwi/tasks/system_prepare.py new/kiwi-9.24.41/kiwi/tasks/system_prepare.py --- old/kiwi-9.24.36/kiwi/tasks/system_prepare.py 2022-05-11 13:21:54.000000000 +0200 +++ new/kiwi-9.24.41/kiwi/tasks/system_prepare.py 2022-06-01 11:31:20.000000000 +0200 @@ -255,6 +255,7 @@ setup.setup_plymouth_splash() setup.setup_timezone() setup.setup_permissions() + setup.setup_selinux_file_contexts() # make sure manager instance is cleaned up now del manager diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.36/kiwi/version.py new/kiwi-9.24.41/kiwi/version.py --- old/kiwi-9.24.36/kiwi/version.py 2022-05-19 15:21:54.000000000 +0200 +++ new/kiwi-9.24.41/kiwi/version.py 2022-06-09 10:29:53.000000000 +0200 @@ -18,5 +18,5 @@ """ Global version information used in kiwi and the package """ -__version__ = '9.24.36' -__githash__ = 'b43fa3fd28041fa03a03f944b5ffdcdb28d901cc' +__version__ = '9.24.41' +__githash__ = '28f79e509fd324eaab9007115d5d953a6e2af591' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.36/kiwi/xml_parse.py new/kiwi-9.24.41/kiwi/xml_parse.py --- old/kiwi-9.24.36/kiwi/xml_parse.py 2022-05-19 15:21:13.000000000 +0200 +++ new/kiwi-9.24.41/kiwi/xml_parse.py 2022-06-08 18:16:08.000000000 +0200 @@ -4053,7 +4053,7 @@ if not self.gds_validate_simple_patterns( self.validate_groups_list_patterns_, value): warnings_.warn('Value "%s" does not match xsd pattern restrictions: %s' % (value.encode('utf-8'), self.validate_groups_list_patterns_, )) - validate_groups_list_patterns_ = [['^[a-zA-Z0-9_\\-\\.]+(,[a-zA-Z0-9_\\-\\.]+)*$']] + validate_groups_list_patterns_ = [['^[a-zA-Z0-9_\\-\\.:]+(,[a-zA-Z0-9_\\-\\.:]+)*$']] def hasContent_(self): if ( diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.36/kiwi/xml_state.py new/kiwi-9.24.41/kiwi/xml_state.py --- old/kiwi-9.24.36/kiwi/xml_state.py 2022-05-19 15:21:13.000000000 +0200 +++ new/kiwi-9.24.41/kiwi/xml_state.py 2022-05-27 15:35:53.000000000 +0200 @@ -1284,13 +1284,14 @@ return users_list - def get_user_groups(self, user_name) -> List: + def get_user_groups(self, user_name) -> List[str]: """ List of group names matching specified user - Each entry in the list is the name of a group that the specified - user belongs to. The first item in the list is the login or primary - group. The list will be empty if no groups are specified in the + Each entry in the list is the name of a group and optionally its + group ID separated by a colon, that the specified user belongs to. + The first item in the list is the login or primary group. The + list will be empty if no groups are specified in the description file. :return: groups data for the given user diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.36/kiwi.egg-info/PKG-INFO new/kiwi-9.24.41/kiwi.egg-info/PKG-INFO --- old/kiwi-9.24.36/kiwi.egg-info/PKG-INFO 2022-05-19 15:25:17.000000000 +0200 +++ new/kiwi-9.24.41/kiwi.egg-info/PKG-INFO 2022-06-09 10:33:08.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: kiwi -Version: 9.24.36 +Version: 9.24.41 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.24.36/test/data/description/config.xml new/kiwi-9.24.41/test/data/description/config.xml --- old/kiwi-9.24.36/test/data/description/config.xml 2022-05-11 09:17:52.000000000 +0200 +++ new/kiwi-9.24.41/test/data/description/config.xml 2022-05-27 15:35:53.000000000 +0200 @@ -169,7 +169,7 @@ <users> <user pwdformat="plain" password="mypwd" shell="/bin/bash" id="815" realname="Bob" home="/root" name="root"/> <user groups="users" pwdformat="plain" password="mypwd" home="/home/tux" name="tux"/> - <user groups="kiwi,admin,users" pwdformat="plain" password="mypwd" name="kiwi"/> + <user groups="kiwi,admin:42,users" pwdformat="plain" password="mypwd" name="kiwi"/> </users> <repository priority="42" sourcetype="baseurl"> <source path="iso:///image/CDs/dvd.iso"> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.36/test/data/description.buildservice/appliance.kiwi new/kiwi-9.24.41/test/data/description.buildservice/appliance.kiwi --- old/kiwi-9.24.36/test/data/description.buildservice/appliance.kiwi 2022-05-11 09:17:52.000000000 +0200 +++ new/kiwi-9.24.41/test/data/description.buildservice/appliance.kiwi 2022-05-27 15:35:53.000000000 +0200 @@ -169,7 +169,7 @@ <users> <user pwdformat="plain" password="mypwd" shell="/bin/bash" id="815" realname="Bob" home="/root" name="root"/> <user groups="users" pwdformat="plain" password="mypwd" home="/home/tux" name="tux"/> - <user groups="kiwi,admin,users" pwdformat="plain" password="mypwd" name="kiwi"/> + <user groups="kiwi,admin:42,users" pwdformat="plain" password="mypwd" name="kiwi"/> </users> <repository priority="42" sourcetype="baseurl"> <source path="iso:///image/CDs/dvd.iso"> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.36/test/data/example_config.xml new/kiwi-9.24.41/test/data/example_config.xml --- old/kiwi-9.24.36/test/data/example_config.xml 2022-05-11 09:17:52.000000000 +0200 +++ new/kiwi-9.24.41/test/data/example_config.xml 2022-05-27 15:35:53.000000000 +0200 @@ -169,7 +169,7 @@ <users> <user pwdformat="plain" password="mypwd" shell="/bin/bash" id="815" realname="Bob" home="/root" name="root"/> <user groups="users" pwdformat="plain" password="mypwd" home="/home/tux" name="tux"/> - <user groups="kiwi,admin,users" pwdformat="plain" password="mypwd" name="kiwi"/> + <user groups="kiwi,admin:42,users" pwdformat="plain" password="mypwd" name="kiwi"/> </users> <repository priority="42" sourcetype="baseurl"> <source path="iso:///image/CDs/dvd.iso"> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.36/test/data/root-dir/image/config.xml new/kiwi-9.24.41/test/data/root-dir/image/config.xml --- old/kiwi-9.24.36/test/data/root-dir/image/config.xml 2022-05-11 09:17:52.000000000 +0200 +++ new/kiwi-9.24.41/test/data/root-dir/image/config.xml 2022-05-27 15:35:53.000000000 +0200 @@ -169,7 +169,7 @@ <users> <user pwdformat="plain" password="mypwd" shell="/bin/bash" id="815" realname="Bob" home="/root" name="root"/> <user groups="users" pwdformat="plain" password="mypwd" home="/home/tux" name="tux"/> - <user groups="kiwi,admin,users" pwdformat="plain" password="mypwd" name="kiwi"/> + <user groups="kiwi,admin:42,users" pwdformat="plain" password="mypwd" name="kiwi"/> </users> <repository priority="42" sourcetype="baseurl"> <source path="iso:///image/CDs/dvd.iso"> Binary files old/kiwi-9.24.36/test/unit/.coverage and new/kiwi-9.24.41/test/unit/.coverage differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.36/test/unit/boot/image/base_test.py new/kiwi-9.24.41/test/unit/boot/image/base_test.py --- old/kiwi-9.24.36/test/unit/boot/image/base_test.py 2022-05-11 08:59:15.000000000 +0200 +++ new/kiwi-9.24.41/test/unit/boot/image/base_test.py 2022-06-09 10:29:28.000000000 +0200 @@ -178,6 +178,11 @@ kernel_name='kernel_name', initrd_name='initrd-kernel_version' ) + file_handle.read.return_value = 'outfile="/boot/initrd-${kernel}"' + assert self.boot_image.get_boot_names() == self.boot_names_type( + kernel_name='kernel_name', + initrd_name='initrd-kernel_version' + ) def test_noop_methods(self): self.boot_image.include_module('module') diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.36/test/unit/builder/disk_test.py new/kiwi-9.24.41/test/unit/builder/disk_test.py --- old/kiwi-9.24.36/test/unit/builder/disk_test.py 2022-05-11 13:21:54.000000000 +0200 +++ new/kiwi-9.24.41/test/unit/builder/disk_test.py 2022-06-01 11:31:20.000000000 +0200 @@ -316,9 +316,6 @@ assert self.setup.export_modprobe_setup.call_args_list[0] == \ call('boot_dir') - self.setup.set_selinux_file_contexts.assert_called_once_with( - '/etc/selinux/targeted/contexts/files/file_contexts' - ) self.disk_setup.get_disksize_mbytes.assert_called_once_with( root_clone=0, boot_clone=0 ) @@ -608,9 +605,6 @@ self.disk_builder.create_disk() self.setup.create_recovery_archive.assert_called_once_with() - self.setup.set_selinux_file_contexts.assert_called_once_with( - '/etc/selinux/targeted/contexts/files/file_contexts' - ) self.disk_setup.get_disksize_mbytes.assert_called_once_with( root_clone=0, boot_clone=0 ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.36/test/unit/system/setup_test.py new/kiwi-9.24.41/test/unit/system/setup_test.py --- old/kiwi-9.24.36/test/unit/system/setup_test.py 2022-05-11 08:59:15.000000000 +0200 +++ new/kiwi-9.24.41/test/unit/system/setup_test.py 2022-06-08 18:16:08.000000000 +0200 @@ -507,7 +507,7 @@ calls = [ call('users', []), call('kiwi', []), - call('admin', []) + call('admin', ['-g', '42']) ] users.group_add.assert_has_calls(calls) @@ -1387,6 +1387,17 @@ ] ) + @patch('os.path.exists') + @patch.object(SystemSetup, 'set_selinux_file_contexts') + def test_setup_selinux_file_contexts( + self, mock_os_path_exists, mock_set + ): + mock_os_path_exists.return_value = True + self.setup.setup_selinux_file_contexts() + mock_set.assert_called_once_with( + 'root_dir/etc/selinux/targeted/contexts/files/file_contexts' + ) + @patch('kiwi.system.setup.Repository.new') @patch('kiwi.system.setup.Uri') def test_import_repositories_marked_as_imageinclude( diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.36/test/unit/tasks/base_test.py new/kiwi-9.24.41/test/unit/tasks/base_test.py --- old/kiwi-9.24.36/test/unit/tasks/base_test.py 2022-05-11 13:21:54.000000000 +0200 +++ new/kiwi-9.24.41/test/unit/tasks/base_test.py 2022-06-09 10:29:28.000000000 +0200 @@ -82,12 +82,12 @@ def test_tentuple_token(self): assert self.task.tentuple_token( - 'a,b,,d,e,f,{1:2:3},x y z,jammy,false' + 'a,b,,d,e,f,{1;2;3},x y z,jammy,false' ) == [ 'a', 'b', '', 'd', 'e', 'f', ['1', '2', '3'], 'x y z', 'jammy', False ] - assert self.task.tentuple_token('a,b,,d,e,f,{1:2:3}') == [ + assert self.task.tentuple_token('a,b,,d,e,f,{1;2;3}') == [ 'a', 'b', '', 'd', 'e', 'f', ['1', '2', '3'], None, None, None ] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.36/test/unit/tasks/system_build_test.py new/kiwi-9.24.41/test/unit/tasks/system_build_test.py --- old/kiwi-9.24.36/test/unit/tasks/system_build_test.py 2022-05-11 13:21:54.000000000 +0200 +++ new/kiwi-9.24.41/test/unit/tasks/system_build_test.py 2022-06-01 11:31:20.000000000 +0200 @@ -189,6 +189,7 @@ self.setup.setup_plymouth_splash.assert_called_once_with() self.setup.setup_timezone.assert_called_once_with() self.setup.setup_permissions.assert_called_once_with() + self.setup.setup_selinux_file_contexts.assert_called_once_with() self.system_prepare.pinch_system.assert_has_calls( [call(force=False), call(force=True)] ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.36/test/unit/tasks/system_prepare_test.py new/kiwi-9.24.41/test/unit/tasks/system_prepare_test.py --- old/kiwi-9.24.36/test/unit/tasks/system_prepare_test.py 2022-05-11 13:21:54.000000000 +0200 +++ new/kiwi-9.24.41/test/unit/tasks/system_prepare_test.py 2022-06-01 11:31:20.000000000 +0200 @@ -177,6 +177,7 @@ self.setup.setup_plymouth_splash.assert_called_once_with() self.setup.setup_timezone.assert_called_once_with() self.setup.setup_permissions.assert_called_once_with() + self.setup.setup_selinux_file_contexts.assert_called_once_with() self.system_prepare.pinch_system.assert_has_calls( [call(force=False), call(force=True)]