openwrt: update tools to LEDE v17.01.6 to fix compile issues

This updates:

* m4
* bison
* e2fsprogs
* make_ext4fs
* mtd-utils
* findutils
* squashfs
* squashfs4
* grub2

to their version used in LEDE v17.01.6. This fixes various compile
errors appearing on Debian Sid.

A list of the patches picked from upstream:

m4:

$ git log --oneline f7e56763e1..HEAD tools/m4
6e78c5502c tools: m4: fix compilation with glibc 2.28
a91d8dd162 tools/m4: update 1.4.18
f19d47f848 tools: patch various gnu tools for macOS 10.13
720b99215d treewide: clean up download hashes

bison:

$ git log --oneline 877f2972d4..HEAD tools/bison
1e09cbf118 tools/bison: Update to 3.0.5
f19d47f848 tools: patch various gnu tools for macOS 10.13
720b99215d treewide: clean up download hashes
5062cff673 tools/bison: update to 3.0.4

e2fsprogs:

$ git log --oneline f7e56763e1..HEAD tools/e2fsprogs/
8f5c55f63e tools/e2fsprogs: update to 1.44.1
d35a7bf4b4 e2fsprogs: bump to 1.44.0
79ac69d9c9 tools/e2fsprogs: Update to 1.43.7
5d9114c9cb tools/e2fsprogs: Update to 1.43.6
7955fab22a tools/e2fsprogs: Update to 1.43.5
866e5b4956 tools/e2fsprogs: Update to 1.43.4
a964738a5c Revert "tools/e2fsprogs: fix building on a glibc 2.27 host"
58a95f0f8f tools/e2fsprogs: fix building on a glibc 2.27 host
720b99215d treewide: clean up download hashes
b8b807b1a9 tools/e2fsprogs: Update to 1.43.3
d635ef50c5 e2fsprogs: fix build problem with very old libmagic
819cf75c40 tools: e2fsprogs: bump to 1.43.1
2baf90a84e tools/e2fsprogs: remove outdated configure args
b7e946f33e tools/e2fsprogs: update to 1.42.13
52ea491bdf tools/e2fsprogs: add a darwin-compat patch

make-ext4fs:

$ git log --oneline 1170a3de76..HEAD tools/make-ext4fs/
c7c1cf5618 treewide: clean up and unify PKG_VERSION for git based downloads
720b99215d treewide: clean up download hashes
9edfe7dd13 source: Switch to xz for packages and tools where possible
95bad62f2a tools: make_ext4fs: switch to LEDE git mirror
98b960c218 tools: make_ext4fs: support creating empty filesystem images
9ec4ca525c tools: make-ext4fs: fix build regression on mac os x
49ad0c565a tools: fix make_ext4fs build with recent glibc
8af9119ff4 tools: make-ext4fs: explicitely request C collation for sorting
01fb448d56 tools/make-ext4fs: prefer static linking

$ git log --oneline 17ae95bb20..HEAD tools/mtd-utils
96dbf59e5a tools/mtd-utils: include sysmacros.h explicitly
018d80007e kernel: remove ubifs xz decompression support
c7c1cf5618 treewide: clean up and unify PKG_VERSION for git based downloads
720b99215d treewide: clean up download hashes
9edfe7dd13 source: Switch to xz for packages and tools where possible
e27c8bb156 update mtd-utils to 1.5.2

$ git log --oneline dd86bc73fb..HEAD tools/findutils
6449ed1553 tools: findutils: fix compilation with glibc 2.28
d2fd6412a6 tools/findutils: include sysmacros.h explicitly
720b99215d treewide: clean up download hashes
70a5c062f1 tools/findutils: Update to 4.6.0

$ git log --oneline f7e56763e1..HEAD tools/squashfs tools/squashfs4
1aedf2f149 tools/squashfs: use host cflags
8a48a53dcb tools/squashfs4: include sysmacros.h explicitly
8406e50df5 tools/squashfs: include sysmacros.h explicitly
720b99215d treewide: clean up download hashes
f97ad870e1 squashfs4: use upstream xz compression header format
d437c72c21 tools/squashfs4: refresh patches
34124de139 tools/squashfs: refresh patches
fd1c1b4918 tools/squashfs: add argument -fixed-time to set all timestamps

$ git log --oneline fcc6f801ca..HEAD package/boot/grub2/
2252731af4 grub2: rebase patches
6aae528cc3 grub2: Fix CVE-2015-8370
6e1e2e7b96 package/grub2: update to 2.02
10182cb2c6 grub2: update to 2.02~rc2
f0e8470aa9 grub2: update to 2.02~rc1
806d3cc2c3 packages: mark packages depending on a target as nonshared
65c8f2890c grub2: upgrade to 2.02-beta3 (3 years newer than previous)
77812cdfec grub2: disable 'check-macro-version' build rule in 'po' build
2b54fa4dff grub2: do not generate mkfonts at build time
b33845b2da grub2: add PKG_FIXUP:=autoreconf
720b99215d treewide: clean up download hashes
3c52cbfa53 Revert "grub2: add PKG_FIXUP:=autoreconf"
a0ea22ac43 grub2: add PKG_FIXUP:=autoreconf
f2752f4735 grub2: add missing SECTION variable and remove non breaking space
d140648622 grub2: move to Boot Loaders category
59e3a4714a grub2: switch back to installing to STAGING_DIR_HOST
9b01282515 grub2: disable stack-protector
25eddec9cb grub2: fix build against musl

$ git log --oneline 81a2f9d6f86
81a2f9d6f8 target/linux/x86/image: add explicit prefix to grub-mkimage command

Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
This commit is contained in:
Linus Lüssing 2019-04-20 06:04:16 +02:00
parent 35c9f9aecc
commit 0a150e97d4
63 changed files with 3882 additions and 0 deletions

View File

@ -0,0 +1,39 @@
From: Felix Fietkau <nbd@openwrt.org>
Date: Wed, 15 Jul 2015 08:16:40 +0000
Subject: tools/e2fsprogs: add a darwin-compat patch
On darwin we need to import stdint to get these integer typedefs.
Patch by: Lawrence D'Anna <larry@elder-gods.org>
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 46378
diff --git a/tools/e2fsprogs/patches/005-darwin-compat.patch b/tools/e2fsprogs/patches/005-darwin-compat.patch
new file mode 100644
index 0000000000000000000000000000000000000000..bc81d8638a5f294bb520f54ad518c3aecda0c3bd
--- /dev/null
+++ b/tools/e2fsprogs/patches/005-darwin-compat.patch
@@ -0,0 +1,22 @@
+--- a/lib/blkid/blkid_types.h.in
++++ b/lib/blkid/blkid_types.h.in
+@@ -9,6 +9,8 @@
+
+ @ASM_TYPES_HEADER@
+
++#include <stdint.h>
++
+ #ifdef __U8_TYPEDEF
+ typedef __U8_TYPEDEF __u8;
+ #else
+--- a/lib/ext2fs/ext2_types.h.in
++++ b/lib/ext2fs/ext2_types.h.in
+@@ -9,6 +9,8 @@
+
+ @ASM_TYPES_HEADER@
+
++#include <stdint.h>
++
+ #ifdef __U8_TYPEDEF
+ typedef __U8_TYPEDEF __u8;
+ #else

View File

@ -0,0 +1,50 @@
From: Felix Fietkau <nbd@openwrt.org>
Date: Tue, 3 Nov 2015 12:00:04 +0000
Subject: tools/bison: update to 3.0.4
Update bison to 3.0.4.
Refresh patches.
Drop the unnecessary PKG_CAT definition.
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
SVN-Revision: 47370
diff --git a/tools/bison/Makefile b/tools/bison/Makefile
index 256512116f9f7b8f90f2dcce24846286e5c50025..b8ad32c561f2d95ade66465cefb5eeaec74f64c2 100644
--- a/tools/bison/Makefile
+++ b/tools/bison/Makefile
@@ -1,5 +1,5 @@
#
-# Copyright (C) 2008-2013 OpenWrt.org
+# Copyright (C) 2008-2015 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
@@ -7,12 +7,11 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=bison
-PKG_VERSION:=3.0.2
+PKG_VERSION:=3.0.4
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=@GNU/$(PKG_NAME)
-PKG_MD5SUM:=146be9ff9fbd27497f0bf2286a5a2082
-PKG_CAT:=xzcat
+PKG_MD5SUM:=c342201de104cc9ce0a21e0ad10d4021
HOST_BUILD_PARALLEL:=1
diff --git a/tools/bison/patches/100-fix-gets-removal.patch b/tools/bison/patches/100-fix-gets-removal.patch
index b9c878a2771ba0ecb38342fcb8aad4d650f7f107..20b18cf2e7cd722622fced5b0e7703807bef38ef 100644
--- a/tools/bison/patches/100-fix-gets-removal.patch
+++ b/tools/bison/patches/100-fix-gets-removal.patch
@@ -1,6 +1,6 @@
--- a/lib/stdio.in.h
+++ b/lib/stdio.in.h
-@@ -714,13 +714,6 @@
+@@ -719,13 +719,6 @@
# endif
#endif

View File

@ -0,0 +1,99 @@
From: Felix Fietkau <nbd@openwrt.org>
Date: Sun, 8 Nov 2015 20:40:03 +0000
Subject: tools/e2fsprogs: update to 1.42.13
Update e2fsprogs to 1.42.13.
Refresh and cleanup patches.
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
SVN-Revision: 47426
diff --git a/tools/e2fsprogs/Makefile b/tools/e2fsprogs/Makefile
index 5632e1949d30aecd8a3fd0501c5e6e3684207986..0ecd9521f4e077b1354cb5eba230dbbf206b8bb5 100644
--- a/tools/e2fsprogs/Makefile
+++ b/tools/e2fsprogs/Makefile
@@ -1,5 +1,5 @@
#
-# Copyright (C) 2010-2013 OpenWrt.org
+# Copyright (C) 2010-2015 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
@@ -8,8 +8,8 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=e2fsprogs
-PKG_VERSION:=1.42.8
-PKG_MD5SUM:=8ef664b6eb698aa6b733df59b17b9ed4
+PKG_VERSION:=1.42.13
+PKG_MD5SUM:=bc759fc62666786f5436e2075beb3265
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
diff --git a/tools/e2fsprogs/patches/003-openbsd-compat.patch b/tools/e2fsprogs/patches/003-openbsd-compat.patch
index 1f7cdca0e56992d908f2bf863cf4b6bb687c4315..ded0ecad77fa9f382493556eeaeaf9fbee9fc97d 100644
--- a/tools/e2fsprogs/patches/003-openbsd-compat.patch
+++ b/tools/e2fsprogs/patches/003-openbsd-compat.patch
@@ -1,7 +1,6 @@
-diff -Nur e2fsprogs-1.42.7.orig/lib/blkid/getsize.c e2fsprogs-1.42.7/lib/blkid/getsize.c
---- e2fsprogs-1.42.7.orig/lib/blkid/getsize.c Fri Nov 30 03:40:18 2012
-+++ e2fsprogs-1.42.7/lib/blkid/getsize.c Thu Mar 7 14:21:59 2013
-@@ -26,6 +26,9 @@
+--- a/lib/blkid/getsize.c
++++ b/lib/blkid/getsize.c
+@@ -25,6 +25,9 @@
#include <fcntl.h>
#ifdef HAVE_SYS_IOCTL_H
#include <sys/ioctl.h>
@@ -11,9 +10,8 @@ diff -Nur e2fsprogs-1.42.7.orig/lib/blkid/getsize.c e2fsprogs-1.42.7/lib/blkid/g
#endif
#ifdef HAVE_LINUX_FD_H
#include <linux/fd.h>
-diff -Nur e2fsprogs-1.42.7.orig/lib/quota/mkquota.c e2fsprogs-1.42.7/lib/quota/mkquota.c
---- e2fsprogs-1.42.7.orig/lib/quota/mkquota.c Wed Jan 2 01:47:20 2013
-+++ e2fsprogs-1.42.7/lib/quota/mkquota.c Thu Mar 7 14:21:59 2013
+--- a/lib/quota/mkquota.c
++++ b/lib/quota/mkquota.c
@@ -8,6 +8,7 @@
#include <sys/stat.h>
#include <unistd.h>
diff --git a/tools/e2fsprogs/patches/004-freebsd-compat.patch b/tools/e2fsprogs/patches/004-freebsd-compat.patch
index 5eff49999e2e68f50e5fa05583a2a7158f0d0de9..c6435d49192bfa1f645f94e69baa62ccf1658d81 100644
--- a/tools/e2fsprogs/patches/004-freebsd-compat.patch
+++ b/tools/e2fsprogs/patches/004-freebsd-compat.patch
@@ -1,6 +1,5 @@
-diff -Nur e2fsprogs-1.42.7.orig/lib/ext2fs/tdb.c e2fsprogs-1.42.7/lib/ext2fs/tdb.c
---- e2fsprogs-1.42.7.orig/lib/ext2fs/tdb.c 2012-07-06 15:37:27.000000000 +0200
-+++ e2fsprogs-1.42.7/lib/ext2fs/tdb.c 2013-03-07 14:54:59.000000000 +0100
+--- a/lib/ext2fs/tdb.c
++++ b/lib/ext2fs/tdb.c
@@ -56,7 +56,9 @@
#include <utime.h>
#endif
diff --git a/tools/e2fsprogs/patches/005-darwin-compat.patch b/tools/e2fsprogs/patches/005-darwin-compat.patch
index bc81d8638a5f294bb520f54ad518c3aecda0c3bd..c5d0e28c555f215b1953861a7e9ba8e881ed2e24 100644
--- a/tools/e2fsprogs/patches/005-darwin-compat.patch
+++ b/tools/e2fsprogs/patches/005-darwin-compat.patch
@@ -6,9 +6,9 @@
+#include <stdint.h>
+
+ #ifndef HAVE___U8
+ #define HAVE___U8
#ifdef __U8_TYPEDEF
- typedef __U8_TYPEDEF __u8;
- #else
--- a/lib/ext2fs/ext2_types.h.in
+++ b/lib/ext2fs/ext2_types.h.in
@@ -9,6 +9,8 @@
@@ -17,6 +17,7 @@
+#include <stdint.h>
+
+ #ifndef HAVE___U8
+ #define HAVE___U8
#ifdef __U8_TYPEDEF
- typedef __U8_TYPEDEF __u8;
- #else
+

View File

@ -0,0 +1,29 @@
From: John Crispin <john@openwrt.org>
Date: Wed, 23 Dec 2015 14:44:18 +0000
Subject: tools/e2fsprogs: remove outdated configure args
removed upstream in 1.40.5:
Don't build e2fsck statically by default anymore 7e8fe327b51051adcbb0d44169b1a933173ce1ff
fixes:
configure: WARNING: unrecognized options: --disable-shared, --enable-static, --enable-dynamic-e2fsck
Signed-off-by: Dirk Neukirchen <dirkneukirchen@web.de>
SVN-Revision: 47978
diff --git a/tools/e2fsprogs/Makefile b/tools/e2fsprogs/Makefile
index 0ecd9521f4e077b1354cb5eba230dbbf206b8bb5..e1027599257a3765cbd43800060c2508e50194e0 100644
--- a/tools/e2fsprogs/Makefile
+++ b/tools/e2fsprogs/Makefile
@@ -22,10 +22,7 @@ include $(INCLUDE_DIR)/host-build.mk
HOST_CFLAGS += $(FPIC)
HOST_CONFIGURE_ARGS += \
- --disable-shared \
--disable-elf-shlibs \
- --enable-static \
- --enable-dynamic-e2fsck \
--disable-tls \
--disable-nls

View File

@ -0,0 +1,88 @@
From: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
Date: Wed, 22 Jun 2016 21:37:23 +0100
Subject: tools: e2fsprogs: bump to 1.43.1
Bump e2fsprogs to v1.43.1 & refresh patches
Signed-off-by: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
diff --git a/tools/e2fsprogs/Makefile b/tools/e2fsprogs/Makefile
index e1027599257a3765cbd43800060c2508e50194e0..1251361b3e05880a01448e44d22649bd5ba73cf6 100644
--- a/tools/e2fsprogs/Makefile
+++ b/tools/e2fsprogs/Makefile
@@ -8,8 +8,8 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=e2fsprogs
-PKG_VERSION:=1.42.13
-PKG_MD5SUM:=bc759fc62666786f5436e2075beb3265
+PKG_VERSION:=1.43.1
+PKG_MD5SUM:=1775f3f0eed9dee1c5f39e08d1964a97
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
@@ -23,6 +23,7 @@ HOST_CFLAGS += $(FPIC)
HOST_CONFIGURE_ARGS += \
--disable-elf-shlibs \
+ --enable-libuuid \
--disable-tls \
--disable-nls
diff --git a/tools/e2fsprogs/patches/002-dont-build-e4defrag.patch b/tools/e2fsprogs/patches/002-dont-build-e4defrag.patch
index 9f6e7b1cefc7aa87c0ba13f0779a3d0fdfb75f64..2a7842f65543b653824d174f1fa9f11d0b24837a 100644
--- a/tools/e2fsprogs/patches/002-dont-build-e4defrag.patch
+++ b/tools/e2fsprogs/patches/002-dont-build-e4defrag.patch
@@ -8,4 +8,4 @@
+@DEFRAG_CMT@@LINUX_CMT@E4DEFRAG_PROG=
@DEFRAG_CMT@@LINUX_CMT@E4DEFRAG_MAN= e4defrag.8
- @IMAGER_CMT@E2IMAGE_PROG= e2image
+ @LINUX_CMT@E4CRYPT_PROG = e4crypt
diff --git a/tools/e2fsprogs/patches/003-openbsd-compat.patch b/tools/e2fsprogs/patches/003-openbsd-compat.patch
index ded0ecad77fa9f382493556eeaeaf9fbee9fc97d..492b8a88608bb21d6bececd12314b2ed7c0d817e 100644
--- a/tools/e2fsprogs/patches/003-openbsd-compat.patch
+++ b/tools/e2fsprogs/patches/003-openbsd-compat.patch
@@ -1,6 +1,6 @@
--- a/lib/blkid/getsize.c
+++ b/lib/blkid/getsize.c
-@@ -25,6 +25,9 @@
+@@ -29,6 +29,9 @@
#include <fcntl.h>
#ifdef HAVE_SYS_IOCTL_H
#include <sys/ioctl.h>
@@ -10,13 +10,3 @@
#endif
#ifdef HAVE_LINUX_FD_H
#include <linux/fd.h>
---- a/lib/quota/mkquota.c
-+++ b/lib/quota/mkquota.c
-@@ -8,6 +8,7 @@
- #include <sys/stat.h>
- #include <unistd.h>
- #include <errno.h>
-+#include <stdint.h>
- #include <string.h>
- #include <fcntl.h>
-
diff --git a/tools/e2fsprogs/patches/004-freebsd-compat.patch b/tools/e2fsprogs/patches/004-freebsd-compat.patch
index c6435d49192bfa1f645f94e69baa62ccf1658d81..d102e1cd9c0966091da25fcbeb3d284c65ffc063 100644
--- a/tools/e2fsprogs/patches/004-freebsd-compat.patch
+++ b/tools/e2fsprogs/patches/004-freebsd-compat.patch
@@ -1,6 +1,6 @@
--- a/lib/ext2fs/tdb.c
+++ b/lib/ext2fs/tdb.c
-@@ -56,7 +56,9 @@
+@@ -58,7 +58,9 @@ Last Changed Date: 2007-06-22 13:36:10 -
#include <utime.h>
#endif
#include <sys/stat.h>
diff --git a/tools/e2fsprogs/patches/005-darwin-compat.patch b/tools/e2fsprogs/patches/005-darwin-compat.patch
index c5d0e28c555f215b1953861a7e9ba8e881ed2e24..d84aa121ca540977c2973630a9ceb26a8a2e3a6c 100644
--- a/tools/e2fsprogs/patches/005-darwin-compat.patch
+++ b/tools/e2fsprogs/patches/005-darwin-compat.patch
@@ -20,4 +20,3 @@
#ifndef HAVE___U8
#define HAVE___U8
#ifdef __U8_TYPEDEF
-

View File

