1 Star 0 Fork 30

xuhe/kiwi

forked from src-openEuler/kiwi 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
kiwi.spec 7.69 KB
一键复制 编辑 原始数据 按行查看 历史
xuhe 提交于 2024-03-19 11:44 . Update version to 9.25.22
%{?python_enable_dependency_generator}
Name: kiwi
Version: 9.25.22
Release: 1
License: GPLv3+
Summary: Flexible operating system image builder
URL: http://osinside.github.io/kiwi/
Source0: https://files.pythonhosted.org/packages/source/k/%{name}/%{name}-%{version}.tar.gz
Patch0: openEuler-use-rsync-link.patch
Patch1: openEuler-custom-make.patch
Patch2: huawei-sync-support-for-building-with-clang.patch
Patch3: kiwi-9.25.7-no-sphinx-rtd-theme.patch
Patch4: kiwi-9.25.7-no-sphinx-custom-css.patch
Patch5: kiwi-9.25.7-doc-use-xml-highlight.patch
Patch6: 0001-Use-buildah-by-default-for-OCI-image-builds.patch
BuildRequires: bash-completion dracut fdupes gcc make
BuildRequires: python3-devel python3-setuptools shadow-utils
BuildRequires: python3-docopt python3-future python3-lxml python3-pyxattr
BuildRequires: python3-six python3-pyyaml python3-requests python3-sphinx python3-simplejson
%description
KIWI is an imaging solution that is based on an image XML description.
Such a description is represented by a directory which includes at least
one config.xml or .kiwi file and may as well include other files like
scripts or configuration data.
%package systemdeps
Summary: Common system dependencies for %{name}
Provides: %{name}-image:docker %{name}-image:iso %{name}-image:oem
Provides: %{name}-image:pxe %{name}-image:tbz %{name}-image:vmx
Requires: dnf
Provides: %{name}-packagemanager:dnf
Requires: yum
Provides: %{name}-packagemanager:yum
Requires: device-mapper-multipath dosfstools e2fsprogs
Requires: gdisk lvm2 mtools parted
Requires: qemu-img rsync squashfs-tools tar >= 1.2.7
Requires: %{name}-tools = %{version}-%{release}
%ifarch x86_64
Requires: syslinux
%endif
Recommends: debootstrap jing
%ifarch aarch64
Requires: uboot-tools grub2-efi-aa64-modules
%endif
%ifarch x86_64
Requires: grub2-tools-efi grub2-efi-x64-modules grub2-efi-ia32-modules grub2-pc-modules
%endif
Obsoletes: python2-%{name} < %{version}-%{release}
%description systemdeps
This metapackage installs the necessary system dependencies
to run KIWI.
%package -n python3-%{name}
Summary: %{name} - Python 3 implementation
Requires: %{name}-systemdeps = %{version}-%{release}
Requires: python3-setuptools
BuildArch: noarch
%{?python_provide:%python_provide python3-%{name}}
%description -n python3-%{name}
Python 3 package of the %{name}. Provides an operating system
image builder for Linux supported hardware platforms and for
virtualization,such as Xen, KVM, VMware, EC2 and so on.
%package tools
Summary: Tools for boot
%description tools
%{name}-tools package contains some helper tools,which is used for the
%{name} created initial ramdisk used to control the very first boot of
an appliance.
%ifarch %{ix86} x86_64
%package pxeboot
Summary: %{name} - PXE boot structure
Requires: syslinux
Requires: tftp-server
%description pxeboot
%{name}-pxeboot package contains the basic PXE directory structure which is
needed to serve %{name} built images via PXE.
%endif
%package cli
Summary: Flexible operating system appliance image builder
Provides: %{name}-schema = 7.1
Provides: %{name} = %{version}-%{release}
Requires: python3-%{name} = %{version}-%{release}
Requires: bash-completion
BuildArch: noarch
%description cli
%{name} is an imaging solution that is based on an image XML description.
Such a description is represented by a directory which includes at least
one config.xml or .kiwi file and may as well include other files like
scripts or configuration data.
%package other
Summary: Other information about %{name}
Requires: bc btrfs-progs coreutils cryptsetup curl device-mapper
Requires: dialog dracut e2fsprogs gdisk grep lvm2 mdadm parted
Requires: pv util-linux xfsprogs xz xorriso parted
Requires: gawk kexec-tools
BuildArch: noarch
Provides: dracut-%{name}-lib dracut-%{name}-oem-repart dracut-%{name}-oem-dump
Provides: dracut-%{name}-oem-dump dracut-%{name}-live
Obsoletes: dracut-%{name}-lib dracut-%{name}-oem-repart dracut-%{name}-oem-dump
Obsoletes: dracut-%{name}-oem-dump dracut-%{name}-live
%description other
%{name}-other package contains other information about %{name}.
%package_help
%prep
%autosetup -n %{name}-%{version} -p1
sed -e "s|#!/usr/bin/env python||" -i kiwi/xml_parse.py
%build
%set_build_flags
%py3_build
# Build man pages
make -C doc man
# Build C-Tools
make CFLAGS="%{build_cflags}" tools
%install
%py3_install
make buildroot=%{buildroot}/ install
make buildroot=%{buildroot}/ install_dracut
rm -rf %{buildroot}%{_sysconfdir}/bash_completion.d
rm -rf %{buildroot}%{_docdir}/packages
mv %{buildroot}%{_bindir}/kiwi-ng %{buildroot}%{_bindir}/kiwi-ng-3
mv %{buildroot}%{_bindir}/kiwicompat %{buildroot}%{_bindir}/kiwicompat-3
ln -sr %{buildroot}%{_bindir}/kiwi-ng %{buildroot}%{_bindir}/kiwi
ln -sr %{buildroot}%{_bindir}/kiwi-ng-3 %{buildroot}%{_bindir}/kiwi-ng
ln -sr %{buildroot}%{_bindir}/kiwicompat-3 %{buildroot}%{_bindir}/kiwicompat
%ifarch %{ix86} x86_64
for i in KIWI pxelinux.cfg image upload boot; do \
mkdir -p %{buildroot}%{_sharedstatedir}/tftpboot/$i ;\
done
%fdupes %{buildroot}%{_sharedstatedir}/tftpboot
%endif
%files systemdeps
%files -n python3-%{name}
%defattr(-,root,root)
%license LICENSE
%{_bindir}/%{name}*
%{python3_sitelib}/%{name}*/
%exclude %{_bindir}/kiwi-parse-verity
%files tools
%defattr(-,root,root)
%license LICENSE
%{_bindir}/*
%files cli
%defattr(-,root,root)
%{_bindir}/%{name}*
%{_datadir}/bash-completion/completions/%{name}-ng
%config(noreplace) %{_sysconfdir}/kiwi.yml
%exclude %{_bindir}/kiwi-parse-verity
%ifarch %{ix86} x86_64
%files pxeboot
%defattr(-,root,root)
%license LICENSE
%{_sharedstatedir}/tftpboot/*
%endif
%files other
%defattr(-,root,root)
%license LICENSE
%{_prefix}/lib/dracut/modules.d/*
%files help
%defattr(-,root,root)
%{_mandir}/man8/%{name}*
%changelog
* Mon Mar 18 2024 xuhe <xuhe@kylinos.cn> - 9.25.22-1
- update version to 9.25.22
* Thu Feb 22 2024 luofng <luofeng13@huawei.com> - 9.25.1-2
- Type: enhencement
- CVE:NA
- SUG:NA
- DESC:support for building with clang
* Tue Oct 24 2023 yanglongkang <yanglongkang@h-partners.com> - 9.25.1-1
- update version to 9.25.1
* Thu Jul 20 2023 yanglongkang <yanglongkang@h-partners.com> - 9.24.1-1
- update version to 9.24.1
* Thu Jan 12 2023 Chenxi Mao <chenxi.mao@suse.com>> - 9.21.7-4
- Type:bugfix
- ID:NA
- SUG:NA
- DESC: Support UEFI on ARM64 platform.
* Wed Jun 29 2022 tianwei <tianwei12@h-partners.com>> - 9.21.7-3
- Type:bugfix
- ID:NA
- SUG:NA
- DESC:Delete xorriso dependencies
* Wed Apr 27 2022 shixuantong <shixuantong@h-partners.com> - 9.21.7-2
- add release for rebuild
* Sat Apr 16 2022 shixuantong <shixuantong@h-partners.com> - 9.21.7-1
- update version to 9.21.7
* Sat Jan 22 2022 liudabo <liudabo1@huawei.com> - 9.21.5-3
- Type:bugfix
- ID:NA
- SUG:NA
- DESC:Add new features
* Thu Nov 26 2020 wuchaochao <wuchaochao4@huawei.com> - 9.21.5-2
- Type:bugfix
- ID:NA
- SUG:NA
- DESC:fix issues: 124E39 125NZG
* Tue Jul 28 2020 xinghe <xinghe1@huawei.com> - 9.21.5-1
- update version to 9.21.5
* Sat Jun 20 2020 jixinjie <jixinjie@huawei.com> - 9.20.12-1
- upgrade kiwi
* Mon May 25 2020 openEuler Buildteam <buildteam@openeuler.org> - 9.19.15-3
- Rebuild for kiwi
* Sat Mar 21 2020 openEuler Buildteam <buildteam@openeuler.org> - 9.19.15-2
- Delete redundant info in spec
* Wed Mar 18 2020 zhuchunyi <zhuchunyi@huawei.com> - 9.19.15-1
- upgrade kiwi
* Thu Feb 27 2020 lijin Yang <yanglijin@huawei.com> - 9.16.12-3
- Remove python2 dependency
* Sat Sep 21 2019 openEuler Buildteam <buildteam@openeuler.org> - 9.16.12-2
- Package init
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/kylin-xuhe/kiwi.git
git@gitee.com:kylin-xuhe/kiwi.git
kylin-xuhe
kiwi
kiwi
master

搜索帮助