From 0d781138ff168f7a96c91d37e7cdc1ba19af0773 Mon Sep 17 00:00:00 2001 From: Bernd Kuhls Date: Thu, 30 Oct 2025 20:54:05 +0100 Subject: [PATCH] package/quota: bump version to 4.10 Changelog: https://sourceforge.net/p/linuxquota/code/ci/v4.10/tree/Changelog Removed patch which is included in this release. Added two upstream patches to fix build errors. Removed md5 hash, switched _SITE to https. Signed-off-by: Bernd Kuhls Signed-off-by: Julien Olivain --- package/quota/0001-Fix-building-on-musl.patch | 234 ------------------ .../0001-setproject-fix-openat-call.patch | 41 +++ .../0002-setproject-Fix-openWRT-build.patch | 32 +++ package/quota/quota.hash | 7 +- package/quota/quota.mk | 4 +- 5 files changed, 78 insertions(+), 240 deletions(-) delete mode 100644 package/quota/0001-Fix-building-on-musl.patch create mode 100644 package/quota/0001-setproject-fix-openat-call.patch create mode 100644 package/quota/0002-setproject-Fix-openWRT-build.patch diff --git a/package/quota/0001-Fix-building-on-musl.patch b/package/quota/0001-Fix-building-on-musl.patch deleted file mode 100644 index df6c32fb34..0000000000 --- a/package/quota/0001-Fix-building-on-musl.patch +++ /dev/null @@ -1,234 +0,0 @@ -From e73c5b48e12c3f02e532864a1107cdc8a4feafc3 Mon Sep 17 00:00:00 2001 -From: Brahmajit Das -Date: Sun, 14 Jul 2024 07:58:50 +0000 -Subject: [PATCH] Fix building on musl - -basename(3) is defined in libgen.h in MUSL. Include libgen.h where -basename(3) is used. - -Signed-off-by: Brahmajit Das -Signed-off-by: Jan Kara - -Upstream: https://sourceforge.net/p/linuxquota/code/ci/e73c5b48e12c3f02e532864a1107cdc8a4feafc3/ - -Signed-off-by: Bernd Kuhls ---- - convertquota.c | 1 + - edquota.c | 11 ++++++----- - quota.c | 1 + - quota_nld.c | 1 + - quotacheck.c | 1 + - quotaon.c | 1 + - quotastats.c | 1 + - quotasync.c | 1 + - repquota.c | 1 + - rquota_svc.c | 1 + - setquota.c | 1 + - warnquota.c | 1 + - xqmstats.c | 1 + - 13 files changed, 18 insertions(+), 5 deletions(-) - -diff --git a/convertquota.c b/convertquota.c -index 6c8a553..4eb05ed 100644 ---- a/convertquota.c -+++ b/convertquota.c -@@ -14,6 +14,7 @@ - #include - #include - #include -+#include - - #include - -diff --git a/edquota.c b/edquota.c -index 20ca306..c5b27cf 100644 ---- a/edquota.c -+++ b/edquota.c -@@ -20,6 +20,7 @@ - #include - #include - #include -+#include - - #include "pot.h" - #include "quotaops.h" -@@ -38,7 +39,7 @@ char *progname; - static int flags, quotatype; - static int fmt = -1; - static char *protoname; --static char *dirname; -+static char *dir_name; - - static void usage(void) - { -@@ -138,7 +139,7 @@ static int parse_options(int argc, char **argv) - exit(1); - break; - case 'f': -- dirname = optarg; -+ dir_name = optarg; - break; - case 256: - flags |= FL_NUMNAMES; -@@ -176,7 +177,7 @@ static void copy_prototype(int argc, char **argv, struct quota_handle **handles) - protoprivs = getprivs(protoid, handles, 0); - while (argc-- > 0) { - id = name2id(*argv, quotatype, !!(flags & FL_NUMNAMES), NULL); -- curprivs = getprivs(id, handles, !dirname); -+ curprivs = getprivs(id, handles, !dir_name); - if (!curprivs) - die(1, _("Cannot get quota information for user %s\n"), *argv); - argv++; -@@ -223,7 +224,7 @@ int main(int argc, char **argv) - argv += ret; - - init_kernel_interface(); -- handles = create_handle_list(dirname ? 1 : 0, dirname ? &dirname : NULL, quotatype, fmt, -+ handles = create_handle_list(dir_name ? 1 : 0, dir_name ? &dir_name : NULL, quotatype, fmt, - (flags & FL_NO_MIXED_PATHS) ? 0 : IOI_NFS_MIXED_PATHS, - (flags & FL_REMOTE) ? 0 : MS_LOCALONLY); - if (!handles[0]) { -@@ -296,7 +297,7 @@ int main(int argc, char **argv) - else { - for (; argc > 0; argc--, argv++) { - id = name2id(*argv, quotatype, !!(flags & FL_NUMNAMES), NULL); -- curprivs = getprivs(id, handles, !dirname); -+ curprivs = getprivs(id, handles, !dir_name); - if (!curprivs) - die(1, _("Cannot get quota information for user %s.\n"), *argv); - if (flags & FL_EDIT_TIMES) { -diff --git a/quota.c b/quota.c -index a60de12..66b0fa3 100644 ---- a/quota.c -+++ b/quota.c -@@ -20,6 +20,7 @@ - #include - #include - #include -+#include - #ifdef RPC - #include - #include "rquota.h" -diff --git a/quota_nld.c b/quota_nld.c -index 58a62af..710b556 100644 ---- a/quota_nld.c -+++ b/quota_nld.c -@@ -26,6 +26,7 @@ - #include - #include - #include -+#include - #include - #include - -diff --git a/quotacheck.c b/quotacheck.c -index e2c3bbd..fa1d297 100644 ---- a/quotacheck.c -+++ b/quotacheck.c -@@ -19,6 +19,7 @@ - #include - #include - #include -+#include - - #include - #include -diff --git a/quotaon.c b/quotaon.c -index 351c851..17b6bcc 100644 ---- a/quotaon.c -+++ b/quotaon.c -@@ -13,6 +13,7 @@ - #include - #include - #include -+#include - - #include "quotaon.h" - #include "quota.h" -diff --git a/quotastats.c b/quotastats.c -index a059812..4076a7d 100644 ---- a/quotastats.c -+++ b/quotastats.c -@@ -24,6 +24,7 @@ - #include - #include - #include -+#include - - #include "pot.h" - #include "common.h" -diff --git a/quotasync.c b/quotasync.c -index cad2a20..e90b24a 100644 ---- a/quotasync.c -+++ b/quotasync.c -@@ -7,6 +7,7 @@ - #include - #include - #include -+#include - - #include "pot.h" - #include "common.h" -diff --git a/repquota.c b/repquota.c -index e79fc4d..8e509bd 100644 ---- a/repquota.c -+++ b/repquota.c -@@ -18,6 +18,7 @@ - #include - #include - #include -+#include - - #include "pot.h" - #include "common.h" -diff --git a/rquota_svc.c b/rquota_svc.c -index 6e856bb..c17df13 100644 ---- a/rquota_svc.c -+++ b/rquota_svc.c -@@ -34,6 +34,7 @@ - #include - #include - #include -+#include - #ifdef HOSTS_ACCESS - #include - #include -diff --git a/setquota.c b/setquota.c -index c517ab1..9e4b2fa 100644 ---- a/setquota.c -+++ b/setquota.c -@@ -18,6 +18,7 @@ - #include - #include - #include -+#include - - #if defined(RPC) - #include "rquota.h" -diff --git a/warnquota.c b/warnquota.c -index 2882fee..6f63ce7 100644 ---- a/warnquota.c -+++ b/warnquota.c -@@ -31,6 +31,7 @@ - #include - #include - #include -+#include - #ifdef HAVE_NL_LANGINFO - #include - #endif -diff --git a/xqmstats.c b/xqmstats.c -index 59b1d66..345b060 100644 ---- a/xqmstats.c -+++ b/xqmstats.c -@@ -8,6 +8,7 @@ - #include - #include - #include -+#include - #include "common.h" - #include "pot.h" - --- -2.47.3 - diff --git a/package/quota/0001-setproject-fix-openat-call.patch b/package/quota/0001-setproject-fix-openat-call.patch new file mode 100644 index 0000000000..3c5d523e1e --- /dev/null +++ b/package/quota/0001-setproject-fix-openat-call.patch @@ -0,0 +1,41 @@ +From d9852bd5b76ca65f283929e803b87343942ecb1f Mon Sep 17 00:00:00 2001 +From: Konstantin Demin +Date: Tue, 1 Jul 2025 14:35:36 +0200 +Subject: [PATCH] setproject: fix openat() call + +It looks like that openat() call was copy-pasted from above fstatat() call. +However, manpage for openat() doesn't mention AT_SYMLINK_NOFOLLOW. +Furthermore, AT_SYMLINK_NOFOLLOW constant value (0x100) sometimes (!) clashes +with O_CREAT constant value which is defined as 0100 (0x40) OR 0x100 (yes, two +different values for the same constant appear in headers). This produces build +errors when fortifying defines (-D_FORTIFY_SOURCE) are in effect (e.g. with +glibc 2.41). In order to keep correct behavior, use O_NOFOLLOW instead of +AT_SYMLINK_NOFOLLOW. + +Fixes: e61d46c65899ced9599c93a6128f19d8759fcad8 +Signed-off-by: Konstantin Demin +Signed-off-by: Jan Kara + +Upstream: https://sourceforge.net/p/linuxquota/code/ci/d9852bd5b76ca65f283929e803b87343942ecb1f/ + +Signed-off-by: Bernd Kuhls +--- + setproject.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/setproject.c b/setproject.c +index 3047c3d..e688dcd 100644 +--- a/setproject.c ++++ b/setproject.c +@@ -73,7 +73,7 @@ static void setproject_recurse(int dirfd, unsigned id, unsigned dev) + if (!S_ISDIR(st.st_mode) && !S_ISREG(st.st_mode)) + continue; + +- int fd = openat(dirfd, d->d_name, AT_SYMLINK_NOFOLLOW); ++ int fd = openat(dirfd, d->d_name, O_NOFOLLOW); + if (fd < 0) { + errstr(_("error opening %s: %m"), d->d_name); + errno = 0; +-- +2.47.3 + diff --git a/package/quota/0002-setproject-Fix-openWRT-build.patch b/package/quota/0002-setproject-Fix-openWRT-build.patch new file mode 100644 index 0000000000..04cc5fab04 --- /dev/null +++ b/package/quota/0002-setproject-Fix-openWRT-build.patch @@ -0,0 +1,32 @@ +From 41ba7031ca4852739dd1f66102d34e4a98490906 Mon Sep 17 00:00:00 2001 +From: Jan Kara +Date: Tue, 1 Jul 2025 15:41:56 +0200 +Subject: [PATCH] setproject: Fix openWRT build + +basename() needs libgen.h include in openWRT build environment. Add it. + +Reported-by: "W. Michael Petullo" +Signed-off-by: Jan Kara + +Upstream: https://sourceforge.net/p/linuxquota/code/ci/41ba7031ca4852739dd1f66102d34e4a98490906/ + +Signed-off-by: Bernd Kuhls +--- + setproject.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/setproject.c b/setproject.c +index e688dcd..4308435 100644 +--- a/setproject.c ++++ b/setproject.c +@@ -13,6 +13,7 @@ + #include + #include + #include ++#include + + #include + +-- +2.47.3 + diff --git a/package/quota/quota.hash b/package/quota/quota.hash index 5b083c911c..e82c1f2c64 100644 --- a/package/quota/quota.hash +++ b/package/quota/quota.hash @@ -1,7 +1,6 @@ -# From http://sourceforge.net/projects/linuxquota/files/quota-tools/4.09/ (click on info button) -md5 f85c2e15d9a735640675ff4977b57bb6 quota-4.09.tar.gz -sha1 5c215d869626b532be2773f4161bdcc8b9f97126 quota-4.09.tar.gz +# From https://sourceforge.net/projects/linuxquota/files/quota-tools/4.10/ +sha1 343f26a6f1b6a8dbbd7d89045b0c087efb08d553 quota-4.10.tar.gz # Locally calculated -sha256 9cdaca154bc92afc3117f0e5f5b3208dd5f84583af1cf061c39baa0a2bb142f9 quota-4.09.tar.gz +sha256 a04a0cafca29c15be8b6ac660e06188bccb802c19efe2e7c19ed7f3d667ecf5e quota-4.10.tar.gz sha256 32a5fd41e7a257f7f0373988ea8d45cebdbf376060703c242c11c000751b1203 COPYING diff --git a/package/quota/quota.mk b/package/quota/quota.mk index 1b6a4b1975..f22ebe41c4 100644 --- a/package/quota/quota.mk +++ b/package/quota/quota.mk @@ -4,8 +4,8 @@ # ################################################################################ -QUOTA_VERSION = 4.09 -QUOTA_SITE = http://downloads.sourceforge.net/project/linuxquota/quota-tools/$(QUOTA_VERSION) +QUOTA_VERSION = 4.10 +QUOTA_SITE = https://downloads.sourceforge.net/project/linuxquota/quota-tools/$(QUOTA_VERSION) QUOTA_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) host-nfs-utils QUOTA_LICENSE = GPL-2.0+ QUOTA_LICENSE_FILES = COPYING