halfempty: update to 0.40.

Tune halfempty defaults to better handle very large inputs sanely.
    A new --gen-intermediate option to save your work if halfempty is interrupted.
    Portability fixes.
This commit is contained in:
Thomas Klausner 2021-01-04 12:00:11 +01:00
parent 257b0a60c6
commit 70e93e7f4c
7 changed files with 10 additions and 131 deletions

View File

@ -1,6 +1,6 @@
# $NetBSD: Makefile,v 1.3 2020/01/14 13:13:14 wiz Exp $
DISTNAME= halfempty-0.30
DISTNAME= halfempty-0.40
CATEGORIES= devel
MASTER_SITES= ${MASTER_SITE_GITHUB:=googleprojectzero/}
GITHUB_TAG= v${PKGVERSION_NOREV}
@ -11,11 +11,13 @@ COMMENT= Fast, parallel test case minimization tool
LICENSE= apache-2.0
USE_TOOLS+= gmake pkg-config
#TEST_TARGET= test
# Tests do not work on NetBSD, see bottom of
# https://github.com/googleprojectzero/halfempty/pull/11
TEST_TARGET= test
INSTALLATION_DIRS= bin share/doc/halfempty
#TEST_DEPENDS+= coreutils-[0-9]*:../../sysutils/coreutils
TEST_DEPENDS+= coreutils-[0-9]*:../../sysutils/coreutils
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/halfempty ${DESTDIR}${PREFIX}/bin
@ -24,4 +26,4 @@ do-install:
.include "../../devel/glib2/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"
# for putting shuf from coreutils in path
#PATH:=${PATH}:${PREFIX}/gnu/bin
PATH:=${PATH}:${PREFIX}/gnu/bin

View File

@ -1,11 +1,6 @@
$NetBSD: distinfo,v 1.2 2020/01/12 13:22:29 wiz Exp $
SHA1 (halfempty-0.30.tar.gz) = 488244faa408bb33331a30a0e482ad46d0968c85
RMD160 (halfempty-0.30.tar.gz) = e4f3b6840c973a116dc066b6bdc7040d848ff39e
SHA512 (halfempty-0.30.tar.gz) = 99a78723fd70f06f6059379062cb700e4f571ef476e48b5fa61a3afa2d2290536ad287cee8a62441d4528cb4849755daa36aef9989239bdb59510e562dc0bedd
Size (halfempty-0.30.tar.gz) = 1097760 bytes
SHA1 (patch-Makefile) = 604dcd52ffd6769ea3b6658126436267a48b7e0b
SHA1 (patch-bisect.c) = e78d35cb18ec1d59eff66ee31afac3f42753cdd5
SHA1 (patch-limits.c) = 3999440235ddff9b2d48b5f639d1fd22cb37f698
SHA1 (patch-proc.c) = 638b8b9b7c0f74b004cf19a40ef7acea1ca9be66
SHA1 (patch-util.c) = 9998ae7bf0c860f1c6483010f61a0fa35e2f0554
SHA1 (halfempty-0.40.tar.gz) = 6e58dd77ff587b89234a7ff0ce7b03ff610728d3
RMD160 (halfempty-0.40.tar.gz) = 3fb79ba8a3e3c6a6547bed8002cf4cbf4384eab3
SHA512 (halfempty-0.40.tar.gz) = 8e2bf9d0f7cece819031c5923f7bed0d07b1dbd23d5a275220dc976401d10c6fcfefe64afe73c3bf4582d749e485eb8ccf4626c724f6f17f09c1ea2d39979643
Size (halfempty-0.40.tar.gz) = 1099409 bytes

View File

