%global profile_d_dir %{_sysconfdir}/profile.d %global prj_javadir %{_javadir}/%{name} %global module_name zanata-cli %global shortname client %global submodule_rest zanata-rest-%{shortname} %global submodule_commands zanata-%{shortname}-commands %global submodule_cli zanata-cli %global java_ver_min 1.8.0 Name: %{module_name}-bin Version: 4.6.2 Release: 1%{?dist} Summary: Zanata client module from binary zip Group: Development/Tools License: LGPLv2+ URL: https://github.com/zanata/zanata-client Source0: https://repo1.maven.org/maven2/org/zanata/%{module_name}/%{version}/%{module_name}-%{version}-dist.zip BuildArch: noarch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) # Gawk for modify the REPO BuildRequires: gawk BuildRequires: jpackage-utils Requires: jpackage-utils # Some openjdk-devel RPM does not provide java-devel BuildRequires: java-%{java_ver_min}-openjdk-devel # SSL store does not work with non-openjdk anyway Requires: java-%{java_ver_min}-openjdk # Provide the same as zanata-client Fedora does Provides: zanata-client = %{version}-%{release} %description Zanata client modules. Holds most of Zanata's client code, including Zanata CLI. It also contains REST stub for interacting with a Zanata server. Note that this package is packed from binary, thus cannot go in official Fedora repo. %prep %setup -q -n %{module_name}-%{version} %{__sed} -i 's/\r//' COPYING.LESSER %{__sed} -i 's/\r//' COPYING.GPL %clean %__rm -rf %{buildroot} %build # Insert BASEDIR and REPO definition awk '/if [ -z "$REPO" ]/ {print "BASEDIR=%{prj_javadir}\nREPO=%{prj_javadir}"; print; next }1' bin/%{module_name} > bin/%{module_name}.new %install %__rm -rf %{buildroot} ## zanata-cli wrapper %__mkdir -p %{buildroot}%{_bindir} cat < %{buildroot}%{_bindir}/%{module_name} #!/bin/bash EXIT_FATAL_MISSING_DEPENDENCY=4 declare -a JreVerArray IFS="._" read -r -a JreVerMinArray <<< "%{java_ver_min}" function check_java_home(){ local javaHome=\$1 local javaCmd if [ -x \$javaHome/bin/java ];then javaCmd=\$javaHome/bin/java elif [ -x \$javaHome/jre/bin/java ];then javaCmd=\$javaHome/jre/bin/java else ## No executable in javaHome return 1 fi jreVer=\$(\$javaCmd -version |& sed -n -e '/version/ s/.*"\(.*\)"/\1/ p') IFS="._" read -r -a JreVerArray <<< "\$jreVer" for (( i=0; i< \${#JreVerMinArray[@]}; i++)) ;do if [ \${JreVerArray[\$i]} -gt \${JreVerMinArray[\$i]} ];then ## Version is newer return 0 elif [ \${JreVerArray[\$i]} -lt \${JreVerMinArray[\$i]} ];then ## Version is older return 1 fi done ## version is equal return 0 } JAVA_HOME_ORIG="\$JAVA_HOME" JAVA_HOME= for JavaHome in "\$JAVA_HOME_ORIG" /etc/alternatives/jre_%{java_ver_min}; do if check_java_home "\$JavaHome" ; then JAVA_HOME=\$JavaHome fi done if [ -z "\$JAVA_HOME" ];then echo "JRE %{java_ver_min} is not found. Please install it or specify JAVA_HOME" > /dev/stderr exit \$EXIT_FATAL_MISSING_DEPENDENCY fi export JAVA_HOME %{_libexecdir}/zanata-cli "\$@" END chmod 755 %{buildroot}%{_bindir}/%{module_name} %__mkdir -p %{buildroot}%{_libexecdir} %__install -pm 755 bin/%{module_name}.new %{buildroot}/%{_libexecdir}/%{module_name} %__mkdir -p %{buildroot}%{_sysconfdir}/bash_completion.d %__install -pm 644 bin/%{module_name}-completion %{buildroot}%{_sysconfdir}/bash_completion.d/%{module_name}-completion %__mkdir -p %{buildroot}%{prj_javadir} %__install -pm 644 lib/*.jar %{buildroot}%{prj_javadir} %files %defattr(-,root,root,-) %doc COPYING.GPL COPYING.LESSER %{_bindir}/%{module_name} %{_libexecdir}/%{module_name} %{prj_javadir} %config %{_sysconfdir}/bash_completion.d/%{module_name}-completion %changelog * Wed Sep 05 2018 noreply@zanata.org 4.6.2-1 - Upgrade to upstream version 4.6.2 * Mon Sep 03 2018 noreply@zanata.org 4.6.1-1 - Upgrade to upstream version 4.6.1 * Mon Aug 13 2018 Ding-Yi Chen 4.6.0-1 - Upgrade to upstream version 4.6.0 * Mon Jun 25 2018 Ding-Yi Chen 4.5.0-1 - Upgrade to upstream version 4.5.0 * Wed Feb 07 2018 Ding-Yi Chen 4.4.3-1 - Upgrade to upstream version 4.4.3 * Thu Feb 01 2018 Ding-Yi Chen 4.4.1-1 - Upgrade to upstream version 4.4.1 * Tue Jan 30 2018 Ding-Yi Chen 4.4.0-1 - Upgrade to upstream version 4.4.0 * Mon Jan 22 2018 Ding-Yi Chen 4.3.3-1 - Upgrade to upstream version 4.3.3 * Mon Jan 22 2018 Ding-Yi Chen 4.3.1-1 - Upgrade to upstream version 4.3.1 * Wed Nov 01 2017 Ding-Yi Chen 4.3.0-1 - Upgrade to upstream version 4.3.0 * Tue Jun 20 2017 Ding-Yi Chen 4.2.1-1 - Upgrade to upstream version 4.2.1 * Fri Jun 17 2016 Ding-Yi Chen 3.9.1-1 - Upgrade to upstream version 3.9.1 * Thu May 12 2016 Ding-Yi Chen 3.9.0-1 - Upgrade to upstream version 3.9.0 * Wed Apr 20 2016 Ding-Yi Chen 3.8.4-2 - Force to use java-1.8.0-openjdk, for + Some openjdk-devel RPM does not provide java-devel + SSL store does not work with non-openjdk anyway * Tue Apr 19 2016 Ding-Yi Chen 3.8.4-1 - Upgrade to upstream version 3.8.4 * Wed Dec 09 2015 Ding-Yi Chen 3.8.1-5 - Use java instead of java-headless, as java-headless does not seem to pull java 1.8 * Wed Nov 25 2015 Ding-Yi Chen 3.8.1-4 - Fix /usr/bin/zanata-cli for EL6 - Fix rpmlint warning no-cleaning-of-buildroot, no-buildroot-tag * Wed Nov 25 2015 Ding-Yi Chen 3.8.1-3 - Fix the /usr/bin/zanata-cli - The actual zanata-cli is moved to /usr/libexec * Tue Nov 24 2015 Ding-Yi Chen 3.8.1-2 - Fix when default JRE is not 1.8.0 * Mon Nov 23 2015 Ding-Yi Chen 3.8.1-1 - Upgrade to upstream version 3.8.1 * Mon Aug 10 2015 Ding-Yi Chen 3.7.4-1 - Upgrade to upstream version 3.7.4 * Tue Jul 21 2015 Ding-Yi Chen 3.7.3-2 - Remove epoch * Mon Jul 20 2015 Ding-Yi Chen 3.7.3-1 - Upgrade to upstream version 3.7.3 * Mon Jan 19 2015 Ding-Yi Chen - 3.6.0 - Initial packaging.