commit python-kiwi for openSUSE:Factory
Hello community, here is the log from the commit of package python-kiwi for openSUSE:Factory checked in at 2019-09-02 13:17:39 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-kiwi (Old) and /work/SRC/openSUSE:Factory/.python-kiwi.new.7948 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "python-kiwi" Mon Sep 2 13:17:39 2019 rev:47 rq:726411 version:9.18.12 Changes: -------- --- /work/SRC/openSUSE:Factory/python-kiwi/python-kiwi.changes 2019-08-14 11:36:34.328705457 +0200 +++ /work/SRC/openSUSE:Factory/.python-kiwi.new.7948/python-kiwi.changes 2019-09-02 13:17:40.717390912 +0200 @@ -1,0 +2,111 @@ +Tue Aug 20 09:48:00 CEST 2019 - Marcus Schäfer <ms@suse.de> + +- Bump version: 9.18.11 → 9.18.12 + +------------------------------------------------------------------- +Mon Aug 19 18:33:50 CEST 2019 - Marcus Schäfer <ms@suse.de> + +- Added MicroOS integration test + + The future technologies team is implementing a coreOS derivate + based on btrfs and some overlay technology. For supporting them + some changes were required in kiwi and thus we should add an + integration test build which makes use of this features. + +------------------------------------------------------------------- +Mon Aug 19 18:28:46 CEST 2019 - Marcus Schäfer <ms@suse.de> + +- Add required cryptomount coding for EFI boot + + For non EFI boot grub2-install has code which gets activated + through the GRUB_ENABLE_CRYPTODISK setting. However for the + EFI boot case no installation of boot code is needed and + therefore the grub earlyboot script has to run cryptomount + +------------------------------------------------------------------- +Mon Aug 19 14:34:08 CEST 2019 - Marcus Schäfer <ms@suse.de> + +- Add /mnt to list of protected paths + + On recursive removal make sure /mnt belong to the protected + elements. This Fixes #1170 + +------------------------------------------------------------------- +Mon Aug 19 11:17:35 CEST 2019 - Marcus Schäfer <ms@suse.de> + +- Added full encrypted image build test + +------------------------------------------------------------------- +Fri Aug 16 17:49:09 CEST 2019 - Marcus Schäfer <ms@suse.de> + +- Extended LUKS encryption support + + We supported luks encrypted images with the exception of the + boot partition because grub was not able to read from an + encrypted device at that time. Since some time grub is able + to read from an encrypted partition and this commit add + support for it. With this patch luks encrypted images will + no longer create an extra boot partition and the entire + system will be encrypted. The opening of the luks container + happens on the grub level only once. Customers can still + specify to use an unencrypted extra boot partition with the + bootpartition="true" flag. In this case the opening of the + luks containers happens on the systemd level as before. + This is related to Issue #1162 + +------------------------------------------------------------------- +Thu Aug 15 09:52:27 CEST 2019 - Stefan Seyfried <stefan.seyfried@sap.com> + +- remove '-z' option from rsync local copy calls + + rsync's "compress" option just does not make any sense when rsync is + used to copy files locally, it only increases CPU usage and slows down + the process ;-) + +------------------------------------------------------------------- +Wed Aug 14 14:45:13 CEST 2019 - Marcus Schäfer <ms@suse.de> + +- Delete SuSEfirewall2 from test builds + + The package seems to be no longer present on suse + +------------------------------------------------------------------- +Wed Aug 14 12:01:34 CEST 2019 - Marcus Schäfer <ms@suse.de> + +- Bump version: 9.18.10 → 9.18.11 + +------------------------------------------------------------------- +Mon Aug 12 18:17:02 CEST 2019 - Marcus Schäfer <ms@suse.de> + +- Allow dracut initrd to be used with pxe type + + The pxe image type builds a simple filesystem image plus a + custom initrd. That initrd is usually build from the kiwi + netboot image descriptions which implements a workflow to + fetch the filesystem image and deploy it as rootfs for a + pxe client. User who wants to implement their own handling + of the rootfs image in e.g a custom dracut module were not + able to build this image type because we did not allow + the initrd_system attribute for the pxe type + +------------------------------------------------------------------- +Mon Aug 12 10:53:08 CEST 2019 - Marcus Schäfer <ms@suse.de> + +- Use message variable for long message text + +------------------------------------------------------------------- +Mon Aug 12 10:42:11 CEST 2019 - Marcus Schäfer <ms@suse.de> + +- Fixed handling of bool values in initrd code + + Some values evaluated in the initrd code are created in + the kiwi builder and passed in as a profile file. bool + values created by kiwi for use in shell scripts takes + the string 'true' or 'false' or are not set at all if not + specified in the kiwi XML description. Some code paths + in the initrd code uses the '-n' switch to check for bool + values, however if the string 'false' is passed '-n' will + do the wrong thing. Therefore a method for the initrd + code has been introduced to clearly handle bool values + +------------------------------------------------------------------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-kiwi.spec ++++++ --- /var/tmp/diff_new_pack.WWmf73/_old 2019-09-02 13:17:42.289390671 +0200 +++ /var/tmp/diff_new_pack.WWmf73/_new 2019-09-02 13:17:42.289390671 +0200 @@ -43,7 +43,7 @@ %endif Name: python-kiwi -Version: 9.18.10 +Version: 9.18.12 Provides: kiwi-schema = 7.1 Release: 0 Url: https://github.com/SUSE/kiwi ++++++ python-kiwi.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/.bumpversion.cfg new/kiwi-9.18.12/.bumpversion.cfg --- old/kiwi-9.18.10/.bumpversion.cfg 2019-08-05 09:55:02.000000000 +0200 +++ new/kiwi-9.18.12/.bumpversion.cfg 2019-08-20 09:48:00.000000000 +0200 @@ -1,5 +1,5 @@ [bumpversion] -current_version = 9.18.10 +current_version = 9.18.12 commit = True tag = True diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/.coverage new/kiwi-9.18.12/.coverage --- old/kiwi-9.18.10/.coverage 1970-01-01 01:00:00.000000000 +0100 +++ new/kiwi-9.18.12/.coverage 2016-03-14 11:05:59.000000000 +0100 @@ -0,0 +1 @@ +!coverage.py: This is a private format, don't read it directly!{"lines": {"/home/ms/Project/kiwi-horizon/kiwi/storage/disk.py": [18, 19, 20, 23, 24, 25, 26, 27, 30, 33, 34, 38, 40, 41, 42, 43, 45, 46, 49, 51, 56, 57, 58, 59, 61, 63, 69, 71, 72, 73, 74, 75, 76, 78, 79, 80, 81, 82, 84, 85, 86, 87, 88, 89, 91, 92, 93, 94, 96, 97, 98, 99, 101, 102, 103, 104, 106, 107, 108, 109, 111, 112, 113, 114, 115, 116, 117, 118, 120, 121, 123, 128, 129, 130, 131, 132, 133, 135, 136, 139, 140, 141, 143, 149, 151, 152, 154, 158, 159, 160, 161, 163, 165, 166, 169, 170, 171, 174, 175, 176, 177, 179, 180, 181, 182, 183, 184, 185, 188, 189, 190, 191, 194, 195, 197, 198, 199, 201, 202, 203, 204, 205, 206, 208, 209, 210, 211], "/home/ms/Project/kiwi-horizon/kiwi/package_manager/zypper.py": [18, 21, 22, 23, 29, 32, 33, 34, 35, 36, 38, 39, 40, 42, 43, 45, 46, 48, 49, 51, 55, 56, 57, 60, 61, 62, 64, 67, 68, 71, 72, 73, 74, 75, 76, 77, 79, 80, 81, 82, 84, 85, 86, 89, 90, 93, 94, 96, 99, 100, 103, 104, 105, 107, 110, 111, 114, 115, 116, 118, 123, 124, 127, 128, 129, 132, 133, 134, 135, 136, 137, 139, 140, 141, 142, 144, 145, 146, 148, 150, 151, 153, 154, 155, 156, 157, 159, 160, 161, 162, 164, 165, 166, 169, 171, 172, 173, 175, 177, 178, 179, 180], "/home/ms/Project/kiwi-horizon/kiwi/tasks/system_build.py": [129, 130, 131, 132, 134, 136, 137, 138, 139, 140, 141, 142, 143, 144, 146, 147, 150, 152, 155, 157, 158, 159, 160, 161, 163, 164, 165, 166, 169, 170, 171, 173, 174, 48, 49, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 64, 67, 68, 69, 70, 71, 73, 75, 76, 78, 79, 80, 83, 84, 87, 89, 90, 91, 94, 95, 97, 98, 99, 102, 104, 107, 109, 112, 114, 115, 116, 118, 119, 120, 121, 124, 126, 127], "/home/ms/Project/kiwi-horizon/kiwi/storage/luks_device.py": [128, 129, 130, 131, 132, 134, 135, 136, 137, 18, 21, 22, 23, 24, 26, 31, 34, 35, 39, 41, 42, 44, 46, 47, 48, 52, 56, 57, 58, 61, 67, 68, 69, 70, 71, 73, 74, 75, 77, 78, 80, 81, 82, 83, 84, 85, 86, 88, 89, 90, 93, 94, 95, 96, 97, 100, 101, 104, 106, 107, 110, 112, 113, 114, 115, 116, 117, 121, 125, 127], "/home/ms/Project/kiwi-horizon/kiwi/storage/subformat/qcow2.py": [32, 37, 20, 21, 24, 36, 27, 28, 29, 31], "/home/ms/Project/kiwi-horizon/kiwi/app.py": [], "/home/ms/Project/kiwi-horizon/kiwi/partitioner/msdos.py": [19, 20, 21, 23, 28, 31, 32, 33, 34, 37, 38, 39, 40, 41, 42, 43, 44, 47, 48, 50, 51, 52, 53, 54, 55, 56, 58, 59, 60, 63, 64, 65, 67, 68, 70, 71, 72, 74, 80, 82, 83, 84, 85, 87, 88, 89, 90, 92, 93, 94, 96, 97, 101, 103, 104, 108], "/home/ms/Project/kiwi-horizon/kiwi/cli.py": [50, 51, 52, 53, 54, 55, 56, 59, 65, 66, 67, 70, 73, 74, 75, 76, 77, 78, 80, 81, 83, 84, 85, 86, 87, 89, 90, 91, 92, 93, 94, 95, 97, 98, 101, 102, 103, 104, 105, 106, 107, 108, 109, 112, 113, 115, 116, 118, 119, 120, 121, 122, 123, 125, 126, 127, 128, 129, 130, 132, 133, 134, 136, 137, 139, 140, 141, 142, 143, 144, 145, 146, 148, 150, 151, 152, 153, 154, 155, 156, 159, 160, 161, 162, 164, 165, 167, 168, 170, 171, 172, 173, 174, 175], "/home/ms/Project/kiwi-horizon/kiwi/bootloader/config/isolinux.py": [18, 19, 22, 23, 24, 25, 26, 28, 34, 37, 38, 39, 40, 41, 42, 43, 44, 46, 47, 50, 51, 52, 53, 54, 56, 57, 59, 60, 61, 62, 63, 64, 66, 67, 68, 70, 74, 75, 76, 77, 78, 79, 80, 82, 83, 84, 85, 88, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 108, 109, 110, 111, 112, 115, 116, 117, 119, 120, 121, 122, 123, 124, 125, 129, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 151, 152, 153, 156, 157, 158, 160, 161, 162, 163, 164, 165, 166, 169, 172, 174, 176, 178, 179, 180, 181, 182, 183, 184, 186, 187, 190, 191, 193, 194, 195, 196], "/home/ms/Project/kiwi-horizon/kiwi/system/kernel.py": [18, 19, 22, 25, 28, 29, 30, 38, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 52, 53, 54, 57, 58, 59, 60, 61, 63, 64, 65, 68, 69, 70, 71, 72, 73, 74, 76, 78, 79, 80, 81, 82, 83, 84, 86], "/home/ms/Project/kiwi-horizon/kiwi/builder/pxe.py": [18, 19, 22, 23, 24, 25, 26, 27, 28, 29, 31, 36, 42, 43, 44, 45, 46, 47, 48, 49, 51, 52, 54, 55, 57, 59, 60, 61, 62, 65, 66, 67, 69, 70, 71, 72, 73, 74, 75, 76, 77, 79, 80, 81, 82, 85, 86, 89, 90, 94, 95, 96, 97, 99, 100, 103, 104, 107, 108, 109, 113, 114, 115, 116, 117, 119, 120, 122, 123, 124, 125, 126, 127, 130, 131, 132, 136, 139, 140, 141, 142, 143, 144, 146, 147, 148, 149, 150, 151, 153, 154, 155, 156, 157, 158, 160, 161, 162, 163, 164, 165, 169, 170, 171, 172, 174, 175, 176, 178, 179, 180, 181, 183, 184, 185, 188, 189, 190, 193], "/home/ms/Project/kiwi-horizon/kiwi/bootloader/__init__.py": [1], "/home/ms/Project/kiwi-horizon/kiwi/xml_description.py": [18, 19, 20, 23, 24, 25, 27, 35, 41, 42, 43, 44, 46, 47, 48, 49, 50, 52, 53, 54, 56, 57, 58, 59, 61, 62, 63, 65, 66, 67, 69, 71, 72, 73, 74, 76, 77, 78, 79, 80, 83, 84, 86, 87, 88], "/home/ms/Project/kiwi-horizon/kiwi/storage/mapped_device.py": [32, 33, 34, 36, 37, 39, 40, 42, 43, 18, 21, 22, 27, 30, 31], "/home/ms/Project/kiwi-horizon/kiwi/storage/subformat/vhd.py": [35, 19, 20, 23, 36, 26, 27, 28, 30, 31], "/home/ms/Project/kiwi-horizon/kiwi/filesystem/xfs.py": [32, 33, 19, 20, 23, 26, 27, 28, 29, 30, 31], "/home/ms/Project/kiwi-horizon/kiwi/bootloader/template/grub2.py": [256, 257, 260, 265, 266, 267, 268, 269, 271, 272, 273, 18, 19, 276, 278, 279, 280, 281, 282, 27, 285, 34, 291, 292, 293, 295, 296, 297, 298, 299, 300, 45, 304, 336, 52, 309, 310, 311, 312, 313, 58, 315, 316, 317, 318, 319, 320, 321, 323, 324, 325, 326, 329, 335, 80, 337, 339, 340, 341, 342, 343, 344, 345, 90, 102, 274, 112, 275, 122, 22, 134, 144, 25, 154, 26, 69, 166, 301, 176, 186, 198, 208, 215, 218, 223, 224, 225, 226, 227, 229, 230, 231, 232, 233, 234, 236, 237, 238, 239, 242, 248, 249, 250, 252, 253, 254, 255], "/home/ms/Project/kiwi-horizon/kiwi/repository/__init__.py": [32, 33, 34, 35, 37, 38, 39, 19, 20, 22, 27, 30, 31], "/home/ms/Project/kiwi-horizon/kiwi/kiwi.py": [], "/home/ms/Project/kiwi-horizon/kiwi/storage/__init__.py": [1], "/home/ms/Project/kiwi-horizon/kiwi/storage/subformat/__init__.py": [19, 20, 21, 22, 23, 25, 30, 33, 34, 35, 36, 37, 39, 40, 41, 43, 44, 45, 46, 47, 48, 50, 51, 53, 54, 55, 56, 57, 58, 60, 61, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 78, 79], "/home/ms/Project/kiwi-horizon/kiwi/tasks/result_bundle.py": [41, 42, 43, 46, 47, 48, 49, 50, 51, 52, 53, 55, 60, 63, 64, 65, 66, 67, 70, 71, 72, 73, 74, 77, 78, 80, 81, 83, 84, 87, 88, 89, 90, 91, 94, 95, 96, 98, 99, 100, 102, 103, 105, 107, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 122, 123, 124, 126, 127], "/home/ms/Project/kiwi-horizon/kiwi/builder/__init__.py": [64, 19, 20, 21, 22, 23, 24, 25, 27, 32, 35, 36, 37, 38, 39, 40, 42, 43, 44, 46, 47, 48, 50, 51, 52, 54, 55, 56, 58, 59, 60, 63], "/home/ms/Project/kiwi-horizon/kiwi/filesystem/fat32.py": [32, 33, 19, 20, 23, 26, 27, 28, 29, 30, 31], "/home/ms/Project/kiwi-horizon/kiwi/tasks/system_create.py": [65, 66, 67, 69, 70, 71, 72, 74, 76, 77, 78, 79, 81, 82, 83, 84, 87, 88, 89, 91, 92, 37, 38, 41, 42, 43, 44, 45, 46, 47, 50, 53, 54, 55, 56, 57, 59, 61, 62], "/home/ms/Project/kiwi-horizon/kiwi/builder/container.py": [18, 21, 22, 23, 24, 25, 28, 31, 32, 33, 34, 35, 36, 37, 38, 40, 42, 43, 44, 45, 46, 49, 51, 52, 53, 54, 56, 57, 59, 60, 61, 63, 65, 66, 68, 69, 71, 72, 74, 75, 76, 77, 78, 79, 81, 82, 83, 84, 86, 87, 88, 90, 91, 92, 93, 95, 96, 97, 99], "/home/ms/Project/kiwi-horizon/kiwi/system/setup.py": [18, 19, 20, 21, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 35, 40, 47, 48, 49, 50, 51, 52, 53, 55, 59, 60, 61, 62, 63, 64, 65, 67, 68, 69, 71, 73, 75, 77, 78, 81, 83, 84, 85, 86, 87, 88, 89, 91, 93, 97, 98, 101, 102, 103, 104, 106, 107, 108, 109, 111, 112, 113, 114, 115, 116, 119, 124, 126, 131, 132, 133, 134, 135, 136, 137, 140, 148, 149, 150, 151, 153, 155, 156, 158, 159, 160, 161, 162, 163, 165, 166, 168, 169, 170, 171, 173, 174, 175, 176, 178, 179, 180, 183, 184, 185, 186, 187, 188, 190, 191, 192, 193, 197, 198, 201, 202, 203, 204, 205, 206, 208, 209, 210, 211, 215, 216, 219, 220, 221, 222, 224, 225, 226, 227, 230, 234, 236, 237, 238, 239, 240, 241, 242, 243, 244, 247, 251, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 264, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 292, 293, 294, 295, 297, 299, 300, 301, 303, 304, 305, 306, 308, 309, 312, 316, 317, 318, 319, 320, 321, 323, 327, 328, 329, 330, 331, 332, 334, 335, 338, 343, 344, 345, 347, 348, 349, 350, 351, 354, 356, 357, 359, 360, 365, 366, 367, 369, 374, 375, 376, 378, 379, 380, 381, 382, 385, 386, 387, 389, 390, 391, 393, 394, 396, 397, 399, 400, 401, 404, 405, 406, 409, 415, 416, 419, 428, 430, 431, 432, 434, 435, 437, 439, 441, 443, 445, 447, 448, 450, 451, 452, 454, 455, 456, 458, 459, 460, 463, 464, 467, 468, 469, 470, 471, 475, 477, 478, 480, 481, 482, 483, 484, 487, 488, 489, 490, 491, 492, 495, 496, 497, 499, 500, 502, 503, 504, 505, 506, 507, 508, 515, 516, 517, 519, 521, 522, 523, 524, 526, 527, 529, 530, 531, 532, 535, 536, 538, 539, 541, 542, 544, 545, 547, 548, 549, 550, 553, 554, 555, 557, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 575, 576, 577, 578, 580, 581, 583, 585, 587, 592, 593, 594, 595, 597], "/home/ms/Project/kiwi-horizon/kiwi/volume_manager/base.py": [18, 19, 20, 23, 24, 25, 26, 27, 28, 30, 35, 38, 39, 43, 48, 50, 51, 52, 53, 54, 56, 58, 59, 60, 63, 65, 70, 72, 76, 78, 83, 85, 89, 91, 95, 97, 101, 103, 109, 111, 116, 117, 118, 119, 121, 126, 128, 134, 135, 136, 139, 140, 141, 142, 143, 144, 145, 147, 148, 149, 150, 151, 155, 161, 167, 168, 170, 183, 184, 186, 187, 188, 189, 190, 192, 194, 198, 199, 200, 201, 202, 203, 204, 205, 207, 209, 214, 216, 222], "/home/ms/Project/kiwi-horizon/kiwi/bootloader/config/grub2.py": [18, 19, 22, 23, 24, 25, 26, 27, 28, 29, 31, 40, 43, 44, 45, 46, 47, 48, 49, 50, 52, 53, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 78, 79, 81, 82, 83, 84, 86, 90, 91, 92, 93, 94, 95, 96, 99, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 123, 124, 125, 126, 127, 130, 131, 132, 134, 135, 136, 137, 138, 142, 148, 149, 150, 151, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 166, 167, 168, 169, 170, 173, 174, 175, 176, 178, 179, 180, 181, 182, 186, 192, 193, 194, 195, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 210, 211, 212, 213, 214, 217, 218, 219, 220, 222, 223, 224, 225, 226, 229, 237, 238, 240, 241, 242, 244, 245, 247, 248, 251, 253, 254, 255, 258, 259, 260, 262, 264, 266, 268, 274, 276, 277, 279, 281, 282, 283, 284, 285, 286, 287, 290, 291, 293, 294, 295, 296, 298, 299, 301, 302, 304, 306, 307, 311, 315, 316, 317, 318, 321, 322, 324, 326, 327, 328, 329, 330, 331, 332, 335, 336, 337, 338, 340, 341, 342, 346, 347, 348, 349, 351, 352, 355, 356, 358, 359, 361, 362, 364, 365, 367, 368, 370, 371, 373, 374, 375, 376, 378, 379, 383, 384, 385, 386, 387, 388, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 401, 402, 403, 407, 408, 409, 411, 412, 413, 414, 416, 417, 420, 422, 423, 424, 427, 428, 429, 432, 434, 435, 436, 437, 439, 440, 442, 443, 444, 447, 453, 454, 455, 456, 458, 459], "/home/ms/Project/kiwi-horizon/kiwi/__init__.py": [1], "/home/ms/Project/kiwi-horizon/kiwi/boot/image/__init__.py": [32, 33, 34, 35, 36, 37, 38, 40, 41, 19, 20, 22, 27, 30, 31], "/home/ms/Project/kiwi-horizon/kiwi/bootloader/template/zipl.py": [65, 67, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 18, 19, 22, 25, 26, 27, 44, 47, 49, 57], "/home/ms/Project/kiwi-horizon/kiwi/bootloader/install/__init__.py": [32, 33, 34, 36, 37, 38, 41, 42, 19, 20, 22, 27, 30, 31], "/home/ms/Project/kiwi-horizon/kiwi/boot/image/kiwi.py": [129, 130, 131, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 32, 38, 39, 43, 44, 46, 48, 49, 50, 51, 52, 54, 55, 56, 58, 59, 62, 63, 65, 66, 68, 69, 70, 71, 73, 74, 75, 76, 78, 80, 81, 84, 85, 87, 88, 89, 97, 98, 99, 100, 102, 103, 105, 106, 107, 108, 109, 111, 112, 113, 115, 120, 122, 123, 124, 126, 127], "/home/ms/Project/kiwi-horizon/kiwi/builder/disk.py": [18, 19, 20, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 49, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 74, 75, 76, 77, 78, 80, 81, 83, 84, 86, 87, 89, 91, 92, 93, 94, 95, 98, 99, 100, 105, 110, 114, 117, 119, 120, 121, 122, 123, 127, 130, 131, 134, 137, 138, 139, 141, 143, 144, 148, 149, 150, 154, 157, 158, 159, 160, 163, 164, 165, 166, 168, 171, 174, 175, 177, 179, 181, 183, 185, 186, 187, 188, 190, 191, 193, 194, 196, 197, 199, 200, 201, 203, 204, 205, 206, 208, 209, 211, 214, 215, 218, 220, 222, 224, 225, 229, 231, 234, 237, 239, 241, 242, 246, 247, 248, 249, 251, 252, 253, 254, 257, 258, 259, 263, 264, 266, 267, 268, 269, 270, 271, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 289, 290, 291, 292, 293, 294, 295, 296, 297, 301, 302, 303, 304, 305, 307, 308, 309, 310, 311, 313, 314, 315, 319, 320, 321, 322, 324, 325, 326, 328, 329, 330, 331, 333, 334, 335, 338, 340, 341, 342, 344, 346, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 359, 360, 362, 363, 364, 365, 366, 368, 369, 371, 372, 374, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 388, 389, 391, 392, 394, 396, 397, 398, 399, 400, 401, 404, 405, 406, 407, 410, 411, 412, 413, 416, 417, 418, 419, 422, 423, 424, 426, 427, 428, 431, 432, 434, 435, 436, 438, 439, 440, 442, 443, 445, 446, 447, 448, 449, 450, 451, 453, 454, 455, 456, 457, 460, 461, 462, 463, 464, 467, 468, 469, 470, 473, 474, 475, 476, 478, 479, 483, 484, 485, 486, 487, 488, 490, 491, 492, 493, 495, 496, 498, 499, 500, 501, 502, 504, 506, 507, 510, 511, 514, 515, 517, 518, 519, 520, 521, 523, 524, 525, 526, 529, 530, 531, 532, 535, 536, 537, 538, 541, 542, 543, 545, 546, 547, 549, 551, 552, 555, 556, 557, 558, 560, 561, 562, 565, 566, 567, 568, 569, 572, 573, 574, 577, 578, 580, 581, 585, 586, 587, 589, 590, 592, 593, 594, 595, 596, 598, 601, 602, 603, 606, 607, 608], "/home/ms/Project/kiwi-horizon/kiwi/repository/yum.py": [18, 19, 20, 23, 24, 27, 30, 31, 32, 33, 34, 36, 43, 45, 46, 47, 50, 51, 55, 56, 58, 61, 62, 64, 65, 67, 68, 70, 71, 73, 74, 76, 77, 79, 80, 82, 83, 85, 86, 88, 89, 91, 92, 94, 95, 98, 100, 101, 102, 103, 106, 107, 108, 109, 111, 112, 114, 115, 116, 117, 118, 119, 121, 122, 124, 125, 126, 128, 129, 131, 132, 133, 136, 137, 138, 140, 144, 145, 146, 147, 148, 149, 151, 152, 153, 154, 155, 158, 159, 160], "/home/ms/Project/kiwi-horizon/kiwi/tasks/system_prepare.py": [128, 130, 131, 132, 133, 134, 135, 136, 137, 138, 140, 141, 144, 145, 146, 148, 149, 52, 53, 56, 57, 58, 59, 60, 61, 62, 63, 66, 69, 70, 71, 72, 73, 75, 77, 78, 81, 83, 84, 85, 88, 89, 91, 92, 93, 96, 99, 101, 104, 106, 107, 108, 109, 110, 112, 113, 114, 115, 118, 120, 121, 123, 124, 125, 126], "/home/ms/Project/kiwi-horizon/kiwi/filesystem/clicfs.py": [66, 67, 68, 69, 71, 72, 73, 74, 19, 22, 23, 24, 25, 26, 27, 28, 31, 34, 35, 36, 37, 39, 42, 43, 44, 45, 46, 48, 49, 50, 52, 53, 54, 55, 60, 62, 63], "/home/ms/Project/kiwi-horizon/kiwi/archive/tar.py": [18, 21, 24, 27, 28, 29, 30, 31, 33, 34, 35, 36, 41, 44, 45, 46, 47, 52, 55, 56, 58, 59, 60, 63, 64, 65, 68, 69, 70, 71, 74, 77, 79, 80, 81, 82, 84, 85, 86, 87, 88, 90, 92, 93, 94, 95, 96, 97], "/home/ms/Project/kiwi-horizon/kiwi/partitioner/__init__.py": [18, 21, 22, 23, 25, 30, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 53, 54, 55], "/home/ms/Project/kiwi-horizon/kiwi/package_manager/__init__.py": [32, 34, 35, 36, 37, 39, 40, 41, 44, 45, 47, 19, 20, 22, 27, 30, 31], "/home/ms/Project/kiwi-horizon/kiwi/system/shell.py": [54, 39, 40, 41, 42, 44, 50, 61, 18, 51, 52, 21, 22, 56, 25, 58, 59, 28, 29, 53], "/home/ms/Project/kiwi-horizon/kiwi/data/compress.py": [18, 19, 22, 24, 30, 33, 34, 35, 36, 37, 39, 40, 42, 44, 45, 47, 49, 50, 52, 53, 54, 55, 57, 59, 61, 63, 64, 65, 66, 68, 70, 71, 72, 73, 74, 75, 77, 78, 79, 81, 83, 84, 86, 87, 89, 90, 91, 92, 93, 94, 95], "/home/ms/Project/kiwi-horizon/kiwi/tasks/system_update.py": [65, 66, 67, 68, 69, 71, 72, 73, 74, 75, 77, 79, 80, 82, 83, 84, 86, 87, 88, 91, 92, 93, 95, 96, 40, 42, 43, 44, 45, 47, 50, 53, 54, 55, 56, 57, 59, 61, 62], "/home/ms/Project/kiwi-horizon/kiwi/bootloader/template/__init__.py": [1], "/home/ms/Project/kiwi-horizon/kiwi/filesystem/ext2.py": [32, 33, 19, 20, 23, 26, 27, 28, 29, 30, 31], "/home/ms/Project/kiwi-horizon/kiwi/storage/subformat/vmdk.py": [18, 19, 22, 23, 24, 26, 31, 34, 35, 36, 38, 39, 43, 44, 47, 49, 59, 60, 61, 62, 64, 65, 67, 68, 69, 70, 71, 72, 73, 75, 76, 78, 79, 81, 82, 83, 84, 86, 87, 89, 90, 91, 92, 94, 95, 96, 98, 99, 100, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 113, 115, 118, 119, 121, 122], "/home/ms/Project/kiwi-horizon/kiwi/storage/subformat/vhdfixed.py": [128, 129, 132, 133, 134, 135, 18, 19, 20, 21, 24, 25, 27, 32, 35, 36, 38, 40, 41, 42, 43, 44, 45, 47, 48, 49, 51, 52, 56, 57, 60, 61, 63, 68, 69, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 83, 85, 86, 87, 91, 92, 95, 96, 99, 100, 103, 105, 107, 108, 110, 122, 123, 125, 126, 127], "/home/ms/Project/kiwi-horizon/kiwi/command_process.py": [19, 20, 22, 27, 31, 32, 33, 34, 35, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 49, 50, 51, 52, 53, 54, 55, 56, 57, 59, 60, 61, 62, 63, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 78, 79, 80, 82, 83, 84, 85, 86, 87, 90, 95, 96, 97, 99, 100, 101, 104, 105, 106, 109, 112, 113, 114, 115, 116, 117, 118, 119, 122, 123, 124, 125, 127, 130, 131, 132, 133, 134, 135, 136, 138, 139, 140, 141, 142, 144, 145, 146, 147, 148, 149, 150, 152, 154, 155, 156, 157, 159, 161, 163, 164, 166, 167, 169, 170, 172, 173, 175, 176], "/home/ms/Project/kiwi-horizon/kiwi/firmware.py": [18, 21, 23, 28, 33, 34, 35, 36, 37, 39, 40, 41, 44, 45, 46, 47, 48, 49, 52, 53, 54, 55, 56, 57, 59, 60, 61, 62, 64, 65, 66, 68, 70, 71, 72, 74, 76, 77, 78, 80, 81, 82, 84, 85, 86, 88, 90, 91, 92, 94, 96, 97, 98, 100, 102, 103, 104, 106, 108, 109, 110, 112, 114, 115, 116, 118], "/home/ms/Project/kiwi-horizon/kiwi/bootloader/config/zipl.py": [19, 20, 23, 24, 25, 26, 27, 28, 30, 38, 41, 42, 43, 44, 45, 46, 48, 49, 52, 53, 54, 57, 58, 59, 60, 61, 63, 64, 65, 66, 67, 68, 70, 71, 73, 77, 78, 79, 80, 81, 82, 83, 85, 86, 88, 89, 90, 91, 96, 97, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 119, 120, 121, 122, 123, 124, 125, 128, 130, 132, 133, 135, 136, 137, 138, 139, 140, 143, 144, 145, 146, 149, 150, 151, 153, 154, 156, 157, 159, 160, 161, 162, 163, 164, 166, 168, 169, 170, 172, 173, 174, 175, 176, 178, 179, 181, 182, 183, 185, 186, 187, 188, 190, 191, 192, 194, 195, 196, 197, 199, 200, 202, 203, 204, 205, 206, 208, 209, 210, 211, 212, 213], "/home/ms/Project/kiwi-horizon/kiwi/data/checksum.py": [18, 19, 20, 23, 24, 26, 31, 34, 35, 36, 37, 38, 40, 41, 43, 44, 45, 47, 48, 49, 51, 53, 54, 55, 57, 58, 59, 61, 63, 64, 65, 66, 67, 68, 70, 71, 72, 75, 76, 78, 79, 80, 81, 82, 83, 87, 88, 89, 93, 94, 95, 96, 97, 98, 100, 101, 102, 103, 104, 105, 106, 107, 108, 110, 111, 112, 115, 116, 117, 118], "/home/ms/Project/kiwi-horizon/kiwi/iso.py": [18, 19, 20, 21, 22, 23, 24, 27, 28, 29, 35, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 52, 54, 56, 57, 58, 59, 60, 64, 66, 67, 68, 69, 70, 71, 73, 74, 76, 77, 78, 79, 80, 81, 82, 84, 85, 86, 87, 88, 89, 91, 92, 93, 94, 95, 96, 97, 99, 100, 102, 103, 105, 106, 107, 108, 111, 113, 114, 115, 116, 117, 119, 120, 121, 122, 123, 125, 126, 127, 128, 129, 131, 132, 134, 135, 136, 137, 138, 140, 141, 142, 143, 144, 145, 146, 148, 149, 151, 152, 153, 154, 155, 157, 158, 159, 161, 163, 173, 174, 175, 176, 177, 178, 179, 180, 182, 183, 184, 185, 186, 187, 188, 189, 191, 192, 194, 196, 197, 200, 202, 203, 204, 205, 206, 207, 210, 211, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 233, 234, 235, 236, 237, 238, 239, 240, 242, 243, 245, 247, 248, 249, 251, 252, 254, 255, 256, 257, 259, 260, 261, 262, 263, 264, 265, 266, 267, 269, 270, 273, 275, 277, 278, 279, 280, 282, 283, 284, 285, 286, 287, 289, 290, 291, 293, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 307, 308, 309, 310, 312, 313, 314, 316, 321, 322, 324, 325, 330, 331, 333, 334, 335, 336, 338, 340, 342, 343, 344, 345, 346, 347, 348, 349, 350, 353, 355, 356, 357, 358, 360, 361, 362, 363, 365, 366, 367, 368, 370, 371, 372, 373, 375, 376, 377, 378, 381, 383, 384, 386, 388, 389, 391, 392, 393, 395, 397, 398, 399], "/home/ms/Project/kiwi-horizon/kiwi/system/root_bind.py": [18, 21, 22, 23, 24, 26, 33, 37, 38, 39, 40, 41, 42, 46, 47, 48, 52, 53, 54, 55, 58, 60, 61, 62, 63, 64, 65, 67, 68, 69, 70, 71, 72, 75, 76, 77, 78, 79, 80, 81, 83, 84, 85, 86, 87, 88, 89, 92, 93, 94, 95, 96, 97, 98, 100, 101, 102, 104, 105, 106, 107, 110, 111, 112, 113, 114, 115, 117, 119, 120, 121, 122, 124, 126, 128, 129, 131, 136, 137, 138, 140, 141, 142, 143, 144, 147, 148, 149, 150, 151, 152, 153, 154, 155, 158, 160, 162, 163, 164, 165, 166, 167, 168, 170], "/home/ms/Project/kiwi-horizon/kiwi/tasks/base.py": [18, 19, 20, 23, 24, 25, 27, 32, 36, 37, 38, 40, 43, 46, 49, 52, 54, 56, 57, 59, 62, 63, 64, 67, 68, 70, 71, 72, 74, 75, 77, 78, 79, 80, 82, 83, 84, 87, 88, 90, 91, 92, 93, 94, 95, 98, 99, 100, 101, 102, 104, 105, 106, 107, 110, 111, 112], "/home/ms/Project/kiwi-horizon/kiwi/system/root_init.py": [128, 129, 18, 19, 20, 23, 24, 25, 27, 33, 38, 39, 40, 41, 42, 44, 46, 47, 49, 50, 51, 52, 54, 55, 56, 57, 58, 59, 61, 62, 63, 65, 66, 68, 69, 71, 72, 74, 75, 77, 78, 80, 81, 83, 84, 86, 87, 89, 90, 92, 93, 95, 96, 98, 99, 102, 103, 104, 105, 106, 108, 109, 110, 111, 113, 114, 115, 116, 117, 120, 121, 122, 123, 124, 125, 126, 127], "/home/ms/Project/kiwi-horizon/kiwi/defaults.py": [18, 19, 20, 21, 22, 25, 28, 29, 30, 32, 34, 36, 38, 40, 42, 44, 47, 48, 49, 50, 53, 55, 56, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 77, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 107, 109, 110, 111, 112, 113, 115, 117, 119, 120, 121, 122, 123, 124, 125, 126, 128, 130, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 156, 158, 160, 162, 164, 166, 168, 170, 172, 174, 176, 178, 180, 182, 184, 186, 188, 190, 192, 194, 196, 198, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 217, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 235, 236, 238, 240, 242, 244, 246, 248, 250, 252, 254, 256, 258, 260, 262, 265, 266, 269, 271, 272, 273, 276, 278, 279, 280, 283, 285, 287, 289, 291, 293, 295, 297, 299, 301, 303, 305, 307, 309, 311, 313, 315, 317, 319, 321, 323, 324, 325, 327, 328, 329, 331, 332, 333, 334], "/home/ms/Project/kiwi-horizon/kiwi/system/uri.py": [128, 129, 131, 137, 138, 141, 142, 143, 18, 19, 20, 21, 24, 26, 32, 36, 37, 38, 39, 40, 42, 43, 44, 45, 46, 47, 49, 50, 51, 52, 55, 56, 57, 58, 59, 62, 63, 64, 66, 67, 68, 70, 71, 72, 74, 75, 76, 77, 78, 79, 80, 82, 83, 85, 86, 89, 90, 92, 93, 94, 95, 96, 98, 99, 101, 102, 104, 105, 108, 109, 110, 112, 113, 114, 116, 117, 119, 120, 121, 123, 124, 125, 127], "/home/ms/Project/kiwi-horizon/kiwi/bootloader/install/grub2.py": [18, 21, 22, 23, 24, 25, 27, 33, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 52, 53, 55, 56, 57, 59, 60, 61, 64, 65, 66, 67, 68, 69, 70, 71, 72, 74, 75, 76, 77, 79, 80, 83, 84, 86, 87, 88, 90, 92, 96, 98, 99, 100, 101, 102, 103, 105, 106, 107, 108, 109, 111, 112, 113, 114, 115, 116, 117, 121, 122, 123, 124, 126, 127, 128, 130, 131, 132, 134, 135, 136, 138, 139, 140, 141, 149, 151, 152, 153, 156, 158, 159, 160, 163, 165, 166, 167, 171, 173, 174, 175, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192], "/home/ms/Project/kiwi-horizon/kiwi/boot/image/dracut.py": [18, 21, 22, 23, 24, 25, 26, 29, 35, 36, 40, 41, 43, 44, 45, 46, 47, 49, 50, 51, 53, 54, 57, 58, 59, 60, 61, 62, 64, 65, 66, 67, 68, 69, 70, 73, 75, 76, 77, 79, 82, 83, 85, 86, 87], "/home/ms/Project/kiwi-horizon/kiwi/xml_state.py": [18, 19, 20, 21, 24, 25, 27, 35, 38, 39, 40, 41, 42, 43, 45, 46, 49, 53, 54, 57, 58, 59, 62, 66, 68, 72, 73, 74, 75, 77, 81, 82, 83, 84, 86, 90, 91, 92, 94, 95, 96, 97, 98, 100, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 117, 118, 120, 124, 125, 126, 128, 129, 131, 132, 133, 134, 136, 140, 142, 146, 147, 148, 149, 151, 152, 153, 154, 156, 160, 161, 162, 164, 165, 167, 168, 169, 170, 172, 176, 177, 178, 179, 180, 181, 182, 183, 184, 186, 190, 191, 192, 194, 195, 196, 197, 199, 205, 206, 208, 209, 210, 211, 212, 213, 214, 216, 217, 219, 220, 222, 226, 227, 228, 230, 231, 232, 233, 235, 239, 241, 245, 247, 251, 252, 253, 255, 256, 257, 258, 260, 264, 266, 270, 272, 276, 277, 278, 280, 284, 285, 286, 288, 292, 293, 294, 296, 300, 301, 302, 303, 304, 306, 310, 311, 312, 314, 319, 320, 321, 322, 323, 324, 325, 326, 327, 329, 330, 333, 337, 338, 339, 340, 341, 342, 343, 345, 346, 347, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 362, 364, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 396, 397, 398, 399, 401, 409, 410, 411, 412, 414, 422, 423, 424, 425, 427, 432, 433, 434, 437, 438, 439, 441, 442, 443, 446, 447, 450, 451, 452, 453, 455, 456, 457, 458, 459, 460, 461, 464, 467, 468, 469, 471, 473, 474, 475, 476, 477, 478, 479, 480, 481, 484, 486, 491, 492, 493, 494, 495, 497, 498, 500, 501, 503, 508, 509, 511, 515, 516, 518, 519, 520, 521, 522, 523, 525, 530, 531, 533, 534, 535, 536, 537, 538, 539, 541, 545, 547, 551, 553, 557, 559, 563, 564, 567, 573, 574, 575, 576, 577, 580, 586, 587, 588, 589, 590, 593, 597, 598, 599, 600, 601, 602, 603, 604, 605, 607, 611, 612, 613, 614, 615, 616, 620, 621, 622, 623, 625, 626, 627, 630, 631, 632, 634, 635, 636, 638, 639, 640, 641, 642, 645, 646, 647, 649, 650, 651, 653, 654, 655, 656, 657, 660, 661, 662, 663, 664, 667, 668, 669, 671, 672, 673, 674, 675, 678, 679, 681, 682, 683, 684, 685, 686, 687, 688, 690, 691, 692, 693, 695, 697, 698, 699, 700, 702, 703, 704, 705, 707, 709, 716, 717, 719, 720, 721, 722, 724, 725, 727, 728, 729, 730, 731, 732, 735, 736, 738, 739, 741, 742, 744, 745, 746, 747, 749, 755, 756, 758, 759, 760, 762, 763, 764, 765, 766, 767, 768, 769, 773, 778, 779, 781, 783, 784, 785, 787, 788, 790, 791, 792, 793, 794, 795, 799, 800, 801, 802, 803, 805, 806, 807, 809, 810, 811, 812, 814, 816, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 837, 838, 839, 840, 842, 844, 849, 850, 851, 854, 855, 856, 857, 858, 859, 863, 864, 865, 868, 869, 871, 878, 879, 880, 881, 882, 883, 884, 885, 887, 888, 890, 894, 895, 896, 897, 899, 900, 901, 902, 903, 904, 905, 907, 909], "/home/ms/Project/kiwi-horizon/kiwi/storage/loop_device.py": [64, 65, 66, 67, 68, 69, 70, 71, 18, 21, 22, 23, 25, 30, 33, 34, 35, 36, 37, 38, 40, 41, 42, 44, 45, 47, 48, 50, 51, 52, 53, 55, 56, 57, 58, 59, 60, 62], "/home/ms/Project/kiwi-horizon/kiwi/storage/subformat/base.py": [18, 19, 20, 22, 26, 27, 28, 31, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 46, 48, 50, 51, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 64, 65, 66, 67, 68, 70, 72, 73, 74, 75, 76, 80, 81, 82, 83], "/home/ms/Project/kiwi-horizon/kiwi/boot/image/base.py": [18, 19, 20, 23, 24, 25, 26, 27, 29, 35, 38, 39, 40, 41, 42, 43, 44, 46, 47, 48, 49, 52, 53, 54, 57, 59, 60, 61, 62, 63, 67, 72, 74, 78, 80, 81, 83, 84, 85, 86, 87, 88, 89, 90, 92, 93, 96, 97, 98, 99, 100, 101, 103, 104, 106, 107, 108, 109, 110, 112, 113, 114, 115, 118, 119, 120, 122, 123, 125, 126, 127, 129, 130, 132, 133, 135, 136, 137, 140, 141, 142, 143, 144, 145, 147, 148, 150, 151, 153, 154, 156, 157, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 179, 180, 182, 183, 185, 186, 188, 189, 192, 193, 194, 195, 197, 198, 199, 201, 202, 204, 205, 207, 208, 209, 210], "/home/ms/Project/kiwi-horizon/kiwi/filesystem/squashfs.py": [19, 20, 23, 26, 27, 30, 31], "/home/ms/Project/kiwi-horizon/kiwi/tasks/result_list.py": [64, 65, 30, 31, 34, 35, 36, 37, 40, 43, 44, 45, 46, 47, 49, 50, 52, 53, 55, 56, 58, 60, 61, 62], "/home/ms/Project/kiwi-horizon/kiwi/logger.py": [18, 19, 22, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 47, 48, 49, 52, 62, 63, 64, 66, 73, 74, 75, 77, 80, 81, 83, 85, 86, 87, 88, 89, 92, 93, 97, 98, 100, 103, 104, 107, 108, 111, 112, 115, 116, 119, 120, 123, 124, 127, 128, 131, 132, 135, 138, 139, 140, 141, 143, 144, 145, 148, 149, 150, 153, 154, 155, 158, 159, 160, 161, 163, 165, 166, 168, 172, 173, 174, 176, 177, 178, 179, 180, 182, 183, 184, 185, 186, 189, 196, 197, 198, 202, 203, 204, 205, 206, 208, 209, 210, 213, 215, 216, 217, 219, 220, 221, 222, 225, 227, 228, 234], "/home/ms/Project/kiwi-horizon/kiwi/data/__init__.py": [1], "/home/ms/Project/kiwi-horizon/kiwi/archive/cpio.py": [19, 22, 25, 26, 27, 29, 30, 31, 33, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 46, 47, 48, 51, 53, 54, 55, 57, 58], "/home/ms/Project/kiwi-horizon/kiwi/volume_manager/__init__.py": [32, 34, 35, 36, 38, 39, 40, 43, 44, 19, 20, 22, 27, 30], "/home/ms/Project/kiwi-horizon/kiwi/privileges.py": [32, 33, 18, 35, 20, 25, 28, 29, 31], "/home/ms/Project/kiwi-horizon/kiwi/container/setup/base.py": [129, 171, 150, 139, 140, 141, 142, 144, 145, 18, 19, 149, 22, 23, 152, 25, 154, 155, 157, 30, 160, 161, 162, 163, 36, 37, 38, 39, 40, 42, 43, 44, 46, 125, 48, 49, 51, 158, 55, 57, 146, 62, 63, 65, 118, 70, 71, 72, 73, 74, 75, 76, 80, 120, 87, 88, 164, 90, 91, 92, 165, 96, 166, 102, 103, 104, 105, 106, 167, 108, 109, 110, 111, 168, 114, 89, 119, 153, 121, 122, 123, 124, 170], "/home/ms/Project/kiwi-horizon/kiwi/volume_manager/lvm.py": [19, 20, 21, 22, 23, 24, 25, 27, 32, 35, 36, 37, 38, 40, 41, 42, 43, 44, 46, 48, 53, 54, 55, 59, 60, 61, 63, 65, 66, 67, 68, 69, 71, 72, 74, 75, 76, 78, 79, 80, 82, 83, 84, 86, 88, 89, 90, 91, 92, 93, 94, 95, 96, 98, 99, 101, 103, 104, 107, 108, 109, 111, 112, 115, 116, 117, 118, 120, 121, 124, 125, 126, 128, 129, 132, 133, 134, 135, 137, 138, 139, 140, 141, 142, 143, 145, 146, 147, 148, 149, 150, 151, 152, 154, 155, 158, 159, 160, 162, 163, 164, 165, 169, 170, 171, 172, 176, 177, 178, 181, 182, 183, 185, 186, 187, 188, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199], "/home/ms/Project/kiwi-horizon/kiwi/repository/zypper.py": [18, 19, 20, 23, 24, 25, 27, 32, 35, 36, 37, 38, 39, 41, 49, 51, 52, 53, 54, 55, 56, 59, 60, 62, 63, 67, 68, 69, 70, 71, 72, 73, 74, 76, 79, 80, 83, 84, 85, 86, 88, 89, 91, 92, 94, 95, 98, 100, 101, 102, 103, 106, 107, 108, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 122, 124, 125, 126, 127, 128, 130, 133, 134, 135, 136, 138, 141, 142, 143, 145, 150, 151, 156, 157, 158, 159, 160, 161, 163, 164, 165, 166, 167, 168, 169, 172, 173, 174, 175, 176, 178, 183, 184, 185, 186, 188, 189, 190, 191, 192], "/home/ms/Project/kiwi-horizon/kiwi/bootloader/config/__init__.py": [32, 33, 34, 35, 37, 38, 39, 41, 42, 43, 46, 47, 19, 20, 21, 23, 28, 31], "/home/ms/Project/kiwi-horizon/kiwi/path.py": [64, 67, 73, 74, 18, 21, 24, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 45, 46, 47, 49, 51, 52, 55, 57, 58, 61, 63], "/home/ms/Project/kiwi-horizon/kiwi/partitioner/gpt.py": [64, 65, 67, 68, 69, 70, 72, 73, 75, 76, 77, 81, 19, 20, 22, 27, 30, 31, 32, 33, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 53, 54, 56, 57, 58, 59, 62, 63], "/home/ms/Project/kiwi-horizon/kiwi/repository/base.py": [32, 34, 35, 37, 38, 40, 41, 43, 44, 46, 47, 20, 23, 24, 25, 26, 27, 29, 31], "/home/ms/Project/kiwi-horizon/kiwi/tasks/__init__.py": [1], "/home/ms/Project/kiwi-horizon/kiwi/bootloader/template/isolinux.py": [128, 22, 135, 139, 140, 141, 143, 144, 145, 18, 19, 148, 150, 25, 26, 27, 156, 157, 133, 160, 48, 162, 155, 164, 38, 193, 171, 172, 174, 175, 176, 177, 178, 179, 181, 57, 186, 187, 188, 61, 190, 191, 192, 65, 194, 195, 70, 161, 76, 82, 163, 88, 159, 94, 100, 166, 106, 146, 112, 147, 118, 120, 170, 126], "/home/ms/Project/kiwi-horizon/kiwi/version.py": [20, 21, 22], "/home/ms/Project/kiwi-horizon/kiwi/filesystem/isofs.py": [51, 34, 35, 36, 37, 40, 41, 44, 45, 56, 50, 19, 20, 21, 54, 55, 24, 27, 28, 29, 31], "/home/ms/Project/kiwi-horizon/kiwi/filesystem/btrfs.py": [32, 33, 19, 20, 23, 26, 27, 28, 29, 30, 31], "/home/ms/Project/kiwi-horizon/kiwi/filesystem/ext3.py": [32, 33, 19, 20, 23, 26, 27, 28, 29, 30, 31], "/home/ms/Project/kiwi-horizon/kiwi/bootloader/install/base.py": [32, 33, 35, 20, 23, 24, 25, 26, 39, 28, 30], "/home/ms/Project/kiwi-horizon/kiwi/system/users.py": [18, 21, 24, 25, 26, 28, 29, 31, 32, 34, 35, 36, 39, 40, 41, 44, 45, 46, 49, 50, 51, 52, 55, 56, 57, 58, 59, 61, 62, 63], "/home/ms/Project/kiwi-horizon/kiwi/builder/archive.py": [18, 21, 22, 23, 24, 25, 26, 28, 33, 36, 37, 38, 39, 40, 41, 42, 43, 44, 46, 47, 49, 50, 51, 52, 53, 56, 57, 58, 59, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 72, 73, 74, 75, 77, 78, 79, 80, 82, 83, 84, 86, 87, 88, 89, 91, 92, 93, 95, 97, 98, 100, 101, 102, 103, 104], "/home/ms/Project/kiwi-horizon/kiwi/bootloader/config/base.py": [256, 257, 259, 260, 261, 19, 20, 21, 22, 24, 29, 32, 33, 34, 35, 37, 39, 40, 42, 47, 49, 57, 59, 68, 70, 79, 81, 88, 90, 95, 97, 102, 104, 105, 106, 107, 109, 110, 111, 112, 113, 114, 115, 117, 118, 119, 120, 121, 123, 124, 125, 126, 128, 129, 130, 131, 133, 134, 135, 136, 137, 138, 139, 140, 141, 143, 144, 145, 146, 147, 148, 149, 150, 152, 153, 154, 155, 157, 158, 159, 160, 161, 162, 166, 168, 169, 170, 171, 172, 174, 175, 176, 177, 178, 179, 184, 185, 187, 189, 191, 196, 197, 198, 199, 201, 202, 203, 204, 205, 206, 207, 208, 210, 211, 212, 213, 214, 216, 217, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 232, 233, 234, 235, 236, 237, 238, 240, 242, 243, 248, 250, 253, 255], "/home/ms/Project/kiwi-horizon/kiwi/container/__init__.py": [32, 35, 34, 19, 21, 26, 29, 30, 31], "/home/ms/Project/kiwi-horizon/kiwi/help.py": [18, 20, 23, 26, 27, 28, 29, 30], "/home/ms/Project/kiwi-horizon/kiwi/container/setup/docker.py": [20, 21, 24, 27, 28, 29, 30, 32, 33, 36, 37, 38, 39, 40, 43, 44, 45, 46, 47, 48, 49, 51, 52, 54, 55, 56, 57, 58, 60, 61, 62, 65, 66, 69, 71, 72, 73, 74, 75, 76, 80, 82, 83, 85, 86, 87, 88, 90, 91, 92, 93, 95, 97, 98, 100, 101, 103, 104, 105, 106, 108, 109, 110, 111, 113], "/home/ms/Project/kiwi-horizon/kiwi/command.py": [18, 19, 20, 21, 24, 27, 30, 31, 32, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 52, 53, 54, 56, 57, 58, 59, 60, 61, 62, 63, 64, 66, 67, 68, 71, 72, 74, 75, 76, 77, 80, 81, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 118, 119, 120, 123, 124, 125, 126, 128, 129, 130, 131, 132, 134, 135, 136, 137, 139, 140, 141, 142, 143, 145, 146, 147, 148, 149, 152, 153, 154, 155, 156, 157], "/home/ms/Project/kiwi-horizon/kiwi/storage/subformat/gce.py": [64, 66, 67, 70, 76, 77, 78, 45, 80, 81, 82, 83, 22, 23, 24, 27, 30, 31, 32, 33, 34, 35, 36, 37, 39, 40, 41, 43, 18, 46, 49, 50, 19, 52, 53, 54, 56, 60, 62, 63], "/home/ms/Project/kiwi-horizon/kiwi/system/profile.py": [256, 258, 43, 260, 262, 264, 266, 343, 268, 270, 272, 18, 19, 276, 278, 23, 280, 282, 284, 286, 31, 32, 33, 34, 36, 37, 38, 39, 40, 41, 298, 299, 44, 45, 302, 47, 304, 305, 50, 51, 308, 54, 55, 56, 313, 58, 59, 316, 317, 319, 321, 322, 324, 330, 331, 332, 333, 335, 337, 342, 57, 89, 90, 92, 94, 96, 98, 100, 102, 104, 106, 108, 274, 110, 61, 112, 114, 116, 118, 345, 120, 217, 63, 124, 126, 128, 130, 294, 132, 22, 134, 136, 138, 140, 142, 144, 145, 148, 150, 151, 152, 154, 52, 26, 158, 159, 161, 162, 164, 165, 48, 168, 174, 175, 176, 177, 179, 180, 181, 182, 183, 184, 185, 186, 187, 189, 192, 288, 194, 196, 199, 201, 290, 210, 211, 213, 214, 216, 292, 219, 220, 122, 222, 223, 225, 226, 228, 229, 231, 232, 234, 236, 296, 42], "/home/ms/Project/kiwi-horizon/kiwi/container/setup/__init__.py": [32, 35, 34, 19, 21, 26, 29, 30, 31], "/home/ms/Project/kiwi-horizon/kiwi/mount_manager.py": [18, 19, 22, 23, 24, 27, 34, 35, 36, 37, 38, 40, 42, 43, 44, 45, 48, 49, 50, 51, 52, 53, 54, 57, 58, 59, 60, 61, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 76, 77, 78, 79, 82, 84, 85, 87, 89, 90, 91, 92, 94, 95, 97], "/home/ms/Project/kiwi-horizon/kiwi/exceptions.py": [20, 24, 25, 26, 28, 29, 32, 33, 36, 37, 40, 41, 44, 45, 48, 49, 52, 53, 56, 57, 60, 61, 64, 65, 68, 69, 72, 73, 76, 77, 80, 81, 84, 85, 88, 89, 92, 93, 96, 97, 100, 101, 104, 105, 108, 109, 112, 113, 116, 117, 120, 121, 124, 125, 128, 129, 132, 133, 136, 137, 140, 141, 144, 145, 148, 149, 152, 153, 156, 157, 160, 161, 164, 165, 168, 169, 172, 173, 176, 177, 180, 181, 184, 185, 188, 189, 192, 193, 196, 197, 200, 201, 204, 205, 208, 209, 212, 213, 216, 217, 220, 221, 224, 225, 228, 229, 232, 233, 236, 237, 240, 241, 244, 245, 248, 249, 252, 253, 256, 257, 260, 261, 264, 265, 268, 269, 272, 273, 276, 277, 280, 281, 284, 285, 288, 289, 292, 293, 296, 297, 300, 301, 304, 305, 308, 309, 312, 313, 316, 317, 320, 321, 324, 325, 328, 329, 332, 333, 336, 337, 340, 341, 344, 345, 348, 349, 352, 353, 356, 357, 360, 361, 364, 365, 368, 369], "/home/ms/Project/kiwi-horizon/kiwi/bootloader/install/zipl.py": [64, 65, 66, 19, 20, 21, 22, 24, 29, 32, 33, 34, 35, 36, 37, 40, 41, 44, 48, 50, 52, 54, 55, 56, 59, 60, 62], "/home/ms/Project/kiwi-horizon/kiwi/filesystem/ext4.py": [32, 33, 19, 20, 23, 26, 27, 28, 29, 30, 31], "/home/ms/Project/kiwi-horizon/kiwi/system/prepare.py": [18, 21, 22, 23, 24, 25, 26, 27, 29, 31, 40, 43, 45, 50, 51, 52, 54, 55, 56, 58, 59, 60, 62, 63, 64, 70, 72, 77, 78, 79, 80, 82, 83, 84, 85, 86, 87, 88, 89, 90, 92, 93, 94, 95, 96, 97, 99, 100, 102, 103, 104, 106, 108, 109, 111, 112, 114, 115, 116, 117, 120, 125, 126, 127, 128, 130, 131, 132, 133, 134, 136, 137, 138, 139, 140, 141, 142, 144, 145, 146, 148, 149, 150, 151, 152, 155, 156, 157, 159, 161, 162, 163, 164, 165, 166, 169, 176, 177, 178, 180, 181, 182, 183, 184, 185, 187, 188, 189, 190, 191, 192, 193, 195, 196, 197, 199, 200, 201, 202, 203, 206, 207, 208, 211, 212, 213, 214, 215, 216, 219, 224, 225, 226, 227, 228, 229, 230, 231, 234, 239, 240, 241, 243, 244, 245, 247, 248, 249, 250, 251, 254, 255, 256, 259, 264, 265, 266, 268, 269, 270, 271, 273, 274, 275, 276, 277, 280, 281, 282, 285, 291, 292, 293, 295, 296, 297, 298, 299, 302, 303, 304, 305, 306, 307, 309, 312, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 328, 329, 331, 332, 333, 334, 335, 336], "/home/ms/Project/kiwi-horizon/kiwi/builder/install.py": [18, 19, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 35, 40, 43, 44, 45, 46, 47, 48, 49, 51, 52, 53, 54, 55, 58, 60, 61, 62, 63, 64, 67, 69, 70, 71, 72, 73, 76, 77, 79, 80, 83, 84, 86, 87, 88, 89, 91, 96, 97, 101, 102, 106, 107, 108, 110, 111, 114, 117, 118, 120, 121, 124, 126, 129, 130, 132, 133, 134, 138, 139, 140, 142, 143, 144, 146, 147, 149, 152, 153, 155, 156, 157, 159, 160, 162, 165, 166, 169, 170, 171, 172, 173, 175, 178, 179, 182, 192, 193, 196, 197, 199, 200, 203, 204, 205, 207, 208, 209, 213, 214, 216, 217, 220, 221, 225, 227, 228, 231, 232, 233, 234, 235, 236, 239, 240, 243, 244, 245, 247, 248, 251, 252, 253, 254, 256, 257, 258, 260, 261, 262, 264, 265, 266, 268, 269, 271, 272, 276, 277, 278, 279, 280, 281, 283, 284, 285, 287, 288, 289, 291, 292, 293, 295, 296, 298, 299, 303, 305, 306, 307, 308, 309, 310, 312, 313, 314, 315, 316, 317, 318, 319], "/home/ms/Project/kiwi-horizon/kiwi/system/identifier.py": [18, 19, 22, 26, 27, 28, 30, 31, 33, 34, 35, 38, 39, 40, 42, 43, 44, 45, 46, 47, 49, 50], "/home/ms/Project/kiwi-horizon/kiwi/system/size.py": [65, 19, 20, 23, 26, 27, 28, 30, 34, 35, 36, 38, 39, 40, 41, 42, 43, 45, 47, 48, 50, 51, 54, 56, 58, 60, 62], "/home/ms/Project/kiwi-horizon/kiwi/storage/raid_device.py": [18, 21, 22, 23, 24, 26, 31, 34, 35, 39, 41, 42, 43, 45, 47, 51, 52, 53, 56, 61, 62, 63, 65, 66, 67, 68, 69, 71, 72, 73, 74, 76, 77, 78, 80, 82, 83, 84, 85, 88, 90, 91, 92, 94, 95, 97, 101, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113], "/home/ms/Project/kiwi-horizon/kiwi/system/result.py": [18, 19, 20, 23, 25, 30, 31, 35, 38, 39, 40, 45, 47, 50, 52, 53, 54, 55, 56, 57, 60, 61, 63, 64, 65, 66, 67, 69, 70, 71, 72, 73, 74, 75, 78, 80, 81, 82, 84, 85, 86, 87, 88, 89], "/home/ms/Project/kiwi-horizon/kiwi/filesystem/setup.py": [64, 66, 67, 68, 69, 71, 19, 20, 21, 24, 29, 30, 31, 32, 33, 34, 35, 37, 39, 40, 41, 42, 45, 46, 47, 48, 50, 51, 53, 54, 55, 56, 57, 58, 60, 62, 63], "/home/ms/Project/kiwi-horizon/kiwi/package_manager/yum.py": [129, 131, 133, 138, 23, 142, 143, 144, 18, 147, 148, 21, 150, 151, 152, 22, 47, 28, 154, 31, 32, 33, 34, 35, 37, 38, 39, 41, 42, 44, 45, 157, 49, 51, 52, 53, 59, 60, 61, 65, 66, 139, 68, 71, 72, 73, 75, 76, 82, 83, 84, 88, 89, 90, 91, 94, 95, 96, 97, 98, 99, 100, 102, 103, 104, 105, 107, 108, 109, 112, 113, 116, 117, 118, 120, 67, 123, 124, 126, 149], "/home/ms/Project/kiwi-horizon/kiwi/archive/__init__.py": [1], "/home/ms/Project/kiwi-horizon/kiwi/volume_manager/btrfs.py": [18, 19, 22, 23, 24, 25, 26, 27, 28, 29, 31, 36, 39, 40, 41, 42, 44, 45, 46, 47, 48, 50, 51, 53, 55, 56, 57, 58, 62, 63, 64, 66, 67, 69, 70, 72, 73, 74, 75, 77, 78, 79, 80, 82, 83, 84, 85, 87, 89, 91, 92, 93, 95, 97, 98, 101, 102, 105, 106, 109, 111, 112, 113, 114, 116, 117, 118, 120, 121, 124, 125, 126, 127, 128, 130, 131, 134, 135, 136, 137, 138, 139, 140, 143, 144, 145, 146, 148, 149, 150, 151, 152, 153, 154, 155, 156, 159, 160, 161, 163, 164, 165, 166, 167, 168, 169, 171, 172, 175, 177, 178, 181, 182, 183, 184], "/home/ms/Project/kiwi-horizon/kiwi/storage/setup.py": [18, 19, 22, 23, 24, 25, 28, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 46, 47, 49, 50, 53, 54, 56, 57, 58, 59, 60, 62, 63, 64, 65, 67, 68, 72, 73, 75, 76, 77, 78, 81, 82, 83, 84, 85, 86, 89, 90, 91, 92, 93, 96, 97, 98, 99, 100, 103, 104, 105, 106, 107, 110, 111, 112, 113, 114, 115, 118, 119, 120, 121, 123, 124, 126, 127, 128, 129, 130, 131, 133, 135, 136, 137, 139, 140, 141, 142, 144, 146, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 170, 171, 172, 173, 174, 176, 177, 179, 180, 182, 183, 184, 185, 187, 189, 199, 200, 201, 202, 204, 209, 211, 212, 214, 215, 216, 217, 218, 219, 220, 222, 223, 224, 225, 227, 228, 229, 232, 233, 234, 235, 238, 240, 241, 243, 244, 245, 248, 250, 256, 257, 259, 260, 261, 262, 263, 264, 265, 268, 273, 274, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 287, 289, 290, 291], "/home/ms/Project/kiwi-horizon/kiwi/data/sync.py": [32, 33, 34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 19, 22, 26, 27, 28, 29, 31], "/home/ms/Project/kiwi-horizon/kiwi/filesystem/__init__.py": [64, 65, 67, 68, 69, 71, 72, 73, 76, 77, 19, 20, 21, 22, 23, 24, 25, 26, 27, 29, 34, 37, 38, 39, 40, 41, 43, 44, 45, 47, 48, 49, 51, 52, 53, 55, 56, 57, 59, 60, 61, 63], "/home/ms/Project/kiwi-horizon/kiwi/filesystem/base.py": [64, 66, 88, 69, 71, 72, 73, 74, 76, 77, 78, 80, 81, 18, 19, 84, 85, 22, 23, 24, 89, 26, 86, 90, 94, 31, 96, 97, 34, 35, 40, 92, 95, 82, 46, 48, 52, 54, 55, 57, 59, 61], "/home/ms/Project/kiwi-horizon/kiwi/storage/device_provider.py": [32, 35, 36, 37, 39, 41, 42, 43, 45, 47, 48, 19, 20, 25, 28, 29, 31], "/home/ms/Project/kiwi-horizon/kiwi/filesystem/fat16.py": [32, 33, 19, 20, 23, 26, 27, 28, 29, 30, 31], "/home/ms/Project/kiwi-horizon/kiwi/builder/filesystem.py": [18, 21, 22, 23, 24, 25, 26, 27, 28, 30, 35, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 51, 52, 54, 55, 57, 59, 60, 61, 62, 63, 66, 67, 69, 71, 73, 74, 75, 77, 78, 79, 80, 82, 83, 85, 86, 87, 88, 89, 90, 91, 93, 94, 95, 96, 98, 99, 100, 102, 103, 104, 105, 107, 108, 109, 111, 113, 114, 115, 116, 117, 118, 120, 121, 122, 123, 125, 126, 127, 130, 132, 134, 135, 136, 137, 138, 140, 141], "/home/ms/Project/kiwi-horizon/kiwi/container/docker.py": [35, 19, 36, 38, 22, 39, 25, 26, 27, 29, 31], "/home/ms/Project/kiwi-horizon/kiwi/partitioner/dasd.py": [64, 70, 72, 74, 19, 20, 21, 24, 27, 28, 29, 30, 33, 34, 35, 36, 37, 38, 39, 42, 43, 45, 46, 47, 48, 49, 50, 51, 53, 54, 56, 57, 58, 60, 61, 62], "/home/ms/Project/kiwi-horizon/kiwi/builder/live.py": [18, 19, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 38, 43, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 63, 64, 66, 67, 69, 70, 72, 73, 75, 77, 78, 79, 80, 81, 84, 86, 87, 88, 89, 92, 94, 96, 97, 99, 102, 103, 104, 106, 107, 108, 110, 111, 112, 113, 116, 117, 120, 121, 125, 126, 127, 128, 129, 130, 132, 133, 134, 136, 138, 139, 143, 144, 145, 147, 148, 149, 151, 152, 154, 157, 158, 159, 160, 162, 163, 164, 166, 167, 169, 172, 173, 176, 177, 178, 179, 182, 183, 184, 185, 186, 188, 191, 192, 193, 196, 197, 198, 199, 200, 201, 203, 204, 205, 206, 208, 209, 210, 212, 213, 214, 215, 217, 218, 219, 221, 223, 224, 225, 226, 227, 228, 230, 231, 232, 234, 235, 236, 238, 239, 240, 242, 243, 245, 246, 250, 263, 264, 265, 267, 268, 269, 270, 271, 272, 275, 276, 277, 280, 281, 282, 283], "/home/ms/Project/kiwi-horizon/kiwi/package_manager/base.py": [64, 65, 67, 68, 70, 71, 73, 74, 75, 76, 20, 23, 24, 25, 26, 27, 28, 29, 30, 32, 34, 35, 37, 38, 40, 41, 43, 44, 46, 47, 49, 50, 52, 53, 55, 56, 58, 59, 61, 62], "/home/ms/Project/kiwi-horizon/kiwi/system/__init__.py": [1]}} \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/PKG-INFO new/kiwi-9.18.12/PKG-INFO --- old/kiwi-9.18.10/PKG-INFO 2019-08-05 09:57:13.000000000 +0200 +++ new/kiwi-9.18.12/PKG-INFO 2019-08-20 09:49:19.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: kiwi -Version: 9.18.10 +Version: 9.18.12 Summary: KIWI - Appliance Builder (next generation) Home-page: https://osinside.github.io/kiwi Author: Marcus Schaefer Binary files old/kiwi-9.18.10/doc/build/latex/kiwi.pdf and new/kiwi-9.18.12/doc/build/latex/kiwi.pdf differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/doc/build/man/kiwi.8 new/kiwi-9.18.12/doc/build/man/kiwi.8 --- old/kiwi-9.18.10/doc/build/man/kiwi.8 2019-08-05 09:57:12.000000000 +0200 +++ new/kiwi-9.18.12/doc/build/man/kiwi.8 2019-08-20 09:49:18.000000000 +0200 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "KIWI" "8" "Aug 05, 2019" "9.18.10" "kiwi" +.TH "KIWI" "8" "Aug 20, 2019" "9.18.12" "kiwi" .SH NAME kiwi \- Creating Operating System Images . diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/doc/build/man/kiwi::image::info.8 new/kiwi-9.18.12/doc/build/man/kiwi::image::info.8 --- old/kiwi-9.18.10/doc/build/man/kiwi::image::info.8 2019-08-05 09:57:12.000000000 +0200 +++ new/kiwi-9.18.12/doc/build/man/kiwi::image::info.8 2019-08-20 09:49:18.000000000 +0200 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "KIWI::IMAGE::INFO" "8" "Aug 05, 2019" "9.18.10" "kiwi" +.TH "KIWI::IMAGE::INFO" "8" "Aug 20, 2019" "9.18.12" "kiwi" .SH NAME kiwi::image::info \- Provide detailed information about an image description . diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/doc/build/man/kiwi::image::resize.8 new/kiwi-9.18.12/doc/build/man/kiwi::image::resize.8 --- old/kiwi-9.18.10/doc/build/man/kiwi::image::resize.8 2019-08-05 09:57:12.000000000 +0200 +++ new/kiwi-9.18.12/doc/build/man/kiwi::image::resize.8 2019-08-20 09:49:18.000000000 +0200 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "KIWI::IMAGE::RESIZE" "8" "Aug 05, 2019" "9.18.10" "kiwi" +.TH "KIWI::IMAGE::RESIZE" "8" "Aug 20, 2019" "9.18.12" "kiwi" .SH NAME kiwi::image::resize \- Resize disk images to new geometry . diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/doc/build/man/kiwi::result::bundle.8 new/kiwi-9.18.12/doc/build/man/kiwi::result::bundle.8 --- old/kiwi-9.18.10/doc/build/man/kiwi::result::bundle.8 2019-08-05 09:57:12.000000000 +0200 +++ new/kiwi-9.18.12/doc/build/man/kiwi::result::bundle.8 2019-08-20 09:49:18.000000000 +0200 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "KIWI::RESULT::BUNDLE" "8" "Aug 05, 2019" "9.18.10" "kiwi" +.TH "KIWI::RESULT::BUNDLE" "8" "Aug 20, 2019" "9.18.12" "kiwi" .SH NAME kiwi::result::bundle \- Bundle build results . diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/doc/build/man/kiwi::result::list.8 new/kiwi-9.18.12/doc/build/man/kiwi::result::list.8 --- old/kiwi-9.18.10/doc/build/man/kiwi::result::list.8 2019-08-05 09:57:12.000000000 +0200 +++ new/kiwi-9.18.12/doc/build/man/kiwi::result::list.8 2019-08-20 09:49:18.000000000 +0200 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "KIWI::RESULT::LIST" "8" "Aug 05, 2019" "9.18.10" "kiwi" +.TH "KIWI::RESULT::LIST" "8" "Aug 20, 2019" "9.18.12" "kiwi" .SH NAME kiwi::result::list \- List build results . diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/doc/build/man/kiwi::system::build.8 new/kiwi-9.18.12/doc/build/man/kiwi::system::build.8 --- old/kiwi-9.18.10/doc/build/man/kiwi::system::build.8 2019-08-05 09:57:12.000000000 +0200 +++ new/kiwi-9.18.12/doc/build/man/kiwi::system::build.8 2019-08-20 09:49:18.000000000 +0200 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "KIWI::SYSTEM::BUILD" "8" "Aug 05, 2019" "9.18.10" "kiwi" +.TH "KIWI::SYSTEM::BUILD" "8" "Aug 20, 2019" "9.18.12" "kiwi" .SH NAME kiwi::system::build \- Build image in combined prepare and create step . diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/doc/build/man/kiwi::system::create.8 new/kiwi-9.18.12/doc/build/man/kiwi::system::create.8 --- old/kiwi-9.18.10/doc/build/man/kiwi::system::create.8 2019-08-05 09:57:12.000000000 +0200 +++ new/kiwi-9.18.12/doc/build/man/kiwi::system::create.8 2019-08-20 09:49:18.000000000 +0200 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "KIWI::SYSTEM::CREATE" "8" "Aug 05, 2019" "9.18.10" "kiwi" +.TH "KIWI::SYSTEM::CREATE" "8" "Aug 20, 2019" "9.18.12" "kiwi" .SH NAME kiwi::system::create \- Create image from prepared root system . diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/doc/build/man/kiwi::system::prepare.8 new/kiwi-9.18.12/doc/build/man/kiwi::system::prepare.8 --- old/kiwi-9.18.10/doc/build/man/kiwi::system::prepare.8 2019-08-05 09:57:12.000000000 +0200 +++ new/kiwi-9.18.12/doc/build/man/kiwi::system::prepare.8 2019-08-20 09:49:18.000000000 +0200 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "KIWI::SYSTEM::PREPARE" "8" "Aug 05, 2019" "9.18.10" "kiwi" +.TH "KIWI::SYSTEM::PREPARE" "8" "Aug 20, 2019" "9.18.12" "kiwi" .SH NAME kiwi::system::prepare \- Prepare image root system . diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/doc/build/man/kiwi::system::update.8 new/kiwi-9.18.12/doc/build/man/kiwi::system::update.8 --- old/kiwi-9.18.10/doc/build/man/kiwi::system::update.8 2019-08-05 09:57:12.000000000 +0200 +++ new/kiwi-9.18.12/doc/build/man/kiwi::system::update.8 2019-08-20 09:49:18.000000000 +0200 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "KIWI::SYSTEM::UPDATE" "8" "Aug 05, 2019" "9.18.10" "kiwi" +.TH "KIWI::SYSTEM::UPDATE" "8" "Aug 20, 2019" "9.18.12" "kiwi" .SH NAME kiwi::system::update \- Update/Upgrade image root system . diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/dracut/modules.d/90kiwi-dump/kiwi-dump-image.sh new/kiwi-9.18.12/dracut/modules.d/90kiwi-dump/kiwi-dump-image.sh --- old/kiwi-9.18.10/dracut/modules.d/90kiwi-dump/kiwi-dump-image.sh 2019-05-27 10:58:08.000000000 +0200 +++ new/kiwi-9.18.12/dracut/modules.d/90kiwi-dump/kiwi-dump-image.sh 2019-08-14 10:42:35.000000000 +0200 @@ -48,6 +48,7 @@ local max_disk local kiwi_oem_maxdisk local blk_opts="-p -n -r -o NAME,SIZE,TYPE" + local message if [ -n "${kiwi_devicepersistency}" ];then disk_id=${kiwi_devicepersistency} fi @@ -86,9 +87,13 @@ disk_size=$(echo "${disk_meta}" | cut -f2 -d:) if [ ${max_disk} -gt 0 ]; then local disk_size_bytes - disk_size_bytes=$(binsize_to_bytesize "${disk_size}") || disk_size_bytes=0 + disk_size_bytes=$(binsize_to_bytesize "${disk_size}") || \ + disk_size_bytes=0 if [ "${disk_size_bytes}" -gt "${max_disk}" ]; then - info "${disk_device} filtered out by rd.kiwi.oem.maxdisk=${kiwi_oem_maxdisk} (is ${disk_size})" >&2 + message="${disk_device} filtered out by" + message="${message} rd.kiwi.oem.maxdisk=${kiwi_oem_maxdisk}" + message="${message} (disk size is: ${disk_size})" + info "${message}" >&2 continue fi fi @@ -106,8 +111,9 @@ # check for custom filter rule if [ -n "${kiwi_oemdevicefilter}" ];then if [[ ${disk_device} =~ ${kiwi_oemdevicefilter} ]];then - # info is more or less "echo" if debug is on, and it clutters stdout - info "${disk_device} filtered out by: ${kiwi_oemdevicefilter}" >&2 + message="${disk_device} filtered out by rule:" + message="${message} ${kiwi_oemdevicefilter}" + info "${message}" >&2 continue fi fi @@ -125,6 +131,7 @@ declare kiwi_oemunattended_id=${kiwi_oemunattended_id} local disk_list local device_array + kiwi_oemunattended=$(bool "${kiwi_oemunattended}") disk_list=$(get_disk_list) if [ -n "${disk_list}" ];then local count=0 @@ -139,7 +146,7 @@ if [ "${device_index}" -eq 1 ];then # one single disk device found, use it echo "${device_array[0]}" - elif [ -n "${kiwi_oemunattended}" ];then + elif [ "${kiwi_oemunattended}" = "true" ];then if [ -z "${kiwi_oemunattended_id}" ];then # unattended mode requested but no target specifier, # thus use first device from list @@ -209,6 +216,8 @@ local image_from_remote=$3 local image_source local image_basename + kiwi_oemsilentinstall=$(bool "${kiwi_oemsilentinstall}") + kiwi_oemunattended=$(bool "${kiwi_oemunattended}") image_source="$(echo "${image_source_files}" | cut -f1 -d\|)" image_basename=$(basename "${image_source}") local progress=/dev/install_progress @@ -224,7 +233,7 @@ check_image_fits_target "${image_target}" - if [ -z "${kiwi_oemunattended}" ];then + if [ "${kiwi_oemunattended}" = "false" ];then local ack_dump_text="Destroying ALL data on ${image_target}, continue ?" if ! run_dialog --yesno "\"${ack_dump_text}\"" 7 80; then local install_cancel_text="System installation canceled" @@ -233,7 +242,8 @@ fi echo "${load_text} [${image_target}]..." - if command -v pv &>/dev/null && [ -z "${kiwi_oemsilentinstall}" ];then + if command -v pv &>/dev/null && [ "${kiwi_oemsilentinstall}" = "false" ] + then # dump with dialog based progress information setup_progress_fifo ${progress} eval "${dump}" "${image_source}" "${image_target}" "${progress}" & @@ -284,11 +294,14 @@ local verify_text="Verifying ${image_target}" local title_text="Installation..." local verify_result=/dumped_image.md5 - if [ -n "${kiwi_oemskipverify}" ];then + kiwi_oemskipverify=$(bool "${kiwi_oemskipverify}") + kiwi_oemsilentverify=$(bool "${kiwi_oemsilentverify}") + if [ "${kiwi_oemskipverify}" = "true" ];then # no verification wanted return fi - if command -v pv &>/dev/null && [ -z "${kiwi_oemsilentverify}" ];then + if command -v pv &>/dev/null && [ "${kiwi_oemsilentverify}" = "false" ] + then # verify with dialog based progress information setup_progress_fifo ${progress} run_progress_dialog "${verify_text}" "${title_text}" & diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/dracut/modules.d/99kiwi-lib/kiwi-lib.sh new/kiwi-9.18.12/dracut/modules.d/99kiwi-lib/kiwi-lib.sh --- old/kiwi-9.18.10/dracut/modules.d/99kiwi-lib/kiwi-lib.sh 2019-07-11 15:25:17.000000000 +0200 +++ new/kiwi-9.18.12/dracut/modules.d/99kiwi-lib/kiwi-lib.sh 2019-08-14 10:42:35.000000000 +0200 @@ -133,3 +133,17 @@ esac awk "BEGIN {print int(${bs}*${mult})}" } + +function bool { + # """ + # provides boolean string true|false for given value. + # Only if value matches true return true, in any other + # case return false + # """ + local value=$1 + if [ -n "${value}" ] && [ "${value}" = "true" ] ;then + echo "true" + else + echo "false" + fi +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/kiwi/boot/image/__init__.py new/kiwi-9.18.12/kiwi/boot/image/__init__.py --- old/kiwi-9.18.10/kiwi/boot/image/__init__.py 2019-05-24 11:43:19.000000000 +0200 +++ new/kiwi-9.18.12/kiwi/boot/image/__init__.py 2019-08-14 10:42:35.000000000 +0200 @@ -39,10 +39,12 @@ initrd_system = xml_state.get_initrd_system() if initrd_system == 'kiwi': return BootImageKiwi( - xml_state, target_dir, root_dir, signing_keys + xml_state, target_dir, None, signing_keys ) elif initrd_system == 'dracut': - return BootImageDracut(xml_state, target_dir, root_dir) + return BootImageDracut( + xml_state, target_dir, root_dir, None + ) else: raise KiwiBootImageSetupError( 'Support for %s initrd system not implemented' % initrd_system diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/kiwi/boot/image/builtin_kiwi.py new/kiwi-9.18.12/kiwi/boot/image/builtin_kiwi.py --- old/kiwi-9.18.10/kiwi/boot/image/builtin_kiwi.py 2019-05-24 11:43:19.000000000 +0200 +++ new/kiwi-9.18.12/kiwi/boot/image/builtin_kiwi.py 2019-08-16 09:53:16.000000000 +0200 @@ -135,7 +135,7 @@ temp_boot_root_directory ) data.sync_data( - options=['-z', '-a'] + options=['-a'] ) boot_directory = temp_boot_root_directory + '/boot' Path.wipe(boot_directory) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/kiwi/bootloader/config/grub2.py new/kiwi-9.18.12/kiwi/bootloader/config/grub2.py --- old/kiwi-9.18.10/kiwi/bootloader/config/grub2.py 2019-08-02 14:34:52.000000000 +0200 +++ new/kiwi-9.18.12/kiwi/bootloader/config/grub2.py 2019-08-20 09:47:42.000000000 +0200 @@ -525,6 +525,8 @@ grub_default_entries['GRUB_USE_INITRDEFI'] = 'true' if self.xml_state.build_type.get_btrfs_root_is_snapshot(): grub_default_entries['SUSE_BTRFS_SNAPSHOT_BOOTING'] = 'true' + if self.custom_args.get('boot_is_crypto'): + grub_default_entries['GRUB_ENABLE_CRYPTODISK'] = 'y' if grub_default_entries: log.info('Writing grub2 defaults file') @@ -714,6 +716,23 @@ early_boot.write( 'set btrfs_relative_path="yes"{0}'.format(os.linesep) ) + if self.custom_args.get('boot_is_crypto'): + early_boot.write( + 'insmod cryptodisk{0}'.format(os.linesep) + ) + early_boot.write( + 'insmod luks{0}'.format(os.linesep) + ) + early_boot.write( + 'cryptomount -u {0}{1}'.format( + uuid.replace('-', ''), os.linesep + ) + ) + early_boot.write( + 'set root="cryptouuid/{0}"{1}'.format( + uuid.replace('-', ''), os.linesep + ) + ) early_boot.write( 'search --fs-uuid --set=root {0}{1}'.format(uuid, os.linesep) ) @@ -852,7 +871,7 @@ theme_dir, boot_theme_dir ) data.sync_data( - options=['-z', '-a'] + options=['-a'] ) if boot_theme_background_file: # Install preserved background file to the theme @@ -870,7 +889,7 @@ os.path.dirname(boot_theme_background_file), boot_theme_dir ) data.sync_data( - options=['-z', '-a'] + options=['-a'] ) self._check_boot_theme_exists() @@ -922,7 +941,7 @@ module_path + '/', boot_module_path ) data.sync_data( - options=['-z', '-a'], exclude=['*.module'] + options=['-a'], exclude=['*.module'] ) except Exception as e: raise KiwiBootLoaderGrubModulesError( diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/kiwi/builder/disk.py new/kiwi-9.18.12/kiwi/builder/disk.py --- old/kiwi-9.18.10/kiwi/builder/disk.py 2019-07-19 11:32:41.000000000 +0200 +++ new/kiwi-9.18.12/kiwi/builder/disk.py 2019-08-20 09:47:42.000000000 +0200 @@ -133,6 +133,8 @@ '.raw' ] ) + self.boot_is_crypto = True if self.luks and not \ + self.disk_setup.need_boot_partition() else False self.install_media = self._install_image_requested() self.generic_fstab_entries = [] @@ -248,7 +250,9 @@ 'targetbase': loop_provider.get_device(), 'grub_directory_name': - Defaults.get_grub_boot_directory_name(self.root_dir) + Defaults.get_grub_boot_directory_name(self.root_dir), + 'boot_is_crypto': + self.boot_is_crypto } ) @@ -268,9 +272,19 @@ # create luks on current root device if requested if self.luks: self.luks_root = LuksDevice(device_map['root']) - self.luks_root.create_crypto_luks( - passphrase=self.luks, os=self.luks_os + self.luks_boot_keyfile = ''.join( + [self.root_dir, '/.root.keyfile'] ) + self.luks_root.create_crypto_luks( + passphrase=self.luks, + os=self.luks_os, + keyfile=self.luks_boot_keyfile if self.boot_is_crypto else None + ) + if self.boot_is_crypto: + self.boot_image.include_file( + os.sep + os.path.basename(self.luks_boot_keyfile) + ) + device_map['luks_root'] = device_map['root'] device_map['root'] = self.luks_root.get_device() # create spare filesystem on spare partition if present @@ -942,7 +956,12 @@ boot_uuid = self.disk.get_uuid( boot_device.get_device() ) - self.bootloader_config.setup_disk_boot_images(boot_uuid) + boot_uuid_unmapped = self.disk.get_uuid( + device_map['luks_root'].get_device() + ) if self.luks else boot_uuid + self.bootloader_config.setup_disk_boot_images( + boot_uuid_unmapped + ) self.bootloader_config.setup_disk_image_config( boot_uuid=boot_uuid, root_uuid=root_uuid, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/kiwi/builder/pxe.py new/kiwi-9.18.12/kiwi/builder/pxe.py --- old/kiwi-9.18.10/kiwi/builder/pxe.py 2019-08-02 14:34:52.000000000 +0200 +++ new/kiwi-9.18.12/kiwi/builder/pxe.py 2019-08-14 10:42:35.000000000 +0200 @@ -65,7 +65,8 @@ and 'xz_options' in custom_args else None self.boot_image_task = BootImage( - xml_state, target_dir, signing_keys=self.boot_signing_keys + xml_state, target_dir, root_dir, + signing_keys=self.boot_signing_keys ) self.image_name = ''.join( [ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/kiwi/container/setup/base.py new/kiwi-9.18.12/kiwi/container/setup/base.py --- old/kiwi-9.18.10/kiwi/container/setup/base.py 2019-05-24 11:43:19.000000000 +0200 +++ new/kiwi-9.18.12/kiwi/container/setup/base.py 2019-08-16 09:53:16.000000000 +0200 @@ -170,7 +170,7 @@ try: data = DataSync('/dev/', self.root_dir + '/dev/') data.sync_data( - options=['-z', '-a', '-x', '--devices', '--specials'] + options=['-a', '-x', '--devices', '--specials'] ) except Exception as e: raise KiwiContainerSetupError( diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/kiwi/defaults.py new/kiwi-9.18.12/kiwi/defaults.py --- old/kiwi-9.18.10/kiwi/defaults.py 2019-07-17 16:53:14.000000000 +0200 +++ new/kiwi-9.18.12/kiwi/defaults.py 2019-08-20 09:47:42.000000000 +0200 @@ -62,6 +62,13 @@ ] @staticmethod + def get_luks_key_length(): + """ + Provides key length to use for random luks keys + """ + return 256 + + @staticmethod def get_xz_compression_options(): """ Provides compression options for the xz compressor @@ -376,6 +383,12 @@ 'xfs', 'btrfs', 'lvm', + 'luks', + 'gcry_rijndael', + 'gcry_sha256', + 'gcry_sha512', + 'crypto', + 'cryptodisk', 'test', 'true' ] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/kiwi/iso_tools/base.py new/kiwi-9.18.12/kiwi/iso_tools/base.py --- old/kiwi-9.18.10/kiwi/iso_tools/base.py 2019-07-11 15:25:17.000000000 +0200 +++ new/kiwi-9.18.12/kiwi/iso_tools/base.py 2019-08-16 09:53:16.000000000 +0200 @@ -176,5 +176,5 @@ loader_data, media_boot_path ) data.sync_data( - options=['-z', '-a'] + options=['-a'] ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/kiwi/path.py new/kiwi-9.18.12/kiwi/path.py --- old/kiwi-9.18.10/kiwi/path.py 2019-07-02 16:48:30.000000000 +0200 +++ new/kiwi-9.18.12/kiwi/path.py 2019-08-20 09:47:42.000000000 +0200 @@ -141,7 +141,7 @@ ) path_elements = path.split(os.sep) protected_elements = [ - 'boot', 'dev', 'proc', 'run', 'sys', 'tmp', 'home' + 'boot', 'dev', 'proc', 'run', 'sys', 'tmp', 'home', 'mnt' ] for path_index in reversed(range(0, len(path_elements))): sub_path = os.sep.join(path_elements[0:path_index]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/kiwi/schema/kiwi.rnc new/kiwi-9.18.12/kiwi/schema/kiwi.rnc --- old/kiwi-9.18.10/kiwi/schema/kiwi.rnc 2019-08-02 14:34:52.000000000 +0200 +++ new/kiwi-9.18.12/kiwi/schema/kiwi.rnc 2019-08-14 10:42:35.000000000 +0200 @@ -1505,7 +1505,7 @@ } >> sch:pattern [ id = "initrd_system" is-a = "image_type" sch:param [ name = "attr" value = "initrd_system" ] - sch:param [ name = "types" value = "oem" ] + sch:param [ name = "types" value = "oem pxe" ] ] k.type.image.attribute = ## Specifies the image type diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/kiwi/schema/kiwi.rng new/kiwi-9.18.12/kiwi/schema/kiwi.rng --- old/kiwi-9.18.10/kiwi/schema/kiwi.rng 2019-08-02 14:34:52.000000000 +0200 +++ new/kiwi-9.18.12/kiwi/schema/kiwi.rng 2019-08-14 10:42:35.000000000 +0200 @@ -2238,7 +2238,7 @@ </attribute> <sch:pattern id="initrd_system" is-a="image_type"> <sch:param name="attr" value="initrd_system"/> - <sch:param name="types" value="oem"/> + <sch:param name="types" value="oem pxe"/> </sch:pattern> </define> <define name="k.type.image.attribute"> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/kiwi/storage/luks_device.py new/kiwi-9.18.12/kiwi/storage/luks_device.py --- old/kiwi-9.18.10/kiwi/storage/luks_device.py 2019-05-24 11:43:19.000000000 +0200 +++ new/kiwi-9.18.12/kiwi/storage/luks_device.py 2019-08-20 09:47:42.000000000 +0200 @@ -15,10 +15,12 @@ # You should have received a copy of the GNU General Public License # along with kiwi. If not, see <http://www.gnu.org/licenses/> # +import os from tempfile import NamedTemporaryFile # project from kiwi.command import Command +from kiwi.defaults import Defaults from kiwi.storage.device_provider import DeviceProvider from kiwi.storage.mapped_device import MappedDevice from kiwi.logger import log @@ -41,6 +43,7 @@ self.storage_provider = storage_provider self.luks_device = None + self.luks_keyfile = None self.luks_name = 'luksRoot' self.option_map = { @@ -64,7 +67,9 @@ device=self.luks_device, device_provider=self ) - def create_crypto_luks(self, passphrase, os=None, options=None): + def create_crypto_luks( + self, passphrase, os=None, options=None, keyfile=None + ): """ Create luks device. Please note the passphrase is readable at creation time of this image. Make sure your host system @@ -75,6 +80,9 @@ distribution name to match distribution specific options for cryptsetup :param list options: further cryptsetup options + :param string keyfile: file path name + file path name which contains an alternative key + to unlock the luks device """ if not options: options = [] @@ -113,6 +121,15 @@ 'luksFormat', storage_device ] ) + if keyfile: + self.luks_keyfile = keyfile + LuksDevice.create_random_keyfile(keyfile) + Command.run( + [ + 'cryptsetup', '--key-file', passphrase_file.name, + 'luksAddKey', storage_device, keyfile + ] + ) Command.run( [ 'cryptsetup', '--key-file', passphrase_file.name, @@ -129,11 +146,20 @@ """ storage_device = self.storage_provider.get_device() with open(filename, 'w') as crypttab: - crypttab.write( - 'luks UUID=%s\n' % self.storage_provider.get_uuid( - storage_device + luks_uuid = self.storage_provider.get_uuid(storage_device) + if self.luks_keyfile: + crypttab.write( + 'luks UUID={0} /{1}{2}'.format( + luks_uuid, os.path.basename(self.luks_keyfile), + os.linesep + ) + ) + else: + crypttab.write( + 'luks UUID={0}{1}'.format( + luks_uuid, os.linesep + ) ) - ) def is_loop(self): """ @@ -147,6 +173,16 @@ """ return self.storage_provider.is_loop() + @staticmethod + def create_random_keyfile(filename): + """ + Create keyfile with random data + + :param string filename: file path name + """ + with open(filename, 'wb') as keyfile: + keyfile.write(os.urandom(Defaults.get_luks_key_length())) + def __del__(self): if self.luks_device: log.info('Cleaning up %s instance', type(self).__name__) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/kiwi/storage/setup.py new/kiwi-9.18.12/kiwi/storage/setup.py --- old/kiwi-9.18.10/kiwi/storage/setup.py 2019-05-24 11:43:19.000000000 +0200 +++ new/kiwi-9.18.12/kiwi/storage/setup.py 2019-08-20 09:47:42.000000000 +0200 @@ -191,8 +191,6 @@ return True if self.bootloader == 'grub2_s390x_emu': return True - if self.luks: - return True def get_boot_label(self): """ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/kiwi/system/setup.py new/kiwi-9.18.12/kiwi/system/setup.py --- old/kiwi-9.18.10/kiwi/system/setup.py 2019-07-17 16:53:22.000000000 +0200 +++ new/kiwi-9.18.12/kiwi/system/setup.py 2019-08-16 09:53:16.000000000 +0200 @@ -502,7 +502,7 @@ modprobe_config, target_root_dir + '/etc/' ) data.sync_data( - options=['-z', '-a'] + options=['-a'] ) def export_package_list(self, target_dir): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/kiwi/version.py new/kiwi-9.18.12/kiwi/version.py --- old/kiwi-9.18.10/kiwi/version.py 2019-08-05 09:55:02.000000000 +0200 +++ new/kiwi-9.18.12/kiwi/version.py 2019-08-20 09:48:00.000000000 +0200 @@ -18,5 +18,5 @@ """ Global version information used in kiwi and the package """ -__version__ = '9.18.10' -__githash__ = '728856aff2b53299bbaaeed6f6a593b73f3642e8' +__version__ = '9.18.12' +__githash__ = 'a97ad0e7e1c61f6f5eb8af4fad5fd781cd3f0e75' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/kiwi.egg-info/PKG-INFO new/kiwi-9.18.12/kiwi.egg-info/PKG-INFO --- old/kiwi-9.18.10/kiwi.egg-info/PKG-INFO 2019-08-05 09:57:12.000000000 +0200 +++ new/kiwi-9.18.12/kiwi.egg-info/PKG-INFO 2019-08-20 09:49:19.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: kiwi -Version: 9.18.10 +Version: 9.18.12 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.18.10/kiwi.egg-info/SOURCES.txt new/kiwi-9.18.12/kiwi.egg-info/SOURCES.txt --- old/kiwi-9.18.10/kiwi.egg-info/SOURCES.txt 2019-08-05 09:57:12.000000000 +0200 +++ new/kiwi-9.18.12/kiwi.egg-info/SOURCES.txt 2019-08-20 09:49:19.000000000 +0200 @@ -1,4 +1,5 @@ .bumpversion.cfg +.coverage .travis.yml .virtualenv.dev-requirements.txt .virtualenv.requirements.txt @@ -475,6 +476,11 @@ test/unit/volume_manager_test.py test/unit/xml_description_test.py test/unit/xml_state_test.py +test/unit/kiwi.egg-info/SOURCES.txt +test/unit/kiwi.egg-info/dependency_links.txt +test/unit/kiwi.egg-info/entry_points.txt +test/unit/kiwi.egg-info/requires.txt +test/unit/kiwi.egg-info/top_level.txt tools/Makefile tools/README.md tools/dcounter.c diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/test/unit/boot_image_builtin_kiwi_test.py new/kiwi-9.18.12/test/unit/boot_image_builtin_kiwi_test.py --- old/kiwi-9.18.10/test/unit/boot_image_builtin_kiwi_test.py 2019-05-24 11:43:19.000000000 +0200 +++ new/kiwi-9.18.12/test/unit/boot_image_builtin_kiwi_test.py 2019-08-16 09:53:16.000000000 +0200 @@ -112,7 +112,7 @@ mock_sync.assert_called_once_with( 'boot-root-directory/', 'temp-boot-directory' ) - data.sync_data.assert_called_once_with(options=['-z', '-a']) + data.sync_data.assert_called_once_with(options=['-a']) mock_cpio.assert_called_once_with( ''.join( [ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/test/unit/boot_image_test.py new/kiwi-9.18.12/test/unit/boot_image_test.py --- old/kiwi-9.18.10/test/unit/boot_image_test.py 2019-05-24 11:43:19.000000000 +0200 +++ new/kiwi-9.18.12/test/unit/boot_image_test.py 2019-08-14 10:42:35.000000000 +0200 @@ -33,5 +33,5 @@ self.xml_state.get_initrd_system.return_value = 'dracut' BootImage(self.xml_state, 'target_dir', 'root_dir') mock_dracut.assert_called_once_with( - self.xml_state, 'target_dir', 'root_dir' + self.xml_state, 'target_dir', 'root_dir', None ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/test/unit/bootloader_config_grub2_test.py new/kiwi-9.18.12/test/unit/bootloader_config_grub2_test.py --- old/kiwi-9.18.10/test/unit/bootloader_config_grub2_test.py 2019-08-02 14:34:52.000000000 +0200 +++ new/kiwi-9.18.12/test/unit/bootloader_config_grub2_test.py 2019-08-20 09:47:42.000000000 +0200 @@ -95,7 +95,9 @@ return_value=False ) self.bootloader = BootLoaderConfigGrub2( - self.state, 'root_dir', None, {'grub_directory_name': 'grub2'} + self.state, 'root_dir', None, { + 'grub_directory_name': 'grub2', 'boot_is_crypto': True + } ) @patch('platform.machine') @@ -303,6 +305,7 @@ '/boot/grub2/themes/openSUSE/background.png' ), call('GRUB_CMDLINE_LINUX_DEFAULT', '"some-cmdline"'), + call('GRUB_ENABLE_CRYPTODISK', 'y'), call( 'GRUB_SERIAL_COMMAND', '"serial --speed=38400 --unit=0 --word=8 --parity=no --stop=1"' @@ -552,8 +555,10 @@ 'search_label', 'search_fs_file', 'search', 'search_fs_uuid', 'ls', 'normal', 'gzio', 'png', 'fat', 'gettext', 'font', 'minicmd', 'gfxterm', 'gfxmenu', 'all_video', 'xfs', - 'btrfs', 'lvm', 'test', 'true', 'multiboot', 'part_gpt', - 'part_msdos', 'efi_gop', 'efi_uga', 'linuxefi' + 'btrfs', 'lvm', 'luks', 'gcry_rijndael', 'gcry_sha256', + 'gcry_sha512', 'crypto', 'cryptodisk', 'test', 'true', + 'multiboot', 'part_gpt', 'part_msdos', 'efi_gop', + 'efi_uga', 'linuxefi' ]) ] @@ -598,6 +603,10 @@ ) assert file_mock.write.call_args_list == [ call('set btrfs_relative_path="yes"\n'), + call('insmod cryptodisk\n'), + call('insmod luks\n'), + call('cryptomount -u 0815\n'), + call('set root="cryptouuid/0815"\n'), call('search --fs-uuid --set=root 0815\n'), call('set prefix=($root)//grub2\n') ] @@ -616,8 +625,9 @@ 'search_label', 'search_fs_file', 'search', 'search_fs_uuid', 'ls', 'normal', 'gzio', 'png', 'fat', 'gettext', 'font', 'minicmd', 'gfxterm', 'gfxmenu', 'all_video', 'xfs', - 'btrfs', 'lvm', 'test', 'true', 'part_gpt', 'part_msdos', - 'efi_gop', 'efi_uga', 'linuxefi' + 'btrfs', 'lvm', 'luks', 'gcry_rijndael', 'gcry_sha256', + 'gcry_sha512', 'crypto', 'cryptodisk', 'test', 'true', + 'part_gpt', 'part_msdos', 'efi_gop', 'efi_uga', 'linuxefi' ]) ] assert mock_sync.call_args_list == [ @@ -631,8 +641,8 @@ ) ] assert data.sync_data.call_args_list == [ - call(exclude=['*.module'], options=['-z', '-a']), - call(exclude=['*.module'], options=['-z', '-a']) + call(exclude=['*.module'], options=['-a']), + call(exclude=['*.module'], options=['-a']) ] mock_get_unsigned_grub_loader.return_value = 'custom_grub_image' @@ -653,6 +663,10 @@ ] assert file_mock.write.call_args_list == [ call('set btrfs_relative_path="yes"\n'), + call('insmod cryptodisk\n'), + call('insmod luks\n'), + call('cryptomount -u 0815\n'), + call('set root="cryptouuid/0815"\n'), call('search --fs-uuid --set=root 0815\n'), call('set prefix=($root)//grub2\n'), call('normal\n') @@ -758,12 +772,12 @@ self.bootloader.setup_disk_boot_images('uuid') assert mock_command.call_args_list == [ call([ - 'rsync', '-z', '-a', '--exclude', '/*.module', + 'rsync', '-a', '--exclude', '/*.module', 'root_dir/usr/share/grub2/i386-pc/', 'root_dir/boot/grub2/i386-pc' ]), call([ - 'rsync', '-z', '-a', '--exclude', '/*.module', + 'rsync', '-a', '--exclude', '/*.module', 'root_dir/usr/share/grub2/x86_64-efi/', 'root_dir/boot/grub2/x86_64-efi'] )] @@ -804,12 +818,12 @@ self.bootloader.setup_disk_boot_images('uuid') assert mock_command.call_args_list == [ call([ - 'rsync', '-z', '-a', '--exclude', '/*.module', + 'rsync', '-a', '--exclude', '/*.module', 'root_dir/usr/share/grub2/i386-pc/', 'root_dir/boot/grub2/i386-pc' ]), call([ - 'rsync', '-z', '-a', '--exclude', '/*.module', + 'rsync', '-a', '--exclude', '/*.module', 'root_dir/usr/share/grub2/x86_64-efi/', 'root_dir/boot/grub2/x86_64-efi' ]), @@ -861,12 +875,12 @@ self.bootloader.setup_disk_boot_images('uuid') assert mock_command.call_args_list == [ call([ - 'rsync', '-z', '-a', '--exclude', '/*.module', + 'rsync', '-a', '--exclude', '/*.module', 'root_dir/usr/share/grub2/i386-pc/', 'root_dir/boot/grub2/i386-pc' ]), call([ - 'rsync', '-z', '-a', '--exclude', '/*.module', + 'rsync', '-a', '--exclude', '/*.module', 'root_dir/usr/share/grub2/x86_64-efi/', 'root_dir/boot/grub2/x86_64-efi' ]), @@ -949,8 +963,10 @@ 'search_label', 'search_fs_file', 'search', 'search_fs_uuid', 'ls', 'normal', 'gzio', 'png', 'fat', 'gettext', 'font', 'minicmd', 'gfxterm', 'gfxmenu', - 'all_video', 'xfs', 'btrfs', 'lvm', 'test', 'true', - 'part_gpt', 'part_msdos', 'biosdisk', 'vga', 'vbe', + 'all_video', 'xfs', 'btrfs', 'lvm', 'luks', + 'gcry_rijndael', 'gcry_sha256', 'gcry_sha512', + 'crypto', 'cryptodisk', 'test', 'true', 'part_gpt', + 'part_msdos', 'biosdisk', 'vga', 'vbe', 'chain', 'boot' ] ), @@ -972,8 +988,10 @@ 'search_label', 'search_fs_file', 'search', 'search_fs_uuid', 'ls', 'normal', 'gzio', 'png', 'fat', 'gettext', 'font', 'minicmd', 'gfxterm', 'gfxmenu', - 'all_video', 'xfs', 'btrfs', 'lvm', 'test', 'true', - 'part_gpt', 'part_msdos', 'efi_gop', 'efi_uga', 'linuxefi' + 'all_video', 'xfs', 'btrfs', 'lvm', 'luks', + 'gcry_rijndael', 'gcry_sha256', 'gcry_sha512', + 'crypto', 'cryptodisk', 'test', 'true', 'part_gpt', + 'part_msdos', 'efi_gop', 'efi_uga', 'linuxefi' ] ) ] @@ -988,8 +1006,8 @@ ) ] assert data.sync_data.call_args_list == [ - call(exclude=['*.module'], options=['-z', '-a']), - call(exclude=['*.module'], options=['-z', '-a']) + call(exclude=['*.module'], options=['-a']), + call(exclude=['*.module'], options=['-a']) ] mock_get_unsigned_grub_loader.return_value = 'custom_grub_image' @@ -1068,7 +1086,7 @@ ), call( [ - 'rsync', '-z', '-a', '--exclude', '/*.module', + 'rsync', '-a', '--exclude', '/*.module', 'root_dir/usr/share/grub2/x86_64-efi/', 'root_dir/boot/grub2/x86_64-efi' ] @@ -1137,7 +1155,7 @@ 'root_dir/boot/grub2/themes' ) assert data.sync_data.call_args_list[0] == call( - options=['-z', '-a'] + options=['-a'] ) @patch('kiwi.bootloader.config.grub2.Command.run') @@ -1184,7 +1202,7 @@ 'root_dir/boot/grub2/themes' ) assert data.sync_data.call_args_list[0] == call( - options=['-z', '-a'] + options=['-a'] ) @patch('kiwi.bootloader.config.grub2.Command.run') diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/test/unit/builder_disk_test.py new/kiwi-9.18.12/test/unit/builder_disk_test.py --- old/kiwi-9.18.10/test/unit/builder_disk_test.py 2019-06-11 13:46:25.000000000 +0200 +++ new/kiwi-9.18.12/test/unit/builder_disk_test.py 2019-08-20 09:47:42.000000000 +0200 @@ -680,14 +680,17 @@ mock_fs.return_value = filesystem self.disk_builder.volume_manager_name = None self.disk_builder.luks = 'passphrase' + self.disk_setup.need_boot_partition.return_value = False + self.disk_builder.boot_is_crypto = True self.disk_builder.create_disk() self.luks_root.create_crypto_luks.assert_called_once_with( - passphrase='passphrase', os=None + passphrase='passphrase', os=None, keyfile='root_dir/.root.keyfile' ) self.luks_root.create_crypttab.assert_called_once_with( 'root_dir/etc/crypttab' ) assert self.boot_image_task.include_file.call_args_list == [ + call('/.root.keyfile'), call('/config.partids'), call('/etc/crypttab') ] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/test/unit/container_setup_base_test.py new/kiwi-9.18.12/test/unit/container_setup_base_test.py --- old/kiwi-9.18.10/test/unit/container_setup_base_test.py 2019-05-24 11:43:19.000000000 +0200 +++ new/kiwi-9.18.12/test/unit/container_setup_base_test.py 2019-08-16 09:53:16.000000000 +0200 @@ -121,7 +121,7 @@ '/dev/', 'root_dir/dev/' ) data.sync_data.assert_called_once_with( - options=['-z', '-a', '-x', '--devices', '--specials'] + options=['-a', '-x', '--devices', '--specials'] ) @patch('kiwi.container.setup.base.Command.run') diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/test/unit/iso_tools_base_test.py new/kiwi-9.18.12/test/unit/iso_tools_base_test.py --- old/kiwi-9.18.10/test/unit/iso_tools_base_test.py 2019-07-11 15:25:17.000000000 +0200 +++ new/kiwi-9.18.12/test/unit/iso_tools_base_test.py 2019-08-16 09:53:16.000000000 +0200 @@ -203,5 +203,5 @@ 'media_dir/boot/x86_64/loader' ) data.sync_data.assert_called_once_with( - options=['-z', '-a'] + options=['-a'] ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/test/unit/kiwi.egg-info/dependency_links.txt new/kiwi-9.18.12/test/unit/kiwi.egg-info/dependency_links.txt --- old/kiwi-9.18.10/test/unit/kiwi.egg-info/dependency_links.txt 1970-01-01 01:00:00.000000000 +0100 +++ new/kiwi-9.18.12/test/unit/kiwi.egg-info/dependency_links.txt 2017-11-29 17:13:38.000000000 +0100 @@ -0,0 +1 @@ + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/test/unit/kiwi.egg-info/entry_points.txt new/kiwi-9.18.12/test/unit/kiwi.egg-info/entry_points.txt --- old/kiwi-9.18.10/test/unit/kiwi.egg-info/entry_points.txt 1970-01-01 01:00:00.000000000 +0100 +++ new/kiwi-9.18.12/test/unit/kiwi.egg-info/entry_points.txt 2017-11-29 17:13:38.000000000 +0100 @@ -0,0 +1,4 @@ +[console_scripts] +kiwi-ng-3 = kiwi.kiwi:main +kiwicompat-3 = kiwi.kiwi_compat:main + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/test/unit/kiwi.egg-info/requires.txt new/kiwi-9.18.12/test/unit/kiwi.egg-info/requires.txt --- old/kiwi-9.18.10/test/unit/kiwi.egg-info/requires.txt 1970-01-01 01:00:00.000000000 +0100 +++ new/kiwi-9.18.12/test/unit/kiwi.egg-info/requires.txt 2017-11-29 17:13:38.000000000 +0100 @@ -0,0 +1,7 @@ +docopt>=0.6.2 +lxml +xattr +future +six +requests +PyYAML diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/test/unit/kiwi.egg-info/top_level.txt new/kiwi-9.18.12/test/unit/kiwi.egg-info/top_level.txt --- old/kiwi-9.18.10/test/unit/kiwi.egg-info/top_level.txt 1970-01-01 01:00:00.000000000 +0100 +++ new/kiwi-9.18.12/test/unit/kiwi.egg-info/top_level.txt 2017-11-29 17:13:38.000000000 +0100 @@ -0,0 +1 @@ +kiwi diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/test/unit/storage_luks_device_test.py new/kiwi-9.18.12/test/unit/storage_luks_device_test.py --- old/kiwi-9.18.10/test/unit/storage_luks_device_test.py 2018-11-06 10:13:35.000000000 +0100 +++ new/kiwi-9.18.12/test/unit/storage_luks_device_test.py 2019-08-20 09:47:42.000000000 +0200 @@ -1,8 +1,8 @@ -from mock import patch -from mock import call -import mock - -from .test_helper import raises, patch_open +import io +from mock import ( + patch, call, MagicMock, Mock +) +from pytest import raises from kiwi.exceptions import KiwiLuksSetupError from kiwi.storage.luks_device import LuksDevice @@ -10,28 +10,28 @@ class TestLuksDevice(object): def setup(self): - storage_device = mock.Mock() - storage_device.get_byte_size = mock.Mock( + storage_device = Mock() + storage_device.get_byte_size = Mock( return_value=1048576 ) - storage_device.get_uuid = mock.Mock( + storage_device.get_uuid = Mock( return_value='0815' ) - storage_device.get_device = mock.Mock( + storage_device.get_device = Mock( return_value='/dev/some-device' ) - storage_device.is_loop = mock.Mock( + storage_device.is_loop = Mock( return_value=True ) self.luks = LuksDevice(storage_device) - @raises(KiwiLuksSetupError) def test_create_crypto_luks_empty_passphrase(self): - self.luks.create_crypto_luks('') + with raises(KiwiLuksSetupError): + self.luks.create_crypto_luks('') - @raises(KiwiLuksSetupError) def test_create_crypto_luks_unsupported_os_options(self): - self.luks.create_crypto_luks('passphrase', 'some-os') + with raises(KiwiLuksSetupError): + self.luks.create_crypto_luks('passphrase', 'some-os') @patch('os.path.exists') def test_get_device(self, mock_path): @@ -42,44 +42,74 @@ @patch('kiwi.storage.luks_device.Command.run') @patch('kiwi.storage.luks_device.NamedTemporaryFile') - @patch_open - def test_create_crypto_luks(self, mock_open, mock_tmpfile, mock_command): - tmpfile = mock.Mock() + def test_create_crypto_luks(self, mock_tmpfile, mock_command): + tmpfile = Mock() tmpfile.name = 'tmpfile' mock_tmpfile.return_value = tmpfile - self.luks.create_crypto_luks('passphrase', 'sle12') - assert mock_command.call_args_list == [ - call([ - 'dd', 'if=/dev/urandom', 'bs=1M', 'count=1', - 'of=/dev/some-device' - ]), - call([ - 'cryptsetup', '-q', '--key-file', 'tmpfile', - '--cipher', 'aes-xts-plain64', - '--key-size', '256', '--hash', 'sha1', - 'luksFormat', '/dev/some-device' - ]), - call([ - 'cryptsetup', '--key-file', 'tmpfile', 'luksOpen', - '/dev/some-device', 'luksRoot' - ]) - ] - self.luks.luks_device = None + with patch('builtins.open', create=True): + self.luks.create_crypto_luks( + passphrase='passphrase', os='sle12', keyfile='some-keyfile' + ) + assert mock_command.call_args_list == [ + call( + [ + 'dd', 'if=/dev/urandom', 'bs=1M', 'count=1', + 'of=/dev/some-device' + ] + ), + call( + [ + 'cryptsetup', '-q', '--key-file', 'tmpfile', + '--cipher', 'aes-xts-plain64', + '--key-size', '256', '--hash', 'sha1', + 'luksFormat', '/dev/some-device' + ] + ), + call( + [ + 'cryptsetup', '--key-file', 'tmpfile', 'luksAddKey', + '/dev/some-device', 'some-keyfile' + ] + ), + call( + [ + 'cryptsetup', '--key-file', 'tmpfile', 'luksOpen', + '/dev/some-device', 'luksRoot' + ] + ) + ] + self.luks.luks_device = None - @patch_open - def test_create_crypttab(self, mock_open): + def test_create_crypttab(self): self.luks.luks_device = '/dev/mapper/luksRoot' - context_manager_mock = mock.Mock() - mock_open.return_value = context_manager_mock - file_mock = mock.Mock() - enter_mock = mock.Mock() - exit_mock = mock.Mock() - enter_mock.return_value = file_mock - setattr(context_manager_mock, '__enter__', enter_mock) - setattr(context_manager_mock, '__exit__', exit_mock) - self.luks.create_crypttab('crypttab') - file_mock.write.assert_called_once_with('luks UUID=0815\n') - self.luks.luks_device = None + self.luks.luks_keyfile = None + with patch('builtins.open', create=True) as mock_open: + mock_open.return_value = MagicMock(spec=io.IOBase) + file_handle = mock_open.return_value.__enter__.return_value + self.luks.create_crypttab('crypttab') + file_handle.write.assert_called_once_with( + 'luks UUID=0815\n' + ) + self.luks.luks_device = None + self.luks.luks_keyfile = 'some-keyfile' + with patch('builtins.open', create=True) as mock_open: + mock_open.return_value = MagicMock(spec=io.IOBase) + file_handle = mock_open.return_value.__enter__.return_value + self.luks.create_crypttab('crypttab') + file_handle.write.assert_called_once_with( + 'luks UUID=0815 /some-keyfile\n' + ) + self.luks.luks_device = None + + @patch('os.urandom') + def test_create_random_keyfile(self, mock_os_urandom): + secret = b'secret' + mock_os_urandom.return_value = secret + with patch('builtins.open', create=True) as mock_open: + mock_open.return_value = MagicMock(spec=io.IOBase) + file_handle = mock_open.return_value.__enter__.return_value + LuksDevice.create_random_keyfile('some-file') + file_handle.write.assert_called_once_with(secret) def test_is_loop(self): assert self.luks.is_loop() is True diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/test/unit/storage_setup_test.py new/kiwi-9.18.12/test/unit/storage_setup_test.py --- old/kiwi-9.18.10/test/unit/storage_setup_test.py 2019-05-24 11:43:19.000000000 +0200 +++ new/kiwi-9.18.12/test/unit/storage_setup_test.py 2019-08-20 09:47:42.000000000 +0200 @@ -88,11 +88,6 @@ self.setup.mdraid = True assert self.setup.need_boot_partition() is True - def test_need_boot_partition_luks(self): - self._init_bootpart_check() - self.setup.luks = True - assert self.setup.need_boot_partition() is True - def test_need_boot_partition_lvm(self): self._init_bootpart_check() self.setup.volume_manager = 'lvm' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/test/unit/system_setup_test.py new/kiwi-9.18.12/test/unit/system_setup_test.py --- old/kiwi-9.18.10/test/unit/system_setup_test.py 2019-07-17 16:53:22.000000000 +0200 +++ new/kiwi-9.18.12/test/unit/system_setup_test.py 2019-08-16 09:53:16.000000000 +0200 @@ -803,7 +803,7 @@ 'root_dir/etc/modprobe.d', 'target_root_dir/etc/' ) data.sync_data.assert_called_once_with( - options=['-z', '-a'] + options=['-a'] ) @patch('kiwi.system.setup.Command.run')
participants (1)
-
root