New upstream version 1.25.38.

- Requires new supermin 5.1.0.
- Split the dependencies into subpackages, at least for the less common
  filesystem types.
- In the dependency generator, we can now generate ordinary dependencies!
This commit is contained in:
Richard W.M. Jones 2014-02-26 20:59:20 +00:00
parent 7f653d8f4d
commit 9a4173e26b
3 changed files with 144 additions and 34 deletions

View File

@ -1,12 +1,5 @@
#!/bin/bash -
# Additional custom requires for libguestfs package.
#
# Note this script is *ONLY* applicable to Fedora 17+ (ie. with UsrMove)
# since we now assume that /usr/lib{,64} and /lib{,64} are the same
# directory and hence that:
#
# Requires: libfoo.so.1 <=> /usr/lib/libfoo.so.1 exists
# Requires: libfoo.so.1()(64bit) <=> /usr/lib64/libfoo.so.1 exists
original_find_requires="$1"
shift
@ -17,23 +10,12 @@ files=`sed "s/['\"]/\\\&/g"`
# Use ordinary find-requires first.
echo $files | tr [:blank:] '\n' | $original_find_requires
# Is supermin.d/hostfiles included in the list of files?
hostfiles=`echo $files | tr [:blank:] '\n' | grep 'supermin\.d/hostfiles$'`
# Is supermin.d/packages included in the list of files?
packages=`echo $files | tr [:blank:] '\n' | grep 'supermin\.d/packages$'`
if [ -z "$hostfiles" ]; then
if [ -z "$packages" ]; then
exit 0
fi
# Generate extra requires for libraries listed in hostfiles.
sofiles=`grep 'lib.*\.so\.' $hostfiles | fgrep -v '*'`
for f in $sofiles; do
if [ -f "$f" ]; then
if [[ "$f" =~ (/usr)?/lib64/([^/]*)$ ]]; then
echo "${BASH_REMATCH[2]}()(64bit)"
elif [[ "$f" =~ (/usr)?/lib/([^/]*)$ ]]; then
echo "${BASH_REMATCH[2]}"
else
echo "$f"
fi
fi
done
# Generate one 'Requires:' line for each package listed in packages.
cat $packages

View File

