%global _empty_manifest_terminate_build 0 Name: python-tuxmake Version: 1.13.0 Release: 1 Summary: Thin wrapper to build Linux kernels License: None URL: https://tuxmake.org/ Source0: https://mirrors.nju.edu.cn/pypi/web/packages/29/49/059fea455f606b424b4853f9699a9c60006151192aa3c3af9448f8f42d9b/tuxmake-1.13.0.tar.gz BuildArch: noarch %description
TuxMake Logo
[![Pipeline Status](https://gitlab.com/Linaro/tuxmake/badges/master/pipeline.svg)](https://gitlab.com/Linaro/tuxmake/pipelines) [![coverage report](https://gitlab.com/Linaro/tuxmake/badges/master/coverage.svg)](https://gitlab.com/Linaro/tuxmake/commits/master) [![PyPI version](https://badge.fury.io/py/tuxmake.svg)](https://pypi.org/project/tuxmake/) [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black) [![PyPI - License](https://img.shields.io/pypi/l/tuxmake)](https://gitlab.com/Linaro/tuxmake/blob/master/LICENSE) [Documentation](https://tuxmake.org/) - [Repository](https://gitlab.com/Linaro/tuxmake) - [Issues](https://gitlab.com/Linaro/tuxmake/-/issues) TuxMake, by [Linaro](https://www.linaro.org/), is a command line tool and Python library that provides portable and repeatable Linux kernel builds across a variety of architectures, toolchains, kernel configurations, and make targets. TuxMake is a part of [TuxSuite](https://tuxsuite.com), a suite of tools and services to help with Linux kernel development. [[_TOC_]] # About TuxMake Building Linux is easy, right? You just run "make defconfig; make"! It gets complicated when you want to support the following combinations: - Architectures (arc, arm, arm64, i386, mips, parisc, powerpc, riscv, s390, sh, sparc, x86_64, etc) - Toolchains (gcc-8, gcc-9, gcc-10, clang-10, clang-11, clang-nightly, etc) - Configurations (defconfig, distro configs, allmodconfigs, randconfig, etc) - Targets (kernel image, documentation, selftests, perf, cpupower, etc) - Build-time validation (coccinelle, sparse checker, etc) Each of those items requires specific configuration, and supporting all combinations is difficult. TuxMake seeks to simplify Linux kernel building by providing a consistent command line interface to each of those combinations listed above. You specify what to build at the command line, and TuxMake drives the build for you, doing the same steps the same way every time. The real power comes from using TuxMake's curated, portable build environments distributed as Docker/Podman [container images](https://hub.docker.com/u/tuxmake). When using these versioned and hermetic filesystem images, your team can use the same exact toolchain(s) across different workstation platforms. Reporting and reproducing build failures is trivial by sharing TuxMake command lines with others. # Installing TuxMake There are several options for installing TuxMake: - [From PyPI](docs/install-pypi.md) - [Debian packages](docs/install-deb.md) - [RPM packages](docs/install-rpm.md) - [Run uninstalled](docs/run-uninstalled.md) # Using TuxMake To use TuxMake, navigate to a Linux source tree (where you might usually run `make`), and run `tuxmake`. By default, it will perform a defconfig build on your native architecture, using a default compiler (`gcc`). The behavior of the build can be modified with command-line arguments. Run `tuxmake --help` to see all command-line arguments. # Examples Build from current directory: $ tuxmake Build using Podman: $ tuxmake --runtime podman Build from specific directory: $ tuxmake --directory /path/to/linux Build an arm64 kernel: $ tuxmake --target-arch=arm64 Build an arm64 kernel with gcc-10: $ tuxmake --target-arch=arm64 --toolchain=gcc-10 Build an arm64 kernel with clang-10: $ tuxmake --target-arch=arm64 --toolchain=clang-10 Build tinyconfig on arm64 with gcc-9: $ tuxmake -a arm64 -t gcc-9 -k tinyconfig Build defconfig with additional config from file: $ tuxmake --kconfig-add /path/to/my.config Build defconfig with additional config from URL: $ tuxmake --kconfig-add https://foo.com/my.config Build defconfig with additional in-tree config: $ tuxmake --kconfig-add kvm_guest.config Build defconfig with additional inline config: $ tuxmake --kconfig-add CONFIG_KVM_GUEST=y Build tinyconfig on arm64 with gcc-9 using docker: $ tuxmake -r docker -a arm64 -t gcc-9 -k tinyconfig Build DTBs on arm64 using podman: $ tuxmake -r podman -a arm64 -t gcc-9 dtbs Incremental builds can be done by reusing a build directory: $ tuxmake --build-dir=/path/to/output # hack on source ... $ tuxmake --build-dir=/path/to/output # only rebuilds what is needed Using configuration files: # reads command line options from ~/.config/tuxmake/myconfig $ tuxmake @myconfig # reads command line options from /tmp/myconfig $ tuxmake @/tmp/myconfig Display all options: $ tuxmake --help # Contributing to TuxMake See the [Contribution Guidelines](docs/contributing.md) document for details in how to contribute to TuxMake. Contributors are expected to follow the [TuxMake Code of Conduct](docs/code-of-conduct.md) (the same adopted in the Linux kernel community). %package -n python3-tuxmake Summary: Thin wrapper to build Linux kernels Provides: python-tuxmake BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-tuxmake
TuxMake Logo
[![Pipeline Status](https://gitlab.com/Linaro/tuxmake/badges/master/pipeline.svg)](https://gitlab.com/Linaro/tuxmake/pipelines) [![coverage report](https://gitlab.com/Linaro/tuxmake/badges/master/coverage.svg)](https://gitlab.com/Linaro/tuxmake/commits/master) [![PyPI version](https://badge.fury.io/py/tuxmake.svg)](https://pypi.org/project/tuxmake/) [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black) [![PyPI - License](https://img.shields.io/pypi/l/tuxmake)](https://gitlab.com/Linaro/tuxmake/blob/master/LICENSE) [Documentation](https://tuxmake.org/) - [Repository](https://gitlab.com/Linaro/tuxmake) - [Issues](https://gitlab.com/Linaro/tuxmake/-/issues) TuxMake, by [Linaro](https://www.linaro.org/), is a command line tool and Python library that provides portable and repeatable Linux kernel builds across a variety of architectures, toolchains, kernel configurations, and make targets. TuxMake is a part of [TuxSuite](https://tuxsuite.com), a suite of tools and services to help with Linux kernel development. [[_TOC_]] # About TuxMake Building Linux is easy, right? You just run "make defconfig; make"! It gets complicated when you want to support the following combinations: - Architectures (arc, arm, arm64, i386, mips, parisc, powerpc, riscv, s390, sh, sparc, x86_64, etc) - Toolchains (gcc-8, gcc-9, gcc-10, clang-10, clang-11, clang-nightly, etc) - Configurations (defconfig, distro configs, allmodconfigs, randconfig, etc) - Targets (kernel image, documentation, selftests, perf, cpupower, etc) - Build-time validation (coccinelle, sparse checker, etc) Each of those items requires specific configuration, and supporting all combinations is difficult. TuxMake seeks to simplify Linux kernel building by providing a consistent command line interface to each of those combinations listed above. You specify what to build at the command line, and TuxMake drives the build for you, doing the same steps the same way every time. The real power comes from using TuxMake's curated, portable build environments distributed as Docker/Podman [container images](https://hub.docker.com/u/tuxmake). When using these versioned and hermetic filesystem images, your team can use the same exact toolchain(s) across different workstation platforms. Reporting and reproducing build failures is trivial by sharing TuxMake command lines with others. # Installing TuxMake There are several options for installing TuxMake: - [From PyPI](docs/install-pypi.md) - [Debian packages](docs/install-deb.md) - [RPM packages](docs/install-rpm.md) - [Run uninstalled](docs/run-uninstalled.md) # Using TuxMake To use TuxMake, navigate to a Linux source tree (where you might usually run `make`), and run `tuxmake`. By default, it will perform a defconfig build on your native architecture, using a default compiler (`gcc`). The behavior of the build can be modified with command-line arguments. Run `tuxmake --help` to see all command-line arguments. # Examples Build from current directory: $ tuxmake Build using Podman: $ tuxmake --runtime podman Build from specific directory: $ tuxmake --directory /path/to/linux Build an arm64 kernel: $ tuxmake --target-arch=arm64 Build an arm64 kernel with gcc-10: $ tuxmake --target-arch=arm64 --toolchain=gcc-10 Build an arm64 kernel with clang-10: $ tuxmake --target-arch=arm64 --toolchain=clang-10 Build tinyconfig on arm64 with gcc-9: $ tuxmake -a arm64 -t gcc-9 -k tinyconfig Build defconfig with additional config from file: $ tuxmake --kconfig-add /path/to/my.config Build defconfig with additional config from URL: $ tuxmake --kconfig-add https://foo.com/my.config Build defconfig with additional in-tree config: $ tuxmake --kconfig-add kvm_guest.config Build defconfig with additional inline config: $ tuxmake --kconfig-add CONFIG_KVM_GUEST=y Build tinyconfig on arm64 with gcc-9 using docker: $ tuxmake -r docker -a arm64 -t gcc-9 -k tinyconfig Build DTBs on arm64 using podman: $ tuxmake -r podman -a arm64 -t gcc-9 dtbs Incremental builds can be done by reusing a build directory: $ tuxmake --build-dir=/path/to/output # hack on source ... $ tuxmake --build-dir=/path/to/output # only rebuilds what is needed Using configuration files: # reads command line options from ~/.config/tuxmake/myconfig $ tuxmake @myconfig # reads command line options from /tmp/myconfig $ tuxmake @/tmp/myconfig Display all options: $ tuxmake --help # Contributing to TuxMake See the [Contribution Guidelines](docs/contributing.md) document for details in how to contribute to TuxMake. Contributors are expected to follow the [TuxMake Code of Conduct](docs/code-of-conduct.md) (the same adopted in the Linux kernel community). %package help Summary: Development documents and examples for tuxmake Provides: python3-tuxmake-doc %description help
TuxMake Logo
[![Pipeline Status](https://gitlab.com/Linaro/tuxmake/badges/master/pipeline.svg)](https://gitlab.com/Linaro/tuxmake/pipelines) [![coverage report](https://gitlab.com/Linaro/tuxmake/badges/master/coverage.svg)](https://gitlab.com/Linaro/tuxmake/commits/master) [![PyPI version](https://badge.fury.io/py/tuxmake.svg)](https://pypi.org/project/tuxmake/) [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black) [![PyPI - License](https://img.shields.io/pypi/l/tuxmake)](https://gitlab.com/Linaro/tuxmake/blob/master/LICENSE) [Documentation](https://tuxmake.org/) - [Repository](https://gitlab.com/Linaro/tuxmake) - [Issues](https://gitlab.com/Linaro/tuxmake/-/issues) TuxMake, by [Linaro](https://www.linaro.org/), is a command line tool and Python library that provides portable and repeatable Linux kernel builds across a variety of architectures, toolchains, kernel configurations, and make targets. TuxMake is a part of [TuxSuite](https://tuxsuite.com), a suite of tools and services to help with Linux kernel development. [[_TOC_]] # About TuxMake Building Linux is easy, right? You just run "make defconfig; make"! It gets complicated when you want to support the following combinations: - Architectures (arc, arm, arm64, i386, mips, parisc, powerpc, riscv, s390, sh, sparc, x86_64, etc) - Toolchains (gcc-8, gcc-9, gcc-10, clang-10, clang-11, clang-nightly, etc) - Configurations (defconfig, distro configs, allmodconfigs, randconfig, etc) - Targets (kernel image, documentation, selftests, perf, cpupower, etc) - Build-time validation (coccinelle, sparse checker, etc) Each of those items requires specific configuration, and supporting all combinations is difficult. TuxMake seeks to simplify Linux kernel building by providing a consistent command line interface to each of those combinations listed above. You specify what to build at the command line, and TuxMake drives the build for you, doing the same steps the same way every time. The real power comes from using TuxMake's curated, portable build environments distributed as Docker/Podman [container images](https://hub.docker.com/u/tuxmake). When using these versioned and hermetic filesystem images, your team can use the same exact toolchain(s) across different workstation platforms. Reporting and reproducing build failures is trivial by sharing TuxMake command lines with others. # Installing TuxMake There are several options for installing TuxMake: - [From PyPI](docs/install-pypi.md) - [Debian packages](docs/install-deb.md) - [RPM packages](docs/install-rpm.md) - [Run uninstalled](docs/run-uninstalled.md) # Using TuxMake To use TuxMake, navigate to a Linux source tree (where you might usually run `make`), and run `tuxmake`. By default, it will perform a defconfig build on your native architecture, using a default compiler (`gcc`). The behavior of the build can be modified with command-line arguments. Run `tuxmake --help` to see all command-line arguments. # Examples Build from current directory: $ tuxmake Build using Podman: $ tuxmake --runtime podman Build from specific directory: $ tuxmake --directory /path/to/linux Build an arm64 kernel: $ tuxmake --target-arch=arm64 Build an arm64 kernel with gcc-10: $ tuxmake --target-arch=arm64 --toolchain=gcc-10 Build an arm64 kernel with clang-10: $ tuxmake --target-arch=arm64 --toolchain=clang-10 Build tinyconfig on arm64 with gcc-9: $ tuxmake -a arm64 -t gcc-9 -k tinyconfig Build defconfig with additional config from file: $ tuxmake --kconfig-add /path/to/my.config Build defconfig with additional config from URL: $ tuxmake --kconfig-add https://foo.com/my.config Build defconfig with additional in-tree config: $ tuxmake --kconfig-add kvm_guest.config Build defconfig with additional inline config: $ tuxmake --kconfig-add CONFIG_KVM_GUEST=y Build tinyconfig on arm64 with gcc-9 using docker: $ tuxmake -r docker -a arm64 -t gcc-9 -k tinyconfig Build DTBs on arm64 using podman: $ tuxmake -r podman -a arm64 -t gcc-9 dtbs Incremental builds can be done by reusing a build directory: $ tuxmake --build-dir=/path/to/output # hack on source ... $ tuxmake --build-dir=/path/to/output # only rebuilds what is needed Using configuration files: # reads command line options from ~/.config/tuxmake/myconfig $ tuxmake @myconfig # reads command line options from /tmp/myconfig $ tuxmake @/tmp/myconfig Display all options: $ tuxmake --help # Contributing to TuxMake See the [Contribution Guidelines](docs/contributing.md) document for details in how to contribute to TuxMake. Contributors are expected to follow the [TuxMake Code of Conduct](docs/code-of-conduct.md) (the same adopted in the Linux kernel community). %prep %autosetup -n tuxmake-1.13.0 %build %py3_build %install %py3_install install -d -m755 %{buildroot}/%{_pkgdocdir} if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi pushd %{buildroot} if [ -d usr/lib ]; then find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/lib64 ]; then find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/bin ]; then find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/sbin ]; then find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst fi touch doclist.lst if [ -d usr/share/man ]; then find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst fi popd mv %{buildroot}/filelist.lst . mv %{buildroot}/doclist.lst . %files -n python3-tuxmake -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Mon May 15 2023 Python_Bot - 1.13.0-1 - Package Spec generated