#
# spec file for package vpp
#
-# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
%define _vpp_build_dir %{buildroot}/../../BUILD/vpp-%{version}/build-root
%define _vpp_install_dir %{_vpp_build_dir}/install-vpp-native/
-%define _vpp_plugins_lib_dir %{_vpp_install_dir}/vpp/lib64
+%define _vpp_plugins_lib_dir %{_vpp_install_dir}/vpp/lib
%define lname libvpp0
BuildRequires: chrpath
BuildRequires: distribution-release
BuildRequires: gcc
+BuildRequires: gcc-c++
+BuildRequires: glibc-devel
BuildRequires: glibc-devel-static
-BuildRequires: java-1_8_0-openjdk-devel
+BuildRequires: java-devel >= 1.8
+BuildRequires: libboost_headers-devel
+BuildRequires: libboost_thread-devel
BuildRequires: libnuma-devel
BuildRequires: libopenssl-devel
BuildRequires: libtool
BuildRequires: lsb-release
BuildRequires: make
+BuildRequires: mbedtls-devel
BuildRequires: openssl-devel
BuildRequires: python-devel
BuildRequires: python-pip
BuildRequires: python-rpm-macros
+BuildRequires: python2-ply
BuildRequires: python3-devel
BuildRequires: python3-pip
BuildRequires: shadow
Group: Development/Libraries/Other
Requires: %{lname} = %{version}
Requires: %{name} = %{version}
+Requires: %{name}-devel = %{version}
Conflicts: otherproviders(%{name}-any-api-lua)
Provides: %{name}-any-api-lua = %{version}
Group: Development/Libraries/Java
Requires: %{lname} = %{version}
Requires: %{name} = %{version}
+Requires: %{name}-devel = %{version}
Conflicts: otherproviders(%{name}-any-api-java)
Provides: %{name}-any-api-java = %{version}
Group: Development/Libraries/Python
Requires: %{lname} = %{version}
Requires: %{name} = %{version}
+Requires: %{name}-devel = %{version}
Requires: python-setuptools
Conflicts: otherproviders(%{name}-any-python-api)
Provides: %{name}-any-python-api = %{version}
export VPP_BUILD_USER=suse
export VPP_BUILD_HOST=SUSE
-make V=1 PLATFORM=vpp bootstrap
-make V=1 PLATFORM=vpp build-release
+make -C build-root V=1 CC=gcc-7 CXX=g++-7 PLATFORM=vpp TAG=vpp install-packages
cd %{_vpp_build_dir}/../src/vpp-api/python && %{py2_build}
#
mkdir -p -m755 %{buildroot}%{_datadir}/vpp/api
install -p -m 644 %{_vpp_install_dir}/vpp/share/vpp/api/core/*.api.json %{buildroot}%{_datadir}/vpp/api
-install -p -m 644 %{_vpp_install_dir}/vpp/share/vpp/api/plugins/*.api.json %{buildroot}%{_datadir}/vpp/api
+
#
# configs
#
mkdir -p -m755 %{buildroot}%{_libdir}
mkdir -p -m755 %{buildroot}%{_sysconfdir}/bash_completion.d
mkdir -p -m755 %{buildroot}%{_datadir}/vpp
-for file in $(find %{_vpp_install_dir}/*/lib* -type f -name '*.so.*.*.*' -print )
+for file in $(find %{_vpp_install_dir}/*/lib* -type f -name '*.so.*.*' -print )
do
install -p -m 755 $file %{buildroot}%{_libdir}
done
do
install -p -m 644 $file %{buildroot}%{_datadir}/vpp/api
done
-install -p -m 644 %{_vpp_build_dir}/../src/scripts/vppctl_completion %{buildroot}%{_sysconfdir}/bash_completion.d
-install -p -m 644 %{_vpp_build_dir}/../src/scripts/vppctl-cmd-list %{buildroot}%{_datadir}/vpp
# Lua bindings
mkdir -p -m755 %{buildroot}%{_datadir}/doc/vpp/examples/lua/examples/cli
# Java bindings
mkdir -p -m755 %{buildroot}%{_datadir}/java
-for file in $(find %{_vpp_install_dir}/vpp/share/java -type f -name '*.jar' -print )
+for file in $(find %{_vpp_install_dir}/japi/share/java -type f -name '*.jar' -print )
do
install -p -m 644 $file %{buildroot}%{_datadir}/java
done
done
mkdir -p -m755 %{buildroot}%{python_sitelib}/jvppgen
-install -p -m755 %{_vpp_build_dir}/../src/vpp-api/java/jvpp/gen/jvpp_gen.py %{buildroot}%{_prefix}/bin
-for i in $(ls %{_vpp_build_dir}/../src/vpp-api/java/jvpp/gen/jvppgen/*.py); do
+install -p -m755 %{_vpp_build_dir}/../extras/japi/java/jvpp/gen/jvpp_gen.py %{buildroot}%{_prefix}/bin
+for i in $(ls %{_vpp_build_dir}/../extras/japi/java/jvpp/gen/jvppgen/*.py); do
install -p -m755 ${i} %{buildroot}%{python_sitelib}/jvppgen
done;
%{buildroot}/%{_libdir}/vpp_api_test_plugins/$file
done
-for file in $(find %{_vpp_install_dir}/plugins -type f -name '*.api.json' -print )
+for file in $(find %{_vpp_install_dir}/vpp/share/vpp/api/plugins -type f -name '*.api.json' -print )
do
install -p -m 644 $file %{buildroot}%{_datadir}/vpp/api
done
%dir %{_sysconfdir}/vpp
%config %{_sysconfdir}/sysctl.d/80-vpp.conf
%config %{_sysconfdir}/vpp/startup.conf
-%{_sysconfdir}/bash_completion.d/vppctl_completion
-%{_datadir}/vpp/vppctl-cmd-list
-%doc LICENSE
+%license LICENSE
%files -n %{lname}
%exclude %{_libdir}/vpp_plugins