- Revert "Include .buildenv file inside the buildroot"
This reverts commit d30bf4a19ff11f7132c9a31528ddfa103e01b299.
This also includes the get_buildservice_env_name method in Defaults
to centralize '.buildenv' occurrences.
- Fixup helper/kiwi-boot-packages
Make sure the code also works in python2
- Search for python interpreter in path
Allow more flexible path spec to find python interpreter
- More comfort in calling with compat arguments
In addition to the 'kiwi --compat -- ...' style we also support calling
the kiwi compat mode as a service via 'kiwi compat ...' The preferred
way of calling kiwi with legacy options is via the new compat service.
OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=42
- Refactor Uri is_public method
Don't call a nested is_remote from is_public, instead the method
was rewritten to explicitly cover the responsibility to check
under which conditions we treat an uri as publicly available
or not
- Fixed Uri is_remote method
If called inside of the buildservice the obs uri type is not
a remote uri because the translation ends in a local path
OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=41
- Update doc string for Uri::translate method
The method was missing doc info about the check_build_environment
parameter and the return type of the method
- Delete obsolete --obs-repo-internal switch
- Create obs project download link like obs does it
In reference to _download_repository_link.html.erb from
https://github.com/openSUSE/open-build-service, we use the
same mechanism to create the download link from an obs://
project definition
- Fixup unit test for help command
- Follow up fix for man page move
OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=39
- Add unit tests for compat mode
- Do not translate obs scheme to suse scheme for imageonly repos
Fixes#404
- Fixed compat setup for upgrade command
Value for --root option was added after other options
- Translate obs to suse derived from image uris
This commit performs a translation from obs scheme to suse
scheme for derived from image uris when kiwi is running in a
buildservice worker.
Fixes#399
OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=38
- Fix content layout of zypper credentials file
Missing line break for entries in zypper credentials file
- Allow imageinclude repositories inside the build service
Fixes#397
- Fixed doc_travis tox target
using shell syntax requires calling a shell process
- Allow imageinclude in add|set-repo commandline
The --set-repo and --add-repo commandline options now allows
additionally to specify a true|false value to indicate if the
repository should be part of the system image repository
setup or not. This Fixes#398
OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=37
- Fixed setup_plymouth_splash
The schema generated get_bootsplash_theme() method returns a list
because it's section content. The return value of the method was
used as a string which caused a runtime error
- Add package manager in image info task solving process
This commit includes the package manager package in the packages
list to be solved in image info task.
- Include patternType information to resolv packages in image info task
This commit includes ingore_recommended flag in the Sat.solve method.
This way if the description file states to include only required
packages (without recommendations) it is respected and taken into
account to resolv the packages list.
Fixes#381
OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=35
- Fixed gce disk format
The order of the files in the tarball is important. The first
entry must be the manifest.json followed by disk.raw
- Make sure CliTask instance reads the config file
Any instance of a CliTask has to read the runtime config file
if present
- Add generic access for attributes
The layout of the yaml runtime config is based on an element
topic containing a list of attributes. For now only the xz
topic with its options attribute is in use but for the future
more elements might be supported which can use the same access
method
- Setup plymouth splash in the image prepare process
OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=34
- Update rpm-check-signatures documentation
- Fix default location repository config file for apt
This commit fixes the apt config file management for default
locations. The template subsitution always needs to be executed
providing all the substitution parameters, as it does not make any
kind of default assumption when parameters are missing.
Fixes#370
- Revert "Refactor detection code for grub directory name"
The former detection of the grub directory name in boot was
correct whereas the new code introduced a problem.
This reverts commit b3e4b871d52da2b5ab579d592ccc7ae39de75339.
This Fixes#371
- Include repository_gpgcheck and package_gpgcheck documentation
OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=32
- Refactor detection code for grub directory name
The method get_grub_boot_directory_name was based on checking
for the name of the grub2 install tool, but this is not always
reliable because the name of the grub2 install tool has no
direct connection to the grub2 path. The method changes in a
way that it checks for the presence of the grub2 installation
directory which is /usr/lib/grub or /usr/lib/grub2. Depending
on the result the location in boot is /boot/grub or /boot/grub2
which seems to be a more reliable check
- Fixup detection of grub directory name
In order to put grub data to boot/grub2 or boot/grub a check for
the grub2-tool vs. grub-tool name is performed. This requires
access to the image root directory on a file basis which is not always
applicable. When setting up the grub bootloader for e.g EFI boot on
an iso image the rootfs can't be directly accessed because the iso
image contains the rootfs in a compressed format. This commit
refactors the check to be generic for all image types
- Fixup EFI setup for iso images
OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=31
- Bump version: 9.6.2 → 9.7.0
- Make sure all required yum repo options are set
enabled and gpgcheck parameters has to be set for any
configured yum repository
- Fixup repository setup for yum
Yum cannot handle spaces between the key and the value.
This patch provides a method to tell ConfigParser to use
no spaces for the '=' delimiter and thus Fixes#357
- Reactivate warnings report in pytest
- Fixup kernel name lookup
If multiple abi compatible kernel module packages are installed
the kernel version of the boot kernel could be different from
the kernel module versions. In order to find the boot kernel
all kernel versions found must be checked. Fixes#355
OBS-URL: https://build.opensuse.org/request/show/500565
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-kiwi?expand=0&rev=6
- Bump version: 9.6.2 → 9.7.0
- Make sure all required yum repo options are set
enabled and gpgcheck parameters has to be set for any
configured yum repository
- Fixup repository setup for yum
Yum cannot handle spaces between the key and the value.
This patch provides a method to tell ConfigParser to use
no spaces for the '=' delimiter and thus Fixes#357
- Reactivate warnings report in pytest
- Fixup kernel name lookup
If multiple abi compatible kernel module packages are installed
the kernel version of the boot kernel could be different from
the kernel module versions. In order to find the boot kernel
all kernel versions found must be checked. Fixes#355
OBS-URL: https://build.opensuse.org/request/show/500565
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-kiwi?expand=0&rev=6
- Make sure all required yum repo options are set
enabled and gpgcheck parameters has to be set for any
configured yum repository
- Fixup repository setup for yum
Yum cannot handle spaces between the key and the value.
This patch provides a method to tell ConfigParser to use
no spaces for the '=' delimiter and thus Fixes#357
- Reactivate warnings report in pytest
- Fixup kernel name lookup
If multiple abi compatible kernel module packages are installed
the kernel version of the boot kernel could be different from
the kernel module versions. In order to find the boot kernel
all kernel versions found must be checked. Fixes#355
OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=29
- Use 'yum-deprecated' if it exists when using Yum
On Fedora and Mageia systems, the Yum package manager binary is named
'yum-deprecated', and 'yum' redirects to DNF. This is a problem for
being able to build images of Linux systems that use Yum as its package
manager, like RHEL/CentOS 7.
So, in order to ensure we use the right package manager, we check for
the 'yum-deprecated' binary and use it if it exists.
- Restructure low level topic (iso_to_usb)
The low level topic references information from the base
topic. In this case the name of the previously built image.
I think we should provide information on each low level
topic which references information from a base topic.
- Handle rpm-check-signatures flag for each package manager
This commit adds support for the rpm-check-signatures flag, which
sets the package manager to verify or not each package signature.
By default KIWI assumes no gpg checks are done.
OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=27
- Update build docker images documentation
This commit includes steps to install umoci and skopeo, descriptions
for the configurable metadata in KIWI and some simple style fixes.
- Fixed tox.ini doc target
location of schema docs has changed, and we better disable
the spell check as long as not all unknown technical terms
are added to the wordlist.txt
- Use correct service name variable
- Refactor documentation layout and structure
The current design of the documentation does not allow for
continous improvement and development. It's missing a basic
structure and concept for documenting step-by-step workflows
and generic explanations.
OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=26
- Additional container commandline options
Added --set-container-derived-from and --set-container-tag
commandline options which allows to overwrite the data set
in the XML configuration
- Implement obsrepositories source on derived_from
The following reference to a derived container:
obsrepositories:/container#latest
Will be translated into the following buildservice
local path:
/usr/src/packages/SOURCES/containers/_obsrepositories/container#latest
- Implement obs source on derived_from
The following reference to a derived container:
obs:/project/repo/container#tag
OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=24
- Include '--delete' in OCI images DataSync
This commit includes #310 patch for OCI images.
It also corrects the end of line format for kiwi/container/docker.py
and test/unit/container_image_docker_test.py, so flake tests are all
green.
- Include --delete flag in DataSync for docker images
This commit includes the --delete flag in order to synchronize the
docker images. This is relevant for derived images where the new
layer might not only add files, but also remove something from the
base image.
Fixes#309
- Define correct default locations for sources-dir and preferences-dir
In order to ensure that the defined repositories in the KIWI configuration
are set to the correct places for installing into the image, the
sources-dir and preferences-dir need to be redefined to point to the
OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=23
- Add warning logs for unkown base image URIs
- Update spec template for SLE13->SLE15
- Rename SLE13 to SLE15
- Follow up fix for grub2 setup in live builder
The live iso builder still used a fixed boot/grub2 path
but due to the refactoring this path is now distro dependant
and should be obtained dynamically
- Cleanup use of bootloader path in boot code
Instead of repeating the bootloader path only specify it
once per setup path
OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=21
- Update development and contribution chapter
Fix some minor inconsistencies due to latest code changes
with regards to py2 and py3 compatibility and also change
the style of the chapter to be more straight forward for
people who would like to contribute from scratch
- Keep imported image in OCI format instead of docker
Kiwi always uses OCI format for container manipulations, so it is
easier to assume the image kept between prepare and create step
is also in OCI format, this way less format convertions are needed.
OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=20
- Avoid GRUB_DISTRIBUTOR setup in etc/default/grub
The GRUB_DISTRIBUTOR information can't be provided in a generic
way for all distributions. The information should be either placed
by a package post script (as done by most of the distributions)
or by a custom kiwi config.sh or images.sh script. Fixes#286
Fixes (bsc#1032119)
- Fixup bootloader menu title setup
If the menu title is setup via the displayname attribute in
the XML configuration, kiwi should not change this text by
a prefix or any other style adaptions. Fixes#287
Fixes (bsc#1032118)
- Fixup copy of array in boot code
The filtered nic interface names are stored in an array
and copied back into the original array. The copy of the
array was semantically wrong
OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=18
- Fixup theme setup in boot
Make sure grub theme data is populated in the boot directory.
Checking only for the presence of the theme directory is not
enough. If the theme directory in boot does not contain the
requested theme it must be provided including a warning if
the theme data could not be found in the system
- Do not change the API in an incompatible way
- Use request_package_exclusion method in prepare
- Refactor method name of package manager interface
The request_package_lock was renamed into request_package_exclusion
because that is the goal, to actually exclude(skip) a package. From
an implementation point of view this is done to set a lock in the
zypper case. However other package managers might do it differently.
The interface should stay consistent with regards to the user goal
and not with the package manager specific implementation. This
OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=17
- Delete no longer needed btrfs bootpath setup
The adaption of the bootpath in the grub.cfg file with regards
to the btrfs toplevel volume named '@' was the wrong solution.
The fixes in the btrfs filesystem setup and the config files
etc/default/grub and sysconfig/bootloader caused the grub
toolchain to work properly. This Fixes (bsc#1030038)
- Convert user input to absolute paths
This commit converts the paths provided by the user with the
command line to absolute paths. The effected arguments are:
* --root
* --target-dir
* --bundle-dir
This supersedes and fixes#271
- Support editbootconfig also for the iso type
This Fixes#274
OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=16
- Fixed checksum file creation
If the checksum should be created from a compressed file
it is expected that the checksum of the uncompressed file
is added to the checksum file. This is because in a pxe
deployment the uncompressed version of the file is put
on disk and compared with the reference information in
the checksum file
- Refactor ip link detection
There is no reliable way to check if a link is unplugged, thus
the code has changed into the following workflow
1. use interfaces which returns success on ip link set up
2. wait for the UP state on all of these interfaces and return
if one of them enters the UP state
3. call a fixed wait state to allow to kernel network drivers
to settle
4. run through all remaining interfaces, discover the link
state and call a DHCP discovery
OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=15
- Bump version: 9.3.3 → 9.4.0
- Allow https location as repository source
- Refactor RootImport to keep images with a default name
RootImport has been refactored so the image is kept with a known
name that can be obtained with the Defaults class.
- Added SLE13 distribution matcher
- Update distribution matcher in spec file
- Refactor ContainerBuilder
Use Checksum instance to run a checksum match
Check for existence of base image at earliest opportunity
when constructing a ContainerBuilder
OBS-URL: https://build.opensuse.org/request/show/479991
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-kiwi?expand=0&rev=2
- Bump version: 9.3.3 → 9.4.0
- Allow https location as repository source
- Refactor RootImport to keep images with a default name
RootImport has been refactored so the image is kept with a known
name that can be obtained with the Defaults class.
- Added SLE13 distribution matcher
- Update distribution matcher in spec file
- Refactor ContainerBuilder
Use Checksum instance to run a checksum match
Check for existence of base image at earliest opportunity
when constructing a ContainerBuilder
OBS-URL: https://build.opensuse.org/request/show/479991
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-kiwi?expand=0&rev=2
- Fixup pxe builder
filesystem image rootfs was not in toplevel
- Bump version: 9.4.0 → 9.4.1
- Fixup pxe builder
Generate a tarball containing all relevant pxe boot result
files instead of a bunch of extra files. This also turns
the pxe builder to be compatible again with the legacy
kiwi pxe bundler
- Don't create shasum over an md5 file
OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=13
- Allow https location as repository source
- Refactor RootImport to keep images with a default name
RootImport has been refactored so the image is kept with a known
name that can be obtained with the Defaults class.
- Added SLE13 distribution matcher
- Update distribution matcher in spec file
- Refactor ContainerBuilder
Use Checksum instance to run a checksum match
Check for existence of base image at earliest opportunity
when constructing a ContainerBuilder
OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=12