From 93dae9b18ed2d53d06b091e6412de9585a4a62f3 Mon Sep 17 00:00:00 2001 From: Natanael Copa <ncopa@alpinelinux.org> Date: Wed, 7 Aug 2024 13:44:01 +0200 Subject: [PATCH] main/cramfs: fix build with gcc 14 --- main/cramfs/APKBUILD | 15 ++++++++++----- main/cramfs/gcc14.patch | 25 +++++++++++++++++++++++++ 2 files changed, 35 insertions(+), 5 deletions(-) create mode 100644 main/cramfs/gcc14.patch diff --git a/main/cramfs/APKBUILD b/main/cramfs/APKBUILD index 00f206742016..7acacadcbe83 100644 --- a/main/cramfs/APKBUILD +++ b/main/cramfs/APKBUILD @@ -1,23 +1,28 @@ # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=cramfs pkgver=1.1 -pkgrel=6 +pkgrel=7 pkgdesc="Linux filesystem designed to be simple, small, and to compress things well" arch="all" url="https://sourceforge.net/projects/cramfs/" license="GPL-2.0-or-later" makedepends="zlib-dev linux-headers" source="https://downloads.sourceforge.net/cramfs/cramfs-$pkgver.tar.gz - mkcramfs-include-sysmacros.patch" + mkcramfs-include-sysmacros.patch + gcc14.patch + " options="!check" build() { - make CFLAGS="$CFLAGS -D_GNU_SOURCE" + make } package() { install -Dm755 -t "$pkgdir"/sbin mkcramfs cramfsck } -sha512sums="6c18dbe32df57f7d132fb2a59a917ad381156ca1f720c1ad0997ca81c62e82fd43ebb0339c5a66d5b144a72ce5c7ae93596522fe2698259f2b68c31db26e3b63 cramfs-1.1.tar.gz -4cb3b50f76181775634a4cdf5d2d06ea90978f7059e0390e97f58c58896afee76e04e1df4e44f254285d7c80a76c3b053c36aa03b2e4cb3b9621c8aacd21368b mkcramfs-include-sysmacros.patch" +sha512sums=" +6c18dbe32df57f7d132fb2a59a917ad381156ca1f720c1ad0997ca81c62e82fd43ebb0339c5a66d5b144a72ce5c7ae93596522fe2698259f2b68c31db26e3b63 cramfs-1.1.tar.gz +4cb3b50f76181775634a4cdf5d2d06ea90978f7059e0390e97f58c58896afee76e04e1df4e44f254285d7c80a76c3b053c36aa03b2e4cb3b9621c8aacd21368b mkcramfs-include-sysmacros.patch +be7acef82b7b7dda2a60b123cae3e8ff03ead5432f13ab0256258c436d33a1882283d2c80b4ddd87debf9577e6f8fa6d92c903e72b6d9fc53a33c770968379be gcc14.patch +" diff --git a/main/cramfs/gcc14.patch b/main/cramfs/gcc14.patch new file mode 100644 index 000000000000..81009067133f --- /dev/null +++ b/main/cramfs/gcc14.patch @@ -0,0 +1,25 @@ +diff --git a/mkcramfs.c b/mkcramfs.c +index f9d12a2..a24e937 100644 +--- a/mkcramfs.c ++++ b/mkcramfs.c +@@ -22,6 +22,7 @@ + * If you change the disk format of cramfs, please update fs/cramfs/README. + */ + ++#define _GNU_SOURCE + #include <sys/types.h> + #include <sys/sysmacros.h> + #include <stdio.h> +@@ -218,10 +219,9 @@ static void eliminate_doubles(struct entry *root, struct entry *orig) { + * We define our own sorting function instead of using alphasort which + * uses strcoll and changes ordering based on locale information. + */ +-static int cramsort (const void *a, const void *b) ++static int cramsort (const struct dirent **a, const struct dirent **b) + { +- return strcmp ((*(const struct dirent **) a)->d_name, +- (*(const struct dirent **) b)->d_name); ++ return strcmp ((*a)->d_name, (*b)->d_name); + } + + static unsigned int parse_directory(struct entry *root_entry, const char *name, struct entry **prev, loff_t *fslen_ub) -- GitLab