Hello community,

here is the log from the commit of package iozone for openSUSE:Factory:NonFree 
checked in at 2020-01-08 17:52:19
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory:NonFree/iozone (Old)
 and      /work/SRC/openSUSE:Factory:NonFree/.iozone.new.6675 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "iozone"

Wed Jan  8 17:52:19 2020 rev:7 rq:760642 version:3.488

Changes:
--------
--- /work/SRC/openSUSE:Factory:NonFree/iozone/iozone.changes    2019-01-19 
19:46:59.219381853 +0100
+++ /work/SRC/openSUSE:Factory:NonFree/.iozone.new.6675/iozone.changes  
2020-01-08 17:52:20.241571036 +0100
@@ -1,0 +2,6 @@
+Fri Jan  3 12:01:26 UTC 2020 - Martin Pluskal <mplus...@suse.com>
+
+- Update to version 3_488:
+  * mprove the Yates/Knuth method for shuffle.
+
+-------------------------------------------------------------------

Old:
----
  iozone3_483.tar

New:
----
  iozone3_488.tar

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ iozone.spec ++++++
--- /var/tmp/diff_new_pack.d4a2Rc/_old  2020-01-08 17:52:20.773571316 +0100
+++ /var/tmp/diff_new_pack.d4a2Rc/_new  2020-01-08 17:52:20.773571316 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package iozone
 #
-# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2020 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -12,24 +12,22 @@
 # license that conforms to the Open Source Definition (Version 1.9)
 # published by the Open Source Initiative.
 
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
 #
 
 
 %define src_version 3
-%define src_release 483
+%define src_release 488
 Name:           iozone
 Version:        %{src_version}.%{src_release}
 Release:        0
 Summary:        Filesystem Benchmark
-License:        SUSE-Freeware AND SUSE-Public-Domain AND GPL-2.0+
-Group:          System/Benchmark
+License:        SUSE-Freeware AND SUSE-Public-Domain AND GPL-2.0-or-later
 URL:            http://www.iozone.org
 Source0:        
http://www.iozone.org/src/current/%{name}%{src_version}_%{src_release}.tar
 Source1:        http://www.iozone.org/docs/Iozone_License.txt
 Source2:        https://www.gnu.org/licenses/gpl-2.0.txt
 BuildRequires:  dos2unix
-BuildRequires:  gcc
 
 %description
 Filesystem benchmark tool. The benchmark tests file I/O performance for the 
following
@@ -38,7 +36,6 @@
 
 %package doc
 Summary:        Documentation how to use Iozone
-Group:          Documentation/Man
 BuildArch:      noarch
 
 %description doc
@@ -48,7 +45,7 @@
 %setup -q -n %{name}%{src_version}_%{src_release}
 
 %build
-make %{?_smp_mflags} CFLAGS="%{optflags} -DHAVE_PREADV -DHAVE_PWRITEV" -C 
src/current linux
+%make_build CFLAGS="%{optflags} -DHAVE_PREADV -DHAVE_PWRITEV" -C src/current 
linux
 
 %install
 install -D -p -m 0755 src/current/iozone %{buildroot}%{_bindir}/iozone
@@ -70,13 +67,15 @@
 cp %{SOURCE2} gpl-2.0.txt
 
 %files
-%doc src/current/Gnuplot.txt src/current/Changes.txt Iozone_License.txt 
gpl-2.0.txt
+%license Iozone_License.txt
+%doc src/current/Gnuplot.txt src/current/Changes.txt gpl-2.0.txt
 %{_bindir}/fileop
 %{_bindir}/iozone
 %{_datadir}/%{name}/
-%{_mandir}/man1/iozone.1%{ext_man}
+%{_mandir}/man1/iozone.1%{?ext_man}
 
 %files doc
