File par2.spec of Package par2
Name: par2
Version: 0.4
Release: 0
URL: http://sourceforge.net/projects/parchive/
Source: par2cmdline-%{version}.tar.bz2
Source2: Makefile.TEST
Patch: par2-fix-compile.diff
Patch2: meminit.diff
Group: System/Backup
License: GPL-2.0
BuildRequires: gcc-c++ libstdc++-devel dos2unix automake
Summary: Create and use partiy files to secure data against loss
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
par2 is a program for creating and using PAR2 files to detect
damage in data files and repair them if necessary. It can be used with
any kind of file.
Author:
Peter Brian Clements <peterbclements@users.sourceforge.net>
%prep
%setup -n par2cmdline-%{version}
dos2unix ChangeLog AUTHORS ROADMAP README
chmod -x ChangeLog AUTHORS ROADMAP README
%patch -p1
%patch2 -p1
autoreconf -fi
%configure
cp -p %SOURCE2 .
%build
CXXFLAGS="$RPM_OPT_FLAGS -O3 -Wno-parentheses -Werror -funroll-loops"
%if 0%{?suse_version} >= 1010
CXXFLAGS="$CXXFLAGS -ftree-vectorize"
PROFILE_GENERATE="-fprofile-generate"
PROFILE_USE="-fprofile-use"
%endif
%ifarch x86_64
CXXFLAGS="$CXXFLAGS -momit-leaf-frame-pointer"
%endif
%ifarch %ix86
CXXFLAGS="$CXXFLAGS -momit-leaf-frame-pointer -mmmx"
%endif
make CXXFLAGS="$CXXFLAGS $PROFILE_GENERATE"
if test -n "$PROFILE_GENERATE"; then
%if 0%{?suse_version >= 1240}
make -f Makefile.TEST check-TESTS
%else
make check || cat test-suite.log
%endif
make clean
make CXXFLAGS="$CXXFLAGS $PROFILE_USE"
fi
%check
%if 0%{?suse_version >= 1240}
make -f Makefile.TEST check-TESTS
%else
make check || cat test-suite.log
%endif
%install
make install DESTDIR=$RPM_BUILD_ROOT
%files
%defattr(-,root,root)
/usr/bin/par2
/usr/bin/par2create
/usr/bin/par2repair
/usr/bin/par2verify
#%defattr(0644,root,root)
%doc README AUTHORS ROADMAP ChangeLog
%changelog
* Tue Jun 25 2019 kurt@garloff.de
- Avoid initializing array with memset (meminit.diff)
- Avoid compiler warning for non-null address of variable
* Sat Mar 21 2009 kurt@garloff.de
- Feedback/Profile Guided Optimizations
- Clean up permissions
* Fri Mar 20 2009 kurt@garloff.de
- Initial creation of package.
- Fix compilation (missing template<>).
- Fix struct packing (missing attr((packed))).