# Disable the growpart subpackage in EPEL, as RHEL ships it on its own %if 0%{?epel} %bcond_with growpart %else %bcond_without growpart %endif Summary: Cloud image management utilities Name: cloud-utils Version: 0.33 Release: %autorelease License: GPL-3.0-only URL: https://github.com/canonical/%{name} Source: %{url}/archive/%{version}/%{name}-%{version}.tar.gz BuildArch: noarch Requires: %{name}-growpart Requires: %{name}-cloud-localds Requires: %{name}-write-mime-multipart Requires: %{name}-ec2metadata Requires: %{name}-resize-part-image Requires: %{name}-mount-image-callback Requires: %{name}-vcs-run %description This package provides a useful set of utilities for managing cloud images. The tasks associated with image bundling are often tedious and repetitive. The cloud-utils package provides several scripts that wrap the complicated tasks with a much simpler interface. %if %{with growpart} %package growpart Summary: A script for growing a partition Requires: gawk Requires: util-linux # gdisk is only required for resizing GPT partitions and depends on libicu # (25MB). We don't make this a hard requirement to save some space in non-GPT # systems. Recommends: gdisk Recommends: lvm2 %description growpart This package provides the growpart script for growing a partition. It is primarily used in cloud images in conjunction with the dracut-modules-growroot package to grow the root partition on first boot. %endif %package cloud-localds Summary: A script for creating a nocloud configuration disk for cloud-init Recommends: tar Recommends: dosfstools Recommends: mtools Recommends: genisoimage Recommends: qemu-img %description cloud-localds This package provides the cloud-localds script, which creates a disk-image with user-data and/or meta-data for cloud-init. %package write-mime-multipart Summary: A utilty for creating mime-multipart files %description write-mime-multipart This package provides the write-mime-multipart script, which creates mime multipart files that can be consumed by cloud-init as user-data. %package ec2metadata Summary: A script to query and display EC2 AMI instance metadata %description ec2metadata This package provides the ec2metadata script, which can be used to query and display EC2 instance metadata rekated to an AMI instance. %package resize-part-image Summary: A script for resizing cloud images Requires: file Requires: gzip Requires: e2fsprogs Requires: gawk Requires: tar %description resize-part-image This package provides the resize-part-image script, which can be used to resize a partition image and the contained filesystem to a new size. %package mount-image-callback Summary: A script to run commands over cloud image contents Requires: gawk Requires: util-linux Recommends: qemu-img %description mount-image-callback This package provides the mount-image-callback script, which mounts a cloud image to a temporary mountpoint and runs a specified command on the contents. %package vcs-run Summary: Script to run commands over a VCS repository contents Recommends: breezy Recommends: git-core Recommends: mercurial Recommends: wget %description vcs-run This package provides the vcs-run script, which fetches a code repository into a temporary directory and runs a user-specified command in it. %prep %setup -q %build %install # Create the target directories install -d %{buildroot}%{_bindir} install -d %{buildroot}%{_mandir}/man1 # Install binaries and manpages install -pm 0755 bin/* %{buildroot}%{_bindir}/ install -pm 0644 man/* %{buildroot}%{_mandir}/man1/ # Exclude Ubuntu-specific tools rm %{buildroot}%{_bindir}/*ubuntu* # Exclude the cloud-run-instances manpage rm -f %{buildroot}%{_mandir}/man1/cloud-run-instances.* # Exclude euca2ools wrappers and manpages rm -f %{buildroot}%{_bindir}/cloud-publish-* rm -f %{buildroot}%{_mandir}/man1/cloud-publish-* %if %{without growpart} rm -f %{buildroot}%{_bindir}/growpart rm -f %{buildroot}%{_mandir}/man1/growpart.* %endif %files %doc ChangeLog %license LICENSE %if %{with growpart} %files growpart %doc ChangeLog %license LICENSE %{_bindir}/growpart %doc %{_mandir}/man1/growpart.* %endif %files cloud-localds %doc ChangeLog %license LICENSE %{_bindir}/cloud-localds %doc %{_mandir}/man1/cloud-localds.* %files write-mime-multipart %doc ChangeLog %license LICENSE %{_bindir}/write-mime-multipart %doc %{_mandir}/man1/write-mime-multipart.* %files ec2metadata %doc ChangeLog %license LICENSE %{_bindir}/ec2metadata %files resize-part-image %doc ChangeLog %license LICENSE %{_bindir}/resize-part-image %doc %{_mandir}/man1/resize-part-image.* %files mount-image-callback %doc ChangeLog %license LICENSE %{_bindir}/mount-image-callback %files vcs-run %doc ChangeLog %license LICENSE %{_bindir}/vcs-run %changelog %autochangelog