# In order to remain strictly backwards-compatible with supermin 4.1.4 # shipped in RHEL 7 GA, this package contains both supermin 4.1.4 and # supermin 5. The 'supermin' binary is supermin 4. The new # subpackage 'supermin5' contains a binary of the same name. %ifnarch %{ocaml_native_compiler} %global __strip /bin/true %global debug_package %{nil} %endif # _hardened_build breaks building the static 'init' binary. # https://bugzilla.redhat.com/show_bug.cgi?id=1202091 # https://bugzilla.redhat.com/show_bug.cgi?id=1204162 %undefine _hardened_build # Whether we should verify tarball signature with GPGv2. %global verify_tarball_signature 1 Summary: Tool for creating supermin appliances Name: supermin Version: 5.1.19 Release: 1%{?dist} License: GPLv2+ ExcludeArch: s390 URL: http://people.redhat.com/~rjones/supermin/ Source0: http://libguestfs.org/download/supermin/%{name}-4.1.4.tar.gz Source1: http://libguestfs.org/download/supermin/%{name}-%{version}.tar.gz %if 0%{verify_tarball_signature} Source2: http://libguestfs.org/download/supermin/%{name}-%{version}.tar.gz.sig %endif # Keyring used to verify tarball signature. %if 0%{verify_tarball_signature} Source3: libguestfs.keyring %endif # Patches for supermin 4: Patch0: supermin-4.1.4-fix-exec-stack.patch Patch1: supermin-4.1.4-disable-warning-3.patch # Patches for supermin 5: #(nothing) # BRs for supermin 4: BuildRequires: /usr/bin/pod2man BuildRequires: /usr/bin/pod2html BuildRequires: rpm BuildRequires: rpm-devel BuildRequires: yum >= 3.2 BuildRequires: /usr/sbin/mke2fs BuildRequires: e2fsprogs-devel BuildRequires: findutils BuildRequires: glibc-static, zlib-static BuildRequires: ocaml, ocaml-findlib-devel # Patches touch src/Makefile.am, so: BuildRequires: automake, autoconf # BRs for supermin 5 (those not listed already): BuildRequires: yum-utils %if 0%{verify_tarball_signature} BuildRequires: gnupg2 %endif # These are required only to run the tests. We could patch out the # tests to not require these packages. BuildRequires: augeas hivex kernel tar # Runtime requires for supermin 4: Requires: yum >= 3.2 Requires: yum-utils Requires: supermin-helper%{?_isa} = %{version}-%{release} # https://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries#Packages_granted_exceptions Provides: bundled(gnulib) # NB: Does NOT Provides, because this is not a compatible replacement. Obsoletes: febootstrap <= 3.21-1 %description Supermin is a tool for building supermin appliances. These are tiny appliances (similar to virtual machines), usually around 100KB in size, which get fully instantiated on-the-fly in a fraction of a second when you need to boot one of them. This package contains supermin version 4. %package helper Summary: Runtime support for supermin Requires: util-linux-ng Requires: cpio Requires: /usr/sbin/mke2fs # RHBZ#771310 Requires: e2fsprogs-libs >= 1.42 # NB: Does NOT Provides, because this is not a compatible replacement. Obsoletes: febootstrap-supermin-helper <= 3.21-1 %description helper %{name}-helper contains the runtime support for %{name}. %package -n supermin5 Summary: Supermin version 5 Requires: rpm Requires: yum-utils Requires: util-linux-ng Requires: cpio Requires: tar Requires: /usr/sbin/mke2fs # RHBZ#771310 Requires: e2fsprogs-libs >= 1.42 Requires: findutils # For automatic RPM dependency generation. # See: http://www.rpm.org/wiki/PackagerDocs/DependencyGenerator Source4: supermin.attr Source5: supermin-find-requires %description -n supermin5 Supermin is a tool for building supermin appliances. These are tiny appliances (similar to virtual machines), usually around 100KB in size, which get fully instantiated on-the-fly in a fraction of a second when you need to boot one of them. This package contains supermin version %{version}. The binary is called 'supermin5', so that we do not break compatibility with RHEL 7 GA. %package -n supermin5-devel Summary: Development tools for supermin5 Requires: supermin5 = %{version}-%{release} Requires: rpm-build %description -n supermin5-devel supermin5-devel contains development tools for supermin5. It just contains tools for automatic RPM dependency generation from supermin appliances. %prep %if 0%{verify_tarball_signature} tmphome="$(mktemp -d)" gpgv2 --homedir "$tmphome" --keyring %{SOURCE3} %{SOURCE2} %{SOURCE1} %endif # This creates: # supermin-5.*/ # supermin-5.*/supermin-4.1.4/ # supermin 4 # supermin-5.*/supermin-5.*/ # supermin 5 %setup -q -c %setup -T -D -a 1 pushd supermin-4.1.4 %patch0 -p1 %patch1 -p2 popd pushd %{name}-%{version} #(no patches need to be applied to supermin 5) popd %build pushd %{name}-4.1.4 %configure --disable-network-tests make popd pushd %{name}-%{version} %configure --disable-network-tests make popd %install # Have to do the supermin5 install first so we can move the files # that it installs. pushd %{name}-%{version} make DESTDIR=$RPM_BUILD_ROOT install pushd $RPM_BUILD_ROOT%{_bindir} mv supermin supermin5 popd pushd $RPM_BUILD_ROOT%{_mandir}/man1 mv supermin.1 supermin5.1 popd popd pushd %{name}-4.1.4 make DESTDIR=$RPM_BUILD_ROOT install popd mkdir -p $RPM_BUILD_ROOT%{_rpmconfigdir}/fileattrs/ install -m 0644 %{SOURCE4} $RPM_BUILD_ROOT%{_rpmconfigdir}/fileattrs/ install -m 0755 %{SOURCE5} $RPM_BUILD_ROOT%{_rpmconfigdir}/ %check %ifarch aarch64 %{power64} s390x x86_64 pushd %{name}-4.1.4 make check popd pushd %{name}-%{version} make check || { cat tests/test-suite.log exit 1 } popd %endif %files %doc %{name}-4.1.4/COPYING %doc %{name}-4.1.4/README %doc %{name}-4.1.4/examples/build-basic-vm.sh %{_bindir}/supermin %{_mandir}/man8/supermin.8* %files helper %doc %{name}-4.1.4/COPYING %{_bindir}/supermin-helper %{_mandir}/man8/supermin-helper.8* %files -n supermin5 %doc %{name}-%{version}/COPYING %doc %{name}-%{version}/README %doc %{name}-%{version}/examples/build-basic-vm.sh %{_bindir}/supermin5 %{_mandir}/man1/supermin5.1* %files -n supermin5-devel %{_rpmconfigdir}/fileattrs/supermin.attr %{_rpmconfigdir}/supermin-find-requires %changelog * Sat Sep 23 2017 Richard W.M. Jones - 5.1.19-1 - Rebase to supermin 5.1.19. - Build on s390x. - Add upstream signature. - Remove upstream patches. resolves: rhbz#1484890, rhbz#1484973 * Wed Jul 06 2016 Richard W.M. Jones - 5.1.16-4 - Add all upstream patches since 5.1.16 was released. * Wed May 25 2016 Richard W.M. Jones - 5.1.16-2 - supermin init segfaults when kernel has large modules (1339691) * Wed Apr 27 2016 Richard W.M. Jones - 5.1.16-1 - New upstream version 5.1.16. - Drop all patches since they are upstream. * Wed Apr 20 2016 Richard W.M. Jones - 5.1.15-3 - Add all upstream patches since 5.1.15 was released. - These should improve boot performance and initrd size. * Wed Feb 17 2016 Richard W.M. Jones - 5.1.15-1 - Rebase to supermin 5.1.15. resolves: rhbz#1271255 - Create supermin5-devel package containing RPM dependency generator. * Wed Sep 10 2014 Richard W.M. Jones - 5.1.10-1.2 - Enable all ppc64 architectures, including BE. * Thu Sep 04 2014 Richard W.M. Jones - 5.1.10-1.1 - Rebase to supermin 5.1.10. resolves: rhbz#1021150 * Fri Aug 08 2014 Richard W.M. Jones - 5.1.9-1.4 - Completely remove dependency on prelink/execstack (RHBZ#1093261). - Rebuild for aarch64 and ppc64le (1125690). * Mon Jul 21 2014 Richard W.M. Jones - 5.1.9-1 - Rebase to supermin 5.1.9. resolves: rhbz#1021150 - Remove patches, now all upstream. * Wed May 21 2014 Richard W.M. Jones - 5.1.8-5.1 - Package supermin 5 for RHEL 7.1. - Remove supermin 4 patch which was included by accident. * Fri Dec 27 2013 Daniel Mach - 4.1.4-2 - Mass rebuild 2013-12-27 * Wed Aug 28 2013 Richard W.M. Jones - 4.1.4-1 - New upstream version 4.1.4. - Supports compressed cpio image files, experimentally. * Fri Aug 9 2013 Richard W.M. Jones - 4.1.3-1 - New upstream version 4.1.3. - Remove patch which is now upstream. - Add examples directory to documentation. * Tue Aug 6 2013 Richard W.M. Jones - 4.1.2-2 - Include upstream patch to get correct directory setgid/sticky bits in the appliance. * Sat Aug 3 2013 Richard W.M. Jones - 4.1.2-1 - New upstream version 4.1.2. - Remove patch which is now upstream. * Wed Jun 26 2013 Richard W.M. Jones - 4.1.1-2 - Add upstream patch to ignore ghost non-regular files. - This fixes builds on Fedora 20 because the filesystem package has been changed so /var/lock and /var/run are marked as ghost. * Tue Feb 5 2013 Richard W.M. Jones - 4.1.1-1 - New upstream version 4.1.1. - The program has been renamed 'supermin' from 'febootstrap'. - Obsolete, but don't Provide because supermin is not a compatible replacement. - Use '_isa' to specify architecture of supermin-helper subpackage. * Tue Jan 22 2013 Richard W.M. Jones - 1:3.21-2 - Add upstream patch to drop supplemental groups (RHBZ#902476). - Remove 'Group:' RPM headers which are no longer necessary. - Remove some commented-out requirements. * Sat Dec 22 2012 Richard W.M. Jones - 1:3.21-1 - New upstream version 3.21. * Fri Aug 31 2012 Richard W.M. Jones - 1:3.20-1 - New upstream version 3.20. * Wed Aug 22 2012 Richard W.M. Jones - 1:3.19-2 - Work around brokenness in yum (RHBZ#850913). - Remove defattr, no longer required. * Tue Jul 31 2012 Richard W.M. Jones - 1:3.19-1 - New upstream version 3.19. * Thu Jul 19 2012 Fedora Release Engineering - 3.18-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild * Mon Jun 18 2012 Richard Jones - 3.18-1 - New upstream version 3.18. - This adds support for EPEL 5. * Thu Jun 14 2012 Richard Jones - 3.17-1 - New upstream version 3.17. * Wed Jun 13 2012 Richard Jones - 3.16-1 - New upstream version 3.16. * Tue Jun 12 2012 Richard Jones - 3.15-1 - New upstream version 3.15. - This version includes root= support, needed for libguestfs with virtio-scsi. - Remove upstream patch. * Thu May 17 2012 Richard Jones - 3.14-6 - For RHEL 7 only, add ExclusiveArch x86-64. * Tue May 15 2012 Richard Jones - 3.14-5 - Bundled gnulib (RHBZ#821752). * Fri Apr 13 2012 Richard Jones - 3.14-4 - Add back explicit dependencies for external programs. * Fri Apr 13 2012 Peter Robinson - 3.14-3 - Drop ExclusiveArch as it's supported on all primary & secondary arches - Cleanup spec and deps * Fri Mar 30 2012 Richard Jones - 3.14-2 - New upstream version 3.14. - Add upstream patch to fix RHBZ#808421. * Thu Mar 29 2012 Richard Jones - 3.13-4 - e2fsprogs moved /sbin/mke2fs to /usr/sbin (thanks Eric Sandeen). * Thu Mar 1 2012 Richard Jones - 3.13-2 - Missing BR zlib-static. * Thu Feb 9 2012 Richard Jones - 3.13-1 - New upstream version 3.13. - Remove upstream patch which is included in this version. * Fri Jan 13 2012 Fedora Release Engineering - 3.12-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild * Tue Jan 3 2012 Richard Jones - 3.12-4 - Depend on latest e2fsprogs (RHBZ#771310). * Wed Nov 9 2011 Richard Jones - 3.12-2 - Include upstream patch to work around Python stupidity. * Tue Oct 18 2011 Richard Jones - 3.12-1 - New upstream version 3.12. - Remove upstream patch which is included in this version. * Fri Oct 14 2011 Richard Jones - 3.11-2 - Add upstream patch to fix febootstrap on non-Debian. * Fri Oct 14 2011 Richard Jones - 3.11-1 - New upstream version 3.11. * Thu Sep 1 2011 Richard Jones - 3.10-1 - New upstream version 3.10. * Fri Aug 26 2011 Richard Jones - 3.9-1 - New upstream version 3.9. * Tue Jul 26 2011 Richard Jones - 3.8-1 - New upstream version 3.8. * Fri Jul 15 2011 Richard Jones - 3.7-1 - New upstream version 3.7. * Wed Jun 1 2011 Richard Jones - 3.6-1 - New upstream version 3.6. - This version no longer needs external insmod.static. * Fri May 27 2011 Richard Jones - 3.5-1 - New upstream version 3.5. - Remove patch which is now upstream. * Fri Mar 18 2011 Richard Jones - 3.4-2 - Don't fail if objects are created in a symlinked dir (RHBZ#698089). * Fri Mar 18 2011 Richard Jones - 3.4-1 - New upstream version 3.4. - febootstrap-supermin-helper Obsoletes older versions of febootstrap. * Tue Feb 08 2011 Fedora Release Engineering - 3.3-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild * Fri Jan 14 2011 Richard Jones - 3.3-4 - Split package into febootstrap (for building) and febootstrap-supermin-helper (for running). Note that febootstrap depends on febootstrap-supermin-helper, but you can install febootstrap-supermin-helper on its own. * Fri Jan 14 2011 Richard Jones - 3.3-3 - Clear executable stack flag on febootstrap-supermin-helper. * Thu Jan 13 2011 Dan HorĂ¡k - 3.3-2 - add the ocaml's ExclusiveArch * Sat Dec 11 2010 Richard Jones - 3.3-1 - New upstream version 3.3. * Tue Dec 7 2010 Richard Jones - 3.2-1 - New upstream version 3.2. - Remove upstream patches. * Tue Dec 7 2010 Richard Jones - 3.1-5 - Previous fix for RHBZ#654638 didn't work, fix it correctly. * Mon Dec 6 2010 Richard Jones - 3.1-4 - Properly ignore .*.hmac files (accidental reopening of RHBZ#654638). * Mon Dec 6 2010 Richard Jones - 3.1-3 - Uses yumdownloader at runtime, so require yum-utils. * Mon Dec 6 2010 Richard Jones - 3.1-2 - New upstream version 3.1. - BR insmod.static. * Sun Dec 5 2010 Richard Jones - 3.0-2 - New upstream version 3.0 (note this is incompatible with 2.x). - Fix upstream URLs. - fakeroot, fakechroot no longer required. - insmod.static is required at runtime (missing dependency from earlier). - The only programs are 'febootstrap' and 'febootstrap-supermin-helper'. - BR ocaml, ocaml-findlib-devel. - No examples are provided with this version of febootstrap. * Thu Nov 25 2010 Richard Jones - 2.11-1 - New upstream version 2.11. - Fixes "ext2fs_mkdir .. No free space in directory" bug which affects libguestfs on rawhide. * Thu Oct 28 2010 Richard Jones - 2.10-1 - New upstream version 2.10. - Adds -u and -g options to febootstrap-supermin-helper which are required by virt-v2v. * Fri Aug 27 2010 Richard Jones - 2.9-1 - New upstream version 2.9. - Fixes directory ordering problem in febootstrap-supermin-helper. * Tue Aug 24 2010 Richard Jones - 2.8-1 - New upstream version 2.8. * Sat Aug 21 2010 Richard Jones - 2.8-0.2 - New pre-release version of 2.8. + Note this is based on 2.7 + mailing list patches. - New BRs on mke2fs, libext2fs, glibc-static. * Fri May 14 2010 Richard Jones - 2.7-2 - New upstream version 2.7. - febootstrap-supermin-helper shell script rewritten in C for speed. - This package contains C code so it is no longer 'noarch'. - MAKEDEV isn't required. * Fri Jan 22 2010 Richard Jones - 2.6-1 - New upstream release 2.6. - Recheck package in rpmlint. * Thu Oct 22 2009 Richard Jones - 2.5-2 - New upstream release 2.5. - Remove BR upx (not needed by upstream). - Two more scripts / manpages. * Thu Jul 30 2009 Richard Jones - 2.4-1 - New upstream release 2.4. * Fri Jul 24 2009 Fedora Release Engineering - 2.3-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild * Mon Jun 15 2009 Richard Jones - 2.3-1 - New upstream release 2.3. * Mon Jun 15 2009 Richard Jones - 2.2-1 - New upstream release 2.2. * Mon May 11 2009 Richard Jones - 2.0-1 - New upstream release 2.0. * Thu May 7 2009 Richard Jones - 1.9-1 - New upstream release 1.9. * Fri May 1 2009 Richard Jones - 1.8-1 - New upstream release 1.8. * Mon Apr 20 2009 Richard Jones - 1.7-1 - New upstream release 1.7. * Tue Apr 14 2009 Richard Jones - 1.5-3 - Configure script has (unnecessary) BuildRequires on fakeroot, fakechroot, yum. * Tue Apr 14 2009 Richard Jones - 1.5-2 - Initial build for Fedora.