File ocfs2-test.spec of Package ocfs2-test
#
# Spec file for ocfs-test
#
# Macros
# This one is hardcoded because, well, it belongs there
%define _prefix /
# Because RPM is dumb
%define _unpackaged_files_terminate_build 0
%define gname users
%define uname ocfs2test
%define _installdir /usr/local/ocfs2-test
Summary: Test suite for ocfs2 and ocfs2-tools
Name: ocfs2-test
Version: 1.0.5+git.1583732384.eb18f3e
Release: 0
License: GPL-2.0+
Group: System Environment/Kernel
Source: ocfs2-test-%{version}.tar.bz2
URL: https://github.com/markfasheh/ocfs2-test
Patch001: 0001-reflink-tune-reflink-direct-io-slice-size-from-512-t.patch
Patch002: 0002-backup_super-fix-hard-code-for-blocksize.patch
Patch003: 0001-mkfs-fix-test-failure-when-use-lvm2-volume.patch
Patch004: 0002-reserve_space-fix-test-failure-when-use-lvm2-volume.patch
Patch005: 0001-ocfs2-test-add-multi-node-test-for-nocluster-option.patch
Patch006: 0001-inline-data-fix-that-child-process-exits-abnormally.patch
Patch007: 0001-inline-data-Fix-typos-in-clustersize-variable-defini.patch
Patch008: 0001-reflink-add-concurrently-snapshot-file-test-case.patch
PreReq: permissions
Requires(pre): pwdutils
Requires: bash
Requires: coreutils
Requires: net-tools
Requires: glib2
Requires: util-linux
Requires: python
Requires: bc
Requires: attr
Requires: wget
%if 0%{?suse_version} <= 1500
BuildRequires: openmpi-devel
Requires: openmpi
%else
BuildRequires: openmpi1-devel
Requires: openmpi1
%endif
BuildRequires: e2fsprogs-devel
BuildRequires: glib2-devel
BuildRequires: python-devel
BuildRequires: util-linux
BuildRequires: autoconf
BuildRequires: libaio-devel
BuildRequires: ocfs2-tools-devel
BuildRequires: ocfs2-tools-devel-static
BuildRequires: glibc-devel
BuildRequires: corosync-devel
BuildRequires: libdlm-devel
Obsoletes: openmpi-compat
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
OCFS2-TEST is package to test ocfs2 and ocfs2-tools.
%package devel-static
Summary: Ocfs2-test static libraries
Group: Development/Libraries/C and C++
Requires: ocfs2-tests = %{version}
%description devel-static
OCFS2 is the Oracle Cluster File System.
This package contains the static libraries for developing low-level
test cases for OCFS2.
%prep
%setup -n ocfs2-test-%{version}
%patch0001 -p1
%patch0002 -p1
%patch0003 -p1
%patch0004 -p1
%patch0005 -p1
%patch0006 -p1
%patch0007 -p1
%patch0008 -p1
%build
export PROJECT="ocfs2-test"
autoreconf -fi -I /usr/share/aclocal
%configure --disable-debug --prefix=/ --mandir=/usr/share/man
make
%install
make DESTDIR="$RPM_BUILD_ROOT%{_installdir}" install
# we don't release devel-static now
rm %{buildroot}/%{_installdir}/%{_libdir}/libocfs2test.a
%clean
rm -rf "$RPM_BUILD_ROOT"
%pre
echo "Create %{uname} user, which is used to execute ocfs2 testing."
# create group, if not existing
if
getent group %{gname} >/dev/null
then
: OK group %{gname} already present
else
groupadd %{gname} 2>/dev/null || :
fi
# create user, if not existing
if
getent passwd %{uname} >/dev/null
then
: OK user %{uname} already present
else
useradd -g %{gname} -c "for ocfs2 testing" -m %{uname} 2>/dev/null || :
fi
%post
echo "Set environmental variables in \".bash_profile\" for ocfs2 testing."
if [ -d /usr/lib64/mpi/gcc/openmpi/bin ] ; then
echo "PATH=$PATH:/usr/local/ocfs2-test/bin:/usr/lib64/mpi/gcc/openmpi/bin" > /home/%{uname}/.bash_profile
echo "LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64/mpi/gcc/openmpi/lib64" >> /home/%{uname}/.bash_profile
elif [ -d /usr/lib64/mpi/gcc/openmpi1/bin ] ; then
echo "PATH=$PATH:/usr/local/ocfs2-test/bin:/usr/lib64/mpi/gcc/openmpi1/bin" > /home/%{uname}/.bash_profile
echo "LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64/mpi/gcc/openmpi1/lib64" >> /home/%{uname}/.bash_profile
else
echo "Did not detect openmpi or openmpi1 installation path!"
fi
echo "export PATH" >> /home/%{uname}/.bash_profile
echo "export LD_LIBRARY_PATH" >> /home/%{uname}/.bash_profile
echo "Add %{uname} user to /etc/sudoers."
grep %{uname} /etc/sudoers >/dev/null || echo "%{uname} ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
echo "Add scan evaluation method to /etc/blkid.conf."
grep '^EVALUATE=.*scan$' /etc/blkid.conf >/dev/null || sed -i 's/^EVALUATE=.*/EVALUATE=udev,scan/' /etc/blkid.conf
echo "Please note that you need to complete the following before execute ocfs2 testing"
echo " 1. Configure passwordless SSH in %{uname} user among cluster nodes."
echo " 2. Make sure %{uname} user has R/W rights on ocfs2 mount point."
%files
%defattr(-,%{uname},%{gname})
%dir %{_installdir}
%dir %{_installdir}/bin
%dir %{_installdir}/%{_libdir}
%dir %{_installdir}/workfiles
%dir %{_installdir}/workfiles/fill_holes_data
%dir %{_installdir}/workfiles/fsck-test
%dir %{_installdir}/workfiles/fsck-test/medium-disk
%dir %{_installdir}/workfiles/fsck-test/small-disk
%{_installdir}/bin/acl_tests.sh
%{_installdir}/bin/aio-stress
%{_installdir}/bin/buildkernel.py
%{_installdir}/bin/burn-in.sh
%{_installdir}/bin/check_file_size_limits
%{_installdir}/bin/command.py
%{_installdir}/bin/concurrent_flock_test.pl
%{_installdir}/bin/config.py
%{_installdir}/bin/config.sh
%{_installdir}/bin/corrupt_remove_slot.sh
%{_installdir}/bin/crdel_del_files.py
%{_installdir}/bin/crdel_gen_files.py
%{_installdir}/bin/create_and_open
%{_installdir}/bin/create_racer
%{_installdir}/bin/cross_delete.py
%{_installdir}/bin/dir_create.sh
%{_installdir}/bin/dlmstress1.sh
%{_installdir}/bin/enospc.sh
%{_installdir}/bin/enospc_test
%{_installdir}/bin/extend_and_write
%{_installdir}/bin/extend_files.sh
%{_installdir}/bin/extendo
%{_installdir}/bin/file_concat.sh
%{_installdir}/bin/file_create.sh
%{_installdir}/bin/file_link.sh
%{_installdir}/bin/file_list.sh
%{_installdir}/bin/file_rename.sh
%{_installdir}/bin/file_rm.sh
%{_installdir}/bin/file_symlink.sh
%{_installdir}/bin/fill_holes
%{_installdir}/bin/fill_verify_holes.sh
%{_installdir}/bin/flock_unit_test
%{_installdir}/bin/forkwriter
%{_installdir}/bin/fsck-test.sh
%{_installdir}/bin/fsx
%{_installdir}/bin/fsx-run.sh
%{_installdir}/bin/inline-data
%{_installdir}/bin/inline-dirs
%{_installdir}/bin/inode_alloc_perf.sh
%{_installdir}/bin/lock_grab
%{_installdir}/bin/logwriter
%{_installdir}/bin/lvb_torture
%{_installdir}/bin/mkfs-test.sh
%{_installdir}/bin/mmap_test
%{_installdir}/bin/mmap_truncate
%{_installdir}/bin/mpi-run-parts
%{_installdir}/bin/multi-inline-data
%{_installdir}/bin/multi-inline-dirs
%{_installdir}/bin/multi-inline-run.sh
%{_installdir}/bin/multi_inode_alloc_perf_runner.sh
%{_installdir}/bin/multi_inode_alloc_perf.sh
%{_installdir}/bin/multi_mmap
%{_installdir}/bin/multi_reflink_test
%{_installdir}/bin/multi_reflink_test_run.sh
%{_installdir}/bin/o2tf.py
%{_installdir}/bin/o2tf.sh
%{_installdir}/bin/ocfs2_nicdown.py
%{_installdir}/bin/ocfs2_truncate.sh
%{_installdir}/bin/old_burn-in.sh
%{_installdir}/bin/open_delete
%{_installdir}/bin/open_delete.py
%{_installdir}/bin/partial_aio_direct
%{_installdir}/bin/punch_holes
%{_installdir}/bin/quota_multi_tests
%{_installdir}/bin/quota_tests.sh
%{_installdir}/bin/racer.sh
%{_installdir}/bin/recovery_load.py
%{_installdir}/bin/reflink_files.sh
%{_installdir}/bin/reflink_test
%{_installdir}/bin/reflink_test_run.sh
%{_installdir}/bin/remote_mount.py
%{_installdir}/bin/remote_umount.py
%{_installdir}/bin/remove_slot
%{_installdir}/bin/remove_slot.sh
%{_installdir}/bin/rename_write_race.sh
%{_installdir}/bin/reserve_space
%{_installdir}/bin/resize_test.sh
%{_installdir}/bin/run_buildkernel.py
%{_installdir}/bin/run_create_racer.py
%{_installdir}/bin/run_extend_and_write.py
%{_installdir}/bin/run_flock_unit_test.py
%{_installdir}/bin/run_forkwriter.py
%{_installdir}/bin/run_lvb_torture.py
%{_installdir}/bin/run_multi_mmap.py
%{_installdir}/bin/run_quota_multi_tests.py
%{_installdir}/bin/run_write_append_truncate.py
%{_installdir}/bin/run_write_torture.py
%{_installdir}/bin/sendfiletest
%{_installdir}/bin/single-inline-run.sh
%{_installdir}/bin/single_run.sh
%{_installdir}/bin/single_run-WIP.sh
%{_installdir}/bin/splice_read
%{_installdir}/bin/splice_test.py
%{_installdir}/bin/splice_write
%{_installdir}/bin/test_atime_quantum.py
%{_installdir}/bin/test_backup_super.sh
%{_installdir}/bin/test_netfail.py
%{_installdir}/bin/test_truncate
%{_installdir}/bin/truncate
%{_installdir}/bin/truncate_direct
%{_installdir}/bin/ttest
%{_installdir}/bin/tunefs-test.sh
%{_installdir}/bin/verify
%{_installdir}/bin/verify_holes
%{_installdir}/bin/verify_truncate
%{_installdir}/bin/write_append_truncate
%{_installdir}/bin/write_torture
%{_installdir}/bin/write_torture.py
%{_installdir}/bin/xattr-multi-run.sh
%{_installdir}/bin/xattr-multi-test
%{_installdir}/bin/xattr-single-run.sh
%{_installdir}/bin/xattr-test
%{_installdir}/bin/activate_discontig_bg.sh
%{_installdir}/bin/directio_test
%{_installdir}/bin/discontig_runner.sh
%{_installdir}/bin/fillup_contig_bg.sh
%{_installdir}/bin/gen_extents
%{_installdir}/bin/multi_directio_test
%{_installdir}/bin/multiple_run.sh
%{_installdir}/bin/punch_hole
%{_installdir}/bin/resv_unwritten
%{_installdir}/bin/spawn_inodes
%{_installdir}/bin/verify_readonly.sh
%{_installdir}/bin/filecheck_test_run.sh
%{_installdir}/bin/filecheck_utils.sh
%{_installdir}/bin/inode_block_test.sh
%{_installdir}/bin/nocluster-multi-run.sh
%{_installdir}/bin/multi_reflink_snap.sh
%dir %attr(755,-,-) %{_installdir}/log
%dir %attr(755,-,-) %{_installdir}/tmp
%{_installdir}/workfiles/fill_holes_data/nosparsebug.dat
%{_installdir}/workfiles/fsck-test/medium-disk/fsck.ocfs2.00.stdout
%{_installdir}/workfiles/fsck-test/medium-disk/fsck.ocfs2.01.stdout
%{_installdir}/workfiles/fsck-test/medium-disk/fsck.ocfs2.02.stdout
%{_installdir}/workfiles/fsck-test/medium-disk/fsck.ocfs2.03.stdout
%{_installdir}/workfiles/fsck-test/medium-disk/fsck.ocfs2.04.stdout
%{_installdir}/workfiles/fsck-test/medium-disk/fsck.ocfs2.05.stdout
%{_installdir}/workfiles/fsck-test/medium-disk/fsck.ocfs2.06.stdout
%{_installdir}/workfiles/fsck-test/medium-disk/fsck.ocfs2.07.stdout
%{_installdir}/workfiles/fsck-test/medium-disk/fsck.ocfs2.08.stdout
%{_installdir}/workfiles/fsck-test/medium-disk/fsck.ocfs2.09.stdout
%{_installdir}/workfiles/fsck-test/medium-disk/fsck.ocfs2.10.stdout
%{_installdir}/workfiles/fsck-test/medium-disk/fsck.ocfs2.11.stdout
%{_installdir}/workfiles/fsck-test/medium-disk/fsck.ocfs2.12.stdout
%{_installdir}/workfiles/fsck-test/medium-disk/fsck.ocfs2.13.stdout
%{_installdir}/workfiles/fsck-test/medium-disk/fsck.ocfs2.14.stdout
%{_installdir}/workfiles/fsck-test/medium-disk/fsck.ocfs2.15.stdout
%{_installdir}/workfiles/fsck-test/medium-disk/fsck.ocfs2.16.stdout
%{_installdir}/workfiles/fsck-test/medium-disk/fsck.ocfs2.17.stdout
%{_installdir}/workfiles/fsck-test/medium-disk/fsck.ocfs2.18.stdout
%{_installdir}/workfiles/fsck-test/medium-disk/fsck.ocfs2.19.stdout
%{_installdir}/workfiles/fsck-test/medium-disk/fsck.ocfs2.20.stdout
%{_installdir}/workfiles/fsck-test/medium-disk/fsck.ocfs2.21.stdout
%{_installdir}/workfiles/fsck-test/medium-disk/fsck.ocfs2.22.stdout
%{_installdir}/workfiles/fsck-test/medium-disk/fsck.ocfs2.23.stdout
%{_installdir}/workfiles/fsck-test/medium-disk/fsck.ocfs2.24.stdout
%{_installdir}/workfiles/fsck-test/medium-disk/fsck.ocfs2.25.stdout
%{_installdir}/workfiles/fsck-test/medium-disk/fsck.ocfs2.26.stdout
%{_installdir}/workfiles/fsck-test/medium-disk/fsck.ocfs2.27.stdout
%{_installdir}/workfiles/fsck-test/medium-disk/fsck.ocfs2.28.stdout
%{_installdir}/workfiles/fsck-test/medium-disk/fsck.ocfs2.29.stdout
%{_installdir}/workfiles/fsck-test/medium-disk/fsck.ocfs2.30.stdout
%{_installdir}/workfiles/fsck-test/medium-disk/fsck.ocfs2.31.stdout
%{_installdir}/workfiles/fsck-test/medium-disk/fsck.ocfs2.32.stdout
%{_installdir}/workfiles/fsck-test/medium-disk/fsck.ocfs2.33.stdout
%{_installdir}/workfiles/fsck-test/medium-disk/fsck.ocfs2.34.stdout
%{_installdir}/workfiles/fsck-test/medium-disk/fsck.ocfs2.35.stdout
%{_installdir}/workfiles/fsck-test/medium-disk/fsck.ocfs2.36.stdout
%{_installdir}/workfiles/fsck-test/medium-disk/fsck.ocfs2.37.stdout
%{_installdir}/workfiles/fsck-test/medium-disk/fsck.ocfs2.38.stdout
%{_installdir}/workfiles/fsck-test/medium-disk/fsck.ocfs2.39.stdout
%{_installdir}/workfiles/fsck-test/medium-disk/fsck.ocfs2.40.stdout
%{_installdir}/workfiles/fsck-test/medium-disk/fsck.ocfs2.41.stdout
%{_installdir}/workfiles/fsck-test/medium-disk/fsck.ocfs2.42.stdout
%{_installdir}/workfiles/fsck-test/medium-disk/fsck.ocfs2.43.stdout
%{_installdir}/workfiles/fsck-test/medium-disk/fsck.ocfs2.clean.stdout
%{_installdir}/workfiles/fsck-test/small-disk/fsck.ocfs2.00.stdout
%{_installdir}/workfiles/fsck-test/small-disk/fsck.ocfs2.01.stdout
%{_installdir}/workfiles/fsck-test/small-disk/fsck.ocfs2.02.stdout
%{_installdir}/workfiles/fsck-test/small-disk/fsck.ocfs2.03.stdout
%{_installdir}/workfiles/fsck-test/small-disk/fsck.ocfs2.04.stdout
%{_installdir}/workfiles/fsck-test/small-disk/fsck.ocfs2.05.stdout
%{_installdir}/workfiles/fsck-test/small-disk/fsck.ocfs2.06.stdout
%{_installdir}/workfiles/fsck-test/small-disk/fsck.ocfs2.07.stdout
%{_installdir}/workfiles/fsck-test/small-disk/fsck.ocfs2.08.stdout
%{_installdir}/workfiles/fsck-test/small-disk/fsck.ocfs2.09.stdout
%{_installdir}/workfiles/fsck-test/small-disk/fsck.ocfs2.10.stdout
%{_installdir}/workfiles/fsck-test/small-disk/fsck.ocfs2.11.stdout
%{_installdir}/workfiles/fsck-test/small-disk/fsck.ocfs2.12.stdout
%{_installdir}/workfiles/fsck-test/small-disk/fsck.ocfs2.13.stdout
%{_installdir}/workfiles/fsck-test/small-disk/fsck.ocfs2.14.stdout
%{_installdir}/workfiles/fsck-test/small-disk/fsck.ocfs2.15.stdout
%{_installdir}/workfiles/fsck-test/small-disk/fsck.ocfs2.16.stdout
%{_installdir}/workfiles/fsck-test/small-disk/fsck.ocfs2.17.stdout
%{_installdir}/workfiles/fsck-test/small-disk/fsck.ocfs2.18.stdout
%{_installdir}/workfiles/fsck-test/small-disk/fsck.ocfs2.19.stdout
%{_installdir}/workfiles/fsck-test/small-disk/fsck.ocfs2.20.stdout
%{_installdir}/workfiles/fsck-test/small-disk/fsck.ocfs2.21.stdout
%{_installdir}/workfiles/fsck-test/small-disk/fsck.ocfs2.22.stdout
%{_installdir}/workfiles/fsck-test/small-disk/fsck.ocfs2.23.stdout
%{_installdir}/workfiles/fsck-test/small-disk/fsck.ocfs2.24.stdout
%{_installdir}/workfiles/fsck-test/small-disk/fsck.ocfs2.25.stdout
%{_installdir}/workfiles/fsck-test/small-disk/fsck.ocfs2.26.stdout
%{_installdir}/workfiles/fsck-test/small-disk/fsck.ocfs2.27.stdout
%{_installdir}/workfiles/fsck-test/small-disk/fsck.ocfs2.28.stdout
%{_installdir}/workfiles/fsck-test/small-disk/fsck.ocfs2.29.stdout
%{_installdir}/workfiles/fsck-test/small-disk/fsck.ocfs2.30.stdout
%{_installdir}/workfiles/fsck-test/small-disk/fsck.ocfs2.31.stdout
%{_installdir}/workfiles/fsck-test/small-disk/fsck.ocfs2.32.stdout
%{_installdir}/workfiles/fsck-test/small-disk/fsck.ocfs2.33.stdout
%{_installdir}/workfiles/fsck-test/small-disk/fsck.ocfs2.34.stdout
%{_installdir}/workfiles/fsck-test/small-disk/fsck.ocfs2.35.stdout
%{_installdir}/workfiles/fsck-test/small-disk/fsck.ocfs2.36.stdout
%{_installdir}/workfiles/fsck-test/small-disk/fsck.ocfs2.37.stdout
%{_installdir}/workfiles/fsck-test/small-disk/fsck.ocfs2.38.stdout
%{_installdir}/workfiles/fsck-test/small-disk/fsck.ocfs2.39.stdout
%{_installdir}/workfiles/fsck-test/small-disk/fsck.ocfs2.40.stdout
%{_installdir}/workfiles/fsck-test/small-disk/fsck.ocfs2.41.stdout
%{_installdir}/workfiles/fsck-test/small-disk/fsck.ocfs2.42.stdout
%{_installdir}/workfiles/fsck-test/small-disk/fsck.ocfs2.43.stdout
%{_installdir}/workfiles/fsck-test/small-disk/fsck.ocfs2.clean.stdout
%doc README
#%files devel-static
#%defattr(644,%{uname},%{gname})
#%{_installdir}/%{_libdir}/libocfs2test.a