-%doc docs/*.pdf src/current/Changes.txt Iozone_License.txt gpl-2.0.txt
+%license Iozone_License.txt
+%doc docs/*.pdf src/current/Changes.txt gpl-2.0.txt
 
 %changelog

++++++ iozone3_483.tar -> iozone3_488.tar ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/iozone3_483/src/current/Android.mk 
new/iozone3_488/src/current/Android.mk
--- old/iozone3_483/src/current/Android.mk      1970-01-01 01:00:00.000000000 
+0100
+++ new/iozone3_488/src/current/Android.mk      2019-12-10 16:23:34.000000000 
+0100
@@ -0,0 +1,12 @@
+LOCAL_PATH:= $(call my-dir)
+include $(CLEAR_VARS)
+
+LOCAL_CFLAGS:= -O3 -Dunix -DANDROID -DHAVE_ANSIC_C -DHAVE_PREAD 
-DNAME='"linux-arm"' -DLINUX_ARM -Dlinux -lrt -lpthread
+
+LOCAL_SRC_FILES:= iozone.c libbif.c
+
+LOCAL_MODULE:= iozone
+
+LOCAL_CFLAGS +=-Wno-unused-parameter
+
+include $(BUILD_EXECUTABLE)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/iozone3_483/src/current/Android_Readme.md 
new/iozone3_488/src/current/Android_Readme.md
--- old/iozone3_483/src/current/Android_Readme.md       1970-01-01 
01:00:00.000000000 +0100
+++ new/iozone3_488/src/current/Android_Readme.md       2019-12-10 
16:23:34.000000000 +0100
@@ -0,0 +1,71 @@
+# compiling iozone
+
+Assuming you have compiler toolchain installed, just type  `make` to get a 
list of targets
+
+then to generate for your iozone for your `<OS/target>` simply type:
+`make <target>`
+
+**Android specifics**
+
+building iozone for Android means doing a cross compilation
+
+There is two options then.
+
+* cross compiling using Android NDK
+* cross compiling from android source tree. Due to the disk space
+  required to get an android source tree, this option is valuable
+  only if you are already working with android source tree.
+
+**_cross-compiling using Android NDK_**
+
+The prerequiste is to download SDK and NDK.
+SDK cannot easilly dissociated from Android Studio those days.
+
+Follow the following steps to get SDK and NDK and
+cross compile iozone.
+
+1. Prerequesite : Ubuntu LTS release 16.04 or 18.04 or Mac OS
+2. Download Android Studio for your platform from 
https://developer.android.com/studio/
+3. Extract the archive to some place, e.g. your home directory
+4. Start android studio
+    1. on linux: Android Studio needs to be started from a terminal so open a 
Terminal
+    2. in terminal type `<install_dir>/android-studio/bin/studio.sh`
+    3. on Mac OS Android Studio can be launch from lauchpad. if you wish to 
start it from terminal type `open -a Android\ Studio`
+5. keep all the defaults proposed Android Studio.
+6. Wait for the download to be ready
+7. Download the NDK
+    1. Select Configure in Android Studio Splash Screen
+    2. Select SDK Manager
+    3. Go to system settings Android SDK on the left
+    4. Select tab SDK Tools
+    5. Select NDK and apply to install NDK
+8. Set NDK environment variable to the ndk-bundle directory 
+    1.  e.g. `export NDK=/home/parallels/Android/Sdk/ndk-bundle/`
+9. download and extract iozone archive
+    1. you can opt for extacting only source directory. 
+        1. `mkdir iozone`
+        2. `cd iozone`
+        3. `tar -xvf <path to tar archive>/iozoneX_XXX.tgz -C ./iozone 
--strip-components 3`
+    2. or extracting the full archive
+        1. `tar xvf iozoneX_XXX.tgz`
+        2. `cd iozoneX_XXX/src/current`
+10. build iozone
+    1. `make android` This will generate 4 version of iozone for different 
architecture: arm7, arm64, x86, x86_64
+    2. push the iozone excutable to your Android target e.g. `adb push 
libs/arm64-v8a/iozone /data/iozone`
+
+**_cross-compiling iozone within android source tree_**
+
+The Prerequisite is to have an Android source tree availavle.
+If you do not have it, download it android from Google
+
+1. `cd <android root>`
+2. `source ./build/envsetup.sh`
+3. `lunch <target>`
+4. `cd <android root>/external`
+5. `mkdir iozone`
+6. `curl http://www.iozone.org/src/current/iozoneX_XXX.tar -o iozoneX_XXX.tar` 
# assuming this version no proxy, etc`
+7. `tar -xvf ./iozoneX_XXX.tar -C ./iozone --strip-components 3`
+8. `cd iozone`
+9. `mm`
+
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/iozone3_483/src/current/Application.mk 
new/iozone3_488/src/current/Application.mk
--- old/iozone3_483/src/current/Application.mk  1970-01-01 01:00:00.000000000 
+0100
+++ new/iozone3_488/src/current/Application.mk  2019-12-10 16:23:34.000000000 
+0100
@@ -0,0 +1,3 @@
+APP_ABI := armeabi-v7a arm64-v8a x86 x86_64
+APP_PLATFORM :=android-24 # mininum Android API level for appropriate 
multithreading support
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/iozone3_483/src/current/Changes.txt 
new/iozone3_488/src/current/Changes.txt
--- old/iozone3_483/src/current/Changes.txt     2018-11-21 19:15:58.000000000 
+0100
+++ new/iozone3_488/src/current/Changes.txt     2019-12-10 16:23:34.000000000 
+0100
@@ -2657,5 +2657,14 @@
 splash indication.
 Enable O_DIRECT for Windows builds.
 =============================================================================
+Revision 3.485
+Improvements for building under Android
+=============================================================================
+Revision 3.486
+Fix compiler warning on Android.
+=============================================================================
+Revision 3.488
+Improve the Yates/Knuth method for shuffle.
+=============================================================================
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/iozone3_483/src/current/iozone.c 
new/iozone3_488/src/current/iozone.c
--- old/iozone3_483/src/current/iozone.c        2018-11-21 19:15:58.000000000 
+0100
+++ new/iozone3_488/src/current/iozone.c        2019-12-10 16:23:34.000000000 
+0100
@@ -60,7 +60,7 @@
 
 
 /* The version number */