@ -18,7 +18,7 @@
Summary: Access and modify virtual machine disk images
Name: libguestfs
Epoch: 1
Version: 1.25.37
Version: 1.25.38
Release: 2%{?dist}
License: LGPLv2+
@ -30,7 +30,7 @@ Source0: http://libguestfs.org/download/1.25-development/%{name}-%{version
BuildRequires: perl(Pod::Simple)
BuildRequires: perl(Pod::Man)
BuildRequires: /usr/bin/pod2text
BuildRequires: supermin >= 4.1.5
BuildRequires: supermin >= 5.1.0
BuildRequires: hivex-devel >= 1.2.7-7
BuildRequires: perl(Win::Hivex)
BuildRequires: perl(Win::Hivex::Regedit)
@ -116,10 +116,9 @@ BuildRequires: golang
%endif
%global appliance_buildreqs %{appliance_buildreqs0} %{?appliance_buildreqs1} %{?appliance_buildreqs2} %{?appliance_buildreqs3}
BuildRequires: %{appliance_buildreqs}
Requires: %{appliance_buildreqs}
# For building the appliance.
Requires: supermin-helper >= 4.1.5
Requires: supermin >= 5.1.0
# For core inspection API.
Requires: libdb-utils
@ -197,6 +196,10 @@ For shell scripting and command line access, install 'guestfish'.
To mount guest filesystems on the host using FUSE, install
'%{name}-mount'.
For extra features, install 'libguestfs-gfs2', 'libguestfs-hfsplus',
'libguestfs-jfs', 'libguestfs-nilfs', 'libguestfs-reiserfs',
'libguestfs-rsync', 'libguestfs-xfs', 'libguestfs-zfs'.
For Erlang bindings, install 'erlang-libguestfs'.
For GObject bindings and GObject Introspection, install
@ -234,6 +237,94 @@ Requires: %{name}-tools-c = %{epoch}:%{version}-%{release}
for %{name}.
%package gfs2
Summary: GFS2 support for %{name}
License: LGPLv2+
Requires: %{name} = %{epoch}:%{version}-%{release}
Requires: gfs2-utils
%description gfs2
This adds GFS2 support to %{name}. Install it if you want to process
disk images containing GFS2.
%package hfsplus
Summary: HFS+ support for %{name}
License: LGPLv2+
Requires: %{name} = %{epoch}:%{version}-%{release}
Requires: hfsplus-tools
%description hfsplus
This adds HFS+ support to %{name}. Install it if you want to process
disk images containing HFS+ / Mac OS Extended filesystems.
%package jfs
Summary: JFS support for %{name}
License: LGPLv2+
Requires: %{name} = %{epoch}:%{version}-%{release}
Requires: jfsutils
%description jfs
This adds JFS support to %{name}. Install it if you want to process
disk images containing JFS.
%package nilfs
Summary: NILFS support for %{name}
License: LGPLv2+
Requires: %{name} = %{epoch}:%{version}-%{release}
Requires: nilfs-utils
%description nilfs
This adds NILFS v2 support to %{name}. Install it if you want to process
disk images containing NILFS v2.
%package reiserfs
Summary: ReiserFS support for %{name}
License: LGPLv2+
Requires: %{name} = %{epoch}:%{version}-%{release}
Requires: reiserfs-utils
%description reiserfs
This adds ReiserFS support to %{name}. Install it if you want to process
disk images containing ReiserFS.
%package rsync
Summary: rsync support for %{name}
License: LGPLv2+
Requires: %{name} = %{epoch}:%{version}-%{release}
Requires: rsync
%description rsync
This adds rsync support to %{name}. Install it if you want to use
rsync to upload or download files into disk images.
%package xfs
Summary: XFS support for %{name}
License: LGPLv2+
Requires: %{name} = %{epoch}:%{version}-%{release}
Requires: xfsprogs
%description xfs
This adds XFS support to %{name}. Install it if you want to process
disk images containing XFS.
%package zfs
Summary: ZFS support for %{name}
License: LGPLv2+
Requires: %{name} = %{epoch}:%{version}-%{release}
Requires: zfs-fuse
%description zfs
This adds ZFS support to %{name}. Install it if you want to process
disk images containing ZFS.
%package tools-c
Summary: System administration tools for virtual machines
License: GPLv2+
@ -587,12 +678,6 @@ mkdir -p daemon/m4
mv README README.orig
sed 's/@VERSION@/%{version}/g' < %{SOURCE4} > README
# Remove udev from the packagelist. systemd now 'obsoletes' udev, but
# supermin doesn't get this relationship right. When udev disappears
# from the repository we can stop doing this.
cp appliance/packagelist.in appliance/packagelist.in.orig
grep -Ev '\budev\b' < appliance/packagelist.in.orig > appliance/packagelist.in
%build
# Test if network is available.
@ -739,6 +824,18 @@ cp -a golang/src/libguestfs.org $RPM_BUILD_ROOT%{_datadir}/gocode/src
mv $RPM_BUILD_ROOT%{_docdir}/libguestfs installed-docs
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
for f in gfs2-utils hfsplus-tools jfsutils nilfs-utils \
reiserfs-utils rsync xfsprogs zfs-fuse; do
mv packages packages~
grep -Ev "^$f\$" < packages~ > packages
rm packages~
echo $f > zz-packages-$f
done
popd
# For the libguestfs-live-service subpackage install the systemd
# service and udev rules.
mkdir -p $RPM_BUILD_ROOT%{_unitdir}
@ -769,6 +866,7 @@ mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/run/libguestfs
%doc COPYING README
%{_bindir}/libguestfs-test-tool
%{_libdir}/guestfs/
%exclude %{_libdir}/guestfs/supermin.d/zz-packages-*
%{_libdir}/libguestfs.so.*
%{_mandir}/man1/guestfs-faq.1*
%{_mandir}/man1/guestfs-performance.1*
@ -792,6 +890,29 @@ mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/run/libguestfs
%{_includedir}/guestfs.h
%{_libdir}/pkgconfig/libguestfs.pc
%files gfs2
%{_libdir}/guestfs/supermin.d/zz-packages-gfs2-utils
%files hfsplus
%{_libdir}/guestfs/supermin.d/zz-packages-hfsplus-tools
%files jfs
%{_libdir}/guestfs/supermin.d/zz-packages-jfsutils
%files nilfs
%{_libdir}/guestfs/supermin.d/zz-packages-nilfs-utils
%files reiserfs
%{_libdir}/guestfs/supermin.d/zz-packages-reiserfs-utils
%files rsync
%{_libdir}/guestfs/supermin.d/zz-packages-rsync
%files xfs
%{_libdir}/guestfs/supermin.d/zz-packages-xfsprogs
%files zfs
%{_libdir}/guestfs/supermin.d/zz-packages-zfs-fuse
%files tools-c
%doc README
@ -994,6 +1115,13 @@ mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/run/libguestfs
%changelog
* Wed Feb 26 2014 Richard W.M. Jones <rjones@redhat.com> - 1:1.25.38-2
- New upstream version 1.25.38.
- Requires new supermin 5.1.0.
- Split the dependencies into subpackages, at least for the less common
filesystem types.
- In the dependency generator, we can now generate ordinary dependencies!
* Sat Feb 22 2014 Richard W.M. Jones <rjones@redhat.com> - 1:1.25.37-2
- New upstream version 1.25.37.
- Disable tests on ARM because of RHBZ#1066581.

View File

@ -1 +1 @@
9b442c45d477a4716e00c6a9ce143917 libguestfs-1.25.37.tar.gz
e1dc864ee68f1e9e6358825f5d30e312 libguestfs-1.25.38.tar.gz