ft_utils/ft_utils.spec
2023-12-21 14:42:32 +08:00

115 lines
3.8 KiB
RPMSpec

# Copyright (c) 2023 Huawei Technologies Co., Ltd. All rights reserved.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
%global debug_package %{nil}
%define with_eventhandler_lib 0
%define with_ko 1
Name: ft_utils
Version: 1.0.0
Release: 3%{?dist}
Summary: common library
License: Apache-2.0
URL: https://gitee.com/openeuler/ft_utils
Source0: https://gitee.com/openeuler/ft_utils/repository/archive/ft_utils-1.0.0.tar.gz
Source1: https://gitee.com/openeuler/ft_utils/repository/archive/kernel_binder.tar.gz
Patch0: 0001-update-kernel-dir-in-makefile.patch
BuildRequires: clang python3 python3-pip python-toml tar cmake ninja-build compiler-rt
BuildRequires: llvm-devel
BuildRequires: kernel-devel uname-build-checks
BuildRequires: distributed-build distributed-beget distributedhardware_device_manager
BuildRequires: commonlibrary_c_utils
BuildRequires: notification_eventhandler
BuildRequires: communication_ipc communication_dsoftbus
BuildRequires: security_device_auth security_huks security_device_security_level security_dataclassification
BuildRequires: systemabilitymgr_safwk systemabilitymgr_samgr
BuildRequires: git
Requires: compiler-rt llvm-devel python3
Requires: distributed-beget distributedhardware_device_manager
Requires: commonlibrary_c_utils
Requires: notification_eventhandler
Requires: communication_ipc communication_dsoftbus
Requires: security_device_auth security_huks security_device_security_level security_dataclassification
Requires: systemabilitymgr_safwk systemabilitymgr_samgr
%description
ft_utils module is a base commom library for ft_engine.
%prep
%setup -q -D -T -a 0 -c -n %{_builddir}
%setup -q -D -T -a 1 -c -n %{_builddir}
%patch -P0 -p1 -d %{_builddir}/kernel_binder
%build
%if 0%{?with_eventhandler_lib}
cd %{_builddir}/%{name}-%{version}
./build.sh
%endif
%if 0%{?with_ko}
cd %{_builddir}/kernel_binder
./project.sh makeall
%endif
%install
%if 0%{?with_eventhandler_lib}
mkdir -p %{buildroot}%{_libdir}
%ifarch x86_64
cp -pdf %{_builddir}/%{name}-%{version}/out/Debug/x64/common/common/lib*.so %{buildroot}%{_libdir}
%endif
%ifarch aarch64
cp -pdf %{_builddir}/%{name}-%{version}/out/Debug/aarch64/common/common/lib*.so %{buildroot}%{_libdir}
%endif
%endif
mkdir -p %{buildroot}/usr/include/ft/event_loop
cp -pdf %{_builddir}/%{name}-%{version}/event_loop/includes/*.h %{buildroot}/usr/include/ft/event_loop
%if 0%{?with_ko}
mkdir -p %{buildroot}/usr/share/sa
cp -pdf %{_builddir}/kernel_binder/binder/src/binder_linux.ko %{buildroot}/usr/share/sa
cp -pdf %{_builddir}/kernel_binder/ashmem/src/ashmem_linux.ko %{buildroot}/usr/share/sa
cp -pdf %{_builddir}/kernel_binder/ft.pp %{buildroot}/usr/share/sa
%endif
%clean
rm -rf %{buildroot}
%post
semodule -X 300 -i /usr/share/sa/ft.pp
insmod /usr/share/sa/ashmem_linux.ko
insmod /usr/share/sa/binder_linux.ko
chmod 666 /dev/binder
chmod 666 /dev/ashmem
%files
/usr/include/ft/event_loop/*
%if 0%{?with_ko}
/usr/share/sa/*
%endif
%changelog
* Fri Dec 15 2023 Paul Thomas <paulthomas100199@gmail.com> - 1.0.0-3
- add missing buildrequires
* Thu Dec 14 2023 Peng He <hepeng68@huawei.com> - 1.0.0-2
- Update kernel dir in makefile
* Mon Nov 6 2023 abc12133 <jinguoen@huawei.com> - 1.0.0-1
-