Browse Source

package/exfatprogs: new package

exFAT filesystem userspace utilities

We need a patch to fix:
error: unknown type name ‘ssize_t’

Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
James Hilliard 5 years ago
parent
commit
e5bc21559b

+ 1 - 0
DEVELOPERS

@@ -1173,6 +1173,7 @@ F:	configs/pine64_sopine_defconfig
 
 N:	James Hilliard <james.hilliard1@gmail.com>
 F:	package/apcupsd/
+F:	package/exfatprogs/
 F:	package/gensio/
 F:	package/lua-std-debug/
 F:	package/lua-std-normalize/

+ 1 - 0
package/Config.in

@@ -199,6 +199,7 @@ menu "Filesystem and flash utilities"
 	source "package/erofs-utils/Config.in"
 	source "package/exfat/Config.in"
 	source "package/exfat-utils/Config.in"
+	source "package/exfatprogs/Config.in"
 	source "package/f2fs-tools/Config.in"
 	source "package/flashbench/Config.in"
 	source "package/fscryptctl/Config.in"

+ 1 - 0
package/Config.in.host

@@ -20,6 +20,7 @@ menu "Host utilities"
 	source "package/e2tools/Config.in.host"
 	source "package/erofs-utils/Config.in.host"
 	source "package/eudev/Config.in.host"
+	source "package/exfatprogs/Config.in.host"
 	source "package/f2fs-tools/Config.in.host"
 	source "package/faketime/Config.in.host"
 	source "package/fatcat/Config.in.host"

+ 49 - 0
package/exfatprogs/0001-exfatprogs-add-missing-include-sys-types.h.patch

@@ -0,0 +1,49 @@
+From da03ba80944668817c374a816b8b0c515af0ac89 Mon Sep 17 00:00:00 2001
+From: James Hilliard <james.hilliard1@gmail.com>
+Date: Fri, 17 Apr 2020 13:10:49 -0600
+Subject: [PATCH] exfatprogs: add missing #include <sys/types.h>
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Fixes:
+../include/libexfat.h:72:1: error: unknown type name ‘ssize_t’
+ ssize_t exfat_read(int fd, void *buf, size_t size, off_t offset);
+ ^
+../include/libexfat.h:72:52: error: unknown type name ‘off_t’
+ ssize_t exfat_read(int fd, void *buf, size_t size, off_t offset);
+                                                    ^
+../include/libexfat.h:73:1: error: unknown type name ‘ssize_t’
+ ssize_t exfat_write(int fd, void *buf, size_t size, off_t offset);
+ ^
+../include/libexfat.h:73:53: error: unknown type name ‘off_t’
+ ssize_t exfat_write(int fd, void *buf, size_t size, off_t offset);
+                                                     ^
+../include/libexfat.h:75:1: error: unknown type name ‘ssize_t’
+ ssize_t exfat_utf16_enc(const char *in_str, __u16 *out_str, size_t out_size);
+ ^
+../include/libexfat.h:76:1: error: unknown type name ‘ssize_t’
+ ssize_t exfat_utf16_dec(const __u16 *in_str, size_t in_len,
+ ^
+
+Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
+[Upstream status: https://github.com/exfatprogs/exfatprogs/pull/50]
+---
+ include/exfat_tools.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/include/exfat_tools.h b/include/exfat_tools.h
+index 45de4aa..105fd2a 100644
+--- a/include/exfat_tools.h
++++ b/include/exfat_tools.h
+@@ -6,6 +6,7 @@
+ #ifndef _EXFAT_TOOLS_H
+ 
+ #include <stdbool.h>
++#include <sys/types.h>
+ #include <wchar.h>
+ 
+ #define KB			(1024)
+-- 
+2.20.1
+

+ 13 - 0
package/exfatprogs/Config.in

@@ -0,0 +1,13 @@
+config BR2_PACKAGE_EXFATPROGS
+	bool "exfatprogs"
+	help
+	  exFAT filesystem userspace utilities.
+
+	  This is the set of tools that works together with the exfat
+	  driver in the official Linux kernel (merged in Linux 5.7).
+
+	  If you're using the FUSE-based exfat support (from
+	  package/exfat), you must use the corresponding user-space
+	  programs in package/exfat-utils.
+
+	  https://github.com/exfatprogs/exfatprogs

+ 13 - 0
package/exfatprogs/Config.in.host

@@ -0,0 +1,13 @@
+config BR2_PACKAGE_HOST_EXFATPROGS
+	bool "host exfatprogs"
+	help
+	  exFAT filesystem userspace utilities
+
+	  This is the set of tools that works together with the exfat
+	  driver in the official Linux kernel (merged in Linux 5.7).
+
+	  If you're using the FUSE-based exfat support (from
+	  package/exfat), you must use the corresponding user-space
+	  programs in package/exfat-utils.
+
+	  https://github.com/exfatprogs/exfatprogs

+ 3 - 0
package/exfatprogs/exfatprogs.hash

@@ -0,0 +1,3 @@
+# Locally calculated
+sha256  9cd3b71b0d90695969b83a68d5412898c120a60893e01434ef5e2be9f14fe570  exfatprogs-1.0.1.tar.gz
+sha256  576540abf5e95029ad4ad90e32071385a5e95b2c30708c706116f3eb87b9a3de  COPYING

+ 16 - 0
package/exfatprogs/exfatprogs.mk

@@ -0,0 +1,16 @@
+################################################################################
+#
+# exfatprogs
+#
+################################################################################
+
+EXFATPROGS_VERSION = 1.0.1
+EXFATPROGS_SITE = $(call github,exfatprogs,exfatprogs,$(EXFATPROGS_VERSION))
+EXFATPROGS_LICENSE = GPL-2.0+
+EXFATPROGS_LICENSE_FILES = COPYING
+EXFATPROGS_AUTORECONF = YES
+EXFATPROGS_DEPENDENCIES = host-pkgconf
+HOST_EXFATPROGS_DEPENDENCIES = host-pkgconf
+
+$(eval $(autotools-package))
+$(eval $(host-autotools-package))