The package rpms/libguestfs.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/libguestfs.git/commit/?id=cfa88f9....
Change:
+%ifarch aarch64
Thanks.
Full change:
============
commit cfa88f9c571cac315cdeddad11f0a93f7689ba41
Author: Richard W.M. Jones <rjones(a)redhat.com>
Date: Wed Dec 2 15:24:17 2020 +0000
Unify Fedora and RHEL spec files.
diff --git a/libguestfs.spec b/libguestfs.spec
index d2fa057..2e01737 100644
--- a/libguestfs.spec
+++ b/libguestfs.spec
@@ -49,7 +49,7 @@ Summary: Access and modify virtual machine disk images
Name: libguestfs
Epoch: 1
Version: 1.43.3
-Release: 2%{?dist}
+Release: 3%{?dist}
License: LGPLv2+
# Build only for architectures that have a kernel
@@ -62,7 +62,7 @@ Source0:
http://libguestfs.org/download/%{source_directory}/%{name}-%{vers
Source1:
http://libguestfs.org/download/%{source_directory}/%{name}-%{version}.tar...
%endif
-# Replacement README file for Fedora users.
+# Replacement README file.
Source4: README-replacement.in
# Guestfish colour prompts.
@@ -76,16 +76,20 @@ Source6: yum.conf.in
Source7: libguestfs.keyring
%endif
+# Maintainer script which helps with handling patches.
+Source8: copy-patches.sh
+
%if 0%{patches_touch_autotools}
BuildRequires: autoconf, automake, libtool, gettext-devel
%endif
# Basic build requirements for the library and virt tools.
BuildRequires: gcc, gcc-c++
+BuildRequires: make
BuildRequires: rpcgen
BuildRequires: libtirpc-devel
BuildRequires: supermin-devel >= 5.1.18
-BuildRequires: hivex-devel >= 1.2.7-7
+BuildRequires: hivex-devel >= 1.3.10
BuildRequires: ocaml-hivex-devel
BuildRequires: perl(Pod::Simple)
BuildRequires: perl(Pod::Man)
@@ -95,7 +99,7 @@ BuildRequires: augeas-devel >= 1.7.0
BuildRequires: readline-devel
BuildRequires: genisoimage
BuildRequires: libxml2-devel
-BuildRequires: createrepo
+BuildRequires: createrepo_c
BuildRequires: glibc-static
BuildRequires: libselinux-utils
BuildRequires: libselinux-devel
@@ -110,16 +114,22 @@ BuildRequires: libdb-utils
BuildRequires: cpio
BuildRequires: libconfig-devel
BuildRequires: xz-devel
+%if !0%{?rhel}
BuildRequires: zip
BuildRequires: unzip
+%endif
BuildRequires: systemd-units
BuildRequires: netpbm-progs
BuildRequires: icoutils
-BuildRequires: libvirt-daemon-kvm
+BuildRequires: libvirt-daemon-kvm >= 5.3.0
+%if !0%{?rhel}
BuildRequires: perl(Expect)
+%endif
BuildRequires: libacl-devel
BuildRequires: libcap-devel
+%if !0%{?rhel}
BuildRequires: libldm-devel
+%endif
BuildRequires: jansson-devel
BuildRequires: systemd-devel
BuildRequires: bash-completion
@@ -130,6 +140,7 @@ BuildRequires: xz
BuildRequires: /usr/bin/qemu-img
BuildRequires: perl(Win::Hivex)
BuildRequires: perl(Win::Hivex::Regedit)
+
%if 0%{verify_tarball_signature}
BuildRequires: gnupg2
%endif
@@ -140,7 +151,6 @@ BuildRequires: ocaml-ocamldoc
BuildRequires: ocaml-findlib-devel
BuildRequires: ocaml-gettext-devel
BuildRequires: ocaml-ounit-devel
-BuildRequires: ocaml-libvirt-devel >= 0.6.1.4-5
BuildRequires: lua
BuildRequires: lua-devel
BuildRequires: perl-devel
@@ -154,7 +164,7 @@ BuildRequires: perl(Module::Build)
BuildRequires: perl(ExtUtils::CBuilder)
BuildRequires: perl(Locale::TextDomain)
BuildRequires: python3-devel
-BuildRequires: libvirt-python3
+BuildRequires: python3-libvirt
BuildRequires: ruby-devel
BuildRequires: rubygem-rake
# json is not pulled in automatically, see RHBZ#1325022
@@ -162,16 +172,16 @@ BuildRequires: rubygem(json)
BuildRequires: rubygem(rdoc)
BuildRequires: rubygem(test-unit)
BuildRequires: ruby-irb
+%if !0%{?rhel}
BuildRequires: php-devel
+%endif
BuildRequires: gobject-introspection-devel
BuildRequires: gjs
+%if !0%{?rhel}
BuildRequires: vala
+%endif
%ifarch %{golang_arches}
BuildRequires: golang
-# This version is required for aarch64 to be supported by gcc-go.
-%ifarch aarch64
-BuildRequires: gcc >= 5.0.0-0.19.fc23
-%endif
%endif
# Build requirements for the appliance.
@@ -180,18 +190,107 @@ BuildRequires: gcc >= 5.0.0-0.19.fc23
# for f in `cat appliance/packagelist`; do echo $f; done | sort -u
# However you have to edit the list down to packages which exist in
# current Fedora, since supermin ignores non-existent packages.
-BuildRequires: acl attr augeas-libs bash binutils btrfs-progs bzip2 coreutils cpio
cryptsetup curl debootstrap dhclient diffutils dosfstools e2fsprogs file findutils gawk
gdisk genisoimage gfs2-utils grep gzip hivex iproute iputils jfsutils kernel kmod kpartx
less libcap libldm libselinux libxml2 lsof lsscsi lvm2 lzop mdadm nilfs-utils
openssh-clients parted pciutils pcre policycoreutils procps psmisc qemu-img reiserfs-utils
rsync scrub sed sleuthkit squashfs-tools strace systemd tar udev util-linux vim-minimal
which xfsprogs xz yajl zerofree
+
+BuildRequires: acl
+BuildRequires: attr
+BuildRequires: augeas-libs
+BuildRequires: bash
+BuildRequires: binutils
+%if !0%{?rhel}
+BuildRequires: btrfs-progs
+%endif
+BuildRequires: bzip2
+BuildRequires: coreutils
+BuildRequires: cpio
+BuildRequires: cryptsetup
+BuildRequires: curl
+%if !0%{?rhel}
+BuildRequires: debootstrap
+%endif
+BuildRequires: dhclient
+BuildRequires: diffutils
+BuildRequires: dosfstools
+BuildRequires: e2fsprogs
+BuildRequires: file
+BuildRequires: findutils
+BuildRequires: gawk
+BuildRequires: gdisk
+BuildRequires: genisoimage
+BuildRequires: gfs2-utils
+BuildRequires: grep
+BuildRequires: gzip
+%if !0%{?rhel}
%ifnarch ppc
BuildRequires: hfsplus-tools
%endif
-%ifnarch %{arm} aarch64 s390 s390x riscv64
-#
http://zfs-fuse.net/issues/94
-BuildRequires: zfs-fuse
%endif
+BuildRequires: hivex
+BuildRequires: iproute
+BuildRequires: iputils
+%if !0%{?rhel}
+BuildRequires: jfsutils
+%endif
+BuildRequires: kernel
+BuildRequires: kmod
+BuildRequires: kpartx
+BuildRequires: less
+BuildRequires: libcap
+%if !0%{?rhel}
+BuildRequires: libldm
+%endif
+BuildRequires: libselinux
+BuildRequires: libxml2
+BuildRequires: lsof
+BuildRequires: lsscsi
+BuildRequires: lvm2
+BuildRequires: lzop
+BuildRequires: mdadm
+%if !0%{?rhel}
+BuildRequires: nilfs-utils
+%endif
+%if !0%{?rhel}
BuildRequires: ntfs-3g ntfsprogs ntfs-3g-system-compression
+%endif
+BuildRequires: openssh-clients
+BuildRequires: parted
+BuildRequires: pciutils
+BuildRequires: pcre
+BuildRequires: policycoreutils
+BuildRequires: procps
+BuildRequires: psmisc
+BuildRequires: qemu-img
+%if !0%{?rhel}
+BuildRequires: reiserfs-utils
+%endif
+BuildRequires: rsync
+BuildRequires: scrub
+BuildRequires: sed
+%if !0%{?rhel}
+BuildRequires: sleuthkit
+%endif
+BuildRequires: squashfs-tools
+BuildRequires: strace
%ifarch %{ix86} x86_64
BuildRequires: syslinux syslinux-extlinux
%endif
+BuildRequires: systemd
+BuildRequires: tar
+BuildRequires: udev
+BuildRequires: util-linux
+BuildRequires: vim-minimal
+BuildRequires: which
+BuildRequires: xfsprogs
+BuildRequires: xz
+BuildRequires: yajl
+%if !0%{?rhel}
+BuildRequires: zerofree
+%endif
+%if !0%{?rhel}
+%ifnarch %{arm} aarch64 s390 s390x riscv64
+#
http://zfs-fuse.net/issues/94
+BuildRequires: zfs-fuse
+%endif
+%endif
# For building the appliance.
Requires: supermin >= 5.1.18
@@ -201,7 +300,7 @@ Requires: supermin >= 5.1.18
Requires: augeas-libs%{?_isa} >= 1.7.0
Requires: libacl%{?_isa}
Requires: libcap%{?_isa}
-Requires: hivex%{?_isa}
+Requires: hivex%{?_isa} >= 1.3.10
Requires: pcre%{?_isa}
Requires: libselinux%{?_isa}
Requires: systemd-libs%{?_isa}
@@ -223,12 +322,17 @@ Suggests: qemu-block-gluster
Suggests: qemu-block-iscsi
Suggests: qemu-block-rbd
Suggests: qemu-block-ssh
+Recommends: libvirt-daemon-config-network
Requires: libvirt-daemon-driver-qemu
Requires: libvirt-daemon-driver-secret
Recommends: libvirt-daemon-driver-storage-core
-Recommends: libvirt-daemon-config-network
+Requires: libvirt-daemon-kvm >= 5.3.0
Requires: selinux-policy >= 3.11.1-63
+%ifarch aarch64
+Requires: edk2-aarch64
+%endif
+
# For UML backend (this backend only works on x86).
# UML has been broken upstream (in the kernel) for a while, so don't
# include this. Note that uml_utilities also depends on Perl.
@@ -239,9 +343,14 @@ Requires: selinux-policy >= 3.11.1-63
#
https://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries#Packages_gr...
Provides: bundled(gnulib)
-# Someone managed to install libguestfs-winsupport (from RHEL!) on
+%if !0%{?rhel}
+# Someone managed to install libguestfs-winsupport (from RHEL!) on
# Fedora, which breaks everything. Thus:
Conflicts: libguestfs-winsupport
+%else
+Conflicts: libguestfs-winsupport < 7.2
+%endif
+
%description
@@ -258,8 +367,7 @@ guest filesystem that Linux and qemu can, including but not limited
to: ext2/3/4, btrfs, FAT and NTFS, LVM, many different disk partition
schemes, qcow, qcow2, vmdk.
-Libguestfs for Fedora is split into several subpackages. The basic
-subpackages are:
+Libguestfs is split into several subpackages. The basic subpackages are:
libguestfs C library
libguestfs-tools virt-* tools, guestfish and guestmount (FUSE)
@@ -269,18 +377,28 @@ subpackages are:
For enhanced features, install:
+%if !0%{?rhel}
libguestfs-forensics adds filesystem forensics support
+%endif
libguestfs-gfs2 adds Global Filesystem (GFS2) support
+%if !0%{?rhel}
libguestfs-hfsplus adds HFS+ (Mac filesystem) support
+%endif
libguestfs-inspect-icons adds support for inspecting guest icons
+%if !0%{?rhel}
libguestfs-jfs adds JFS support
libguestfs-nilfs adds NILFS v2 support
libguestfs-reiserfs adds ReiserFS support
+%endif
libguestfs-rescue enhances virt-rescue shell with more tools
libguestfs-rsync rsync to/from guest filesystems
+%if !0%{?rhel}
libguestfs-ufs adds UFS (BSD) support
+%endif
libguestfs-xfs adds XFS support
+%if !0%{?rhel}
libguestfs-zfs adds ZFS support
+%endif
For developers:
@@ -295,10 +413,14 @@ Language bindings:
lua-guestfs Lua bindings
ocaml-libguestfs-devel OCaml bindings
perl-Sys-Guestfs Perl bindings
+%if !0%{?rhel}
php-libguestfs PHP bindings
+%endif
python3-libguestfs Python 3 bindings
ruby-libguestfs Ruby bindings
+%if !0%{?rhel}
libguestfs-vala Vala language bindings
+%endif
%package devel
@@ -316,6 +438,7 @@ Requires: %{name}-tools-c = %{epoch}:%{version}-%{release}
for %{name}.
+%if !0%{?rhel}
%package forensics
Summary: Filesystem forensics support for %{name}
License: LGPLv2+
@@ -324,6 +447,7 @@ Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release}
%description forensics
This adds filesystem forensics support to %{name}. Install it if you
want to forensically analyze disk images using The Sleuth Kit.
+%endif
%package gfs2
@@ -336,6 +460,7 @@ This adds GFS2 support to %{name}. Install it if you want to process
disk images containing GFS2.
+%if !0%{?rhel}
%ifnarch ppc
%package hfsplus
Summary: HFS+ support for %{name}
@@ -346,8 +471,10 @@ Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release}
This adds HFS+ support to %{name}. Install it if you want to process
disk images containing HFS+ / Mac OS Extended filesystems.
%endif
+%endif
+%if !0%{?rhel}
%package jfs
Summary: JFS support for %{name}
License: LGPLv2+
@@ -356,8 +483,10 @@ Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release}
%description jfs
This adds JFS support to %{name}. Install it if you want to process
disk images containing JFS.
+%endif
+%if !0%{?rhel}
%package nilfs
Summary: NILFS support for %{name}
License: LGPLv2+
@@ -366,8 +495,10 @@ Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release}
%description nilfs
This adds NILFS v2 support to %{name}. Install it if you want to process
disk images containing NILFS v2.
+%endif
+%if !0%{?rhel}
%package reiserfs
Summary: ReiserFS support for %{name}
License: LGPLv2+
@@ -376,6 +507,7 @@ Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release}
%description reiserfs
This adds ReiserFS support to %{name}. Install it if you want to process
disk images containing ReiserFS.
+%endif
%package rescue
@@ -398,6 +530,7 @@ This adds rsync support to %{name}. Install it if you want to use
rsync to upload or download files into disk images.
+%if !0%{?rhel}
%package ufs
Summary: UFS (BSD) support for %{name}
License: LGPLv2+
@@ -406,6 +539,7 @@ Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release}
%description ufs
This adds UFS support to %{name}. Install it if you want to process
disk images containing UFS (BSD filesystems).
+%endif
%package xfs
@@ -418,6 +552,7 @@ This adds XFS support to %{name}. Install it if you want to process
disk images containing XFS.
+%if !0%{?rhel}
%ifnarch %{arm} aarch64 s390 s390x riscv64
%package zfs
Summary: ZFS support for %{name}
@@ -428,6 +563,7 @@ Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release}
This adds ZFS support to %{name}. Install it if you want to process
disk images containing ZFS.
%endif
+%endif
%package inspect-icons
@@ -464,7 +600,6 @@ Requires: /usr/bin/vi
# For virt-builder:
Requires: gnupg2
-#Requires: (gnupg or gnupg2) # Fedora packaging rules forbid this
Requires: xz
#Requires: nbdkit, nbdkit-plugin-xz
Requires: curl
@@ -658,6 +793,7 @@ Provides: ruby(guestfs) = %{version}
ruby-%{name} contains Ruby bindings for %{name}.
+%if !0%{?rhel}
%package -n php-%{name}
Summary: PHP bindings for %{name}
Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release}
@@ -666,6 +802,7 @@ Requires: php(api) = %{php_core_api}
%description -n php-%{name}
php-%{name} contains PHP bindings for %{name}.
+%endif
%package -n lua-guestfs
@@ -699,6 +836,7 @@ This package is needed if you want to write software using the
GObject bindings. It also contains GObject Introspection information.
+%if !0%{?rhel}
%package vala
Summary: Vala for %{name}
Requires: %{name}-devel%{?_isa} = %{epoch}:%{version}-%{release}
@@ -707,6 +845,7 @@ Requires: vala
%description vala
%{name}-vala contains GObject bindings for %{name}.
+%endif
@@ -780,15 +919,26 @@ else
# -n 1 because of RHBZ#980502.
find /var/cache/{dnf,yum} -type f -name '*.rpm' -print0 | \
xargs -0 -n 1 cp -t repo
- createrepo repo
+ createrepo_c repo
sed -e "s|@PWD@|$(pwd)|" %{SOURCE6} > yum.conf
extra=--with-supermin-packager-config=$(pwd)/yum.conf
fi
%{configure} \
+%if 0%{?rhel}
+ QEMU=%{_libexecdir}/qemu-kvm \
+%endif
PYTHON=%{__python3} \
--with-default-backend=libvirt \
+%if !0%{?rhel}
--with-extra="fedora=%{fedora},release=%{release},libvirt" \
+%else
+ --with-extra="rhel=%{rhel},release=%{release},libvirt" \
+%endif
+%if 0%{?rhel}
+ --with-qemu="qemu-kvm qemu-system-%{_build_arch} qemu" \
+ --disable-php \
+%endif
%ifnarch %{golang_arches}
--disable-golang \
%endif
@@ -866,6 +1016,7 @@ gzip --best installed-docs/*.xml
# Split up the monolithic packages file in the supermin appliance so
# we can install dependencies in subpackages.
pushd $RPM_BUILD_ROOT%{_libdir}/guestfs/supermin.d
+
function move_to
{
if ! grep -Esq "^$1$" packages; then
@@ -876,17 +1027,24 @@ function move_to
mv packages-t packages
echo "$1" >> "$2"
}
+
move_to curl zz-packages-dib
+%if !0%{?rhel}
move_to debootstrap zz-packages-dib
+%endif
move_to kpartx zz-packages-dib
move_to qemu-img zz-packages-dib
move_to which zz-packages-dib
+%if !0%{?rhel}
move_to sleuthkit zz-packages-forensics
+%endif
move_to gfs2-utils zz-packages-gfs2
+%if !0%{?rhel}
move_to hfsplus-tools zz-packages-hfsplus
move_to jfsutils zz-packages-jfs
move_to nilfs-utils zz-packages-nilfs
move_to reiserfs-utils zz-packages-reiserfs
+%endif
move_to iputils zz-packages-rescue
move_to lsof zz-packages-rescue
move_to openssh-clients zz-packages-rescue
@@ -895,13 +1053,18 @@ move_to strace zz-packages-rescue
move_to vim-minimal zz-packages-rescue
move_to rsync zz-packages-rsync
move_to xfsprogs zz-packages-xfs
+%if !0%{?rhel}
%ifnarch %{arm} aarch64 s390 s390x riscv64
move_to zfs-fuse zz-packages-zfs
%endif
+%endif
+%if !0%{?rhel}
# On Fedora you need kernel-modules-extra to be able to mount
# UFS (BSD) filesystems.
echo "kernel-modules-extra" > zz-packages-ufs
+%endif
+
popd
# If there is a bogus dependency on kernel-*, rename it to 'kernel'
@@ -959,25 +1122,35 @@ rm ocaml/html/.gitignore
%{_libdir}/pkgconfig/libguestfs.pc
+%if !0%{?rhel}
%files forensics
%{_libdir}/guestfs/supermin.d/zz-packages-forensics
+%endif
%files gfs2
%{_libdir}/guestfs/supermin.d/zz-packages-gfs2
+%if !0%{?rhel}
%ifnarch ppc
%files hfsplus
%{_libdir}/guestfs/supermin.d/zz-packages-hfsplus
%endif
+%endif
+%if !0%{?rhel}
%files jfs
%{_libdir}/guestfs/supermin.d/zz-packages-jfs
+%endif
+%if !0%{?rhel}
%files nilfs
%{_libdir}/guestfs/supermin.d/zz-packages-nilfs
+%endif
+%if !0%{?rhel}
%files reiserfs
%{_libdir}/guestfs/supermin.d/zz-packages-reiserfs
+%endif
%files rsync
%{_libdir}/guestfs/supermin.d/zz-packages-rsync
@@ -985,16 +1158,20 @@ rm ocaml/html/.gitignore
%files rescue
%{_libdir}/guestfs/supermin.d/zz-packages-rescue
+%if !0%{?rhel}
%files ufs
%{_libdir}/guestfs/supermin.d/zz-packages-ufs
+%endif
%files xfs
%{_libdir}/guestfs/supermin.d/zz-packages-xfs
+%if !0%{?rhel}
%ifnarch %{arm} aarch64 s390 s390x riscv64
%files zfs
%{_libdir}/guestfs/supermin.d/zz-packages-zfs
%endif
+%endif
%files inspect-icons
@@ -1132,11 +1309,13 @@ rm ocaml/html/.gitignore
%{_mandir}/man3/guestfs-ruby.3*
+%if !0%{?rhel}
%files -n php-%{name}
%doc php/README-PHP
%dir %{_sysconfdir}/php.d
%{_sysconfdir}/php.d/guestfs_php.ini
%{_libdir}/php/modules/guestfs_php.so
+%endif
%files -n lua-guestfs
@@ -1161,9 +1340,11 @@ rm ocaml/html/.gitignore
%{_mandir}/man3/guestfs-gobject.3*
+%if !0%{?rhel}
%files vala
%{_datadir}/vala/vapi/libguestfs-gobject-1.0.deps
%{_datadir}/vala/vapi/libguestfs-gobject-1.0.vapi
+%endif
%ifarch %{golang_arches}
@@ -1188,6 +1369,9 @@ rm ocaml/html/.gitignore
%changelog
+* Wed Dec 02 2020 Richard W.M. Jones <rjones(a)redhat.com> - 1:1.43.3-3
+- Unify Fedora and RHEL spec files.
+
* Tue Dec 01 2020 Richard W.M. Jones <rjones(a)redhat.com> - 1:1.43.3-2
- New upstream version 1.43.3.
- Disable LTO because of memory running out on ARMv7.
commit 99c563d97c54458acae29dfb906c5fb7a22ec145
Author: Richard W.M. Jones <rjones(a)redhat.com>
Date: Wed Dec 2 12:57:18 2020 +0000
Miscellanous cleanups.
- Remove obsolete "bump-and-build.sh" script.
- Bring the README replacement file up to date.
- Add copy-patches script from RHEL.
diff --git a/README-replacement.in b/README-replacement.in
index 6392cb4..388dc34 100644
--- a/README-replacement.in
+++ b/README-replacement.in
@@ -8,8 +8,7 @@ list:
http://www.redhat.com/mailman/listinfo/libguestfs
-This Fedora package comes with a lot of help and examples to get you
-started.
+This package comes with a lot of help and examples to get you started.
The first place to start are the manual pages. Type:
@@ -20,19 +19,19 @@ The first place to start are the manual pages. Type:
man virt-cat # and other virt-* tools
If you install the libguestfs-devel package, then in the
-/usr/share/doc/libguestfs-devel/ directory you will also
-find:
+/usr/share/doc/libguestfs-devel/ directory you will find other
+documentation including:
- BUGS: list of open bugs in this version
- - ChangeLog: the detailed list of changes in this version
+ - ChangeLog.gz: the detailed list of changes in this version
- - ROADMAP: the roadmap for future versions
+ - HACKING: how to extend libguestfs
- TODO: ideas for extending libguestfs
- *.c: example C programs using the API
- - *.xml: example virt-inspector output
+ - *.xml.gz: example virt-inspector output (compressed)
- - *.rng: virt-inspector RelaxNG schema
+ - virt-inspector.rng: virt-inspector RelaxNG schema
diff --git a/bump-and-build.sh b/bump-and-build.sh
deleted file mode 100755
index 975db37..0000000
--- a/bump-and-build.sh
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/sh -
-
-set -e
-
-rpmdev-bumpspec -c "- Bump and rebuild." libguestfs.spec
-git diff ||:
-echo "Press ENTER to commit, push and rebuild."
-read line
-fedpkg commit -m "Bump and rebuild." -p
-fedpkg build
diff --git a/copy-patches.sh b/copy-patches.sh
new file mode 100755
index 0000000..46b1f33
--- /dev/null
+++ b/copy-patches.sh
@@ -0,0 +1,56 @@
+#!/bin/bash -
+
+set -e
+
+# Maintainer script to copy patches from the git repo to the current
+# directory. It's normally only used downstream (ie. in RHEL). Use
+# it like this:
+# ./copy-patches.sh
+
+rhel_version=9.0.0
+
+# Check we're in the right directory.
+if [ ! -f libguestfs.spec ]; then
+ echo "$0: run this from the directory containing
'libguestfs.spec'"
+ exit 1
+fi
+
+git_checkout=$HOME/d/libguestfs-rhel-$rhel_version
+if [ ! -d $git_checkout ]; then
+ echo "$0: $git_checkout does not exist"
+ echo "This script is only for use by the maintainer when preparing a"
+ echo "libguestfs release on RHEL."
+ exit 1
+fi
+
+# Get the base version of libguestfs.
+version=`grep '^Version:' libguestfs.spec | awk '{print $2}'`
+tag="v$version"
+
+# Remove any existing patches.
+git rm -f [0-9]*.patch ||:
+rm -f [0-9]*.patch
+
+# Get the patches.
+(cd $git_checkout; rm -f [0-9]*.patch; git format-patch -N --submodule=diff $tag)
+mv $git_checkout/[0-9]*.patch .
+
+# Remove any not to be applied.
+rm -f *NOT-FOR-RPM*.patch
+
+# Add the patches.
+git add [0-9]*.patch
+
+# Print out the patch lines.
+echo
+echo "--- Copy the following text into libguestfs.spec file"
+echo
+
+echo "# Patches."
+for f in [0-9]*.patch; do
+ n=`echo $f | awk -F- '{print $1}'`
+ echo "Patch$n: $f"
+done
+
+echo
+echo "--- End of text"