diff --git a/patches/coreutils-8.27.local.patch b/patches/coreutils-8.27.local.patch
deleted file mode 100644
index 5ba9ac7..0000000
--- a/patches/coreutils-8.27.local.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-diff -ru coreutils-8.27.orig/configure coreutils-8.27/configure
---- coreutils-8.27.orig/configure	2017-03-09 06:00:50.000000000 +0100
-+++ coreutils-8.27/configure	2017-08-11 19:04:46.135115372 +0200
-@@ -68318,3 +68318,12 @@
- $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
- fi
- 
-+# bypass dependency on help2man
-+if [ x"$cross_compiling" = xyes ]; then
-+	mkdir -p man;
-+	for f in $srcdir/src/*.c; do src=$(basename $f); doc="${src%.*}"; echo $doc; touch man/$doc.1; done
-+	for f in dir sha1sum sha224sum sha256sum sha384sum sha512sum vdir; do touch man/$f.1; done
-+
-+	sed -i -e 's/@cross_compiling@/'$cross_compiling'/g' Makefile || exit 2
-+fi
-+
-diff -ru coreutils-8.27.orig/Makefile.in coreutils-8.27/Makefile.in
---- coreutils-8.27.orig/Makefile.in	2017-03-09 06:24:51.000000000 +0100
-+++ coreutils-8.27/Makefile.in	2017-08-11 19:09:39.000000000 +0200
-@@ -3454,7 +3454,7 @@
- INET_PTON_LIB = @INET_PTON_LIB@
- INSTALL = $(cu_install_program) -c
- INSTALL_DATA = @INSTALL_DATA@
--INSTALL_PROGRAM = @INSTALL_PROGRAM@
-+INSTALL_PROGRAM = install
- INSTALL_SCRIPT = @INSTALL_SCRIPT@
- INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
- INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@
-@@ -5040,12 +5040,14 @@
-     $(bin_SCRIPTS) \
-     $(EXTRA_PROGRAMS)
- 
-+CROSS_COMPILE = @cross_compiling@
-+
- pm = progs-makefile
- pr = progs-readme
- @CROSS_COMPILING_FALSE@cu_install_program = src/ginstall
- 
- # Use the just-built 'ginstall', when not cross-compiling.
--@CROSS_COMPILING_TRUE@cu_install_program = @INSTALL@
-+@CROSS_COMPILING_TRUE@cu_install_program = install
- info_TEXINFOS = doc/coreutils.texi
- doc_coreutils_TEXINFOS = \
-   doc/perm.texi \
-@@ -14773,7 +14775,8 @@
- 				$$argv$(EXEEXT))			\
- 	&& : $${SOURCE_DATE_EPOCH=`cat $(srcdir)/.timestamp 2>/dev/null || :`} \
- 	&& export SOURCE_DATE_EPOCH && $(run_help2man)			\
--		     --source='$(PACKAGE_STRING)'			\
-+		     --no-discard-stderr				\
-+                    --source='$(PACKAGE_STRING)'			\
- 		     --include=$(srcdir)/man/$$name.x			\
- 		     --output=$$t/$$name.1				\
- 		     --info-page='\(aq(coreutils) '$$name' invocation\(aq' \
-@@ -14786,6 +14789,7 @@
- 	  && chmod a-w $@-t						\
- 	  && mv $@-t $@
- .PHONY: check-root
-+
- check-root:
- 	$(MAKE) check TESTS='$(root_tests)' SUBDIRS=.
- 
-diff -ru coreutils-8.27.orig/src/fs.h coreutils-8.27/src/fs.h
---- coreutils-8.27.orig/src/fs.h	2017-03-09 05:44:05.000000000 +0100
-+++ coreutils-8.27/src/fs.h	2017-08-11 19:05:05.283026746 +0200
-@@ -2,7 +2,7 @@
-    Please send additions to bug-coreutils@gnu.org and meskes@debian.org.
-    This file is generated automatically from ./src/stat.c. */
- 
--#if defined __linux__
-+#if defined __linux__ || defined __midipix__
- # define S_MAGIC_ACFS 0x61636673
- # define S_MAGIC_ADFS 0xADF5
- # define S_MAGIC_AFFS 0xADFF
diff --git a/patches/coreutils-8.28.local.patch b/patches/coreutils-8.28.local.patch
new file mode 100644
index 0000000..ac51864
--- /dev/null
+++ b/patches/coreutils-8.28.local.patch
@@ -0,0 +1,75 @@
+diff -ru coreutils-8.27.orig/configure coreutils-8.27/configure
+--- coreutils-8.27.orig/configure	2017-03-09 06:00:50.000000000 +0100
++++ coreutils-8.27/configure	2017-08-11 19:04:46.135115372 +0200
+@@ -68318,3 +68318,12 @@
+ $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
+ fi
+ 
++# bypass dependency on help2man
++if [ x"$cross_compiling" = xyes ]; then
++	mkdir -p man;
++	for f in $srcdir/src/*.c; do src=$(basename $f); doc="${src%.*}"; echo $doc; touch man/$doc.1; done
++	for f in dir sha1sum sha224sum sha256sum sha384sum sha512sum vdir; do touch man/$f.1; done
++
++	sed -i -e 's/@cross_compiling@/'$cross_compiling'/g' Makefile || exit 2
++fi
++
+diff -ru coreutils-8.27.orig/Makefile.in coreutils-8.27/Makefile.in
+--- coreutils-8.27.orig/Makefile.in	2017-03-09 06:24:51.000000000 +0100
++++ coreutils-8.27/Makefile.in	2017-08-11 19:09:39.000000000 +0200
+@@ -3454,7 +3454,7 @@
+ INET_PTON_LIB = @INET_PTON_LIB@
+ INSTALL = $(cu_install_program) -c
+ INSTALL_DATA = @INSTALL_DATA@
+-INSTALL_PROGRAM = @INSTALL_PROGRAM@
++INSTALL_PROGRAM = install
+ INSTALL_SCRIPT = @INSTALL_SCRIPT@
+ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+ INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@
+@@ -5040,12 +5040,14 @@
+     $(bin_SCRIPTS) \
+     $(EXTRA_PROGRAMS)
+ 
++CROSS_COMPILE = @cross_compiling@
++
+ pm = progs-makefile
+ pr = progs-readme
+ @CROSS_COMPILING_FALSE@cu_install_program = src/ginstall
+ 
+ # Use the just-built 'ginstall', when not cross-compiling.
+-@CROSS_COMPILING_TRUE@cu_install_program = @INSTALL@
++@CROSS_COMPILING_TRUE@cu_install_program = install
+ info_TEXINFOS = doc/coreutils.texi
+ doc_coreutils_TEXINFOS = \
+   doc/perm.texi \
+@@ -14773,7 +14775,8 @@
+ 				$$argv$(EXEEXT))			\
+ 	&& : $${SOURCE_DATE_EPOCH=`cat $(srcdir)/.timestamp 2>/dev/null || :`} \
+ 	&& export SOURCE_DATE_EPOCH && $(run_help2man)			\
+-		     --source='$(PACKAGE_STRING)'			\
++		     --no-discard-stderr				\
++                    --source='$(PACKAGE_STRING)'			\
+ 		     --include=$(srcdir)/man/$$name.x			\
+ 		     --output=$$t/$$name.1				\
+ 		     --info-page='\(aq(coreutils) '$$name' invocation\(aq' \
+@@ -14786,6 +14789,7 @@
+ 	  && chmod a-w $@-t						\
+ 	  && mv $@-t $@
+ .PHONY: check-root
++
+ check-root:
+ 	$(MAKE) check TESTS='$(root_tests)' SUBDIRS=.
+ 
+diff -ru coreutils-8.27.orig/src/fs.h coreutils-8.27/src/fs.h
+--- coreutils-8.27.orig/src/fs.h	2017-03-09 05:44:05.000000000 +0100
++++ coreutils-8.27/src/fs.h	2017-08-11 19:05:05.283026746 +0200
+@@ -2,7 +2,7 @@
+    Please send additions to bug-coreutils@gnu.org and meskes@debian.org.
+    This file is generated automatically from ./src/stat.c. */
+ 
+-#if defined __linux__
++#if defined __linux__ || defined __midipix__
+ # define S_MAGIC_AAFS 0x5A3C69F0
+ # define S_MAGIC_ACFS 0x61636673
+ # define S_MAGIC_ADFS 0xADF5
+ # define S_MAGIC_AFFS 0xADFF
diff --git a/vars/build.vars b/vars/build.vars
index cd077de..d20662e 100644
--- a/vars/build.vars
+++ b/vars/build.vars
@@ -124,8 +124,8 @@ HOST_TOOLCHAIN_PREFIX="${PREFIX_CROSS}";
 : ${PKG_MUSL_FULL_VERSION:=1.1.12};
 : ${PKG_GCC_LIBSTDCPP_V3_VERSION:=4.6.4};
 : ${PKG_GCC_FULL_VERSION:=4.6.4};
-: ${PKG_FILE_HOST_SHA256SUM:=ea661277cd39bf8f063d3a83ee875432cc3680494169f952787e002bdd3884c0};
-: ${PKG_FILE_HOST_VERSION:=5.29};
+: ${PKG_FILE_HOST_SHA256SUM:=8639dc4d1b21e232285cd483604afc4a6ee810710e00e579dbe9591681722b50};
+: ${PKG_FILE_HOST_VERSION:=5.32};
 : ${PKG_FILE_HOST_URL:=ftp://ftp.astron.com/pub/file/file-${PKG_FILE_HOST_VERSION}.tar.gz};
 : ${PKG_FILE_HOST_CONFIGURE_ARGS:="-C --prefix=${PREFIX}"};
 : ${PKG_INSTALL_STRIP_HOST_BUILD_STEPS:="setup_env:always install:main"};
@@ -618,8 +618,8 @@ LEAF_PACKAGES_PREFIX="${PREFIX_NATIVE}";
 : ${PKG_CLANG_HOST_URL:=http://releases.llvm.org/${PKG_CLANG_HOST_VERSION}/cfe-${PKG_CLANG_HOST_VERSION}.src.tar.xz};
 : ${PKG_CLANG_HOST_BUILD_TYPE:=host};
 : ${PKG_CLANG_HOST_MAKEFLAGS_INSTALL:=DESTDIR=${PREFIX}};
-: ${PKG_COREUTILS_SHA256SUM:=8891d349ee87b9ff7870f52b6d9312a9db672d2439d289bc57084771ca21656b};
-: ${PKG_COREUTILS_VERSION:=8.27};
+: ${PKG_COREUTILS_SHA256SUM:=1117b1a16039ddd84d51a9923948307cfa28c2cea03d1a2438742253df0a0c65};
+: ${PKG_COREUTILS_VERSION:=8.28};
 : ${PKG_COREUTILS_URL:=https://ftp.gnu.org/gnu/coreutils/coreutils-${PKG_COREUTILS_VERSION}.tar.xz};
 : ${PKG_COREUTILS_MAKEFLAGS_BUILD_EXTRA:=V=99};
 : ${PKG_CPARSER_URLS_GIT:="cparser=http://pp.info.uni-karlsruhe.de/git/cparser.git@master bcparser=${GITROOT}/compilers/bcparser@main"};
@@ -638,8 +638,8 @@ LEAF_PACKAGES_PREFIX="${PREFIX_NATIVE}";
 : ${PKG_DASH_URL:=https://bintray.com/termux/upstream/download_file?file_path=dash-${PKG_DASH_VERSION}.tar.gz};
 : ${PKG_DASH_INSTALL_FILES:=@dash=bin/sh};
 : ${PKG_DASH_SUBDIR:=dash-${PKG_DASH_VERSION}};
-: ${PKG_DATAMASH_SHA256SUM:=420819b3d7372ee3ce704add847cff7d08c4f8176c1d48735d4a632410bb801b};
-: ${PKG_DATAMASH_VERSION:=1.1.1};
+: ${PKG_DATAMASH_SHA256SUM:=e8d46fb22ccc77e5380f26cde622a733f363d388b04a2c22e7fb6de0e9d85996};
+: ${PKG_DATAMASH_VERSION:=1.2};
 : ${PKG_DATAMASH_URL:=https://ftp.gnu.org/gnu/datamash/datamash-${PKG_DATAMASH_VERSION}.tar.gz};
 : ${PKG_DIFFUTILS_SHA256SUM:=d621e8bdd4b573918c8145f7ae61817d1be9deb4c8d2328a65cea8e11d783bd6};
 : ${PKG_DIFFUTILS_VERSION:=3.6};
@@ -665,8 +665,8 @@ LEAF_PACKAGES_PREFIX="${PREFIX_NATIVE}";
 : ${PKG_FIGLET_MAKEFLAGS_BUILD:=CC=${TARGET}-gcc LD=${TARGET}-gcc};
 : ${PKG_FIGLET_MAKEFLAGS_INSTALL_EXTRA:=prefix=};
 : ${PKG_FIGLET_NO_CLEAN:=1};
-: ${PKG_FILE_SHA256SUM:=ea661277cd39bf8f063d3a83ee875432cc3680494169f952787e002bdd3884c0};
-: ${PKG_FILE_VERSION:=5.29};
+: ${PKG_FILE_SHA256SUM:=8639dc4d1b21e232285cd483604afc4a6ee810710e00e579dbe9591681722b50};
+: ${PKG_FILE_VERSION:=5.32};
 : ${PKG_FILE_URL:=ftp://ftp.astron.com/pub/file/file-${PKG_FILE_VERSION}.tar.gz};
 : ${PKG_FINDUTILS_SHA256SUM:=e9bc769d78573c91b1d4e504ad39621b870db6fa38fde923acf6896399f16f8e};
 : ${PKG_FINDUTILS_VERSION:=4.5.19};
@@ -686,8 +686,8 @@ LEAF_PACKAGES_PREFIX="${PREFIX_NATIVE}";
 : ${PKG_GNUPG_VERSION:=2.1.16};
 : ${PKG_GNUPG_URL:=https://www.gnupg.org/ftp/gcrypt/gnupg/gnupg-${PKG_GNUPG_VERSION}.tar.bz2};
 : ${PKG_GNUPG_CONFIGURE_ARGS_EXTRA:="--with-libgpg-error-prefix=${PREFIX_NATIVE} --with-libgcrypt-prefix=${PREFIX_NATIVE} --with-libassuan-prefix=${PREFIX_NATIVE} --with-ksba-prefix=${PREFIX_NATIVE} --with-npth-prefix=${PREFIX_NATIVE}"};
-: ${PKG_GREP_SHA256SUM:=ad4cc44d23074a1c3a8baae8fbafff2a8c60f38a9a6108f985eef6fbee6dcaeb};
-: ${PKG_GREP_VERSION:=2.27};
+: ${PKG_GREP_SHA256SUM:=db625c7ab3bb3ee757b3926a5cfa8d9e1c3991ad24707a83dde8a5ef2bf7a07e};
+: ${PKG_GREP_VERSION:=3.1};
 : ${PKG_GREP_URL:=https://ftp.gnu.org/gnu/grep/grep-${PKG_GREP_VERSION}.tar.xz};
 : ${PKG_HEXCURSE_URLS_GIT:="hexcurse=https://github.com/LonnyGomes/hexcurse@master"};
 : ${PKG_HEXCURSE_CFLAGS_CONFIGURE_EXTRA:=-I${PREFIX_NATIVE}/include/ncursesw};