Commit Graph

18 Commits

Author SHA1 Message Date
Marcus Schäfer
d102c6af8d
Allow to configure .changes creation and bundling
Provide config option has_package_changes in the runtime config
file and set a useful default. For building outside obs the
default for the .changes creation is switched on, for building
in obs it's switched off because obs creates its own info file
2020-10-02 11:18:55 +02:00
Marcus Schäfer
76ad67e82c
Add support for package changelog info
In addition to the .packages file which shows details about
the installed packages in terms of version, license, etc...
we now also create a .changes file which contains the changelog
information of the installed packages. The file can be used
to compare the package changelogs between image builds.
2020-09-26 14:46:13 +02:00
David Cassany
6196893261
Remove /etc/sysconfig/language support
As of SLE15 and onwards /etc/sysconfig/language is considered to be
obsolete and just kept for compatibility purposes. Thus there is no
need to manage the file anymore.

Fixes #1471
2020-06-12 15:43:37 +02:00
Marcus Schäfer
fe123fb267
Added new post disk sync script hook
Allow to put a disk.sh script as part of the image description
which is called for the disk image types `vmx` and `oem`
only and runs after the synchronisation of the root tree into the
disk image loop file. At call time of the script the device name
of the currently mapped root device is passed as a parameter.
The chroot environment for the call is the mounted disk itself
which makes this different from the config.sh/images.sh caller
environment. This Fixes #1464
2020-06-06 16:29:24 +02:00
Marcus Schäfer
9618a5189d
Fixed parse result description reference
The object that holds the parse result also contains an
information about description_dir and derived_description_dir.
The change on the markup processing impacted the value for
description_dir to be no longer the origin (user provided)
directory. That broke any reference of files that belongs
to the description directory like custom scripts config.sh,
images.sh and so on.
2020-05-22 14:31:43 +02:00
Marcus Schäfer
4720d21283
Support multiple markup formats
Allow to read multiple markup formats. Supported are XML
and YAML. The parsing and transformation is based on the
anymarkup module. The use of anymarkup is optional and
implemented as an on demand loading module. If a user
uses a yaml config file or a request to convert into
yaml is made without an installed anymarkup module an
exception is thrown
2020-05-15 13:59:22 +02:00
David Cassany
feb574a913 Adding support for Pacman package manager
This commit adds support for pacman package manager and, in
consequence, support for Arch Linux images. It also adds
the package definition for Arch Linux.
2020-05-03 16:18:02 +02:00
Marcus Schäfer
29a9d60a38
Allow overlay directories for profiles
In addition to the existing root/ overlay directory which
applies always there can now also be profile specific overlay
directories. If an overlay directory should be applied for
a specific profile this can now be done by placing this data
in a directory that is named the same as the profile name.
2020-04-02 12:58:38 +02:00
Marcus Schäfer
94c7a7cdf6
Added new oem-resize-once element
The new element controls the behavior of the repart/resize code
in the oem-repart dracut module. By default the repart/resize
happens on every reboot and therefore also allows for disk
geometry changes during the livetime of the machine. If the
element is set to false the repart/resize operation happens
only once and then never again. To check for this condition
a new profile environment variable kiwi_rootpartuuid which
holds the PARTUUID of the root partition has been added to
the disk builder.
2020-03-27 10:37:42 +01:00
Marcus Schäfer
3b7f5be918
Complete refactoring of fstab handling
With the new Fstab class from prior pull request there is an
opportunity to handle all fstab related actions to be done
by that class. This commit extends the Fstab class with an
add_entry method such that we can avoid the extra lists
holding raw fstab lines in e.g the disk builder. In the end
all fstab related data is stored in an instance of the Fstab
class. This also extends the KIWI api by an fstab management
class. Related to #1329 and #1349
2020-03-18 16:01:13 +01:00
Marcus Schäfer
bc372a12b1
Validate and order final fstab file
On write of the final fstab file read, validate and order
the entries. This is related to Issue #1349
2020-03-17 11:25:56 +01:00
David Cassany
75a91385e4
Do not create empty macros file
This commit makes sure to empty RPM macros files are created during
the build. Additionally it also ensures that no needless `rm` and `mkdir`
calls are done.

Fixes #1316
2020-02-18 14:08:30 +01:00
David Cassany
1466a6c69a
Make use of Path.which including root_dir parameter
This commit refactors the use of Path.which in several parts of the
code. Since dd4d2ed78 the Path utility is capable to run Path.which
on certain chroot env, thus no need to adapt the PATH environment
variable.

Fixes #1281
2020-01-22 16:12:08 +01:00
Marcus Schäfer
8c6eeac4a5
Open image files in UTF-8
Post image build metadata like the packages file which are
created from data produced by the package manager can contain
multibyte characters and should be written into files opened
with the UTF-8 encoding. The same applies to the image imported
XML description. This Fixes #1290
2019-12-05 09:26:31 +01:00
Marcus Schäfer
b265be128c
Merge pull request #1249 from OSInside/refactor_logging
Refactor logging
2019-10-24 11:10:29 +02:00
Marcus Schäfer
bdb7123fa1
Refactor use of logging facility
Use getLogger method instead of a global log object
Also use caplog fixture to capture log messages in
unit tests. This Fixes #1244
2019-10-23 17:54:27 +02:00
David Cassany
80e791d2ef
Make home attribute optional on users definition
This commit makes home attribute of users definition optional. This way
the home directory is created according to the distribution defaults.
Note that `-m` option is passed to user add, thus the home directory is
requested to be created even without having an explicit home path
defined.

Fixes #1025
2019-10-23 15:57:51 +02:00
David Cassany
4b3a105026
Re-structure unit tests folders
This commit relocates unit tests to a folder structure that matches
the source code structure.

Fixes #1128
2019-10-21 14:00:05 +02:00