SHA256
1
0
forked from pool/libguestfs
libguestfs/0000-hotfix.patch

209 lines
8.5 KiB
Diff

From c977e24dec46803fe691f5da35756523e6356473 Mon Sep 17 00:00:00 2001
From: Olaf Hering <olaf@aepfle.de>
Date: Tue, 13 May 2014 15:31:21 +0200
Subject: hotfix
Signed-off-by: Olaf Hering <olaf@aepfle.de>
---
pkg-hotfix.txt | 1 +
1 file changed, 1 insertion(+)
create mode 100644 pkg-hotfix.txt
Index: libguestfs-1.26.10/pkg-hotfix.txt
===================================================================
--- /dev/null
+++ libguestfs-1.26.10/pkg-hotfix.txt
@@ -0,0 +1 @@
+
Index: libguestfs-1.26.10/daemon/btrfs.c
===================================================================
--- libguestfs-1.26.10.orig/daemon/btrfs.c
+++ libguestfs-1.26.10/daemon/btrfs.c
@@ -356,6 +356,7 @@ do_btrfs_subvolume_list (const mountable
ADD_ARG (argv, i, str_btrfs);
ADD_ARG (argv, i, "subvolume");
ADD_ARG (argv, i, "list");
+ ADD_ARG (argv, i, "-o");
ADD_ARG (argv, i, fs_buf);
ADD_ARG (argv, i, NULL);
Index: libguestfs-1.26.10/customize/customize_run.ml
===================================================================
--- libguestfs-1.26.10.orig/customize/customize_run.ml
+++ libguestfs-1.26.10/customize/customize_run.ml
@@ -103,10 +103,11 @@ exec >>%s 2>&1
| "urpmi" ->
sprintf "urpmi %s" quoted_args
| "yum" ->
- sprintf "yum -y install %s" quoted_args
+ sprintf "
+ yum -y install %s
+ pkill gpg-agent" quoted_args
| "zypper" ->
- (* XXX Should we use -n option? *)
- sprintf "zypper in %s" quoted_args
+ sprintf "zypper -n in -l %s" quoted_args
| "unknown" ->
eprintf (f_"%s: --install is not supported for this guest operating system\n")
prog;
@@ -135,7 +136,7 @@ exec >>%s 2>&1
| "yum" ->
sprintf "yum -y update"
| "zypper" ->
- sprintf "zypper update"
+ sprintf "zypper -n update -l"
| "unknown" ->
eprintf (f_"%s: --update is not supported for this guest operating system\n")
prog;
Index: libguestfs-1.26.10/builder/downloader.ml
===================================================================
--- libguestfs-1.26.10.orig/builder/downloader.ml
+++ libguestfs-1.26.10/builder/downloader.ml
@@ -97,7 +97,7 @@ and download_to ~prog t ?(progress_bar =
)
| _ -> (* Any other protocol. *)
(* Get the status code first to ensure the file exists. *)
- let cmd = sprintf "%s%s -g -o /dev/null -I -w '%%{http_code}' %s"
+ let cmd = sprintf "%s%s -L --max-redirs 5 -g -o /dev/null -I -w '%%{http_code}' %s"
t.curl
(if t.verbose then "" else " -s -S")
(quote uri) in
@@ -122,7 +122,7 @@ and download_to ~prog t ?(progress_bar =
);
(* Now download the file. *)
- let cmd = sprintf "%s%s -g -o %s %s"
+ let cmd = sprintf "%s%s -L --max-redirs 5 -g -o %s %s"
t.curl
(if t.verbose then "" else if progress_bar then " -#" else " -s -S")
(quote filename_new) (quote uri) in
Index: libguestfs-1.26.10/builder/Makefile.am
===================================================================
--- libguestfs-1.26.10.orig/builder/Makefile.am
+++ libguestfs-1.26.10/builder/Makefile.am
@@ -261,7 +261,7 @@ DISTCLEANFILES = .depend
# virt-builder's default repository
repoconfdir = $(sysconfdir)/xdg/virt-builder/repos.d
-repoconf_DATA = libguestfs.conf libguestfs.gpg
+repoconf_DATA = libguestfs.conf libguestfs.gpg opensuse.conf opensuse.gpg
install-exec-hook:
$(LN_S) xdg/virt-builder $(DESTDIR)$(sysconfdir)/virt-builder
Index: libguestfs-1.26.10/builder/Makefile.in
===================================================================
--- libguestfs-1.26.10.orig/builder/Makefile.in
+++ libguestfs-1.26.10/builder/Makefile.in
@@ -1649,7 +1649,7 @@ DISTCLEANFILES = .depend
# virt-builder's default repository
repoconfdir = $(sysconfdir)/xdg/virt-builder/repos.d
-repoconf_DATA = libguestfs.conf libguestfs.gpg
+repoconf_DATA = libguestfs.conf libguestfs.gpg opensuse.conf opensuse.gpg
virt_index_validate_SOURCES = \
index-parse.y \
index-scan.l \
Index: libguestfs-1.26.10/builder/opensuse.conf.in
===================================================================
--- /dev/null
+++ libguestfs-1.26.10/builder/opensuse.conf.in
@@ -0,0 +1,3 @@
+[opensuse.org]
+uri=http://download.opensuse.org/repositories/Virtualization:/virt-builder-images/images/index
+gpgkey=file://@SYSCONFDIR@/xdg/virt-builder/repos.d/opensuse.gpg
Index: libguestfs-1.26.10/builder/opensuse.gpg
===================================================================
--- /dev/null
+++ libguestfs-1.26.10/builder/opensuse.gpg
@@ -0,0 +1,21 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG v1.4.5 (GNU/Linux)
+
+mQENBFImAl0BCACkjaXGvVLHBGTVXVP0khtpUVHqFvCRtaIIMHaX/5oTr3nyehDQ
+Ex9VLsSRcNa0QxtnCHFRQzjWWqe+i6pBginnSjucgmjnIKyJsF4l6R+rwAiinHQX
+C4s6Lqg/wH9xDPRBrMYFqlc/7MVf0Glhk1+lAxgQjolMt+5AbbrWlBbwc/i+++zl
+ES3MaeH8aiwup/ogjhmk0SbCQQ/ib21p3XWBwx2oz/KM6Voq9tKDvMczjzNRY3ZT
+6Di3FsUSKI7kgljiNiuN+675YwqEqxWEJgdE5a7Zb67giH1Ik08b5wQiF5jSAICD
+DxW7/ibWBvZJnqhqQT2xJpLC5VaJqwkN8o83ABEBAAG0PlZpcnR1YWxpemF0aW9u
+IE9CUyBQcm9qZWN0IDxWaXJ0dWFsaXphdGlvbkBidWlsZC5vcGVuc3VzZS5vcmc+
+iQE7BBMBAgAmBQJSJgJdAhsDBQkEHrAABgsJCAcDAgQVAggDBBYCAwECHgECF4AA
+CgkQoZP7tXIXT8ITnwf3SVUUoVjVLFCjhIxdet8BL011cJDwr9TwKEQfq4Ybsq5L
+5Y1/Zk86rTzrVOZrODLwNRIC3fMuegZV5f85KMggXu37Di+UvX+dQW9v1hte+hAT
++gsqb60kOnE/Yacgkb6D3xIzRudAB2q/xfvHl/hgfn416yGI8NvntT7n4Hk9wT28
+9JSFkun0uaessg77aXlAdsqHwdugm9hELeva89OoYoiZ4d9r4ScTMSj0UkNgnh7g
+CyIScZHYqiiOeosUtAX9u1PyUFfFsg9s5snfud7aF48EfXU0RTtZAGKtG4GPDv3q
+bYc5TJ2pQzs9y5Bk/jAMR/QQw8CKglBsn1cjYkKViEYEExECAAYFAlImAl0ACgkQ
+OzARt2udZSO5yACgr6Ei7QZ+PAmg4Mr5db+4M3aepAEAniU33RaTKBCGkwQi6kHr
+4VaII2/E
+=l8DH
+-----END PGP PUBLIC KEY BLOCK-----
Index: libguestfs-1.26.10/configure.ac
===================================================================
--- libguestfs-1.26.10.orig/configure.ac
+++ libguestfs-1.26.10/configure.ac
@@ -1635,6 +1635,7 @@ AC_CONFIG_FILES([Makefile
bash/Makefile
builder/Makefile
builder/libguestfs.conf
+ builder/opensuse.conf
builder/test-config/virt-builder/repos.d/test-index.conf
builder/test-website/virt-builder/repos.d/libguestfs.conf
builder/website/Makefile
Index: libguestfs-1.26.10/customize/password.ml
===================================================================
--- libguestfs-1.26.10.orig/customize/password.ml
+++ libguestfs-1.26.10/customize/password.ml
@@ -166,6 +166,9 @@ and default_crypto ~prog g root =
| "ubuntu", v when v >= 10 -> `SHA512
| "ubuntu", _ -> `MD5
+ | ("opensuse"|"sles"), v when v >= 11 -> `SHA512
+ | ("opensuse"|"sles"), _ -> `MD5
+
| _, _ ->
warning ~prog (f_"password: using insecure md5 password encryption for
guest of type %s version %d.\nIf this is incorrect, use --password-crypto option and file a bug.") distro major;
Index: libguestfs-1.26.10/builder/builder.ml
===================================================================
--- libguestfs-1.26.10.orig/builder/builder.ml
+++ libguestfs-1.26.10/builder/builder.ml
@@ -159,7 +159,7 @@ let main () =
(* Try to make the directory. If that fails, warn and continue
* without any cache.
*)
- try mkdir dir 0o755; Some dir
+ try mkdir_p dir 0o755; Some dir
with exn ->
warning ~prog (f_"cache %s: %s") dir (Printexc.to_string exn);
warning ~prog (f_"disabling the cache");
Index: libguestfs-1.26.10/mllib/common_utils.ml
===================================================================
--- libguestfs-1.26.10.orig/mllib/common_utils.ml
+++ libguestfs-1.26.10/mllib/common_utils.ml
@@ -508,3 +508,14 @@ let is_char_device file =
let is_directory path =
try Sys.is_directory path
with Sys_error _ -> false
+
+let rec mkdir_p path permissions =
+ try Unix.mkdir path permissions
+ with
+ | Unix.Unix_error (Unix.EEXIST, _, _) -> ()
+ | Unix.Unix_error (Unix.ENOENT, _, _) ->
+ (* A component in the path does not exist, so first try
+ * creating the parent directory, and then again the requested
+ * directory. *)
+ mkdir_p (Filename.dirname path) permissions;
+ Unix.mkdir path permissions
Index: libguestfs-1.26.10/mllib/common_utils.mli
===================================================================
--- libguestfs-1.26.10.orig/mllib/common_utils.mli
+++ libguestfs-1.26.10/mllib/common_utils.mli
@@ -117,3 +117,6 @@ val is_block_device : string -> bool
val is_char_device : string -> bool
val is_directory : string -> bool
(** These don't throw exceptions, unlike the [Sys] functions. *)
+
+val mkdir_p : string -> int -> unit
+(** Creates a directory, and its parents if missing. *)