* [gentoo-commits] repo/gentoo:master commit in: app-benchmarks/filebench/files/, app-benchmarks/filebench/
@ 2016-03-20 11:15 Andrew Savchenko
  0 siblings, 0 replies; 3+ messages in thread
From: Andrew Savchenko @ 2016-03-20 11:15 UTC (permalink / raw
  To: gentoo-commits
commit:     d6fe49b01348744e98c66ceed41f6032e6df966b
Author:     Göktürk Yüksek <gokturk <AT> binghamton <DOT> edu>
AuthorDate: Fri Mar  4 13:38:56 2016 +0000
Commit:     Andrew Savchenko <bircoph <AT> gentoo <DOT> org>
CommitDate: Fri Mar  4 19:11:00 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d6fe49b0
app-benchmarks/filebench: eapi bump, add new use flag, fix dependencies
The following changes have been made:
- eapi bump to EAPI 6
- drop unused inherit eutils
- remove unsued dependency on libaio: the program uses the aio functions
  defined in libc. libaio is not referenced in the source code.
- remove the automagic dependency on dev-libs/libtecla: filebench
  provides tab-completion support using libtecla. However, there's no
  way to explicitly control it. Patch the sources to add a configure
  option for '--with-libtecla' and add a corresponding USE flag called
  'auto-completion'.
- drop parallel compilation workaround: the package compiles with
  different values of '-j' successfully. Most likely a carry-over from
  the initial ebuild.
Package-Manager: portage-2.2.26
 .../filebench/filebench-1.4.9.1-r1.ebuild          | 35 ++++++++++++++++++++++
 ...lebench-fix-automagic-libtecla-dependency.patch | 22 ++++++++++++++
 app-benchmarks/filebench/metadata.xml              |  6 ++++
 3 files changed, 63 insertions(+)
diff --git a/app-benchmarks/filebench/filebench-1.4.9.1-r1.ebuild b/app-benchmarks/filebench/filebench-1.4.9.1-r1.ebuild
new file mode 100644
index 0000000..f3ba307
--- /dev/null
+++ b/app-benchmarks/filebench/filebench-1.4.9.1-r1.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+inherit autotools
+
+DESCRIPTION="Filebench - A Model Based File System Workload Generator"
+HOMEPAGE="http://sourceforge.net/projects/filebench/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="CDDL"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="auto-completion"
+
+RDEPEND="
+	auto-completion? ( dev-libs/libtecla )
+"
+DEPEND="${RDEPEND}
+	sys-devel/flex
+	sys-devel/bison
+"
+
+PATCHES=( "${FILESDIR}"/${PN}-fix-automagic-libtecla-dependency.patch )
+
+src_prepare() {
+	default
+	eautoreconf
+}
+
+src_configure() {
+	econf $(use_with auto-completion libtecla)
+}
diff --git a/app-benchmarks/filebench/files/filebench-fix-automagic-libtecla-dependency.patch b/app-benchmarks/filebench/files/filebench-fix-automagic-libtecla-dependency.patch
new file mode 100644
index 0000000..8d24a62
--- /dev/null
+++ b/app-benchmarks/filebench/files/filebench-fix-automagic-libtecla-dependency.patch
@@ -0,0 +1,22 @@
+From: Göktürk Yüksek <gokturk@binghamton.edu>
+Subject: [PATCH] Fix automagic dependency on libtecla
+
+Replace the unconditional AC_CHECK_LIB logic with AC_ARG_WITH to
+eliminate the automagic dependency on libtecla.
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -164,8 +164,11 @@
+ AC_CHECK_LIB([kstat], [kstat_open])
+ # Use libtecla for autocompletion if it is available. If it
+ # is, then conditionally compile auto_comp.c (see Makefile.am)
+-AC_CHECK_LIB([tecla], [cpl_add_completion])
+-AM_CONDITIONAL(AUTOCOMP_LIBTECLA, test "$ac_cv_lib_tecla_cpl_add_completion" = yes)
++AC_ARG_WITH([libtecla], AS_HELP_STRING([--with-libtecla], [Build with libtecla for autocompletion support (default: test)]))
++AS_IF([test "x$with_libtecla" != "xno"], [
++	AC_CHECK_LIB([tecla], [cpl_add_completion])
++])
++AM_CONDITIONAL([AUTOCOMP_LIBTECLA], [test "x$ac_cv_lib_tecla_cpl_add_completion" = "xyes"])
+ # Check that librt is installed and supports async IO. First line
+ # allows to add librt to the linkers path, second one checks
+ # if aio_wait() is in it, third one checks if aio_waitn() is there (usually
diff --git a/app-benchmarks/filebench/metadata.xml b/app-benchmarks/filebench/metadata.xml
index 5d5529c..3b9298e 100644
--- a/app-benchmarks/filebench/metadata.xml
+++ b/app-benchmarks/filebench/metadata.xml
@@ -16,6 +16,12 @@
 		<name>Proxy Maintainers</name>
 		<description>please CC on bugs</description>
 	</maintainer>
+	<use>
+	  <flag name="auto-completion">
+	    Enable command-line autocompletion using
+	    <pkg>dev-libs/libtecla</pkg>.
+	  </flag>
+	</use>
 	<upstream>
 		<remote-id type="sourceforge">filebench</remote-id>
 	</upstream>
^ permalink raw reply related	[flat|nested] 3+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-benchmarks/filebench/files/, app-benchmarks/filebench/
@ 2025-09-02 11:48 Sam James
  0 siblings, 0 replies; 3+ messages in thread
From: Sam James @ 2025-09-02 11:48 UTC (permalink / raw
  To: gentoo-commits
commit:     ef484b6b1928a79a93f8ff47547cb61d07d3e561
Author:     Nicolas PARLANT <nicolas.parlant <AT> parhuet <DOT> fr>
AuthorDate: Sun Aug 31 02:27:17 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Sep  2 11:46:39 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ef484b6b
app-benchmarks/filebench: add 1.5.0_alpha3_p20200220
update HOMEPAGE and SRC_URI with github repo
add a snapshot after 1.5.0_alpha3
auto-completion/libtecla support removed in 1.5.0_alpha1
bug #729104 fixed in 1.5.0_alpha1
remove .la files
patches :
fix gcc-15
fix implicit function in configure
fix an issue with randomization
Closes: https://bugs.gentoo.org/729104
Closes: https://bugs.gentoo.org/906004
Closes: https://bugs.gentoo.org/943905
Signed-off-by: Nicolas PARLANT <nicolas.parlant <AT> parhuet.fr>
Part-of: https://github.com/gentoo/gentoo/pull/43620
Closes: https://github.com/gentoo/gentoo/pull/43620
Signed-off-by: Sam James <sam <AT> gentoo.org>
 app-benchmarks/filebench/Manifest                  |   1 +
 .../filebench-1.5.0_alpha3_p20200220.ebuild        |  40 ++
 .../filebench-1.5.0_alpha3_add_suppress_asr.patch  | 116 +++++
 .../files/filebench-1.5.0_alpha3_fix_gcc15.patch   | 496 +++++++++++++++++++++
 ...lebench-1.5.0_alpha3_fix_implicit_syscall.patch |  22 +
 app-benchmarks/filebench/metadata.xml              |   3 +-
 6 files changed, 677 insertions(+), 1 deletion(-)
diff --git a/app-benchmarks/filebench/Manifest b/app-benchmarks/filebench/Manifest
index 75f9248d994e..56c9031b0335 100644
--- a/app-benchmarks/filebench/Manifest
+++ b/app-benchmarks/filebench/Manifest
@@ -1 +1,2 @@
 DIST filebench-1.4.9.1.tar.gz 349535 BLAKE2B 774eab935fba422064c9c6a5c233b99545b639b4319cb9658b6555d087f1af0f59c29de57a5fef94c2256199f1c328d2309641785d8573832629fb4a28b2e716 SHA512 a6400aba4266fcf98e46c4824796a594adc5d5e7f9605f6e1ab01973ce448e27948991e453b186947a8d89f8603a69a3ba955edf2a1abccd2935196af7b6f0d1
+DIST filebench-1.5.0_alpha3_p20200220.tar.gz 255950 BLAKE2B 77df6388a982d045c27e4b14bd87371dd559c1b3e428e8a6934b3b6d4632831887440ae82c0e44c993b4870c9e198ead233779f8a7df5f02c2c2130eaa0f0e3f SHA512 96878a3c665b9e31d08806f49bf2a513f00751b833088d9470a94cfbac013d8d3d8fc68574e58531c6ab4bffa7fde88f6ccf6009667d70a1d8d586eb884d1dd8
diff --git a/app-benchmarks/filebench/filebench-1.5.0_alpha3_p20200220.ebuild b/app-benchmarks/filebench/filebench-1.5.0_alpha3_p20200220.ebuild
new file mode 100644
index 000000000000..2b2e64339bbf
--- /dev/null
+++ b/app-benchmarks/filebench/filebench-1.5.0_alpha3_p20200220.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+COMMIT_HASH="22620e602cbbebad90c0bd041896ebccf70dbf5f"
+DESCRIPTION="Filebench - A Model Based File System Workload Generator"
+HOMEPAGE="https://github.com/filebench/filebench"
+SRC_URI="https://github.com/${PN}/${PN}/archive/${COMMIT_HASH}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}-${COMMIT_HASH}"
+
+LICENSE="CDDL"
+SLOT="0"
+KEYWORDS="~amd64 ~riscv ~x86"
+
+DEPEND="
+	app-alternatives/lex
+	app-alternatives/yacc
+"
+
+PATCHES=(
+	# https://github.com/filebench/filebench/pull/143
+	"${FILESDIR}"/${PN}-1.5.0_alpha3_add_suppress_asr.patch
+	# https://github.com/filebench/filebench/pull/160 #906004
+	"${FILESDIR}"/${PN}-1.5.0_alpha3_fix_implicit_syscall.patch
+	# selected commits from https://github.com/filebench/filebench/pull/116 #943905
+	"${FILESDIR}"/${PN}-1.5.0_alpha3_fix_gcc15.patch
+)
+
+src_prepare() {
+	default
+	eautoreconf
+}
+
+src_install() {
+	default
+	find "${ED}" -name '*.la' -delete || die
+}
diff --git a/app-benchmarks/filebench/files/filebench-1.5.0_alpha3_add_suppress_asr.patch b/app-benchmarks/filebench/files/filebench-1.5.0_alpha3_add_suppress_asr.patch
new file mode 100644
index 000000000000..d32bee2831c7
--- /dev/null
+++ b/app-benchmarks/filebench/files/filebench-1.5.0_alpha3_add_suppress_asr.patch
@@ -0,0 +1,116 @@
+PR pending to fix an issue with randomization, see upstream #110
+https://github.com/filebench/filebench/pull/143.patch
+From 18c708a9771d9414fb3fa44bd916c05cdd43868c Mon Sep 17 00:00:00 2001
+From: Tony Mason <fsgeek@cs.ubc.ca>
+Date: Sat, 20 Jun 2020 20:39:23 +0000
+Subject: [PATCH] Add ASR suppression logic
+
+--- a/parser_gram.y
++++ b/parser_gram.y
+@@ -45,6 +45,7 @@
+ #include <fcntl.h>
+ #include <sys/mman.h>
+ #include <sys/wait.h>
++#include <syscall.h>
+ #include "parsertypes.h"
+ #include "filebench.h"
+ #include "utils.h"
+@@ -1569,7 +1570,6 @@ parser_abort(int arg)
+ static void
+ master_mode(struct fbparams *fbparams) {
+ 	int ret;
+-
+ 	printf("Filebench Version %s\n", FILEBENCH_VERSION);
+ 
+ 	yyin = fopen(fbparams->fscriptname, "r");
+@@ -1620,6 +1620,66 @@ init_common()
+ 	fb_set_rlimit();
+ }
+ 
++static void suppress_asr(char *const argv[], char * const envp[])
++{
++#if defined(SYS_personality)
++	unsigned index = 0;
++	size_t space = 0;
++	char **newenvp = (char **)malloc(space);
++	char *detect_string = "FILEBENCH_ASR_REINVOKED";
++	int current;
++	unsigned long persona = (unsigned long)~0;
++	const unsigned long asr_disabled = 0x0040000;
++
++	// Is this a reinvocation?
++	for (index = 0; envp[index]; index++) {
++		if (0 == strcmp(envp[index], detect_string)) {
++			// Yes - no further checking.
++			return;
++		}
++	}
++
++	// check if ASR is already disabled
++	current = (long) syscall(SYS_personality, persona);
++	if (-1 != current) {
++		persona = (unsigned long) current;
++		
++		if (asr_disabled == (persona & asr_disabled)) { // ASR disabled
++			return;
++		}
++
++		persona |= 0x0040000;
++		errno = 0;
++		current = (long) syscall(SYS_personality, persona);
++
++		if (-1 == current) {
++			// failed - give up
++			fprintf(stderr, "ASR disable failed - good luck\n");
++			return;
++		}
++
++		space = (index + 2) * sizeof(char *); // + 1 null entry + 1 new entry
++		if (NULL == newenvp) {
++			fprintf(stderr, "Reinvocation after disable ASR malloc failed\n");
++			return;
++		}
++
++		for (unsigned i = 0; i < index; i++) {
++			newenvp[i] = envp[i];
++		}
++		newenvp[index] = detect_string;
++		newenvp[index+1] = NULL;
++
++		if (-1 != current) {
++			if (0 > execvpe(argv[0], argv, newenvp)) {
++				fprintf(stderr, "execvpe failed (errno %d - %s)\n", errno, strerror(errno));
++			}
++		}
++	}
++#endif // SYS_personality
++
++}
++
+ /*
+  * Entry point for Filebench. Processes command line arguments. The -f option
+  * will read in a workload file (the full name and extension must must be
+@@ -1635,11 +1695,13 @@ init_common()
+  * supplied workload file, or enters interactive mode.
+  */
+ int
+-main(int argc, char *argv[])
++main(int argc, char *argv[], char *envp[])
+ {
+ 	struct fbparams fbparams;
+ 	int mode;
+ 
++	suppress_asr(argv, envp);
++
+ 	/* parse_options() exits if detects wrong usage */
+ 	mode = parse_options(argc, argv, &fbparams);
+ 
+@@ -1651,7 +1713,7 @@ main(int argc, char *argv[])
+ 
+ 	init_common();
+ 
+-	if (mode == FB_MODE_MASTER)
++	if (mode == FB_MODE_MASTER) 
+ 		master_mode(&fbparams);
+ 
+ 	if (mode == FB_MODE_WORKER)
diff --git a/app-benchmarks/filebench/files/filebench-1.5.0_alpha3_fix_gcc15.patch b/app-benchmarks/filebench/files/filebench-1.5.0_alpha3_fix_gcc15.patch
new file mode 100644
index 000000000000..4128f0e55e07
--- /dev/null
+++ b/app-benchmarks/filebench/files/filebench-1.5.0_alpha3_fix_gcc15.patch
@@ -0,0 +1,496 @@
+PR pending, selected commits to fix compilation with gcc15
+fix unprototyped functions :
+https://github.com/filebench/filebench/pull/116/commits/07194b64f7a9c7c473896934339775ab54f1da78.patch
+remove bool occurences / bug #943905 :
+https://github.com/filebench/filebench/pull/116/commits/64a08cf7caa1beb1de078ab1099de0f7a1fed8ec.patch
+https://github.com/filebench/filebench/pull/116/commits/fd3565c371d87a5d6cdebcedac557a231aa4a85e.patch
+From 07194b64f7a9c7c473896934339775ab54f1da78 Mon Sep 17 00:00:00 2001
+From: Nathaniel Wesley Filardo <nwf@auristor.com>
+Date: Wed, 1 Nov 2017 17:50:59 -0400
+Subject: [PATCH] Make real prototypes in some places
+
+--- a/aslr.c
++++ b/aslr.c
+@@ -23,7 +23,7 @@
+ 
+ #if defined(HAVE_SYS_PERSONALITY_H) && defined(HAVE_ADDR_NO_RANDOMIZE)
+ void
+-linux_disable_aslr()
++linux_disable_aslr(void)
+ {
+ 	int r;
+ 
+@@ -34,7 +34,7 @@ linux_disable_aslr()
+ }
+ #else /* HAVE_SYS_PERSONALITY_H && HAVE_ADDR_NO_RANDOMIZE */
+ void
+-other_disable_aslr()
++other_disable_aslr(void)
+ {
+ 	filebench_log(LOG_INFO, "Per-process disabling of ASLR is not "
+ 				"supported on this system. "
+--- a/aslr.h
++++ b/aslr.h
+@@ -5,19 +5,19 @@
+ 
+ #if defined(HAVE_SYS_PERSONALITY_H) && defined(HAVE_ADDR_NO_RANDOMIZE)
+ extern void
+-linux_disable_aslr();
++linux_disable_aslr(void);
+ 
+ static inline void
+-disable_aslr()
++disable_aslr(void)
+ {
+ 	return linux_disable_aslr();
+ }
+ #else /* HAVE_SYS_PERSONALITY_H && HAVE_ADDR_NO_RANDOMIZE */
+ extern void
+-other_disable_aslr();
++other_disable_aslr(void);
+ 
+ static inline void
+-disable_aslr() {
++disable_aslr(void) {
+ 	return other_disable_aslr();
+ }
+ #endif /* HAVE_SYS_PERSONALITY_H && HAVE_ADDR_NO_RANDOMIZE */
+--- a/cvars/cvar-erlang.c
++++ b/cvars/cvar-erlang.c
+@@ -122,7 +122,7 @@ void cvar_free_handle(void *handle, void (*cvar_free)(void *ptr))
+ 	cvar_free(handle);
+ }
+ 
+-const char *cvar_usage()
++const char *cvar_usage(void)
+ {
+ 	int offset;
+ 
+@@ -155,7 +155,7 @@ const char *cvar_usage()
+ 	return usage;
+ }
+ 
+-const char *cvar_version()
++const char *cvar_version(void)
+ {
+ 	return VERSION;
+ }
+--- a/cvars/cvar-exponential.c
++++ b/cvars/cvar-exponential.c
+@@ -108,7 +108,7 @@ void cvar_free_handle(void *handle, void (*cvar_free)(void *ptr))
+ 	cvar_free(handle);
+ }
+ 
+-const char *cvar_usage()
++const char *cvar_usage(void)
+ {
+ 	int offset;
+ 
+@@ -135,7 +135,7 @@ const char *cvar_usage()
+ 	return usage;
+ }
+ 
+-const char *cvar_version()
++const char *cvar_version(void)
+ {
+ 	return VERSION;
+ }
+--- a/cvars/cvar-gamma.c
++++ b/cvars/cvar-gamma.c
+@@ -242,7 +242,7 @@ void cvar_free_handle(void *handle, void (*cvar_free)(void *ptr))
+ 	cvar_free(handle);
+ }
+ 
+-const char *cvar_usage()
++const char *cvar_usage(void)
+ {
+ 	int offset;
+ 
+@@ -274,7 +274,7 @@ const char *cvar_usage()
+ 	return usage;
+ }
+ 
+-const char *cvar_version()
++const char *cvar_version(void)
+ {
+ 	return VERSION;
+ }
+--- a/cvars/cvar-lognormal.c
++++ b/cvars/cvar-lognormal.c
+@@ -121,7 +121,7 @@ void cvar_free_handle(void *handle, void (*cvar_free)(void *ptr))
+ 	cvar_free(handle);
+ }
+ 
+-const char *cvar_usage()
++const char *cvar_usage(void)
+ {
+ 	int offset;
+ 
+@@ -154,7 +154,7 @@ const char *cvar_usage()
+ 	return usage;
+ }
+ 
+-const char *cvar_version()
++const char *cvar_version(void)
+ {
+ 	return VERSION;
+ }
+--- a/cvars/cvar-normal.c
++++ b/cvars/cvar-normal.c
+@@ -109,7 +109,7 @@ void cvar_free_handle(void *handle, void (*cvar_free)(void *ptr))
+ 	cvar_free(handle);
+ }
+ 
+-const char *cvar_usage()
++const char *cvar_usage(void)
+ {
+ 	int offset;
+ 
+@@ -142,7 +142,7 @@ const char *cvar_usage()
+ 	return usage;
+ }
+ 
+-const char *cvar_version()
++const char *cvar_version(void)
+ {
+ 	return VERSION;
+ }
+--- a/cvars/cvar-triangular.c
++++ b/cvars/cvar-triangular.c
+@@ -132,7 +132,7 @@ void cvar_free_handle(void *handle, void (*cvar_free)(void *ptr))
+ 	cvar_free(handle);
+ }
+ 
+-const char *cvar_usage()
++const char *cvar_usage(void)
+ {
+ 	int offset;
+ 
+@@ -169,7 +169,7 @@ const char *cvar_usage()
+ 	return usage;
+ }
+ 
+-const char *cvar_version()
++const char *cvar_version(void)
+ {
+ 	return VERSION;
+ }
+--- a/cvars/cvar-uniform.c
++++ b/cvars/cvar-uniform.c
+@@ -115,7 +115,7 @@ void cvar_free_handle(void *handle, void (*cvar_free)(void *ptr))
+ 	cvar_free(handle);
+ }
+ 
+-const char *cvar_usage()
++const char *cvar_usage(void)
+ {
+ 	int offset;
+ 
+@@ -147,7 +147,7 @@ const char *cvar_usage()
+ 	return usage;
+ }
+ 
+-const char *cvar_version()
++const char *cvar_version(void)
+ {
+ 	return VERSION;
+ }
+--- a/cvars/cvar-weibull.c
++++ b/cvars/cvar-weibull.c
+@@ -122,7 +122,7 @@ void cvar_free_handle(void *handle, void (*cvar_free)(void *ptr))
+ 	cvar_free(handle);
+ }
+ 
+-const char *cvar_usage()
++const char *cvar_usage(void)
+ {
+ 	int offset;
+ 
+@@ -155,7 +155,7 @@ const char *cvar_usage()
+ 	return usage;
+ }
+ 
+-const char *cvar_version()
++const char *cvar_version(void)
+ {
+ 	return VERSION;
+ }
+--- a/cvars/cvar.h
++++ b/cvars/cvar.h
+@@ -19,7 +19,7 @@
+  * Return 0 on success and a non-zero error code on failure.
+  */
+ 
+-int cvar_module_init();
++int cvar_module_init(void);
+ 
+ /*
+  * Allocate a new custom variable handle. A handle is subsequently used to
+@@ -84,7 +84,7 @@ void cvar_free_handle(void *cvar_handle, void (*cvar_free)(void *ptr));
+  * to quit without invoking cvar_module_exit.
+  */
+ 
+-void cvar_module_exit();
++void cvar_module_exit(void);
+ 
+ /*
+  * Show usage, including information on the list of parameters supported and the
+@@ -95,7 +95,7 @@ void cvar_module_exit();
+  * Return a non-null, formatted string to be displayed on screen.
+  */
+ 
+-const char *cvar_usage();
++const char *cvar_usage(void);
+ 
+ /*
+  * Show version.
+@@ -105,6 +105,6 @@ const char *cvar_usage();
+  * Return a non-null version string.
+  */
+ 
+-const char *cvar_version();
++const char *cvar_version(void);
+ 
+ #endif /* _CVAR_H */
+--- a/fb_cvar.c
++++ b/fb_cvar.c
+@@ -204,7 +204,7 @@ static char
+  * Returns 0 on success and non-zero on error.
+  */
+ int
+-init_cvar_libraries()
++init_cvar_libraries(void)
+ {
+ 	int count;
+ 	int ret = -1;
+@@ -425,7 +425,7 @@ get_cvar_value(cvar_t *cvar)
+  * Return 0 on success and a non-zero error code on failure.
+  */
+ int
+-revalidate_cvar_handles()
++revalidate_cvar_handles(void)
+ {
+ 	cvar_t *t;
+ 	cvar_library_t *cvar_lib;
+--- a/fb_cvar.h
++++ b/fb_cvar.h
+@@ -59,7 +59,7 @@ typedef struct cvar_operations {
+ 	int (*cvar_revalidate_handle)(void *cvar_handle);
+ 	int (*cvar_next_value)(void *cvar_handle, double *value);
+ 	void (*cvar_free_handle)(void *cvar_handle, void (*cvar_free)(void *ptr));
+-	void (*cvar_module_exit)();
++	void (*cvar_module_exit)(void);
+ 	const char *(*cvar_usage)(void);
+ 	const char *(*cvar_version)(void);
+ } cvar_operations_t;
+@@ -78,9 +78,9 @@ extern cvar_library_t **cvar_libraries;
+ 
+ cvar_t * cvar_alloc(void);
+ int init_cvar_library_info(const char *dirpath);
+-int init_cvar_libraries();
++int init_cvar_libraries(void);
+ int init_cvar_handle(cvar_t *cvar, const char *type, const char *parameters);
+ double get_cvar_value(cvar_t *cvar);
+-int revalidate_cvar_handles();
++int revalidate_cvar_handles(void);
+ 
+ #endif /* _FB_CVAR_H */
+--- a/fb_random.c
++++ b/fb_random.c
+@@ -103,7 +103,7 @@ fb_random32(uint32_t *randp,
+  * Same as filebench_randomno64, but for probability [0-1].
+  */
+ static double
+-fb_random_probability()
++fb_random_probability(void)
+ {
+ 	uint64_t randnum;
+ 
+--- a/fileset.c
++++ b/fileset.c
+@@ -1749,7 +1749,7 @@ fileset_checkraw(fileset_t *fileset)
+  * fail.
+  */
+ int
+-fileset_createsets()
++fileset_createsets(void)
+ {
+ 	fileset_t *list;
+ 	int ret = 0;
+--- a/fileset.h
++++ b/fileset.h
+@@ -142,7 +142,7 @@ typedef struct fileset {
+ 	pthread_mutex_t	fs_histo_lock;	/* lock for incr of histo */
+ } fileset_t;
+ 
+-int fileset_createsets();
++int fileset_createsets(void);
+ 
+ void fileset_delete_all_filesets(void);
+ int fileset_openfile(fb_fdesc_t *fd, fileset_t *fileset,
+--- a/flowop.h
++++ b/flowop.h
+@@ -37,9 +37,9 @@ typedef struct flowop {
+ 	struct flowop	*fo_comp_fops;	/* List of flowops in composite fo */
+ 	var_t		*fo_lvar_list;	/* List of composite local vars */
+ 	struct threadflow *fo_thread;	/* Backpointer to thread */
+-	int		(*fo_func)();	/* Method */
+-	int		(*fo_init)();	/* Init Method */
+-	void		(*fo_destruct)(); /* Destructor Method */
++	int		(*fo_func)(threadflow_t *, struct flowop *);	/* Method */
++	int		(*fo_init)(struct flowop *);	/* Init Method */
++	void		(*fo_destruct)(struct flowop *); /* Destructor Method */
+ 	int		fo_type;	/* Type */
+ 	int		fo_attrs;	/* Flow op attribute */
+ 	avd_t		fo_filename;	/* file/fileset name */
+@@ -118,9 +118,9 @@ typedef struct flowop_proto {
+ 	int	fl_type;
+ 	int	fl_attrs;
+ 	char	*fl_name;
+-	int	(*fl_init)();
+-	int	(*fl_func)();
+-	void	(*fl_destruct)();
++	int	(*fl_init)(flowop_t *);
++	int	(*fl_func)(threadflow_t *, flowop_t *);
++	void	(*fl_destruct)(flowop_t *);
+ } flowop_proto_t;
+ 
+ extern struct flowstats controlstats;
+@@ -148,7 +148,7 @@ void flowop_printall(void);
+ void flowop_init(int ismaster);
+ 
+ /* Local file system specific */
+-void fb_lfs_funcvecinit();
+-void fb_lfs_newflowops();
++void fb_lfs_funcvecinit(void);
++void fb_lfs_newflowops(void);
+ 
+ #endif	/* _FB_FLOWOP_H */
+--- a/parser_gram.y
++++ b/parser_gram.y
+@@ -69,7 +69,7 @@ static attr_t *alloc_attr(void);
+ static attr_t *alloc_lvar_attr(var_t *var);
+ static attr_t *get_attr(cmd_t *cmd, int64_t name);
+ static void get_attr_lvars(cmd_t *cmd, flowop_t *flowop);
+-static list_t *alloc_list();
++static list_t *alloc_list(void);
+ static probtabent_t *alloc_probtabent(void);
+ static void add_lvar_to_list(var_t *newlvar, var_t **lvar_list);
+ 
+@@ -1619,7 +1619,7 @@ master_mode(struct fbparams *fbparams) {
+ }
+ 
+ static void
+-init_common()
++init_common(void)
+ {
+ 	disable_aslr();
+ 	my_pid = getpid();
+@@ -3117,7 +3117,7 @@ get_attr_lvars(cmd_t *cmd, flowop_t *flowop)
+  * returns a pointer to it. On failure, returns NULL.
+  */
+ static list_t *
+-alloc_list()
++alloc_list(void)
+ {
+ 	list_t *list;
+ 
+--- a/procflow.c
++++ b/procflow.c
+@@ -560,7 +560,7 @@ procflow_cleanup(procflow_t *procflow)
+  * in which case it returns -1.
+  */
+ static int
+-procflow_allstarted()
++procflow_allstarted(void)
+ {
+ 	procflow_t *procflow = filebench_shm->shm_procflowlist;
+ 	int running_procs = 0;
+@@ -787,7 +787,7 @@ procflow_define(char *name, avd_t instances)
+  * system.
+  */
+ void
+-proc_create()
++proc_create(void)
+ {
+ 	filebench_shm->shm_1st_err = 0;
+ 	filebench_shm->shm_f_abort = FILEBENCH_OK;
+@@ -828,7 +828,7 @@ proc_create()
+  * It does not exit the filebench program though.
+  */
+ void
+-proc_shutdown()
++proc_shutdown(void)
+ {
+ 	filebench_log(LOG_INFO, "Shutting down processes");
+ 	procflow_shutdown();
+From 64a08cf7caa1beb1de078ab1099de0f7a1fed8ec Mon Sep 17 00:00:00 2001
+From: Marc Dionne <marc.dionne@auristor.com>
+Date: Mon, 13 Jan 2025 15:12:37 -0400
+Subject: [PATCH] vars: Avoid using keyword "bool" as an argument name
+
+With gcc 15, "bool" is a restricted keyword that can't be used as
+an argument name.
+
+Signed-off-by: Marc Dionne <marc.dionne@auristor.com>
+--- a/vars.c
++++ b/vars.c
+@@ -417,7 +417,7 @@ var_find_alloc(char *name)
+ }
+ 
+ int
+-var_assign_boolean(char *name, boolean_t bool)
++var_assign_boolean(char *name, boolean_t val)
+ {
+ 	var_t *var;
+ 
+@@ -427,7 +427,7 @@ var_assign_boolean(char *name, boolean_t bool)
+ 		return -1;
+ 	}
+ 
+-	VAR_SET_BOOL(var, bool);
++	VAR_SET_BOOL(var, val);
+ 
+ 	return 0;
+ }
+@@ -786,7 +786,7 @@ var_lvar_assign_var(char *name, char *src_name)
+ }
+ 
+ var_t *
+-var_lvar_assign_boolean(char *name, boolean_t bool)
++var_lvar_assign_boolean(char *name, boolean_t val)
+ {
+ 	var_t *var;
+ 
+@@ -797,7 +797,7 @@ var_lvar_assign_boolean(char *name, boolean_t bool)
+ 		return NULL;
+ 	}
+ 
+-	VAR_SET_BOOL(var, bool);
++	VAR_SET_BOOL(var, val);
+ 
+ 	return var;
+ }
+From fd3565c371d87a5d6cdebcedac557a231aa4a85e Mon Sep 17 00:00:00 2001
+From: Nathaniel Wesley Filardo <nwf@auristor.com>
+Date: Wed, 1 Nov 2017 23:46:20 -0400
+Subject: [PATCH] vars.h: don't use bool keyword as variable
+
+--- a/vars.h
++++ b/vars.h
+@@ -160,13 +160,13 @@ typedef struct var {
+ 		(vp)->var_type = VAR_UNKNOWN; \
+ 	}
+ 
+-avd_t avd_bool_alloc(boolean_t bool);
++avd_t avd_bool_alloc(boolean_t boolval);
+ avd_t avd_int_alloc(uint64_t integer);
+ avd_t avd_dbl_alloc(double integer);
+ avd_t avd_str_alloc(char *string);
+ avd_t avd_var_alloc(char *varname);
+ 
+-int var_assign_boolean(char *name, boolean_t bool);
++int var_assign_boolean(char *name, boolean_t boolval);
+ int var_assign_integer(char *name, uint64_t integer);
+ int var_assign_double(char *name, double dbl);
+ int var_assign_string(char *name, char *string);
diff --git a/app-benchmarks/filebench/files/filebench-1.5.0_alpha3_fix_implicit_syscall.patch b/app-benchmarks/filebench/files/filebench-1.5.0_alpha3_fix_implicit_syscall.patch
new file mode 100644
index 000000000000..4eab874344a3
--- /dev/null
+++ b/app-benchmarks/filebench/files/filebench-1.5.0_alpha3_fix_implicit_syscall.patch
@@ -0,0 +1,22 @@
+PR pending / bug #906004
+https://github.com/filebench/filebench/pull/160.patch
+From bee9657493f66432a20d1e9e02132da5819b6133 Mon Sep 17 00:00:00 2001
+From: Florian Weimer <fweimer@redhat.com>
+Date: Tue, 20 Dec 2022 10:11:08 +0100
+Subject: [PATCH] configure.ac: Improve C99 compatibility of HAVE_IOPRIO check
+
+Include <unistd.h> to obtain a declaration of the syscall function.
+Implicit function declarations are likely to be rejected by future
+compilers by default.
+--- a/configure.ac
++++ b/configure.ac
+@@ -370,7 +370,8 @@ AC_TRY_COMPILE([
+ # check for I/O priority system calls
+ AC_MSG_CHECKING(for I/O priority system calls)
+ AC_TRY_COMPILE([
+-	#include <syscall.h>],
++	#include <syscall.h>
++	#include <unistd.h>],
+   	[(void)syscall(__NR_ioprio_set, 0, 0, 0);
+ 	],[
+ 	    AC_DEFINE(HAVE_IOPRIO, 1, [ Define if you have I/O priority syscalls. ])
diff --git a/app-benchmarks/filebench/metadata.xml b/app-benchmarks/filebench/metadata.xml
index 27e50dded71e..1284e2628858 100644
--- a/app-benchmarks/filebench/metadata.xml
+++ b/app-benchmarks/filebench/metadata.xml
@@ -6,6 +6,7 @@
 		<flag name="auto-completion">Enable command-line autocompletion using <pkg>dev-libs/libtecla</pkg></flag>
 	</use>
 	<upstream>
-		<remote-id type="sourceforge">filebench</remote-id>
+		<remote-id type="sourceforge">filebench</remote-id><!-- old -->
+		<remote-id type="github">filebench/filebench</remote-id>
 	</upstream>
 </pkgmetadata>
^ permalink raw reply related	[flat|nested] 3+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-benchmarks/filebench/files/, app-benchmarks/filebench/
@ 2025-10-14 14:50 Petr Vaněk
  0 siblings, 0 replies; 3+ messages in thread
From: Petr Vaněk @ 2025-10-14 14:50 UTC (permalink / raw
  To: gentoo-commits
commit:     923ad4a8d7f912bd308e78c1528646f2997db4a3
Author:     Petr Vaněk <arkamar <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 14 14:49:57 2025 +0000
Commit:     Petr Vaněk <arkamar <AT> gentoo <DOT> org>
CommitDate: Tue Oct 14 14:49:57 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=923ad4a8
app-benchmarks/filebench: drop 1.4.9.1-r2
Signed-off-by: Petr Vaněk <arkamar <AT> gentoo.org>
 app-benchmarks/filebench/Manifest                  |  1 -
 .../filebench/filebench-1.4.9.1-r2.ebuild          | 35 ----------------------
 ...lebench-fix-automagic-libtecla-dependency.patch | 22 --------------
 app-benchmarks/filebench/metadata.xml              |  3 --
 4 files changed, 61 deletions(-)
diff --git a/app-benchmarks/filebench/Manifest b/app-benchmarks/filebench/Manifest
index 56c9031b0335..bd3b5403286b 100644
--- a/app-benchmarks/filebench/Manifest
+++ b/app-benchmarks/filebench/Manifest
@@ -1,2 +1 @@
-DIST filebench-1.4.9.1.tar.gz 349535 BLAKE2B 774eab935fba422064c9c6a5c233b99545b639b4319cb9658b6555d087f1af0f59c29de57a5fef94c2256199f1c328d2309641785d8573832629fb4a28b2e716 SHA512 a6400aba4266fcf98e46c4824796a594adc5d5e7f9605f6e1ab01973ce448e27948991e453b186947a8d89f8603a69a3ba955edf2a1abccd2935196af7b6f0d1
 DIST filebench-1.5.0_alpha3_p20200220.tar.gz 255950 BLAKE2B 77df6388a982d045c27e4b14bd87371dd559c1b3e428e8a6934b3b6d4632831887440ae82c0e44c993b4870c9e198ead233779f8a7df5f02c2c2130eaa0f0e3f SHA512 96878a3c665b9e31d08806f49bf2a513f00751b833088d9470a94cfbac013d8d3d8fc68574e58531c6ab4bffa7fde88f6ccf6009667d70a1d8d586eb884d1dd8
diff --git a/app-benchmarks/filebench/filebench-1.4.9.1-r2.ebuild b/app-benchmarks/filebench/filebench-1.4.9.1-r2.ebuild
deleted file mode 100644
index b578530e4c63..000000000000
--- a/app-benchmarks/filebench/filebench-1.4.9.1-r2.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit autotools
-
-DESCRIPTION="Filebench - A Model Based File System Workload Generator"
-HOMEPAGE="https://sourceforge.net/projects/filebench/"
-SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz"
-
-LICENSE="CDDL"
-SLOT="0"
-KEYWORDS="~amd64 ~riscv ~x86"
-IUSE="auto-completion"
-
-RDEPEND="
-	auto-completion? ( dev-libs/libtecla )
-"
-DEPEND="
-	${RDEPEND}
-	app-alternatives/lex
-	app-alternatives/yacc
-"
-
-PATCHES=( "${FILESDIR}"/${PN}-fix-automagic-libtecla-dependency.patch )
-
-src_prepare() {
-	default
-	eautoreconf
-}
-
-src_configure() {
-	econf $(use_with auto-completion libtecla)
-}
diff --git a/app-benchmarks/filebench/files/filebench-fix-automagic-libtecla-dependency.patch b/app-benchmarks/filebench/files/filebench-fix-automagic-libtecla-dependency.patch
deleted file mode 100644
index 8d24a62a89d6..000000000000
--- a/app-benchmarks/filebench/files/filebench-fix-automagic-libtecla-dependency.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-From: Göktürk Yüksek <gokturk@binghamton.edu>
-Subject: [PATCH] Fix automagic dependency on libtecla
-
-Replace the unconditional AC_CHECK_LIB logic with AC_ARG_WITH to
-eliminate the automagic dependency on libtecla.
-
---- a/configure.ac
-+++ b/configure.ac
-@@ -164,8 +164,11 @@
- AC_CHECK_LIB([kstat], [kstat_open])
- # Use libtecla for autocompletion if it is available. If it
- # is, then conditionally compile auto_comp.c (see Makefile.am)
--AC_CHECK_LIB([tecla], [cpl_add_completion])
--AM_CONDITIONAL(AUTOCOMP_LIBTECLA, test "$ac_cv_lib_tecla_cpl_add_completion" = yes)
-+AC_ARG_WITH([libtecla], AS_HELP_STRING([--with-libtecla], [Build with libtecla for autocompletion support (default: test)]))
-+AS_IF([test "x$with_libtecla" != "xno"], [
-+	AC_CHECK_LIB([tecla], [cpl_add_completion])
-+])
-+AM_CONDITIONAL([AUTOCOMP_LIBTECLA], [test "x$ac_cv_lib_tecla_cpl_add_completion" = "xyes"])
- # Check that librt is installed and supports async IO. First line
- # allows to add librt to the linkers path, second one checks
- # if aio_wait() is in it, third one checks if aio_waitn() is there (usually
diff --git a/app-benchmarks/filebench/metadata.xml b/app-benchmarks/filebench/metadata.xml
index 1284e2628858..922493f04de9 100644
--- a/app-benchmarks/filebench/metadata.xml
+++ b/app-benchmarks/filebench/metadata.xml
@@ -2,9 +2,6 @@
 <!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
 <pkgmetadata>
 	<!-- maintainer-needed -->
-	<use>
-		<flag name="auto-completion">Enable command-line autocompletion using <pkg>dev-libs/libtecla</pkg></flag>
-	</use>
 	<upstream>
 		<remote-id type="sourceforge">filebench</remote-id><!-- old -->
 		<remote-id type="github">filebench/filebench</remote-id>
^ permalink raw reply related	[flat|nested] 3+ messages in thread
end of thread, other threads:[~2025-10-14 14:51 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-09-02 11:48 [gentoo-commits] repo/gentoo:master commit in: app-benchmarks/filebench/files/, app-benchmarks/filebench/ Sam James
  -- strict thread matches above, loose matches on Subject: below --
2025-10-14 14:50 Petr Vaněk
2016-03-20 11:15 Andrew Savchenko
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox