Fabiano Fidêncio 8eb0dbf
# Release candidate version tracking
b69618b
# global rcver rc0
Fabiano Fidêncio 8eb0dbf
%if 0%{?rcver:1}
Fabiano Fidêncio 8eb0dbf
%global rcrel .%{rcver}
Fabiano Fidêncio 8eb0dbf
%global rcstr -%{rcver}
Fabiano Fidêncio 8eb0dbf
%endif
Fabiano Fidêncio 8eb0dbf
34dedd1
Version: 1.11.1
Fabiano Fidêncio 8eb0dbf
2bc8098
%global katalibexecdir          %{_libexecdir}/kata-containers
2bc8098
%global kataosbuilderdir        %{katalibexecdir}/osbuilder
Fabiano Fidêncio 15b109b
%global katalocalstatecachedir  %{_localstatedir}/cache/kata-containers
3345b25
Fabiano Fidêncio 8eb0dbf
%global tag                     %{version}%{?rcstr}
2bc8098
%global git0    https://github.com/kata-containers/osbuilder
99df63b
99df63b
3345b25
Name: kata-osbuilder
8d7cc30
Release: 1%{?rcrel}%{?dist}.1
3345b25
License: ASL 2.0
99df63b
Summary: Kata guest initrd and image build scripts
3345b25
URL: %{git0}
e34d8c3
ec6b51e
# Mirror of kata-agent ExcludeArch
e34d8c3
ExcludeArch: %{arm}
e34d8c3
ExcludeArch: %{ix86}
e34d8c3
4228e15
Source0: %{git0}/archive/%{version}%{?rcstr}/osbuilder-%{version}%{?rcstr}.tar.gz
23c86d6
Source2: kata-osbuilder.sh
4fb8c6e
Source3: kata-osbuilder-generate.service
Fabiano Fidêncio 75204e6
%if 0%{?fedora}
ca3efb6
Source5: 15-dracut-fedora.conf
Fabiano Fidêncio 75204e6
%else
Fabiano Fidêncio 75204e6
Source5: 15-dracut-rhel.conf
Fabiano Fidêncio 75204e6
%endif
99df63b
99df63b
591da57
BuildRequires: gcc
3345b25
BuildRequires: git
Fabiano Fidêncio c81ef81
BuildRequires: make
4fb8c6e
BuildRequires: systemd
4fb8c6e
%{?systemd_requires}
e3e8557
# %check requirements
e3e8557
BuildRequires: kernel
e3e8557
BuildRequires: dracut
ec6b51e
BuildRequires: kata-agent >= %{version}
Fabiano Fidêncio 75204e6
%if 0%{?fedora}
e3e8557
BuildRequires: busybox
Fabiano Fidêncio 75204e6
%endif
4fb8c6e
ec6b51e
Requires: kata-agent >= %{version}
4770fd0
# dracut/rootfs build deps
4fb8c6e
Requires: kernel
4770fd0
Requires: dracut
Fabiano Fidêncio 75204e6
%if 0%{?fedora}
b70c146
Requires: busybox
Fabiano Fidêncio 75204e6
%endif
99df63b
3345b25
3345b25
%description
3345b25
%{summary}
3345b25
99df63b
99df63b
3345b25
%prep
Fabiano Fidêncio 8eb0dbf
%autosetup -Sgit -n osbuilder-%{version}%{?rcstr}
99df63b
3345b25
3345b25
%build
591da57
# Manually build nsdax tool
591da57
gcc %{build_cflags} image-builder/nsdax.gpl.c -o nsdax
591da57
99df63b
3345b25
%install
99df63b
mkdir -p %{buildroot}%{kataosbuilderdir}
Fabiano Fidêncio 15b109b
mkdir -p %{buildroot}%{katalocalstatecachedir}
9304463
rm rootfs-builder/.gitignore
591da57
cp -aR nsdax %{buildroot}/%{kataosbuilderdir}
99df63b
cp -aR rootfs-builder %{buildroot}/%{kataosbuilderdir}
99df63b
cp -aR image-builder %{buildroot}/%{kataosbuilderdir}
4e32777
cp -aR initrd-builder %{buildroot}/%{kataosbuilderdir}
99df63b
cp -aR scripts %{buildroot}%{kataosbuilderdir}
99df63b
cp -aR dracut %{buildroot}%{kataosbuilderdir}
ca3efb6
cp -a %{SOURCE5} %{buildroot}%{kataosbuilderdir}/dracut/dracut.conf.d/
b761afc
cp -a %{SOURCE2} %{buildroot}%{kataosbuilderdir}
80286ff
chmod +x %{buildroot}/%{kataosbuilderdir}/scripts/lib.sh
3345b25
4fb8c6e
install -m 0644 -D -t %{buildroot}%{_unitdir} %{_sourcedir}/kata-osbuilder-generate.service
4fb8c6e
4fb8c6e
e3e8557
%check
36b6039
# We could be run in a mock chroot, where uname will report
36b6039
# different kernel than what we have installed in the chroot.
36b6039
# So we need to determine a valid kernel version to test against.
86abe0b
for kernelpath in /lib/modules/*/vmlinu*; do
86abe0b
    KVERSION="$(echo $kernelpath | cut -d "/" -f 4)"
86abe0b
    break
86abe0b
done
23c86d6
TEST_MODE=1 %{buildroot}%{kataosbuilderdir}/kata-osbuilder.sh \
36b6039
    -o %{buildroot}%{kataosbuilderdir} \
36b6039
    -k "$KVERSION"
e3e8557
e3e8557
4fb8c6e
%preun
4fb8c6e
%systemd_preun kata-osbuilder-generate.service
4fb8c6e
%postun
4fb8c6e
%systemd_postun kata-osbuilder-generate.service
3345b25
%post
Fabiano Fidêncio a33f87d
# Skip running this on Fedora CoreOS / Red Hat CoreOS
Fabiano Fidêncio a33f87d
if test -w %{katalocalstatecachedir}; then
Fabiano Fidêncio a33f87d
    %systemd_post kata-osbuilder-generate.service
Fabiano Fidêncio a33f87d
Fabiano Fidêncio a33f87d
    TMPOUT="$(mktemp -t kata-rpm-post-XXXXXX.log)"
bd42945
    echo "Creating kata appliance initrd..."
23c86d6
    bash %{kataosbuilderdir}/kata-osbuilder.sh > ${TMPOUT} 2>&1
Fabiano Fidêncio a33f87d
    if test "$?" != "0" ; then
Fabiano Fidêncio a33f87d
        echo "Building failed. Here is the log details:"
Fabiano Fidêncio a33f87d
        cat ${TMPOUT}
Fabiano Fidêncio a33f87d
        exit 1
Fabiano Fidêncio a33f87d
    fi
99df63b
fi
99df63b
3345b25
3345b25
%files
3345b25
%license LICENSE
3345b25
%doc CODE_OF_CONDUCT.md CONTRIBUTING.md README.md
Fabiano Fidêncio 15b109b
%dir %{katalibexecdir}
99df63b
%dir %{kataosbuilderdir}
0e24f67
%dir %{katalocalstatecachedir}
0e24f67
99df63b
%{kataosbuilderdir}/*
4fb8c6e
%{_unitdir}/kata-osbuilder-generate.service
99df63b
0e24f67
# Remove some scripts we don't use
0e24f67
%exclude %{kataosbuilderdir}/rootfs-builder/alpine
0e24f67
%exclude %{kataosbuilderdir}/rootfs-builder/centos
0e24f67
%exclude %{kataosbuilderdir}/rootfs-builder/clearlinux
0e24f67
%exclude %{kataosbuilderdir}/rootfs-builder/debian
0e24f67
%exclude %{kataosbuilderdir}/rootfs-builder/euleros
0e24f67
%exclude %{kataosbuilderdir}/rootfs-builder/fedora
0e24f67
%exclude %{kataosbuilderdir}/rootfs-builder/template
0e24f67
%exclude %{kataosbuilderdir}/rootfs-builder/suse
0e24f67
%exclude %{kataosbuilderdir}/rootfs-builder/ubuntu
0e24f67
%exclude %{kataosbuilderdir}/scripts/install-yq.sh
99df63b
3345b25
3345b25
%changelog
8d7cc30
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.11.1-1.1
8d7cc30
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
8d7cc30
34dedd1
* Fri Jun 26 2020 Pavel Mores <pmores@redhat.com> - 1.11.1-1
34dedd1
- Update to version 1.11.1
34dedd1
- Make fedora-kata-osbuilder.sh distro-agnostic
34dedd1
- Rename fedora-kata-osbuilder.sh to kata-osbuilder.sh
34dedd1
Fabiano Fidêncio ce59836
* Tue Jun 02 2020 Fabiano FidĂȘncio <fidencio@redhat.com> - 1.11.0-2
Fabiano Fidêncio ce59836
- Add VFIO modules to the initrd
Fabiano Fidêncio ce59836
b69618b
* Fri May 08 2020 Cole Robinson <crobinso@redhat.com> - 1.11.0-1
b69618b
- Update to version 1.11.0
b69618b
d6570c5
* Mon Apr 20 2020 Cole Robinson <aintdiscole@gmail.com> - 1.11.0-0.3-rc0
d6570c5
- Update to kata-osbuilder 1.11.0-rc0
d6570c5
bd42945
* Thu Apr 02 2020 Cole Robinson <aintdiscole@gmail.com> - 1.11.0-0.2.alpha
bd42945
- Disable FS image generation, the image is presently unused
bd42945
ec6b51e
* Wed Mar 25 2020 Cole Robinson <aintdiscole@gmail.com> - 1.11.0-0.1.alpha
ec6b51e
- Remove kata-agent, it has moved to its own top level package
ec6b51e
Fabiano Fidêncio 8eb0dbf
* Mon Mar 23 2020 Fabiano FidĂȘncio <fidencio@redhat.com> - 1.11.0-0.alpha1
Fabiano Fidêncio 8eb0dbf
- Update to release 1.11.0-alpha1
Fabiano Fidêncio 8eb0dbf
5213150
* Tue Mar 10 2020 Cole Robinson <crobinso@redhat.com> - 1.10.0-8
5213150
- Restore needed qemu-img dep
5213150
d831056
* Fri Mar 06 2020 Cole Robinson <aintdiscole@gmail.com> - 1.10.0-7
d831056
- Allow passing non-uname kernel version to osbuilder script
d831056
bacd52d
* Thu Mar 05 2020 Cole Robinson <aintdiscole@gmail.com> - 1.10.0-6
bacd52d
- Precompile nsdax binary to drop gcc runtime dep
bacd52d
- Re-add 9p drivers for ease of debugging
bacd52d
- Add %check section
bacd52d
- Add drop in 15-dracut-fedora.conf rather than patch upstream files
bacd52d
- Drop some custom patches
bacd52d
- fedora-kata-osbuilder.sh rework and improvements
bacd52d
b70c146
* Mon Feb 17 2020 Cole Robinson <aintdiscole@gmail.com> - 1.10.0-5
b70c146
- Add runtime busybox dep, for dracut debug modules
b70c146
04bddf4
* Sat Feb 15 2020 Cole Robinson <aintdiscole@gmail.com> - 1.10.0-4
04bddf4
- Fixes for virtio-fs
04bddf4
- Add modules to aid debugging appliance initrd/image
04bddf4
150cf1d
* Fri Feb 14 2020 Cole Robinson <aintdiscole@gmail.com> - 1.10.0-3
150cf1d
- Add kata-osbuilder-generate.service
150cf1d
6ad79fd
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.10.0-2
6ad79fd
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
6ad79fd
7b9a2cd
* Tue Jan 21 2020 Christophe de Dinechin <dinechin@redhat.com> - 1.10.0-1
7b9a2cd
- Update to release 1.10.0
7b9a2cd
7ad2b3e
* Fri Jan 17 2020 Christophe de Dinechin <dinechin@redhat.com> - 1.9.3-1
7ad2b3e
- Update to 1.9.3 (No change upstream)
7ad2b3e
f41ee43
* Fri Jan 17 2020 Christophe de Dinechin <dinechin@redhat.com> - 1.9.2-1
f41ee43
- Update to 1.9.2 (No change upstream)
f41ee43
Fabiano Fidêncio dfcc16d
* Fri Jan 17 2020 Fabiano FidĂȘncio <fidencio@redhat.com> - 1.9.1-2
Fabiano Fidêncio dfcc16d
- Remove unneeded nsdax binary file - rhbz#1792216
Fabiano Fidêncio 15b109b
- Install images in /var/cache instead of /usr/libexec - rhbz#1792216
Fabiano Fidêncio dfcc16d
e205f50
* Fri Nov 29 2019 Christophe de Dinechin <dinechin@redhat.com> - 1.9.1-1
e205f50
- Udpate to 1.9.1
e205f50
d705f3c
* Tue Nov 19 2019 Christophe de Dinechin <dinechin@redhat.com> - 1.9.0-4
d705f3c
- Address remaining warnigns reported by rpmlint / rpmgrill, see bz1773629
d705f3c
acb7878
* Tue Nov 19 2019 Christophe de Dinechin <dinechin@redhat.com> - 1.9.0-3
acb7878
- Address various errors and warnings reported by rpmlint / rpmgrill:
acb7878
+ Add rpmlintrc filter to address bogus spelling erorrs (initrd -> trinity)
acb7878
+ Add rpmlintrc filter to remove golang macros warnings (no version number)
acb7878
+ Rmove percent sign in changelog
acb7878
+ Use SOURCE2 instead of _sourcedir to avoid rpmlint error
acb7878
+ Add missing golang packages in the provides list (from golist)
acb7878
+ Fix permission for fedora-kata-osbuilder.sh
acb7878
c484876
* Thu Nov 14 2019 Christophe de Dinechin <dinechin@redhat.com> - 1.9.0-2
c484876
- Build from tag instead of commit
c484876
c484876
* Thu Nov 14 2019 Christophe de Dinechin <dinechin@redhat.com> - 1.9.0-1
8b9bd69
- Update to release 1.9.0
8b9bd69
25a0423
* Thu Oct 24 2019 Cole Robinson <crobinso@redhat.com> - 1.9.0-0.3.git4287ba6
25a0423
- Link to kernel in /usr/share/kata-containers, not /boot
25a0423
bb994fa
* Thu Oct 10 2019 Cole Robinson <aintdiscole@gmail.com> - 1.9.0-0.2.git8d682c4
bb994fa
- fedora-kata-osbuilder.sh: Limit what we delete on install
bb994fa
64292bc
* Wed Sep 18 2019 Cole Robinson <aintdiscole@gmail.com> - 1.9.0-0.1.git8d682c4
64292bc
- Update to latest release 1.9.0alpha2
64292bc
- Use dracut as build method for initrd + image
b27f690
- Add fedora-kata-osbuilder.sh script that handles {percent}post image building
64292bc
f580fc7
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.1-4.git72c5f6a
f580fc7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
f580fc7
75918c0
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.1-3.git72c5f6a
75918c0
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
75918c0
792cfaa
* Thu Dec 13 2018 Lokesh Mandvekar <lsm5@fedoraproject.org> - 1.4.1-2.git72c5f6a
792cfaa
- enable all arches
792cfaa
3345b25
* Thu Dec 13 2018 Lokesh Mandvekar <lsm5@fedoraproject.org> - 1.4.1-1.git72c5f6a
3345b25
- Resolves: #1590414 - first build for Fedora
3345b25
- bump to v1.4.1
3345b25
3345b25
* Mon Nov 26 2018 Lokesh Mandvekar <lsm5@fedoraproject.org> - 1.4.0-4.git39e6aa4
3345b25
- update summary and description
3345b25
3345b25
* Mon Nov 26 2018 Lokesh Mandvekar <lsm5@fedoraproject.org> - 1.4.0-3.git39e6aa4
3345b25
- install license and docs
3345b25
3345b25
* Fri Nov 23 2018 Lokesh Mandvekar <lsm5@fedoraproject.org> - 1.4.0-2.git39e6aa4
3345b25
- use qemu-img
3345b25
3345b25
* Fri Nov 23 2018 Lokesh Mandvekar <lsm5@fedoraproject.org> - 1.4.0-1.git39e6aa4
3345b25
- bump to v1.4.0
3345b25
- built commit 39e6aa4
3345b25
3345b25
* Sun Nov 11 2018 Lokesh Mandvekar <lsm5@fedoraproject.org> - 1.0.0-1.git37d1824
3345b25
- bump to 1.3.1
3345b25
- built commit 37d1824
3345b25
3345b25
* Thu Jun 28 2018 Lokesh Mandvekar <lsm5@fedoraproject.org> - 1.0.0-1.gitac0c290
3345b25
- initial build