summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/dosfstools
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2016-01-09 20:23:49 -0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-01-24 09:40:30 +0000
commit8dd1aa8b70c4200d1c9774715fbc7860114dd8a8 (patch)
treece590731c4789b5957ae47e3c1151cc30eb135e9 /meta/recipes-devtools/dosfstools
parent21550d10bf27ed9dad63bbc23412bd3b7f0e9201 (diff)
downloadpoky-8dd1aa8b70c4200d1c9774715fbc7860114dd8a8.tar.gz
dosfstools: Correct cross-compile CFLAGS and fix build with musl
enable largefile support if its in DISTRO_FEATURES (From OE-Core rev: 300defd71205bf350a6e956451e0cc87c4e92902) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools/dosfstools')
-rw-r--r--meta/recipes-devtools/dosfstools/dosfstools/0001-mkfs.fat-fix-incorrect-int-type.patch46
-rw-r--r--meta/recipes-devtools/dosfstools/dosfstools/largefile.patch19
-rw-r--r--meta/recipes-devtools/dosfstools/dosfstools_3.0.28.bb7
3 files changed, 71 insertions, 1 deletions
diff --git a/meta/recipes-devtools/dosfstools/dosfstools/0001-mkfs.fat-fix-incorrect-int-type.patch b/meta/recipes-devtools/dosfstools/dosfstools/0001-mkfs.fat-fix-incorrect-int-type.patch
new file mode 100644
index 0000000000..3497ca5409
--- /dev/null
+++ b/meta/recipes-devtools/dosfstools/dosfstools/0001-mkfs.fat-fix-incorrect-int-type.patch
@@ -0,0 +1,46 @@
1From 3b95786af13e28157d889bd90a384ee255f2d91d Mon Sep 17 00:00:00 2001
2From: "Yann E. MORIN" <yann.morin.1998@free.fr>
3Date: Sun, 16 Aug 2015 15:55:43 +0200
4Subject: [PATCH] mkfs.fat: fix incorrect int type
5
6u_int32_t is not a stanard type, while uint32_t is. This fixes builds
7with the musl C library, which only defines so-called "clean" headers;
8build failures are like (back-quotes and elision manually added for
9readability):
10
11 http://autobuild.buildroot.org/results/a09/a0923d7f6d4dbae02eba4c5024bbdae3a52aa85a/build-end.log
12
13 /home/peko/autobuild/instance-1/output/host/usr/bin/x86_64-linux-gcc -D_LARGEFILE_SOURCE \
14 -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -D_GNU_SOURCE -D_LARGEFILE_SOURCE \
15 -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -c -o mkfs.fat.o src/mkfs.fat.c
16 src/mkfs.fat.c: In function 'main':
17 src/mkfs.fat.c:1415:18: error: 'u_int32_t' undeclared (first use in this function)
18 volume_id = (u_int32_t) ((create_timeval.tv_sec << 20) | create_timeval.tv_usec); [...]
19 ^
20 src/mkfs.fat.c:1415:18: note: each undeclared identifier is reported only once for each
21 function it appears in
22
23Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
24Signed-off-by: Andreas Bombe <aeb@debian.org>
25---
26Upstream-Status: Backport
27
28 src/mkfs.fat.c | 2 +-
29 1 file changed, 1 insertion(+), 1 deletion(-)
30
31diff --git a/src/mkfs.fat.c b/src/mkfs.fat.c
32index b38d116..dddbe24 100644
33--- a/src/mkfs.fat.c
34+++ b/src/mkfs.fat.c
35@@ -1412,7 +1412,7 @@ int main(int argc, char **argv)
36
37 gettimeofday(&create_timeval, NULL);
38 create_time = create_timeval.tv_sec;
39- volume_id = (u_int32_t) ((create_timeval.tv_sec << 20) | create_timeval.tv_usec); /* Default volume ID = creation time, fudged for more uniqueness */
40+ volume_id = (uint32_t) ((create_timeval.tv_sec << 20) | create_timeval.tv_usec); /* Default volume ID = creation time, fudged for more uniqueness */
41 check_atari();
42
43 printf("mkfs.fat " VERSION " (" VERSION_DATE ")\n");
44--
452.7.0
46
diff --git a/meta/recipes-devtools/dosfstools/dosfstools/largefile.patch b/meta/recipes-devtools/dosfstools/dosfstools/largefile.patch
new file mode 100644
index 0000000000..7f7d8359df
--- /dev/null
+++ b/meta/recipes-devtools/dosfstools/dosfstools/largefile.patch
@@ -0,0 +1,19 @@
1defer setting largefile flags to build makery
2in a cross build we can not do runtime config tests
3
4Signed-off-by: Khem Raj <raj.khem@gmail.com>
5Upstream-Status: Inappropriate[Cross compile Specific]
6Index: dosfstools-3.0.28/Makefile
7===================================================================
8--- dosfstools-3.0.28.orig/Makefile
9+++ dosfstools-3.0.28/Makefile
10@@ -27,8 +27,7 @@ SBINDIR = $(PREFIX)/sbin
11 DOCDIR = $(PREFIX)/share/doc
12 MANDIR = $(PREFIX)/share/man
13
14-#OPTFLAGS = -O2 -fomit-frame-pointer -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
15-OPTFLAGS = -O2 -fomit-frame-pointer -D_GNU_SOURCE $(shell getconf LFS_CFLAGS)
16+OPTFLAGS = -O2 -fomit-frame-pointer
17 #WARNFLAGS = -Wall -pedantic -std=c99
18 WARNFLAGS = -Wall -Wextra -Wno-sign-compare -Wno-missing-field-initializers -Wmissing-prototypes -Wstrict-prototypes -Wwrite-strings
19 DEBUGFLAGS = -g
diff --git a/meta/recipes-devtools/dosfstools/dosfstools_3.0.28.bb b/meta/recipes-devtools/dosfstools/dosfstools_3.0.28.bb
index addcbf607c..6fc3e41dfe 100644
--- a/meta/recipes-devtools/dosfstools/dosfstools_3.0.28.bb
+++ b/meta/recipes-devtools/dosfstools/dosfstools_3.0.28.bb
@@ -9,12 +9,17 @@ SECTION = "base"
9LICENSE = "GPLv3" 9LICENSE = "GPLv3"
10LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" 10LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
11 11
12SRC_URI = "https://github.com/dosfstools/dosfstools/releases/download/v3.0.28/dosfstools-3.0.28.tar.xz" 12SRC_URI = "https://github.com/dosfstools/dosfstools/releases/download/v3.0.28/dosfstools-3.0.28.tar.xz \
13 file://largefile.patch \
14 file://0001-mkfs.fat-fix-incorrect-int-type.patch \
15 "
13SRC_URI[md5sum] = "6a047a6c65186b9ebb1853709adb36db" 16SRC_URI[md5sum] = "6a047a6c65186b9ebb1853709adb36db"
14SRC_URI[sha256sum] = "ee95913044ecf2719b63ea11212917649709a6e53209a72d622135aaa8517ee2" 17SRC_URI[sha256sum] = "ee95913044ecf2719b63ea11212917649709a6e53209a72d622135aaa8517ee2"
15 18
16UPSTREAM_CHECK_URI = "https://github.com/dosfstools/dosfstools/releases" 19UPSTREAM_CHECK_URI = "https://github.com/dosfstools/dosfstools/releases"
17 20
21CFLAGS += "-D_GNU_SOURCE ${@bb.utils.contains('DISTRO_FEATURES', 'largefile', '-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64', '', d)}"
22
18FILES_${PN} = "${base_sbindir}" 23FILES_${PN} = "${base_sbindir}"
19FILES_${PN}-doc = "${mandir} ${docdir}" 24FILES_${PN}-doc = "${mandir} ${docdir}"
20 25