@ -1,29 +0,0 @@
$NetBSD: patch-Makefile,v 1.2 2020/01/12 13:22:29 wiz Exp $
Use generic replacement functions for missing symbols on NetBSD.
https://github.com/googleprojectzero/halfempty/pull/11
--- Makefile.orig 2019-03-16 17:55:00.000000000 +0000
+++ Makefile
@@ -1,7 +1,7 @@
CC = gcc
-CFLAGS = -Wall -std=gnu99 -O2 -ggdb3 -march=native -fPIC -Wno-format-zero-length -Wno-unused-parameter
-LDFLAGS = -pie
-CPPFLAGS = -UNDEBUG -UG_DISABLE_ASSERT `getconf LFS_CFLAGS` `pkg-config --cflags glib-2.0` -D_GNU_SOURCE
+CFLAGS += -Wall -std=gnu99 -O2 -ggdb3 -march=native -fPIC -Wno-format-zero-length -Wno-unused-parameter
+LDFLAGS += -pie
+CPPFLAGS += -UNDEBUG -UG_DISABLE_ASSERT `getconf LFS_CFLAGS` `pkg-config --cflags glib-2.0` -D_GNU_SOURCE
LDLIBS = `pkg-config --libs glib-2.0`
EXTRA =
@@ -23,6 +23,10 @@ ifeq ($(findstring Microsoft,$(shell una
EXTRA = splice_generic.o sendfile_generic.o
endif
+ifeq ($(shell uname),NetBSD)
+ EXTRA = sendfile_generic.o splice_generic.o
+endif
+
halfempty: proc.o bisect.o util.o zero.o tree.o flags.o halfempty.o limits.o $(EXTRA)
util.o: monitor.h util.c

View File

@ -1,25 +0,0 @@
$NetBSD: patch-bisect.c,v 1.1 2020/01/09 12:12:17 wiz Exp $
%m is only allowed in syslog(3) like functions [-Wformat=]
https://github.com/googleprojectzero/halfempty/pull/11
--- bisect.c.orig 2019-03-16 17:55:00.000000000 +0000
+++ bisect.c
@@ -202,7 +202,7 @@ static task_t * strategy_bisect_data(GNo
source->fd,
0,
childstatus->offset) == false) {
- g_error("sendfile failed while trying to construct new file, %m");
+ g_error("sendfile failed while trying to construct new file, %s", strerror(errno));
goto nochildunlock;
}
@@ -215,7 +215,7 @@ static task_t * strategy_bisect_data(GNo
source->size
- childstatus->chunksize
- childstatus->offset) == false) {
- g_error("sendfile failed while trying to construct new file, %m");
+ g_error("sendfile failed while trying to construct new file, %s", strerror(errno));
goto nochildunlock;
}

View File

@ -1,24 +0,0 @@
$NetBSD: patch-limits.c,v 1.1 2020/01/09 12:12:17 wiz Exp $
%m is only allowed in syslog(3) like functions [-Wformat=]
https://github.com/googleprojectzero/halfempty/pull/11
--- limits.c.orig 2019-03-16 17:55:00.000000000 +0000
+++ limits.c
@@ -25,6 +25,7 @@
#include <stdlib.h>
#include <string.h>
#include <assert.h>
+#include <errno.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <sys/time.h>
@@ -127,7 +128,7 @@ static void __attribute__((constructor))
for (gint i = 0; i < RLIMIT_NLIMITS; i++) {
if (getrlimit(i, &kChildLimits[i]) != 0) {
- g_warning("failed to getrlimit for %u, %m", i);
+ g_warning("failed to getrlimit for %u, %s", i, strerror(errno));
}
g_debug("Configured rlimit %s => { %llu, %llu }",

View File

@ -1,24 +0,0 @@
$NetBSD: patch-proc.c,v 1.1 2020/01/09 12:12:17 wiz Exp $
warning: %m is only allowed in syslog(3) like functions [-Wformat=]
use more portable version of setpgrp()
https://github.com/googleprojectzero/halfempty/pull/11
--- proc.c.orig 2019-03-16 17:55:00.000000000 +0000
+++ proc.c
@@ -50,12 +50,12 @@ static void configure_child_limits(gpoin
// Some of these may fail, not sure what to do.
for (gint i = 0; i < RLIMIT_NLIMITS; i++) {
if (setrlimit(i, &kChildLimits[i]) == -1) {
- g_critical("a call to setrlimit for %u failed(), %m", i);
+ g_critical("a call to setrlimit for %u failed(), %s", i, strerror(errno));
}
}
// Make sure we create a new pgrp so that we can kill all subprocesses.
- setpgrp();
+ setpgid(0, 0);
#ifdef __linux__
// Try to cleanup if we get killed.

View File

@ -1,16 +0,0 @@
$NetBSD: patch-util.c,v 1.1 2020/01/09 12:12:17 wiz Exp $
%m is only allowed in syslog(3) like functions [-Wformat=]
https://github.com/googleprojectzero/halfempty/pull/11
--- util.c.orig 2019-03-16 17:55:00.000000000 +0000
+++ util.c
@@ -129,7 +129,7 @@ gboolean generate_dot_tree(GNode *root,
FILE *out = fopen(filename, "w");
if (!out) {
- g_warning("failed to open file `%s` to save dot file, %m", filename);
+ g_warning("failed to open file `%s` to save dot file, %s", filename, strerror(errno));
return false;
}