On Thu, Aug 17, 2023 at 02:00:52AM +0000, Klemens Nanni wrote: > Compared to md5(1) with [-h hashfile], xxhsum(1) has no option to write > to anything but standard output. > > Dropping "rpath" later can be done, but needs more patching and testing. > > Works for me, tests pass. > Feedback? Objcetion? OK?
Rebased after the alignment fix. No objection from bket. Index: Makefile =================================================================== RCS file: /cvs/ports/sysutils/xxhash/Makefile,v retrieving revision 1.15 diff -u -p -r1.15 Makefile --- Makefile 17 Aug 2023 06:44:12 -0000 1.15 +++ Makefile 17 Aug 2023 16:23:55 -0000 @@ -4,20 +4,21 @@ COMMENT = extremely fast non-cryptograph GH_ACCOUNT = Cyan4973 GH_PROJECT = xxHash GH_TAGNAME = v0.8.2 -REVISION = 0 +REVISION = 1 PKGNAME = ${DISTNAME:L} SHARED_LIBS = xxhash 0.3 # 0.8.1 CATEGORIES = sysutils -HOMEPAGE = https://cyan4973.github.io/xxHash/ +HOMEPAGE = https://xxhash.com MAINTAINER = Bjorn Ketelaars <b...@openbsd.org> # BSD 2-Clause PERMIT_PACKAGE = Yes +# uses pledge() WANTLIB = c MAKE_FLAGS = CC="${CC}" \ Index: patches/patch-cli_xsum_os_specific_c =================================================================== RCS file: patches/patch-cli_xsum_os_specific_c diff -N patches/patch-cli_xsum_os_specific_c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-cli_xsum_os_specific_c 17 Aug 2023 01:41:40 -0000 @@ -0,0 +1,27 @@ +Use pledge(2), xxhsum(1) only ever reads files or stdin. + +Index: cli/xsum_os_specific.c +--- cli/xsum_os_specific.c.orig ++++ cli/xsum_os_specific.c +@@ -69,6 +69,9 @@ static int XSUM_IS_CONSOLE(FILE* stdStream) + || defined(__DJGPP__) \ + || defined(__MSYS__) \ + || defined(__HAIKU__) ++# ifdef __OpenBSD__ ++# include <err.h> ++# endif + # include <unistd.h> /* isatty */ + # define XSUM_IS_CONSOLE(stdStream) isatty(fileno(stdStream)) + #elif defined(MSDOS) || defined(OS2) +@@ -135,6 +138,11 @@ static int XSUM_stat(const char* infilename, XSUM_stat + #ifndef XSUM_NO_MAIN + int main(int argc, const char* argv[]) + { ++#ifdef __OpenBSD__ ++ if (pledge("stdio rpath", NULL) == -1) ++ err(1, "pledge"); ++#endif ++ + return XSUM_main(argc, argv); + } + #endif Index: patches/patch-tests_sanity_test_c =================================================================== RCS file: patches/patch-tests_sanity_test_c diff -N patches/patch-tests_sanity_test_c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-tests_sanity_test_c 17 Aug 2023 01:41:40 -0000 @@ -0,0 +1,17 @@ +Use pledge(2), the sanity test does even not read files. + +Index: tests/sanity_test.c +--- tests/sanity_test.c.orig ++++ tests/sanity_test.c +@@ -639,6 +639,11 @@ int main(int argc, const char* argv[]) + (void) argc; + (void) argv; + ++#ifdef __OpenBSD__ ++ if (pledge("stdio", NULL) == -1) ++ err(1, "pledge"); ++#endif ++ + { + /* XXH32 */ + size_t const n = sizeof(XSUM_XXH32_testdata) / sizeof(XSUM_XXH32_testdata[0]);