@ -0,0 +1,41 @@
From: Hauke Mehrtens <hauke.mehrtens@intel.com>
Date: Fri, 24 Jun 2016 17:37:40 +0200
Subject: e2fsprogs: fix build problem with very old libmagic
The libmagic shipped with RedHat 5 does not define
MAGIC_NO_CHECK_ELF and MAGIC_NO_CHECK_COMPRESS. e2fsprogs should
check for that, otherwise the build will fail.
Signed-off-by: Hauke Mehrtens <hauke.mehrtens@intel.com>
diff --git a/tools/e2fsprogs/patches/010-old-libmagic.patch b/tools/e2fsprogs/patches/010-old-libmagic.patch
new file mode 100644
index 0000000000000000000000000000000000000000..9156b733729c6985a63672daca0887d4ed9ca550
--- /dev/null
+++ b/tools/e2fsprogs/patches/010-old-libmagic.patch
@@ -0,0 +1,25 @@
+From b482eb7af94885b6bbad9329e40702c958d5b448 Mon Sep 17 00:00:00 2001
+From: Hauke Mehrtens <hauke@hauke-m.de>
+Date: Thu, 30 Jun 2016 19:53:03 +0200
+Subject: [PATCH] fix build problem with very old libmagic
+
+The libmagic shipped with RedHat 5 does not define
+MAGIC_NO_CHECK_ELF and MAGIC_NO_CHECK_COMPRESS. e2fsprogs should
+check for that otherwise the build will fail.
+
+Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
+---
+ lib/support/plausible.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/lib/support/plausible.c
++++ b/lib/support/plausible.c
+@@ -247,7 +247,7 @@ int check_plausibility(const char *devic
+ return 0;
+ }
+
+-#ifdef HAVE_MAGIC_H
++#if defined(HAVE_MAGIC_H) && defined(MAGIC_NO_CHECK_ELF) && defined(MAGIC_NO_CHECK_COMPRESS)
+ if ((flags & CHECK_FS_EXIST) &&
+ !getenv("E2FSPROGS_LIBMAGIC_SUPPRESS") &&
+ magic_library_available()) {

View File

@ -0,0 +1,23 @@
From: diizzyy <diizzyy@users.noreply.github.com>
Date: Sun, 2 Oct 2016 22:55:23 +0200
Subject: tools/e2fsprogs: Update to 1.43.3
Update e2fsprogs to 1.43.3
Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
diff --git a/tools/e2fsprogs/Makefile b/tools/e2fsprogs/Makefile
index 1251361b3e05880a01448e44d22649bd5ba73cf6..ffe1782eb130dd4e3799bf8b36a9575222eb8831 100644
--- a/tools/e2fsprogs/Makefile
+++ b/tools/e2fsprogs/Makefile
@@ -8,8 +8,8 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=e2fsprogs
-PKG_VERSION:=1.43.1
-PKG_MD5SUM:=1775f3f0eed9dee1c5f39e08d1964a97
+PKG_VERSION:=1.43.3
+PKG_MD5SUM:=ec0cd4faac71b2fcf9f73733e4d50ead
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz

View File

@ -0,0 +1,45 @@
From: Jo-Philipp Wich <jow@openwrt.org>
Date: Mon, 14 Sep 2015 15:15:15 +0000
Subject: tools/make-ext4fs: prefer static linking
Link zlib statically on Linux systems.
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
SVN-Revision: 46909
diff --git a/tools/make-ext4fs/Makefile b/tools/make-ext4fs/Makefile
index 62f7e276574c3dde7fec85f6942b11235cb81897..d6858cdd97a537395dc909ecaa8fde025c43dc85 100644
--- a/tools/make-ext4fs/Makefile
+++ b/tools/make-ext4fs/Makefile
@@ -7,22 +7,26 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=make-ext4fs
-PKG_VERSION:=2015-05-01
+PKG_VERSION:=2015-09-14
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://git.openwrt.org/project/make_ext4fs.git
PKG_SOURCE_PROTO:=git
-PKG_SOURCE_VERSION:=7c15bef6c732896d9ffb883fb1480fcd60c94a50
+PKG_SOURCE_VERSION:=98e3d5c1ceddd4a32b92c1cfafe929fe006fb98c
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
-PKG_MIRROR_MD5SUM:=d81eca37852cbf840108e1a8ad8fb22f
+PKG_MIRROR_MD5SUM:=c736e546de3b36da73f5e84a9ce3ffee
PKG_CAT:=zcat
HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/$(PKG_NAME)-$(PKG_VERSION)
include $(INCLUDE_DIR)/host-build.mk
+ifeq ($(HOST_OS),Linux)
+ MAKE_STATIC := STATIC=1
+endif
+
define Host/Compile
- $(MAKE) -C $(HOST_BUILD_DIR) make_ext4fs
+ $(MAKE) -C $(HOST_BUILD_DIR) make_ext4fs $(MAKE_STATIC)
endef
define Host/Install

View File

@ -0,0 +1,33 @@
From: Jo-Philipp Wich <jow@openwrt.org>
Date: Wed, 2 Dec 2015 16:10:09 +0000
Subject: tools: make-ext4fs: explicitely request C collation for sorting
Do not rely on the system default collaction when sorting directory entries
but explicitely request "C" collation.
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
SVN-Revision: 47689
diff --git a/tools/make-ext4fs/Makefile b/tools/make-ext4fs/Makefile
index d6858cdd97a537395dc909ecaa8fde025c43dc85..ba988290879ced9709e6337b892a12329727c3ee 100644
--- a/tools/make-ext4fs/Makefile
+++ b/tools/make-ext4fs/Makefile
@@ -7,14 +7,14 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=make-ext4fs
-PKG_VERSION:=2015-09-14
+PKG_VERSION:=2015-12-02
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://git.openwrt.org/project/make_ext4fs.git
PKG_SOURCE_PROTO:=git
-PKG_SOURCE_VERSION:=98e3d5c1ceddd4a32b92c1cfafe929fe006fb98c
+PKG_SOURCE_VERSION:=bd53eaafbc2a89a57b8adda38f53098a431fa8f4
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
-PKG_MIRROR_MD5SUM:=c736e546de3b36da73f5e84a9ce3ffee
+PKG_MIRROR_MD5SUM:=742ed45a833c81de5732a3adb827cde5
PKG_CAT:=zcat
HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/$(PKG_NAME)-$(PKG_VERSION)

View File

@ -0,0 +1,50 @@
From: Jo-Philipp Wich <jo@mein.io>
Date: Mon, 25 Apr 2016 13:41:43 +0200
Subject: tools: fix make_ext4fs build with recent glibc
Update to latest make_ext4fs Git HEAD to fix build with recent glibc version
which does not implicitely includes sysmacros.h anymore.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
diff --git a/target/linux/uml/Makefile b/target/linux/uml/Makefile
index ab077036a38b2b8c4b20611e8c343efeb47dc5d2..89452b5ac058e497c2485ae1b6a61cdddcd0db13 100644
--- a/target/linux/uml/Makefile
+++ b/target/linux/uml/Makefile
@@ -18,6 +18,7 @@ ARCH:=$(shell uname -m | sed \
-e 's/sh[234]/sh/' \
-e 's/armeb/arm/' \
)
+ARCH_PACKAGES:=uml
BOARD:=uml
BOARDNAME:=User Mode Linux
FEATURES:=ext4 audio
diff --git a/tools/make-ext4fs/Makefile b/tools/make-ext4fs/Makefile
index ba988290879ced9709e6337b892a12329727c3ee..23989c047a6281d5f1d66ec687db54d14702edb0 100644
--- a/tools/make-ext4fs/Makefile
+++ b/tools/make-ext4fs/Makefile
@@ -1,5 +1,6 @@
#
# Copyright (C) 2015 OpenWrt.org
+# Copyright (C) 2016 LEDE project
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
@@ -7,14 +8,14 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=make-ext4fs
-PKG_VERSION:=2015-12-02
+PKG_VERSION:=2016-04-25
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://git.openwrt.org/project/make_ext4fs.git
PKG_SOURCE_PROTO:=git
-PKG_SOURCE_VERSION:=bd53eaafbc2a89a57b8adda38f53098a431fa8f4
+PKG_SOURCE_VERSION:=bf98b86a5df5fcfb658d77fd5e0897ca87a35e8e
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
-PKG_MIRROR_MD5SUM:=742ed45a833c81de5732a3adb827cde5
+PKG_MIRROR_MD5SUM:=2c4161638d4ff3343e250321126d29e6
PKG_CAT:=zcat
HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/$(PKG_NAME)-$(PKG_VERSION)

View File

@ -0,0 +1,27 @@
From: Felix Fietkau <nbd@nbd.name>
Date: Thu, 5 May 2016 18:47:55 +0100
Subject: tools: make-ext4fs: fix build regression on mac os x
Including sys/sysmacros.h is not portable
Signed-off-by: Felix Fietkau <nbd@nbd.name>
diff --git a/tools/make-ext4fs/Makefile b/tools/make-ext4fs/Makefile
index 23989c047a6281d5f1d66ec687db54d14702edb0..553e6cd752f396377d3ce81738223c1d685fc747 100644
--- a/tools/make-ext4fs/Makefile
+++ b/tools/make-ext4fs/Makefile
@@ -8,12 +8,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=make-ext4fs
-PKG_VERSION:=2016-04-25
+PKG_VERSION:=2016-05-05
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://git.openwrt.org/project/make_ext4fs.git
PKG_SOURCE_PROTO:=git
-PKG_SOURCE_VERSION:=bf98b86a5df5fcfb658d77fd5e0897ca87a35e8e
+PKG_SOURCE_VERSION:=3af931b0b6545757aaeadb13f9bb9da0296fc172
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
PKG_MIRROR_MD5SUM:=2c4161638d4ff3343e250321126d29e6
PKG_CAT:=zcat

View File

@ -0,0 +1,31 @@
From: Jo-Philipp Wich <jo@mein.io>
Date: Sun, 14 Aug 2016 22:18:53 +0200
Subject: tools: make_ext4fs: support creating empty filesystem images
Update make_ext4fs to latest git head in order to support creating empty
filesystem images by making the source directory argument optional.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
diff --git a/tools/make-ext4fs/Makefile b/tools/make-ext4fs/Makefile
index 553e6cd752f396377d3ce81738223c1d685fc747..a880dd4c57fd4bb34290c512565675d3dcd0da07 100644
--- a/tools/make-ext4fs/Makefile
+++ b/tools/make-ext4fs/Makefile
@@ -8,14 +8,14 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=make-ext4fs
-PKG_VERSION:=2016-05-05
+PKG_VERSION:=2016-08-14
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://git.openwrt.org/project/make_ext4fs.git
PKG_SOURCE_PROTO:=git
-PKG_SOURCE_VERSION:=3af931b0b6545757aaeadb13f9bb9da0296fc172
+PKG_SOURCE_VERSION:=484903e4332be6c317f531b008cb2a841a18c506
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
-PKG_MIRROR_MD5SUM:=2c4161638d4ff3343e250321126d29e6
+PKG_MIRROR_MD5SUM:=b80d6ddcd6f6925e2f5b80775bb96f3e
PKG_CAT:=zcat
HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/$(PKG_NAME)-$(PKG_VERSION)

View File

@ -0,0 +1,18 @@
From: John Crispin <blogic@openwrt.org>
Date: Wed, 27 Apr 2016 01:33:14 +0200
Subject: include: add lede git server url
Signed-off-by: John Crispin <john@phrozen.org>
diff --git a/include/download.mk b/include/download.mk
index 130bbc57ba89b4ad0b8e8600f45bf553ad6ecfa1..430ef3a92de1d0d98593d3d676370b20e05f8fd1 100644
--- a/include/download.mk
+++ b/include/download.mk
@@ -6,6 +6,7 @@
#
OPENWRT_GIT = http://git.openwrt.org
+LEDE_GIT = http://git.lede-project.org
DOWNLOAD_RDEP=$(STAMP_PREPARED) $(HOST_STAMP_PREPARED)

View File

@ -0,0 +1,23 @@
From: Jo-Philipp Wich <jo@mein.io>
Date: Sun, 29 May 2016 15:40:51 +0200
Subject: download.mk: use HTTPS for git.lede-project.org
Some Git versions have issues following the HTTP->HTTPS redirect and since
the keyring package is fetched from this host, switching to HTTPS is a
sensible choice anyway.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
diff --git a/include/download.mk b/include/download.mk
index 430ef3a92de1d0d98593d3d676370b20e05f8fd1..d8074855f87ef3f269f99050911f2dd167812226 100644
--- a/include/download.mk
+++ b/include/download.mk
@@ -6,7 +6,7 @@
#
OPENWRT_GIT = http://git.openwrt.org
-LEDE_GIT = http://git.lede-project.org
+LEDE_GIT = https://git.lede-project.org
DOWNLOAD_RDEP=$(STAMP_PREPARED) $(HOST_STAMP_PREPARED)

View File

@ -0,0 +1,30 @@
From: Jo-Philipp Wich <jo@mein.io>
Date: Fri, 5 Jan 2018 10:43:55 +0100
Subject: downloads.mk: introduce name-agnostic PROJECT_GIT variable
Introduce a name-agnostic PROJECT_GIT variable poiting to
https://git.openwrt.org/ and declare LEDE_GIT and OPENWRT_GIT
as aliases to it.
After some transition time we can drop this alias variables.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 4700544e4068cb72932148ac1ecd294ca1388671)
diff --git a/include/download.mk b/include/download.mk
index d8074855f87ef3f269f99050911f2dd167812226..2aa75ce2e4f98e850d761b9416963c7958df7c82 100644
--- a/include/download.mk
+++ b/include/download.mk
@@ -5,8 +5,10 @@
# See /LICENSE for more information.
#
-OPENWRT_GIT = http://git.openwrt.org
-LEDE_GIT = https://git.lede-project.org
+PROJECT_GIT = https://git.openwrt.org
+
+OPENWRT_GIT = $(PROJECT_GIT)
+LEDE_GIT = $(PROJECT_GIT)
DOWNLOAD_RDEP=$(STAMP_PREPARED) $(HOST_STAMP_PREPARED)

View File

@ -0,0 +1,19 @@
From: Jo-Philipp Wich <jo@mein.io>
Date: Sun, 14 Aug 2016 22:29:36 +0200
Subject: tools: make_ext4fs: switch to LEDE git mirror
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
diff --git a/tools/make-ext4fs/Makefile b/tools/make-ext4fs/Makefile
index a880dd4c57fd4bb34290c512565675d3dcd0da07..f74f602ec984a4b8ab407a16bf6ad5920eb802d8 100644
--- a/tools/make-ext4fs/Makefile
+++ b/tools/make-ext4fs/Makefile
@@ -11,7 +11,7 @@ PKG_NAME:=make-ext4fs
PKG_VERSION:=2016-08-14
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=http://git.openwrt.org/project/make_ext4fs.git
+PKG_SOURCE_URL=$(LEDE_GIT)/project/make_ext4fs.git
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=484903e4332be6c317f531b008cb2a841a18c506
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)

View File

@ -0,0 +1,200 @@
From: Hauke Mehrtens <hauke@hauke-m.de>
Date: Sat, 5 Dec 2015 15:44:58 +0000
Subject: update mtd-utils to 1.5.2
- update mtd-utils to 1.5.2 (git a494d30ab1ae40cb7665680cadf5af3ca3830a73)
- remove patches that went upstream
- fixes build from scratch as of broken patches
Signed-off-by: Sven Roederer <devel-sven@geroedel.de>
[use the final version of 1.5.2 instead, fix header of jffs2_lzma_(de,)compress()]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 47790
diff --git a/tools/mtd-utils/Makefile b/tools/mtd-utils/Makefile
index b4c9c662b25f3d87cef26ff6c59e137ccb3104b7..2db629419b98adbee8e78c2527b44386aa526056 100644
--- a/tools/mtd-utils/Makefile
+++ b/tools/mtd-utils/Makefile
@@ -7,14 +7,14 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=mtd-utils
-PKG_VERSION:=1.5.1
+PKG_VERSION:=1.5.2
-PKG_SOURCE_VERSION:=92686f212c9a4e16891c6a3c57629cbf4f0f8360
+PKG_SOURCE_VERSION:=aea36417067dade75192bafa03af70b6eb2677b1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_SOURCE_URL:=git://git.infradead.org/mtd-utils.git
PKG_SOURCE_PROTO:=git
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
-PKG_MIRROR_MD5SUM:=9fe0518213feddacd1842935dddeb6c8
+PKG_MIRROR_MD5SUM:=
PKG_CAT:=zcat
HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/$(PKG_NAME)-$(PKG_VERSION)
diff --git a/tools/mtd-utils/patches/110-portability.patch b/tools/mtd-utils/patches/110-portability.patch
index 4ad209a449191bfec3d54fb7dc349af06d039051..c4cdab928aea66b3d4beeeb5629aac1ead87ed7f 100644
--- a/tools/mtd-utils/patches/110-portability.patch
+++ b/tools/mtd-utils/patches/110-portability.patch
@@ -150,27 +150,6 @@
#include <inttypes.h>
#include "version.h"
-@@ -117,11 +116,6 @@ extern "C" {
- fprintf(stderr, "%s: warning!: " fmt "\n", PROGRAM_NAME, ##__VA_ARGS__); \
- } while(0)
-
--#if defined(__UCLIBC__)
--/* uClibc versions before 0.9.34 don't have rpmatch() */
--#if __UCLIBC_MAJOR__ == 0 && \
-- (__UCLIBC_MINOR__ < 9 || \
-- (__UCLIBC_MINOR__ == 9 && __UCLIBC_SUBLEVEL__ < 34))
- #undef rpmatch
- #define rpmatch __rpmatch
- static inline int __rpmatch(const char *resp)
-@@ -129,8 +123,6 @@ static inline int __rpmatch(const char *
- return (resp[0] == 'y' || resp[0] == 'Y') ? 1 :
- (resp[0] == 'n' || resp[0] == 'N') ? 0 : -1;
- }
--#endif
--#endif
-
- /**
- * prompt the user for confirmation
--- a/include/mtd/ubifs-media.h
+++ b/include/mtd/ubifs-media.h
@@ -33,7 +33,15 @@
diff --git a/tools/mtd-utils/patches/130-lzma_jffs2.patch b/tools/mtd-utils/patches/130-lzma_jffs2.patch
index 17f9978bef186a6a2fc088c58d1c31b7ce5b4fcb..b04f01992266386b979471629ceb2ef99d4df908 100644
--- a/tools/mtd-utils/patches/130-lzma_jffs2.patch
+++ b/tools/mtd-utils/patches/130-lzma_jffs2.patch
@@ -1,7 +1,7 @@
--- a/Makefile
+++ b/Makefile
@@ -4,6 +4,7 @@
- VERSION = 1.5.1
+ VERSION = 1.5.2
CPPFLAGS += -D_GNU_SOURCE -I./include -I$(BUILDDIR)/include -I./ubi-utils/include $(ZLIBCPPFLAGS) $(LZOCPPFLAGS) $(UUIDCPPFLAGS)
+CPPFLAGS += -I./include/linux/lzma
@@ -123,7 +123,7 @@
+}
+
+STATIC int jffs2_lzma_compress(unsigned char *data_in, unsigned char *cpage_out,
-+ uint32_t *sourcelen, uint32_t *dstlen, void *model)
++ uint32_t *sourcelen, uint32_t *dstlen)
+{
+ SizeT compress_size = (SizeT)(*dstlen);
+ int ret;
@@ -148,7 +148,7 @@
+}
+
+STATIC int jffs2_lzma_decompress(unsigned char *data_in, unsigned char *cpage_out,
-+ uint32_t srclen, uint32_t destlen, void *model)
++ uint32_t srclen, uint32_t destlen)
+{
+ int ret;
+ SizeT dl = (SizeT)destlen;
diff --git a/tools/mtd-utils/patches/136-mkfs.ubifs-xz-support.patch b/tools/mtd-utils/patches/136-mkfs.ubifs-xz-support.patch
index d97c244fafb86496efb85ef0db3a661a4465582f..e8b491b3cebe56ccfb0a454fabb055fef9cf8f78 100644
--- a/tools/mtd-utils/patches/136-mkfs.ubifs-xz-support.patch
+++ b/tools/mtd-utils/patches/136-mkfs.ubifs-xz-support.patch
@@ -1,7 +1,7 @@
--- a/Makefile
+++ b/Makefile
@@ -4,7 +4,7 @@
- VERSION = 1.5.1
+ VERSION = 1.5.2
CPPFLAGS += -D_GNU_SOURCE -I./include -I$(BUILDDIR)/include -I./ubi-utils/include $(ZLIBCPPFLAGS) $(LZOCPPFLAGS) $(UUIDCPPFLAGS)
-CPPFLAGS += -I./include/linux/lzma
diff --git a/tools/mtd-utils/patches/137-no_extern_inline.patch b/tools/mtd-utils/patches/137-no_extern_inline.patch
deleted file mode 100644
index d871d670d294797dac288968d82a1cd9132fc129..0000000000000000000000000000000000000000
--- a/tools/mtd-utils/patches/137-no_extern_inline.patch
+++ /dev/null
@@ -1,41 +0,0 @@
---- a/mkfs.ubifs/hashtable/hashtable_itr.c
-+++ b/mkfs.ubifs/hashtable/hashtable_itr.c
-@@ -35,18 +35,6 @@ hashtable_iterator(struct hashtable *h)
- }
-
- /*****************************************************************************/
--/* key - return the key of the (key,value) pair at the current position */
--/* value - return the value of the (key,value) pair at the current position */
--
--void *
--hashtable_iterator_key(struct hashtable_itr *i)
--{ return i->e->k; }
--
--void *
--hashtable_iterator_value(struct hashtable_itr *i)
--{ return i->e->v; }
--
--/*****************************************************************************/
- /* advance - advance the iterator to the next element
- * returns zero if advanced to end of table */
-
---- a/mkfs.ubifs/hashtable/hashtable_itr.h
-+++ b/mkfs.ubifs/hashtable/hashtable_itr.h
-@@ -28,7 +28,7 @@ hashtable_iterator(struct hashtable *h);
- /* hashtable_iterator_key
- * - return the value of the (key,value) pair at the current position */
-
--extern inline void *
-+static inline void *
- hashtable_iterator_key(struct hashtable_itr *i)
- {
- return i->e->k;
-@@ -37,7 +37,7 @@ hashtable_iterator_key(struct hashtable_
- /*****************************************************************************/
- /* value - return the value of the (key,value) pair at the current position */
-
--extern inline void *
-+static inline void *
- hashtable_iterator_value(struct hashtable_itr *i)
- {
- return i->e->v;
diff --git a/tools/mtd-utils/patches/300-libfec_use_standard_unsigned_long.patch b/tools/mtd-utils/patches/300-libfec_use_standard_unsigned_long.patch
deleted file mode 100644
index 73a68b5860928ed9afb737d85995748346e0085a..0000000000000000000000000000000000000000
--- a/tools/mtd-utils/patches/300-libfec_use_standard_unsigned_long.patch
+++ /dev/null
@@ -1,35 +0,0 @@
---- a/lib/libfec.c
-+++ b/lib/libfec.c
-@@ -61,8 +61,6 @@ struct timeval {
- };
- #define gettimeofday(x, dummy) { (x)->ticks = clock() ; }
- #define DIFF_T(a,b) (1+ 1000000*(a.ticks - b.ticks) / CLOCKS_PER_SEC )
--typedef unsigned long u_long ;
--typedef unsigned short u_short ;
- #else /* typically, unix systems */
- #include <sys/time.h>
- #define DIFF_T(a,b) \
-@@ -75,12 +73,12 @@ typedef unsigned short u_short ;
- t = x.tv_usec + 1000000* (x.tv_sec & 0xff ) ; \
- }
- #define TOCK(t) \
-- { u_long t1 ; TICK(t1) ; \
-+ { unsigned long t1 ; TICK(t1) ; \
- if (t1 < t) t = 256000000 + t1 - t ; \
- else t = t1 - t ; \
- if (t == 0) t = 1 ;}
-
--u_long ticks[10]; /* vars for timekeeping */
-+unsigned long ticks[10]; /* vars for timekeeping */
- #else
- #define DEB(x)
- #define DDB(x)
-@@ -625,7 +623,7 @@ init_fec(void)
- #define FEC_MAGIC 0xFECC0DEC
-
- struct fec_parms {
-- u_long magic ;
-+ unsigned long magic ;
- int k, n ; /* parameters of the code */
- gf *enc_matrix ;
- } ;

View File

@ -0,0 +1,200 @@
From: John Crispin <john@openwrt.org>
Date: Thu, 10 Mar 2016 19:11:51 +0000
Subject: tools/findutils: Update to 4.6.0
Update GNU findutils to the new stable version 4.6.0
Remove the patch for 32-bit buildhosts as the issue is fixed upstream.
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
SVN-Revision: 48991
diff --git a/tools/findutils/Makefile b/tools/findutils/Makefile
index 970cff81464df69d593af5725c56eb8407a2b600..188257925e613dc2e5302c442c939ae2fa7fc8fb 100644
--- a/tools/findutils/Makefile
+++ b/tools/findutils/Makefile
@@ -1,5 +1,5 @@
#
-# Copyright (C) 2006-2013 OpenWrt.org
+# Copyright (C) 2006-2016 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
@@ -7,11 +7,11 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=findutils
-PKG_VERSION:=4.4.2
+PKG_VERSION:=4.6.0
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=@GNU/$(PKG_NAME)
-PKG_MD5SUM:=351cc4adb07d54877fa15f75fb77d39f
+PKG_MD5SUM:=9936aa8009438ce185bea2694a997fc1
HOST_BUILD_PARALLEL:=1
diff --git a/tools/findutils/patches/21-Fix-time_t-vs-long-int-mismatches.patch b/tools/findutils/patches/21-Fix-time_t-vs-long-int-mismatches.patch
deleted file mode 100644
index f3ebb0520b8d0a12fbd2dd61bdf1722e10033d8a..0000000000000000000000000000000000000000
--- a/tools/findutils/patches/21-Fix-time_t-vs-long-int-mismatches.patch
+++ /dev/null
@@ -1,158 +0,0 @@
->From 0078a6c784da339cc529b4f0bf1156ca52692e4c Mon Sep 17 00:00:00 2001
-From: Adam Borowski <kilobyte@angband.pl>
-Date: Thu, 6 Jun 2013 18:41:53 +0000
-Subject: [PATCH] Fix time_t vs long int mismatches.
-
-Old gnulibs used randomly either time_t or long int, with a compile-time
-assert to ensure sizeof(time_t) <= sizeof(long int). This is not the
-case on x32 where the machine word is 32 bit, yet time_t is 64 bit to
-be able to handle dates after 2038.
-
-This is not relevant for modern versions of gnulib which has rewritten
-this code, but, sadly, findutils 4.4.* uses an embedded copy of ancient
-gnulib.
----
- gnulib/lib/getdate.y | 46 ++++++++++++++++++++++++----------------------
- 1 file changed, 24 insertions(+), 22 deletions(-)
-
-diff --git a/gnulib/lib/getdate.y b/gnulib/lib/getdate.y
-index e292f5e..347cc77 100644
---- a/gnulib/lib/getdate.y
-+++ b/gnulib/lib/getdate.y
-@@ -112,16 +112,18 @@
- /* Lots of this code assumes time_t and time_t-like values fit into
- long int. It also assumes that signed integer overflow silently
- wraps around, but there's no portable way to check for that at
-- compile-time. */
-+ compile-time.
-+ [1KB]: replaced suspicious uses of long_t by time_t.
- verify (TYPE_IS_INTEGER (time_t));
- verify (LONG_MIN <= TYPE_MINIMUM (time_t) && TYPE_MAXIMUM (time_t) <= LONG_MAX);
-+*/
-
- /* An integer value, and the number of digits in its textual
- representation. */
- typedef struct
- {
- bool negative;
-- long int value;
-+ time_t value;
- size_t digits;
- } textint;
-
-@@ -206,7 +208,7 @@ typedef struct
- union YYSTYPE;
- static int yylex (union YYSTYPE *, parser_control *);
- static int yyerror (parser_control const *, char const *);
--static long int time_zone_hhmm (textint, long int);
-+static time_t time_zone_hhmm (textint, time_t);
-
- /* Extract into *PC any date and time info from a string of digits
- of the form e.g., YYYYMMDD, YYMMDD, HHMM, HH (and sometimes YYY,
-@@ -817,8 +819,8 @@ static table const military_table[] =
- minutes. If MM is negative, then S is of the form HHMM and needs
- to be picked apart; otherwise, S is of the form HH. */
-
--static long int
--time_zone_hhmm (textint s, long int mm)
-+static time_t
-+time_zone_hhmm (textint s, time_t mm)
- {
- if (mm < 0)
- return (s.value / 100) * 60 + s.value % 100;
-@@ -884,7 +886,7 @@ lookup_zone (parser_control const *pc, char const *name)
- measured in seconds, ignoring leap seconds.
- The body of this function is taken directly from the GNU C Library;
- see src/strftime.c. */
--static long int
-+static time_t
- tm_diff (struct tm const *a, struct tm const *b)
- {
- /* Compute intervening leap days correctly even if year is negative.
-@@ -896,9 +898,9 @@ tm_diff (struct tm const *a, struct tm const *b)
- int a400 = SHR (a100, 2);
- int b400 = SHR (b100, 2);
- int intervening_leap_days = (a4 - b4) - (a100 - b100) + (a400 - b400);
-- long int ayear = a->tm_year;
-- long int years = ayear - b->tm_year;
-- long int days = (365 * years + intervening_leap_days
-+ time_t ayear = a->tm_year;
-+ time_t years = ayear - b->tm_year;
-+ time_t int days = (365 * years + intervening_leap_days
- + (a->tm_yday - b->tm_yday));
- return (60 * (60 * (24 * days + (a->tm_hour - b->tm_hour))
- + (a->tm_min - b->tm_min))
-@@ -1200,7 +1202,7 @@ bool
- get_date (struct timespec *result, char const *p, struct timespec const *now)
- {
- time_t Start;
-- long int Start_ns;
-+ time_t Start_ns;
- struct tm const *tmp;
- struct tm tm;
- struct tm tm0;
-@@ -1407,16 +1409,16 @@ get_date (struct timespec *result, char const *p, struct timespec const *now)
- problem, set the time zone to 1 hour behind UTC temporarily
- by setting TZ="XXX1:00" and try mktime again. */
-
-- long int time_zone = pc.time_zone;
-- long int abs_time_zone = time_zone < 0 ? - time_zone : time_zone;
-- long int abs_time_zone_hour = abs_time_zone / 60;
-+ time_t time_zone = pc.time_zone;
-+ time_t abs_time_zone = time_zone < 0 ? - time_zone : time_zone;
-+ time_t abs_time_zone_hour = abs_time_zone / 60;
- int abs_time_zone_min = abs_time_zone % 60;
- char tz1buf[sizeof "XXX+0:00"
- + sizeof pc.time_zone * CHAR_BIT / 3];
- if (!tz_was_altered)
- tz0 = get_tz (tz0buf);
- sprintf (tz1buf, "XXX%s%ld:%02d", "-" + (time_zone < 0),
-- abs_time_zone_hour, abs_time_zone_min);
-+ (long int)abs_time_zone_hour, abs_time_zone_min);
- if (setenv ("TZ", tz1buf, 1) != 0)
- goto fail;
- tz_was_altered = true;
-@@ -1439,7 +1441,7 @@ get_date (struct timespec *result, char const *p, struct timespec const *now)
-
- if (pc.zones_seen)
- {
-- long int delta = pc.time_zone * 60;
-+ time_t delta = pc.time_zone * 60;
- time_t t1;
- #ifdef HAVE_TM_GMTOFF
- delta -= tm.tm_gmtoff;
-@@ -1486,16 +1488,16 @@ get_date (struct timespec *result, char const *p, struct timespec const *now)
- must be applied before relative times, and if mktime is applied
- again the time zone will be lost. */
- {
-- long int sum_ns = pc.seconds.tv_nsec + pc.rel.ns;
-- long int normalized_ns = (sum_ns % BILLION + BILLION) % BILLION;
-+ time_t sum_ns = pc.seconds.tv_nsec + pc.rel.ns;
-+ time_t normalized_ns = (sum_ns % BILLION + BILLION) % BILLION;
- time_t t0 = Start;
-- long int d1 = 60 * 60 * pc.rel.hour;
-+ time_t d1 = 60 * 60 * pc.rel.hour;
- time_t t1 = t0 + d1;
-- long int d2 = 60 * pc.rel.minutes;
-+ time_t d2 = 60 * pc.rel.minutes;
- time_t t2 = t1 + d2;
-- long int d3 = pc.rel.seconds;
-+ time_t d3 = pc.rel.seconds;
- time_t t3 = t2 + d3;
-- long int d4 = (sum_ns - normalized_ns) / BILLION;
-+ time_t d4 = (sum_ns - normalized_ns) / BILLION;
- time_t t4 = t3 + d4;
-
- if ((d1 / (60 * 60) ^ pc.rel.hour)
-@@ -1542,7 +1544,7 @@ main (int ac, char **av)
- printf ("Bad format - couldn't convert.\n");
- else if (! (tm = localtime (&d.tv_sec)))
- {
-- long int sec = d.tv_sec;
-+ time_t sec = d.tv_sec;
- printf ("localtime (%ld) failed\n", sec);
- }
- else
---
-1.8.3.rc3
-

View File

@ -0,0 +1,43 @@
From: Jo-Philipp Wich <jow@openwrt.org>
Date: Thu, 25 Jun 2015 11:19:23 +0000
Subject: grub2: fix build against musl
Invert the `__GLIBC__` guards into `!__UCLIBC__` ones to avoid
invalid references to `_llseek` on musl.
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
SVN-Revision: 46125
diff --git a/package/boot/grub2/patches/100-musl-compat.patch b/package/boot/grub2/patches/100-musl-compat.patch
new file mode 100644
index 0000000000000000000000000000000000000000..e3b12be58a24840f4dde269f9a515dd30f7df627
--- /dev/null
+++ b/package/boot/grub2/patches/100-musl-compat.patch
@@ -0,0 +1,26 @@
+--- a/grub-core/osdep/unix/hostdisk.c
++++ b/grub-core/osdep/unix/hostdisk.c
+@@ -48,11 +48,10 @@
+ #ifdef __linux__
+ # include <sys/ioctl.h> /* ioctl */
+ # include <sys/mount.h>
+-# if !defined(__GLIBC__) || \
+- ((__GLIBC__ < 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ < 1)))
++# if defined(__UCLIBC__)
+ /* Maybe libc doesn't have large file support. */
+ # include <linux/unistd.h> /* _llseek */
+-# endif /* (GLIBC < 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR < 1)) */
++# endif /* __UCLIBC__ */
+ #endif /* __linux__ */
+
+ grub_uint64_t
+@@ -79,8 +78,7 @@ grub_util_get_fd_size (grub_util_fd_t fd
+ return st.st_size;
+ }
+
+-#if defined(__linux__) && (!defined(__GLIBC__) || \
+- ((__GLIBC__ < 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ < 1))))
++#if defined(__linux__) && defined(__UCLIBC__)
+ /* Maybe libc doesn't have large file support. */
+ int
+ grub_util_fd_seek (grub_util_fd_t fd, grub_uint64_t off)

View File

@ -0,0 +1,29 @@
From: Jo-Philipp Wich <jow@openwrt.org>
Date: Thu, 25 Jun 2015 11:20:39 +0000
Subject: grub2: disable stack-protector
- enabling "-fstack-protector" results in build errors
- Upstream explicitly tests & disables it
v2:
- use override
reference: upstream commit baa2a121e004a95a12e2bb7f2419de6625a30c2d
Signed-off-by: Dirk Neukirchen <dirkneukirchen@web.de>
SVN-Revision: 46126
diff --git a/package/boot/grub2/Makefile b/package/boot/grub2/Makefile
index 203e426b7705026a4c4c94adfdfa9df35ecc731c..3601dd86a9789c9788e7cdd4a9d029b0a239ebf7 100644
--- a/package/boot/grub2/Makefile
+++ b/package/boot/grub2/Makefile
@@ -22,6 +22,8 @@ PKG_MD5SUM:=be62932eade308a364ea4bbc91295930
HOST_BUILD_PARALLEL:=1
PKG_BUILD_DEPENDS:=grub2/host
+PKG_SSP:=0
+
include $(INCLUDE_DIR)/host-build.mk
include $(INCLUDE_DIR)/package.mk

View File

@ -0,0 +1,21 @@
From: Felix Fietkau <nbd@openwrt.org>
Date: Thu, 21 Jan 2016 11:46:18 +0000
Subject: grub2: switch back to installing to STAGING_DIR_HOST
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 48424
diff --git a/package/boot/grub2/Makefile b/package/boot/grub2/Makefile
index 3601dd86a9789c9788e7cdd4a9d029b0a239ebf7..92e2ba81438278775215d10c27d37b4cbce65d2b 100644
--- a/package/boot/grub2/Makefile
+++ b/package/boot/grub2/Makefile
@@ -48,6 +48,8 @@ define Package/grub2-editenv/description
Edit grub2 environment files.
endef
+HOST_BUILD_PREFIX := $(STAGING_DIR_HOST)
+
CONFIGURE_ARGS += \
--target=$(REAL_GNU_TARGET_NAME) \
--disable-werror \

View File

@ -0,0 +1,35 @@
From: Alberto Bursi <alberto.bursi@outlook.it>
Date: Sun, 23 Oct 2016 21:04:49 +0200
Subject: grub2: move to Boot Loaders category
because boot loaders are in Boot Loaders, not in Utilities -> Boot Loaders
Also moved brub2-editenv in Utilities -> Boot Loaders
Part of a wider housekeeping effort on the packages repository.
Signed-off-by: Alberto Bursi <alberto.bursi@outlook.it>
diff --git a/package/boot/grub2/Makefile b/package/boot/grub2/Makefile
index 92e2ba81438278775215d10c27d37b4cbce65d2b..4ed110e38e67ed30f609be0049c1e74d2c5ee455 100644
--- a/package/boot/grub2/Makefile
+++ b/package/boot/grub2/Makefile
@@ -28,9 +28,7 @@ include $(INCLUDE_DIR)/host-build.mk
include $(INCLUDE_DIR)/package.mk
define Package/grub2
- SUBMENU:=Boot Loaders
- CATEGORY:=Utilities
- SECTION:=utils
+  CATEGORY:=Boot Loaders
TITLE:=GRand Unified Bootloader
URL:=http://www.gnu.org/software/grub/
DEPENDS:=@TARGET_x86||TARGET_x86_64
@@ -39,6 +37,7 @@ endef
define Package/grub2-editenv
CATEGORY:=Utilities
SECTION:=utils
+ SUBMENU:=Boot Loaders
TITLE:=Grub2 Environment editor
URL:=http://www.gnu.org/software/grub/
DEPENDS:=@TARGET_x86||TARGET_x86_64

View File

@ -0,0 +1,24 @@
From: Jo-Philipp Wich <jo@mein.io>
Date: Wed, 26 Oct 2016 17:51:44 +0200
Subject: grub2: add missing SECTION variable and remove non breaking space
Fix metadata scan failure in the grub2 package by removing an unexpected
invisible space character and by adding back the missing SECTION variable
which was removed with d140648.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
diff --git a/package/boot/grub2/Makefile b/package/boot/grub2/Makefile
index 4ed110e38e67ed30f609be0049c1e74d2c5ee455..02e6637c32c5cd335a8622cd1a8e16cc15ed42ba 100644
--- a/package/boot/grub2/Makefile
+++ b/package/boot/grub2/Makefile
@@ -28,7 +28,8 @@ include $(INCLUDE_DIR)/host-build.mk
include $(INCLUDE_DIR)/package.mk
define Package/grub2
-  CATEGORY:=Boot Loaders
+ CATEGORY:=Boot Loaders
+ SECTION:=boot
TITLE:=GRand Unified Bootloader
URL:=http://www.gnu.org/software/grub/
DEPENDS:=@TARGET_x86||TARGET_x86_64

View File

@ -0,0 +1,41 @@
From: Alexandru Ardelean <ardeleanalex@gmail.com>
Date: Thu, 17 Nov 2016 18:25:52 +0200
Subject: grub2: add PKG_FIXUP:=autoreconf
The host-side build of grub2 requires this sometimes.
This will re-generate the ./configure script from configure.ac.
I don't know the conditions of how this reproduces, it just
sometimes appears, and sometimes doesn't.
Build error
```
<lede-dir>/build_dir/target-x86_64_musl-1.1.15_yogi/host/grub-2.02~beta2/build-aux/missing: line 81: aclocal-1.14: command not found
WARNING: 'aclocal-1.14' is missing on your system.
You should only need it if you modified 'acinclude.m4' or
'configure.ac' or m4 files included by 'configure.ac'.
The 'aclocal' program is part of the GNU Automake package:
<http://www.gnu.org/software/automake>
It also requires GNU Autoconf, GNU m4 and Perl in order to run:
<http://www.gnu.org/software/autoconf>
<http://www.gnu.org/software/m4/>
<http://www.perl.org/>
Makefile:3962: recipe for target 'aclocal.m4' failed
```
Adding PKG_FIXUP adds sanity (i.e. autoreconf is used for host & target
builds) over just using HOST_FIXUP.
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
diff --git a/package/boot/grub2/Makefile b/package/boot/grub2/Makefile
index 02e6637c32c5cd335a8622cd1a8e16cc15ed42ba..af97a31cda4053dd19e9643151b8da8ab4ee7a0f 100644
--- a/package/boot/grub2/Makefile
+++ b/package/boot/grub2/Makefile
@@ -19,6 +19,7 @@ PKG_SOURCE_URL:=http://alpha.gnu.org/gnu/grub \
http://www.nic.funet.fi/pub/gnu/alpha/gnu/grub/
PKG_MD5SUM:=be62932eade308a364ea4bbc91295930
+PKG_FIXUP:=autoreconf
HOST_BUILD_PARALLEL:=1
PKG_BUILD_DEPENDS:=grub2/host

View File

@ -0,0 +1,22 @@
From: John Crispin <john@phrozen.org>
Date: Mon, 21 Nov 2016 16:49:07 +0100
Subject: Revert "grub2: add PKG_FIXUP:=autoreconf"
this caused build errors on x86
This reverts commit a0ea22ac430f91ab045431a79b2e2161e66cd56a.
Signed-off-by: John Crispin <john@phrozen.org>
diff --git a/package/boot/grub2/Makefile b/package/boot/grub2/Makefile
index af97a31cda4053dd19e9643151b8da8ab4ee7a0f..02e6637c32c5cd335a8622cd1a8e16cc15ed42ba 100644
--- a/package/boot/grub2/Makefile
+++ b/package/boot/grub2/Makefile
@@ -19,7 +19,6 @@ PKG_SOURCE_URL:=http://alpha.gnu.org/gnu/grub \
http://www.nic.funet.fi/pub/gnu/alpha/gnu/grub/
PKG_MD5SUM:=be62932eade308a364ea4bbc91295930
-PKG_FIXUP:=autoreconf
HOST_BUILD_PARALLEL:=1
PKG_BUILD_DEPENDS:=grub2/host

View File

@ -0,0 +1,54 @@
From: Daniel Engberg <daniel.engberg.lists@pyret.net>
Date: Tue, 4 Oct 2016 07:28:54 -0500
Subject: source: Switch to xz for packages and tools where possible
* Change git packages to xz
* Update mirror checksums in packages where they are used
* Change a few source tarballs to xz if available upstream
* Remove unused lines in packages we're touching, requested by jow- and blogic
* We're relying more on xz-utils so add official mirror as primary source, master site as secondary.
* Add SHA256 checksums to multiple git tarball packages
[linus.luessing@c0d3.blue: backport,
e2fsprogs/bison/m4/make-ext4fs/mtd-utils only]
Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
diff --git a/tools/make-ext4fs/Makefile b/tools/make-ext4fs/Makefile
index f74f602ec984a4b8ab407a16bf6ad5920eb802d8..20cf6cfb60dde8db8a6ce3c5dfe0807822a899e7 100644
--- a/tools/make-ext4fs/Makefile
+++ b/tools/make-ext4fs/Makefile
@@ -10,13 +10,12 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=make-ext4fs
PKG_VERSION:=2016-08-14
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL=$(LEDE_GIT)/project/make_ext4fs.git
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=484903e4332be6c317f531b008cb2a841a18c506
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
-PKG_MIRROR_MD5SUM:=b80d6ddcd6f6925e2f5b80775bb96f3e
-PKG_CAT:=zcat
+PKG_MIRROR_MD5SUM:=5a4473e58dcaed1f41c2391d2326a67af356ca9a3a075fc3486d95276fb9a400
HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/$(PKG_NAME)-$(PKG_VERSION)
diff --git a/tools/mtd-utils/Makefile b/tools/mtd-utils/Makefile
index 2db629419b98adbee8e78c2527b44386aa526056..73301975a699b9d95bc203be202c3409b3f70f64 100644
--- a/tools/mtd-utils/Makefile
+++ b/tools/mtd-utils/Makefile
@@ -10,12 +10,11 @@ PKG_NAME:=mtd-utils
PKG_VERSION:=1.5.2
PKG_SOURCE_VERSION:=aea36417067dade75192bafa03af70b6eb2677b1
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.xz
PKG_SOURCE_URL:=git://git.infradead.org/mtd-utils.git
PKG_SOURCE_PROTO:=git
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
-PKG_MIRROR_MD5SUM:=
-PKG_CAT:=zcat
+PKG_MIRROR_MD5SUM:=e11b342b85a36b2e438a8412ec52f87621d3046aec1a93039f8c72de9990b2a7
HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/$(PKG_NAME)-$(PKG_VERSION)

View File

@ -0,0 +1,128 @@
From: Felix Fietkau <nbd@nbd.name>
Date: Fri, 16 Dec 2016 17:32:10 +0100
Subject: treewide: clean up download hashes
Replace *MD5SUM with *HASH, replace MD5 hashes with SHA256
[linus.luessing@c0d3.blue: backport, for these tools only:
e2fsprogs, bison, m4, make_ext4fs, mtd-utils, findutils,
squashfs, squashfs4, grub2]
Signed-off-by: Felix Fietkau <nbd@nbd.name>
diff --git a/package/boot/grub2/Makefile b/package/boot/grub2/Makefile
index 02e6637c32c5cd335a8622cd1a8e16cc15ed42ba..75f5e826c1828ea8209c649a98adf9cccf631840 100644
--- a/package/boot/grub2/Makefile
+++ b/package/boot/grub2/Makefile
@@ -17,7 +17,7 @@ PKG_SOURCE_URL:=http://alpha.gnu.org/gnu/grub \
http://gnualpha.uib.no/grub/ \
http://mirrors.fe.up.pt/pub/gnu-alpha/grub/ \
http://www.nic.funet.fi/pub/gnu/alpha/gnu/grub/
-PKG_MD5SUM:=be62932eade308a364ea4bbc91295930
+PKG_HASH:=f6c702b2a8ea58f27a2b02928bb77973cb5a827af08f63db38c471c0a01b418d
HOST_BUILD_PARALLEL:=1
PKG_BUILD_DEPENDS:=grub2/host
diff --git a/tools/bison/Makefile b/tools/bison/Makefile
index b8ad32c561f2d95ade66465cefb5eeaec74f64c2..af5737c552384f2cfec919d0379ccd64e7d5ccbe 100644
--- a/tools/bison/Makefile
+++ b/tools/bison/Makefile
@@ -11,7 +11,7 @@ PKG_VERSION:=3.0.4
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=@GNU/$(PKG_NAME)
-PKG_MD5SUM:=c342201de104cc9ce0a21e0ad10d4021
+PKG_HASH:=a72428c7917bdf9fa93cb8181c971b6e22834125848cf1d03ce10b1bb0716fe1
HOST_BUILD_PARALLEL:=1
diff --git a/tools/e2fsprogs/Makefile b/tools/e2fsprogs/Makefile
index ffe1782eb130dd4e3799bf8b36a9575222eb8831..fca90f2091b91dfde8a980e48a871dc8693551c2 100644
--- a/tools/e2fsprogs/Makefile
+++ b/tools/e2fsprogs/Makefile
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=e2fsprogs
PKG_VERSION:=1.43.3
-PKG_MD5SUM:=ec0cd4faac71b2fcf9f73733e4d50ead
+PKG_HASH:=ce8ef1bbb0d4730f170167284fda156ac9d6bf18db2750eb94af619a81b19927
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
diff --git a/tools/findutils/Makefile b/tools/findutils/Makefile
index 188257925e613dc2e5302c442c939ae2fa7fc8fb..b07c53d9f674e88fbac0d00b363e1b615125d2ac 100644
--- a/tools/findutils/Makefile
+++ b/tools/findutils/Makefile
@@ -11,7 +11,7 @@ PKG_VERSION:=4.6.0
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=@GNU/$(PKG_NAME)
-PKG_MD5SUM:=9936aa8009438ce185bea2694a997fc1
+PKG_HASH:=ded4c9f73731cd48fec3b6bdaccce896473b6d8e337e9612e16cf1431bb1169d
HOST_BUILD_PARALLEL:=1
diff --git a/tools/m4/Makefile b/tools/m4/Makefile
index 47c332123be4e2cd1a0f8c2c54ff85b8ec183050..6fe9e0b6e695924e0919fdd5158ce9db2919198c 100644
--- a/tools/m4/Makefile
+++ b/tools/m4/Makefile
@@ -11,7 +11,7 @@ PKG_VERSION:=1.4.17
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=@GNU/$(PKG_NAME)
-PKG_MD5SUM:=12a3c829301a4fd6586a57d3fcf196dc
+PKG_HASH:=f0543c3beb51fa6b3337d8025331591e0e18d8ec2886ed391f1aade43477d508
PKG_CAT:=xzcat
HOST_BUILD_PARALLEL:=1
diff --git a/tools/make-ext4fs/Makefile b/tools/make-ext4fs/Makefile
index 20cf6cfb60dde8db8a6ce3c5dfe0807822a899e7..c9ea4eddab7ba18aae7f2496bce78e48b0f48203 100644
--- a/tools/make-ext4fs/Makefile
+++ b/tools/make-ext4fs/Makefile
@@ -15,7 +15,7 @@ PKG_SOURCE_URL=$(LEDE_GIT)/project/make_ext4fs.git
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=484903e4332be6c317f531b008cb2a841a18c506
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
-PKG_MIRROR_MD5SUM:=5a4473e58dcaed1f41c2391d2326a67af356ca9a3a075fc3486d95276fb9a400
+PKG_MIRROR_HASH:=5a4473e58dcaed1f41c2391d2326a67af356ca9a3a075fc3486d95276fb9a400
HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/$(PKG_NAME)-$(PKG_VERSION)
diff --git a/tools/mtd-utils/Makefile b/tools/mtd-utils/Makefile
index 73301975a699b9d95bc203be202c3409b3f70f64..4cee46e816ffcdd56c712c13f710a02f67651245 100644
--- a/tools/mtd-utils/Makefile
+++ b/tools/mtd-utils/Makefile
@@ -14,7 +14,7 @@ PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.xz
PKG_SOURCE_URL:=git://git.infradead.org/mtd-utils.git
PKG_SOURCE_PROTO:=git
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
-PKG_MIRROR_MD5SUM:=e11b342b85a36b2e438a8412ec52f87621d3046aec1a93039f8c72de9990b2a7
+PKG_MIRROR_HASH:=e11b342b85a36b2e438a8412ec52f87621d3046aec1a93039f8c72de9990b2a7
HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/$(PKG_NAME)-$(PKG_VERSION)
diff --git a/tools/squashfs/Makefile b/tools/squashfs/Makefile
index 88416bd95d48fd7b43ec08a8ce5e8bb16a75bbe2..27adca1d7f4a23435fa730c471dab7ec05851e93 100644
--- a/tools/squashfs/Makefile
+++ b/tools/squashfs/Makefile
@@ -11,7 +11,7 @@ PKG_VERSION:=3.0
PKG_SOURCE:=$(PKG_NAME)$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=@SF/squashfs
-PKG_MD5SUM:=9fd05d0bfbb712f5fb95edafea5bc733
+PKG_HASH:=39dbda43cf118536deb746c7730b468702d514a19f4cfab73b710e32908ddf20
PKG_CAT:=zcat
HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/$(PKG_NAME)$(PKG_VERSION)
diff --git a/tools/squashfs4/Makefile b/tools/squashfs4/Makefile
index 50b70fbe1c90108a3bb21beefce7cd4f928ad5e8..e2c9fc91ccb9341f737907f4a58779b1235e3942 100644
--- a/tools/squashfs4/Makefile
+++ b/tools/squashfs4/Makefile
@@ -11,7 +11,7 @@ PKG_VERSION:=4.2
PKG_SOURCE:=squashfs$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=@SF/squashfs
-PKG_MD5SUM:=1b7a781fb4cf8938842279bd3e8ee852
+PKG_HASH:=d9e0195aa922dbb665ed322b9aaa96e04a476ee650f39bbeadb0d00b24022e96
PKG_CAT:=zcat
HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/squashfs$(PKG_VERSION)

View File

@ -0,0 +1,40 @@
From: Felix Fietkau <nbd@openwrt.org>
Date: Sun, 3 Jan 2016 20:57:53 +0000
Subject: build: add pure make tolower/toupper funtions that do not require shell calls
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 48105
diff --git a/rules.mk b/rules.mk
index ece502609bd08af21be782a706f0bf6599895568..3aac5c770056ab1b2e84eb15d3bfdabd546df8a9 100644
--- a/rules.mk
+++ b/rules.mk
@@ -26,6 +26,11 @@ merge=$(subst $(space),,$(1))
confvar=$(call merge,$(foreach v,$(1),$(if $($(v)),y,n)))
strip_last=$(patsubst %.$(lastword $(subst .,$(space),$(1))),%,$(1))
+paren_left = (
+paren_right = )
+chars_lower = a b c d e f g h i j k l m n o p q r s t u v w x y z
+chars_upper = A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
+
define sep
endef
@@ -35,6 +40,15 @@ define newline
endef
+__tr_list = $(join $(join $(1),$(foreach char,$(1),$(comma))),$(2))
+__tr_head_stripped = $(subst $(space),,$(foreach cv,$(call __tr_list,$(1),$(2)),$$$(paren_left)subst$(cv)$(comma)))
+__tr_head = $(subst $(paren_left)subst,$(paren_left)subst$(space),$(__tr_head_stripped))
+__tr_tail = $(subst $(space),,$(foreach cv,$(1),$(paren_right)))
+__tr_template = $(__tr_head)$$(1)$(__tr_tail)
+
+$(eval toupper = $(call __tr_template,$(chars_lower),$(chars_upper)))
+$(eval tolower = $(call __tr_template,$(chars_upper),$(chars_lower)))
+
_SINGLE=export MAKEFLAGS=$(space);
CFLAGS:=
ARCH:=$(subst i486,i386,$(subst i586,i386,$(subst i686,i386,$(call qstrip,$(CONFIG_ARCH)))))

View File

@ -0,0 +1,82 @@
From: Felix Fietkau <nbd@nbd.name>
Date: Wed, 21 Dec 2016 16:39:56 +0100
Subject: build: add defaults for PKG_SOURCE, PKG_SOURCE_SUBDIR, PKG_VERSION
This makes it easier to unify versioning of git based package downloads.
PKG_SOURCE_DATE along with an 8-character abbreviation of the git hash
is used as PKG_VERSION, PKG_RELEASE should be used like normal packages.
Signed-off-by: Felix Fietkau <nbd@nbd.name>
diff --git a/include/download.mk b/include/download.mk
index 2aa75ce2e4f98e850d761b9416963c7958df7c82..b5a2a16a3072a7635b42514a77f2458e34ae1d64 100644
--- a/include/download.mk
+++ b/include/download.mk
@@ -10,6 +10,12 @@ PROJECT_GIT = https://git.openwrt.org
OPENWRT_GIT = $(PROJECT_GIT)
LEDE_GIT = $(PROJECT_GIT)
+ifdef PKG_SOURCE_VERSION
+PKG_VERSION ?= $(if $(PKG_SOURCE_DATE),$(PKG_SOURCE_DATE)-)$(call version_abbrev,$(PKG_SOURCE_VERSION))
+PKG_SOURCE_SUBDIR ?= $(PKG_NAME)-$(PKG_VERSION)
+PKG_SOURCE ?= $(PKG_SOURCE_SUBDIR).tar.xz
+endif
+
DOWNLOAD_RDEP=$(STAMP_PREPARED) $(HOST_STAMP_PREPARED)
# Try to guess the download method from the URL
diff --git a/include/host-build.mk b/include/host-build.mk
index 44401b866a4d637648bb093470a5e66b4a3e38fc..6a5f82dd302c948e8d9d53a67dbfb842d171a25d 100644
--- a/include/host-build.mk
+++ b/include/host-build.mk
@@ -5,6 +5,8 @@
# See /LICENSE for more information.
#
+include $(INCLUDE_DIR)/download.mk
+
HOST_BUILD_DIR ?= $(BUILD_DIR_HOST)/$(PKG_NAME)$(if $(PKG_VERSION),-$(PKG_VERSION))
HOST_INSTALL_DIR ?= $(HOST_BUILD_DIR)/host-install
HOST_BUILD_PARALLEL ?=
@@ -34,7 +36,6 @@ HOST_STAMP_INSTALLED:=$(STAGING_DIR_HOST)/stamp/.$(PKG_NAME)_installed
override MAKEFLAGS=
-include $(INCLUDE_DIR)/download.mk
include $(INCLUDE_DIR)/quilt.mk
include $(INCLUDE_DIR)/autotools.mk
diff --git a/include/package.mk b/include/package.mk
index a99cdc6990280d7ef83223861cd9f224c6eebc33..ed83865b2192e56c41faa8b14f5aad8715d70f04 100644
--- a/include/package.mk
+++ b/include/package.mk
@@ -9,6 +9,8 @@ __package_mk:=1
all: $(if $(DUMP),dumpinfo,compile)
+include $(INCLUDE_DIR)/download.mk
+
PKG_BUILD_DIR ?= $(BUILD_DIR)/$(PKG_NAME)$(if $(PKG_VERSION),-$(PKG_VERSION))
PKG_INSTALL_DIR ?= $(PKG_BUILD_DIR)/ipkg-install
PKG_MD5SUM ?= unknown
@@ -129,7 +131,6 @@ endif
PKG_DIR_NAME:=$(lastword $(subst /,$(space),$(CURDIR)))
PKG_INSTALL_STAMP:=$(PKG_INFO_DIR)/$(PKG_DIR_NAME).$(if $(BUILD_VARIANT),$(BUILD_VARIANT),default).install
-include $(INCLUDE_DIR)/download.mk
include $(INCLUDE_DIR)/quilt.mk
include $(INCLUDE_DIR)/package-defaults.mk
include $(INCLUDE_DIR)/package-dumpinfo.mk
diff --git a/rules.mk b/rules.mk
index 3aac5c770056ab1b2e84eb15d3bfdabd546df8a9..da4d48b0e28b2d845323901163b95162cf7e1c03 100644
--- a/rules.mk
+++ b/rules.mk
@@ -49,6 +49,8 @@ __tr_template = $(__tr_head)$$(1)$(__tr_tail)
$(eval toupper = $(call __tr_template,$(chars_lower),$(chars_upper)))
$(eval tolower = $(call __tr_template,$(chars_upper),$(chars_lower)))
+version_abbrev = $(if $(if $(CHECK),,$(DUMP)),$(1),$(shell printf '%.8s' $(1)))
+
_SINGLE=export MAKEFLAGS=$(space);
CFLAGS:=
ARCH:=$(subst i486,i386,$(subst i586,i386,$(subst i686,i386,$(call qstrip,$(CONFIG_ARCH)))))

View File

@ -0,0 +1,52 @@
From: Felix Fietkau <nbd@nbd.name>
Date: Wed, 21 Dec 2016 22:25:41 +0100
Subject: treewide: clean up and unify PKG_VERSION for git based downloads
Also use default defintions for PKG_SOURCE_SUBDIR, PKG_SOURCE
[linus.luessing@c0d3.blue: backport,
e2fsprogs/bison/m4/make-ext4fs/mtd-utils only]
Signed-off-by: Felix Fietkau <nbd@nbd.name>
diff --git a/tools/make-ext4fs/Makefile b/tools/make-ext4fs/Makefile
index c9ea4eddab7ba18aae7f2496bce78e48b0f48203..a886dc0a717a60cb7462853b5b4459c683cce0f5 100644
--- a/tools/make-ext4fs/Makefile
+++ b/tools/make-ext4fs/Makefile
@@ -8,16 +8,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=make-ext4fs
-PKG_VERSION:=2016-08-14
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL=$(LEDE_GIT)/project/make_ext4fs.git
PKG_SOURCE_PROTO:=git
+PKG_SOURCE_DATE:=2016-08-14
PKG_SOURCE_VERSION:=484903e4332be6c317f531b008cb2a841a18c506
-PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
-PKG_MIRROR_HASH:=5a4473e58dcaed1f41c2391d2326a67af356ca9a3a075fc3486d95276fb9a400
-
-HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/$(PKG_NAME)-$(PKG_VERSION)
+PKG_MIRROR_HASH:=d7ccd5e426b1d15331ff000a37dc15161f6eef594453e970fd584fcde5a25075
include $(INCLUDE_DIR)/host-build.mk
diff --git a/tools/mtd-utils/Makefile b/tools/mtd-utils/Makefile
index 4cee46e816ffcdd56c712c13f710a02f67651245..5d867eb56b1e8c8e8737b5922bb48097d0c96831 100644
--- a/tools/mtd-utils/Makefile
+++ b/tools/mtd-utils/Makefile
@@ -10,14 +10,10 @@ PKG_NAME:=mtd-utils
PKG_VERSION:=1.5.2
PKG_SOURCE_VERSION:=aea36417067dade75192bafa03af70b6eb2677b1
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.xz
PKG_SOURCE_URL:=git://git.infradead.org/mtd-utils.git
PKG_SOURCE_PROTO:=git
-PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
PKG_MIRROR_HASH:=e11b342b85a36b2e438a8412ec52f87621d3046aec1a93039f8c72de9990b2a7
-HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/$(PKG_NAME)-$(PKG_VERSION)
-
include $(INCLUDE_DIR)/host-build.mk
HOST_CFLAGS += -I$(STAGING_DIR_HOST)/include/e2fsprogs

View File

@ -0,0 +1,168 @@
From: Ryan Mounce <ryan@mounce.com.au>
Date: Thu, 3 Aug 2017 20:37:58 +0930
Subject: tools: patch various gnu tools for macOS 10.13
These host tools compile but may crash at runtime when building on
macOS 10.13 (High Sierra). Backport upstream gnulib patch until new
releases of affected tools.
https://lists.gnu.org/archive/html/bug-gnulib/2017-07/msg00056.html
https://git.savannah.gnu.org/cgit/gnulib.git/commit/?id=c41f233c4c38e84023a16339782ee306f03e7f59
Signed-off-by: Ryan Mounce <ryan@mounce.com.au>
diff --git a/tools/bison/patches/001-fix-macos-vasnprintf.patch b/tools/bison/patches/001-fix-macos-vasnprintf.patch
new file mode 100644
index 0000000000000000000000000000000000000000..e41315d34ec7d2462035c27c344215688b18c4f6
--- /dev/null
+++ b/tools/bison/patches/001-fix-macos-vasnprintf.patch
@@ -0,0 +1,25 @@
+--- a/lib/vasnprintf.c
++++ b/lib/vasnprintf.c
+@@ -4858,7 +4858,11 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *
+ #endif
+ *fbp = dp->conversion;
+ #if USE_SNPRINTF
+-# if !(((__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3)) && !defined __UCLIBC__) || ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__))
++# if ! (((__GLIBC__ > 2 \
++ || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3)) \
++ && !defined __UCLIBC__) \
++ || (defined __APPLE__ && defined __MACH__) \
++ || ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__))
+ fbp[1] = '%';
+ fbp[2] = 'n';
+ fbp[3] = '\0';
+@@ -4872,6 +4876,9 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *
+ in format strings in writable memory may crash the program
+ (if compiled with _FORTIFY_SOURCE=2), so we should avoid it
+ in this situation. */
++ /* macOS 10.13 High Sierra behaves like glibc with
++ _FORTIFY_SOURCE=2, and older macOS releases
++ presumably do not need %n. */
+ /* On native Windows systems (such as mingw), we can avoid using
+ %n because:
+ - Although the gl_SNPRINTF_TRUNCATION_C99 test fails,
diff --git a/tools/coreutils/patches/001-fix-macos-vasnprintf.patch b/tools/coreutils/patches/001-fix-macos-vasnprintf.patch
new file mode 100644
index 0000000000000000000000000000000000000000..e41315d34ec7d2462035c27c344215688b18c4f6
--- /dev/null
+++ b/tools/coreutils/patches/001-fix-macos-vasnprintf.patch
@@ -0,0 +1,25 @@
+--- a/lib/vasnprintf.c
++++ b/lib/vasnprintf.c
+@@ -4858,7 +4858,11 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *
+ #endif
+ *fbp = dp->conversion;
+ #if USE_SNPRINTF
+-# if !(((__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3)) && !defined __UCLIBC__) || ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__))
++# if ! (((__GLIBC__ > 2 \
++ || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3)) \
++ && !defined __UCLIBC__) \
++ || (defined __APPLE__ && defined __MACH__) \
++ || ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__))
+ fbp[1] = '%';
+ fbp[2] = 'n';
+ fbp[3] = '\0';
+@@ -4872,6 +4876,9 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *
+ in format strings in writable memory may crash the program
+ (if compiled with _FORTIFY_SOURCE=2), so we should avoid it
+ in this situation. */
++ /* macOS 10.13 High Sierra behaves like glibc with
++ _FORTIFY_SOURCE=2, and older macOS releases
++ presumably do not need %n. */
+ /* On native Windows systems (such as mingw), we can avoid using
+ %n because:
+ - Although the gl_SNPRINTF_TRUNCATION_C99 test fails,
diff --git a/tools/m4/patches/001-fix-macos-vasnprintf.patch b/tools/m4/patches/001-fix-macos-vasnprintf.patch
new file mode 100644
index 0000000000000000000000000000000000000000..e41315d34ec7d2462035c27c344215688b18c4f6
--- /dev/null
+++ b/tools/m4/patches/001-fix-macos-vasnprintf.patch
@@ -0,0 +1,25 @@
+--- a/lib/vasnprintf.c
++++ b/lib/vasnprintf.c
+@@ -4858,7 +4858,11 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *
+ #endif
+ *fbp = dp->conversion;
+ #if USE_SNPRINTF
+-# if !(((__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3)) && !defined __UCLIBC__) || ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__))
++# if ! (((__GLIBC__ > 2 \
++ || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3)) \
++ && !defined __UCLIBC__) \
++ || (defined __APPLE__ && defined __MACH__) \
++ || ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__))
+ fbp[1] = '%';
+ fbp[2] = 'n';
+ fbp[3] = '\0';
+@@ -4872,6 +4876,9 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *
+ in format strings in writable memory may crash the program
+ (if compiled with _FORTIFY_SOURCE=2), so we should avoid it
+ in this situation. */
++ /* macOS 10.13 High Sierra behaves like glibc with
++ _FORTIFY_SOURCE=2, and older macOS releases
++ presumably do not need %n. */
+ /* On native Windows systems (such as mingw), we can avoid using
+ %n because:
+ - Although the gl_SNPRINTF_TRUNCATION_C99 test fails,
diff --git a/tools/patch/patches/001-fix-macos-vasnprintf.patch b/tools/patch/patches/001-fix-macos-vasnprintf.patch
new file mode 100644
index 0000000000000000000000000000000000000000..e41315d34ec7d2462035c27c344215688b18c4f6
--- /dev/null
+++ b/tools/patch/patches/001-fix-macos-vasnprintf.patch
@@ -0,0 +1,25 @@
+--- a/lib/vasnprintf.c
++++ b/lib/vasnprintf.c
+@@ -4858,7 +4858,11 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *
+ #endif
+ *fbp = dp->conversion;
+ #if USE_SNPRINTF
+-# if !(((__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3)) && !defined __UCLIBC__) || ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__))
++# if ! (((__GLIBC__ > 2 \
++ || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3)) \
++ && !defined __UCLIBC__) \
++ || (defined __APPLE__ && defined __MACH__) \
++ || ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__))
+ fbp[1] = '%';
+ fbp[2] = 'n';
+ fbp[3] = '\0';
+@@ -4872,6 +4876,9 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *
+ in format strings in writable memory may crash the program
+ (if compiled with _FORTIFY_SOURCE=2), so we should avoid it
+ in this situation. */
++ /* macOS 10.13 High Sierra behaves like glibc with
++ _FORTIFY_SOURCE=2, and older macOS releases
++ presumably do not need %n. */
+ /* On native Windows systems (such as mingw), we can avoid using
+ %n because:
+ - Although the gl_SNPRINTF_TRUNCATION_C99 test fails,
diff --git a/tools/tar/patches/001-fix-macos-vasnprintf.patch b/tools/tar/patches/001-fix-macos-vasnprintf.patch
new file mode 100644
index 0000000000000000000000000000000000000000..c7dfbf76e7497c8702f902c7bc4dc8ac32602c3a
--- /dev/null
+++ b/tools/tar/patches/001-fix-macos-vasnprintf.patch
@@ -0,0 +1,25 @@
+--- a/gnu/vasnprintf.c
++++ b/gnu/vasnprintf.c
+@@ -4858,7 +4858,11 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *
+ #endif
+ *fbp = dp->conversion;
+ #if USE_SNPRINTF
+-# if !(((__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3)) && !defined __UCLIBC__) || ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__))
++# if ! (((__GLIBC__ > 2 \
++ || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3)) \
++ && !defined __UCLIBC__) \
++ || (defined __APPLE__ && defined __MACH__) \
++ || ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__))
+ fbp[1] = '%';
+ fbp[2] = 'n';
+ fbp[3] = '\0';
+@@ -4872,6 +4876,9 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *
+ in format strings in writable memory may crash the program
+ (if compiled with _FORTIFY_SOURCE=2), so we should avoid it
+ in this situation. */
++ /* macOS 10.13 High Sierra behaves like glibc with
++ _FORTIFY_SOURCE=2, and older macOS releases
++ presumably do not need %n. */
+ /* On native Windows systems (such as mingw), we can avoid using
+ %n because:
+ - Although the gl_SNPRINTF_TRUNCATION_C99 test fails,

View File

@ -0,0 +1,44 @@
From: Alexandru Ardelean <ardeleanalex@gmail.com>
Date: Thu, 17 Nov 2016 18:25:52 +0200
Subject: grub2: add PKG_FIXUP:=autoreconf
Reboot of: a0ea22ac430f91ab045431a79b2e2161e66cd56a
Reverted: 3c52cbfa53056ded95ae5a7ae27319eafd5a37e5
The host-side build of grub2 requires this sometimes.
This will re-generate the ./configure script from configure.ac.
I don't know the conditions of how this reproduces, it just
sometimes appears, and sometimes doesn't.
Build error
```
<lede-dir>/build_dir/target-x86_64_musl-1.1.15_yogi/host/grub-2.02~beta2/build-aux/missing: line 81: aclocal-1.14: command not found
WARNING: 'aclocal-1.14' is missing on your system.
You should only need it if you modified 'acinclude.m4' or
'configure.ac' or m4 files included by 'configure.ac'.
The 'aclocal' program is part of the GNU Automake package:
<http://www.gnu.org/software/automake>
It also requires GNU Autoconf, GNU m4 and Perl in order to run:
<http://www.gnu.org/software/autoconf>
<http://www.gnu.org/software/m4/>
<http://www.perl.org/>
Makefile:3962: recipe for target 'aclocal.m4' failed
```
Adding PKG_FIXUP adds sanity (i.e. autoreconf is used for host & target
builds) over just using HOST_FIXUP.
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
diff --git a/package/boot/grub2/Makefile b/package/boot/grub2/Makefile
index 75f5e826c1828ea8209c649a98adf9cccf631840..6b96e0a8d1910f1177506b89b34459c75177b7a1 100644
--- a/package/boot/grub2/Makefile
+++ b/package/boot/grub2/Makefile
@@ -19,6 +19,7 @@ PKG_SOURCE_URL:=http://alpha.gnu.org/gnu/grub \
http://www.nic.funet.fi/pub/gnu/alpha/gnu/grub/
PKG_HASH:=f6c702b2a8ea58f27a2b02928bb77973cb5a827af08f63db38c471c0a01b418d
+PKG_FIXUP:=autoreconf
HOST_BUILD_PARALLEL:=1
PKG_BUILD_DEPENDS:=grub2/host

View File

@ -0,0 +1,38 @@
From: Alexandru Ardelean <ardeleanalex@gmail.com>
Date: Mon, 21 Nov 2016 17:36:56 +0200
Subject: grub2: do not generate mkfonts at build time
Even though these fonts may not be installed, they seem to be
generated at build time.
Seems that the configure script re-generated from configure.ac
is a bit more annoying than it has to be.
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
diff --git a/package/boot/grub2/Makefile b/package/boot/grub2/Makefile
index 6b96e0a8d1910f1177506b89b34459c75177b7a1..a9bfaadcf09b6332a9dff9a283f9b2cc869c3096 100644
--- a/package/boot/grub2/Makefile
+++ b/package/boot/grub2/Makefile
@@ -51,6 +51,9 @@ endef
HOST_BUILD_PREFIX := $(STAGING_DIR_HOST)
+CONFIGURE_VARS += \
+ grub_build_mkfont_excuse="don't want fonts"
+
CONFIGURE_ARGS += \
--target=$(REAL_GNU_TARGET_NAME) \
--disable-werror \
@@ -59,7 +62,11 @@ CONFIGURE_ARGS += \
--disable-libzfs \
--disable-grub-mkfont
+HOST_CONFIGURE_VARS += \
+ grub_build_mkfont_excuse="don't want fonts"
+
HOST_CONFIGURE_ARGS += \
+ --disable-grub-mkfont \
--target=$(REAL_GNU_TARGET_NAME) \
--sbindir="$(STAGING_DIR_HOST)/bin" \
--disable-werror \

View File

@ -0,0 +1,29 @@
From: Alexandru Ardelean <ardeleanalex@gmail.com>
Date: Mon, 21 Nov 2016 17:39:20 +0200
Subject: grub2: disable 'check-macro-version' build rule in 'po' build
This seems to occur when gettext-full is built on the host-side
and the autoreconf stuff re-generates some of the build files,
except for the po/Makefile.in.in
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
diff --git a/package/boot/grub2/patches/101-disable-gettext-check-macro-version.patch b/package/boot/grub2/patches/101-disable-gettext-check-macro-version.patch
new file mode 100644
index 0000000000000000000000000000000000000000..4b850ed2a118c18530b78b03e001e56413a6d0e2
--- /dev/null
+++ b/package/boot/grub2/patches/101-disable-gettext-check-macro-version.patch
@@ -0,0 +1,13 @@
+diff --git a/po/Makefile.in.in b/po/Makefile.in.in
+index 3619458..060e0db 100644
+--- a/po/Makefile.in.in
++++ b/po/Makefile.in.in
+@@ -97,7 +97,7 @@ CATALOGS = @CATALOGS@
+ mv t-$@ $@
+
+
+-all: check-macro-version all-@USE_NLS@
++all: all-@USE_NLS@
+
+ all-yes: stamp-po
+ all-no:

View File

@ -0,0 +1,149 @@
From: Alexandru Ardelean <ardeleanalex@gmail.com>
Date: Mon, 21 Nov 2016 15:54:26 +0200
Subject: grub2: upgrade to 2.02-beta3 (3 years newer than previous)
'100-musl-compat.patch' does not seem to be required anymore.
'210-fix_serial_rtscts.patchi' is superseeded by:
http://git.savannah.gnu.org/cgit/grub.git/commit/?id=bac5d1a64ab4191058a8fd4c05f6b3b339e249e7
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
diff --git a/package/boot/grub2/Makefile b/package/boot/grub2/Makefile
index a9bfaadcf09b6332a9dff9a283f9b2cc869c3096..2742118671b33a739349a428395dee352e1d988b 100644
--- a/package/boot/grub2/Makefile
+++ b/package/boot/grub2/Makefile
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=grub
-PKG_VERSION:=2.02~beta2
+PKG_VERSION:=2.02~beta3
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
@@ -17,7 +17,7 @@ PKG_SOURCE_URL:=http://alpha.gnu.org/gnu/grub \
http://gnualpha.uib.no/grub/ \
http://mirrors.fe.up.pt/pub/gnu-alpha/grub/ \
http://www.nic.funet.fi/pub/gnu/alpha/gnu/grub/
-PKG_HASH:=f6c702b2a8ea58f27a2b02928bb77973cb5a827af08f63db38c471c0a01b418d
+PKG_HASH:=30ec3d555e52a702c3eef449872ef874eff28b320f40b55ffc47f70db8e5ada1
PKG_FIXUP:=autoreconf
HOST_BUILD_PARALLEL:=1
diff --git a/package/boot/grub2/patches/100-grub_setup_root.patch b/package/boot/grub2/patches/100-grub_setup_root.patch
index 9619c410b840d68c5fca35aa4c2d3ef5f26acedf..f053ba95e2287bbb0e8d51a2a09566672fcf927d 100644
--- a/package/boot/grub2/patches/100-grub_setup_root.patch
+++ b/package/boot/grub2/patches/100-grub_setup_root.patch
@@ -17,7 +17,7 @@
int force;
int fs_probe;
int allow_floppy;
-@@ -178,6 +181,13 @@ argp_parser (int key, char *arg, struct
+@@ -178,6 +181,13 @@ argp_parser (int key, char *arg, struct argp_state *state)
arguments->dev_map = xstrdup (arg);
break;
@@ -42,7 +42,7 @@
--- a/util/setup.c
+++ b/util/setup.c
-@@ -247,13 +247,12 @@ identify_partmap (grub_disk_t disk __att
+@@ -247,13 +247,12 @@ identify_partmap (grub_disk_t disk __attribute__ ((unused)),
void
SETUP (const char *dir,
const char *boot_file, const char *core_file,
@@ -69,7 +69,7 @@
char **root_devices = grub_guess_root_devices (dir);
char **cur;
int found = 0;
-@@ -317,6 +319,8 @@ SETUP (const char *dir,
+@@ -320,6 +322,8 @@ SETUP (const char *dir,
char *drive;
grub_device_t try_dev;
@@ -80,7 +80,7 @@
continue;
--- a/include/grub/util/install.h
+++ b/include/grub/util/install.h
-@@ -182,13 +182,13 @@ grub_install_get_image_target (const cha
+@@ -184,13 +184,13 @@ grub_install_get_image_target (const char *arg);
void
grub_util_bios_setup (const char *dir,
const char *boot_file, const char *core_file,
@@ -98,7 +98,7 @@
--- a/util/grub-install.c
+++ b/util/grub-install.c
-@@ -1660,7 +1660,7 @@ main (int argc, char *argv[])
+@@ -1673,7 +1673,7 @@ main (int argc, char *argv[])
/* Now perform the installation. */
if (install_bootsector)
grub_util_bios_setup (platdir, "boot.img", "core.img",
@@ -107,12 +107,12 @@
fs_probe, allow_floppy, add_rs_codes);
break;
}
-@@ -1686,7 +1686,7 @@ main (int argc, char *argv[])
+@@ -1699,7 +1699,7 @@ main (int argc, char *argv[])
/* Now perform the installation. */
if (install_bootsector)
grub_util_sparc_setup (platdir, "boot.img", "core.img",
-- install_device, force,
-+ NULL, install_device, force,
+- install_drive, force,
++ NULL, install_drive, force,
fs_probe, allow_floppy,
0 /* unused */ );
break;
diff --git a/package/boot/grub2/patches/100-musl-compat.patch b/package/boot/grub2/patches/100-musl-compat.patch
deleted file mode 100644
index e3b12be58a24840f4dde269f9a515dd30f7df627..0000000000000000000000000000000000000000
--- a/package/boot/grub2/patches/100-musl-compat.patch
+++ /dev/null
@@ -1,26 +0,0 @@
---- a/grub-core/osdep/unix/hostdisk.c
-+++ b/grub-core/osdep/unix/hostdisk.c
-@@ -48,11 +48,10 @@
- #ifdef __linux__
- # include <sys/ioctl.h> /* ioctl */
- # include <sys/mount.h>
--# if !defined(__GLIBC__) || \
-- ((__GLIBC__ < 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ < 1)))
-+# if defined(__UCLIBC__)
- /* Maybe libc doesn't have large file support. */
- # include <linux/unistd.h> /* _llseek */
--# endif /* (GLIBC < 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR < 1)) */
-+# endif /* __UCLIBC__ */
- #endif /* __linux__ */
-
- grub_uint64_t
-@@ -79,8 +78,7 @@ grub_util_get_fd_size (grub_util_fd_t fd
- return st.st_size;
- }
-
--#if defined(__linux__) && (!defined(__GLIBC__) || \
-- ((__GLIBC__ < 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ < 1))))
-+#if defined(__linux__) && defined(__UCLIBC__)
- /* Maybe libc doesn't have large file support. */
- int
- grub_util_fd_seek (grub_util_fd_t fd, grub_uint64_t off)
diff --git a/package/boot/grub2/patches/210-fix_serial_rtscts.patch b/package/boot/grub2/patches/210-fix_serial_rtscts.patch
deleted file mode 100644
index d60471c1d181cf29de2361aab5163336313b667f..0000000000000000000000000000000000000000
--- a/package/boot/grub2/patches/210-fix_serial_rtscts.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- a/grub-core/term/serial.c
-+++ b/grub-core/term/serial.c
-@@ -241,9 +241,9 @@ grub_cmd_serial (grub_extcmd_context_t c
-
- if (state[OPTION_RTSCTS].set)
- {
-- if (grub_strcmp (state[OPTION_PARITY].arg, "on") == 0)
-+ if (grub_strcmp (state[OPTION_RTSCTS].arg, "on") == 0)
- config.rtscts = 1;
-- if (grub_strcmp (state[OPTION_PARITY].arg, "off") == 0)
-+ else if (grub_strcmp (state[OPTION_RTSCTS].arg, "off") == 0)
- config.rtscts = 0;
- else
- return grub_error (GRUB_ERR_BAD_ARGUMENT,

View File

@ -0,0 +1,25 @@
From: Mathias Kresin <dev@kresin.me>
Date: Thu, 19 Jan 2017 09:18:57 +0100
Subject: packages: mark packages depending on a target as nonshared
The packages can't be build as shared packages due to the unmet
dependencies.
Fixes FS#418.
[linus.luessing@c0d3.blue: backport, grub2 only]
Signed-off-by: Mathias Kresin <dev@kresin.me>
diff --git a/package/boot/grub2/Makefile b/package/boot/grub2/Makefile
index 2742118671b33a739349a428395dee352e1d988b..ca94b1878a44b926e83f8d62da57587dbc437f84 100644
--- a/package/boot/grub2/Makefile
+++ b/package/boot/grub2/Makefile
@@ -25,6 +25,8 @@ PKG_BUILD_DEPENDS:=grub2/host
PKG_SSP:=0
+PKG_FLAGS:=nonshared
+
include $(INCLUDE_DIR)/host-build.mk
include $(INCLUDE_DIR)/package.mk

View File

@ -0,0 +1,28 @@
From: Alif M. Ahmad <alive4ever@live.com>
Date: Sat, 18 Feb 2017 23:03:33 +0700
Subject: grub2: update to 2.02~rc1
Signed-off-by: Alif M. Ahmad <alive4ever@live.com>
diff --git a/package/boot/grub2/Makefile b/package/boot/grub2/Makefile
index ca94b1878a44b926e83f8d62da57587dbc437f84..fde4b1276d73e6195d23bba054970b1fb35e6ec7 100644
--- a/package/boot/grub2/Makefile
+++ b/package/boot/grub2/Makefile
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=grub
-PKG_VERSION:=2.02~beta3
+PKG_VERSION:=2.02~rc1
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
@@ -17,7 +17,7 @@ PKG_SOURCE_URL:=http://alpha.gnu.org/gnu/grub \
http://gnualpha.uib.no/grub/ \
http://mirrors.fe.up.pt/pub/gnu-alpha/grub/ \
http://www.nic.funet.fi/pub/gnu/alpha/gnu/grub/
-PKG_HASH:=30ec3d555e52a702c3eef449872ef874eff28b320f40b55ffc47f70db8e5ada1
+PKG_HASH:=445239e9b96d1143c194c1d37851cf4196b83701c60172e49665e9d453d80278
PKG_FIXUP:=autoreconf
HOST_BUILD_PARALLEL:=1

View File

@ -0,0 +1,31 @@
From: Alif M. Ahmad <alive4ever@live.com>
Date: Wed, 22 Mar 2017 21:29:12 +0700
Subject: grub2: update to 2.02~rc2
Update to version 2.02~rc2.
Signed-off-by: Alif M. Ahmad <alive4ever@live.com>
(cherry picked from commit ffd055d5bbc1a223c80eb5bbc03a6465d0ac0bb4)
diff --git a/package/boot/grub2/Makefile b/package/boot/grub2/Makefile
index fde4b1276d73e6195d23bba054970b1fb35e6ec7..ca65b93605fb87e485fdd643a115eb5ca8ceb363 100644
--- a/package/boot/grub2/Makefile
+++ b/package/boot/grub2/Makefile
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=grub
-PKG_VERSION:=2.02~rc1
+PKG_VERSION:=2.02~rc2
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
@@ -17,7 +17,7 @@ PKG_SOURCE_URL:=http://alpha.gnu.org/gnu/grub \
http://gnualpha.uib.no/grub/ \
http://mirrors.fe.up.pt/pub/gnu-alpha/grub/ \
http://www.nic.funet.fi/pub/gnu/alpha/gnu/grub/
-PKG_HASH:=445239e9b96d1143c194c1d37851cf4196b83701c60172e49665e9d453d80278
+PKG_HASH:=053bfcbe366733e4f5a1baf4eb15e1efd977225bdd323b78087ce5fa172fc246
PKG_FIXUP:=autoreconf
HOST_BUILD_PARALLEL:=1

View File

@ -0,0 +1,32 @@
From: Alif M. Ahmad <alive4ever@live.com>
Date: Sat, 20 May 2017 14:11:16 +0700
Subject: package/grub2: update to 2.02
Update to version 2.02
Signed-off-by: Alif M. Ahmad <alive4ever@live.com>
(cherry picked from commit 415c47de79ada7496c39f435df0b0523472aee58)
diff --git a/package/boot/grub2/Makefile b/package/boot/grub2/Makefile
index ca65b93605fb87e485fdd643a115eb5ca8ceb363..b9e79e10217fa3266dbfcf2fabc2df39e54e3486 100644
--- a/package/boot/grub2/Makefile
+++ b/package/boot/grub2/Makefile
@@ -9,15 +9,12 @@ include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=grub
-PKG_VERSION:=2.02~rc2
+PKG_VERSION:=2.02
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
-PKG_SOURCE_URL:=http://alpha.gnu.org/gnu/grub \
- http://gnualpha.uib.no/grub/ \
- http://mirrors.fe.up.pt/pub/gnu-alpha/grub/ \
- http://www.nic.funet.fi/pub/gnu/alpha/gnu/grub/
-PKG_HASH:=053bfcbe366733e4f5a1baf4eb15e1efd977225bdd323b78087ce5fa172fc246
+PKG_SOURCE_URL:=@GNU/grub
+PKG_HASH:=810b3798d316394f94096ec2797909dbf23c858e48f7b3830826b8daa06b7b0f
PKG_FIXUP:=autoreconf
HOST_BUILD_PARALLEL:=1

View File

@ -0,0 +1,77 @@
From: Rosen Penev <rosenp@gmail.com>
Date: Wed, 22 Aug 2018 19:07:57 -0700
Subject: grub2: Fix CVE-2015-8370
This CVE is a culmination of multiple integer overflow issues that cause
multiple issues like Denial of Service and authentication bypass.
More info: https://nvd.nist.gov/vuln/detail/CVE-2015-8370
Taken from Fedora.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
(cherry picked from commit 7e73e9128f6a63b9198c88eea97c267810447be4)
diff --git a/package/boot/grub2/Makefile b/package/boot/grub2/Makefile
index b9e79e10217fa3266dbfcf2fabc2df39e54e3486..2ba5a3323ce551973e74b4fa8456f89d35a11d7d 100644
--- a/package/boot/grub2/Makefile
+++ b/package/boot/grub2/Makefile
@@ -10,7 +10,7 @@ include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=grub
PKG_VERSION:=2.02
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=@GNU/grub
diff --git a/package/boot/grub2/patches/300-CVE-2015-8370.patch b/package/boot/grub2/patches/300-CVE-2015-8370.patch
new file mode 100644
index 0000000000000000000000000000000000000000..11bc4340c08d559ec00c8303740d4512f3cb1a12
--- /dev/null
+++ b/package/boot/grub2/patches/300-CVE-2015-8370.patch
@@ -0,0 +1,44 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Hector Marco-Gisbert <hecmargi@upv.es>
+Date: Fri, 13 Nov 2015 16:21:09 +0100
+Subject: [PATCH] Fix security issue when reading username and password
+
+ This patch fixes two integer underflows at:
+ * grub-core/lib/crypto.c
+ * grub-core/normal/auth.c
+
+Resolves: CVE-2015-8370
+
+Signed-off-by: Hector Marco-Gisbert <hecmargi@upv.es>
+Signed-off-by: Ismael Ripoll-Ripoll <iripoll@disca.upv.es>
+---
+ grub-core/lib/crypto.c | 2 +-
+ grub-core/normal/auth.c | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/grub-core/lib/crypto.c b/grub-core/lib/crypto.c
+index ca334d5a40e..e6c78d16d39 100644
+--- a/grub-core/lib/crypto.c
++++ b/grub-core/lib/crypto.c
+@@ -468,7 +468,7 @@ grub_password_get (char buf[], unsigned buf_size)
+ break;
+ }
+
+- if (key == '\b')
++ if (key == '\b' && cur_len)
+ {
+ if (cur_len)
+ cur_len--;
+diff --git a/grub-core/normal/auth.c b/grub-core/normal/auth.c
+index 6be678c0de1..c35ce972473 100644
+--- a/grub-core/normal/auth.c
++++ b/grub-core/normal/auth.c
+@@ -172,7 +172,7 @@ grub_username_get (char buf[], unsigned buf_size)
+ break;
+ }
+
+- if (key == GRUB_TERM_BACKSPACE)
++ if (key == GRUB_TERM_BACKSPACE && cur_len)
+ {
+ if (cur_len)
+ {

View File

@ -0,0 +1,49 @@
From: Jo-Philipp Wich <jo@mein.io>
Date: Thu, 23 Aug 2018 19:08:58 +0200
Subject: grub2: rebase patches
Patch 300-CVE-2015-8370.patch was added without proper rebasing on the
version used by OpenWrt, make it apply and refresh the patch to fix
compilation.
Fixes: 7e73e9128f ("grub2: Fix CVE-2015-8370")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 9ffbe84ea49fc643f41bfdf687de99aee17c9154)
diff --git a/package/boot/grub2/patches/300-CVE-2015-8370.patch b/package/boot/grub2/patches/300-CVE-2015-8370.patch
index 11bc4340c08d559ec00c8303740d4512f3cb1a12..eb7919639a895e1da9dc42410c9a07a31d22a073 100644
--- a/package/boot/grub2/patches/300-CVE-2015-8370.patch
+++ b/package/boot/grub2/patches/300-CVE-2015-8370.patch
@@ -16,11 +16,9 @@ Signed-off-by: Ismael Ripoll-Ripoll <iripoll@disca.upv.es>
grub-core/normal/auth.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
-diff --git a/grub-core/lib/crypto.c b/grub-core/lib/crypto.c
-index ca334d5a40e..e6c78d16d39 100644
--- a/grub-core/lib/crypto.c
+++ b/grub-core/lib/crypto.c
-@@ -468,7 +468,7 @@ grub_password_get (char buf[], unsigned buf_size)
+@@ -468,7 +468,7 @@ grub_password_get (char buf[], unsigned
break;
}
@@ -29,16 +27,14 @@ index ca334d5a40e..e6c78d16d39 100644
{
if (cur_len)
cur_len--;
-diff --git a/grub-core/normal/auth.c b/grub-core/normal/auth.c
-index 6be678c0de1..c35ce972473 100644
--- a/grub-core/normal/auth.c
+++ b/grub-core/normal/auth.c
-@@ -172,7 +172,7 @@ grub_username_get (char buf[], unsigned buf_size)
+@@ -172,7 +172,7 @@ grub_username_get (char buf[], unsigned
break;
}
-- if (key == GRUB_TERM_BACKSPACE)
-+ if (key == GRUB_TERM_BACKSPACE && cur_len)
+- if (key == '\b')
++ if (key == '\b' && cur_len)
{
if (cur_len)
{

View File

@ -0,0 +1,50 @@
From: Etienne Haarsma <bladeoner112@gmail.com>
Date: Sun, 12 Feb 2017 16:50:07 +0100
Subject: tools/m4: update 1.4.18
Patch 100-fix-gets-removal.patch is removed because it's included in the new version.
Signed-off-by: Etienne Haarsma <bladeoner112@gmail.com>
(cherry picked from commit d90abebd06bbb004fc7957c39fe89202fbdca9f2)
diff --git a/tools/m4/Makefile b/tools/m4/Makefile
index 6fe9e0b6e695924e0919fdd5158ce9db2919198c..aa3c382f5bb38b7a4aacdfcc6dc36bbdb17b90d5 100644
--- a/tools/m4/Makefile
+++ b/tools/m4/Makefile
@@ -7,11 +7,11 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=m4
-PKG_VERSION:=1.4.17
+PKG_VERSION:=1.4.18
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=@GNU/$(PKG_NAME)
-PKG_HASH:=f0543c3beb51fa6b3337d8025331591e0e18d8ec2886ed391f1aade43477d508
+PKG_HASH:=f2c1e86ca0a404ff281631bdc8377638992744b175afb806e25871a24a934e07
PKG_CAT:=xzcat
HOST_BUILD_PARALLEL:=1
diff --git a/tools/m4/patches/100-fix-gets-removal.patch b/tools/m4/patches/100-fix-gets-removal.patch
deleted file mode 100644
index ecd110d934ea04a1f630a31ee67ab5bc8189ab20..0000000000000000000000000000000000000000
--- a/tools/m4/patches/100-fix-gets-removal.patch
+++ /dev/null
@@ -1,17 +0,0 @@
---- a/lib/stdio.in.h
-+++ b/lib/stdio.in.h
-@@ -714,14 +714,6 @@ _GL_WARN_ON_USE (getline, "getline is un
- # endif
- #endif
-
--/* It is very rare that the developer ever has full control of stdin,
-- so any use of gets warrants an unconditional warning; besides, C11
-- removed it. */
--#undef gets
--#if HAVE_RAW_DECL_GETS
--_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
--#endif
--
-
- #if @GNULIB_OBSTACK_PRINTF@ || @GNULIB_OBSTACK_PRINTF_POSIX@
- struct obstack;

View File

@ -0,0 +1,186 @@
From: John Crispin <john@openwrt.org>
Date: Fri, 11 Dec 2015 15:07:15 +0000
Subject: tools/squashfs: add argument -fixed-time to set all timestamps
-fixed-time <timestamp> set mkfs-timestamp and file-mtime to this timestamp.
Reproducible builds requires the removal of all timestamp or setting all to a specific one.
Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
SVN-Revision: 47858
diff --git a/tools/squashfs/patches/120-add-fixed-timestamp-support.patch b/tools/squashfs/patches/120-add-fixed-timestamp-support.patch
new file mode 100644
index 0000000000000000000000000000000000000000..e2f4bb2e049cebca5f2be22b67161d56b9218876
--- /dev/null
+++ b/tools/squashfs/patches/120-add-fixed-timestamp-support.patch
@@ -0,0 +1,79 @@
+--- a/squashfs-tools/mksquashfs.c
++++ b/squashfs-tools/mksquashfs.c
+@@ -117,6 +117,9 @@ unsigned int inode_bytes = 0, inode_size
+ char *data_cache = NULL;
+ unsigned int cache_bytes = 0, cache_size = 0, inode_count = 0;
+
++/* override all timestamps */
++time_t fixed_time = -1;
++
+ /* in memory directory data */
+ #define I_COUNT_SIZE 128
+ #define DIR_ENTRIES 32
+@@ -1554,6 +1557,11 @@ void dir_scan(squashfs_inode *inode, cha
+ perror(buffer);
+ return;
+ }
++
++ /* override timestamp of lstat if fixed_time is given */
++ if(fixed_time != -1)
++ inode_info->buf.st_mtime = fixed_time;
++
+ if(sorted)
+ sort_files_and_write(dir_info);
+ dir_scan2(inode, dir_info);
+@@ -1582,6 +1590,10 @@ struct dir_info *dir_scan1(char *pathnam
+ perror(buffer);
+ continue;
+ }
++
++ if(fixed_time != -1)
++ buf.st_mtime = fixed_time;
++
+ if(excluded(filename, &buf))
+ continue;
+
+@@ -1621,6 +1633,9 @@ int dir_scan2(squashfs_inode *inode, str
+ char *dir_name = dir_ent->name;
+ unsigned int inode_number = ((buf->st_mode & S_IFMT) == S_IFDIR) ? dir_ent->inode->inode_number : dir_ent->inode->inode_number + dir_inode_no;
+
++ if(fixed_time != -1)
++ buf->st_mtime = fixed_time;
++
+ if(dir_ent->inode->inode == SQUASHFS_INVALID_BLK) {
+ switch(buf->st_mode & S_IFMT) {
+ case S_IFREG:
+@@ -1898,6 +1913,16 @@ int main(int argc, char *argv[])
+ exit(1);
+ }
+ }
++ } else if(strcmp(argv[i], "-fixed-time") == 0) {
++ if(++i == argc) {
++ ERROR("%s: -fixed-time missing a timestamp\n", argv[0]);
++ exit(1);
++ }
++ fixed_time = strtoll(argv[i], &b, 10);
++ if(*b != '\0') {
++ ERROR("%s: -fixed-time has an invalid number\n", argv[0]);
++ exit(1);
++ }
+ } else if(strcmp(argv[i], "-noI") == 0 ||
+ strcmp(argv[i], "-noInodeCompression") == 0)
+ noI = TRUE;
+@@ -1967,6 +1992,7 @@ printOptions:
+ ERROR("-all-root\t\tmake all files owned by root\n");
+ ERROR("-force-uid uid\t\tset all file uids to uid\n");
+ ERROR("-force-gid gid\t\tset all file gids to gid\n");
++ ERROR("-fixed-time timestamp\tset all timestamps to timestamp\n");
+ ERROR("-le\t\t\tcreate a little endian filesystem\n");
+ ERROR("-be\t\t\tcreate a big endian filesystem\n");
+ ERROR("-nopad\t\t\tdo not pad filesystem to a multiple of 4K\n");
+@@ -2190,7 +2216,7 @@ printOptions:
+ sBlk.block_size = block_size;
+ sBlk.block_log = block_log;
+ sBlk.flags = SQUASHFS_MKFLAGS(noI, noD, check_data, noF, no_fragments, always_use_fragments, duplicate_checking);
+- sBlk.mkfs_time = time(NULL);
++ sBlk.mkfs_time = fixed_time != -1 ? fixed_time : time(NULL);
+
+ restore_filesystem:
+ write_fragment();
diff --git a/tools/squashfs4/patches/200-add-fixed-timestamp-option.patch b/tools/squashfs4/patches/200-add-fixed-timestamp-option.patch
new file mode 100644
index 0000000000000000000000000000000000000000..7ac1765eed22a371f8584e4a3968941eb923fa89
--- /dev/null
+++ b/tools/squashfs4/patches/200-add-fixed-timestamp-option.patch
@@ -0,0 +1,84 @@
+Index: squashfs4.2/squashfs-tools/mksquashfs.c
+===================================================================
+--- squashfs4.2.orig/squashfs-tools/mksquashfs.c
++++ squashfs4.2/squashfs-tools/mksquashfs.c
+@@ -175,6 +175,9 @@ unsigned int cache_bytes = 0, cache_size
+ /* inode lookup table */
+ squashfs_inode *inode_lookup_table = NULL;
+
++/* override all timestamps */
++time_t fixed_time = -1;
++
+ /* in memory directory data */
+ #define I_COUNT_SIZE 128
+ #define DIR_ENTRIES 32
+@@ -2452,6 +2455,8 @@ again:
+ restat:
+ fstat(file, &buf2);
+ close(file);
++ if (fixed_time != -1)
++ buf2.st_mtime = fixed_time;
+ if(read_size != buf2.st_size) {
+ memcpy(buf, &buf2, sizeof(struct stat));
+ file_buffer->error = 2;
+@@ -3612,7 +3617,7 @@ void dir_scan(squashfs_inode *inode, cha
+ buf.st_mode = S_IRWXU | S_IRWXG | S_IRWXO | S_IFDIR;
+ buf.st_uid = getuid();
+ buf.st_gid = getgid();
+- buf.st_mtime = time(NULL);
++ buf.st_mtime = fixed_time != -1 ? fixed_time : time(NULL);
+ buf.st_dev = 0;
+ buf.st_ino = 0;
+ dir_ent->inode = lookup_inode(&buf);
+@@ -3623,6 +3628,8 @@ void dir_scan(squashfs_inode *inode, cha
+ pathname, strerror(errno));
+ return;
+ }
++ if(fixed_time != -1)
++ buf.st_mtime = fixed_time;
+ dir_ent->inode = lookup_inode(&buf);
+ }
+
+@@ -3677,6 +3684,8 @@ struct dir_info *dir_scan1(char *pathnam
+ filename, strerror(errno));
+ continue;
+ }
++ if(fixed_time != -1)
++ buf.st_mtime = fixed_time;
+
+ if((buf.st_mode & S_IFMT) != S_IFREG &&
+ (buf.st_mode & S_IFMT) != S_IFDIR &&
+@@ -3795,7 +3804,7 @@ struct dir_info *dir_scan2(struct dir_in
+ buf.st_gid = pseudo_ent->dev->gid;
+ buf.st_rdev = makedev(pseudo_ent->dev->major,
+ pseudo_ent->dev->minor);
+- buf.st_mtime = time(NULL);
++ buf.st_mtime = fixed_time != -1 ? fixed_time : time(NULL);
+ buf.st_ino = pseudo_ino ++;
+
+ if(pseudo_ent->dev->type == 'f') {
+@@ -4674,6 +4683,15 @@ int main(int argc, char *argv[])
+ progress = FALSE;
+ else if(strcmp(argv[i], "-no-exports") == 0)
+ exportable = FALSE;
++ else if(strcmp(argv[i], "-fixed-time") == 0) {
++ if((++i == argc) || (fixed_time =
++ strtoll(argv[i], &b, 10), *b != '\0')) {
++ ERROR("%s: -fixed-time missing or invalid "
++ "timestamp\n", argv[0]);
++
++ exit(1);
++ }
++ }
+ else if(strcmp(argv[i], "-processors") == 0) {
+ if((++i == argc) || (processors =
+ strtol(argv[i], &b, 10), *b != '\0')) {
+@@ -5314,7 +5332,7 @@ printOptions:
+ sBlk.flags = SQUASHFS_MKFLAGS(noI, noD, noF, noX, no_fragments,
+ always_use_fragments, duplicate_checking, exportable,
+ no_xattrs, comp_opts);
+- sBlk.mkfs_time = time(NULL);
++ sBlk.mkfs_time = fixed_time != -1 ? fixed_time : time(NULL);
+
+ restore_filesystem:
+ if(progress && estimated_uncompressed) {

View File

@ -0,0 +1,29 @@
From: John Crispin <john@openwrt.org>
Date: Fri, 11 Dec 2015 15:07:28 +0000
Subject: tools/squashfs: refresh patches
Signed-off-by: John Crispin <blogic@openwrt.org>
SVN-Revision: 47859
diff --git a/tools/squashfs/patches/100-lzma.patch b/tools/squashfs/patches/100-lzma.patch
index e3b2a3a89c143df0b5ed6565be93c05b0dbcc333..73f6a4e05527deebfd23c93b95e98c72f134e858 100644
--- a/tools/squashfs/patches/100-lzma.patch
+++ b/tools/squashfs/patches/100-lzma.patch
@@ -1,6 +1,6 @@
--- a/squashfs-tools/Makefile
+++ b/squashfs-tools/Makefile
-@@ -7,6 +8,9 @@ all: mksquashfs unsquashfs
+@@ -7,6 +7,9 @@ all: mksquashfs unsquashfs
mksquashfs: mksquashfs.o read_fs.o sort.o
$(CC) mksquashfs.o read_fs.o sort.o -lz -o $@
@@ -10,7 +10,7 @@
mksquashfs.o: mksquashfs.c squashfs_fs.h mksquashfs.h global.h sort.h
read_fs.o: read_fs.c squashfs_fs.h read_fs.h global.h
-@@ -16,4 +20,9 @@ sort.o: sort.c squashfs_fs.h global.h so
+@@ -16,4 +19,9 @@ sort.o: sort.c squashfs_fs.h global.h so
unsquashfs: unsquashfs.o
$(CC) unsquashfs.o -lz -o $@

View File

@ -0,0 +1,81 @@
From: Felix Fietkau <nbd@openwrt.org>
Date: Fri, 11 Dec 2015 19:21:43 +0000
Subject: tools/squashfs4: refresh patches
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 47869
diff --git a/tools/squashfs4/patches/160-expose_lzma_xz_options.patch b/tools/squashfs4/patches/160-expose_lzma_xz_options.patch
index d6063969d274278df08046a5c73ee38aea1bd404..2fbd9548590ea17a4e14d29ddf1b47685a22caa9 100644
--- a/tools/squashfs4/patches/160-expose_lzma_xz_options.patch
+++ b/tools/squashfs4/patches/160-expose_lzma_xz_options.patch
@@ -637,7 +637,7 @@
}
name = argv[1];
-@@ -76,190 +73,50 @@ static int xz_options(char *argv[], int
+@@ -76,190 +73,50 @@ static int xz_options(char *argv[], int
}
if(bcj[i].name == NULL) {
fprintf(stderr, "xz: -Xbcj unrecognised "
@@ -864,7 +864,7 @@
SQUASHFS_METADATA_SIZE;
filter[0].filter[0].id = LZMA_FILTER_LZMA2;
-@@ -323,14 +181,25 @@ static int xz_compress(void *strm, void
+@@ -323,14 +181,25 @@ static int xz_compress(void *strm, void
lzma_ret res = 0;
struct xz_stream *stream = strm;
struct filter *selected = NULL;
diff --git a/tools/squashfs4/patches/180-openbsd_compat.patch b/tools/squashfs4/patches/180-openbsd_compat.patch
index 6d7a857a05ab140753c6dc6fd52cadfb9a3f9ef8..b9c1b5925d8526454a6bed5139bf6301a5896c02 100644
--- a/tools/squashfs4/patches/180-openbsd_compat.patch
+++ b/tools/squashfs4/patches/180-openbsd_compat.patch
@@ -1,6 +1,5 @@
-diff -Nur squashfs4.2.orig/squashfs-tools/mksquashfs.c squashfs4.2/squashfs-tools/mksquashfs.c
---- squashfs4.2.orig/squashfs-tools/mksquashfs.c Tue Mar 5 16:20:49 2013
-+++ squashfs4.2/squashfs-tools/mksquashfs.c Tue Mar 5 16:25:10 2013
+--- a/squashfs-tools/mksquashfs.c
++++ b/squashfs-tools/mksquashfs.c
@@ -32,6 +32,9 @@
#include <stdio.h>
#include <stddef.h>
@@ -11,9 +10,8 @@ diff -Nur squashfs4.2.orig/squashfs-tools/mksquashfs.c squashfs4.2/squashfs-tool
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
-diff -Nur squashfs4.2.orig/squashfs-tools/unsquashfs.h squashfs4.2/squashfs-tools/unsquashfs.h
---- squashfs4.2.orig/squashfs-tools/unsquashfs.h Tue Mar 5 16:20:49 2013
-+++ squashfs4.2/squashfs-tools/unsquashfs.h Tue Mar 5 16:25:57 2013
+--- a/squashfs-tools/unsquashfs.h
++++ b/squashfs-tools/unsquashfs.h
@@ -25,6 +25,9 @@
#define TRUE 1
#define FALSE 0
diff --git a/tools/squashfs4/patches/190-no_nonstatic_inline.patch b/tools/squashfs4/patches/190-no_nonstatic_inline.patch
index 7b5808afab5de2a00e1b862f7405cb60f51c88b1..27ebc6a2639be8d3b303e34ab73e224f394d9b2d 100644
--- a/tools/squashfs4/patches/190-no_nonstatic_inline.patch
+++ b/tools/squashfs4/patches/190-no_nonstatic_inline.patch
@@ -1,6 +1,6 @@
--- a/squashfs-tools/mksquashfs.c
+++ b/squashfs-tools/mksquashfs.c
-@@ -735,13 +735,13 @@ void cache_block_put(struct file_buffer
+@@ -735,13 +735,13 @@ void cache_block_put(struct file_buffer
+ (((char *)A) - data_cache)))
diff --git a/tools/squashfs4/patches/200-add-fixed-timestamp-option.patch b/tools/squashfs4/patches/200-add-fixed-timestamp-option.patch
index 7ac1765eed22a371f8584e4a3968941eb923fa89..5cec51f7b7ea716b76fdb63db307728728f21f44 100644
--- a/tools/squashfs4/patches/200-add-fixed-timestamp-option.patch
+++ b/tools/squashfs4/patches/200-add-fixed-timestamp-option.patch
@@ -1,7 +1,5 @@
-Index: squashfs4.2/squashfs-tools/mksquashfs.c
-===================================================================
---- squashfs4.2.orig/squashfs-tools/mksquashfs.c
-+++ squashfs4.2/squashfs-tools/mksquashfs.c
+--- a/squashfs-tools/mksquashfs.c
++++ b/squashfs-tools/mksquashfs.c
@@ -175,6 +175,9 @@ unsigned int cache_bytes = 0, cache_size
/* inode lookup table */
squashfs_inode *inode_lookup_table = NULL;

View File

@ -0,0 +1,70 @@
From: Hauke Mehrtens <hauke@hauke-m.de>
Date: Tue, 21 Jun 2016 22:05:44 +0200
Subject: squashfs4: use upstream xz compression header format
In the upstream kernel and the upstream squashfs4 tools the xz
compression header looks the following:
struct disk_comp_opts {
__le32 dictionary_size;
__le32 flags;
};
We added some other members and also moved some existing members. Place
the members which are already in upstream header at the same position
as in that kernel and add our own at the end. The kernel should not
have a problem when there are some additional members and just ignore
them.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
diff --git a/target/linux/generic/patches-3.18/520-squashfs_update_xz_comp_opts.patch b/target/linux/generic/patches-3.18/520-squashfs_update_xz_comp_opts.patch
deleted file mode 100644
index ad11b30281ce28a0d1cfb27c92ea332ef333169b..0000000000000000000000000000000000000000
--- a/target/linux/generic/patches-3.18/520-squashfs_update_xz_comp_opts.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From f31b7c0efa255dd17a5f584022a319387f09b0d8 Mon Sep 17 00:00:00 2001
-From: Jonas Gorski <jonas.gorski@gmail.com>
-Date: Tue, 12 Apr 2011 19:55:41 +0200
-Subject: [PATCH] squashfs: update xz compressor options struct.
-
-Update the xz compressor options struct to match the squashfs userspace
-one.
----
- fs/squashfs/xz_wrapper.c | 4 +++-
- 1 files changed, 3 insertions(+), 1 deletions(-)
-
---- a/fs/squashfs/xz_wrapper.c
-+++ b/fs/squashfs/xz_wrapper.c
-@@ -40,8 +40,10 @@ struct squashfs_xz {
- };
-
- struct disk_comp_opts {
-- __le32 dictionary_size;
- __le32 flags;
-+ __le16 bit_opts;
-+ __le16 fb;
-+ __le32 dictionary_size;
- };
-
- struct comp_opts {
diff --git a/tools/squashfs4/patches/160-expose_lzma_xz_options.patch b/tools/squashfs4/patches/160-expose_lzma_xz_options.patch
index 2fbd9548590ea17a4e14d29ddf1b47685a22caa9..9e1c1fbb1eafd04701cd09f4730d63038a90664d 100644
--- a/tools/squashfs4/patches/160-expose_lzma_xz_options.patch
+++ b/tools/squashfs4/patches/160-expose_lzma_xz_options.patch
@@ -40,6 +40,7 @@
+
+
+struct lzma_opts {
++ uint32_t dict_size;
+ uint32_t flags;
+#define LZMA_OPT_FLT_MASK 0xffff
+#define LZMA_OPT_PRE_OFF 16
@@ -53,7 +54,6 @@
+#define LZMA_OPT_PB_OFF 6
+#define LZMA_OPT_PB_MASK (0x7 << LZMA_OPT_PB_OFF)
+ uint16_t fb;
-+ uint32_t dict_size;
+};
+
+#if __BYTE_ORDER == __BIG_ENDIAN

View File

@ -0,0 +1,133 @@
From: Luis Araneda <luaraneda@gmail.com>
Date: Wed, 8 Aug 2018 22:32:45 -0400
Subject: tools: m4: fix compilation with glibc 2.28
Add a temporary workaround to compile with glibc 2.28
as some constants were removed and others made private
Signed-off-by: Luis Araneda <luaraneda@gmail.com>
diff --git a/tools/m4/patches/010-glibc-change-work-around.patch b/tools/m4/patches/010-glibc-change-work-around.patch
new file mode 100644
index 0000000000000000000000000000000000000000..0ef6216965c4ea91043b75fdcfd278794d130c99
--- /dev/null
+++ b/tools/m4/patches/010-glibc-change-work-around.patch
@@ -0,0 +1,118 @@
+Subject: Workaround change in glibc
+
+Temporary workaround to compile with glibc 2.28, which
+deprecated some constants
+
+Taken from the rpms/m4 Fedora repository, commit 814d5921
+(Work around change in glibc)
+
+Original filename: m4-1.4.18-glibc-change-work-around.patch
+
+--- a/lib/stdio-impl.h
++++ b/lib/stdio-impl.h
+@@ -18,6 +18,12 @@
+ the same implementation of stdio extension API, except that some fields
+ have different naming conventions, or their access requires some casts. */
+
++/* Glibc 2.28 made _IO_IN_BACKUP private. For now, work around this
++ problem by defining it ourselves. FIXME: Do not rely on glibc
++ internals. */
++#if !defined _IO_IN_BACKUP && defined _IO_EOF_SEEN
++# define _IO_IN_BACKUP 0x100
++#endif
+
+ /* BSD stdio derived implementations. */
+
+--- a/lib/fflush.c
++++ b/lib/fflush.c
+@@ -33,7 +33,7 @@
+ #undef fflush
+
+
+-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
++#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+
+ /* Clear the stream's ungetc buffer, preserving the value of ftello (fp). */
+ static void
+@@ -72,7 +72,7 @@ clear_ungetc_buffer (FILE *fp)
+
+ #endif
+
+-#if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */)
++#if ! (defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */)
+
+ # if (defined __sferror || defined __DragonFly__ || defined __ANDROID__) && defined __SNPT
+ /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Android */
+@@ -148,7 +148,7 @@ rpl_fflush (FILE *stream)
+ if (stream == NULL || ! freading (stream))
+ return fflush (stream);
+
+-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
++#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+
+ clear_ungetc_buffer_preserving_position (stream);
+
+--- a/lib/fpending.c
++++ b/lib/fpending.c
+@@ -32,7 +32,7 @@ __fpending (FILE *fp)
+ /* Most systems provide FILE as a struct and the necessary bitmask in
+ <stdio.h>, because they need it for implementing getc() and putc() as
+ fast macros. */
+-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
++#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+ return fp->_IO_write_ptr - fp->_IO_write_base;
+ #elif defined __sferror || defined __DragonFly__ || defined __ANDROID__
+ /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Android */
+--- a/lib/fpurge.c
++++ b/lib/fpurge.c
+@@ -62,7 +62,7 @@ fpurge (FILE *fp)
+ /* Most systems provide FILE as a struct and the necessary bitmask in
+ <stdio.h>, because they need it for implementing getc() and putc() as
+ fast macros. */
+-# if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
++# if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+ fp->_IO_read_end = fp->_IO_read_ptr;
+ fp->_IO_write_ptr = fp->_IO_write_base;
+ /* Avoid memory leak when there is an active ungetc buffer. */
+--- a/lib/freadahead.c
++++ b/lib/freadahead.c
+@@ -25,7 +25,7 @@
+ size_t
+ freadahead (FILE *fp)
+ {
+-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
++#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+ if (fp->_IO_write_ptr > fp->_IO_write_base)
+ return 0;
+ return (fp->_IO_read_end - fp->_IO_read_ptr)
+--- a/lib/freading.c
++++ b/lib/freading.c
+@@ -31,7 +31,7 @@ freading (FILE *fp)
+ /* Most systems provide FILE as a struct and the necessary bitmask in
+ <stdio.h>, because they need it for implementing getc() and putc() as
+ fast macros. */
+-# if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
++# if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+ return ((fp->_flags & _IO_NO_WRITES) != 0
+ || ((fp->_flags & (_IO_NO_READS | _IO_CURRENTLY_PUTTING)) == 0
+ && fp->_IO_read_base != NULL));
+--- a/lib/fseeko.c
++++ b/lib/fseeko.c
+@@ -47,7 +47,7 @@ fseeko (FILE *fp, off_t offset, int when
+ #endif
+
+ /* These tests are based on fpurge.c. */
+-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
++#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+ if (fp->_IO_read_end == fp->_IO_read_ptr
+ && fp->_IO_write_ptr == fp->_IO_write_base
+ && fp->_IO_save_base == NULL)
+@@ -123,7 +123,7 @@ fseeko (FILE *fp, off_t offset, int when
+ return -1;
+ }
+
+-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
++#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+ fp->_flags &= ~_IO_EOF_SEEN;
+ fp->_offset = pos;
+ #elif defined __sferror || defined __DragonFly__ || defined __ANDROID__

View File

@ -0,0 +1,93 @@
From: Daniel Engberg <daniel.engberg.lists@pyret.net>
Date: Thu, 7 Jun 2018 19:21:12 +0200
Subject: tools/bison: Update to 3.0.5
Update bison to 3.0.5
Bugfix release
Remove 001-fix-macos-vasnprintf.patch as it is fixed upstream
Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
diff --git a/tools/bison/Makefile b/tools/bison/Makefile
index af5737c552384f2cfec919d0379ccd64e7d5ccbe..68e06ae33b566df5c20388acc9b83d1cc6ab19f2 100644
--- a/tools/bison/Makefile
+++ b/tools/bison/Makefile
@@ -1,4 +1,4 @@
-#
+#
# Copyright (C) 2008-2015 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
@@ -7,11 +7,11 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=bison
-PKG_VERSION:=3.0.4
+PKG_VERSION:=3.0.5
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=@GNU/$(PKG_NAME)
-PKG_HASH:=a72428c7917bdf9fa93cb8181c971b6e22834125848cf1d03ce10b1bb0716fe1
+PKG_HASH:=075cef2e814642e30e10e8155e93022e4a91ca38a65aa1d5467d4e969f97f338
HOST_BUILD_PARALLEL:=1
diff --git a/tools/bison/patches/001-fix-macos-vasnprintf.patch b/tools/bison/patches/001-fix-macos-vasnprintf.patch
deleted file mode 100644
index e41315d34ec7d2462035c27c344215688b18c4f6..0000000000000000000000000000000000000000
--- a/tools/bison/patches/001-fix-macos-vasnprintf.patch
+++ /dev/null
@@ -1,25 +0,0 @@
---- a/lib/vasnprintf.c
-+++ b/lib/vasnprintf.c
-@@ -4858,7 +4858,11 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *
- #endif
- *fbp = dp->conversion;
- #if USE_SNPRINTF
--# if !(((__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3)) && !defined __UCLIBC__) || ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__))
-+# if ! (((__GLIBC__ > 2 \
-+ || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3)) \
-+ && !defined __UCLIBC__) \
-+ || (defined __APPLE__ && defined __MACH__) \
-+ || ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__))
- fbp[1] = '%';
- fbp[2] = 'n';
- fbp[3] = '\0';
-@@ -4872,6 +4876,9 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *
- in format strings in writable memory may crash the program
- (if compiled with _FORTIFY_SOURCE=2), so we should avoid it
- in this situation. */
-+ /* macOS 10.13 High Sierra behaves like glibc with
-+ _FORTIFY_SOURCE=2, and older macOS releases
-+ presumably do not need %n. */
- /* On native Windows systems (such as mingw), we can avoid using
- %n because:
- - Although the gl_SNPRINTF_TRUNCATION_C99 test fails,
diff --git a/tools/bison/patches/100-fix-gets-removal.patch b/tools/bison/patches/100-fix-gets-removal.patch
index 20b18cf2e7cd722622fced5b0e7703807bef38ef..563c12040c594f9d9f46eed3af229e69f0201a26 100644
--- a/tools/bison/patches/100-fix-gets-removal.patch
+++ b/tools/bison/patches/100-fix-gets-removal.patch
@@ -1,6 +1,8 @@
+diff --git a/lib/stdio.in.h b/lib/stdio.in.h
+index ff7c9c8..f391832 100644
--- a/lib/stdio.in.h
+++ b/lib/stdio.in.h
-@@ -719,13 +719,6 @@
+@@ -739,14 +739,6 @@ _GL_WARN_ON_USE (getline, "getline is unportable - "
# endif
#endif
@@ -8,9 +10,10 @@
- so any use of gets warrants an unconditional warning; besides, C11
- removed it. */
-#undef gets
--#if HAVE_RAW_DECL_GETS
+-#if HAVE_RAW_DECL_GETS && !defined __cplusplus
-_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
-#endif
-
-
+-
#if @GNULIB_OBSTACK_PRINTF@ || @GNULIB_OBSTACK_PRINTF_POSIX@
+ struct obstack;
+ /* Grow an obstack with formatted output. Return the number of

View File

@ -0,0 +1,94 @@
From: Stefan Lippers-Hollmann <s.l-h@gmx.de>
Date: Sun, 4 Mar 2018 22:57:04 +0100
Subject: tools/e2fsprogs: fix building on a glibc 2.27 host
The e2fsprogs host build fails on a glibc 2.27 host with
make[6]: Entering directory 'build_dir/host/e2fsprogs-1.43.7/debugfs'
CC create_inode.o
./../misc/create_inode.c:399:18: error: conflicting types for 'copy_file_range'
static errcode_t copy_file_range(ext2_filsys fs, int fd, ext2_file_t e2_file,
^~~~~~~~~~~~~~~
In file included from ./../misc/create_inode.c:19:0:
/usr/include/unistd.h:1110:9: note: previous declaration of 'copy_file_range' was here
ssize_t copy_file_range (int __infd, __off64_t *__pinoff,
^~~~~~~~~~~~~~~
Backport upstream commit "misc: rename copy_file_range to
copy_file_chunk" 01551bdba16ab16512a01affe02ade32c41ede8a in order to
fix this.
Signed-off-by: Stefan Lippers-Hollmann <s.l-h@gmx.de>
diff --git a/tools/e2fsprogs/Makefile b/tools/e2fsprogs/Makefile
index fca90f2091b91dfde8a980e48a871dc8693551c2..c5bdb1c0d47779d2a9222b70bf2a79395dd11565 100644
--- a/tools/e2fsprogs/Makefile
+++ b/tools/e2fsprogs/Makefile
@@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=e2fsprogs
PKG_VERSION:=1.43.3
PKG_HASH:=ce8ef1bbb0d4730f170167284fda156ac9d6bf18db2750eb94af619a81b19927
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=@SF/e2fsprogs
diff --git a/tools/e2fsprogs/patches/005-misc-rename-copy_file_range-to-copy_file_chunk.patch b/tools/e2fsprogs/patches/005-misc-rename-copy_file_range-to-copy_file_chunk.patch
new file mode 100644
index 0000000000000000000000000000000000000000..bd6ee81b906b6fd000f97a915a6959c678acd1f8
--- /dev/null
+++ b/tools/e2fsprogs/patches/005-misc-rename-copy_file_range-to-copy_file_chunk.patch
@@ -0,0 +1,53 @@
+From 01551bdba16ab16512a01affe02ade32c41ede8a Mon Sep 17 00:00:00 2001
+From: Palmer Dabbelt <palmer@dabbelt.com>
+Date: Fri, 29 Dec 2017 10:19:51 -0800
+Subject: [PATCH] misc: rename copy_file_range to copy_file_chunk
+
+As of 2.27, glibc will have a copy_file_range library call to wrap the
+new copy_file_range system call. This conflicts with the function in
+misc/create_inode.c, which this patch renames _copy_file_range.
+
+Signed-off-by: Palmer Dabbelt <palmer@dabbelt.com>
+Signed-off-by: Theodore Ts'o <tytso@mit.edu>
+---
+ misc/create_inode.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+--- a/misc/create_inode.c
++++ b/misc/create_inode.c
+@@ -392,7 +392,7 @@ static ssize_t my_pread(int fd, void *bu
+ }
+ #endif /* !defined HAVE_PREAD64 && !defined HAVE_PREAD */
+
+-static errcode_t copy_file_range(ext2_filsys fs, int fd, ext2_file_t e2_file,
++static errcode_t copy_file_chunk(ext2_filsys fs, int fd, ext2_file_t e2_file,
+ off_t start, off_t end, char *buf,
+ char *zerobuf)
+ {
+@@ -466,7 +466,7 @@ static errcode_t try_lseek_copy(ext2_fil
+
+ data_blk = data & ~(fs->blocksize - 1);
+ hole_blk = (hole + (fs->blocksize - 1)) & ~(fs->blocksize - 1);
+- err = copy_file_range(fs, fd, e2_file, data_blk, hole_blk, buf,
++ err = copy_file_chunk(fs, fd, e2_file, data_blk, hole_blk, buf,
+ zerobuf);
+ if (err)
+ return err;
+@@ -516,7 +516,7 @@ static errcode_t try_fiemap_copy(ext2_fi
+ }
+ for (i = 0, ext = ext_buf; i < fiemap_buf->fm_mapped_extents;
+ i++, ext++) {
+- err = copy_file_range(fs, fd, e2_file, ext->fe_logical,
++ err = copy_file_chunk(fs, fd, e2_file, ext->fe_logical,
+ ext->fe_logical + ext->fe_length,
+ buf, zerobuf);
+ if (err)
+@@ -569,7 +569,7 @@ static errcode_t copy_file(ext2_filsys f
+ goto out;
+ #endif
+
+- err = copy_file_range(fs, fd, e2_file, 0, statbuf->st_size, buf,
++ err = copy_file_chunk(fs, fd, e2_file, 0, statbuf->st_size, buf,
+ zerobuf);
+ out:
+ ext2fs_free_mem(&zerobuf);

View File

@ -0,0 +1,80 @@
From: Matthias Schiffer <mschiffer@universe-factory.net>
Date: Tue, 21 Aug 2018 20:29:12 +0200
Subject: Revert "tools/e2fsprogs: fix building on a glibc 2.27 host"
This reverts commit 58a95f0f8ff768b43d68eed2b6a786e0f40f723b.
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
diff --git a/tools/e2fsprogs/Makefile b/tools/e2fsprogs/Makefile
index c5bdb1c0d47779d2a9222b70bf2a79395dd11565..fca90f2091b91dfde8a980e48a871dc8693551c2 100644
--- a/tools/e2fsprogs/Makefile
+++ b/tools/e2fsprogs/Makefile
@@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=e2fsprogs
PKG_VERSION:=1.43.3
PKG_HASH:=ce8ef1bbb0d4730f170167284fda156ac9d6bf18db2750eb94af619a81b19927
-PKG_RELEASE:=2
+PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=@SF/e2fsprogs
diff --git a/tools/e2fsprogs/patches/005-misc-rename-copy_file_range-to-copy_file_chunk.patch b/tools/e2fsprogs/patches/005-misc-rename-copy_file_range-to-copy_file_chunk.patch
deleted file mode 100644
index bd6ee81b906b6fd000f97a915a6959c678acd1f8..0000000000000000000000000000000000000000
--- a/tools/e2fsprogs/patches/005-misc-rename-copy_file_range-to-copy_file_chunk.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From 01551bdba16ab16512a01affe02ade32c41ede8a Mon Sep 17 00:00:00 2001
-From: Palmer Dabbelt <palmer@dabbelt.com>
-Date: Fri, 29 Dec 2017 10:19:51 -0800
-Subject: [PATCH] misc: rename copy_file_range to copy_file_chunk
-
-As of 2.27, glibc will have a copy_file_range library call to wrap the
-new copy_file_range system call. This conflicts with the function in
-misc/create_inode.c, which this patch renames _copy_file_range.
-
-Signed-off-by: Palmer Dabbelt <palmer@dabbelt.com>
-Signed-off-by: Theodore Ts'o <tytso@mit.edu>
----
- misc/create_inode.c | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
---- a/misc/create_inode.c
-+++ b/misc/create_inode.c
-@@ -392,7 +392,7 @@ static ssize_t my_pread(int fd, void *bu
- }
- #endif /* !defined HAVE_PREAD64 && !defined HAVE_PREAD */
-
--static errcode_t copy_file_range(ext2_filsys fs, int fd, ext2_file_t e2_file,
-+static errcode_t copy_file_chunk(ext2_filsys fs, int fd, ext2_file_t e2_file,
- off_t start, off_t end, char *buf,
- char *zerobuf)
- {
-@@ -466,7 +466,7 @@ static errcode_t try_lseek_copy(ext2_fil
-
- data_blk = data & ~(fs->blocksize - 1);
- hole_blk = (hole + (fs->blocksize - 1)) & ~(fs->blocksize - 1);
-- err = copy_file_range(fs, fd, e2_file, data_blk, hole_blk, buf,
-+ err = copy_file_chunk(fs, fd, e2_file, data_blk, hole_blk, buf,
- zerobuf);
- if (err)
- return err;
-@@ -516,7 +516,7 @@ static errcode_t try_fiemap_copy(ext2_fi
- }
- for (i = 0, ext = ext_buf; i < fiemap_buf->fm_mapped_extents;
- i++, ext++) {
-- err = copy_file_range(fs, fd, e2_file, ext->fe_logical,
-+ err = copy_file_chunk(fs, fd, e2_file, ext->fe_logical,
- ext->fe_logical + ext->fe_length,
- buf, zerobuf);
- if (err)
-@@ -569,7 +569,7 @@ static errcode_t copy_file(ext2_filsys f
- goto out;
- #endif
-
-- err = copy_file_range(fs, fd, e2_file, 0, statbuf->st_size, buf,
-+ err = copy_file_chunk(fs, fd, e2_file, 0, statbuf->st_size, buf,
- zerobuf);
- out:
- ext2fs_free_mem(&zerobuf);

View File

@ -0,0 +1,51 @@
From: Daniel Engberg <daniel.engberg.lists@pyret.net>
Date: Mon, 6 Feb 2017 20:05:36 +0100
Subject: tools/e2fsprogs: Update to 1.43.4
* Update to 1.43.4
* Refresh patches
* xz tarball which saves about 2M in size
Changelog: http://e2fsprogs.sourceforge.net/e2fsprogs-release.html#1.43.4
Tested by Etienne Haarsma (ar71xx), Daniel Engberg (kirkwood)
Signed-off-by: Etienne Haarsma <bladeoner112@gmail.com>
Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
Signed-off-by: Felix Fietkau <nbd@nbd.name> [use @KERNEL instead of harcoded URL]
(cherry picked from commit 34ba64fe708e45b7c042e2d273e66d4ce03df4e3)
diff --git a/tools/e2fsprogs/Makefile b/tools/e2fsprogs/Makefile
index fca90f2091b91dfde8a980e48a871dc8693551c2..a95edaba670656cc2f0e9f0b13bfe53fbe9e2047 100644
--- a/tools/e2fsprogs/Makefile
+++ b/tools/e2fsprogs/Makefile
@@ -8,12 +8,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=e2fsprogs
-PKG_VERSION:=1.43.3
-PKG_HASH:=ce8ef1bbb0d4730f170167284fda156ac9d6bf18db2750eb94af619a81b19927
+PKG_VERSION:=1.43.4
+PKG_HASH:=54b3f21123a531a6a536b9cdcc21344b0122a72790dbe4dacc98e64db25e4a24
PKG_RELEASE:=1
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=@SF/e2fsprogs
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
+PKG_SOURCE_URL:=@KERNEL/linux/kernel/people/tytso/e2fsprogs/v$(PKG_VERSION)/
HOST_BUILD_PARALLEL:=1
diff --git a/tools/e2fsprogs/patches/010-old-libmagic.patch b/tools/e2fsprogs/patches/010-old-libmagic.patch
index 9156b733729c6985a63672daca0887d4ed9ca550..11a7e180be8cb5c6e9d6809c08507afda02b7ff8 100644
--- a/tools/e2fsprogs/patches/010-old-libmagic.patch
+++ b/tools/e2fsprogs/patches/010-old-libmagic.patch
@@ -14,7 +14,7 @@ Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
--- a/lib/support/plausible.c
+++ b/lib/support/plausible.c
-@@ -247,7 +247,7 @@ int check_plausibility(const char *devic
+@@ -258,7 +258,7 @@ int check_plausibility(const char *devic
return 0;
}

View File

@ -0,0 +1,24 @@
From: Daniel Engberg <daniel.engberg.lists@pyret.net>
Date: Mon, 7 Aug 2017 04:42:21 +0200
Subject: tools/e2fsprogs: Update to 1.43.5
Update e2fsprogs to 1.43.5
Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
(cherry picked from commit 8477d5454531a35306d57c123c89602fee71a07f)
diff --git a/tools/e2fsprogs/Makefile b/tools/e2fsprogs/Makefile
index a95edaba670656cc2f0e9f0b13bfe53fbe9e2047..04befc9c809da031a9b9a062a6eb4f73a19c65ca 100644
--- a/tools/e2fsprogs/Makefile
+++ b/tools/e2fsprogs/Makefile
@@ -8,8 +8,8 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=e2fsprogs
-PKG_VERSION:=1.43.4
-PKG_HASH:=54b3f21123a531a6a536b9cdcc21344b0122a72790dbe4dacc98e64db25e4a24
+PKG_VERSION:=1.43.5
+PKG_HASH:=261f3d9ade383fbf032a19140c9c25e998cc0f71a1ae686614fb3ae0eb955a17
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz

View File

@ -0,0 +1,133 @@
From: Daniel Engberg <daniel.engberg.lists@pyret.net>
Date: Fri, 8 Sep 2017 09:42:23 +0200
Subject: tools/e2fsprogs: Update to 1.43.6
Update e2fsprogs to 1.43.6
* Remove FreeBSD patch as it's not needed, FreeBSD 9.1 is EoL and this
is compiling on FreeBSD 11.1.
* Remove libmagic patch, RHEL 5 is EoL (End of Production Phase) since
March 31, 2017.
Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
(cherry picked from commit ed617fd8f2f39e18ad435883db5b4100e6f7f977)
diff --git a/tools/e2fsprogs/Makefile b/tools/e2fsprogs/Makefile
index 04befc9c809da031a9b9a062a6eb4f73a19c65ca..0c054b13cab1ebe13ddb0c9c347c589ad7ed05f2 100644
--- a/tools/e2fsprogs/Makefile
+++ b/tools/e2fsprogs/Makefile
@@ -8,8 +8,8 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=e2fsprogs
-PKG_VERSION:=1.43.5
-PKG_HASH:=261f3d9ade383fbf032a19140c9c25e998cc0f71a1ae686614fb3ae0eb955a17
+PKG_VERSION:=1.43.6
+PKG_HASH:=c9b226234ee878a8d89951f3b155cec7416dd0ec09c932c855f1b1df8ad93402
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
diff --git a/tools/e2fsprogs/patches/004-darwin-compat.patch b/tools/e2fsprogs/patches/004-darwin-compat.patch
new file mode 100644
index 0000000000000000000000000000000000000000..d84aa121ca540977c2973630a9ceb26a8a2e3a6c
--- /dev/null
+++ b/tools/e2fsprogs/patches/004-darwin-compat.patch
@@ -0,0 +1,22 @@
+--- a/lib/blkid/blkid_types.h.in
++++ b/lib/blkid/blkid_types.h.in
+@@ -9,6 +9,8 @@
+
+ @ASM_TYPES_HEADER@
+
++#include <stdint.h>
++
+ #ifndef HAVE___U8
+ #define HAVE___U8
+ #ifdef __U8_TYPEDEF
+--- a/lib/ext2fs/ext2_types.h.in
++++ b/lib/ext2fs/ext2_types.h.in
+@@ -9,6 +9,8 @@
+
+ @ASM_TYPES_HEADER@
+
++#include <stdint.h>
++
+ #ifndef HAVE___U8
+ #define HAVE___U8
+ #ifdef __U8_TYPEDEF
diff --git a/tools/e2fsprogs/patches/004-freebsd-compat.patch b/tools/e2fsprogs/patches/004-freebsd-compat.patch
deleted file mode 100644
index d102e1cd9c0966091da25fcbeb3d284c65ffc063..0000000000000000000000000000000000000000
--- a/tools/e2fsprogs/patches/004-freebsd-compat.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- a/lib/ext2fs/tdb.c
-+++ b/lib/ext2fs/tdb.c
-@@ -58,7 +58,9 @@ Last Changed Date: 2007-06-22 13:36:10 -
- #include <utime.h>
- #endif
- #include <sys/stat.h>
-+#ifndef __FreeBSD__
- #include <sys/file.h>
-+#endif
- #include <fcntl.h>
-
- #ifdef HAVE_SYS_MMAN_H
diff --git a/tools/e2fsprogs/patches/005-darwin-compat.patch b/tools/e2fsprogs/patches/005-darwin-compat.patch
deleted file mode 100644
index d84aa121ca540977c2973630a9ceb26a8a2e3a6c..0000000000000000000000000000000000000000
--- a/tools/e2fsprogs/patches/005-darwin-compat.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- a/lib/blkid/blkid_types.h.in
-+++ b/lib/blkid/blkid_types.h.in
-@@ -9,6 +9,8 @@
-
- @ASM_TYPES_HEADER@
-
-+#include <stdint.h>
-+
- #ifndef HAVE___U8
- #define HAVE___U8
- #ifdef __U8_TYPEDEF
---- a/lib/ext2fs/ext2_types.h.in
-+++ b/lib/ext2fs/ext2_types.h.in
-@@ -9,6 +9,8 @@
-
- @ASM_TYPES_HEADER@
-
-+#include <stdint.h>
-+
- #ifndef HAVE___U8
- #define HAVE___U8
- #ifdef __U8_TYPEDEF
diff --git a/tools/e2fsprogs/patches/010-old-libmagic.patch b/tools/e2fsprogs/patches/010-old-libmagic.patch
deleted file mode 100644
index 11a7e180be8cb5c6e9d6809c08507afda02b7ff8..0000000000000000000000000000000000000000
--- a/tools/e2fsprogs/patches/010-old-libmagic.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From b482eb7af94885b6bbad9329e40702c958d5b448 Mon Sep 17 00:00:00 2001
-From: Hauke Mehrtens <hauke@hauke-m.de>
-Date: Thu, 30 Jun 2016 19:53:03 +0200
-Subject: [PATCH] fix build problem with very old libmagic
-
-The libmagic shipped with RedHat 5 does not define
-MAGIC_NO_CHECK_ELF and MAGIC_NO_CHECK_COMPRESS. e2fsprogs should
-check for that otherwise the build will fail.
-
-Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
----
- lib/support/plausible.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/lib/support/plausible.c
-+++ b/lib/support/plausible.c
-@@ -258,7 +258,7 @@ int check_plausibility(const char *devic
- return 0;
- }
-
--#ifdef HAVE_MAGIC_H
-+#if defined(HAVE_MAGIC_H) && defined(MAGIC_NO_CHECK_ELF) && defined(MAGIC_NO_CHECK_COMPRESS)
- if ((flags & CHECK_FS_EXIST) &&
- !getenv("E2FSPROGS_LIBMAGIC_SUPPRESS") &&
- magic_library_available()) {

View File

@ -0,0 +1,24 @@
From: Rosen Penev <rosenp@gmail.com>
Date: Tue, 21 Nov 2017 21:57:53 -0800
Subject: tools/e2fsprogs: Update to 1.43.7
Compile tested on Fedora 27.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
(cherry picked from commit 08cc9a2ca8536e9808b60145cd0e10bdcfc98aca)
diff --git a/tools/e2fsprogs/Makefile b/tools/e2fsprogs/Makefile
index 0c054b13cab1ebe13ddb0c9c347c589ad7ed05f2..0a48b5434d91d57fb85061e2f0f088512d3cc692 100644
--- a/tools/e2fsprogs/Makefile
+++ b/tools/e2fsprogs/Makefile
@@ -8,8 +8,8 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=e2fsprogs
-PKG_VERSION:=1.43.6
-PKG_HASH:=c9b226234ee878a8d89951f3b155cec7416dd0ec09c932c855f1b1df8ad93402
+PKG_VERSION:=1.43.7
+PKG_HASH:=2a6367289047d68d9ba6a46cf89ab9a1efd0556cde02a51ebaf414ff51edded9
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz

View File

@ -0,0 +1,24 @@
From: Ansuel Smith <ansuelsmth@gmail.com>
Date: Fri, 9 Mar 2018 02:29:58 +0100
Subject: e2fsprogs: bump to 1.44.0
Fix compilation error
Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
(cherry picked from commit a9c00578b5c55357117db9dbbbd4e5652b9b4648)
diff --git a/tools/e2fsprogs/Makefile b/tools/e2fsprogs/Makefile
index 0a48b5434d91d57fb85061e2f0f088512d3cc692..d709e8fa88e80c75d8aa60dadeca9471821ba2e6 100644
--- a/tools/e2fsprogs/Makefile
+++ b/tools/e2fsprogs/Makefile
@@ -8,8 +8,8 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=e2fsprogs
-PKG_VERSION:=1.43.7
-PKG_HASH:=2a6367289047d68d9ba6a46cf89ab9a1efd0556cde02a51ebaf414ff51edded9
+PKG_VERSION:=1.44.0
+PKG_HASH:=a3567042f03fcee0e01db8f923b24cec92e2ba5b11f8e39e245672ad5392723d
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz

View File

@ -0,0 +1,24 @@
From: Paul Wassi <p.wassi@gmx.at>
Date: Mon, 26 Mar 2018 13:51:01 +0200
Subject: tools/e2fsprogs: update to 1.44.1
Update e2fsprogs to upstream 1.44.1 (feature and bugfix release)
Signed-off-by: Paul Wassi <p.wassi@gmx.at>
(cherry picked from commit 8262179f4a007035a531bb913261f5f91115fad8)
diff --git a/tools/e2fsprogs/Makefile b/tools/e2fsprogs/Makefile
index d709e8fa88e80c75d8aa60dadeca9471821ba2e6..676da26e751fe34eeb41a149bf291d439ea18ff7 100644
--- a/tools/e2fsprogs/Makefile
+++ b/tools/e2fsprogs/Makefile
@@ -8,8 +8,8 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=e2fsprogs
-PKG_VERSION:=1.44.0
-PKG_HASH:=a3567042f03fcee0e01db8f923b24cec92e2ba5b11f8e39e245672ad5392723d
+PKG_VERSION:=1.44.1
+PKG_HASH:=0ca164c1c87724df904c918b2d7051ef989b51de725db66c67514dbe6dd2b9ef
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz

View File

@ -0,0 +1,45 @@
From: Alex Maclean <monkeh@monkeh.net>
Date: Mon, 23 Oct 2017 13:47:33 +0100
Subject: tools/mtd-utils: include sysmacros.h explicitly
glibc is moving to remove the include of sys/sysmacros.h from
sys/types.h, and some distros have done this early. Other libcs may
already lack this include. Include sysmacros.h explicitly.
Fixes: FS#1015
Signed-off-by: Alex Maclean <monkeh@monkeh.net>
[refresh patches]
Signed-off-by: Mathias Kresin <dev@kresin.me>
diff --git a/tools/mtd-utils/patches/120-include_sysmacros.patch b/tools/mtd-utils/patches/120-include_sysmacros.patch
new file mode 100644
index 0000000000000000000000000000000000000000..81ba1cfb2b875c6efeac9b703de7b3bae1537416
--- /dev/null
+++ b/tools/mtd-utils/patches/120-include_sysmacros.patch
@@ -0,0 +1,25 @@
+From 9a06f45ec71116d76ee4b268ebe1b33d45b06fc0 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Sat, 16 Apr 2016 22:10:43 -0400
+Subject: [PATCH mtd-utils] include sys/sysmacros.h for major/minor/makedev
+
+These functions have always been defined in sys/sysmacros.h under
+Linux C libraries. For some, including sys/types.h implicitly
+includes that as well, but glibc wants to deprecate that, and some
+others already have. Include the header explicitly for the funcs.
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+---
+ include/common.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/include/common.h
++++ b/include/common.h
+@@ -27,6 +27,7 @@
+ #include <fcntl.h>
+ #include <errno.h>
+ #include <inttypes.h>
++#include <sys/sysmacros.h>
+ #include "version.h"
+
+ #ifndef PROGRAM_NAME

View File

@ -0,0 +1,31 @@
From: Alex Maclean <monkeh@monkeh.net>
Date: Mon, 23 Oct 2017 13:43:43 +0100
Subject: tools/findutils: include sysmacros.h explicitly
glibc is moving to remove the include of sys/sysmacros.h from
sys/types.h, and some distros have done this early. Other libcs may
already lack this include. Include sysmacros.h explicitly.
Fixes: FS#1016
Signed-off-by: Alex Maclean <monkeh@monkeh.net>
diff --git a/tools/findutils/patches/100-include_sysmacros.patch b/tools/findutils/patches/100-include_sysmacros.patch
new file mode 100644
index 0000000000000000000000000000000000000000..82b1ee9a42b57219a79d26786c029c57d50525f9
--- /dev/null
+++ b/tools/findutils/patches/100-include_sysmacros.patch
@@ -0,0 +1,13 @@
+--- a/gl/lib/mountlist.c
++++ b/gl/lib/mountlist.c
+@@ -17,6 +17,10 @@
+
+ #include <config.h>
+
++#ifdef MAJOR_IN_SYSMACROS
++# include <sys/sysmacros.h>
++#endif
++
+ #include "mountlist.h"
+
+ #include <limits.h>

View File

@ -0,0 +1,119 @@
From: Luis Araneda <luaraneda@gmail.com>
Date: Wed, 8 Aug 2018 22:32:46 -0400
Subject: tools: findutils: fix compilation with glibc 2.28
Add a temporary workaround to compile with glibc 2.28
as some constants were removed and others made private
Signed-off-by: Luis Araneda <luaraneda@gmail.com>
diff --git a/tools/findutils/patches/110-glibc-change-work-around.patch b/tools/findutils/patches/110-glibc-change-work-around.patch
new file mode 100644
index 0000000000000000000000000000000000000000..91b69274c8e342aaa9af29404905d33e884a213d
--- /dev/null
+++ b/tools/findutils/patches/110-glibc-change-work-around.patch
@@ -0,0 +1,104 @@
+Subject: Workaround change in glibc
+
+Temporary workaround to compile with glibc 2.28, which
+deprecated some constants
+
+Based on the workaround made for the tools/m4 package
+
+--- a/gl/lib/stdio-impl.h
++++ b/gl/lib/stdio-impl.h
+@@ -18,6 +18,12 @@
+ the same implementation of stdio extension API, except that some fields
+ have different naming conventions, or their access requires some casts. */
+
++/* Glibc 2.28 made _IO_IN_BACKUP private. For now, work around this
++ problem by defining it ourselves. FIXME: Do not rely on glibc
++ internals. */
++#if !defined _IO_IN_BACKUP && defined _IO_EOF_SEEN
++# define _IO_IN_BACKUP 0x100
++#endif
+
+ /* BSD stdio derived implementations. */
+
+--- a/gl/lib/freadahead.c
++++ b/gl/lib/freadahead.c
+@@ -25,7 +25,7 @@
+ size_t
+ freadahead (FILE *fp)
+ {
+-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
++#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+ if (fp->_IO_write_ptr > fp->_IO_write_base)
+ return 0;
+ return (fp->_IO_read_end - fp->_IO_read_ptr)
+--- a/gl/lib/fseeko.c
++++ b/gl/lib/fseeko.c
+@@ -47,7 +47,7 @@ fseeko (FILE *fp, off_t offset, int when
+ #endif
+
+ /* These tests are based on fpurge.c. */
+-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
++#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+ if (fp->_IO_read_end == fp->_IO_read_ptr
+ && fp->_IO_write_ptr == fp->_IO_write_base
+ && fp->_IO_save_base == NULL)
+@@ -123,7 +123,7 @@ fseeko (FILE *fp, off_t offset, int when
+ return -1;
+ }
+
+-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
++#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+ fp->_flags &= ~_IO_EOF_SEEN;
+ fp->_offset = pos;
+ #elif defined __sferror || defined __DragonFly__ || defined __ANDROID__
+--- a/gl/lib/fflush.c
++++ b/gl/lib/fflush.c
+@@ -33,7 +33,7 @@
+ #undef fflush
+
+
+-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
++#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+
+ /* Clear the stream's ungetc buffer, preserving the value of ftello (fp). */
+ static void
+@@ -72,7 +72,7 @@ clear_ungetc_buffer (FILE *fp)
+
+ #endif
+
+-#if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */)
++#if ! (defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */)
+
+ # if (defined __sferror || defined __DragonFly__ || defined __ANDROID__) && defined __SNPT
+ /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Android */
+@@ -148,7 +148,7 @@ rpl_fflush (FILE *stream)
+ if (stream == NULL || ! freading (stream))
+ return fflush (stream);
+
+-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
++#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+
+ clear_ungetc_buffer_preserving_position (stream);
+
+--- a/gl/lib/freading.c
++++ b/gl/lib/freading.c
+@@ -31,7 +31,7 @@ freading (FILE *fp)
+ /* Most systems provide FILE as a struct and the necessary bitmask in
+ <stdio.h>, because they need it for implementing getc() and putc() as
+ fast macros. */
+-# if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
++# if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+ return ((fp->_flags & _IO_NO_WRITES) != 0
+ || ((fp->_flags & (_IO_NO_READS | _IO_CURRENTLY_PUTTING)) == 0
+ && fp->_IO_read_base != NULL));
+--- a/gl/lib/fpurge.c
++++ b/gl/lib/fpurge.c
+@@ -62,7 +62,7 @@ fpurge (FILE *fp)
+ /* Most systems provide FILE as a struct and the necessary bitmask in
+ <stdio.h>, because they need it for implementing getc() and putc() as
+ fast macros. */
+-# if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
++# if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+ fp->_IO_read_end = fp->_IO_read_ptr;
+ fp->_IO_write_ptr = fp->_IO_write_base;
+ /* Avoid memory leak when there is an active ungetc buffer. */

View File

@ -0,0 +1,38 @@
From: Alex Maclean <monkeh@monkeh.net>
Date: Mon, 23 Oct 2017 13:47:55 +0100
Subject: tools/squashfs: include sysmacros.h explicitly
glibc is moving to remove the include of sys/sysmacros.h from
sys/types.h, and some distros have done this early. Other libcs may
already lack this include. Include sysmacros.h explicitly.
Fixes: FS#1018
Signed-off-by: Alex Maclean <monkeh@monkeh.net>
diff --git a/tools/squashfs/patches/130-include_sysmacros.patch b/tools/squashfs/patches/130-include_sysmacros.patch
new file mode 100644
index 0000000000000000000000000000000000000000..f0149d6f65f08cddce365b39f31310e383f437f5
--- /dev/null
+++ b/tools/squashfs/patches/130-include_sysmacros.patch
@@ -0,0 +1,20 @@
+--- a/squashfs-tools/mksquashfs.c
++++ b/squashfs-tools/mksquashfs.c
+@@ -30,6 +30,7 @@
+ #include <unistd.h>
+ #include <stdio.h>
+ #include <sys/types.h>
++#include <sys/sysmacros.h>
+ #include <sys/stat.h>
+ #include <fcntl.h>
+ #include <errno.h>
+--- a/squashfs-tools/unsquashfs.c
++++ b/squashfs-tools/unsquashfs.c
+@@ -25,6 +25,7 @@
+ #define FALSE 0
+ #include <stdio.h>
+ #include <sys/types.h>
++#include <sys/sysmacros.h>
+ #include <sys/stat.h>
+ #include <fcntl.h>
+ #include <errno.h>

View File

@ -0,0 +1,199 @@
From: Alex Maclean <monkeh@monkeh.net>
Date: Mon, 23 Oct 2017 13:48:19 +0100
Subject: tools/squashfs4: include sysmacros.h explicitly
glibc is moving to remove the include of sys/sysmacros.h from
sys/types.h, and some distros have done this early. Other libcs may
already lack this include. Include sysmacros.h explicitly.
Fixes: FS#1017
Signed-off-by: Alex Maclean <monkeh@monkeh.net>
[refresh patches]
Signed-off-by: Mathias Kresin <dev@kresin.me>
diff --git a/tools/squashfs4/patches/130-include_sysmacros.patch b/tools/squashfs4/patches/130-include_sysmacros.patch
new file mode 100644
index 0000000000000000000000000000000000000000..e8845130ef71d00c6cf17eb550078f9bec894c1a
--- /dev/null
+++ b/tools/squashfs4/patches/130-include_sysmacros.patch
@@ -0,0 +1,20 @@
+--- a/squashfs-tools/mksquashfs.c
++++ b/squashfs-tools/mksquashfs.c
+@@ -33,6 +33,7 @@
+ #include <stddef.h>
+ #include <sys/time.h>
+ #include <sys/types.h>
++#include <sys/sysmacros.h>
+ #include <sys/stat.h>
+ #include <fcntl.h>
+ #include <errno.h>
+--- a/squashfs-tools/unsquashfs.c
++++ b/squashfs-tools/unsquashfs.c
+@@ -30,6 +30,7 @@
+ #include "xattr.h"
+
+ #include <sys/types.h>
++#include <sys/sysmacros.h>
+
+ struct cache *fragment_cache, *data_cache;
+ struct queue *to_reader, *to_deflate, *to_writer, *from_writer;
diff --git a/tools/squashfs4/patches/170-add_support_for_LZMA_MAGIC_to_unsqashfs.patch b/tools/squashfs4/patches/170-add_support_for_LZMA_MAGIC_to_unsqashfs.patch
index ad69b190ea9f1d2335d7b83e8b0a26700dd5c05c..bc7d6c7a4a06b7ed62233a263dce68d935317621 100644
--- a/tools/squashfs4/patches/170-add_support_for_LZMA_MAGIC_to_unsqashfs.patch
+++ b/tools/squashfs4/patches/170-add_support_for_LZMA_MAGIC_to_unsqashfs.patch
@@ -16,7 +16,7 @@
#define SQUASHFS_METADATA_LOG 13
--- a/squashfs-tools/unsquashfs.c
+++ b/squashfs-tools/unsquashfs.c
-@@ -1463,10 +1463,12 @@ int read_super(char *source)
+@@ -1464,10 +1464,12 @@ int read_super(char *source)
*/
read_fs_bytes(fd, SQUASHFS_START, sizeof(struct squashfs_super_block),
&sBlk_4);
@@ -31,7 +31,7 @@
sBlk_4.s_minor == 0) {
s_ops.squashfs_opendir = squashfs_opendir_4;
s_ops.read_fragment = read_fragment_4;
-@@ -1479,7 +1481,11 @@ int read_super(char *source)
+@@ -1480,7 +1482,11 @@ int read_super(char *source)
/*
* Check the compression type
*/
@@ -44,7 +44,7 @@
return TRUE;
}
-@@ -1494,8 +1500,10 @@ int read_super(char *source)
+@@ -1495,8 +1501,10 @@ int read_super(char *source)
* Check it is a SQUASHFS superblock
*/
swap = 0;
@@ -57,7 +57,7 @@
squashfs_super_block_3 sblk;
ERROR("Reading a different endian SQUASHFS filesystem "
"on %s\n", source);
-@@ -1573,7 +1581,11 @@ int read_super(char *source)
+@@ -1574,7 +1582,11 @@ int read_super(char *source)
/*
* 1.x, 2.x and 3.x filesystems use gzip compression.
*/
diff --git a/tools/squashfs4/patches/180-openbsd_compat.patch b/tools/squashfs4/patches/180-openbsd_compat.patch
index b9c1b5925d8526454a6bed5139bf6301a5896c02..4f7afd89cc914af1e2a05a469256a651beb4892d 100644
--- a/tools/squashfs4/patches/180-openbsd_compat.patch
+++ b/tools/squashfs4/patches/180-openbsd_compat.patch
@@ -8,8 +8,8 @@
+#include <sys/param.h>
+#endif
#include <sys/types.h>
+ #include <sys/sysmacros.h>
#include <sys/stat.h>
- #include <fcntl.h>
--- a/squashfs-tools/unsquashfs.h
+++ b/squashfs-tools/unsquashfs.h
@@ -25,6 +25,9 @@
diff --git a/tools/squashfs4/patches/190-no_nonstatic_inline.patch b/tools/squashfs4/patches/190-no_nonstatic_inline.patch
index 27ebc6a2639be8d3b303e34ab73e224f394d9b2d..8cab12083259492095016c8032a25b13b3fe8784 100644
--- a/tools/squashfs4/patches/190-no_nonstatic_inline.patch
+++ b/tools/squashfs4/patches/190-no_nonstatic_inline.patch
@@ -1,6 +1,6 @@
--- a/squashfs-tools/mksquashfs.c
+++ b/squashfs-tools/mksquashfs.c
-@@ -735,13 +735,13 @@ void cache_block_put(struct file_buffer
+@@ -736,13 +736,13 @@ void cache_block_put(struct file_buffer
+ (((char *)A) - data_cache)))
@@ -16,7 +16,7 @@
{
pthread_mutex_lock(&progress_mutex);
pthread_cond_signal(&progress_wait);
-@@ -749,7 +749,7 @@ inline void update_progress_bar()
+@@ -750,7 +750,7 @@ inline void update_progress_bar()
}
@@ -25,7 +25,7 @@
{
TRACE("Waiting for thread %d\n", i);
while(thread[i] != 0)
-@@ -3358,7 +3358,7 @@ struct inode_info *lookup_inode(struct s
+@@ -3359,7 +3359,7 @@ struct inode_info *lookup_inode(struct s
}
diff --git a/tools/squashfs4/patches/200-add-fixed-timestamp-option.patch b/tools/squashfs4/patches/200-add-fixed-timestamp-option.patch
index 5cec51f7b7ea716b76fdb63db307728728f21f44..7411b97844978d5c7a4ec0030bd204a3fadb5c64 100644
--- a/tools/squashfs4/patches/200-add-fixed-timestamp-option.patch
+++ b/tools/squashfs4/patches/200-add-fixed-timestamp-option.patch
@@ -1,6 +1,6 @@
--- a/squashfs-tools/mksquashfs.c
+++ b/squashfs-tools/mksquashfs.c
-@@ -175,6 +175,9 @@ unsigned int cache_bytes = 0, cache_size
+@@ -176,6 +176,9 @@ unsigned int cache_bytes = 0, cache_size
/* inode lookup table */
squashfs_inode *inode_lookup_table = NULL;
@@ -10,7 +10,7 @@
/* in memory directory data */
#define I_COUNT_SIZE 128
#define DIR_ENTRIES 32
-@@ -2452,6 +2455,8 @@ again:
+@@ -2453,6 +2456,8 @@ again:
restat:
fstat(file, &buf2);
close(file);
@@ -19,7 +19,7 @@
if(read_size != buf2.st_size) {
memcpy(buf, &buf2, sizeof(struct stat));
file_buffer->error = 2;
-@@ -3612,7 +3617,7 @@ void dir_scan(squashfs_inode *inode, cha
+@@ -3613,7 +3618,7 @@ void dir_scan(squashfs_inode *inode, cha
buf.st_mode = S_IRWXU | S_IRWXG | S_IRWXO | S_IFDIR;
buf.st_uid = getuid();
buf.st_gid = getgid();
@@ -28,7 +28,7 @@
buf.st_dev = 0;
buf.st_ino = 0;
dir_ent->inode = lookup_inode(&buf);
-@@ -3623,6 +3628,8 @@ void dir_scan(squashfs_inode *inode, cha
+@@ -3624,6 +3629,8 @@ void dir_scan(squashfs_inode *inode, cha
pathname, strerror(errno));
return;
}
@@ -37,7 +37,7 @@
dir_ent->inode = lookup_inode(&buf);
}
-@@ -3677,6 +3684,8 @@ struct dir_info *dir_scan1(char *pathnam
+@@ -3678,6 +3685,8 @@ struct dir_info *dir_scan1(char *pathnam
filename, strerror(errno));
continue;
}
@@ -46,7 +46,7 @@
if((buf.st_mode & S_IFMT) != S_IFREG &&
(buf.st_mode & S_IFMT) != S_IFDIR &&
-@@ -3795,7 +3804,7 @@ struct dir_info *dir_scan2(struct dir_in
+@@ -3796,7 +3805,7 @@ struct dir_info *dir_scan2(struct dir_in
buf.st_gid = pseudo_ent->dev->gid;
buf.st_rdev = makedev(pseudo_ent->dev->major,
pseudo_ent->dev->minor);
@@ -55,7 +55,7 @@
buf.st_ino = pseudo_ino ++;
if(pseudo_ent->dev->type == 'f') {
-@@ -4674,6 +4683,15 @@ int main(int argc, char *argv[])
+@@ -4675,6 +4684,15 @@ int main(int argc, char *argv[])
progress = FALSE;
else if(strcmp(argv[i], "-no-exports") == 0)
exportable = FALSE;
@@ -71,7 +71,7 @@
else if(strcmp(argv[i], "-processors") == 0) {
if((++i == argc) || (processors =
strtol(argv[i], &b, 10), *b != '\0')) {
-@@ -5314,7 +5332,7 @@ printOptions:
+@@ -5315,7 +5333,7 @@ printOptions:
sBlk.flags = SQUASHFS_MKFLAGS(noI, noD, noF, noX, no_fragments,
always_use_fragments, duplicate_checking, exportable,
no_xattrs, comp_opts);

View File

@ -0,0 +1,19 @@
From: Felix Fietkau <nbd@nbd.name>
Date: Tue, 24 Oct 2017 13:22:09 +0200
Subject: tools/squashfs: use host cflags
Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 20d363aed395e07ff42fe648f898b17f2077cc82)
diff --git a/tools/squashfs/Makefile b/tools/squashfs/Makefile
index 27adca1d7f4a23435fa730c471dab7ec05851e93..87f6e8fd9931994438ce1340b3c72e4d872af1de 100644
--- a/tools/squashfs/Makefile
+++ b/tools/squashfs/Makefile
@@ -21,6 +21,7 @@ include $(INCLUDE_DIR)/host-build.mk
define Host/Compile
$(MAKE) -C $(HOST_BUILD_DIR)/squashfs-tools \
CC="$(HOSTCC)" \
+ CFLAGS="$(HOST_CFLAGS) -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -I." \
CXX="$(CXX)" \
LZMAPATH=$(STAGING_DIR_HOST)/lib \
mksquashfs-lzma unsquashfs-lzma

View File

@ -0,0 +1,49 @@
From: Alexandru Ardelean <ardeleanalex@gmail.com>
Date: Wed, 23 Nov 2016 10:27:55 +0200
Subject: target/linux/x86/image: add explicit prefix to grub-mkimage command
In the latest version of grub-mkimage, the prefix option is mandatory.
Not supplying it fails with:
```
Prefix not specified (use the -p option).
```
In grub-2.02-beta2 a DEFAULT_DIRECTORY was defined
in `include/grub/osdep/hostfile_unix.h` as:
```
#if defined (__NetBSD__)
/* NetBSD uses /boot for its boot block. */
# define DEFAULT_DIRECTORY "/"GRUB_DIR_NAME
#else
# define DEFAULT_DIRECTORY "/"GRUB_BOOT_DIR_NAME"/"GRUB_DIR_NAME
#endif
```
Where:
* GRUB_BOOT_DIR_NAME == boot
* GRUB_DIR_NAME == grub
This was used if the -p option was omitted.
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
diff --git a/target/linux/x86/image/Makefile b/target/linux/x86/image/Makefile
index 6f64eba398e34093308b766839e69780512a4ca8..ad995b675b51da11ea5fef83702f7dd9327a39f4 100644
--- a/target/linux/x86/image/Makefile
+++ b/target/linux/x86/image/Makefile
@@ -71,6 +71,7 @@ ifneq ($(CONFIG_GRUB_IMAGES),)
$(INSTALL_DIR) $(KDIR)/root.grub/boot/grub $(KDIR)/grub2
$(CP) $(KDIR)/bzImage $(KDIR)/root.grub/boot/vmlinuz
grub-mkimage \
+ -p /boot/grub \
-d $(STAGING_DIR_HOST)/lib/grub/i386-pc \
-o $(KDIR)/grub2/core.img \
-O i386-pc \
@@ -108,6 +109,7 @@ define Image/Build/iso
$(INSTALL_DIR) $(KDIR)/root.grub/boot/grub $(KDIR)/grub2
$(CP) $(KDIR)/bzImage $(KDIR)/root.grub/boot/vmlinuz
grub-mkimage \
+ -p /boot/grub \
-d $(STAGING_DIR_HOST)/lib/grub/i386-pc \
-o $(KDIR)/grub2/eltorito.img \
-O i386-pc \