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.
This commit is contained in:
parent
90579d2967
commit
f1d732d591
52
0001-Ignore-ghost-non-regular-files.patch
Normal file
52
0001-Ignore-ghost-non-regular-files.patch
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
From ee7eec04fe5be5387168e43e546ec05f1c4372fe Mon Sep 17 00:00:00 2001
|
||||||
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||||
|
Date: Wed, 26 Jun 2013 21:40:26 +0100
|
||||||
|
Subject: [PATCH] Ignore ghost non-regular files.
|
||||||
|
|
||||||
|
RPMs in Fedora 20 contain /var/run and /var/lock, as symlinks, marked
|
||||||
|
%ghost. The old code would create these as regular files which would
|
||||||
|
then cause a failure if something was created inside them.
|
||||||
|
|
||||||
|
You would see an error like this:
|
||||||
|
|
||||||
|
Fatal error: exception Unix.Unix_error(8, "mkdir", "/tmp/supermineab65b098ada401348c6f448e9119504.tmp/root//var/run")
|
||||||
|
|
||||||
|
The new code just ignores these files. With -v it will print a
|
||||||
|
message like this:
|
||||||
|
|
||||||
|
ignoring ghost non-regular file /var/lock (mode 0120777) from package /tmp/supermin63b9e24946f33f9b16247d063fa7e488.tmp/filesystem-3.2-16.fc20.x86_64.rpm
|
||||||
|
ignoring ghost non-regular file /var/run (mode 0120777) from package /tmp/supermin63b9e24946f33f9b16247d063fa7e488.tmp/filesystem-3.2-16.fc20.x86_64.rpm
|
||||||
|
---
|
||||||
|
src/supermin.ml | 16 ++++++++++++++++
|
||||||
|
1 file changed, 16 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/src/supermin.ml b/src/supermin.ml
|
||||||
|
index f87ad6f..251c13e 100644
|
||||||
|
--- a/src/supermin.ml
|
||||||
|
+++ b/src/supermin.ml
|
||||||
|
@@ -129,6 +129,22 @@ let () =
|
||||||
|
in
|
||||||
|
loop files in
|
||||||
|
|
||||||
|
+ (* Ignore %ghost non-regular files. RPMs in Fedora 20 contain these.
|
||||||
|
+ * It's not clear what they are meant to signify. XXX
|
||||||
|
+ *)
|
||||||
|
+ let files = List.filter (
|
||||||
|
+ function
|
||||||
|
+ | name, { ft_dir = false; ft_ghost = true; ft_mode = mode }, pkg ->
|
||||||
|
+ if (mode land 0o170_000) = 0o100_000 then
|
||||||
|
+ true
|
||||||
|
+ else (
|
||||||
|
+ debug "ignoring ghost non-regular file %s (mode 0%o) from package %s"
|
||||||
|
+ name mode pkg;
|
||||||
|
+ false
|
||||||
|
+ )
|
||||||
|
+ | _ -> true
|
||||||
|
+ ) files in
|
||||||
|
+
|
||||||
|
(* Because we may have excluded some packages, and also because of
|
||||||
|
* distribution packaging errors, it's not necessarily true that a
|
||||||
|
* directory is created before each file in that directory.
|
||||||
|
--
|
||||||
|
1.8.3.1
|
||||||
|
|
@ -1,12 +1,15 @@
|
|||||||
Summary: Tool for creating supermin appliances
|
Summary: Tool for creating supermin appliances
|
||||||
Name: supermin
|
Name: supermin
|
||||||
Version: 4.1.1
|
Version: 4.1.1
|
||||||
Release: 1%{?dist}
|
Release: 2%{?dist}
|
||||||
License: GPLv2+
|
License: GPLv2+
|
||||||
|
|
||||||
URL: http://people.redhat.com/~rjones/supermin/
|
URL: http://people.redhat.com/~rjones/supermin/
|
||||||
Source0: http://libguestfs.org/download/supermin/%{name}-%{version}.tar.gz
|
Source0: http://libguestfs.org/download/supermin/%{name}-%{version}.tar.gz
|
||||||
|
|
||||||
|
# Upstream after 4.1.1.
|
||||||
|
Patch1: 0001-Ignore-ghost-non-regular-files.patch
|
||||||
|
|
||||||
%if 0%{?rhel} >= 7
|
%if 0%{?rhel} >= 7
|
||||||
ExclusiveArch: x86_64
|
ExclusiveArch: x86_64
|
||||||
%endif
|
%endif
|
||||||
@ -56,6 +59,8 @@ Obsoletes: febootstrap-supermin-helper <= 3.21-1
|
|||||||
%prep
|
%prep
|
||||||
%setup -q
|
%setup -q
|
||||||
|
|
||||||
|
%patch1 -p1
|
||||||
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%configure
|
%configure
|
||||||
@ -86,6 +91,11 @@ execstack -c $RPM_BUILD_ROOT%{_bindir}/supermin-helper
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Jun 26 2013 Richard W.M. Jones <rjones@redhat.com> - 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 <rjones@redhat.com> - 4.1.1-1
|
* Tue Feb 5 2013 Richard W.M. Jones <rjones@redhat.com> - 4.1.1-1
|
||||||
- New upstream version 4.1.1.
|
- New upstream version 4.1.1.
|
||||||
- The program has been renamed 'supermin' from 'febootstrap'.
|
- The program has been renamed 'supermin' from 'febootstrap'.
|
||||||
|
Loading…
Reference in New Issue
Block a user