Add ISU package 27/294127/7
authorAdam Michalski <a.michalski2@partner.samsung.com>
Tue, 13 Jun 2023 15:52:56 +0000 (17:52 +0200)
committerAdam Michalski <a.michalski2@partner.samsung.com>
Thu, 6 Jul 2023 13:07:15 +0000 (15:07 +0200)
commitcb62d8fba7dfa7c92d490f861b6751639a9ed8a7
tree1c34bf602cfdbe2579b1f0c1f7383d5c5b173917
parent1e12f15d982f378f6b875337a076e04028d150fb
Add ISU package

The following changes have been made for ISU:
* isu/isu.cfg - ISU configuration file.
    [isu] section:
        `name` and `version` have been filled by using the #NAME# and #VERSION#
        patterns that in turn will be replaced by the `%isu_package` RPM macro
        into the name and version of the RPM package.
        `system_service` is the systemd service name and must be the same as the
        original one.
    [files] section:
        contains a list of all files that should be added to the ISU package.
        Since we only want to replace the binary, there is only one file here.
* isu/deviced.service - modified ISU service file.
    Compared to the original 'deviced.service' the following changes have been
    made for ISU:
    - `EnvironmentFile=/etc/isu/service-common.inc` - to include ISU-specific
      variables
    - `ExecStart=` has been changed to launch sandbox application with default
      parameters (`ISU_SANDBOX_INVOCATION`), ISU-provided
      `#ISU_RUN_PATH#/deviced/rootfs/usr/bin/deviced` is visible as
      `/usr/bin/deviced` in the sandbox
    - `NotifyAccess=all` has been set as there is one intermediate process
      (`isu-sandbox`) between `systemd` and `/usr/bin/deviced`
* isu/CMakeLists.txt - CMake config file for the ISU.
    Added installing ISU config file and the service file to the appropriate
    locations (/etc/isu/*)
* CMakeLists.txt - main config file for CMake.
    We've added the `isu` subdirectory where we placed the isu configuration
    file and the modified service file that will run `dlog` in a sandboxed
    environment.
* packaging/deviced.spec - main `deviced` RPM spec file.
    We've made the following changes:
    - added `Requires: %{name}-isu = %{version}-%{release}` tag in the main
      spec section which will cause the ISU package to be installed when the
      original package is installed.
    - added the `%isu_package` macro invocation right before the `%prep` section
      which will cause the configuration to be placed in the correct location
      with all ISU-related files packaged into the `*-isu` RPM package.

Change-Id: Ib4ede1ff59a0a6be23b7414926672e772c2ac1d5
CMakeLists.txt
isu/CMakeLists.txt [new file with mode: 0644]
isu/deviced.service [new file with mode: 0644]
isu/isu.cfg [new file with mode: 0644]
packaging/deviced.spec