239 lines
5.7 KiB
RPMSpec
239 lines
5.7 KiB
RPMSpec
#
|
|
# otopi -- plugable installer
|
|
#
|
|
|
|
%global package_version 1.9.4
|
|
%global package_maven_version 1.9.4
|
|
|
|
%global _use_maven 1
|
|
%global _use_repolib 0
|
|
%global maven2brewrepodir %{_javadir}/repository.jboss.com/maven2-brew/dummy
|
|
%global _configure ../configure
|
|
|
|
%global src_java_dir src/java
|
|
|
|
Summary: oVirt Task Oriented Pluggable Installer/Implementation (%{name})
|
|
Name: otopi
|
|
Version: 1.9.4
|
|
Release: 1
|
|
License: LGPLv2+
|
|
URL: http://www.ovirt.org
|
|
Source0: http://resources.ovirt.org/pub/src/%{name}/%{name}-%{package_version}.tar.gz
|
|
Group: Development/Libraries
|
|
|
|
BuildArch: noarch
|
|
|
|
BuildRequires: apache-commons-logging
|
|
BuildRequires: java-devel
|
|
BuildRequires: junit
|
|
BuildRequires: gettext >= 0.18.2
|
|
BuildRequires: javapackages-tools
|
|
|
|
BuildRequires: python%{python3_pkgversion}-devel
|
|
|
|
|
|
%if %{_use_maven}
|
|
BuildRequires: maven-compiler-plugin
|
|
BuildRequires: maven-enforcer-plugin
|
|
BuildRequires: maven-install-plugin
|
|
BuildRequires: maven-jar-plugin
|
|
BuildRequires: maven-source-plugin
|
|
BuildRequires: maven-surefire-provider-junit
|
|
BuildRequires: maven-local
|
|
%endif
|
|
|
|
%description
|
|
Standalone plugin based installation framework to be used to setup
|
|
system components. The plugin nature provides simplicity to
|
|
add new installation functionality without the complexity of the state
|
|
and transaction management.
|
|
|
|
|
|
%package -n python%{python3_pkgversion}-%{name}
|
|
Summary: %{summary}
|
|
%{?python_provide:%python_provide python%{python3_pkgversion}-%{name}}
|
|
Requires: python%{python3_pkgversion} >= 3.6.0
|
|
Requires: python%{python3_pkgversion}-dateutil
|
|
Requires: %{name}-common = %{version}-%{release}
|
|
|
|
# If we build for python3, but not for python2, let the python3 version
|
|
# provide 'otopi'.
|
|
|
|
%description -n python%{python3_pkgversion}-%{name}
|
|
%{summary}.
|
|
|
|
Python %{python3_pkgversion} version.
|
|
|
|
%package -n python%{python3_pkgversion}-otopi-devtools
|
|
Summary: %{name} development tools
|
|
Requires: python%{python3_pkgversion}-%{name} = %{version}-%{release}
|
|
|
|
%description -n python%{python3_pkgversion}-otopi-devtools
|
|
Development tools for %{name}.
|
|
|
|
Python %{python3_pkgversion} version.
|
|
|
|
|
|
%package common
|
|
Summary: Commong files for %{name}
|
|
|
|
%description common
|
|
%{summary}
|
|
|
|
%package java
|
|
Summary: %{name} java support
|
|
Requires: %{name} = %{version}-%{release}
|
|
Requires: java-headless
|
|
Requires: apache-commons-logging
|
|
|
|
%description java
|
|
java libraries.
|
|
|
|
%if %{_use_maven}
|
|
%package javadoc
|
|
Summary: Javadocs for %{name}
|
|
Group: Documentation
|
|
|
|
%description javadoc
|
|
This package contains the API documentation for %{name}.
|
|
%endif
|
|
|
|
%package debug-plugins
|
|
Summary: %{name} debug plugins
|
|
Requires: %{name} = %{version}-%{release}
|
|
|
|
%description debug-plugins
|
|
Debug plugins for %{name}.
|
|
|
|
%if 0%{?_use_repolib:1}
|
|
%package repolib
|
|
Summary: %{name} maven repo
|
|
%description repolib
|
|
%{name} maven repo
|
|
%endif
|
|
|
|
%prep
|
|
%setup -q -n %{name}-%{package_version}
|
|
%pom_remove_plugin :maven-javadoc-plugin src/java/pom.xml.in
|
|
%pom_remove_plugin :nexus-staging-maven-plugin src/java/pom.xml.in
|
|
mkdir py3
|
|
|
|
%build
|
|
%if %{_use_maven}
|
|
%global conf --disable-java-sdk-compile
|
|
%else
|
|
%global conf COMMONS_LOGGING_JAR=$(build-classpath commons-logging) JUNIT_JAR=$((build-classpath junit4 || build-classpath junit) | sed '/^$/d')
|
|
%endif
|
|
|
|
|
|
pushd py3
|
|
# Build python but don't touch java
|
|
%configure PYTHON="%{__python3}" \
|
|
--docdir="%{_docdir}/%{name}-%{version}" \
|
|
--disable-python-syntax-check \
|
|
--disable-java-sdk-compile \
|
|
--with-local-version="%{name}-%{version}-%{release}" \
|
|
%{?conf}
|
|
make %{?_smp_mflags}
|
|
popd
|
|
|
|
|
|
|
|
# This takes care of codegen for java and building java
|
|
# We don't really care about which version of python is used to generate
|
|
# java code since the generated code is not depending on interpreter version.
|
|
./configure \
|
|
--docdir="%{_docdir}/%{name}-%{version}" \
|
|
--disable-python-syntax-check \
|
|
--enable-java-sdk \
|
|
--with-local-version="%{name}-%{version}-%{release}" \
|
|
%{?conf}
|
|
make %{?_smp_mflags}
|
|
|
|
|
|
%if %{_use_maven}
|
|
pushd %{src_java_dir}
|
|
%mvn_build
|
|
popd
|
|
%endif
|
|
|
|
|
|
%install
|
|
|
|
make -C py3 %{?_smp_mflags} install DESTDIR="%{buildroot}"
|
|
|
|
|
|
# Point to otopi2 binaries by default
|
|
|
|
%if %{_use_maven}
|
|
pushd %{src_java_dir}
|
|
%mvn_install
|
|
popd
|
|
%else
|
|
install -d "%{buildroot}%{_javadir}/%{name}"
|
|
install -m 644 target/%{name}-%{package_maven_version}.jar "%{buildroot}%{_javadir}/%{name}"
|
|
ln -s %{name}-%{package_maven_version}.jar "%{buildroot}%{_javadir}/%{name}/%{name}.jar"
|
|
cat > %{src_java_dir}/.mfiles << __EOF__
|
|
%{_javadir}/%{name}/
|
|
__EOF__
|
|
%endif
|
|
|
|
%if %{_use_repolib}
|
|
install -d "%{buildroot}%{maven2brewrepodir}"
|
|
cp "%{buildroot}%{_javadir}/%{name}/%{name}.jar" "%{buildroot}%{maven2brewrepodir}/%{name}-%{package_maven_version}.jar"
|
|
cp %{src_java_dir}/pom.xml "%{buildroot}%{maven2brewrepodir}/%{name}-%{package_maven_version}.pom"
|
|
%endif
|
|
|
|
install -d -m 755 "%{buildroot}%{_sysconfdir}/%{name}.conf.d"
|
|
%find_lang %{name}
|
|
|
|
|
|
%files -n python%{python3_pkgversion}-%{name}
|
|
%doc AUTHORS
|
|
%license COPYING
|
|
%license LICENSE
|
|
%doc README
|
|
%doc README.API
|
|
%doc README.config-query
|
|
%doc README.debug-plugins
|
|
%doc README.dialog
|
|
%doc README.environment
|
|
%exclude %{python3_sitelib}/%{name}/codegen/
|
|
%{python3_sitelib}/%{name}/
|
|
|
|
|
|
%files common -f %{name}.lang
|
|
%dir %{_datadir}/%{name}
|
|
%dir %{_datadir}/%{name}/plugins
|
|
%dir %{_sysconfdir}/%{name}.conf.d
|
|
%{_sbindir}/%{name}
|
|
%{_bindir}/%{name}-config-query
|
|
%{_datadir}/%{name}/scripts/
|
|
%{_datadir}/%{name}/plugins/%{name}/
|
|
%{_datadir}/%{name}/%{name}-bundle
|
|
%{_datadir}/%{name}/%{name}-functions
|
|
%exclude %{_datadir}/%{name}/plugins/%{name}/debug/
|
|
|
|
%files java -f %{src_java_dir}/.mfiles
|
|
|
|
%if %{_use_maven}
|
|
%files javadoc -f %{src_java_dir}/.mfiles-javadoc
|
|
%endif
|
|
|
|
|
|
%files -n python%{python3_pkgversion}-otopi-devtools
|
|
%{python3_sitelib}/%{name}/codegen/
|
|
|
|
|
|
%files debug-plugins
|
|
%{_datadir}/%{name}/plugins/%{name}/debug/
|
|
|
|
%if %{_use_repolib}
|
|
%files repolib
|
|
%{maven2brewrepodir}/
|
|
%endif
|
|
|
|
%changelog
|
|
* Mon Jul 05 2021 lijunwei <lijunwei@kylinos.cn> - 1.9.4-1
|
|
- Init package
|