Commit Graph

60 Commits

Author SHA1 Message Date
Marcus Schäfer
1da2886fd1
Delete kiwi compat mode
The compat mode allowed a kiwi v7 legacy argument translation
and is obsolete since a long time
2024-04-03 13:42:07 +02:00
Marcus Schäfer
61da7aeade
Add support for %v in bundle format
Allow a placeholder for the entire version text as
provided by the <version> section
2024-03-19 17:09:39 +01:00
Marcus Schäfer
88ccd4d1e9
Allow bundle format to be set on the commandline
The bundle format is usually specified as part of the image
description in the bundle_format attribute. This commit also
allows to specify/overwrite the bundle format in the kiwi
result bundle command via the new --bundle-format option.
This Fixes #2509
2024-03-19 15:50:23 +01:00
Dmitri Popov
3b3ac7cb78
Revise system_update.rst 2024-03-14 11:57:55 +01:00
Dmitri Popov
492106f0b3
Revise system_prepare.rst 2024-03-14 11:57:54 +01:00
Dmitri Popov
a50fc0a6b5
Revise system_create.rst 2024-03-14 11:57:19 +01:00
Dmitri Popov
ee5de2c89f
Revise system_build.rst 2024-03-14 11:57:17 +01:00
Dmitri Popov
7098e4c374
Temp commit 2024-03-14 11:56:12 +01:00
Dmitri Popov
21084986e1
Revise image_size, kiwi 2024-03-14 11:56:12 +01:00
Dmitri Popov
dc49dfae9a
Revise image info 2024-03-14 11:56:12 +01:00
Marcus Schäfer
9570906753
Drop rpm-dir from allowed repository type
Using an arbitrary list of rpm packages as repository is a zypper
only feature, barely tested and from our pov not really needed
as a simple createrepo call turns any custom list of packages
into a clean rpm-md repo including metadata. This commit drops
rpm-dir from the list of allowed repository types and auto
converts those image descriptions which makes use of it. Please
note this does not prevent users from using flat package
directories with zypper, because the type argument in the
repository section is an optional attribute. In case there is
no type specification zypper auto-detects and handles the data
as it handles it. This Fixes #1926
2024-03-12 16:40:07 +01:00
glaubway
f5c2b3281f
make alias unique in any cases 2023-06-10 17:22:47 +03:00
Marcus Schäfer
bbbfdce1e9
Allow to pass credentials as file reference 2022-12-14 16:58:43 +01:00
Marcus Schäfer
80fffdecc2
Support repo URI's with credentials on cmdline
Specifying a repository as part of the image description
allows for credentials via the username and password attributes.
Howver, repositories can also be specified on the commandline
via the --set-repo / --add-repo options. The options on the
commandline did not allow to specify credentials so far.
This commit adds the commandline options --set-repo-credentials
and --add-repo-credentials to support them
2022-12-14 16:58:43 +01:00
Marcus Schäfer
dc34b5ee84
Fixed typo in documentation
Capitalize at the start of a sentence.
This Fixes #2216
2022-12-09 15:33:51 +01:00
Marcus Schäfer
b8bcabf30c
Added --loglevel option
specify logging level as number. Details about the
available log levels can be found at:
https://docs.python.org/3/library/logging.html#logging-levels
Setting a log level causes all message >= level to be
displayed.
2022-11-08 15:06:50 +01:00
Marcus Schäfer
ce203dbe14
Added support for --logsocket
Like with --logfile this commit adds support for using
an existing Unix Domain Socket for logging. It's required
that there is a listener on the given socket otherwise
kiwi exits with an appropriate error message from the
socket layer. A simple listener could look like the
following:

```python
sock_file = '/tmp/log_socket'
buffer = 1024
if os.path.exists(sock_file):
    os.unlink(sock_file)
sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
sock.bind(sock_file)
sock.listen(1)
while True:
    connection, client_address = sock.accept()
    try:
        while True:
            data = connection.recv(buffer)
            if not data:
                break
            print(data.decode())
    finally:
        connection.close()
```

With the listener in place kiwi can be called as follows:

    kiwi-ng --logsocket /tmp/log_socket ...
