fwup: new package
authorWojciech Niziński <niziak@spox.org>
Tue, 5 Apr 2016 19:32:15 +0000 (21:32 +0200)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Sun, 12 Jun 2016 21:19:35 +0000 (23:19 +0200)
Signed-off-by: Wojciech Nizinski <niziak@spox.org>
[Thomas:
 - Add missing dependency on wchar
 - Rewrap Config.in help text
 - Add missing "depends on BR2_USE_MMU" on the comment about wchar
   dependency.
 - Switch to upstream 0.7.0 version
 - Replace the hook calling autogen.sh by a hook simply creating the m4
   directory, which is what prevented <pkg>_AUTORECONF from working.
 - Add patch to fix build with uClibc.
 - Split in separate patches the addition of the host variants of
   libarchive and libsodium.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
package/Config.in
package/Config.in.host
package/fwup/0001-Add-missing-sys-types.h-includes.patch [new file with mode: 0644]
package/fwup/Config.in [new file with mode: 0644]
package/fwup/Config.in.host [new file with mode: 0644]
package/fwup/fwup.mk [new file with mode: 0644]

index 2f420386f38b6371f7942b2bc64ca3442da4b85e..ff08f27fb653a24a8e5e8adf337ed605e2e97e6d 100644 (file)
@@ -177,6 +177,7 @@ menu "Filesystem and flash utilities"
        source "package/exfat-utils/Config.in"
        source "package/f2fs-tools/Config.in"
        source "package/flashbench/Config.in"
+       source "package/fwup/Config.in"
        source "package/genext2fs/Config.in"
        source "package/genpart/Config.in"
        source "package/genromfs/Config.in"
index 13acb22ee6b2679c99e9d7783e4bcd9a1a3ce14a..04b7f19234b2002a103e5ccd4232b069b2bbd173 100644 (file)
@@ -12,6 +12,7 @@ menu "Host utilities"
        source "package/e2fsprogs/Config.in.host"
        source "package/e2tools/Config.in.host"
        source "package/faketime/Config.in.host"
+       source "package/fwup/Config.in.host"
        source "package/genext2fs/Config.in.host"
        source "package/genimage/Config.in.host"
        source "package/genpart/Config.in.host"
diff --git a/package/fwup/0001-Add-missing-sys-types.h-includes.patch b/package/fwup/0001-Add-missing-sys-types.h-includes.patch
new file mode 100644 (file)
index 0000000..aa22348
--- /dev/null
@@ -0,0 +1,64 @@
+From 782ffa564236b79d49a88e63da65ac01b6f2cfc1 Mon Sep 17 00:00:00 2001
+From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Date: Sun, 12 Jun 2016 22:57:02 +0200
+Subject: [PATCH] Add missing <sys/types.h> includes
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+<sys/types.h> is needed for the definition of off_t, otherwise building
+with uClibc fails with:
+
+In file included from cfgfile.c:17:0:
+cfgfile.h:25:87: error: unknown type name ‘off_t’
+ int archive_read_all_data(struct archive *a, struct archive_entry *ae, char **buffer, off_t max_size, off_t *size_read);
+                                                                                       ^
+cfgfile.h:25:103: error: unknown type name ‘off_t’
+ int archive_read_all_data(struct archive *a, struct archive_entry *ae, char **buffer, off_t max_size, off_t *size_read);
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+---
+ src/cfgfile.h | 1 +
+ src/mmc.h     | 1 +
+ src/util.h    | 1 +
+ 3 files changed, 3 insertions(+)
+
+diff --git a/src/cfgfile.h b/src/cfgfile.h
+index 1a6ffbb..8982b1d 100644
+--- a/src/cfgfile.h
++++ b/src/cfgfile.h
+@@ -17,6 +17,7 @@
+ #ifndef CFGFILE_H
+ #define CFGFILE_H
++#include <sys/types.h>
+ #include <confuse.h>
+ struct archive;
+diff --git a/src/mmc.h b/src/mmc.h
+index 56f85eb..626570a 100644
+--- a/src/mmc.h
++++ b/src/mmc.h
+@@ -20,6 +20,7 @@
+ #include <stddef.h>
+ #include <stdio.h>
+ #include <stdint.h>
++#include <sys/types.h>
+ #define MMC_DEVICE_PATH_LEN 32
+diff --git a/src/util.h b/src/util.h
+index 83f82ec..23359c1 100644
+--- a/src/util.h
++++ b/src/util.h
+@@ -20,6 +20,7 @@
+ #include <stdbool.h>
+ #include <stdio.h>
+ #include <stdint.h>
++#include <sys/types.h>
+ struct tm;
+-- 
+2.7.4
+
diff --git a/package/fwup/Config.in b/package/fwup/Config.in
new file mode 100644 (file)
index 0000000..fd40cf3
--- /dev/null
@@ -0,0 +1,18 @@
+config BR2_PACKAGE_FWUP
+       bool "fwup"
+       depends on BR2_USE_MMU
+       depends on BR2_USE_WCHAR
+       select BR2_PACKAGE_LIBARCHIVE
+       # required by libarchive to include zip compression
+       select BR2_PACKAGE_ZLIB
+       select BR2_PACKAGE_LIBCONFUSE
+       select BR2_PACKAGE_LIBSODIUM
+       help
+         Fwup is a scriptable embedded Linux firmware update creator
+         and runner.
+
+         https://github.com/fhunleth/fwup
+
+comment "fwup needs a toolchain w/ wchar"
+       depends on BR2_USE_MMU
+       depends on !BR2_USE_WCHAR
diff --git a/package/fwup/Config.in.host b/package/fwup/Config.in.host
new file mode 100644 (file)
index 0000000..4e21c7d
--- /dev/null
@@ -0,0 +1,7 @@
+config BR2_PACKAGE_HOST_FWUP
+       bool "host fwup"
+       help
+         Fwup is a scriptable embedded Linux firmware update creator
+         and runner.
+
+         https://github.com/fhunleth/fwup
diff --git a/package/fwup/fwup.mk b/package/fwup/fwup.mk
new file mode 100644 (file)
index 0000000..0f857fc
--- /dev/null
@@ -0,0 +1,22 @@
+#############################################################
+#
+# fwup
+#
+#############################################################
+
+FWUP_VERSION = v0.7.0
+FWUP_SITE = $(call github,fhunleth,fwup,$(FWUP_VERSION))
+FWUP_LICENSE = Apache-2.0
+FWUP_LICENSE_FILES = LICENSE
+FWUP_DEPENDENCIES = libconfuse libarchive libsodium
+FWUP_AUTORECONF = YES
+
+define FWUP_ADD_M4_DIR
+       mkdir -p $(@D)/m4
+endef
+
+FWUP_POST_PATCH_HOOKS += FWUP_ADD_M4_DIR
+HOST_FWUP_POST_PATCH_HOOKS += FWUP_ADD_M4_DIR
+
+$(eval $(autotools-package))
+$(eval $(host-autotools-package))