Split each tool into its own subpackage

The individual scripts have wildly varying use cases and dependencies,
so it's better to provide each in its own subpackage. Installing the
main package will still pull all the scripts like before.

Signed-off-by: Ondrej Mosnáček <omosnacek@gmail.com>
This commit is contained in:
Ondrej Mosnáček 2023-09-08 15:21:29 +02:00
parent 089f936bfa
commit e5698686f8
No known key found for this signature in database
GPG Key ID: BDE08B7A0C57B343

View File

@ -10,26 +10,12 @@ Source: %{url}/archive/%{version}/%{name}-%{version}.tar.gz
BuildArch: noarch
Requires: %{name}-growpart
Requires: python3
Requires: util-linux
# cloud-localds
Recommends: tar
Recommends: dosfstools
Recommends: mtools
Recommends: genisoimage
# cloud-localds & mount-image-callback
Recommends: qemu-img
# resize-part-image
Requires: file
Requires: gzip
Requires: e2fsprogs
# resize-part-image & mount-image-callback
Requires: gawk
# vcs-run
Recommends: breezy
Recommends: git-core
Recommends: mercurial
Recommends: wget
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.
@ -40,7 +26,7 @@ with a much simpler interface.
%package growpart
Summary: Script for growing a partition
Summary: A script for growing a partition
Requires: gawk
Requires: util-linux
@ -57,6 +43,81 @@ primarily used in cloud images in conjunction with the dracut-modules-growroot
package to grow the root partition on first boot.
%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
@ -83,22 +144,11 @@ rm -f %{buildroot}%{_bindir}/cloud-publish-*
rm -f %{buildroot}%{_mandir}/man1/cloud-publish-*
# Files for the main package
%files
%doc ChangeLog
%license LICENSE
%{_bindir}/cloud-localds
%{_bindir}/write-mime-multipart
%{_bindir}/ec2metadata
%{_bindir}/resize-part-image
%{_bindir}/mount-image-callback
%{_bindir}/vcs-run
%doc %{_mandir}/man1/resize-part-image.*
%doc %{_mandir}/man1/write-mime-multipart.*
%doc %{_mandir}/man1/cloud-localds.*
# Files for the growpart subpackage
%files growpart
%doc ChangeLog
%license LICENSE
@ -106,5 +156,44 @@ rm -f %{buildroot}%{_mandir}/man1/cloud-publish-*
%doc %{_mandir}/man1/growpart.*
%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