2022-10-29 20:36:08 +02:00
Marcus Schäfer
a52117eb63
Fixed handling of signing_keys in cmdline options
When passing signing_keys with the --add-repo|--set-repo
commandline options the delimiter to separate the single
key information is a colon(:). However, this is stupid when
kiwi expects the signing key to be references as an URI
format like file://... Therefore this patch changes the
delimiter from colon(:) to semicolon(;)
2022-06-08 18:29:42 +02:00
Marcus Schäfer
6c2b2916ee
Allow more repo params to be set on the cmdline
The repository parameters for signing keys, the component
list the main distribution name for debian repositories and
also the repository_gpgcheck could not be set via the
commandline options --add-repo and/or --set-repo. This
commit adds support for them and also updates the manual
page accordingly
2022-05-08 09:51:20 +02:00
Marcus Schäfer
dd763835cf
Added debug option --debug-run-scripts-in-screen
Instead of running scripts in screen if the --debug switch is
set, we allow to explicitly switch on this behavior via
a new option. This Fixes #2010
2022-01-11 09:38:22 +01:00
John Paul Adrian Glaubitz
c9f2aa669a Fix multiple minor spelling errors in documentation 2021-11-29 16:14:53 +01:00
Marcus Schäfer
ed523284f2
Add global --kiwi-file option
When building with kiwi a search on the kiwi main config
file is made inside of the given --description directory.
The search looks up for the file config.xml or *.kiwi.
So far there was no opportunity to specify another name.
This commit adds an option in the global area named:

    --kiwi-file name

