From 659ebeb12cbfa4035649f0a68d4be78fc0009eff Mon Sep 17 00:00:00 2001 From: Andrea Brancaleoni Date: Mon, 24 Oct 2016 15:07:29 +0200 Subject: [PATCH] install --- UnixBench/Makefile | 29 ++++++++++++++++++++++------- UnixBench/Run | 42 ++++++++++++++---------------------------- UnixBench/pgms/multi.sh | 2 +- UnixBench/src/execl.c | 4 +--- 4 files changed, 38 insertions(+), 39 deletions(-) diff --git a/UnixBench/Makefile b/UnixBench/Makefile index 880743a..748a2a4 100644 --- a/UnixBench/Makefile +++ b/UnixBench/Makefile @@ -141,12 +141,16 @@ BINS = $(PROGDIR)/arithoh $(PROGDIR)/register $(PROGDIR)/short \ ## These compile only on some platforms... # $(PROGDIR)/poll $(PROGDIR)/poll2 $(PROGDIR)/select +PROGRAMS = $(BINS) \ + $(PROGDIR)/multi.sh $(PROGDIR)/tst.sh \ + $(PROGDIR)/gfx-x11 + +DATAS = $(PROGDIR)/unixbench.logo $(PROGDIR)/index.base \ + $(TESTDIR)/sort.src $(TESTDIR)/cctest.c \ + $(TESTDIR)/dc.dat $(TESTDIR)/large.txt + # Required non-binary files. -REQD = $(BINS) $(PROGDIR)/unixbench.logo \ - $(PROGDIR)/multi.sh $(PROGDIR)/tst.sh $(PROGDIR)/index.base \ - $(PROGDIR)/gfx-x11 \ - $(TESTDIR)/sort.src $(TESTDIR)/cctest.c $(TESTDIR)/dc.dat \ - $(TESTDIR)/large.txt +REQD = $(PROGRAMS) $(DATAS) # ######################### the big ALL ############################ all: @@ -266,12 +270,12 @@ $(PROGDIR)/ubgears: LDFLAGS += -lm $(GL_LIBS) $(PROGDIR)/dhry2: CFLAGS += -DHZ=${HZ} $(PROGDIR)/dhry2: $(SRCDIR)/dhry_1.c $(SRCDIR)/dhry_2.c \ $(SRCDIR)/dhry.h $(SRCDIR)/timeit.c - $(CC) -o $@ ${CFLAGS} $(SRCDIR)/dhry_1.c $(SRCDIR)/dhry_2.c + $(CC) -o $@ ${CFLAGS} $(SRCDIR)/dhry_1.c $(SRCDIR)/dhry_2.c $(LDFLAGS) $(PROGDIR)/dhry2reg: CFLAGS += -DHZ=${HZ} -DREG=register $(PROGDIR)/dhry2reg: $(SRCDIR)/dhry_1.c $(SRCDIR)/dhry_2.c \ $(SRCDIR)/dhry.h $(SRCDIR)/timeit.c - $(CC) -o $@ ${CFLAGS} $(SRCDIR)/dhry_1.c $(SRCDIR)/dhry_2.c + $(CC) -o $@ ${CFLAGS} $(SRCDIR)/dhry_1.c $(SRCDIR)/dhry_2.c $(LDFLAGS) # Run the benchmarks and create the reports run: @@ -283,4 +287,15 @@ clean: spotless: clean $(RM) $(RESULTDIR)/* $(TMPDIR)/* +install: $(PROGRAMS) + mkdir -p $(DESTDIR)/usr/libexec/unixbench + for program in $(PROGRAMS); do \ + install -m0755 $$program $(DESTDIR)/usr/libexec/unixbench; \ + done + install -D -m0755 Run $(DESTDIR)/usr/bin/unixbench + mkdir -p $(DESTDIR)/usr/share/unixbench + for data in $(DATAS); do \ + install -m0644 $$data $(DESTDIR)/usr/share/unixbench; \ + done + ## END ## diff --git a/UnixBench/Run b/UnixBench/Run index a16a5c9..80f2a8d 100755 --- a/UnixBench/Run +++ b/UnixBench/Run @@ -7,7 +7,6 @@ use Time::HiRes; use IO::Handle; use FindBin; - ############################################################################ # UnixBench - Release 5.1.3, based on: # The BYTE UNIX Benchmarks - Release 3 @@ -87,16 +86,19 @@ my $cCompiler = 'gcc'; # variable names are the first parameter to getDir() below. # Directory where the test programs live. -my $BINDIR = getDir('UB_BINDIR', $FindBin::Bin . "/pgms"); +my $BINDIR = "/usr/libexec/unixbench"; + +# Data directory. +my $DATADIR = "/usr/share/unixbench"; # Temp directory, for temp files. -my $TMPDIR = getDir('UB_TMPDIR', $FindBin::Bin . "/tmp"); +my $TMPDIR = "/tmp"; # Directory to put results in. -my $RESULTDIR = getDir('UB_RESULTDIR', $FindBin::Bin . "/results"); +my $RESULTDIR = "/var/lib/unixbench/results"; # Directory where the tests are executed. -my $TESTDIR = getDir('UB_TESTDIR', $FindBin::Bin . "/testdir"); +my $TESTDIR = "/var/lib/unixbench/testdir"; ############################################################################ @@ -593,6 +595,8 @@ sub logFile { # Use the date in the base file name. my $ymd = strftime "%Y-%m-%d", localtime; + system("mkdir -p $RESULTDIR"); + while (1) { my $log = sprintf "%s/%s-%s-%02d", ${RESULTDIR}, $sysInfo->{'name'}, $ymd, $count; @@ -838,26 +842,6 @@ sub abortRun { # TEST SETUP ############################################################################ -# Do checks that everything's ready for testing. -sub preChecks { - # Set the language. - $ENV{'LANG'} = $language; - - # Check that the required files are in the proper places. - system("make check"); - if ($? != 0) { - system("make all"); - if ($? != 0) { - abortRun("\"make all\" failed"); - } - } - - # Create a script to kill this run. - system("echo \"kill -9 $$\" > \"${TMPDIR}/kill_run\""); - chmod(0755, $TMPDIR . "/kill_run"); -} - - # Parse the command arguments. sub parseArgs { my @words = @_; @@ -1031,7 +1015,7 @@ sub indexResults { # Read in the baseline result data. If we can't get it, just return # without making indexed results. - my $index = readResultsFromFile($BINDIR . "/index.base"); + my $index = readResultsFromFile($DATADIR . "/index.base"); if (!defined($index)) { return; } @@ -1254,6 +1238,9 @@ sub runOnePass { # Remember where we are, and move to the test directory. my $pwd = `pwd`; + + system("mkdir -p $TESTDIR"); + system("cp $DATADIR/* $TESTDIR"); chdir($TESTDIR); # Execute N copies of the benchmark in parallel. @@ -1823,7 +1810,6 @@ sub main { $tests = $index; } - preChecks(); my $systemInfo = getSystemInfo(); # If the number of copies to run was not set, set it to 1 @@ -1837,7 +1823,7 @@ sub main { } # Display the program banner. - system("cat \"${BINDIR}/unixbench.logo\""); + system("cat \"${DATADIR}/unixbench.logo\""); if ($verbose > 1) { printf "\n", join(", ", @$tests); diff --git a/UnixBench/pgms/multi.sh b/UnixBench/pgms/multi.sh index c65ba22..3987078 100755 --- a/UnixBench/pgms/multi.sh +++ b/UnixBench/pgms/multi.sh @@ -16,7 +16,7 @@ ID="@(#)multi.sh:3.4 -- 5/15/91 19:30:24"; instance=1 while [ $instance -le $1 ]; do - /bin/sh "$UB_BINDIR/tst.sh" & + /bin/sh "/usr/libexec/unixbench/tst.sh" & instance=`expr $instance + 1` done wait diff --git a/UnixBench/src/execl.c b/UnixBench/src/execl.c index 98f03dc..28c1996 100644 --- a/UnixBench/src/execl.c +++ b/UnixBench/src/execl.c @@ -68,9 +68,7 @@ char *argv[]; /* the first invocation */ { dur_str = argv[1]; - if((ptr = getenv("UB_BINDIR")) != NULL) - sprintf(path_str,"%s/execl",ptr); - fullpath=path_str; + fullpath="/usr/libexec/unixbench/execl"; time(&start_time); } else /* one of those execl'd invocations */ -- 2.10.1