From 5726baa04ae865493636e514c3d8b7faa02e9333 Mon Sep 17 00:00:00 2001 From: hgy59 Date: Sun, 30 Oct 2022 09:48:55 +0100 Subject: [PATCH] synocli-file: update rmlint to support reflink (#5462) * update rmlint to support reflink * libelf: fix 64-bit support for cross compile * synocli-file: update file (follow up to #5441) - update cross/file to match the version of the build environment * update several tools: - Update bat to v0.22.1 - Update fdupes to v2.2.1 - Update fzf to v.0.34.0 - Update jdupes to v1.21.0 - Update tree to v2.0.4 * use dedicated extract folder to compile util-linux for libblkid * final fix for rmlint to support reflink in synocli-file packages * rmlint: add json-glib to support to read json caches --- cross/bat/Makefile | 5 +--- cross/bat/digests | 6 ++--- cross/e2fsprogs/Makefile | 4 +-- cross/fdupes/Makefile | 2 +- cross/fdupes/digests | 6 ++--- cross/file/Makefile | 4 +-- cross/file/PLIST | 3 --- cross/file/digests | 6 ++--- cross/fzf/Makefile | 2 +- cross/fzf/digests | 6 ++--- cross/jdupes/Makefile | 2 +- cross/jdupes/digests | 6 ++--- cross/json-glib/Makefile | 22 ++++++++++++++++ cross/json-glib/PLIST | 3 +++ cross/json-glib/digests | 3 +++ cross/libblkid/Makefile | 25 +++++++++++++++++++ cross/libblkid/PLIST | 3 +++ cross/libblkid/digests | 3 +++ cross/libelf/Makefile | 19 ++++++++++++++ cross/libelf/PLIST | 3 +++ cross/libelf/digests | 3 +++ ...create-shared-lib-with-cross-compile.patch | 23 +++++++++++++++++ cross/rmlint/Makefile | 12 ++++++--- cross/tree/Makefile | 2 +- cross/tree/digests | 6 ++--- ...01-enable-cross-compiler-definitions.patch | 14 +++++------ diyspk/bat/Makefile | 2 +- diyspk/fdupes/Makefile | 4 +-- diyspk/file/Makefile | 5 +--- diyspk/fzf/Makefile | 4 +-- diyspk/jdupes/Makefile | 4 +-- diyspk/rmlint/Makefile | 2 +- diyspk/tree/Makefile | 2 +- spk/synocli-file/Makefile | 13 +++++----- 34 files changed, 166 insertions(+), 63 deletions(-) create mode 100644 cross/json-glib/Makefile create mode 100644 cross/json-glib/PLIST create mode 100644 cross/json-glib/digests create mode 100644 cross/libblkid/Makefile create mode 100644 cross/libblkid/PLIST create mode 100644 cross/libblkid/digests create mode 100644 cross/libelf/Makefile create mode 100644 cross/libelf/PLIST create mode 100644 cross/libelf/digests create mode 100644 cross/libelf/patches/001-fix-configure-to-create-shared-lib-with-cross-compile.patch diff --git a/cross/bat/Makefile b/cross/bat/Makefile index 4fc150a47fe..e7b0419e22a 100644 --- a/cross/bat/Makefile +++ b/cross/bat/Makefile @@ -1,5 +1,5 @@ PKG_NAME = bat -PKG_VERS = 0.21.0 +PKG_VERS = 0.22.1 PKG_EXT = tar.gz PKG_DIST_NAME = v$(PKG_VERS).$(PKG_EXT) PKG_DIST_SITE = https://github.com/sharkdp/bat/archive @@ -10,9 +10,6 @@ DEPENDS = cross/zlib-ng # unsupported by cross/zlib-ng UNSUPPORTED_ARCHS = $(OLD_PPC_ARCHS) -# rust issue with target 'armv5te-unknown-linux-gnueabi' -# https://github.com/rust-lang/compiler-builtins/issues/420 -UNSUPPORTED_ARCHS += $(ARMv5_ARCHS) HOMEPAGE = https://github.com/sharkdp/bat COMMENT = A cat(1) clone with wings. diff --git a/cross/bat/digests b/cross/bat/digests index 78ccaec6c21..a5ddf45bc62 100644 --- a/cross/bat/digests +++ b/cross/bat/digests @@ -1,3 +1,3 @@ -bat-0.21.0.tar.gz SHA1 8ddd0bda35c50c4256b7c0ed2285630e87d92f77 -bat-0.21.0.tar.gz SHA256 3dff1e52d577d0a105f4afe3fe7722a4a2b8bb2eb3e7a6a5284ac7add586a3ee -bat-0.21.0.tar.gz MD5 77dfa252d77a0cd655f601d172526798 +bat-0.22.1.tar.gz SHA1 517a26fb4c873ff95eb18faf339ca3a443ed5684 +bat-0.22.1.tar.gz SHA256 25e45debf7c86794281d63a51564feefa96fdfdf575381e3adc5c06653ecaeca +bat-0.22.1.tar.gz MD5 079a00e594fcd588bfaa6c21fc16a05f diff --git a/cross/e2fsprogs/Makefile b/cross/e2fsprogs/Makefile index d9db52078de..10b8cffb01c 100644 --- a/cross/e2fsprogs/Makefile +++ b/cross/e2fsprogs/Makefile @@ -5,7 +5,7 @@ PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT) PKG_DIST_SITE = https://downloads.sourceforge.net/project/e2fsprogs/e2fsprogs/v$(PKG_VERS) PKG_DIR = $(PKG_NAME)-$(PKG_VERS) -DEPENDS = cross/libuuid +DEPENDS = HOMEPAGE = http://e2fsprogs.sourceforge.net/ COMMENT = Ext2/3/4 filesystem userspace utilities. @@ -13,8 +13,6 @@ LICENSE = GPL GNU_CONFIGURE = 1 CONFIGURE_ARGS = --enable-elf-shlibs -# use cross/libuuid instead -CONFIGURE_ARGS += --disable-libuuid include ../../mk/spksrc.archs.mk diff --git a/cross/fdupes/Makefile b/cross/fdupes/Makefile index 8f7e25199dc..9339c98b39f 100755 --- a/cross/fdupes/Makefile +++ b/cross/fdupes/Makefile @@ -1,5 +1,5 @@ PKG_NAME = fdupes -PKG_VERS = 2.1.2 +PKG_VERS = 2.2.1 PKG_EXT = tar.gz PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT) PKG_DIST_SITE = https://github.com/adrianlopezroche/fdupes/releases/download/v$(PKG_VERS) diff --git a/cross/fdupes/digests b/cross/fdupes/digests index adee15819f5..3621f3b9777 100755 --- a/cross/fdupes/digests +++ b/cross/fdupes/digests @@ -1,3 +1,3 @@ -fdupes-2.1.2.tar.gz SHA1 f28e91729b867bb28d18d05efbefad2c26df0e23 -fdupes-2.1.2.tar.gz SHA256 cd5cb53b6d898cf20f19b57b81114a5b263cc1149cd0da3104578b083b2837bd -fdupes-2.1.2.tar.gz MD5 03fa46275d8b04b0baea80ebde973926 +fdupes-2.2.1.tar.gz SHA1 5cb0773b7ac8f1e4496d53dc4e9bce0f137f5045 +fdupes-2.2.1.tar.gz SHA256 846bb79ca3f0157856aa93ed50b49217feb68e1b35226193b6bc578be0c5698d +fdupes-2.2.1.tar.gz MD5 215dfb62542f26338229ca1d7e33202f diff --git a/cross/file/Makefile b/cross/file/Makefile index 2e51f8f4d34..f9a79d2e137 100644 --- a/cross/file/Makefile +++ b/cross/file/Makefile @@ -1,8 +1,8 @@ PKG_NAME = file -PKG_VERS = 5.35 +PKG_VERS = 5.39 PKG_EXT = tar.gz PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT) -PKG_DIST_SITE = ftp://ftp.astron.com/pub/file/ +PKG_DIST_SITE = http://ftp.astron.com/pub/file PKG_DIR = $(PKG_NAME)-$(PKG_VERS) # remarks: the build environment must have file installed of the same version diff --git a/cross/file/PLIST b/cross/file/PLIST index 01d6189a645..c5c2a9d59d8 100644 --- a/cross/file/PLIST +++ b/cross/file/PLIST @@ -2,7 +2,4 @@ bin:bin/file lnk:lib/libmagic.so lnk:lib/libmagic.so.1 lib:lib/libmagic.so.1.0.0 -rsc:share/man/man1/file.1 -rsc:share/man/man3/libmagic.3 -rsc:share/man/man4/magic.4 rsc:share/misc/magic.mgc diff --git a/cross/file/digests b/cross/file/digests index 785d6b3177a..d247a3c8894 100644 --- a/cross/file/digests +++ b/cross/file/digests @@ -1,3 +1,3 @@ -file-5.35.tar.gz SHA1 a6f73580a93b768bfedd01ba54868375b7eb7bd0 -file-5.35.tar.gz SHA256 30c45e817440779be7aac523a905b123cba2a6ed0bf4f5439e1e99ba940b5546 -file-5.35.tar.gz MD5 5f10fb45bdaffd729a572e563783b78e +file-5.39.tar.gz SHA1 a5a8941a8e4c436fe22933db6a71c5161c3fb10b +file-5.39.tar.gz SHA256 f05d286a76d9556243d0cb05814929c2ecf3a5ba07963f8f70bfaaa70517fad1 +file-5.39.tar.gz MD5 1c450306053622803a25647d88f80f25 diff --git a/cross/fzf/Makefile b/cross/fzf/Makefile index bb197b2b36a..125cd70523f 100644 --- a/cross/fzf/Makefile +++ b/cross/fzf/Makefile @@ -1,5 +1,5 @@ PKG_NAME = fzf -PKG_VERS = 0.32.1 +PKG_VERS = 0.34.0 PKG_EXT = tar.gz PKG_REVISION = $(shell date +%m/%d/%Y) PKG_DIST_NAME = $(PKG_VERS).$(PKG_EXT) diff --git a/cross/fzf/digests b/cross/fzf/digests index 4f873df1f08..e51855d3b7f 100644 --- a/cross/fzf/digests +++ b/cross/fzf/digests @@ -1,3 +1,3 @@ -fzf-0.32.1.tar.gz SHA1 119600d703a0fb0588b8ec95eedec8e96c7b4623 -fzf-0.32.1.tar.gz SHA256 c7afef61553b3b3e4e02819c5d560fa4acf33ecb39829aeba392c2e05457ca6a -fzf-0.32.1.tar.gz MD5 f51bfcb16e934a8f3e45c393c02fe35c +fzf-0.34.0.tar.gz SHA1 947d233eec826b2778f0e3c56d62c2030f14e040 +fzf-0.34.0.tar.gz SHA256 5bfd2518f0d136a76137de799ff5911608802d23564fc26e245f25a627395ecc +fzf-0.34.0.tar.gz MD5 c944fc51ba24f73ecc44bf240f374001 diff --git a/cross/jdupes/Makefile b/cross/jdupes/Makefile index dee815fa9a9..87081366a24 100644 --- a/cross/jdupes/Makefile +++ b/cross/jdupes/Makefile @@ -1,5 +1,5 @@ PKG_NAME = jdupes -PKG_VERS = 1.20.2 +PKG_VERS = 1.21.0 PKG_EXT = tar.gz PKG_DIST_NAME = v$(PKG_VERS).$(PKG_EXT) PKG_DIST_SITE = https://github.com/jbruchon/jdupes/archive diff --git a/cross/jdupes/digests b/cross/jdupes/digests index aa0d1dacd09..a7bcbb13cdd 100644 --- a/cross/jdupes/digests +++ b/cross/jdupes/digests @@ -1,3 +1,3 @@ -jdupes-1.20.2.tar.gz SHA1 9484f11cebdcf98de35bd781b477186df4f69f7b -jdupes-1.20.2.tar.gz SHA256 d079d22dc77e1d181abcb8a59216520633a8712d197d007a9a9fb64c72610824 -jdupes-1.20.2.tar.gz MD5 effaaad22f120046c91808b741bd3727 +jdupes-1.21.0.tar.gz SHA1 bc587263af88d8ea5cdec6e9319cc41a61c3e398 +jdupes-1.21.0.tar.gz SHA256 13e56c608354f10f9314c99cf37b034dde14e6bf4a9303c77391323e2ef4f549 +jdupes-1.21.0.tar.gz MD5 a10b2d358319bc8c8d08a27a98f69c58 diff --git a/cross/json-glib/Makefile b/cross/json-glib/Makefile new file mode 100644 index 00000000000..2b4b828cbc6 --- /dev/null +++ b/cross/json-glib/Makefile @@ -0,0 +1,22 @@ +PKG_NAME = json-glib +PKG_VERS = 1.6.6 +PKG_EXT = tar.gz +PKG_DIST_NAME = $(PKG_VERS).$(PKG_EXT) +PKG_DIST_SITE = https://github.com/GNOME/json-glib/archive +PKG_DIST_FILE = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT) +PKG_DIR = $(PKG_NAME)-$(PKG_VERS) + +# https://github.com/GNOME/json-glib/archive/refs/tags/1.6.6.tar.gz + +DEPENDS = cross/glib + +UNSUPPORTED_ARCHS = $(OLD_PPC_ARCHS) + +HOMEPAGE = https://gitlab.gnome.org/GNOME/json-glib +COMMENT = JSON-GLib implements a full JSON parser and generator using GLib and GObject, and integrates JSON with GLib data types. +LICENSE = LGPLv2.1 + +# let it find glib-mkenums +ENV += "PATH=$(PATH):$(STAGING_INSTALL_PREFIX)/bin" + +include ../../mk/spksrc.cross-meson.mk diff --git a/cross/json-glib/PLIST b/cross/json-glib/PLIST new file mode 100644 index 00000000000..c672b7cc67e --- /dev/null +++ b/cross/json-glib/PLIST @@ -0,0 +1,3 @@ +lnk:lib/libjson-glib-1.0.so +lnk:lib/libjson-glib-1.0.so.0 +lib:lib/libjson-glib-1.0.so.0.600.6 diff --git a/cross/json-glib/digests b/cross/json-glib/digests new file mode 100644 index 00000000000..703425a7c16 --- /dev/null +++ b/cross/json-glib/digests @@ -0,0 +1,3 @@ +json-glib-1.6.6.tar.gz SHA1 1a4cb411fae355ce65016542c560392a023ee0c4 +json-glib-1.6.6.tar.gz SHA256 bf4d1cd6c343ce13b9258e6703a0411a3b659887b65877e85a2aa488ae18b865 +json-glib-1.6.6.tar.gz MD5 d8c50be019c50e61c61001feccd44269 diff --git a/cross/libblkid/Makefile b/cross/libblkid/Makefile new file mode 100644 index 00000000000..af5b56b3cd9 --- /dev/null +++ b/cross/libblkid/Makefile @@ -0,0 +1,25 @@ +PKG_NAME = libblkid +PKG_REAL_NAME = util-linux +PKG_VERS = 2.38.1 +PKG_VERS_MAJOR = $(word 1,$(subst ., ,$(PKG_VERS))).$(word 2,$(subst ., ,$(PKG_VERS))) +PKG_EXT = tar.xz +PKG_DIST_NAME = $(PKG_REAL_NAME)-$(PKG_VERS).$(PKG_EXT) +PKG_DIST_SITE = https://www.kernel.org/pub/linux/utils/$(PKG_REAL_NAME)/v$(PKG_VERS_MAJOR) +# use dedicated folder to build independent of other libraries built from util-linux (i.e. libuuid) +PKG_DIR = $(PKG_NAME)/$(PKG_REAL_NAME)-$(PKG_VERS) +EXTRACT_PATH = $(WORK_DIR)/$(PKG_NAME) + +DEPENDS = + +HOMEPAGE = https://github.com/karelzak/util-linux +COMMENT = Random collection of Linux utilities. We use this only to build libblkid out of util-linux. +LICENSE = GPLv2 + +GNU_CONFIGURE = 1 +CONFIGURE_ARGS = --disable-static --without-ncurses --without-python --disable-asciidoc +# Create libblkid only +CONFIGURE_ARGS += --disable-all-programs --enable-libblkid + +ADDITIONAL_CFLAGS = -Wno-unused-parameter + +include ../../mk/spksrc.cross-cc.mk diff --git a/cross/libblkid/PLIST b/cross/libblkid/PLIST new file mode 100644 index 00000000000..bc5878d8b10 --- /dev/null +++ b/cross/libblkid/PLIST @@ -0,0 +1,3 @@ +lib:lib/libblkid.so +lib:lib/libblkid.so.1 +lib:lib/libblkid.so.1.1.0 diff --git a/cross/libblkid/digests b/cross/libblkid/digests new file mode 100644 index 00000000000..6b38c7caeaa --- /dev/null +++ b/cross/libblkid/digests @@ -0,0 +1,3 @@ +util-linux-2.38.1.tar.xz SHA1 f62a7b6fe64ce7f4569b57d7d2d0875b39f79836 +util-linux-2.38.1.tar.xz SHA256 60492a19b44e6cf9a3ddff68325b333b8b52b6c59ce3ebd6a0ecaa4c5117e84f +util-linux-2.38.1.tar.xz MD5 cd11456f4ddd31f7fbfdd9488c0c0d02 diff --git a/cross/libelf/Makefile b/cross/libelf/Makefile new file mode 100644 index 00000000000..f07369c2e6b --- /dev/null +++ b/cross/libelf/Makefile @@ -0,0 +1,19 @@ +PKG_NAME = libelf +PKG_VERS = 0.8.13 +PKG_EXT = tar.gz +PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT) +PKG_DIST_SITE = https://fossies.org/linux/misc/old +PKG_DIR = $(PKG_NAME)-$(PKG_VERS) + +DEPENDS = + +# original homepage not reachable anymore (http://www.mr511.de/software/english.html). +HOMEPAGE = https://fossies.org/linux/misc/old/libelf-0.8.13.tar.gz/index_ap.html +COMMENT = libelf is a free ELF object file access library (supports 64-bit ELF files). +LICENSE = LPGL + +GNU_CONFIGURE = 1 + +INSTALL_MAKE_OPTIONS = install instroot=$(INSTALL_DIR) prefix=$(INSTALL_PREFIX) + +include ../../mk/spksrc.cross-cc.mk diff --git a/cross/libelf/PLIST b/cross/libelf/PLIST new file mode 100644 index 00000000000..7f1ce615ba6 --- /dev/null +++ b/cross/libelf/PLIST @@ -0,0 +1,3 @@ +lnk:lib/libelf.so +lnk:lib/libelf.so.0 +lib:lib/libelf.so.0.8.13 diff --git a/cross/libelf/digests b/cross/libelf/digests new file mode 100644 index 00000000000..096abfbfbcd --- /dev/null +++ b/cross/libelf/digests @@ -0,0 +1,3 @@ +libelf-0.8.13.tar.gz SHA1 c1d6ac5f182d19dd685c4dfd74eedbfe3992425d +libelf-0.8.13.tar.gz SHA256 591a9b4ec81c1f2042a97aa60564e0cb79d041c52faa7416acb38bc95bd2c76d +libelf-0.8.13.tar.gz MD5 4136d7b4c04df68b686570afa26988ac diff --git a/cross/libelf/patches/001-fix-configure-to-create-shared-lib-with-cross-compile.patch b/cross/libelf/patches/001-fix-configure-to-create-shared-lib-with-cross-compile.patch new file mode 100644 index 00000000000..f44627b1e68 --- /dev/null +++ b/cross/libelf/patches/001-fix-configure-to-create-shared-lib-with-cross-compile.patch @@ -0,0 +1,23 @@ +# enable build of shared libs when cross compiling +# enable 64-bit support as gcc of all toolchains support "long long" type +# +--- configure.orig 2008-05-23 08:18:03.000000000 +0000 ++++ configure 2022-10-22 08:19:17.280203269 +0000 +@@ -1595,7 +1595,7 @@ + echo $ac_n "(cached) $ac_c" 1>&6 + else + if test "$cross_compiling" = yes; then +- ac_cv_sizeof_long_long=0 ++ ac_cv_sizeof_long_long=8 + else + cat > conftest.$ac_ext <&6 + else + if test "$cross_compiling" = yes; then +- mr_cv_target_elf=no ++ mr_cv_target_elf=yes + else + cat > conftest.$ac_ext <