summary |
shortlog | log |
commit |
commitdiff |
tree
first ⋅ prev ⋅ next
Mateusz Moscicki [Tue, 14 Nov 2023 14:04:12 +0000 (15:04 +0100)]
Add a package manager parser plugin
This is a plugin library of package manager to install ISU Packages in
the RPK format.
The RPK package should contain:
* the content of the ISU zip archive and,
* tizen-manifest.xml,
* correctly generated signature files.
The tizen-manifest.xml file should contain a description of the ISU
package, for example:
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<manifest xmlns="http://tizen.org/ns/packages" api-version="1.0.0"
package="org.tizen.isu.example_service"
res-type="tizen.sample.resource" res-version="1.5.0" version="1.0.0">
<isu>
<name>example_service</name>
<version>1.0.0</version>
</isu>
<allowed-package id="org.tizen.*"/>
</manifest>
Change-Id: I3978b3e507f368ce87e47932f04b26dfaddf9a73
Mateusz Moscicki [Tue, 24 Oct 2023 10:36:59 +0000 (12:36 +0200)]
Add a new ISU package manager
Change-Id: I5c10d71bbc9fcf8d0ae89fd6aa43b049e1fda723
Mateusz Moscicki [Tue, 3 Oct 2023 11:23:21 +0000 (13:23 +0200)]
Add ISU API
Change-Id: I935c5e76b7cf061d3f8ef451ca527b0be96e0121
Adam Michalski [Mon, 20 Nov 2023 16:36:52 +0000 (17:36 +0100)]
isu_pkgs_maker: add support for optional files
This commit introduces optional files/directories in isu.cfg.
From now on, files that are from optional rpm packages can be marked
as optional by adding a '-' prefix in the pathname. Optional files from
optional rpm packages will be included in the final ISU package only if
they are actually installed on the platform given platform image from
which the ISU package is built.
Change-Id: I44b69912493348f10431fcabafcbc475b370d2c0
Mateusz Moscicki [Mon, 9 Oct 2023 12:46:21 +0000 (14:46 +0200)]
Change the ISU archive format to .tpk
Change-Id: I3c517514a6bfb52417eb5a62d8620d1d396175de
Adam Michalski [Mon, 18 Sep 2023 15:01:50 +0000 (17:01 +0200)]
Add isu status option
Change-Id: I56b1c5c9b676d9a4da8685db35a4a92867516b80
Karol Lewandowski [Wed, 4 Oct 2023 10:00:17 +0000 (12:00 +0200)]
generator: Do not error out when there are no isu packages
Change-Id: I6fd2a0045d0bb20fc9981518a224111ef0c51c0d
Karol Lewandowski [Wed, 4 Oct 2023 09:53:24 +0000 (11:53 +0200)]
generator: Ensure isu.cfg is also available in /run/isu/<PKG_NAME>
Package in /opt/isu/<PKG_NAME> can be removed/upgraded/etc. so we
can't depend on it to have valid run-time info
Change-Id: Ie86249f509dd688e76393723ca1d2b3612926a97
Karol Lewandowski [Tue, 26 Sep 2023 08:52:49 +0000 (10:52 +0200)]
tmpfiles: Ensure /run/isu is always created
This will prevent some other process taking over this name for
its purpose.
Change-Id: Ia45209768735eac4c2dc02bb687934e9291c4d77
Karol Lewandowski [Mon, 25 Sep 2023 11:57:08 +0000 (13:57 +0200)]
generator: Fix ability to setup more than one .service & .unit in isu package
This commit fixes incorrect use of compgen -G as in example below:
compgen -G "/bin/"b*
results in '/bin/bash', while we need behaviour like this:
compgen -G "/bin/b*"
resulting in '/bin/bash /bin/basename /bin/b..'.
Change-Id: I0abd06fb0fd340023c9d6d87cddbb80ff96fa1ef
Mateusz Moscicki [Wed, 13 Sep 2023 08:38:25 +0000 (10:38 +0200)]
Use symlinks for directories that are symlinked
In the system the directory like /lib is a link to /usr/lib
In the sandbox we have performed two binds, which resulted in the fact
that from the sandbox perspective, the modificaiton (bind) in directory
/usr/lib was not visible in /lib
By using symlinks inside the sandbox the ISU package that
provides some libraries can bind it to one path:
--bind #ISU_RUN_PATH#/service/rootfs/usr/lib/libservice.so.1 /usr/lib/libservice.so.1
instead of:
--bind #ISU_RUN_PATH#/service/rootfs/usr/lib/libservice.so.1 /usr/lib/libservice.so.1
--bind #ISU_RUN_PATH#/service/rootfs/usr/lib/libservice.so.1 /lib/libservice.so.1
Change-Id: I9c7c8854261546b2bc9f7111b3f90e9f9cd07c41
Adam Michalski [Mon, 11 Sep 2023 11:40:11 +0000 (13:40 +0200)]
Add `user-service-common.inc` to ISU configuration
`user-service-common.inc` is similar to `service-common.inc` except
that it is tailored for user services.
Change-Id: I2f08e534afc654acbabf17b6fb42d717f00a20f2
Karol Lewandowski [Thu, 7 Sep 2023 12:24:10 +0000 (14:24 +0200)]
generator: Log to standard error by default
Additionally, prepend each log with program name.
Change-Id: I9fec53490de6d56268959f7517b24be1ceb7c593
Karol Lewandowski [Thu, 7 Sep 2023 12:15:43 +0000 (14:15 +0200)]
generator: Fix .service/.mount service installation
This commit fixes cases where service provided .mount but not .service
unit. Previously .mount unit would not be installed due to isu_prepare()
terminating early.
Additionally, this commit silents the warning when .mount unit is not
provided as it's rarely used feature.
Change-Id: I40da3ec35deed3023ad15664379f2c07237665b8
Karol Lewandowski [Thu, 7 Sep 2023 12:05:57 +0000 (14:05 +0200)]
generator: Fix invalid variable reference in error message
Change-Id: I53d635a44c5d5b57b63dba0d8e47a6049041ed85
Karol Lewandowski [Wed, 6 Sep 2023 11:23:10 +0000 (13:23 +0200)]
Add configuration file for OS Upgrade & ISU interoperability
This file can be used to list which fields from isu.cfg and platform
image must match for both to be assumed compatible.
Change-Id: Ib73456fd41dd88a6913625273108ea332144b985
Karol Lewandowski [Wed, 6 Sep 2023 11:17:40 +0000 (13:17 +0200)]
Add tmpfiles.d snippet to guarantee permissions of /opt/isu
Change-Id: I21ae22abe0888eda540abf9ede65e4c2cdab956c
Karol Lewandowski [Wed, 6 Sep 2023 10:36:13 +0000 (12:36 +0200)]
pkg_manager, generator: Ensure files are installed accessible
All files should be readable except for rootfs.img, which are used only
for mounting data filesystem.
Additionally, change generator to check rootfs.img accessability only
when mount unit is being setup (to skip it during user-services setup).
Change-Id: Id7740cbd91aa6c08277813bd6d116cb82f73b282
Karol Lewandowski [Wed, 6 Sep 2023 09:42:45 +0000 (11:42 +0200)]
generator: Drop $SYSTEMD_SCOPE in favor of $INSTANCE
$SYSTEMD_SCOPE is not set when running the script manually.
Change-Id: Ia754a81ea916b38030d474f00dbc7a39969774db
Karol Lewandowski [Tue, 5 Sep 2023 22:32:56 +0000 (00:32 +0200)]
generator: Ensure mount units are started at boot
User session units can not depend on .mount units, so system
units have to start these even if it will be used much later.
Change-Id: I54c26a1e8eb57cbf6cbe0ea73c742630b9d0bdbf
Karol Lewandowski [Tue, 5 Sep 2023 20:47:27 +0000 (22:47 +0200)]
generator: Rewrite handling of user service units
Fix issue with isu-user-generator generating .mount units, which can't be
properly handled by `systemd --user` instance.
This commit changes mechanics to always create mount unit per ISU package
in system instance, so that user units can be sure mount is already available.
Additionally, improve logging a bit explicitly stating why we fail at given
stage.
Change-Id: Ice756587e86085b6b181d2644be599fefe10c465
Karol Lewandowski [Tue, 5 Sep 2023 09:22:08 +0000 (11:22 +0200)]
guide: Describe how extended platform compatibility check
Change-Id: I100359f746c6d4eb7ebbf909e23d375727b17b96
Karol Lewandowski [Fri, 1 Sep 2023 13:15:10 +0000 (15:15 +0200)]
Bump version
Change-Id: Ic80714d13e6cd4cc9905c8c4efa2d1fa87de4f96
Karol Lewandowski [Fri, 1 Sep 2023 11:58:33 +0000 (13:58 +0200)]
generator: Move PATH= setting to 2nd line as required by security-config scripts
Change-Id: I070f8961d0ab3e04a51ef76ce744afe4548fbcaf
Karol Lewandowski [Fri, 1 Sep 2023 09:02:31 +0000 (11:02 +0200)]
generator: Move mount unit to separate isu.conf
Having isu.conf (always) will make it easier to detect if service uses ISU
or not.
Change-Id: I9e4cb46db7d1114ce1760c21f143f4a6997b3428
Karol Lewandowski [Thu, 24 Aug 2023 14:32:24 +0000 (16:32 +0200)]
Bump version
Change-Id: Iff651509763004df799189103e2bdf9dbfc2c258
Adam Michalski [Wed, 23 Aug 2023 09:53:53 +0000 (11:53 +0200)]
Update documentation: Interaction with OS Upgrade section
Change-Id: I45d23a57ee956a8204f684036190d7baf937c17c
Karol Lewandowski [Mon, 21 Aug 2023 11:35:45 +0000 (13:35 +0200)]
generator: .mount unit is always needed, not depending on existence of original service file
Change-Id: I70d217a9cf42b65092b7051063a7c99e4248a70d
Karol Lewandowski [Mon, 21 Aug 2023 11:31:43 +0000 (13:31 +0200)]
Drop redunddant generator guide
Same information has been already moved to doc/GUIDE.md
Change-Id: I0be2f17eb45e46d2ddc71e3398af4e94fdd597cf
Karol Lewandowski [Mon, 21 Aug 2023 11:28:48 +0000 (13:28 +0200)]
generator: Drop fallback mechanism (OnFailure=nonisuNAME.service)
Unfortunately, the fallback mechanism, used when ISU service fails
to start can not be used in practice because:
- it breaks socket activated services, as socket passing is defined
in .socket units explicitly (ie. .socket specifies eg. Service=a.service,
and if fallaback uinit would be started then sockets would not be
passed correctly),
- it breaks dbus-activated services, as copying original service file
to nonisuNAME.service causes two services to specify same BusName= name
Change-Id: I7dc187ff367920bc2bfcf3988506f513278a932a
Adam Michalski [Wed, 16 Aug 2023 15:03:14 +0000 (17:03 +0200)]
Update guide to take `PidFile=` for double-forking services into account
Change-Id: I0dbc4decea02f5e19694ddf0f7b8c5ef336a9216
Mateusz Moscicki [Mon, 7 Aug 2023 12:07:10 +0000 (14:07 +0200)]
Add a simple ISU package manager
Change-Id: I19cdd38341ae3a1d4cb671f1b031990946f8cba3
Adam Michalski [Fri, 11 Aug 2023 11:27:12 +0000 (13:27 +0200)]
Update ISU guide
Co-author: Karol Lewandowski<k.lewandowsk@samsung.com>
Change-Id: Ib4084ffa0d916878782c47532b3aca32d4fedbbe
Adam Michalski [Fri, 28 Jul 2023 11:05:34 +0000 (13:05 +0200)]
Support for mount unit filenames containing a dash
A mount unit file having a dash in its name must be escaped.
Change-Id: I051489c876ffa9eca73ea8b5e63598033e62feb4
Mateusz Moscicki [Wed, 2 Aug 2023 08:48:24 +0000 (10:48 +0200)]
Add support for *.mount units
Change-Id: Ib7b0c3ac07d428cb7ad2183d7276cc375237460e
Mateusz Moscicki [Wed, 2 Aug 2023 08:44:30 +0000 (10:44 +0200)]
Add support for new services provided by ISU
Add support for the situation where the ISU package provides a service
file that did not previously exist in the system
Change-Id: I1b5f09e9db7e073d9c729d6fcb19310cb4286a04
Mateusz Moscicki [Wed, 2 Aug 2023 08:38:10 +0000 (10:38 +0200)]
Add support for wildards in files section in isu.cfg
Change-Id: I948a4791b37bb0f8d6b4ffef5d9b2ecbb883a8e5
Adam Michalski [Mon, 10 Jul 2023 15:06:53 +0000 (17:06 +0200)]
Modify isu service common include file to conform to Tizen 6.0
Tizen 6.0 does not have the `hal` partition.
Change-Id: If59c09d523743e0e9659c3798f4d4cfdfefb6291
Mateusz Moscicki [Fri, 26 May 2023 10:25:32 +0000 (12:25 +0200)]
Add ISU guide
Change-Id: Id7c3e0082883568f9a6d18db75a0c0aab6f8f7df
Adam Michalski [Thu, 15 Jun 2023 15:28:10 +0000 (17:28 +0200)]
Add PATH environment variable
The PATH variable is required in scripts by the security-config.
Change-Id: I22b9a94a46ec7d302324868ef7c3bcf4f2a6e93e
Adam Michalski [Thu, 1 Jun 2023 10:38:05 +0000 (12:38 +0200)]
Add `service-common.inc` to ISU configuration
Change-Id: Ie27126a2768ab6e0716e7f7bd54b496f23266f9d
Mateusz Moscicki [Mon, 29 May 2023 14:31:13 +0000 (16:31 +0200)]
isu_pkgs_maker: Return exit code on error
Change-Id: Iffe109fad430ec88da6833a1eb65b0124e3aaa09
Mateusz Moscicki [Mon, 29 May 2023 12:14:02 +0000 (14:14 +0200)]
Add support for multiple service files
Change-Id: I9cd65c94e165a8312267b64eeaef805c569db489
Mateusz Moscicki [Fri, 19 May 2023 11:15:54 +0000 (13:15 +0200)]
Add isu_pkgs_maker.py
The isu_pkgs_maker.py is a script that is used to generate ISU packages
based on configuration in `/etc/isu/` on rootfs.
Change-Id: I2190a031b87425bf7c48e3123d800879139e6b45
Mateusz Moscicki [Fri, 19 May 2023 09:37:50 +0000 (11:37 +0200)]
Add ISU systemd generator
Generator is responsible for mounting the image with the updated service
and generating the service files that run it.
For more information see README.
Change-Id: I0caae33614adb9807c7d93ba34fdd9a209b02ab6
Tizen Infrastructure [Fri, 19 May 2023 01:49:46 +0000 (01:49 +0000)]
Initial empty repository