From 31fca2ed15c6b734a84b581535bbe38f90ecaab1 Mon Sep 17 00:00:00 2001 From: Mateusz Moscicki Date: Wed, 17 May 2023 13:02:21 +0200 Subject: [PATCH] Add macro %isu_package to generate ISU Package The macro makes it easier to prepare a separate configuration for ISU package. Files from path %{BUILDROOT}/etc/isu/ are packed into a separate rpm package: %{name}-isu In addition, pattern occurrences are substituted: #NAME# - %{name} #VERSION# - %{version} #ISU_CONFIG_PATH# - /etc/isu #ISU_INSTALL_PATH# - /opt/isu #ISU_RUN_PATH# - /run/isu Change-Id: Ia60a964165a9a838fb3422ded0410402924c5adf (cherry picked from commit 0cb94f2a960168fb4cc6eed7acdd19dba633fcd9) --- packaging/find-isufiles.sh | 15 +++++++++++++++ packaging/rpm-tizen_macros | 15 +++++++++++++++ packaging/rpm.spec | 2 ++ 3 files changed, 32 insertions(+) create mode 100644 packaging/find-isufiles.sh diff --git a/packaging/find-isufiles.sh b/packaging/find-isufiles.sh new file mode 100644 index 0000000..ab8abde --- /dev/null +++ b/packaging/find-isufiles.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +LIST_FILE_PATH="$1" +pushd "$RPM_BUILD_ROOT" || exit +if [ -d ./etc/isu/ ]; then + echo "Process ISU files" + find etc/isu -type f -printf "/%p\n" \ + -exec sed -i -e "s@#VERSION#@$RPM_PACKAGE_VERSION@g" \ + -e "s@#NAME#@$RPM_PACKAGE_NAME@g" \ + -e "s@#ISU_CONFIG_PATH#@/etc/isu@g" \ + -e "s@#ISU_INSTALL_PATH#@/opt/isu@g" \ + -e "s@#ISU_RUN_PATH#@/run/isu@g" \ + {} \; > "$LIST_FILE_PATH" +fi +popd || exit diff --git a/packaging/rpm-tizen_macros b/packaging/rpm-tizen_macros index e5798b3..843a658 100644 --- a/packaging/rpm-tizen_macros +++ b/packaging/rpm-tizen_macros @@ -38,11 +38,16 @@ %{nil} # %{_rpmconfigdir}/tizen/brp-implant-ident-static +# +%__isu_install_post \ + %{_rpmconfigdir}/tizen/find-isufiles.sh %{_builddir}/%{?buildsubdir}/isu.list \ +%{nil} %__spec_install_post\ %{?__debug_package:%{__debug_install_post}}\ %{__arch_install_post}\ %{__os_install_post}\ + %{__isu_install_post}\ %{nil} # macro: %configure_kernel_source @@ -204,6 +209,16 @@ This package provides documentation for package %{name}.\ %defattr(-,root,root,-)\ %{nil} +%isu_package \ +%package isu \ +Summary: ISU Package configuration \ +AutoReqProv: 0\ +%description isu\ +This package provides ISU configuration for package %{name}.\ +%files isu -f isu.list\ +%defattr(-,root,root,-)\ +%{nil} + # Bad hack to set $LANG to C during all RPM builds %prep \ %%prep\ diff --git a/packaging/rpm.spec b/packaging/rpm.spec index 506b101..72b4eba 100644 --- a/packaging/rpm.spec +++ b/packaging/rpm.spec @@ -43,6 +43,7 @@ Source2: db-4.8.30-integration.dif Source4: rpm-tizen_macros Source8: rpmconfigcheck Source13: find-docs.sh +Source14: find-isufiles.sh Source22: device-sec-policy Source23: find-provides.ksyms Source24: debug.manifest @@ -174,6 +175,7 @@ mkdir -p %{buildroot}%{_sysconfdir}/rpm mkdir -p %{buildroot}%{rpmhome}/tizen cp -a tizen_macros %{buildroot}%{rpmhome} install -m 755 %{SOURCE13} %{buildroot}%{rpmhome}/tizen +install -m 755 %{SOURCE14} %{buildroot}%{rpmhome}/tizen install -m 755 %{SOURCE23} %{buildroot}%{rpmhome} install -m 644 %{SOURCE9} %{buildroot}%{rpmhome}/fileattrs/libsymlink.attr install -m 644 %{SOURCE22} %{buildroot}%{_sysconfdir}/device-sec-policy -- 2.7.4