Commit Graph

42 Commits

Author SHA1 Message Date
Marcus Schäfer
cded86afec
Add support for portable result data (#1949)
In addition to the serialized Result instance kiwi.result
file this commit also creates a portable version of this
information in kiwi.result.json. Only the information that
can be expressed as json document is part of the portable
version. This is related to Issue #1918
2021-10-12 18:31:49 -04:00
Marcus Schäfer
43c3577016
Fixed packaging metadata for pypi
Include the README as long description in the metadata
for pypi. The change causes the description on pypi.org
to show the ReST rendered README instead of a message
that the author of the module hasn't provided a description
2021-02-13 22:33:36 +01:00
Marcus Schäfer
1ebc4c9177
Set min version python requirement
The use of new features like type hinting and annotations
requires a python version >= 3.6
2020-12-17 16:49:09 +01:00
Marcus Schäfer
cc19266600
Cleanup setup.py
The way kiwi uses setup.py assumes that pip runs this script
like a spec file in rpm is processed. However this is not the
case given that pip implicitly creates a static zip file called
wheel which looses all the code logic done in setup.py. Therefore
setup.py should not contain code that needs to run at install
time. Of course this change comes with an effect which is that
the following files will not be available when installing kiwi
from pip:

* man pages: /usr/share/man/man8/...
* command completion: /etc/bash_completion.d/kiwi-ng.sh
* kiwi default config file: /etc/kiwi.yml
* package docs: /usr/share/doc/packages/kiwi-ng/...
  (kiwi.pdf, LICENSE, README)

kiwi stays fully functional without this information. It is
expected that the installation of kiwi as a service will
be done by a package and its package manager. When using kiwi
from pip it is designed to provide a python module but not
a complete user application. The way pip and wheels interact
with each other seems to demonstrate that pip is not a
package manager but more a python module manager.

This Fixes #1415
2020-07-03 10:27:57 +02:00
Marcus Schäfer
52c5d4a703
Refactor plugin architecture
Set kiwi.tasks to be the plugin entry point and register
existing task plugins in setup.py. Change the code in
cli.py to auto register plugins using the iter_entry_points
method from the pkg_resources class. This allows for easier
writing of external kiwi plugins.
2020-02-26 16:40:04 +01:00
David Cassany
129e86c3c6
Use kiwi-ng and kiwicompat as console_scripts
This commit instead of installing kiwi-ng-3 and kiwicompat-3 as
console_scripts it makes use of kiwi-ng and kiwicompat. Then all others
are created as symlinks at rpm level in spec.

Fixes #1226
2019-10-15 15:08:07 +02:00
David Cassany
72d07b4094
Align setup.py with the correct license 2019-08-02 15:40:29 +02:00
629f5b4803 Fix the pyxattr dependency to allow kiwi to function
Most Linux distributions offer the pyxattr module, including
openSUSE Tumbleweed. Going forward, we will use the pyxattr
module by default as a dependency and only switch back to the
other xattr module when on older SUSE Linux distributions that
lack the pyxattr module.

Note that because kiwi uses setuptools to create the CLI entry
points, kiwi checks the Python dependencies before executing,
so we change the dependency in the setup.py accordingly so that
it will not fail to start.
2019-07-20 10:43:08 -04:00
Marcus Schäfer
d09ccc5206
Update documentation references
The kiwi project has been moved into its own upstream
organisation named OSInside. Due to the move some doc
and README references needs to be adapted
2019-07-12 09:45:42 +02:00
Marcus Schäfer
1566750242
Drop support for python2
Python2 is announced to be unmaintained from Jan 2020.
KIWI supports Python 2.7 and it should not support any python version that
is not maintained upstream. This Fixes #1036
2019-07-10 11:58:57 +02:00
David Cassany
a73213a273
Make kiwi installable in a venv
This commit sets the buildroot to the venv `sys.prefix`. This way
all the binaries are installed in a path under the venv.

Fixes #1022
2019-06-12 13:29:46 +02:00
David Cassany
30eb5c165f
Create a custom setup.py clean command
The default `setup.py clean` command does not clean `dist` and
`*.egg-info` folders. This commit makes sure those are cleaned and
also ands a `setup.py clean` command in the `clean` Makefile target
2018-11-23 12:27:00 +01:00
Marcus Schäfer
68980b3cf0
Follow up fix for skip_cleanup use
make sure doc_travis tox target has created the manual
pages such that the environment contains this data
2018-08-20 22:36:11 +02:00
Marcus Schäfer
ac1e626111
Follow up fix for deploy target
Integration of man pages must be done as part of the sdist
setup because the travis pypi deployment only uses the
sdist target to bundle the sources
2018-08-20 19:15:12 +02:00
Marcus Schäfer
199fdf0044
Fixup download url in setup.py
Better point to installable packages. This Fixes #702
2018-04-16 16:17:21 +02: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
Marcus Schäfer
6e543b5379
Fixed setup.py requirements record
PyYAML is required by KIWI
2017-08-08 17:20:34 +02:00
Marcus Schäfer
06e15373f5
Fixup setup and package requirements
python requests is needed due to latest changes
2017-07-07 15:38:40 +02:00
Marcus Schäfer
557d29ac45 Setup package for multipython build
Build package for both python2 and python3
2017-03-13 09:48:18 +01:00
Marcus Schäfer
37ddf2c694
Fixup PyPI entry registry
The wrong project url was referenced
2017-03-08 12:33:13 +01:00
Marcus Schäfer
04181cb6d4 Fixed setup.py custom install target
Make install method aware of --single-version-externally-managed
This option is passed to the call by pip if not installed as
egg
2016-10-19 10:01:56 +02:00
Marcus Schäfer
88fd8211d8 Package kiwi/boot/arch into sub archive
The sdist target runs into an infinite loop if installed via
pip. It seems the symlink files below boot/arch confuses
distutils
2016-10-18 23:52:05 +02:00
Marcus Schäfer
83db17e9fb Revert "pycparser 2.15 does not play well with xattr"
This reverts commit 428436988d.
2016-10-18 19:02:13 +02:00
Marcus Schäfer
428436988d pycparser 2.15 does not play well with xattr
Use pycparser 2.14 in setup.py and virtual env requirements
2016-10-18 16:04:07 +02:00
Marcus Schäfer
70eeec4a9a
Fixed setup.py install target
pip calls the install target but not the build target.
For kiwi's tools this means they need to run the tools
compilation if not already done prior to the installation
of the tools
2016-10-18 15:28:11 +02:00
Thomas Schraitle
4b0e77d1a2 State Python 2.7 in Trove category of setup.py 2016-06-14 09:27:41 +02:00
Marcus Schäfer
80fb5ac71c
python 2.x compatibility added new requirements
six and future modules are needed for the compat layer
2016-06-08 20:27:54 +02:00
Marcus Schäfer
bf39698d6e
Update development status
Status :: 5 - Production/Stable
2016-05-31 16:14:42 +02:00
Marcus Schäfer
b77f4ba05f
Integrate git attribute setup to sdist command 2016-05-31 13:02:41 +02:00
Marcus Schäfer
be56346c6f
Fixed command class name for distutils
The overwritten build and install commands should not change
their name in order to stay consistent on e.g --help
2016-05-31 10:42:56 +02:00
Marcus Schäfer
2d6f8a3ebf
Fixed entry point for kiwicompat 2016-05-31 10:11:58 +02:00
Marcus Schäfer
8c60ef66c5
Move all build and install tasks to setup.py
In an effort to distribute kiwi on pypi it should not be
required to call make targets for a complete installation.
Therefore the compilation of the C tools as well as the
installation of the man pages and the bash completion
has been added to setup.py. The spec file to build an rpm
package has been changed to use setup.py exclusively
2016-05-30 19:07:49 +02:00
Marcus Schäfer
8971de0523
Added python3-xattr dependency 2016-05-02 11:18:28 +02:00
Marcus Schäfer
7de75965ea
Move program name from kiwi-py3 to kiwi-ng 2016-04-19 11:02:43 +02:00
Thomas Schraitle
d8379ef4e2 Add Python 3.5 to be consistent with Travis 2016-04-04 10:47:21 +02:00
Marcus Schäfer
40e6308aa9 Port application from python 2.7 to 3.4
For new applications like this kiwi version and its use cases
it is better to base it on a more recent python version
2016-02-17 22:38:38 +01:00
Marcus Schäfer
8ce43af5b4 Prepare for package building 2016-02-02 23:26:17 +01:00
Marcus Schäfer
bc65944440 Merge branch 'version-fix' of https://github.com/tomschr/kiwi-1 into tomschr-version-fix
Conflicts:
	setup.py
2015-12-15 11:58:21 +01:00
Marcus Schäfer
1bff89565e
Update development status in setup.py 2015-12-15 11:55:01 +01:00
Thomas Schraitle
098f720798 Fix #5: Improve setup.py
* setup.py:
  - use setuptools always, no need to check for distutils
  - include keywords 'include_package_data', 'zip_safe', and 'classifiers'
* setup.cfg:
  - add bdist_wheel and sdist section
* Add missing MANIFEST.in (needed for setup.py dist)
* Remove executable bit for LICENSE and README.md
2015-12-14 22:32:25 +01:00
Thomas Schraitle
686e6d1bba __VERSION__ -> __version__ 2015-12-11 16:42:50 +01:00
Marcus Schäfer
09daca60c0
KIWI - appliance builder next generation
a rewrite of the current kiwi from https://github.com/openSUSE/kiwi
2015-12-05 16:17:10 +01:00