commit: f70e6f9f111f3ee503dfeb489dbae3ed985c0533
parent 090f55272cca5cc5ee1ada46a558f1f1f25ddbca
Author: Haelwenn (lanodan) Monnier <contact@hacktivis.me>
Date: Mon, 14 Apr 2025 02:14:04 +0200
lanodan/utils-std*: upgrade to 0.0.3
Diffstat:
6 files changed, 226 insertions(+), 10 deletions(-)
diff --git a/lanodan/utils-std-static/APKBUILD b/lanodan/utils-std-static/APKBUILD
@@ -1,16 +1,20 @@
# Maintainer: Haelwenn (lanodan) Monnier <contact+alpine@hacktivis.me>
pkgname=utils-std-static
tarname=utils-std
-pkgver=0.0.2
+pkgver=0.0.3
pkgrel=0
pkgdesc="Collection of commonly available Unix tools"
-url="https://hacktivis.me/git/utils-std"
+url="https://hacktivis.me/projects/utils-std"
arch="all"
license="MPL-2.0 0BSD BSD-2-Clause BSD-3-Clause CC0-1.0 GFDL-1.1-only WTFPL"
makedepends="cmd:m4 cmd:yacc"
checkdepends=""
-subpackages="$pkgname-dbg $pkgname-doc $pkgname-strings $pkgname-strings-doc:strings_doc"
-source="https://distfiles.hacktivis.me/releases/utils-std/$tarname-$pkgver.tar.gz"
+subpackages="$pkgname-dbg $pkgname-doc $pkgname-strings $pkgname-strings-doc:strings_doc $pkgname-getconf $pkgname-getconf-doc:getconf_doc"
+source="
+ https://distfiles.hacktivis.me/releases/utils-std/$tarname-$pkgver.tar.gz
+ utils-std-0.0.3-getconf_terminating_null_byte.patch
+ utils-std-0.0.3-getconf_use_correct_structs.patch
+"
builddir="$srcdir/$tarname-$pkgver"
build() {
@@ -54,6 +58,9 @@ package() {
# ERROR: utils-std-doc-0_git20240915-r0: trying to overwrite usr/share/man/man1/renice.1.gz owned by util-linux-doc-2.40.1-r1.
# ERROR: utils-std-doc-0_git20240915-r0: trying to overwrite usr/share/man/man1/time.1.gz owned by man-pages-6.8-r0.
rm "$pkgdir"/usr/share/man/man1/renice.1 "$pkgdir"/usr/share/man/man1/time.1
+
+ # resolve conflict with musl-utils for cmd:getconf
+ rm "$pkgdir"/usr/bin/getconf "$pkgdir"/usr/share/man/man1/getconf.1
}
strings() {
@@ -73,6 +80,25 @@ strings_doc() {
gzip -n -9 "$subpkgdir"/usr/share/man/man1/strings.1
}
+getconf() {
+ mkdir -p "$subpkgdir"/usr/bin/
+ cp -p "$builddir"/cmd/getconf "$subpkgdir"/usr/bin/
+}
+
+getconf_doc() {
+ local gzip=$(command -v pigz || echo gzip)
+ depends="$depends_doc"
+ install_if="docs $pkgname-getconf=$pkgver-r$pkgrel"
+
+ mkdir -p "$subpkgdir"/usr/share/man/man1/
+ cp -p "$builddir"/cmd/getconf.1 "$subpkgdir"/usr/share/man/man1/
+
+ # ERROR: utils-std-strings-doc*: Found uncompressed man pages
+ gzip -n -9 "$subpkgdir"/usr/share/man/man1/getconf.1
+}
+
sha512sums="
-bf69acf08a8fb996c324c49293bbf6cad11f982a9eb0b6e83a9c1e5df866f29466d60f8a42205b1e9621a5dae66a8a9f1e11ead26a9a1c3329f90faf29295617 utils-std-0.0.2.tar.gz
+a77a3532cec2d04b667906cc25a20cf9fef0eae92e0ab6cc292c0de37158c5e24cc7a0f0ff0b4a0fce348e5b2e4780d2d5d538fa4802930459f1fe7fc0945878 utils-std-0.0.3.tar.gz
+436ba03025e16fd870fc7c9da4933e76fc2d786a4c8350743d3e2e6f08cf24356994380d00ff287822b7365b26702c98ed22ce379986116257c139fda5f1c18d utils-std-0.0.3-getconf_terminating_null_byte.patch
+ef4901fd05acb9be08152c53dd6cd6f33460b597968638519d198729c13e2c02859b879ec9ef322456a39cd3e460588ed97c435e39286d418327c3278d09a8fd utils-std-0.0.3-getconf_use_correct_structs.patch
"
diff --git a/lanodan/utils-std-static/utils-std-0.0.3-getconf_terminating_null_byte.patch b/lanodan/utils-std-static/utils-std-0.0.3-getconf_terminating_null_byte.patch
@@ -0,0 +1,37 @@
+From 5d7fc0ed50c184dc6a9ced8e9d36cc931b5eb5ac Mon Sep 17 00:00:00 2001
+From: "Haelwenn (lanodan) Monnier" <contact@hacktivis.me>
+Date: Mon, 14 Apr 2025 01:36:33 +0200
+Subject: [PATCH 1/2] cmd/getconf: don't write the terminating null byte from
+ confstr()
+
+Also use the return value of the second call to confstr()
+as length in case the buffer didn't entirely get filled.
+---
+ cmd/getconf.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/cmd/getconf.c b/cmd/getconf.c
+index a98b7ba..3baed4d 100644
+--- a/cmd/getconf.c
++++ b/cmd/getconf.c
+@@ -77,7 +77,7 @@ print_system_var(const char *var)
+ return 0;
+ }
+
+- fwrite(buf, buflen, 1, stdout);
++ fwrite(buf, (ret - 1), 1, stdout);
+ free(buf);
+ return 0;
+ }
+@@ -250,7 +250,7 @@ main(int argc, char *argv[])
+ }
+
+ printf("%s: ", confstr_vars[i].name);
+- fwrite(buf, buflen_ret, 1, stdout);
++ fwrite(buf, (ret - 1), 1, stdout);
+ printf("\n");
+ }
+
+--
+2.49.0
+
diff --git a/lanodan/utils-std-static/utils-std-0.0.3-getconf_use_correct_structs.patch b/lanodan/utils-std-static/utils-std-0.0.3-getconf_use_correct_structs.patch
@@ -0,0 +1,45 @@
+From c9e9194dd4ed1796f28c594bf27f75fbe7d1e9ea Mon Sep 17 00:00:00 2001
+From: "Haelwenn (lanodan) Monnier" <contact@hacktivis.me>
+Date: Mon, 14 Apr 2025 01:55:41 +0200
+Subject: [PATCH] cmd/getconf: use the correct structs in -a loops
+
+---
+ cmd/getconf.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/cmd/getconf.c b/cmd/getconf.c
+index 3baed4d..ebad913 100644
+--- a/cmd/getconf.c
++++ b/cmd/getconf.c
+@@ -174,7 +174,7 @@ main(int argc, char *argv[])
+ strerror(errno));
+ return 1;
+ }
+- if(ret == -1) ret = sysconf_vars[i].limit_h;
++ if(ret == -1) ret = pathconf_vars[i].limit_h;
+
+ printf("%ld\n", ret);
+ return 0;
+@@ -264,8 +264,8 @@ main(int argc, char *argv[])
+ {
+ fprintf(stderr,
+ "getconf: error: sysconf(%d /* \"%s\" */): %s\n",
+- confstr_vars[i].value,
+- confstr_vars[i].name,
++ sysconf_vars[i].value,
++ sysconf_vars[i].name,
+ strerror(errno));
+ err = 1;
+ continue;
+@@ -311,7 +311,7 @@ main(int argc, char *argv[])
+ err = 1;
+ continue;
+ }
+- if(ret == -1) ret = sysconf_vars[i].limit_h;
++ if(ret == -1) ret = pathconf_vars[i].limit_h;
+
+ printf("%s: %ld\n", pathconf_vars[i].name, ret);
+ }
+--
+2.49.0
+
diff --git a/lanodan/utils-std/APKBUILD b/lanodan/utils-std/APKBUILD
@@ -1,15 +1,19 @@
# Maintainer: Haelwenn (lanodan) Monnier <contact+alpine@hacktivis.me>
pkgname=utils-std
-pkgver=0.0.2
+pkgver=0.0.3
pkgrel=0
pkgdesc="Collection of commonly available Unix tools"
-url="https://hacktivis.me/git/utils-std"
+url="https://hacktivis.me/projects/utils-std"
arch="all"
license="MPL-2.0 0BSD BSD-2-Clause BSD-3-Clause CC0-1.0 GFDL-1.1-only WTFPL"
makedepends="cmd:m4 cmd:yacc"
checkdepends=""
-subpackages="$pkgname-dbg $pkgname-doc $pkgname-strings $pkgname-strings-doc:strings_doc"
-source="https://distfiles.hacktivis.me/releases/utils-std/$pkgname-$pkgver.tar.gz"
+subpackages="$pkgname-dbg $pkgname-doc $pkgname-strings $pkgname-strings-doc:strings_doc $pkgname-getconf $pkgname-getconf-doc:getconf_doc"
+source="
+ https://distfiles.hacktivis.me/releases/utils-std/$pkgname-$pkgver.tar.gz
+ utils-std-0.0.3-getconf_terminating_null_byte.patch
+ utils-std-0.0.3-getconf_use_correct_structs.patch
+"
builddir="$srcdir/$pkgname-$pkgver"
build() {
@@ -53,6 +57,9 @@ package() {
# ERROR: utils-std-doc-0_git20240915-r0: trying to overwrite usr/share/man/man1/renice.1.gz owned by util-linux-doc-2.40.1-r1.
# ERROR: utils-std-doc-0_git20240915-r0: trying to overwrite usr/share/man/man1/time.1.gz owned by man-pages-6.8-r0.
rm "$pkgdir"/usr/share/man/man1/renice.1 "$pkgdir"/usr/share/man/man1/time.1
+
+ # resolve conflict with musl-utils for cmd:getconf
+ rm "$pkgdir"/usr/bin/getconf "$pkgdir"/usr/share/man/man1/getconf.1
}
strings() {
@@ -72,6 +79,25 @@ strings_doc() {
gzip -n -9 "$subpkgdir"/usr/share/man/man1/strings.1
}
+getconf() {
+ mkdir -p "$subpkgdir"/usr/bin/
+ cp -p "$builddir"/cmd/getconf "$subpkgdir"/usr/bin/
+}
+
+getconf_doc() {
+ local gzip=$(command -v pigz || echo gzip)
+ depends="$depends_doc"
+ install_if="docs $pkgname-getconf=$pkgver-r$pkgrel"
+
+ mkdir -p "$subpkgdir"/usr/share/man/man1/
+ cp -p "$builddir"/cmd/getconf.1 "$subpkgdir"/usr/share/man/man1/
+
+ # ERROR: utils-std-strings-doc*: Found uncompressed man pages
+ gzip -n -9 "$subpkgdir"/usr/share/man/man1/getconf.1
+}
+
sha512sums="
-bf69acf08a8fb996c324c49293bbf6cad11f982a9eb0b6e83a9c1e5df866f29466d60f8a42205b1e9621a5dae66a8a9f1e11ead26a9a1c3329f90faf29295617 utils-std-0.0.2.tar.gz
+a77a3532cec2d04b667906cc25a20cf9fef0eae92e0ab6cc292c0de37158c5e24cc7a0f0ff0b4a0fce348e5b2e4780d2d5d538fa4802930459f1fe7fc0945878 utils-std-0.0.3.tar.gz
+436ba03025e16fd870fc7c9da4933e76fc2d786a4c8350743d3e2e6f08cf24356994380d00ff287822b7365b26702c98ed22ce379986116257c139fda5f1c18d utils-std-0.0.3-getconf_terminating_null_byte.patch
+ef4901fd05acb9be08152c53dd6cd6f33460b597968638519d198729c13e2c02859b879ec9ef322456a39cd3e460588ed97c435e39286d418327c3278d09a8fd utils-std-0.0.3-getconf_use_correct_structs.patch
"
diff --git a/lanodan/utils-std/utils-std-0.0.3-getconf_terminating_null_byte.patch b/lanodan/utils-std/utils-std-0.0.3-getconf_terminating_null_byte.patch
@@ -0,0 +1,37 @@
+From 5d7fc0ed50c184dc6a9ced8e9d36cc931b5eb5ac Mon Sep 17 00:00:00 2001
+From: "Haelwenn (lanodan) Monnier" <contact@hacktivis.me>
+Date: Mon, 14 Apr 2025 01:36:33 +0200
+Subject: [PATCH 1/2] cmd/getconf: don't write the terminating null byte from
+ confstr()
+
+Also use the return value of the second call to confstr()
+as length in case the buffer didn't entirely get filled.
+---
+ cmd/getconf.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/cmd/getconf.c b/cmd/getconf.c
+index a98b7ba..3baed4d 100644
+--- a/cmd/getconf.c
++++ b/cmd/getconf.c
+@@ -77,7 +77,7 @@ print_system_var(const char *var)
+ return 0;
+ }
+
+- fwrite(buf, buflen, 1, stdout);
++ fwrite(buf, (ret - 1), 1, stdout);
+ free(buf);
+ return 0;
+ }
+@@ -250,7 +250,7 @@ main(int argc, char *argv[])
+ }
+
+ printf("%s: ", confstr_vars[i].name);
+- fwrite(buf, buflen_ret, 1, stdout);
++ fwrite(buf, (ret - 1), 1, stdout);
+ printf("\n");
+ }
+
+--
+2.49.0
+
diff --git a/lanodan/utils-std/utils-std-0.0.3-getconf_use_correct_structs.patch b/lanodan/utils-std/utils-std-0.0.3-getconf_use_correct_structs.patch
@@ -0,0 +1,45 @@
+From c9e9194dd4ed1796f28c594bf27f75fbe7d1e9ea Mon Sep 17 00:00:00 2001
+From: "Haelwenn (lanodan) Monnier" <contact@hacktivis.me>
+Date: Mon, 14 Apr 2025 01:55:41 +0200
+Subject: [PATCH] cmd/getconf: use the correct structs in -a loops
+
+---
+ cmd/getconf.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/cmd/getconf.c b/cmd/getconf.c
+index 3baed4d..ebad913 100644
+--- a/cmd/getconf.c
++++ b/cmd/getconf.c
+@@ -174,7 +174,7 @@ main(int argc, char *argv[])
+ strerror(errno));
+ return 1;
+ }
+- if(ret == -1) ret = sysconf_vars[i].limit_h;
++ if(ret == -1) ret = pathconf_vars[i].limit_h;
+
+ printf("%ld\n", ret);
+ return 0;
+@@ -264,8 +264,8 @@ main(int argc, char *argv[])
+ {
+ fprintf(stderr,
+ "getconf: error: sysconf(%d /* \"%s\" */): %s\n",
+- confstr_vars[i].value,
+- confstr_vars[i].name,
++ sysconf_vars[i].value,
++ sysconf_vars[i].name,
+ strerror(errno));
+ err = 1;
+ continue;
+@@ -311,7 +311,7 @@ main(int argc, char *argv[])
+ err = 1;
+ continue;
+ }
+- if(ret == -1) ret = sysconf_vars[i].limit_h;
++ if(ret == -1) ret = pathconf_vars[i].limit_h;
+
+ printf("%s: %ld\n", pathconf_vars[i].name, ret);
+ }
+--
+2.49.0
+