From 5be315fc97a7e5d8decd4112b92a7ccda6bfbd08 Mon Sep 17 00:00:00 2001 From: jackup <14697331+jackupdown@user.noreply.gitee.com> Date: Wed, 17 Jul 2024 02:42:02 +0000 Subject: [PATCH] add devkt-cli.spec. Signed-off-by: jackup <14697331+jackupdown@user.noreply.gitee.com> --- devkt-cli.spec | 305 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 305 insertions(+) create mode 100644 devkt-cli.spec diff --git a/devkt-cli.spec b/devkt-cli.spec new file mode 100644 index 0000000..846bd90 --- /dev/null +++ b/devkt-cli.spec @@ -0,0 +1,305 @@ +Name: devkit-cli +Summary: Huawei Kunpeng DevKit CLI +Version: 24.0.RC2 +Release: 1 +License: GPLv2 +ExclusiveOS: Linux +ExclusiveArch: aarch64 +Packager: Huawei Kunpeng DevKit +Vendor: Huawei Kunpeng DevKit +URL: https://www.hikunpeng.com +BuildRoot: %{_tmppath}/%{name}-%{version}-root +Conflicts: %{name} < %{version}-%{release} +Provides: %{name} = %{version}-%{release} +Source0: DevKit-CLI-%{version}-Linux-Kunpeng +Source1: devkit.sh +Prefix: /usr/local + +%description +This package contains the Huawei Kunpeng DevKit CLI + +%define devkit_name devkit +%define devkit_cli_pathname %{devkit_name} + +# 利用文件目录直接构建 默认setup会有权限修改 此处手动添加 +%prep +echo "downloading package..." +cd %{_sourcedir} +wget -P %{_sourcedir} https://kunpeng-repo.obs.cn-north-4.myhuaweicloud.com/Kunpeng%20DevKit/Kunpeng%20DevKit%20%{version}/DevKit-CLI-%{version}-Linux-Kunpeng.tar.gz +tar -zxf DevKit-CLI-%{version}-Linux-Kunpeng.tar.gz + +%global debug_package %{nil} +cp -ar %{SOURCE0} %{_builddir}/DevKit-CLI-%{version}-Linux-Kunpeng +chmod -Rf a+rX,u+w,g-w,o-w ./DevKit-CLI-%{version}-Linux-Kunpeng + +%build + +%clean +rm -rf %{buildroot} + +%package -n %{devkit_name} +Summary: DevKit CLI Entrance +Autoreq: no +Autoprov: no + +%description -n %{devkit_name} +This package contains the DevKit CLI Entrance + +%pre -n %{devkit_name} +if [[ "$1" = "1" || "$1" = "2" ]] ; then #1: install 2: update + if [ -L /usr/sbin/devkit ]; then + unlink /usr/sbin/devkit + fi + if [ -f ${RPM_INSTALL_PREFIX}/%{devkit_cli_pathname}/devkit ]; then + rm -f ${RPM_INSTALL_PREFIX}/%{devkit_cli_pathname}/devkit + fi + if [ -f ${RPM_INSTALL_PREFIX}/%{devkit_cli_pathname}/.devkit ]; then + rm -f ${RPM_INSTALL_PREFIX}/%{devkit_cli_pathname}/.devkit + fi + if [ -f ${RPM_INSTALL_PREFIX}/%{devkit_cli_pathname}/execute.ini ]; then + rm -f ${RPM_INSTALL_PREFIX}/%{devkit_cli_pathname}/execute.ini + fi + if [ -f ${RPM_INSTALL_PREFIX}/%{devkit_cli_pathname}/README_ZH.md ]; then + rm -f ${RPM_INSTALL_PREFIX}/%{devkit_cli_pathname}/README_ZH.md + fi + if [ -d ${RPM_INSTALL_PREFIX}/%{devkit_cli_pathname} ]; then + rm -rf ${RPM_INSTALL_PREFIX}/%{devkit_cli_pathname} + fi + if [ -f /etc/bash_completion.d/devkit.sh ]; then + rm -f /etc/bash_completion.d/devkit.sh + fi +fi + +%post -n %{devkit_name} +ln -sf ${RPM_INSTALL_PREFIX}/%{devkit_cli_pathname}/devkit /usr/sbin/devkit +echo "%{devkit_name} installed" + +%postun -n %{devkit_name} +if [[ "$1" = "0" ]] ; then #0: uninstall + if [ -L /usr/sbin/devkit ]; then + unlink /usr/sbin/devkit + fi + if [ -f ${RPM_INSTALL_PREFIX}/%{devkit_cli_pathname}/devkit ]; then + rm -f ${RPM_INSTALL_PREFIX}/%{devkit_cli_pathname}/devkit + fi + if [ -f ${RPM_INSTALL_PREFIX}/%{devkit_cli_pathname}/.devkit ]; then + rm -f ${RPM_INSTALL_PREFIX}/%{devkit_cli_pathname}/.devkit + fi + if [ -f ${RPM_INSTALL_PREFIX}/%{devkit_cli_pathname}/execute.ini ]; then + rm -f ${RPM_INSTALL_PREFIX}/%{devkit_cli_pathname}/execute.ini + fi + if [ -f ${RPM_INSTALL_PREFIX}/%{devkit_cli_pathname}/README_ZH.md ]; then + rm -f ${RPM_INSTALL_PREFIX}/%{devkit_cli_pathname}/README_ZH.md + fi + if [ -d ${RPM_INSTALL_PREFIX}/%{devkit_cli_pathname} ]; then + rm -rf ${RPM_INSTALL_PREFIX}/%{devkit_cli_pathname} + fi + if [ -f /etc/bash_completion.d/devkit.sh ]; then + rm -f /etc/bash_completion.d/devkit.sh + fi +fi +echo "%{devkit_name} uninstalled" + +%package -n %{devkit_name}-tuner +Summary: DevKit CLI Tuner Plugin +Requires: %{devkit_name} = %{version} +Autoreq: no +Autoprov: no + +%description -n %{devkit_name}-tuner +This package contains the DevKit CLI Tuner Plugin + +%pre -n %{devkit_name}-tuner +if [[ "$1" = "1" || "$1" = "2" ]] ; then #1: install 2: update + if [ -d ${RPM_INSTALL_PREFIX}/%{devkit_cli_pathname}/tuner ]; then + rm -rf ${RPM_INSTALL_PREFIX}/%{devkit_cli_pathname}/tuner + fi +fi + +%post -n %{devkit_name}-tuner +echo "%{devkit_name}-tuner installed" + +%postun -n %{devkit_name}-tuner +if [[ "$1" = "0" ]] ; then #2: update + if [ -d ${RPM_INSTALL_PREFIX}/%{devkit_cli_pathname}/tuner ]; then + rm -rf ${RPM_INSTALL_PREFIX}/%{devkit_cli_pathname}/tuner + fi +fi +echo "%{devkit_name}-tuner uninstalled" + +%package -n %{devkit_name}-java-perf +Summary: DevKit CLI java-perf Plugin +Requires: %{devkit_name} = %{version} +Autoreq: no +Autoprov: no + +%description -n %{devkit_name}-java-perf +This package contains the DevKit CLI java-perf Plugin + +%pre -n %{devkit_name}-java-perf +if [[ "$1" = "1" || "$1" = "2" ]] ; then #1: install 2: update + if [ -d ${RPM_INSTALL_PREFIX}/%{devkit_cli_pathname}/java-perf ]; then + rm -rf ${RPM_INSTALL_PREFIX}/%{devkit_cli_pathname}/java-perf + fi +fi + +%post -n %{devkit_name}-java-perf +echo "%{devkit_name}-java-perf installed" + +%postun -n %{devkit_name}-java-perf +if [[ "$1" = "0" ]] ; then #2: update + if [ -d ${RPM_INSTALL_PREFIX}/%{devkit_cli_pathname}/java-perf ]; then + rm -rf ${RPM_INSTALL_PREFIX}/%{devkit_cli_pathname}/java-perf + fi +fi +echo "%{devkit_name}-java-perf uninstalled" + +%package -n %{devkit_name}-porting +Summary: DevKit CLI Porting Plugin +Requires: %{devkit_name} = %{version} +Autoreq: no +Autoprov: no + +%description -n %{devkit_name}-porting +This package contains the DevKit CLI Porting Plugin + +%pre -n %{devkit_name}-porting +if [[ "$1" = "1" || "$1" = "2" ]] ; then #1: install 2: update + if [ -d ${RPM_INSTALL_PREFIX}/%{devkit_cli_pathname}/porting ]; then + rm -rf ${RPM_INSTALL_PREFIX}/%{devkit_cli_pathname}/porting + fi +fi + +%post -n %{devkit_name}-porting +echo "%{devkit_name}-porting installed" + +%postun -n %{devkit_name}-porting +if [[ "$1" = "0" ]] ; then #2: update + if [ -d ${RPM_INSTALL_PREFIX}/%{devkit_cli_pathname}/porting ]; then + rm -rf ${RPM_INSTALL_PREFIX}/%{devkit_cli_pathname}/porting + fi +fi +echo "%{devkit_name}-porting uninstalled" + +%package -n %{devkit_name}-sys-mig +Summary: DevKit CLI Sys-Mig Plugin +Requires: %{devkit_name} = %{version} +Autoreq: no +Autoprov: no + +%description -n %{devkit_name}-sys-mig +This package contains the DevKit CLI Sys-Mig Plugin + +%pre -n %{devkit_name}-sys-mig +if [[ "$1" = "1" || "$1" = "2" ]] ; then #1: install 2: update + if [ -d ${RPM_INSTALL_PREFIX}/%{devkit_cli_pathname}/sys-mig ]; then + rm -rf ${RPM_INSTALL_PREFIX}/%{devkit_cli_pathname}/sys-mig + fi +fi + +%post -n %{devkit_name}-sys-mig +echo "%{devkit_name}-sys-mig installed" + +%postun -n %{devkit_name}-sys-mig +if [[ "$1" = "0" ]] ; then #2: update + if [ -d ${RPM_INSTALL_PREFIX}/%{devkit_cli_pathname}/sys-mig ]; then + rm -rf ${RPM_INSTALL_PREFIX}/%{devkit_cli_pathname}/sys-mig + fi +fi +echo "%{devkit_name}-sys-mig uninstalled" + +%package -n %{devkit_name}-advisor +Summary: DevKit CLI Advisor Plugin +Requires: %{devkit_name} = %{version} +Autoreq: no +Autoprov: no + +%description -n %{devkit_name}-advisor +This package contains the DevKit CLI Advisor Plugin + +%pre -n %{devkit_name}-advisor +if [[ "$1" = "1" || "$1" = "2" ]] ; then #1: install 2: update + if [ -d ${RPM_INSTALL_PREFIX}/%{devkit_cli_pathname}/advisor ]; then + rm -rf ${RPM_INSTALL_PREFIX}/%{devkit_cli_pathname}/advisor + fi +fi + +%post -n %{devkit_name}-advisor +echo "%{devkit_name}-advisor installed" + +%postun -n %{devkit_name}-advisor +if [[ "$1" = "0" ]] ; then #2: update + if [ -d ${RPM_INSTALL_PREFIX}/%{devkit_cli_pathname}/advisor ]; then + rm -rf ${RPM_INSTALL_PREFIX}/%{devkit_cli_pathname}/advisor + fi +fi +echo "%{devkit_name}-advisor uninstalled" + +%install +# 未setup源码 故此处需要cd到指定文件 +cd DevKit-CLI-%{version}-Linux-Kunpeng +mkdir -p %{buildroot}/etc/bash_completion.d +install -m 644 %{SOURCE1} %{buildroot}/etc/bash_completion.d + +mkdir -p %{buildroot}%{prefix}/%{devkit_cli_pathname} +install -m 755 devkit .devkit %{buildroot}%{prefix}/%{devkit_cli_pathname} +install -m 644 execute.ini README_ZH.md %{buildroot}%{prefix}/%{devkit_cli_pathname} + +cp -rf tuner %{buildroot}%{prefix}/%{devkit_cli_pathname} +cp -rf porting %{buildroot}%{prefix}/%{devkit_cli_pathname} +cp -rf advisor %{buildroot}%{prefix}/%{devkit_cli_pathname} +cp -rf java-perf %{buildroot}%{prefix}/%{devkit_cli_pathname} +cp -rf sys-mig %{buildroot}%{prefix}/%{devkit_cli_pathname} + +%files -n %{devkit_name} +%defattr(755,root,root,755) +%{prefix}/%{devkit_cli_pathname}/devkit +%{prefix}/%{devkit_cli_pathname}/.devkit +%defattr(644,root,root,-) +/etc/bash_completion.d/devkit.sh +%{prefix}/%{devkit_cli_pathname}/execute.ini +%{prefix}/%{devkit_cli_pathname}/README_ZH.md + +%files -n %{devkit_name}-tuner +%defattr(755,root,root,755) +%{prefix}/%{devkit_cli_pathname}/tuner/libtuner.so +%{prefix}/%{devkit_cli_pathname}/tuner/bin +%{prefix}/%{devkit_cli_pathname}/tuner/lib +%defattr(644,root,root,755) +%{prefix}/%{devkit_cli_pathname}/tuner/include +%{prefix}/%{devkit_cli_pathname}/tuner/docs +%defattr(1777,root,root,1777) +%{prefix}/%{devkit_cli_pathname}/tuner/data + +%files -n %{devkit_name}-java-perf +%defattr(755,root,root,755) +%{prefix}/%{devkit_cli_pathname}/java-perf +%defattr(1777,root,root,1777) +%{prefix}/%{devkit_cli_pathname}/java-perf/data + + +%files -n %{devkit_name}-porting +%defattr(700,root,root,700) +%{prefix}/%{devkit_cli_pathname}/porting + +%files -n %{devkit_name}-sys-mig +%defattr(1777,root,root,1777) +%{prefix}/%{devkit_cli_pathname}/sys-mig +%{prefix}/%{devkit_cli_pathname}/sys-mig/nodes +%{prefix}/%{devkit_cli_pathname}/sys-mig/report +%{prefix}/%{devkit_cli_pathname}/sys-mig/resources +%{prefix}/%{devkit_cli_pathname}/sys-mig/template +%{prefix}/%{devkit_cli_pathname}/sys-mig/logs + +%files -n %{devkit_name}-advisor +%defattr(700,root,root,700) +%{prefix}/%{devkit_cli_pathname}/advisor + +%changelog +* Tue May 07 2024 Huawei Kunpeng DevKit https://www.hikunpeng.com 24.0.rc2-1 +- Second Spec Version +- Plugin tuner add roofline,hotspot,miss,llc-ddr task +- Add java-perf plugin + +* Tue Feb 06 2024 Huawei Kunpeng DevKit https://www.hikunpeng.com 24.0.rc1-1 +- First Spec Version Include DevKit-CLI \ No newline at end of file -- Gitee