Git-Url: 
http://git.frugalware.org/gitweb/gitweb.cgi?p=frugalware-current.git;a=commitdiff;h=11fe803472a6a488ded3cf1005cf3d8212c95583

commit 11fe803472a6a488ded3cf1005cf3d8212c95583
Author: Marius Cirsta <[email protected]>
Date:   Sun Jan 29 15:31:41 2017 +0200

libguestfs-1.34.3-1-x86_64

* version bump

diff --git a/source/apps-extra/libguestfs/FrugalBuild 
b/source/apps-extra/libguestfs/FrugalBuild
index 6179392..d7f5e8a 100644
--- a/source/apps-extra/libguestfs/FrugalBuild
+++ b/source/apps-extra/libguestfs/FrugalBuild
@@ -1,19 +1,29 @@
# Compiling Time: 7.08 SBU
# Maintainer: Marius Cirsta <[email protected]>

+_stable_branch=1.34
pkgname=libguestfs
-pkgver=1.28.12
-pkgrel=2
+pkgver=1.34.3
+pkgrel=1
pkgdesc="tools for accessing and modifying virtual machine disk images"
url="http://libguestfs.org/";
-depends=('glib2>=2.46.2-4' 'libxml2>=2.9.3-3' 'fuse>=2.9.4' 'cpio' 'gperf' 
'cdrtools' 'qemu' 'augeas')
+depends=('glib2>=2.46.2-4' 'libxml2>=2.9.3-3' 'fuse>=2.9.4' 'cpio' 'gperf' 
'cdrtools' 'qemu' 'augeas' 'yajl')
groups=('apps-extra')
archs=('i686' 'x86_64')
-up2date="Flasttar ${url}download/1.28-stable/"
+up2date="Flasttar ${url}download/${_stable_branch}-stable/"
options=('nofakeroot')
-source=("${url}download/1.28-stable/$pkgname-$pkgver.tar.gz")
-sha1sums=('22cfd9201adeeb705300d5d7f9df9c3ebb9284db')
+source=("${url}download/${_stable_branch}-stable/$pkgname-$pkgver.tar.gz" 
gperf.patch gperf_fish.patch pot.patch)
+sha1sums=('4f0aa5e9767f7d1de4225474b219c2df407b70fb' \
+          '3ab316a452030abade2e9f5ac2a1bb8807dd2188' \
+          'dbba46410fb45f17d470957d7520a64dacb568f8' \
+          '7c684268917047978d41ce02cf0f763d674a1f0c')
# this is needed until we can get supermin working again in Frugalware
-Fconfopts+=" --enable-appliance=no "
-
+Fconfopts+=" --enable-appliance=no
+    --without-java \
+    --disable-lua \
+    --disable-erlang \
+    --disable-php \
+    --disable-haskell \
+    --disable-ruby \
+    --disable-perl "
# optimization OK
diff --git a/source/apps-extra/libguestfs/gperf.patch 
b/source/apps-extra/libguestfs/gperf.patch
new file mode 100644
index 0000000..b6b0310
--- /dev/null
+++ b/source/apps-extra/libguestfs/gperf.patch
@@ -0,0 +1,81 @@
+--- libguestfs-1.34.3.old/m4/guestfs_progs.m4  2016-10-27 15:07:58.000000000 
+0300
++++ libguestfs-1.34.3.new/m4/guestfs_progs.m4  2017-01-28 22:17:30.179951810 
+0200
+@@ -50,6 +50,26 @@
+ test "x$GPERF" = "xno" &&
+     AC_MSG_ERROR([gperf must be installed])
+
++dnl Determine type of gperf hash function (changed in gperf 3.1).
++AC_MSG_CHECKING([type of gperf hash len parameter])
++cat > conftest.gperf <<EOF
++%language=ANSI-C
++%%
++A, 1
++%%
++EOF
++GPERF_SIZE_T=$(
++    $GPERF conftest.gperf |
++    grep '^hash (.*len)$' |
++    $SED 's/.*, register \([[^,]]*\) len)$/\1/'
++)
++if test "x$GPERF_SIZE_T" = "x"; then
++    AC_MSG_ERROR([could not detect type of gperf hash len parameter])
++fi
++AC_MSG_RESULT([$GPERF_SIZE_T])
++AC_DEFINE_UNQUOTED([GPERF_SIZE_T],[$GPERF_SIZE_T],[Type of gperf hash len 
parameter.])
++rm conftest.gperf
++
+ dnl Check for genisoimage/mkisofs
+ AC_PATH_PROGS([GENISOIMAGE],[genisoimage mkisofs],[no],
+     [$PATH$PATH_SEPARATOR/usr/sbin$PATH_SEPARATOR/sbin])
+--- libguestfs-1.34.3.old/generator/errnostring.ml     2016-10-27 
15:07:58.000000000 +0300
++++ libguestfs-1.34.3.new/generator/errnostring.ml     2017-01-28 
22:19:47.452396199 +0200
+@@ -228,9 +228,8 @@
+  */
+ extern int guestfs_int_string_to_errno (const char *errnostr);
+
+-/* Private structure and function used by the perfect hash implementation. */
++/* Private structure used by the perfect hash implementation. */
+ struct errnostring_entry { char *name; int errnum; };
+-extern const struct errnostring_entry *guestfs_int_string_to_errno_lookup 
(register const char *str, register unsigned int len);
+
+ #endif /* GUESTFS_ERRNOSTRING_H_ */
+ "
+@@ -276,17 +275,6 @@
+   else
+     return errno_to_string[errnum];
+ }
+-
+-int
+-guestfs_int_string_to_errno (const char *errnostr)
+-{
+-  const struct errnostring_entry *v =
+-    guestfs_int_string_to_errno_lookup (errnostr, strlen (errnostr));
+-  if (v /* not necessary to check v->name != NULL here */)
+-    return v->errnum;
+-  else
+-    return EINVAL;
+-}
+ "
+
+ let generate_errnostring_gperf () =
+@@ -336,4 +324,19 @@
+   List.iter (
+     fun e ->
+       pr "%s, %s\n" e e
+-  ) errnos
++  ) errnos;
++
++  pr "\
++%%%%
++
++int
++guestfs_int_string_to_errno (const char *errnostr)
++{
++  const struct errnostring_entry *v =
++    guestfs_int_string_to_errno_lookup (errnostr, strlen (errnostr));
++  if (v /* not necessary to check v->name != NULL here */)
++    return v->errnum;
++  else
++    return EINVAL;
++}
++"
diff --git a/source/apps-extra/libguestfs/gperf_fish.patch 
b/source/apps-extra/libguestfs/gperf_fish.patch
new file mode 100644
index 0000000..44b9987
--- /dev/null
+++ b/source/apps-extra/libguestfs/gperf_fish.patch
@@ -0,0 +1,173 @@
+From 48d4117789e92489b9a3c6f3456b0770b3fdb290 Mon Sep 17 00:00:00 2001
+From: "Richard W.M. Jones" <[email protected]>
+Date: Sat, 28 Jan 2017 13:23:40 +0000
+Subject: [PATCH] fish: Handle changed type of 'len' parameter in gperf 3.1
+ (RHBZ#1416941).
+
+Commit 004de6cf45cfe66ca166cbdcb1c3125a2a81eb31 was not sufficient to
+solve this problem.  We are also using gperf in guestfish.  Rewrite
+the code in the same way to avoid having to prototype the hash
+function.
+---
+ fish/Makefile.am  |  7 ++++
+ fish/cmds-gperf.h |  2 --
+ generator/fish.ml | 99 +++++++++++++++++++++++++++++--------------------------
+ 3 files changed, 59 insertions(+), 49 deletions(-)
+
+diff --git a/fish/Makefile.am b/fish/Makefile.am
+index 38409cb..fa345d6 100644
+--- a/fish/Makefile.am
++++ b/fish/Makefile.am
+@@ -106,7 +106,14 @@ librc_protocol_la_CFLAGS = -Wall -Wno-unused 
-fno-strict-aliasing
+ # Build the command lookup perfect hash code.  The generated code has
+ # lots of warnings so we must compile it in a separate mini-library.
+ libcmds_la_SOURCES = cmds-gperf.c
++libcmds_la_CPPFLAGS = \
++      -I$(top_srcdir)/common/utils -I$(top_builddir)/common/utils \
++      -I$(top_srcdir)/lib -I$(top_builddir)/lib \
++      -I$(srcdir)/../gnulib/lib -I../gnulib/lib -I../src
+ libcmds_la_CFLAGS =
++libcmds_la_LIBADD = \
++      $(top_builddir)/src/libutils.la \
++      $(LTLIBINTL)
+
+ cmds-gperf.c: cmds-gperf.gperf
+       rm -f $@
+diff --git a/fish/cmds-gperf.h b/fish/cmds-gperf.h
+index bcb3b5d..11da15b 100644
+--- a/fish/cmds-gperf.h
++++ b/fish/cmds-gperf.h
+@@ -40,6 +40,4 @@ struct command_table {
+   struct command_entry *entry;
+ };
+
+-const struct command_table *lookup_fish_command (register const char *str, 
register unsigned int len);
+-
+ #endif /* FISH_CMDS_GPERF_H */
+diff --git a/generator/fish.ml b/generator/fish.ml
+index ca85997..8be1f1a 100644
+--- a/generator/fish.ml
++++ b/generator/fish.ml
+@@ -671,52 +671,7 @@ let generate_fish_cmds () =
+   pr "  printf (\"    %%s\\n\",";
+   pr "          _(\"Use -h <cmd> / help <cmd> to show detailed help for a 
command.\"));\n";
+   pr "}\n";
+-  pr "\n";
+-
+-  (* display_command function, which implements guestfish -h cmd *)
+-  pr "int\n";
+-  pr "display_command (const char *cmd)\n";
+-  pr "{\n";
+-  pr "  const struct command_table *ct;\n";
+-  pr "\n";
+-  pr "  ct = lookup_fish_command (cmd, strlen (cmd));\n";
+-  pr "  if (ct) {\n";
+-  pr "    fputs (ct->entry->help, stdout);\n";
+-  pr "    return 0;\n";
+-  pr "  }\n";
+-  pr "  else\n";
+-  pr "    return display_builtin_command (cmd);\n";
+-  pr "}\n";
+-  pr "\n";
+-
+-  (* run_action function *)
+-  pr "int\n";
+-  pr "run_action (const char *cmd, size_t argc, char *argv[])\n";
+-  pr "{\n";
+-  pr "  const struct command_table *ct;\n";
+-  pr "  int ret = -1;\n";
+-  pr "\n";
+-  pr "  ct = lookup_fish_command (cmd, strlen (cmd));\n";
+-  pr "  if (ct) {\n";
+-  pr "    ret = ct->entry->run (cmd, argc, argv);\n";
+-  pr "    /* run function may return magic value -2 (RUN_WRONG_ARGS) to 
indicate\n";
+-  pr "     * that this function should print the command synopsis.\n";
+-  pr "     */\n";
+-  pr "    if (ret == RUN_WRONG_ARGS) {\n";
+-  pr "      fprintf (stderr, _(\"error: incorrect number of 
arguments\\n\"));\n";
+-  pr "      if (ct->entry->synopsis)\n";
+-  pr "        fprintf (stderr, _(\"usage: %%s\\n\"), ct->entry->synopsis);\n";
+-  pr "      fprintf (stderr, _(\"type 'help %%s' for more help on %%s\\n\"), 
cmd, cmd);\n";
+-  pr "      ret = -1;\n";
+-  pr "    }\n";
+-  pr "  }\n";
+-  pr "  else {\n";
+-  pr "    fprintf (stderr, _(\"%%s: unknown command\\n\"), cmd);\n";
+-  pr "    if (command_num == 1)\n";
+-  pr "      extended_help_message ();\n";
+-  pr "  }\n";
+-  pr "  return ret;\n";
+-  pr "}\n"
++  pr "\n"
+
+ and generate_fish_cmds_h () =
+   generate_header CStyle GPLv2plus;
+@@ -749,9 +704,13 @@ and generate_fish_cmds_gperf () =
+
+ #include <config.h>
+
++#include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
++#include <libintl.h>
+
++#include \"fish.h\"
++#include \"run.h\"
+ #include \"cmds-gperf.h\"
+
+ ";
+@@ -786,7 +745,53 @@ struct command_table;
+         fun alias ->
+           pr "%s, &%s_cmd_entry\n" alias name;
+       ) aliases;
+-  ) fish_functions_and_commands_sorted
++  ) fish_functions_and_commands_sorted;
++
++  pr "\
++%%%%
++
++int
++display_command (const char *cmd)
++{
++  const struct command_table *ct;
++
++  ct = lookup_fish_command (cmd, strlen (cmd));
++  if (ct) {
++    fputs (ct->entry->help, stdout);
++    return 0;
++  }
++  else
++    return display_builtin_command (cmd);
++}
++
++int
++run_action (const char *cmd, size_t argc, char *argv[])
++{
++  const struct command_table *ct;
++  int ret = -1;
++
++  ct = lookup_fish_command (cmd, strlen (cmd));
++  if (ct) {
++    ret = ct->entry->run (cmd, argc, argv);
++    /* run function may return magic value -2 (RUN_WRONG_ARGS) to indicate
++     * that this function should print the command synopsis.
++     */
++    if (ret == RUN_WRONG_ARGS) {
++      fprintf (stderr, _(\"error: incorrect number of arguments\\n\"));
++      if (ct->entry->synopsis)
++        fprintf (stderr, _(\"usage: %%s\\n\"), ct->entry->synopsis);
++      fprintf (stderr, _(\"type 'help %%s' for more help on %%s\\n\"), cmd, 
cmd);
++      ret = -1;
++    }
++  }
++  else {
++    fprintf (stderr, _(\"%%s: unknown command\\n\"), cmd);
++    if (command_num == 1)
++      extended_help_message ();
++  }
++  return ret;
++}
++"
+
+ (* Readline completion for guestfish. *)
+ and generate_fish_completion () =
diff --git a/source/apps-extra/libguestfs/pot.patch 
b/source/apps-extra/libguestfs/pot.patch
new file mode 100644
index 0000000..cea260a
--- /dev/null
+++ b/source/apps-extra/libguestfs/pot.patch
@@ -0,0 +1,12 @@
+--- libguestfs-1.34.3.old/po/POTFILES  2016-10-27 15:07:58.000000000 +0300
++++ libguestfs-1.34.3.new/po/POTFILES  2017-01-29 15:03:46.117712625 +0200
+@@ -338,9 +338,6 @@
+ p2v/ssh.c
+ p2v/utils.c
+ p2v/whole-file.c
+-perl/bindtests.pl
+-perl/lib/Sys/Guestfs.c
+-perl/lib/Sys/Guestfs.pm
+ php/extension/guestfs_php.c
+ python/actions-0.c
+ python/actions-1.c
_______________________________________________
Frugalware-git mailing list
[email protected]
http://frugalware.org/mailman/listinfo/frugalware-git

Reply via email to