-#define THISVERSION "        Version $Revision: 3.483 $"
+#define THISVERSION "        Version $Revision: 3.488 $"
 
 #if defined(Windows)
 #define NO_THREADS
@@ -99,6 +99,13 @@
 #include <pthread.h>
 #endif
 
+#ifdef ANDROID
+
+#include <sys/syscall.h>
+#define pthread_setaffinity_np(pid, size, cpuset) \
+   syscall(__NR_sched_setaffinity, (pid_t)pid, (size_t)size, (void *)cpuset)
+#endif
+
 #if defined(HAVE_ANSIC_C) && defined(linux)
 #include <stdlib.h>
 #include <sys/wait.h>
@@ -369,6 +376,7 @@
 #endif
 
 
+#ifndef ANDROID
 #ifndef solaris
 #ifndef off64_t
 #ifndef _OFF64_T
@@ -388,6 +396,7 @@
 #endif
 #endif
 #endif
+#endif
 
 #ifdef __AIX__
 #include <fcntl.h>
@@ -1640,8 +1649,8 @@
 char use_thread = 0;
 long long debug1=0;            
 long long debug=0;
-unsigned long cache_size=MY_CACHE_SIZE;
-unsigned long cache_line_size=MY_CACHE_LINE_SIZE;
+unsigned long cache_size=(long long)MY_CACHE_SIZE;
+unsigned long cache_line_size=(long long)MY_CACHE_LINE_SIZE;
 long long *pstatus;
 off64_t min_file_size = KILOBYTES_START;
 off64_t max_file_size = KILOBYTES_END;
@@ -2033,7 +2042,12 @@
 #if !defined(DONT_HAVE_O_DIRECT)
   #if defined(linux) || defined(__AIX__) || defined(IRIX) || defined(IRIX64) 
|| defined(Windows) || defined(__FreeBSD__) || defined(solaris) || 
defined(IOZ_macosx)
                        direct_flag++;
