Commit Graph

119 Commits

Author SHA1 Message Date
Marcus Schäfer
640284f48c
Refactor incremental changelog update
The creation of the package changelog is based on a reference file.
However that reference file contained log information in a specific
timezone which requires to hardcode the region of that timezone
in the code to correctly run date/time calculations. This can
be done better from a conceptual point of view. This patch changes
the handling in a way that the reference file is a git log
excerpt including the dates as git log lists them. The dates
contains complete numeric time/date/zone information and can be
used for calculations. The changelog helper tool converts the
result data to match the requirements of rpm changelog files
and prints the time/date information localized to the callers
timezone or as UTC if the --utc switch is given. By default the
user local timezone settings applies. That way the setup of
the local timezone is immaterial to the changelog processor
and the workaround in the gitlab-ci rpm stage can be deleted
too.
2019-03-15 20:56:19 +01:00
Marcus Schäfer
a11c5d37e0
Update changelog reference 2019-03-13 15:53:15 +01:00
Marcus Schäfer
c473cc0fdc
Update changelog reference 2019-03-13 14:55:04 +01:00
Marcus Schäfer
c9c31abc53
Update changelog reference 2019-03-13 14:34:08 +01:00
Marcus Schäfer
326efed73f
Update changelog file
Fix changelog entries for their encoding, author name and format
Also make sure commits are shown in reverse chronological order
of the author date. We intentionally don't use the commit date
because a commit can be older than the latest entry in the current
reference file and would then not be part of the git log
information
2019-03-13 09:26:40 +01:00
Marcus Schäfer
64bb2694f6
Introduce better changelog handling
The current way of creating the changelog file for the package
is based on reading the entire history of the git repository and
turns that information into a changelog. The downside of this
approach is that any change in the code that creates this changelog
information will impact older entries and could cause a conflict
on the changes file of the released package. This usually leads
to declined package submissions and blocks us in fixing bugs
in the changelog generator. This commit changes the process in
a way that only changes related to the oldest entry of a reference
changelog file compared to the current branch are taken into
account. This Fixes #979
2019-03-13 09:26:40 +01:00
Dan Čermák
0936db8fc1
Extend the GitLab-CI pipeline
- build the documentation in the build_doc stage
- run tests for all supported Python versions in tox_check
- build an RPM for Fedora 29 & OpenSUSE Tumbleweed in RPM stage
2019-03-12 12:29:56 +01:00
f0392f4b16 Ensure DNF is installed for kiwi itself and the test CentOS 7 appliance
In e33f53aa45, we switched to DNF when requesting YUM.
This now means we need to ensure DNF is installed for images where
we previously used YUM for that.
2019-03-01 08:48:44 -05:00
e33f53aa45 Rework package manager selection to use DNF when YUM is requested
YUM v3 is no longer developed, having been superseded by DNF for
several years. With DNF now available as a usable package manager
in Red Hat Enterprise Linux 7 through the Extras channel and
SUSE Linux Enterprise 15 through PackageHub, there is no reason for
keeping support for YUM v3 around.

We are keeping support for requesting YUM because in Red Hat Enterprise
Linux 7, DNF is referred to as "YUM v4", and it is simply referred to
as "YUM" in Red Hat Enterprise Linux 8. To avoid confusion from people,
we're just going to leave it in place as an alias to the DNF package
manager.

As for why this is happening now, Fedora is retiring YUM v3 in
Fedora 31, so we might as well get it over with and cut over now.

Reference: https://fedoraproject.org/wiki/Changes/Retire_YUM_3
2019-02-28 15:09:21 -05:00
Marcus Schäfer
9c0855753a
Fix package conflict for completion file
The completion can only be provided by one package if not
python version specific completion files are provided. Due
to the fix in #920 the completion file must be provided by
another sub-package. This commit moves it to the
kiwi-man-pages package. Actually kiwi man pages provides
more than just the man pages, but also the PDF documentation
and I think the completion information serves the purpose of
documentation to some degree too.
2019-01-24 11:27:48 +01:00
Marcus Schäfer
eb4076bdaf
Fixed file name of completion file
The bash completion file must match one of the alternatives links.
Otherwise the bash completion mechanism will not match. kiwi-ng is
the unique alternative link name compared to the still present
legacy kiwi version and should be used preferably
2019-01-24 09:32:44 +01:00
David Cassany
daab92ae05
Add parted dependency for dracut-kiwi-live package
dracut-kiwi-live requires `partprobe` tool and this is provided by
parted package. Persistent overlay setup fails if parted is not
installed in the image.
2018-11-19 11:19:36 +01:00
David Cassany
5de35d1733
Fix spec to better support Debian and Ubuntu builds
This commit fixes the spec to properly build for Debian and Ubuntu.
More specific:

* update-alternatives path has been adapted
* python3-kiwi are now enabled for Debian 9 and Ubuntu 18.04
2018-11-15 17:07:33 +01:00
Marcus Schäfer
733012c5a1
Make gfxboot a recommended package
gfxboot is needed on the host for certain boot graphics
operations. It's used if the boot theme provides a gfxboot.cfg
In this case the tool is also required. The setup of the
boot themes is differently implemented in each of the
distributions we support. In addition on suse distributions
gfxboot is no longer in the core system. Given that we are
not able to find a common base on requirement of the package
we changed gfxboot from a required to a recommended package
and deleted the requirement on debian based distros
2018-11-12 11:37:35 +01:00
Marcus Schäfer
a1be962200
Use %{ix86} rather than %ix86 in spec template
Clear macro annotation prevents clarity issues
2018-10-19 08:51:47 +02:00
Marcus Schäfer
65c7d71c07
Fixed spec file for gfxboot requires
Require gfxboot but only for the x86 architecture
2018-10-18 17:58:36 +02:00
Marcus Schäfer
8220b6f582
Delete obsolete rhel/fedora doc move
With the fix to use the rpm macro consistently it
is no longer required to move around the docs
2018-10-11 17:35:54 +02:00
Marcus Schäfer
ebe2e746e7
Merge pull request #841 from SUSE/fix_pdf_doc_installation
Fixed package doc install target
2018-10-11 17:12:55 +02:00
Marcus Schäfer
f1042730cb
Fixed package specs for dracut modules on fedora
dracut-network is a separate package on Fedora/RHEL too
2018-10-11 16:03:32 +02:00
Marcus Schäfer
e64ccbe74c
Fixed package doc install target
The spec file uses the %{_defaultdocdir} macro but the
corresponding Makefile target used a hardcoded path which
lead to inconsistencies on debian/ubuntu based systems.
This Fixes #838
2018-10-11 15:29:20 +02:00
Marcus Schäfer
9eaebb15c3
Fixed package specs for dracut modules on debian
btrfs tools are provided by btrfs-tools package and not by
btrfs-progs. In addition dracut-network is a separate package
on debian/ubuntu based distributions. This Fixes #837
2018-10-11 15:04:48 +02:00
Marcus Schäfer
9df816c064
Don't require gfxboot on rhel/fedora 2018-10-09 12:28:46 +02:00
Marcus Schäfer
72b0173208
Added gfxboot to required packages in spec
kiwi calls gfxboot as tool when building live iso images.
Thus this tool provided by the gfxboot package should be
a requirement for kiwi
2018-10-09 12:15:02 +02:00
Marcus Schäfer
e7987be802
Include PDF build of documentation to the package
Bundle a PDF version of the online documentation with the rpm package
build. Due to the complexity of getting a latex build environment into
the travis CI which does not take forever to install, the bundling of
a built PDF into the pypi archive has been skipped. Users installing
from pypi would need to install a latex env on their machine and
run make latexpdf from the installed bundle.
This Fixes #819
2018-09-24 17:31:07 +02:00
Marcus Schäfer
711d2ee2c3
Fixed spec template
Directory delimiter missing in call for install_dracut target
2018-09-14 11:38:21 +02:00
Marcus Schäfer
a891fbac60
Separate dracut module install by Makefile target
The dracut modules like kiwi provides it should not be part of the
default install target. If kiwi gets installed from source or via
pip all dracut code gets installed on that system which is unwanted
and in the worst case leads to boot trouble next time this system
rebuilds its initrd via dracut. Therefore an extra Makefile target
which is used in the spec of an rpm but not in the install target
of setup.py is provided in this commit.

As a consequence the installation from pip will not install any
dracut modules on that system which is intentional. Installing from
source requires to run make install_dracut which if called assumes
the caller knows what he/she does :)
2018-09-07 10:13:58 +02:00
Marcus Schäfer
d30cd0e902
Delete dmraid aka: softraid soft/fakeraid support
In fate#323743 the decision was made to drop dmraid from
the distribution. Along with the low business case for those
controllers and the support for linux softraid via mdadm
we also drop the support in kiwi for oem-ataraid-scan
2018-08-06 12:23:53 +02:00
David Cassany
2f22cad3f8
Modify python-yaml dependency for CentOS and RHEL 7
This commit fixes #785
2018-07-25 08:40:36 +02:00
David Cassany
4e778db916 Add correct GPL-3.0-or-later license
Add the correct license reference in the spec License field

Fixes #732
2018-05-15 19:07:35 +02:00
Marcus Schäfer
d0bd6a27e9
Update spec file to require xorriso 2018-03-22 17:40:54 +01:00
David Cassany
89fe579ffe Remove xml_parse.py shebang in spec
It removes the shebang from the autogenerated file and also removes
the exception in rpmlint to ignore non-executable-script warning.

Fixes #666
2018-03-21 15:54:25 +01:00
David Cassany
30f3354600 Remove unneeded shebangs from dracut modules
Fixes #668
2018-03-20 11:59:38 +01:00
Marcus Schäfer
e76e23bc44
Fixed base package requires
kpartx is used by kiwi but was not required in spec
2018-03-13 10:02:16 +01:00
Marcus Schäfer
2d61c91e8e
Fixup python-kiwi base package requires
There is no need for the base package to require multipath.
Those tools are only needed for dracut modules
2018-03-09 11:26:38 +01:00
Adam Majer
57ad4acfd1 Use mkisofs instead of wodim 2018-02-23 13:38:37 +01:00
Marcus Schäfer
6553936265 Deleted obsolete boot descriptions
The custom kiwi boot descriptions has been moved into
the kiwi-descriptions github repo and builds the compat
package kiwi-boot-descriptions from there. The build
of the boot image(initrd) is done by dracut and the
dracut module packages provided by kiwi. The classic
custom boot descriptions can still be used as alternative
method if the above package is installed. Related to
Issue #576
2018-02-14 18:42:49 +01:00
Neal Gompa
12a9dfb0fa Initial support for building Debian/Ubuntu packages in spec
This adds support for producing the main kiwi package as well as the
packages for the dracut modules to be used when building Debian-based
distribution images with KIWI.

The Debian/Ubuntu package is built using debbuild: https://github.com/ascherer/debbuild
2018-02-11 16:10:23 -05:00
Marcus Schäfer
8cc0138eaa
Fixed dracut-kiwi-oem-dump requires setup
on rhel/fedora multipath is provided by device-mapper-multipath
2018-01-24 12:05:53 +01:00
Marcus Schäfer
2d68cbbbd8
Fixed reading device node path
lsblk should be called with -p because it's a mistake
to assume any device lives below /dev. There could also
be subtree devices in /dev/mapper or /dev/disk/..
We leave it up to lsblk to provide us the correct
information
2018-01-22 14:23:59 +01:00
Marcus Schäfer
8dbd012078
Added required packages for dmraid and multipath 2018-01-22 09:47:36 +01:00
Marcus Schäfer
1f348e8436 Add support for net install in dracut kiwi-dump
This implementes one of the tasks from Issue #576
2018-01-19 14:27:52 +01:00
Marcus Schäfer
6784ea8eeb Added dracut-kiwi-oem-dump subpackage to spec 2018-01-16 16:24:58 +01:00
Adrian Schröter
066cb0be23 add missing deps for docker builds.
Moving kiwi-image:* provides to -requires package
2017-12-11 18:04:55 +01:00
Marcus Schäfer
5b06180b72 Fixed dependencies for dracut-kiwi-lib
Adapt package names for gdisk/gptfdisk and btrfs-progs/btrfsprogs
Install and require fdasd only on s390 architecture
Delete fbiterm requirement since the project seems unmaintained
and the use of the framebuffer terminal is an option in the code
but not mandatory. This Fixes #559
2017-12-04 12:00:38 +01:00
Marcus Schäfer
6b7532d53b
Fixed typo in spec file
The use of the suse_version macro from the last change
introduced a syntax error which caused the package build
to fail in obs
2017-11-22 10:20:47 +01:00
Dominique Leuenberger
d0fa1ec471
package: Prepare for Tumbleweed moving to suse_version 1550 2017-11-21 11:37:32 +01:00
Marcus Schäfer
6b66e069ef
Add device-mapper requirement for dracut-kiwi-live 2017-11-21 08:11:20 +01:00
Marcus Schäfer
065b277ff1 Added dracut kiwi oem module and library
A new dracut module kiwi-repart used to be the successor of
the custom kiwi oemboot code to repartition the disk has
been added. Along with the module a dracut library kiwi-lib
will also be delivered.
2017-11-15 11:23:01 +01:00
Marcus Schäfer
a330cff211 Merge pull request #514 from DimStar77/tftp-perm
Changed permissions of /srv/tftpboot to be readable (bsc#940608)
2017-09-29 14:29:37 +02:00
Dominique Leuenberger
ed2844d4f0
Changed permissions of /srv/tftpboot to be readable (bsc#940608) 2017-09-29 10:24:05 +02:00