Add macro %isu_package to generate ISU Package 41/295541/1 accepted/tizen_6.0_base tizen_6.0_base accepted/tizen/6.0/base/20230719.141359 submit/tizen_6.0_base/20230714.032837 submit/tizen_6.0_base/20230714.091612
authorMateusz Moscicki <m.moscicki2@partner.samsung.com>
Wed, 17 May 2023 11:02:21 +0000 (13:02 +0200)
committerAdam Michalski <a.michalski2@partner.samsung.com>
Mon, 10 Jul 2023 14:15:21 +0000 (14:15 +0000)
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 [new file with mode: 0644]
packaging/rpm-tizen_macros
packaging/rpm.spec

diff --git a/packaging/find-isufiles.sh b/packaging/find-isufiles.sh
new file mode 100644 (file)
index 0000000..ab8abde
--- /dev/null
@@ -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
index e5798b3..843a658 100644 (file)
 %{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\
index 506b101..72b4eba 100644 (file)
@@ -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