-                       sprintf(splash[splash_line++],"\tO_DIRECT feature 
enabled\n");
+#if defined __APPLE__ && __MACH__
+                       sprintf(splash[splash_line++],"\tF_NOCACHE=1 - Turns 
data caching off\n");
+#else
+                        sprintf(splash[splash_line++],"\tO_DIRECT feature 
enabled\n");
+#endif
+
                        break;
   #endif
   #if defined(TRU64)
@@ -2144,7 +2158,7 @@
                                num_child=1;
                        }else
                                num_child=mint;
-                       if(mint > (unsigned long long)MAXSTREAMS){
+                       if(mint > (long long)MAXSTREAMS){
                          printf("Invalid options: maximum streams for ");
                          printf("throughput is MAXSTREAMS\n");
                          exit(4);
@@ -2421,7 +2435,7 @@
                                exit(183);
                        }
 #endif
-                       if(tval > sizeof(func)/sizeof(char *)) 
+                       if(tval > (long long)(sizeof(func)/sizeof(char *))) 
                        {
                                tval=0;
                                sprintf(splash[splash_line++],"\tSelected test 
not available on the version.\n");
@@ -3224,7 +3238,7 @@
         /* Enforce only write,rewrite,read,reread */
         if(w_traj_flag || r_traj_flag)
         {
-                for(i=2;i<sizeof(func)/sizeof(char *);i++)
+                for(i=2;i<(long long)(sizeof(func)/sizeof(char *));i++)
                 {
                         if(seq_mix && (i==8))
                                 ;
@@ -3330,7 +3344,7 @@
        }
        if(include_tflag)
        {
-               for(i=0;i<sizeof(func)/sizeof(char *);i++)
+               for(i=0;i<(long long)(sizeof(func)/sizeof(char *));i++)
                        if(include_test[i])
                                include_mask|=(long long)(1<<i);
                /* printf(">> %llx",include_mask);  HERE */
@@ -7413,8 +7427,8 @@
                de_ibuf = (long *)buffer;
                de_obuf = (long *)dedup_temp;
                if(lite)        /* short touch to reduce intrusion */
-                       length = (long) sizeof(long);
-               for(i=0;i<length/sizeof(long);i++)
+                       length = (long long) sizeof(long);
+               for(i=0;i<(off64_t) (length/sizeof(long));i++)
                {
                        if(de_ibuf[i]!= de_obuf[i])
                        {
@@ -7478,7 +7492,7 @@
        {
          for(i=0;i<(length/cache_line_size);i++)
          {
-          for(j=0;j<(cache_line_size/sizeof(long long));j++)
+          for(j=0;j<(long long)(cache_line_size/sizeof(long long));j++)
           {
               if(diag_v)
              {
@@ -7496,7 +7510,7 @@
                   file_position = (off64_t)( (recnum * recsize))+
                        ((i*cache_line_size)+(j*sizeof(long long)));
                   where2=(char *)where;
-                  for(k=0;k<sizeof(long long);k++){
+                  for(k=0;k<(long long)(sizeof(long long));k++){
                        if(*where2 != *pattern_ptr)
                                break;
                        where2++;
@@ -7593,7 +7607,7 @@
        {
                for(i=0;i<(length/cache_line_size);i++)
                {
-                       for(j=0;j<(cache_line_size/sizeof(long long));j++)
+                       for(j=0;j<(long long)((cache_line_size/sizeof(long 
long)));j++)
                        {
                                if(diag_v)
                                {
@@ -7699,7 +7713,7 @@
        off64_t numrecs64,traj_offset;
        off64_t lock_offset=0;
        long long Index = 0;
-       long long file_flags = 0;
+       int file_flags = 0;
        long long traj_size;
        unsigned long long writerate[2];
        off64_t filebytes64;
@@ -7905,6 +7919,16 @@
 #if defined(Windows)
                }
 #endif
+
+#if defined __APPLE__ && __MACH__
+               if(direct_flag) {
+                  if (fcntl(fd,F_NOCACHE,1) == -1 ) {
+                      printf("\n%s while fcntl",strerror(errno));
+                      exit(51966);
+                   }
+                }
+#endif
+
 #ifdef VXFS
                if(direct_flag)
                {
@@ -9302,7 +9326,7 @@
             for(i = 0; i < numrecs64; i++){
                 recnum[i] = i;
             }
-            for(i = 0; i < numrecs64; i++) {
+            for(i = numrecs64-1; i >= 0; i--) {
                 long long tmp;
 #ifdef MERSENNE
               big_rand=genrand64_int64();
@@ -9323,7 +9347,7 @@
 #endif
 #endif
 #endif
-               big_rand = big_rand%numrecs64;
+               big_rand = big_rand % (i+1);
                tmp = recnum[i];
                recnum[i] = recnum[big_rand];
                recnum[big_rand] = tmp;
@@ -12516,7 +12540,9 @@
 {
        long long size1;
        char *addr,*dumb;
+#ifdef SHARED_MEM
        int shmid;
+#endif
        int tfd;
        long long tmp;
 #if defined(solaris) 
@@ -12638,7 +12664,7 @@
                exit(122);
        }
        if(debug1)
-               printf("Got shared memory for size %d\n",size1);
+               printf("Got shared memory for size %lld\n",size1);
 
        return(addr);
 #endif
@@ -17671,7 +17697,7 @@
             for(i = 0; i < numrecs64; i++){
                 recnum[i] = i;
             }
-            for(i = 0; i < numrecs64; i++) {
+            for(i = numrecs64-1; i >= 0; i--) {
                 long long tmp = recnum[i];
 #ifdef MERSENNE
               big_rand = genrand64_int64();
@@ -17692,7 +17718,7 @@
 #endif
 #endif
 #endif
-               big_rand = big_rand%numrecs64;
+               big_rand = big_rand % (i+1);
                tmp = recnum[i];
                recnum[i] = recnum[big_rand];
                recnum[big_rand] = tmp;
@@ -18310,7 +18336,7 @@
             for(i = 0; i < numrecs64; i++){
                 recnum[i] = i;
             }
-            for(i = 0; i < numrecs64; i++) {
+            for(i = numrecs64-1; i >= 0; i--) {
                 long long tmp = recnum[i];
 #ifdef MERSENNE
               big_rand = genrand64_int64();
@@ -18331,7 +18357,7 @@
 #endif
 #endif
 #endif
-               big_rand = big_rand%numrecs64;
+               big_rand = big_rand % (i+1);
                tmp = recnum[i];
                recnum[i] = recnum[big_rand];
                recnum[big_rand] = tmp;
@@ -20956,7 +20982,11 @@
         }
         if(mdebug)
           printf("Master in accepting connection\n");
+#if defined(ANDROID)
+        ns=accept((int)s,(struct sockaddr *)addr,(socklen_t *)&me);
+#else
         ns=accept(s,(void *)addr,&me);
+#endif
         if(ns < 0)
         {
                 printf("Master socket %d\n",s);
@@ -21456,7 +21486,11 @@
                fprintf(newstdout,"Child %d enters accept\n",(int)chid);
                fflush(newstdout);
        }
-       ns=accept(s,(void *)addr,&me);
+#if defined(ANDROID)
+        ns=accept((int)s,(struct sockaddr *)addr,(socklen_t *)&me);
+#else
+        ns=accept(s,(void *)addr,&me);
+#endif
        if(cdebug)
        {
                fprintf(newstdout,"Child %d attached for receive. Sock %d  
%d\n",
@@ -23779,7 +23813,11 @@
                fprintf(newstdout,"Child enters accept\n");
                fflush(newstdout);
        }
-       ns=accept(s,(void *)addr,&me);
+#if defined(ANDROID)
+        ns=accept((int)s,(struct sockaddr *)addr,(socklen_t *)&me);
+#else
+        ns=accept(s,(void *)addr,&me);
+#endif
        if(cdebug)
        {
                fprintf(newstdout,"Child attached for receive. Sock %d  %d\n", 
ns,errno);
@@ -24016,7 +24054,11 @@
                printf("Master enters accept\n");
                fflush(stdout);
        }
-       ns=accept(s,(void *)addr,&me);
+#if defined(ANDROID)
+        ns=accept((int)s,(struct sockaddr *)addr,(socklen_t *)&me);
+#else
+        ns=accept(s,(void *)addr,&me);
+#endif
        if(mdebug)
        {
                printf("Master attached for receive. Sock %d  %d\n", ns,errno);
@@ -24527,7 +24569,7 @@
         /* To make sure every fileset generates different dedup patterns */
         srand(DEDUPSEED+dedup_mseed);
 
-        for(x=0;x<size/sizeof(int);x++)
+        for(x=0;x<(int)(size/sizeof(int));x++)
         {
                 if ( zero_pct >= 0 ) {
                         *ip=compressible_rand(); /* fill initial buffer  */
@@ -26164,7 +26206,7 @@
        }
         ip = (int *)i;
         srand(DEDUPSEED);
-        for(x=0;x<size/sizeof(int);x++)
+        for(x=0;x<(int)(size/sizeof(int));x++)
         {
                 *ip=rand(); /* fill initial buffer */
                 ip++;
@@ -26266,4 +26308,3 @@
         }
         return(0);
 }
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/iozone3_483/src/current/makefile 
new/iozone3_488/src/current/makefile
--- old/iozone3_483/src/current/makefile        2018-11-21 19:15:58.000000000 
+0100
+++ new/iozone3_488/src/current/makefile        2019-12-10 16:23:34.000000000 
+0100
@@ -1,5 +1,5 @@
 #
-# Version $Revision: 1.149 $
+# Version $Revision: 1.155 $
 #
 # The makefile for building all versions of iozone for all supported
 # platforms
@@ -18,6 +18,9 @@
 S10GCCFLAGS    = -m64
 S10CCFLAGS     = -m64
 FLAG64BIT      = -m64
+NDK_ENV_VAR    := $(shell echo $$NDK)
+NDKBUILD       := $(shell which ndk-build)
+
 
 # If your Linux kernel supports preadv and pwritev system calls 
 # and you want iozone to use them, add -DHAVE_PREADV -DHAVE_PWRITEV
@@ -30,6 +33,7 @@
        @echo "        ->   AIX-LF               (32bit)   <-"
        @echo "        ->   AIX64                (32bit)   <-"
        @echo "        ->   AIX64-LF             (32bit)   <-"
+       @echo "        ->   android   (arm/x86 32/64bit)   <-"
        @echo "        ->   bsdi                 (32bit)   <-" 
        @echo "        ->   convex               (32bit)   <-" 
        @echo "        ->   CrayX1               (32bit)   <-"
@@ -56,7 +60,7 @@
        @echo "        ->   linux-powerpc        (32bit)   <-"
        @echo "        ->   linux-powerpc64      (64bit)   <-"
        @echo "        ->   linux-sparc          (32bit)   <-"
-       @echo "        ->   macosx               (32bit)   <-"
+       @echo "        ->   macosx               (32/64bit)<-"
        @echo "        ->   netbsd               (32bit)   <-"
        @echo "        ->   netbsd-AMD64         (64bit)   <-"
        @echo "        ->   openbsd              (32bit)   <-"
@@ -218,6 +222,29 @@
                -lrt -lpthread -o iozone
        $(CC) -O3 -Dlinux fileop_linux-arm.o -o fileop
        $(CC) -O3 -Dlinux pit_server.o -o pit_server
+#
+# GNU 'C' or Clang compiler Linux build with threads, largefiles, async I/O
+#
+
+android: iozone.c  makefile Android.mk Application.mk libbif.c
+ifeq ($(NDK_ENV_VAR)$(NDKBUILD),)
+       $(warning Your NDK environment is not set)
+       $(warning Either add to your path ndk-bundle or define NDK environement 
variable)
+       $(warning ndk-bundle is likely located within you android sdk e.g. 
<...>/Android/sdk/ndk-bundle )
+       $(error e.g. export NDK='/home/me/Android/Sdk/ndk-bundle')
+endif
+       mkdir -p jni
+       ln -sf ../Android.mk ./jni/Android.mk
+       ln -sf ../Application.mk ./jni/Application.mk
+       ln -sf ../iozone.c ./jni/iozone.c
+       ln -sf ../libbif.c ./jni/libbif.c
+ifeq ($(NDKBUILD),) 
+ifneq ($(NDK_ENV_VAR),) 
+       ${NDK}/ndk-build 
+endif 
+else 
+       ${NDKBUILD} 
+endif
 
 #
 # GNU 'C' compiler Linux build with threads, largefiles, async I/O 
@@ -511,13 +538,13 @@
        $(CC)  -O pit_server.o -o pit_server
 
 #
-# GNU C compiler MacosX build with no threads, no largefiles, no async I/O
+# GNU C or Clang compiler MacosX build with no threads, no largefiles, no 
async I/O
 #
 
 macosx:        iozone_macosx.o fileop_macosx.o pit_server.o
-       $(CC) -O $(LDFLAGS) iozone_macosx.o libbif.o -o iozone
-       $(CC) -O $(LDFLAGS) fileop_macosx.o -o fileop
-       $(CC) -O $(LDFLAGS) pit_server.o -o pit_server
+       $(CC) -O3 $(LDFLAGS) iozone_macosx.o libbif.o -o iozone
+       $(CC) -O3 $(LDFLAGS) fileop_macosx.o -o fileop
+       $(CC) -O3 $(LDFLAGS) pit_server.o -o pit_server
 #
 #
 # GNU C compiler OpenBSD build with no threads, no largefiles, no async I/O
@@ -936,7 +963,7 @@
        @echo ""
        @echo "Building fileop for MAC OS X"
        @echo ""
-       $(CC) -Wall -c -O -DIOZ_macosx $(CFLAGS) fileop.c -o fileop_macosx.o
+       $(CC) -Wall -c -O3 -DIOZ_macosx $(CFLAGS) fileop.c -o fileop_macosx.o
 
 fileop_linux-ia64.o:   fileop.c
        @echo ""
@@ -968,6 +995,12 @@
        @echo ""
        $(GCC) -Wall -c -O3 $(CFLAGS) fileop.c -o fileop_linux-arm.o
 
+fileop_android.o:  fileop.c
+       @echo ""
+       @echo "Building fileop for Android"
+       @echo ""
+       $(GCC) -Wall -c -O3 $(CFLAGS) $(ANDROID_CFLAGS) fileop.c -o 
fileop_android.o
+
 fileop_linux-s390.o:  fileop.c
        @echo ""
        @echo "Building fileop for Linux-S390"
@@ -1017,6 +1050,19 @@
        $(CC) -c -O3 -Dunix -Dlinux -DHAVE_ANSIC_C -DASYNC_IO \
                -D_LARGEFILE64_SOURCE $(CFLAGS) libasync.c  -o libasync.o
 
+iozone_android.o:      iozone.c libbif.c libasync.c
+       @echo ""
+       @echo "Building iozone for Android"
+       @echo ""
+       $(CC) -c -O3 -Dunix -DHAVE_ANSIC_C -DASYNC_IO -DHAVE_PREAD \
+               -DNAME='"android"' -DLINUX_ARM -DANDROID -DSHARED_MEM \
+               -Dlinux -D_LARGEFILE64_SOURCE $(CFLAGS) $(ANDROID_CFLAGS) 
iozone.c \
+               -o iozone_android.o
+       $(CC) -c -O3 -Dunix -DANDROID -DHAVE_ANSIC_C -DASYNC_IO 
-D_LARGEFILE64_SOURCE \
+               -DSHARED_MEM -Dlinux $(CFLAGS) $(ANDROID_CFLAGS) libbif.c -o 
libbif.o
+       $(CC) -c -O3 -Dunix -Dlinux -DANDROID -DHAVE_ANSIC_C -DASYNC_IO \
+               -D_LARGEFILE64_SOURCE $(CFLAGS) $(ANDROID_CFLAGS) libasync.c  
-o libasync.o
+
 iozone_linux-AMD64.o:  iozone.c libbif.c libasync.c 
        @echo ""
        @echo "Building iozone for Linux-AMD64"
@@ -1409,9 +1455,9 @@
        @echo ""
        @echo "Build iozone for MacOSX"
        @echo ""
-       $(CC) -c -O -Dunix -Dbsd4_2 -DIOZ_macosx -DHAVE_ANSIC_C -DNO_THREADS \
+       $(CC) -c -O3 -Dunix -Dbsd4_2 -DIOZ_macosx -DHAVE_ANSIC_C -DNO_THREADS \
                -DNAME='"macosx"' -DSHARED_MEM $(CFLAGS) iozone.c -o 
iozone_macosx.o
-       $(CC) -c -O -Dunix -Dbsd4_2 -DIOZ_macosx -DHAVE_ANSIC_C -DNO_THREADS \
+       $(CC) -c -O3 -Dunix -Dbsd4_2 -DIOZ_macosx -DHAVE_ANSIC_C -DNO_THREADS \
                -DSHARED_MEM $(CFLAGS) libbif.c -o libbif.o
 
 iozone_openbsd.o:      iozone.c libbif.c
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/iozone3_483/src/current/spec.in 
new/iozone3_488/src/current/spec.in
--- old/iozone3_483/src/current/spec.in 2018-11-21 19:15:58.000000000 +0100
+++ new/iozone3_488/src/current/spec.in 2019-12-10 16:23:34.000000000 +0100
@@ -1,7 +1,7 @@
 Summary: Iozone Filesystem Benchmark
 Name: iozone
 Version: 3
-Release: 483
+Release: 488
 License: Freeware
 Group: Applications/Engineering
 Source: %{name}%{version}_%{release}.tar
@@ -25,7 +25,7 @@
 ##
 ## SETUP and PATCH
 ##
-%setup -n iozone3_483/src/current
+%setup -n iozone3_488/src/current
 
 
 ##
@@ -75,22 +75,22 @@
 ##
 %install
 mkdir -p $RPM_BUILD_ROOT/opt/iozone/bin
-cp $RPM_BUILD_DIR/iozone3_483/src/current/iozone 
$RPM_BUILD_ROOT/opt/iozone/bin/
-cp $RPM_BUILD_DIR/iozone3_483/src/current/fileop 
$RPM_BUILD_ROOT/opt/iozone/bin/
-cp $RPM_BUILD_DIR/iozone3_483/src/current/pit_server 
$RPM_BUILD_ROOT/opt/iozone/bin/
-cp $RPM_BUILD_DIR/iozone3_483/src/current/Generate_Graphs 
$RPM_BUILD_ROOT/opt/iozone/bin/
-cp $RPM_BUILD_DIR/iozone3_483/src/current/gengnuplot.sh 
$RPM_BUILD_ROOT/opt/iozone/bin/
-cp $RPM_BUILD_DIR/iozone3_483/src/current/gnu3d.dem 
$RPM_BUILD_ROOT/opt/iozone/bin/
+cp $RPM_BUILD_DIR/iozone3_488/src/current/iozone 
$RPM_BUILD_ROOT/opt/iozone/bin/
+cp $RPM_BUILD_DIR/iozone3_488/src/current/fileop 
$RPM_BUILD_ROOT/opt/iozone/bin/
+cp $RPM_BUILD_DIR/iozone3_488/src/current/pit_server 
$RPM_BUILD_ROOT/opt/iozone/bin/
+cp $RPM_BUILD_DIR/iozone3_488/src/current/Generate_Graphs 
$RPM_BUILD_ROOT/opt/iozone/bin/
+cp $RPM_BUILD_DIR/iozone3_488/src/current/gengnuplot.sh 
$RPM_BUILD_ROOT/opt/iozone/bin/
+cp $RPM_BUILD_DIR/iozone3_488/src/current/gnu3d.dem 
$RPM_BUILD_ROOT/opt/iozone/bin/
 
 mkdir -p $RPM_BUILD_ROOT/opt/iozone/docs
-cp $RPM_BUILD_DIR/iozone3_483/docs/IOzone_msword_98.pdf 
$RPM_BUILD_ROOT/opt/iozone/docs/
-cp $RPM_BUILD_DIR/iozone3_483/docs/Run_rules.doc 
$RPM_BUILD_ROOT/opt/iozone/docs/
-cp $RPM_BUILD_DIR/iozone3_483/docs/IOzone_msword_98.doc 
$RPM_BUILD_ROOT/opt/iozone/docs/
-cp $RPM_BUILD_DIR/iozone3_483/docs/Iozone_ps.gz 
$RPM_BUILD_ROOT/opt/iozone/docs/
-cp $RPM_BUILD_DIR/iozone3_483/src/current/Gnuplot.txt 
$RPM_BUILD_ROOT/opt/iozone/docs/
+cp $RPM_BUILD_DIR/iozone3_488/docs/IOzone_msword_98.pdf 
$RPM_BUILD_ROOT/opt/iozone/docs/
+cp $RPM_BUILD_DIR/iozone3_488/docs/Run_rules.doc 
$RPM_BUILD_ROOT/opt/iozone/docs/
+cp $RPM_BUILD_DIR/iozone3_488/docs/IOzone_msword_98.doc 
$RPM_BUILD_ROOT/opt/iozone/docs/
+cp $RPM_BUILD_DIR/iozone3_488/docs/Iozone_ps.gz 
$RPM_BUILD_ROOT/opt/iozone/docs/
+cp $RPM_BUILD_DIR/iozone3_488/src/current/Gnuplot.txt 
$RPM_BUILD_ROOT/opt/iozone/docs/
 
 mkdir -p $RPM_BUILD_ROOT/opt/iozone/man/man1
-cp $RPM_BUILD_DIR/iozone3_483/docs/iozone.1 
$RPM_BUILD_ROOT/opt/iozone/man/man1/
+cp $RPM_BUILD_DIR/iozone3_488/docs/iozone.1 
$RPM_BUILD_ROOT/opt/iozone/man/man1/
 
 
 ##


Reply via email to