diff --git a/patches/openwrt/0124-tools-e2fsprogs-add-a-darwin-compat-patch.patch b/patches/openwrt/0124-tools-e2fsprogs-add-a-darwin-compat-patch.patch new file mode 100644 index 00000000..c57ccb1c --- /dev/null +++ b/patches/openwrt/0124-tools-e2fsprogs-add-a-darwin-compat-patch.patch @@ -0,0 +1,39 @@ +From: Felix Fietkau +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 +Signed-off-by: Felix Fietkau + +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 +++ ++ #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 +++ ++ #ifdef __U8_TYPEDEF ++ typedef __U8_TYPEDEF __u8; ++ #else diff --git a/patches/openwrt/0125-tools-bison-update-to-3.0.4.patch b/patches/openwrt/0125-tools-bison-update-to-3.0.4.patch new file mode 100644 index 00000000..c0854b28 --- /dev/null +++ b/patches/openwrt/0125-tools-bison-update-to-3.0.4.patch @@ -0,0 +1,50 @@ +From: Felix Fietkau +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 + +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 + diff --git a/patches/openwrt/0126-tools-e2fsprogs-update-to-1.42.13.patch b/patches/openwrt/0126-tools-e2fsprogs-update-to-1.42.13.patch new file mode 100644 index 00000000..ffe4475e --- /dev/null +++ b/patches/openwrt/0126-tools-e2fsprogs-update-to-1.42.13.patch @@ -0,0 +1,99 @@ +From: Felix Fietkau +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 + +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 + #ifdef HAVE_SYS_IOCTL_H + #include +@@ -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 +-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 + #include +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 + #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 + + ++ #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 + + ++ #ifndef HAVE___U8 ++ #define HAVE___U8 + #ifdef __U8_TYPEDEF +- typedef __U8_TYPEDEF __u8; +- #else ++ diff --git a/patches/openwrt/0127-tools-e2fsprogs-remove-outdated-configure-args.patch b/patches/openwrt/0127-tools-e2fsprogs-remove-outdated-configure-args.patch new file mode 100644 index 00000000..275ebe5c --- /dev/null +++ b/patches/openwrt/0127-tools-e2fsprogs-remove-outdated-configure-args.patch @@ -0,0 +1,29 @@ +From: John Crispin +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 + +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 + diff --git a/patches/openwrt/0128-tools-e2fsprogs-bump-to-1.43.1.patch b/patches/openwrt/0128-tools-e2fsprogs-bump-to-1.43.1.patch new file mode 100644 index 00000000..26cf9788 --- /dev/null +++ b/patches/openwrt/0128-tools-e2fsprogs-bump-to-1.43.1.patch @@ -0,0 +1,88 @@ +From: Kevin Darbyshire-Bryant +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 + +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 + #ifdef HAVE_SYS_IOCTL_H + #include +@@ -10,13 +10,3 @@ + #endif + #ifdef HAVE_LINUX_FD_H + #include +---- a/lib/quota/mkquota.c +-+++ b/lib/quota/mkquota.c +-@@ -8,6 +8,7 @@ +- #include +- #include +- #include +-+#include +- #include +- #include +- +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 + #endif + #include +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 +- diff --git a/patches/openwrt/0129-e2fsprogs-fix-build-problem-with-very-old-libmagic.patch b/patches/openwrt/0129-e2fsprogs-fix-build-problem-with-very-old-libmagic.patch new file mode 100644 index 00000000..8b93e6b9 --- /dev/null +++ b/patches/openwrt/0129-e2fsprogs-fix-build-problem-with-very-old-libmagic.patch @@ -0,0 +1,41 @@ +From: Hauke Mehrtens +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 + +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 ++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 ++--- ++ 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()) { diff --git a/patches/openwrt/0130-tools-e2fsprogs-Update-to-1.43.3.patch b/patches/openwrt/0130-tools-e2fsprogs-Update-to-1.43.3.patch new file mode 100644 index 00000000..40121a38 --- /dev/null +++ b/patches/openwrt/0130-tools-e2fsprogs-Update-to-1.43.3.patch @@ -0,0 +1,23 @@ +From: diizzyy +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 + +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 diff --git a/patches/openwrt/0131-tools-make-ext4fs-prefer-static-linking.patch b/patches/openwrt/0131-tools-make-ext4fs-prefer-static-linking.patch new file mode 100644 index 00000000..8e5cf5c6 --- /dev/null +++ b/patches/openwrt/0131-tools-make-ext4fs-prefer-static-linking.patch @@ -0,0 +1,45 @@ +From: Jo-Philipp Wich +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 + +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 diff --git a/patches/openwrt/0132-tools-make-ext4fs-explicitely-request-C-collation-for-sorting.patch b/patches/openwrt/0132-tools-make-ext4fs-explicitely-request-C-collation-for-sorting.patch new file mode 100644 index 00000000..13df5a89 --- /dev/null +++ b/patches/openwrt/0132-tools-make-ext4fs-explicitely-request-C-collation-for-sorting.patch @@ -0,0 +1,33 @@ +From: Jo-Philipp Wich +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 + +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) diff --git a/patches/openwrt/0133-tools-fix-make_ext4fs-build-with-recent-glibc.patch b/patches/openwrt/0133-tools-fix-make_ext4fs-build-with-recent-glibc.patch new file mode 100644 index 00000000..c0a6a118 --- /dev/null +++ b/patches/openwrt/0133-tools-fix-make_ext4fs-build-with-recent-glibc.patch @@ -0,0 +1,50 @@ +From: Jo-Philipp Wich +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 + +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) diff --git a/patches/openwrt/0134-tools-make-ext4fs-fix-build-regression-on-mac-os-x.patch b/patches/openwrt/0134-tools-make-ext4fs-fix-build-regression-on-mac-os-x.patch new file mode 100644 index 00000000..4dbd1e31 --- /dev/null +++ b/patches/openwrt/0134-tools-make-ext4fs-fix-build-regression-on-mac-os-x.patch @@ -0,0 +1,27 @@ +From: Felix Fietkau +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 + +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 diff --git a/patches/openwrt/0135-tools-make_ext4fs-support-creating-empty-filesystem-images.patch b/patches/openwrt/0135-tools-make_ext4fs-support-creating-empty-filesystem-images.patch new file mode 100644 index 00000000..a1477999 --- /dev/null +++ b/patches/openwrt/0135-tools-make_ext4fs-support-creating-empty-filesystem-images.patch @@ -0,0 +1,31 @@ +From: Jo-Philipp Wich +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 + +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) diff --git a/patches/openwrt/0136-include-add-lede-git-server-url.patch b/patches/openwrt/0136-include-add-lede-git-server-url.patch new file mode 100644 index 00000000..d2dd155f --- /dev/null +++ b/patches/openwrt/0136-include-add-lede-git-server-url.patch @@ -0,0 +1,18 @@ +From: John Crispin +Date: Wed, 27 Apr 2016 01:33:14 +0200 +Subject: include: add lede git server url + +Signed-off-by: John Crispin + +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) + diff --git a/patches/openwrt/0137-download.mk-use-HTTPS-for-git.lede-project.org.patch b/patches/openwrt/0137-download.mk-use-HTTPS-for-git.lede-project.org.patch new file mode 100644 index 00000000..fbce85bc --- /dev/null +++ b/patches/openwrt/0137-download.mk-use-HTTPS-for-git.lede-project.org.patch @@ -0,0 +1,23 @@ +From: Jo-Philipp Wich +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 + +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) + diff --git a/patches/openwrt/0138-downloads.mk-introduce-name-agnostic-PROJECT_GIT-variable.patch b/patches/openwrt/0138-downloads.mk-introduce-name-agnostic-PROJECT_GIT-variable.patch new file mode 100644 index 00000000..5ff98a20 --- /dev/null +++ b/patches/openwrt/0138-downloads.mk-introduce-name-agnostic-PROJECT_GIT-variable.patch @@ -0,0 +1,30 @@ +From: Jo-Philipp Wich +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 +(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) + diff --git a/patches/openwrt/0139-tools-make_ext4fs-switch-to-LEDE-git-mirror.patch b/patches/openwrt/0139-tools-make_ext4fs-switch-to-LEDE-git-mirror.patch new file mode 100644 index 00000000..7d82d480 --- /dev/null +++ b/patches/openwrt/0139-tools-make_ext4fs-switch-to-LEDE-git-mirror.patch @@ -0,0 +1,19 @@ +From: Jo-Philipp Wich +Date: Sun, 14 Aug 2016 22:29:36 +0200 +Subject: tools: make_ext4fs: switch to LEDE git mirror + +Signed-off-by: Jo-Philipp Wich + +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) diff --git a/patches/openwrt/0140-update-mtd-utils-to-1.5.2.patch b/patches/openwrt/0140-update-mtd-utils-to-1.5.2.patch new file mode 100644 index 00000000..6ad984ca --- /dev/null +++ b/patches/openwrt/0140-update-mtd-utils-to-1.5.2.patch @@ -0,0 +1,200 @@ +From: Hauke Mehrtens +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 +[use the final version of 1.5.2 instead, fix header of jffs2_lzma_(de,)compress()] +Signed-off-by: Hauke Mehrtens + +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 + #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 +- #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 ; +- } ; diff --git a/patches/openwrt/0141-tools-findutils-Update-to-4.6.0.patch b/patches/openwrt/0141-tools-findutils-Update-to-4.6.0.patch new file mode 100644 index 00000000..6cbd18d1 --- /dev/null +++ b/patches/openwrt/0141-tools-findutils-Update-to-4.6.0.patch @@ -0,0 +1,200 @@ +From: John Crispin +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 + +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 +-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 +- diff --git a/patches/openwrt/0142-grub2-fix-build-against-musl.patch b/patches/openwrt/0142-grub2-fix-build-against-musl.patch new file mode 100644 index 00000000..aebfe9e9 --- /dev/null +++ b/patches/openwrt/0142-grub2-fix-build-against-musl.patch @@ -0,0 +1,43 @@ +From: Jo-Philipp Wich +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 + +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 /* ioctl */ ++ # include ++-# if !defined(__GLIBC__) || \ ++- ((__GLIBC__ < 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ < 1))) +++# if defined(__UCLIBC__) ++ /* Maybe libc doesn't have large file support. */ ++ # include /* _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/patches/openwrt/0143-grub2-disable-stack-protector.patch b/patches/openwrt/0143-grub2-disable-stack-protector.patch new file mode 100644 index 00000000..bb2a612a --- /dev/null +++ b/patches/openwrt/0143-grub2-disable-stack-protector.patch @@ -0,0 +1,29 @@ +From: Jo-Philipp Wich +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 + +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 + diff --git a/patches/openwrt/0144-grub2-switch-back-to-installing-to-STAGING_DIR_HOST.patch b/patches/openwrt/0144-grub2-switch-back-to-installing-to-STAGING_DIR_HOST.patch new file mode 100644 index 00000000..d54a5ef8 --- /dev/null +++ b/patches/openwrt/0144-grub2-switch-back-to-installing-to-STAGING_DIR_HOST.patch @@ -0,0 +1,21 @@ +From: Felix Fietkau +Date: Thu, 21 Jan 2016 11:46:18 +0000 +Subject: grub2: switch back to installing to STAGING_DIR_HOST + +Signed-off-by: Felix Fietkau + +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 \ diff --git a/patches/openwrt/0145-grub2-move-to-Boot-Loaders-category.patch b/patches/openwrt/0145-grub2-move-to-Boot-Loaders-category.patch new file mode 100644 index 00000000..becd3cbf --- /dev/null +++ b/patches/openwrt/0145-grub2-move-to-Boot-Loaders-category.patch @@ -0,0 +1,35 @@ +From: Alberto Bursi +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 + +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 diff --git a/patches/openwrt/0146-grub2-add-missing-SECTION-variable-and-remove-non-breaking-space.patch b/patches/openwrt/0146-grub2-add-missing-SECTION-variable-and-remove-non-breaking-space.patch new file mode 100644 index 00000000..85ff3f16 --- /dev/null +++ b/patches/openwrt/0146-grub2-add-missing-SECTION-variable-and-remove-non-breaking-space.patch @@ -0,0 +1,24 @@ +From: Jo-Philipp Wich +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 + +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 diff --git a/patches/openwrt/0147-grub2-add-PKG_FIXUP-autoreconf.patch b/patches/openwrt/0147-grub2-add-PKG_FIXUP-autoreconf.patch new file mode 100644 index 00000000..a37f3609 --- /dev/null +++ b/patches/openwrt/0147-grub2-add-PKG_FIXUP-autoreconf.patch @@ -0,0 +1,41 @@ +From: Alexandru Ardelean +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 +``` +/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: + + It also requires GNU Autoconf, GNU m4 and Perl in order to run: + + + +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 + +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 + diff --git a/patches/openwrt/0148-Revert-grub2-add-PKG_FIXUP-autoreconf.patch b/patches/openwrt/0148-Revert-grub2-add-PKG_FIXUP-autoreconf.patch new file mode 100644 index 00000000..3717e2d0 --- /dev/null +++ b/patches/openwrt/0148-Revert-grub2-add-PKG_FIXUP-autoreconf.patch @@ -0,0 +1,22 @@ +From: John Crispin +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 + +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 + diff --git a/patches/openwrt/0149-source-Switch-to-xz-for-packages-and-tools-where-possible.patch b/patches/openwrt/0149-source-Switch-to-xz-for-packages-and-tools-where-possible.patch new file mode 100644 index 00000000..1baf6ead --- /dev/null +++ b/patches/openwrt/0149-source-Switch-to-xz-for-packages-and-tools-where-possible.patch @@ -0,0 +1,54 @@ +From: Daniel Engberg +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 + +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) + diff --git a/patches/openwrt/0150-treewide-clean-up-download-hashes.patch b/patches/openwrt/0150-treewide-clean-up-download-hashes.patch new file mode 100644 index 00000000..f8c66881 --- /dev/null +++ b/patches/openwrt/0150-treewide-clean-up-download-hashes.patch @@ -0,0 +1,128 @@ +From: Felix Fietkau +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 + +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) diff --git a/patches/openwrt/0151-build-add-pure-make-tolower-toupper-funtions-that-do-not-require-shell-calls.patch b/patches/openwrt/0151-build-add-pure-make-tolower-toupper-funtions-that-do-not-require-shell-calls.patch new file mode 100644 index 00000000..42798cf1 --- /dev/null +++ b/patches/openwrt/0151-build-add-pure-make-tolower-toupper-funtions-that-do-not-require-shell-calls.patch @@ -0,0 +1,40 @@ +From: Felix Fietkau +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 + +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))))) diff --git a/patches/openwrt/0152-build-add-defaults-for-PKG_SOURCE-PKG_SOURCE_SUBDIR-PKG_VERSION.patch b/patches/openwrt/0152-build-add-defaults-for-PKG_SOURCE-PKG_SOURCE_SUBDIR-PKG_VERSION.patch new file mode 100644 index 00000000..532d80b1 --- /dev/null +++ b/patches/openwrt/0152-build-add-defaults-for-PKG_SOURCE-PKG_SOURCE_SUBDIR-PKG_VERSION.patch @@ -0,0 +1,82 @@ +From: Felix Fietkau +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 + +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))))) diff --git a/patches/openwrt/0153-treewide-clean-up-and-unify-PKG_VERSION-for-git-based-downloads.patch b/patches/openwrt/0153-treewide-clean-up-and-unify-PKG_VERSION-for-git-based-downloads.patch new file mode 100644 index 00000000..7376cdec --- /dev/null +++ b/patches/openwrt/0153-treewide-clean-up-and-unify-PKG_VERSION-for-git-based-downloads.patch @@ -0,0 +1,52 @@ +From: Felix Fietkau +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 + +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 diff --git a/patches/openwrt/0154-tools-patch-various-gnu-tools-for-macOS-10.13.patch b/patches/openwrt/0154-tools-patch-various-gnu-tools-for-macOS-10.13.patch new file mode 100644 index 00000000..f44dcacf --- /dev/null +++ b/patches/openwrt/0154-tools-patch-various-gnu-tools-for-macOS-10.13.patch @@ -0,0 +1,168 @@ +From: Ryan Mounce +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 + +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, diff --git a/patches/openwrt/0155-grub2-add-PKG_FIXUP-autoreconf.patch b/patches/openwrt/0155-grub2-add-PKG_FIXUP-autoreconf.patch new file mode 100644 index 00000000..e468e112 --- /dev/null +++ b/patches/openwrt/0155-grub2-add-PKG_FIXUP-autoreconf.patch @@ -0,0 +1,44 @@ +From: Alexandru Ardelean +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 +``` +/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: + + It also requires GNU Autoconf, GNU m4 and Perl in order to run: + + + +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 + +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 + diff --git a/patches/openwrt/0156-grub2-do-not-generate-mkfonts-at-build-time.patch b/patches/openwrt/0156-grub2-do-not-generate-mkfonts-at-build-time.patch new file mode 100644 index 00000000..83998b92 --- /dev/null +++ b/patches/openwrt/0156-grub2-do-not-generate-mkfonts-at-build-time.patch @@ -0,0 +1,38 @@ +From: Alexandru Ardelean +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 + +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 \ diff --git a/patches/openwrt/0157-grub2-disable-check-macro-version-build-rule-in-po-build.patch b/patches/openwrt/0157-grub2-disable-check-macro-version-build-rule-in-po-build.patch new file mode 100644 index 00000000..db79545e --- /dev/null +++ b/patches/openwrt/0157-grub2-disable-check-macro-version-build-rule-in-po-build.patch @@ -0,0 +1,29 @@ +From: Alexandru Ardelean +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 + +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: diff --git a/patches/openwrt/0158-grub2-upgrade-to-2.02-beta3-3-years-newer-than-previous.patch b/patches/openwrt/0158-grub2-upgrade-to-2.02-beta3-3-years-newer-than-previous.patch new file mode 100644 index 00000000..09e29232 --- /dev/null +++ b/patches/openwrt/0158-grub2-upgrade-to-2.02-beta3-3-years-newer-than-previous.patch @@ -0,0 +1,149 @@ +From: Alexandru Ardelean +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 + +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 /* ioctl */ +- # include +--# if !defined(__GLIBC__) || \ +-- ((__GLIBC__ < 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ < 1))) +-+# if defined(__UCLIBC__) +- /* Maybe libc doesn't have large file support. */ +- # include /* _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, diff --git a/patches/openwrt/0159-packages-mark-packages-depending-on-a-target-as-nonshared.patch b/patches/openwrt/0159-packages-mark-packages-depending-on-a-target-as-nonshared.patch new file mode 100644 index 00000000..c75ec914 --- /dev/null +++ b/patches/openwrt/0159-packages-mark-packages-depending-on-a-target-as-nonshared.patch @@ -0,0 +1,25 @@ +From: Mathias Kresin +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 + +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 + diff --git a/patches/openwrt/0160-grub2-update-to-2.02-rc1.patch b/patches/openwrt/0160-grub2-update-to-2.02-rc1.patch new file mode 100644 index 00000000..855f0661 --- /dev/null +++ b/patches/openwrt/0160-grub2-update-to-2.02-rc1.patch @@ -0,0 +1,28 @@ +From: Alif M. Ahmad +Date: Sat, 18 Feb 2017 23:03:33 +0700 +Subject: grub2: update to 2.02~rc1 + +Signed-off-by: Alif M. Ahmad + +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 diff --git a/patches/openwrt/0161-grub2-update-to-2.02-rc2.patch b/patches/openwrt/0161-grub2-update-to-2.02-rc2.patch new file mode 100644 index 00000000..9f0e8689 --- /dev/null +++ b/patches/openwrt/0161-grub2-update-to-2.02-rc2.patch @@ -0,0 +1,31 @@ +From: Alif M. Ahmad +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 +(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 diff --git a/patches/openwrt/0162-package-grub2-update-to-2.02.patch b/patches/openwrt/0162-package-grub2-update-to-2.02.patch new file mode 100644 index 00000000..3249bce4 --- /dev/null +++ b/patches/openwrt/0162-package-grub2-update-to-2.02.patch @@ -0,0 +1,32 @@ +From: Alif M. Ahmad +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 +(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 diff --git a/patches/openwrt/0163-grub2-Fix-CVE-2015-8370.patch b/patches/openwrt/0163-grub2-Fix-CVE-2015-8370.patch new file mode 100644 index 00000000..8f8236a9 --- /dev/null +++ b/patches/openwrt/0163-grub2-Fix-CVE-2015-8370.patch @@ -0,0 +1,77 @@ +From: Rosen Penev +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 +(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 ++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 ++Signed-off-by: Ismael Ripoll-Ripoll ++--- ++ 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) ++ { diff --git a/patches/openwrt/0164-grub2-rebase-patches.patch b/patches/openwrt/0164-grub2-rebase-patches.patch new file mode 100644 index 00000000..9e95efb9 --- /dev/null +++ b/patches/openwrt/0164-grub2-rebase-patches.patch @@ -0,0 +1,49 @@ +From: Jo-Philipp Wich +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 +(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 + 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) + { diff --git a/patches/openwrt/0165-tools-m4-update-1.4.18.patch b/patches/openwrt/0165-tools-m4-update-1.4.18.patch new file mode 100644 index 00000000..16941558 --- /dev/null +++ b/patches/openwrt/0165-tools-m4-update-1.4.18.patch @@ -0,0 +1,50 @@ +From: Etienne Haarsma +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 +(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; diff --git a/patches/openwrt/0166-tools-squashfs-add-argument-fixed-time-to-set-all-timestamps.patch b/patches/openwrt/0166-tools-squashfs-add-argument-fixed-time-to-set-all-timestamps.patch new file mode 100644 index 00000000..24e4aecb --- /dev/null +++ b/patches/openwrt/0166-tools-squashfs-add-argument-fixed-time-to-set-all-timestamps.patch @@ -0,0 +1,186 @@ +From: John Crispin +Date: Fri, 11 Dec 2015 15:07:15 +0000 +Subject: tools/squashfs: add argument -fixed-time to set all timestamps + +-fixed-time 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 + +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) { diff --git a/patches/openwrt/0167-tools-squashfs-refresh-patches.patch b/patches/openwrt/0167-tools-squashfs-refresh-patches.patch new file mode 100644 index 00000000..9d79ca91 --- /dev/null +++ b/patches/openwrt/0167-tools-squashfs-refresh-patches.patch @@ -0,0 +1,29 @@ +From: John Crispin +Date: Fri, 11 Dec 2015 15:07:28 +0000 +Subject: tools/squashfs: refresh patches + +Signed-off-by: John Crispin + +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 $@ + diff --git a/patches/openwrt/0168-tools-squashfs4-refresh-patches.patch b/patches/openwrt/0168-tools-squashfs4-refresh-patches.patch new file mode 100644 index 00000000..93946029 --- /dev/null +++ b/patches/openwrt/0168-tools-squashfs4-refresh-patches.patch @@ -0,0 +1,81 @@ +From: Felix Fietkau +Date: Fri, 11 Dec 2015 19:21:43 +0000 +Subject: tools/squashfs4: refresh patches + +Signed-off-by: Felix Fietkau + +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 + #include +@@ -11,9 +10,8 @@ diff -Nur squashfs4.2.orig/squashfs-tools/mksquashfs.c squashfs4.2/squashfs-tool + #include + #include + #include +-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; diff --git a/patches/openwrt/0169-squashfs4-use-upstream-xz-compression-header-format.patch b/patches/openwrt/0169-squashfs4-use-upstream-xz-compression-header-format.patch new file mode 100644 index 00000000..63c91e82 --- /dev/null +++ b/patches/openwrt/0169-squashfs4-use-upstream-xz-compression-header-format.patch @@ -0,0 +1,70 @@ +From: Hauke Mehrtens +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 + +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 +-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 diff --git a/patches/openwrt/0170-tools-m4-fix-compilation-with-glibc-2.28.patch b/patches/openwrt/0170-tools-m4-fix-compilation-with-glibc-2.28.patch new file mode 100644 index 00000000..d5b43ea6 --- /dev/null +++ b/patches/openwrt/0170-tools-m4-fix-compilation-with-glibc-2.28.patch @@ -0,0 +1,133 @@ +From: Luis Araneda +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 + +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 ++ , 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 ++ , 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 ++ , 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__ diff --git a/patches/openwrt/0171-tools-bison-Update-to-3.0.5.patch b/patches/openwrt/0171-tools-bison-Update-to-3.0.5.patch new file mode 100644 index 00000000..21810057 --- /dev/null +++ b/patches/openwrt/0171-tools-bison-Update-to-3.0.5.patch @@ -0,0 +1,93 @@ +From: Daniel Engberg +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 + +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 diff --git a/patches/openwrt/0172-tools-e2fsprogs-fix-building-on-a-glibc-2.27-host.patch b/patches/openwrt/0172-tools-e2fsprogs-fix-building-on-a-glibc-2.27-host.patch new file mode 100644 index 00000000..758c35d1 --- /dev/null +++ b/patches/openwrt/0172-tools-e2fsprogs-fix-building-on-a-glibc-2.27-host.patch @@ -0,0 +1,94 @@ +From: Stefan Lippers-Hollmann +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 + +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 ++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 ++Signed-off-by: Theodore Ts'o ++--- ++ 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); diff --git a/patches/openwrt/0173-Revert-tools-e2fsprogs-fix-building-on-a-glibc-2.27-host.patch b/patches/openwrt/0173-Revert-tools-e2fsprogs-fix-building-on-a-glibc-2.27-host.patch new file mode 100644 index 00000000..2f013fd1 --- /dev/null +++ b/patches/openwrt/0173-Revert-tools-e2fsprogs-fix-building-on-a-glibc-2.27-host.patch @@ -0,0 +1,80 @@ +From: Matthias Schiffer +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 + +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 +-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 +-Signed-off-by: Theodore Ts'o +---- +- 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); diff --git a/patches/openwrt/0174-tools-e2fsprogs-Update-to-1.43.4.patch b/patches/openwrt/0174-tools-e2fsprogs-Update-to-1.43.4.patch new file mode 100644 index 00000000..d6bb0f97 --- /dev/null +++ b/patches/openwrt/0174-tools-e2fsprogs-Update-to-1.43.4.patch @@ -0,0 +1,51 @@ +From: Daniel Engberg +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 +Signed-off-by: Daniel Engberg +Signed-off-by: Felix Fietkau [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 + + --- 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; + } + diff --git a/patches/openwrt/0175-tools-e2fsprogs-Update-to-1.43.5.patch b/patches/openwrt/0175-tools-e2fsprogs-Update-to-1.43.5.patch new file mode 100644 index 00000000..8ca3ba7c --- /dev/null +++ b/patches/openwrt/0175-tools-e2fsprogs-Update-to-1.43.5.patch @@ -0,0 +1,24 @@ +From: Daniel Engberg +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 +(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 diff --git a/patches/openwrt/0176-tools-e2fsprogs-Update-to-1.43.6.patch b/patches/openwrt/0176-tools-e2fsprogs-Update-to-1.43.6.patch new file mode 100644 index 00000000..ac5c85df --- /dev/null +++ b/patches/openwrt/0176-tools-e2fsprogs-Update-to-1.43.6.patch @@ -0,0 +1,133 @@ +From: Daniel Engberg +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 +(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 +++ ++ #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 +++ ++ #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 +- #endif +- #include +-+#ifndef __FreeBSD__ +- #include +-+#endif +- #include +- +- #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 +-+ +- #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 +-+ +- #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 +-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 +---- +- 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()) { diff --git a/patches/openwrt/0177-tools-e2fsprogs-Update-to-1.43.7.patch b/patches/openwrt/0177-tools-e2fsprogs-Update-to-1.43.7.patch new file mode 100644 index 00000000..dc66bfa5 --- /dev/null +++ b/patches/openwrt/0177-tools-e2fsprogs-Update-to-1.43.7.patch @@ -0,0 +1,24 @@ +From: Rosen Penev +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 +(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 diff --git a/patches/openwrt/0178-e2fsprogs-bump-to-1.44.0.patch b/patches/openwrt/0178-e2fsprogs-bump-to-1.44.0.patch new file mode 100644 index 00000000..9de1e42d --- /dev/null +++ b/patches/openwrt/0178-e2fsprogs-bump-to-1.44.0.patch @@ -0,0 +1,24 @@ +From: Ansuel Smith +Date: Fri, 9 Mar 2018 02:29:58 +0100 +Subject: e2fsprogs: bump to 1.44.0 + +Fix compilation error + +Signed-off-by: Ansuel Smith +(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 diff --git a/patches/openwrt/0179-tools-e2fsprogs-update-to-1.44.1.patch b/patches/openwrt/0179-tools-e2fsprogs-update-to-1.44.1.patch new file mode 100644 index 00000000..773ba13e --- /dev/null +++ b/patches/openwrt/0179-tools-e2fsprogs-update-to-1.44.1.patch @@ -0,0 +1,24 @@ +From: Paul Wassi +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 +(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 diff --git a/patches/openwrt/0180-tools-mtd-utils-include-sysmacros.h-explicitly.patch b/patches/openwrt/0180-tools-mtd-utils-include-sysmacros.h-explicitly.patch new file mode 100644 index 00000000..47ddd80b --- /dev/null +++ b/patches/openwrt/0180-tools-mtd-utils-include-sysmacros.h-explicitly.patch @@ -0,0 +1,45 @@ +From: Alex Maclean +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 +[refresh patches] +Signed-off-by: Mathias Kresin + +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 ++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 ++--- ++ include/common.h | 1 + ++ 1 file changed, 1 insertion(+) ++ ++--- a/include/common.h +++++ b/include/common.h ++@@ -27,6 +27,7 @@ ++ #include ++ #include ++ #include +++#include ++ #include "version.h" ++ ++ #ifndef PROGRAM_NAME diff --git a/patches/openwrt/0181-tools-findutils-include-sysmacros.h-explicitly.patch b/patches/openwrt/0181-tools-findutils-include-sysmacros.h-explicitly.patch new file mode 100644 index 00000000..a9e338a6 --- /dev/null +++ b/patches/openwrt/0181-tools-findutils-include-sysmacros.h-explicitly.patch @@ -0,0 +1,31 @@ +From: Alex Maclean +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 + +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 ++ +++#ifdef MAJOR_IN_SYSMACROS +++# include +++#endif +++ ++ #include "mountlist.h" ++ ++ #include diff --git a/patches/openwrt/0182-tools-findutils-fix-compilation-with-glibc-2.28.patch b/patches/openwrt/0182-tools-findutils-fix-compilation-with-glibc-2.28.patch new file mode 100644 index 00000000..6963ff3d --- /dev/null +++ b/patches/openwrt/0182-tools-findutils-fix-compilation-with-glibc-2.28.patch @@ -0,0 +1,119 @@ +From: Luis Araneda +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 + +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 ++ , 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 ++ , 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. */ diff --git a/patches/openwrt/0183-tools-squashfs-include-sysmacros.h-explicitly.patch b/patches/openwrt/0183-tools-squashfs-include-sysmacros.h-explicitly.patch new file mode 100644 index 00000000..390f8f20 --- /dev/null +++ b/patches/openwrt/0183-tools-squashfs-include-sysmacros.h-explicitly.patch @@ -0,0 +1,38 @@ +From: Alex Maclean +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 + +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 ++ #include ++ #include +++#include ++ #include ++ #include ++ #include ++--- a/squashfs-tools/unsquashfs.c +++++ b/squashfs-tools/unsquashfs.c ++@@ -25,6 +25,7 @@ ++ #define FALSE 0 ++ #include ++ #include +++#include ++ #include ++ #include ++ #include diff --git a/patches/openwrt/0184-tools-squashfs4-include-sysmacros.h-explicitly.patch b/patches/openwrt/0184-tools-squashfs4-include-sysmacros.h-explicitly.patch new file mode 100644 index 00000000..515d4939 --- /dev/null +++ b/patches/openwrt/0184-tools-squashfs4-include-sysmacros.h-explicitly.patch @@ -0,0 +1,199 @@ +From: Alex Maclean +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 +[refresh patches] +Signed-off-by: Mathias Kresin + +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 ++ #include ++ #include +++#include ++ #include ++ #include ++ #include ++--- a/squashfs-tools/unsquashfs.c +++++ b/squashfs-tools/unsquashfs.c ++@@ -30,6 +30,7 @@ ++ #include "xattr.h" ++ ++ #include +++#include ++ ++ 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 + +#endif + #include ++ #include + #include +- #include + --- 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); diff --git a/patches/openwrt/0185-tools-squashfs-use-host-cflags.patch b/patches/openwrt/0185-tools-squashfs-use-host-cflags.patch new file mode 100644 index 00000000..3b53d02d --- /dev/null +++ b/patches/openwrt/0185-tools-squashfs-use-host-cflags.patch @@ -0,0 +1,19 @@ +From: Felix Fietkau +Date: Tue, 24 Oct 2017 13:22:09 +0200 +Subject: tools/squashfs: use host cflags + +Signed-off-by: Felix Fietkau +(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 diff --git a/patches/openwrt/0186-target-linux-x86-image-add-explicit-prefix-to-grub-mkimage-command.patch b/patches/openwrt/0186-target-linux-x86-image-add-explicit-prefix-to-grub-mkimage-command.patch new file mode 100644 index 00000000..5508058e --- /dev/null +++ b/patches/openwrt/0186-target-linux-x86-image-add-explicit-prefix-to-grub-mkimage-command.patch @@ -0,0 +1,49 @@ +From: Alexandru Ardelean +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 + +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 \