which will make kiwi to lookup this file inside of the
given --description directory and fail if it does not
exist. This Fixes #1973
2021-11-29 12:23:26 +01:00
Marcus Schäfer
7e0927e8d5
Allow logfile option to log on stdout
The option setting '--logfile stdout' is now a special form
and logs the messages usually written to a file to stdout
instead. This is handy if all messages of the build are
requested but the --debug switch is not because it does more
than that, e.g calling scripts through debug'able screen
sessions
2021-10-05 17:25:25 +02:00
Marcus Schäfer
7616114348
Added support for building rpm package from bundle
With the new option --package-as-rpm it is possible to
call the kiwi result bundler such that the image build
results gets packaged into an rpm. I think this is a
handy feature to transport image builds via repositories
2021-09-08 16:25:32 +02:00
Marcus Schäfer
fc2446dfea
Moving temp data handling to its own namespace
Moving use of mkdtemp, NamedTemporaryFile and TemporaryDirectory
into its own class called Temporary: By default all temporary
data is created below /var/tmp but can be changed via the
global commandline option --temp-dir. This Fixes #1870
2021-07-22 13:31:44 +02:00
Marcus Schäfer
4abac16a81
Update and fix documentation
The documentation had a broken link to the buildservice
tests for suse. Since we changed this into leap and tumbleweed
the subproject link to :suse became invalid. In addition to
the fix the macro setup and build instructions were moved
to use the kiwi integration tests as example appliance
descriptions. The user experience in building the integration
test images should be better because we only release kiwi
if those appliances build successfully. This Fixes #1812
2021-05-16 17:43:50 +02:00
Marcus Schäfer
ce9b1ccc08
Added option to set the image target architecture
The option --target-arch allows to set the architecture
used to build the image. By default this is the host
architecture. Please note, if the specified architecture
name does not match the host architecture and is therefore
requesting a cross architecture image build, it's important
to understand that for this process to work a preparatory
step to support the image architecture and binary format
on the building host is required and is not considered a
responsibility of kiwi. There will be a followup effort
on providing a plugin for kiwi which should be used to
manage the needed binfmt settings for cross arch image
builds
2021-04-14 12:53:28 +02:00
Marcus Schäfer
b84f142ce4
Allow to specify config file on the command line
The optional kiwi runtime config file (kiwi.yml) could
only be read from ~/.config/kiwi/config.yml or /etc/kiwi.yml
This commits adds the global option --config which allows
to specify a custom runtime configuration as well.
2021-02-06 17:01:24 +01:00
Marcus Schäfer
624e8494d0
Update manual pages
The system build and prepare commands have received options
which were not mentioned in the manual pages. This commit
updates the pages to be in line with the code
2021-02-05 11:29:38 +01:00
Vincent Moutoussamy
68698951c4
Change Appliance names to drop the name LimeJeOS
The name LimeJeOS was an invention of the SUSE Studio project.
Since the project does no longer exist, users have no idea
what the name means. Therefore the integration tests as well
as the documentation now changes the image names to provide
more clarity. This Fixes #1544
2020-09-17 12:35:34 +02:00
Marcus Schäfer
8d2d9c214c
Make oem be a superset of vmx
A vmx image is the same disk as an oem just without the dracut
repart/resize feature. This difference is better handled with
an oemconfig parameter <oem-resize> which allows to switch resize
on or off. The extra image type vmx will be dropped and an XSLT
stylesheet automatically transforms a vmx description to be a
oem image with the resize feature switched off.
This Fixes #1425
2020-09-16 12:56:14 +02:00
David Cassany
af8cb95936
Document output files KIWI produces
This commits adds a chapter to describe the ouput files that are part
of any image build.
2020-07-07 15:59:59 +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
Marcus Schäfer
23c198dc03
Update manual page documentation
Fixed manual pages to use kiwi-ng as the command name
2020-02-25 10:42:02 +01:00
Marcus Schäfer
f6f77b3162
Fixup documentation for consistency
There is the legacy kiwi version and there is this kiwi(next generation).
From a documentation perspective there are several inconsistencies that
could confuse users. This commit makes the name for KIWI-NG consistent
across the entire documentation. At places where we point to older
documentation we use the term Legacy KIWI and a link to the documentation
that covers this part. All this is needed in preparation to cleanup the
documentation situation for the SUSE documentation but with respect to
the upstream doc sources, their layout and markup.
2020-02-19 18:01:14 +01:00
Marcus Schäfer
89226abd46
Addded doc_suse tox target to build docbook target
SUSE documentation is based on docbook or asciidoc. The kiwi
documentation is maintained along with the code and uses the
sphinx system and therefore ReST as markup language. We would
like to keep one source and don't want to move to another markup
language. Thus the sources needs to be structured in a way that
allows translation into sphinx supported targets as well as
into SUSE docbook style. This commit changes the documentation
structure in a way that both is possible. With the use of Sphinx
XML and rstxml2docbook the ReST docs are converted into docbook.
From there the SUSE daps tool can create SUSE documentation
2020-02-14 15:14:30 +01:00
Marcus Schäfer
be17186503
Add --add-bootstrap-packages option
The prepare and build commands now allows to specify additional
packages to be installed as part of the early bootstrap phase
This Fixes #1151
2019-08-29 11:38:56 +02:00
Marcus Schäfer
70bc4fdda1
Update documentation
The kiwi-descriptions repository has been moved into the
OSInside organisation
2019-07-10 15:15:58 +02:00
Marcus Schäfer
1d3b9a077f
Update documentation for consistency
Instead of hard coded names for example images and their
versions a prolog map including placeholders has been
added.
2019-05-27 18:04:47 +02:00
Dan Čermák
472e7faeda
Improve the documentation of the runtime configuration file
Co-Authored-By: Thomas Schraitle <tom_schr@web.de>
2019-05-02 12:25:36 +02:00
Dan Čermák
43d73f53ab
Document the usage of profiles via the CLI and OBS 2019-04-24 22:57:24 +02:00
David Cassany
72a63f0b16
Add custom partitioning docs
This commit adds two new documentation chapters. One covering
custom partitioning scheme in KIWI. And another covering setting
custom volumes in KIWI
2019-02-04 16:38:50 +01:00
David Cassany
1e85503322 Update the man pages 2018-01-24 19:40:50 +01:00
Ryan Desfosses
c3e520d2ab s/42.1/42.3/ 2017-10-25 22:03:12 -04:00
Marcus Schäfer
f7a37fda78 Merge pull request #427 from SUSE/call_comfort_for_compat_mode
More comfort in calling with compat arguments
2017-07-17 10:56:49 +02:00
Marcus Schäfer
06d1a07373 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.
Thus the documentation also changed to no longer mention the --compat
option but it still exists for compatibility reasons. Fixes #407
2017-07-14 16:18:53 +02:00
Marcus Schäfer
6fe8a2a9d6
Allow use of more fine grain ignore repos options
The meaning of the --ignore-repos option has changed back
to ignore all configured repositories. A new option
named --ignore-repos-used-for-build has been added which
allows to ignore all except imageonly repositories. The
command manual pages has been changed to document the
options. This Fixes #410
2017-07-14 11:55:32 +02:00
Marcus Schäfer
f9f4f0b5e0
Delete obsolete --obs-repo-internal switch 2017-07-07 10:05:28 +02:00
Marcus Schäfer
b51a8e3ded
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
2017-07-07 09:18:47 +02:00
Marcus Schäfer
dee0a5af7f Refactor handling of obs repositories
* Delete kiwi internal ibs: and suse: types
* Delete handling for --obs-repo-internal and provide a
  compatibility message to the user
* Buildservice download server url and scope can be configured
  via ~/.config/kiwi/config.yml
* Translate obs urls to http in import_repositories_marked_as_imageinclude
* Use new Uri.is_public method in renamed runtime check
  check_image_include_repos_publicly_resolvable
2017-07-05 16:07:29 +02:00