summary |
shortlog | log |
commit |
commitdiff |
tree
first ⋅ prev ⋅ next
Adam Michalski [Thu, 28 Mar 2024 10:24:20 +0000 (11:24 +0100)]
Add isu-cleaner service
isu-cleaner adds two components to the Individual Service Upgrade:
* isu-cleaner tool - cleans up the /opt/usr/globalapps/org.tizen.isu.*
subdirectories from the remanants that may have
remained after removing duplicate install files
* isu-cleaner service - starts from delayed.target and executes the
isu-cleaner. This way we assure that all
possible remanents in globalapps are cleaned
up.
Change-Id: I7e4e5f7b6138095681b9a9fe73eb5a2430425c09
Adam Michalski [Thu, 1 Feb 2024 16:24:15 +0000 (17:24 +0100)]
Remove isu installation dir content duplication
Change-Id: Ie4e54c3e5c4eaa75ea78fb6e8c7831d525e600ee
Adam Michalski [Mon, 22 Jan 2024 13:08:42 +0000 (14:08 +0100)]
Fix Coverity issues
Ref.: CIDs #1749002, #1749004.
Change-Id: Ie652e892c770210b48c5844376f56b370430a21c
Adam Michalski [Fri, 12 Jan 2024 16:20:48 +0000 (17:20 +0100)]
Update GUIDE.md to reflect the change in ISU format from TPK to RPK
Change-Id: I98dc36eb81363ad41bba8e5c7dca63c357c500c5
Adam Michalski [Thu, 11 Jan 2024 15:40:03 +0000 (16:40 +0100)]
isu_pkgs_maker: Add support for isu.cfg.d
isu.cfg.d allows custom ISU configuration to be provided. Custom
configration should be stored in the /etc/isu/[PKG_NAME]/isu.cfg.d
subdirectory in the same format as the main isu config file except
that it only contains the [files] section.
Custom configuration could be provided by additional modules depending
on the target image. All files in the aformentioned path will be
searched by the isu_pkgs_maker and all listed addition files will be
included in the ISU package.
Change-Id: Ia35b4805ded9428365a2d6aafc133521071fafe3
Mateusz Moscicki [Tue, 2 Jan 2024 13:58:01 +0000 (14:58 +0100)]
Update isu_pkg_maker for Python 3
Change-Id: I887304fb353180a7df59c772f7f451b74358d0ce
Karol Lewandowski [Tue, 2 Jan 2024 13:52:55 +0000 (14:52 +0100)]
Add workflow to allow building ISU package(s) for test purposes
Adam Michalski [Fri, 22 Dec 2023 15:08:41 +0000 (16:08 +0100)]
Fix SVACE and Coverity issues
Co-author: Mateusz Majewski <m.majewski2@samsung.com>
Change-Id: I6811590979486570f564b332398e6cd0ed8565c3
Karol Lewandowski [Mon, 18 Dec 2023 15:21:27 +0000 (16:21 +0100)]
Package ISU generation tools to isu-tools package
Change-Id: I98eff28d121e5f09546de0179aa77ef5ab85c902
Mateusz Moscicki [Tue, 12 Dec 2023 11:42:34 +0000 (12:42 +0100)]
Disable check of ISU feature by default
Change-Id: I08ee65496dbfcb2581b76d34902ba83af9f15200
Mateusz Moscicki [Thu, 7 Dec 2023 13:14:22 +0000 (14:14 +0100)]
Add package requirement
Change-Id: Ib32f8f46be6824b52746c03378f37cb7e60fbf59
Mateusz Moscicki [Thu, 7 Dec 2023 11:24:58 +0000 (12:24 +0100)]
Change the dbus policy to allow app_fw to call dbus methods
Change-Id: I54d607be35178ac8b54da364c332855b75648e49
Mateusz Moscicki [Fri, 1 Dec 2023 13:02:53 +0000 (14:02 +0100)]
Version 9.0.0
Change-Id: Idd7dfe2d4dce6068451096ac67866ea062c82684
Mateusz Moscicki [Fri, 24 Nov 2023 11:26:35 +0000 (12:26 +0100)]
Add python 2 version of the ISU pkg maker
As there is no python 3 support in the current mic-bootstrap, this
python 2 version of pkg_maker allows ISU Packages to be built during
image creation.
Usage example:
At the end of the *.ks file in the %post --nochroot section add:
mkdir -p isu_out
/usr/bin/python2 isu_pkgs_maker_py2.py --src $INSTALL_ROOT/ --out isu_out --rpk \
--rpk-author-key <author_key_file> --rpk-author-key-pass <author_key_pass> \
--rpk-dist-key <distributor_key_file> --rpk-dist-key-pass <distributor_key_pass>
After building the image, the isu_out directory should contain the
generated ISU packags.
Change-Id: Ide9be3c5c17c82e31d664a27aa55e27dd79a3d88
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