# Binary package, no debuginfo should be generated %global debug_package %{nil} %define doc_license %{nil} %define doc_license 1 %if 0%{?rhel}%{?fedora} %if 0%{?rhel} %if 0%{?rhel} < 7 %define doc_license 0 %endif %else %if 0%{?fedora} < 19 %define doc_license 0 %endif %endif %endif %define license_files LICENSE %define scl_maven3 %{nil} %if 0%{?rhel} %if 0%{?rhel} <= 6 # Error: No Package found for maven >= 3.0 # Error: No Package found for mvn(org.apache.maven.plugins:maven-gpg-plugin) %define scl_maven3 30 %endif %endif Name: delta-updater Version: 1.1.3 Release: 2%{?dist} Summary: A binary file delta generator Summary(pl): Narzędzie do tworzenia binarnych łatek różnicowych License: MIT and LGPLv2 #Vendor: Alex Kasko #Packager: Tomasz Tomasik Group: Development/Tools URL: https://github.com/alexkasko/delta-updater #Source0: https://github.com/alexkasko/delta-updater/archive/1.1.3.tar.gz Source0: https://github.com/alexkasko/%{name}/archive/%{version}.tar.gz %define minjavaver 1.6 BuildArch: noarch BuildRequires: bash >= 4.0 #BuildRequires: java-1.8.0-openjdk BuildRequires: java >= %{minjavaver} #BuildRequires: java-1.8.0-openjdk-devel BuildRequires: java-devel >= %{minjavaver} %if 0%{?scl_maven3} BuildRequires: maven%{scl_maven3}-maven >= 3.0 BuildRequires: maven%{scl_maven3}-maven-gpg-plugin %else BuildRequires: maven >= 3.0 #BuildRequires: maven-gpg-plugin BuildRequires: mvn(org.apache.maven.plugins:maven-gpg-plugin) %endif Requires: bash >= 4.0 #Requires: java-1.8.0-openjdk Requires: java >= %{minjavaver} Provides: delta-diff = %{?epoch:%{epoch}:}%{version}-%{release} Provides: delta-patch = %{?epoch:%{epoch}:}%{version}-%{release} %define optrootdir /opt/%{name} %define optbindir %{optrootdir}/%{name}-%{version} %define localbindir /usr/local/bin %description Utilities and library for creating and applying binary patches to file system directories. It's based on Javaxdelta library - java implementation of xdelta binary diff algorithm. GDIFF format is used for patches. Note: javaxdelta depends on GNU Trove 1.0.2 library which is released under the LGPL license. This project is released under the MIT License (the same license is used by javaxdelta project). %description -l pl Narzędzia i biblioteki do tworzenia i nakładania binarnych łatek różnicowych na katalogi w systemie plików. Projekt bazuje na bibliotece Javaxdelta - implentacji algorytmu binarnych łatek różnicowych xdelta dla języka Java. W łatkach wykorzystywany jest format GDIFF. Uwaga: javaxdelta zależy od biblioteki GNU Trove 1.0.2 która została wydana na licencji LGPL. Ten projekt został wydany na licencji MIT (takiej samej licencji jaka jest używana przez projekt javaxdelta). %prep %setup -q -n %{name}-%{version} %build %if 0%{?scl_maven3} if [[ -f /opt/rh/maven%{?scl_maven3}/enable ]]; then source /opt/rh/maven%{?scl_maven3}/enable fi %endif mvn clean install -Dgpg.skip=true %install mkdir -p %{buildroot}/%{optbindir}/delta-{diff,patch}/lib mkdir -p %{buildroot}/%{localbindir} for app in {delta-diff,delta-patch}; do install "${app}/target/${app}-%{version}-distr/${app}.jar" "%{buildroot}/%{optbindir}/${app}/" install "${app}/target/${app}-%{version}-distr/lib/"* "%{buildroot}/%{optbindir}/${app}/lib/" cat > "%{buildroot}/%{optbindir}/${app}/${app}.bash" << EOF #!/usr/bin/env bash appdir="\$( dirname "\$( readlink -f "\${0}" )" )" java="java" "\${java}" -jar "\${appdir}/${app}.jar" "\${@}" EOF pushd "%{buildroot}/%{optbindir}/${app}" chmod +x "${app}.bash" ln -s "${app}.bash" "${app}" popd pushd "%{buildroot}/%{localbindir}" ln -s "%{optbindir}/${app}/${app}" . popd done #pushd "%{buildroot}/%{optrootdir}" #ln -s "%{name}-%{version}" "%{name}" #popd %post -p /sbin/ldconfig %postun -p /sbin/ldconfig %files %if 0%{?doc_license} %license %{license_files} %else %doc %{license_files} %endif %doc README.md #%{optrootdir} %{optbindir} %{localbindir}/delta-diff %{localbindir}/delta-patch %changelog * Fri Oct 27 2017 Tomasz Tomasik - 1.1.3-2 - Use maven30-maven from SCL for EL6. - Use license macro. * Fri Oct 07 2016 Tomasz Tomasik - 1.1.3-1 - Initial SPEC file.