platform/core/appfw/app-installers.git
4 years agoAll step's success are regarded as installation's success 90/225290/5
Ilho Kim [Tue, 18 Feb 2020 05:57:10 +0000 (14:57 +0900)]
All step's success are regarded as installation's success

After all steps succeed, send finish signal and set recovery file's cleanup flag

Related:
 [app-installers] https://review.tizen.org/gerrit/#/c/platform/core/appfw/app-installers/+/223113/
 [tpk-backend] https://review.tizen.org/gerrit/#/c/platform/core/appfw/tpk-backend/+/223114/
 [wgt-backend] https://review.tizen.org/gerrit/#/c/platform/core/appfw/wgt-backend/+/223115/

Change-Id: Iaac1d3db7c4a8d5a3fdae68acb962945a09d6769
Signed-off-by: Ilho Kim <ilho159.kim@samsung.com>
4 years agoFix coding style 62/228262/1
Ilho Kim [Fri, 20 Mar 2020 04:15:08 +0000 (13:15 +0900)]
Fix coding style

Change-Id: I6eccc84db472e308e124b50a1be7746ecb51d740
Signed-off-by: Ilho Kim <ilho159.kim@samsung.com>
4 years agoDetach Umount operation from mount install's clean 17/225317/6
Ilho Kim [Wed, 19 Feb 2020 05:02:46 +0000 (14:02 +0900)]
Detach Umount operation from mount install's clean

Change-Id: I2b92cbaf952a5eb6258ad24a05f91746bffa9dac

4 years agoFix build error 31/227431/1
Sangyoon Jang [Thu, 12 Mar 2020 03:25:01 +0000 (12:25 +0900)]
Fix build error

Fix typo.

Change-Id: Ied23a5574081dd3e81645fe7016956811307a316
Signed-off-by: Sangyoon Jang <jeremy.jang@samsung.com>
4 years agoAdd ArchiveInfo class 96/226596/12
Sangyoon Jang [Tue, 3 Mar 2020 09:36:29 +0000 (18:36 +0900)]
Add ArchiveInfo class

ArchiveInfo class is base class for TpkArchiveInfo, WgtArchiveInfo.
The derived classes have to implement LoadArchiveInfo() which parses
manifest of given archive file and fills the information.

Change-Id: I767ff3af4d9a4ebe2f3be8a71222c343e1d29f91
Signed-off-by: Sangyoon Jang <jeremy.jang@samsung.com>
4 years agoRelease version 1.32.6 05/226905/1 accepted/tizen/unified/20200309.031500 submit/tizen/20200306.075320
Ilho Kim [Fri, 6 Mar 2020 07:43:35 +0000 (16:43 +0900)]
Release version 1.32.6

Changes:
 - Add a test that crashed while running clean operation
 - Fix a build warning
 - Fix StepRecoverSignature

Change-Id: I4fdbd4cec4f91cb0830158479a2a7da52e24e1b9
Signed-off-by: Ilho Kim <ilho159.kim@samsung.com>
4 years agoFix StepRecoverSignature 40/226440/2
Ilho Kim [Tue, 3 Mar 2020 00:09:09 +0000 (09:09 +0900)]
Fix StepRecoverSignature

Delete backup file correctly

Change-Id: I5df5292b227842b0367ca307fd05e14b3e907df1
Signed-off-by: Ilho Kim <ilho159.kim@samsung.com>
4 years agoFix a build warning 43/226743/1
Sangyoon Jang [Thu, 5 Mar 2020 05:51:37 +0000 (14:51 +0900)]
Fix a build warning

Fix to compare with same signedness.

Change-Id: If9db78addaee27e9dfc9eabc791a58065cef0153
Signed-off-by: Sangyoon Jang <jeremy.jang@samsung.com>
4 years agoAdd a test that crashed while running clean operation 93/226093/3
Ilho Kim [Thu, 27 Feb 2020 00:17:24 +0000 (09:17 +0900)]
Add a test that crashed while running clean operation

Related:
- [tpk-backend]https://review.tizen.org/gerrit/#/c/platform/core/appfw/tpk-backend/+/226102/
- [wgt-backend]https://review.tizen.org/gerrit/#/c/platform/core/appfw/wgt-backend/+/226105/

Change-Id: I7ffe0981d586d70778413841e6baacd1f530aabd
Signed-off-by: Ilho Kim <ilho159.kim@samsung.com>
4 years agoRelease version 1.32.5 78/226378/1 accepted/tizen/unified/20200303.032612 submit/tizen/20200302.075610
Ilho Kim [Mon, 2 Mar 2020 05:43:05 +0000 (14:43 +0900)]
Release version 1.32.5

Changes:
 - Fix permission value correctly
 - Fix StepUnzip to checking free space before creating tmp directory
 - Fix smoke util
 - Fix static analysis issue
 - Fix memory leak

Change-Id: I4c274eeb4b6fb8d202c6e7483d146fe01e2f1a9e
Signed-off-by: Ilho Kim <ilho159.kim@samsung.com>
4 years agoFix memory leak 12/225912/3
Ilho Kim [Tue, 25 Feb 2020 08:35:34 +0000 (17:35 +0900)]
Fix memory leak

Change-Id: I3b3b52f983a14a82e5e188b33cdf1acbec495d24
Signed-off-by: Ilho Kim <ilho159.kim@samsung.com>
4 years agoFix static analysis issue 01/226001/2
Sangyoon Jang [Wed, 26 Feb 2020 06:13:23 +0000 (15:13 +0900)]
Fix static analysis issue

Fix resource leak.

Change-Id: I5f3f5cd640e76c11c50310470326dc3f9e069c53
Signed-off-by: Sangyoon Jang <jeremy.jang@samsung.com>
4 years agoFix smoke util 84/225084/7
Ilho Kim [Mon, 17 Feb 2020 07:54:23 +0000 (16:54 +0900)]
Fix smoke util

- Fix behavior to get StepCount at test utils
- Fix smoke test helper's path

Change-Id: Ic58cb47cf2150ea27f10028b1b7eb77b6a524e2e
Signed-off-by: Ilho Kim <ilho159.kim@samsung.com>
4 years agoFix StepUnzip to checking free space before creating tmp directory 54/225054/2
Sangyoon Jang [Mon, 17 Feb 2020 05:41:37 +0000 (14:41 +0900)]
Fix StepUnzip to checking free space before creating tmp directory

Change-Id: I4024cf9f7d74d5d1f281de54c91ed79f25f33288
Signed-off-by: Sangyoon Jang <jeremy.jang@samsung.com>
4 years agoFix permission value correctly 13/225413/2
Ilho Kim [Wed, 19 Feb 2020 23:52:14 +0000 (08:52 +0900)]
Fix permission value correctly

Change-Id: I4f0015a58edf3483a20993406af20396bc805cc2
Signed-off-by: Ilho Kim <ilho159.kim@samsung.com>
4 years agoRelease version 1.32.4 50/224950/1 accepted/tizen/unified/20200217.213824 submit/tizen/20200214.080724
Ilho Kim [Fri, 14 Feb 2020 07:53:50 +0000 (16:53 +0900)]
Release version 1.32.4

Changes:
 - Fix static analysis issue
 - Refactor creating shared data logic
 - Fix some error logs
 - Fix StepRecoverSignature
 - Change clean operations not to return failure

Change-Id: I96125a56030c1d157419e52fa055b4356cfbedbc
Signed-off-by: Ilho Kim <ilho159.kim@samsung.com>
4 years agoChange clean operations not to return failure 13/223113/7
Ilho Kim [Thu, 23 Jan 2020 01:38:06 +0000 (10:38 +0900)]
Change clean operations not to return failure

Change-Id: I1d8f931c39853133252161b433fe5722fae45b55
Signed-off-by: Ilho Kim <ilho159.kim@samsung.com>
4 years agoFix StepRecoverSignature 02/224502/3
Junghyun Yeon [Tue, 11 Feb 2020 06:21:52 +0000 (15:21 +0900)]
Fix StepRecoverSignature

- RecoverReadonlyUpdateInstall does not require restoring signature file.
- Newly implement Cleanup() to simply remove backed up signature file.

Change-Id: I5bcfe1a8d1218b758423c81a7a76601826285933
Signed-off-by: Junghyun Yeon <jungh.yeon@samsung.com>
4 years agoFix some error logs 50/224650/1
Sangyoon Jang [Wed, 12 Feb 2020 06:25:43 +0000 (15:25 +0900)]
Fix some error logs

Change-Id: I9a98ee4f1a53a5e532e87081400466f3a6697c6d
Signed-off-by: Sangyoon Jang <jeremy.jang@samsung.com>
4 years agoRefactor creating shared data logic 29/221429/23
Sangyoon Jang [Thu, 2 Jan 2020 08:16:49 +0000 (17:16 +0900)]
Refactor creating shared data logic

Creating shared data logic is fragmented.
The shared data directories are created by using base directory(apps_rw) and
some flags. This patch also fixes that installer can set setgid bit
rwdata only.

Change-Id: I997f401bd0d4dcad355422e36b51df03ed07201d
Signed-off-by: Sangyoon Jang <jeremy.jang@samsung.com>
4 years agoFix static analysis issue 99/224399/4
Junghyun Yeon [Mon, 10 Feb 2020 08:21:14 +0000 (17:21 +0900)]
Fix static analysis issue

Change codes to return result

Change-Id: I1a4e790aa7d0694c6de19192f18ca48e835fa90e
Signed-off-by: Junghyun Yeon <jungh.yeon@samsung.com>
4 years agoRelease version 1.32.3 05/224405/1 accepted/tizen/unified/20200212.125947 submit/tizen/20200210.091657 submit/tizen/20200211.010149
Ilho Kim [Mon, 10 Feb 2020 08:34:13 +0000 (17:34 +0900)]
Release version 1.32.3

Changes:
 - Fix build warning
 - Keep removable attribute when package update
 - Fix install failure of user package
 - Remove packaged RW directories before copying unpacked directories
 - Fix Remove(), RemoveAll() to delete symlink properly
 - Fix backup/restore shared/shared_tmp directories
 - Fix create shared data directory during update
 - Fix build error

Change-Id: I9c9e526c61f846e652e8c5c8bbe7fb1230e38880
Signed-off-by: Ilho Kim <ilho159.kim@samsung.com>
4 years agoFix build error 86/223486/4
Junghyun Yeon [Thu, 30 Jan 2020 08:03:17 +0000 (17:03 +0900)]
Fix build error

Fix build error caused by upgrading boost library
into version 1.71.0.

Change-Id: I27f995c53da3623860edfab5f05e0719d4f0fbcf
Signed-off-by: Junghyun Yeon <jungh.yeon@samsung.com>
4 years agoFix create shared data directory during update 84/224184/3
Ilho Kim [Fri, 7 Feb 2020 03:32:09 +0000 (12:32 +0900)]
Fix create shared data directory during update

When updating from a package without privilege to a package with
need to set owner and permission

Change-Id: Ifa7732231f147723dfbee63f4739a35467cd1545
Signed-off-by: Ilho Kim <ilho159.kim@samsung.com>
4 years agoFix backup/restore shared/shared_tmp directories 77/224177/1
Sangyoon Jang [Fri, 7 Feb 2020 02:27:58 +0000 (11:27 +0900)]
Fix backup/restore shared/shared_tmp directories

Not only .shared/pkgid/data but also .shared/pkgid should be removed.

Change-Id: I2e266160d346e8cdef35947eb6f4ea839a137e77
Signed-off-by: Sangyoon Jang <jeremy.jang@samsung.com>
4 years agoFix Remove(), RemoveAll() to delete symlink properly 75/224175/1
Sangyoon Jang [Fri, 7 Feb 2020 01:48:12 +0000 (10:48 +0900)]
Fix Remove(), RemoveAll() to delete symlink properly

Even if the file or directory that symlink points not exist, Remove()
and RemoveAll() should delete symlink file.
Note that bf::remove() and bf::remove_all() delete symbolic link itself.

Change-Id: I37fbeea897dc12f3b355e24b8763abaa304c5a02
Signed-off-by: Sangyoon Jang <jeremy.jang@samsung.com>
4 years agoRemove packaged RW directories before copying unpacked directories 77/224077/2
Sangyoon Jang [Thu, 6 Feb 2020 05:59:33 +0000 (14:59 +0900)]
Remove packaged RW directories before copying unpacked directories

Change-Id: I7afa8a50a72ebbd755518a90bedd8f352dbcd122
Signed-off-by: Sangyoon Jang <jeremy.jang@samsung.com>
4 years agoFix install failure of user package 69/223969/3
Sangyoon Jang [Wed, 5 Feb 2020 08:08:56 +0000 (17:08 +0900)]
Fix install failure of user package

Because wrong path was given for security registration, the install of
user package was failed.

Change-Id: Ifb9c9e90ea801ee012988df1b123d7f606e856be
Signed-off-by: Sangyoon Jang <jeremy.jang@samsung.com>
4 years agoKeep removable attribute when package update 33/219733/5
Sangyoon Jang [Mon, 9 Dec 2019 12:04:58 +0000 (21:04 +0900)]
Keep removable attribute when package update

Change-Id: I3e6bcd8103d2d5bf9a8b2c79fa36242437b86bfc
Signed-off-by: Sangyoon Jang <jeremy.jang@samsung.com>
4 years agoFix build warning 91/223591/1
Junghyun Yeon [Fri, 31 Jan 2020 05:07:27 +0000 (14:07 +0900)]
Fix build warning

Switch-case statement without break causes
"Implicit fallthrough" warning with updated gcc.

Change-Id: Ieb4f47ffb14c8f7596d4c975e6de1396a0652b5e
Signed-off-by: Junghyun Yeon <jungh.yeon@samsung.com>
4 years agoRelease version 1.32.2 82/223582/1 submit/tizen/20200131.050227
Ilho Kim [Fri, 31 Jan 2020 04:32:39 +0000 (13:32 +0900)]
Release version 1.32.2

Changes:
 - Fix minor coding rules
 - Add SmokeTestHelperRunner for smoke test
 - Add function 'CopyAndRemove' for smoke test

Change-Id: Iec05b5ccc02edf3ba70272aecf35a16e506dce6b
Signed-off-by: Ilho Kim <ilho159.kim@samsung.com>
4 years agoAdd function 'CopyAndRemove' for smoke test 37/217537/13
Ilho Kim [Mon, 11 Nov 2019 22:55:28 +0000 (07:55 +0900)]
Add function 'CopyAndRemove' for smoke test

This patch for supporting backup option "copy and remove"

Change-Id: I036da1e1d10f9cdaf6ae9403f7c9f60a8e6c32b6
Signed-off-by: Ilho Kim <ilho159.kim@samsung.com>
4 years agoAdd SmokeTestHelperRunner for smoke test 04/220004/13
Ilho Kim [Thu, 12 Dec 2019 08:46:14 +0000 (17:46 +0900)]
Add SmokeTestHelperRunner for smoke test

This class for test using subprocess

Change-Id: I8ac6f89f028807f3c0b719dc2456b956b78e33a9
Signed-off-by: Ilho Kim <ilho159.kim@samsung.com>
4 years agoFix minor coding rules 16/218116/15
Junghyun Yeon [Tue, 19 Nov 2019 10:48:31 +0000 (19:48 +0900)]
Fix minor coding rules

- Fix some minor coding rule.
- Fix storage requirement calculation logic to reduce unnecessary if statement.
- Remove unnecessary dlerror() call.
- Integrate some if statements.
- Remove implementation of undo function info header.
- Apply return early pattern.
- Remove unnecessary constructor implementation.

Change-Id: Iffddaa6fe5e0803883393174cf9805ceeb5802af
Signed-off-by: Junghyun Yeon <jungh.yeon@samsung.com>
4 years agoRelease version 1.32.1 09/222709/1 accepted/tizen/unified/20200120.133140 submit/tizen/20200117.084916
Ilho Kim [Fri, 17 Jan 2020 08:42:18 +0000 (17:42 +0900)]
Release version 1.32.1

Changes:
 - Add fallback logic when api-version of app not found
 - Fix minor coding rule on pkgmgr_signal
 - Resolve static analysis issue

Change-Id: Icf9eb601a0c665da8fea3e30043e652dfd336d1e
Signed-off-by: Ilho Kim <ilho159.kim@samsung.com>
4 years agoResolve static analysis issue 53/222653/1
Ilho Kim [Fri, 17 Jan 2020 04:46:08 +0000 (13:46 +0900)]
Resolve static analysis issue

Change-Id: Ia2ccce1511ec117ea2682c4a5dd5b981fd50ae1f
Signed-off-by: Ilho Kim <ilho159.kim@samsung.com>
4 years agoFix minor coding rule on pkgmgr_signal 18/218918/8
Junghyun Yeon [Fri, 29 Nov 2019 04:49:01 +0000 (13:49 +0900)]
Fix minor coding rule on pkgmgr_signal

Change-Id: I870154f0f689810428f29106ebb7a6a095ea0295
Signed-off-by: Junghyun Yeon <jungh.yeon@samsung.com>
4 years agoAdd fallback logic when api-version of app not found 78/221878/4
Sangyoon Jang [Wed, 8 Jan 2020 06:51:29 +0000 (15:51 +0900)]
Add fallback logic when api-version of app not found

Some package may not include any applications.

Change-Id: I8cfe8e540a5113c56175ec373a6252d438230978
Signed-off-by: Sangyoon Jang <jeremy.jang@samsung.com>
4 years agoRelease version 1.32.0 55/221755/1 accepted/tizen/unified/20200108.131451 submit/tizen/20200107.095413
Ilho Kim [Tue, 7 Jan 2020 08:58:05 +0000 (17:58 +0900)]
Release version 1.32.0

Changes:
 - Fix minor coding rule
 - Remove widget from plugins_list.txt
 - Add default steps for each operations
 - Remove compile warning messages

Change-Id: If2222fac9ae4820a31df55f7a7e175ad88971a49
Signed-off-by: Ilho Kim <ilho159.kim@samsung.com>
4 years agoRemove compile warning messages 23/221223/2
Ilho Kim [Mon, 30 Dec 2019 07:31:43 +0000 (16:31 +0900)]
Remove compile warning messages

Change-Id: Id2b52bd30ff2d4cf3415690e6027bd3cd8bb6dad
Signed-off-by: Ilho Kim <ilho159.kim@samsung.com>
4 years agoAdd default steps for each operations 15/207215/23
Sangyoon Jang [Wed, 29 May 2019 10:01:47 +0000 (19:01 +0900)]
Add default steps for each operations

Change-Id: I64e708b089ae9d9cc329c17c44c9a41922fee2b6
Signed-off-by: Sangyoon Jang <jeremy.jang@samsung.com>
4 years agoRemove widget from plugins_list.txt 00/220500/2
hyunho [Thu, 19 Dec 2019 02:25:19 +0000 (11:25 +0900)]
Remove widget from plugins_list.txt

It will be handled by widget_service's widget.info config file
https://review.tizen.org/gerrit/#/c/platform/core/appfw/widget-service/+/220498/

Change-Id: I2b9a53669bbf9c56dc32343b67b74fb16ea0a79c
Signed-off-by: hyunho <hhstark.kang@samsung.com>
4 years agoFix minor coding rule 27/217427/4
Junghyun Yeon [Mon, 11 Nov 2019 12:16:59 +0000 (21:16 +0900)]
Fix minor coding rule

- Integrate if statements.
- Reduce indentation hierachy by applying early return policy.

Change-Id: Iba51f4910404d730ac4e381374e9e033d3ac14b6
Signed-off-by: Junghyun Yeon <jungh.yeon@samsung.com>
4 years agoRelease version 1.31.1 06/220106/2 accepted/tizen/5.5/unified/20200105.221114 accepted/tizen/unified/20191216.222210 submit/tizen/20191213.074937 submit/tizen_5.5/20200103.002242 submit/tizen_5.5/20200103.003447
Ilho Kim [Fri, 13 Dec 2019 07:02:00 +0000 (16:02 +0900)]
Release version 1.31.1

Changes:
 - Fix smoke-test functions for rollback cases
 - Add smoke-util functions to check existance of shared/data
 - Fix StepUpdateStorageDirectories
 - Change header path to be included
 - Change the way to delete "shared/data" directory
 - Fix FindRecoveryFile
 - Fix static analysis issue
 - Add null checking before setting cleanup flag
 - Fix StepRecoverChangeOwner
 - Fix StepRecoverStorageDirectories

Change-Id: Iec2faac95ac9cc7123c237ecc6c4c2c47733d3e8
Signed-off-by: Ilho Kim <ilho159.kim@samsung.com>
4 years agoFix StepRecoverStorageDirectories 50/218450/12
Sangyoon Jang [Thu, 21 Nov 2019 08:27:20 +0000 (17:27 +0900)]
Fix StepRecoverStorageDirectories

Recover when shared data directory updated.

Change-Id: Id72db565a8f6668f10990e128d78d4a6f48e50f0
Signed-off-by: Sangyoon Jang <jeremy.jang@samsung.com>
4 years agoFix StepRecoverChangeOwner 51/218451/15
Sangyoon Jang [Fri, 22 Nov 2019 10:06:42 +0000 (19:06 +0900)]
Fix StepRecoverChangeOwner

Recover ownership, permission when per user directories updated.

Change-Id: Ic5b52a56b29dddfd6464e99ae48fc05497932a93
Signed-off-by: Sangyoon Jang <jeremy.jang@samsung.com>
4 years agoAdd null checking before setting cleanup flag 06/219806/3
Sangyoon Jang [Tue, 10 Dec 2019 07:21:18 +0000 (16:21 +0900)]
Add null checking before setting cleanup flag

Change-Id: Ib80ccd3a48c1d392b11ab081a6050de82fcf6d97
Signed-off-by: Sangyoon Jang <jeremy.jang@samsung.com>
4 years agoFix static analysis issue 70/220070/3
Ilho Kim [Fri, 13 Dec 2019 01:57:17 +0000 (10:57 +0900)]
Fix static analysis issue

- Fix uninitialized scalar field

Change-Id: I89771d1ea4be2e096932e9826dae4ab3448ff202
Signed-off-by: Ilho Kim <ilho159.kim@samsung.com>
4 years agoFix FindRecoveryFile 34/219134/4
Ilho Kim [Mon, 2 Dec 2019 08:42:00 +0000 (17:42 +0900)]
Fix FindRecoveryFile

If path is not exist, directory_iterator throw exception

Change-Id: Ic0821c2e4f34f7cb9a71219764d492aeecb1485c
Signed-off-by: Ilho Kim <ilho159.kim@samsung.com>
4 years agoMerge "Change header path to be included" into tizen
Junghyun Yeon [Thu, 12 Dec 2019 23:49:32 +0000 (23:49 +0000)]
Merge "Change header path to be included" into tizen

4 years agoChange the way to delete "shared/data" directory 63/219763/2
Ilho Kim [Tue, 10 Dec 2019 01:32:18 +0000 (10:32 +0900)]
Change the way to delete "shared/data" directory

If a package being installed has "shared/data" directory and there is some file
remove fail because that directory is not empty

and the way to delete "shared/data" files is chaged from "remove" to "remove all"

Change-Id: I22428504749dbae981c28e612fac84e15ac7a475
Signed-off-by: Ilho Kim <ilho159.kim@samsung.com>
4 years agoChange header path to be included 07/219607/2
Junghyun Yeon [Fri, 6 Dec 2019 08:26:52 +0000 (17:26 +0900)]
Change header path to be included

Its path has changed

Related changes:
[tpk-manifest-handlers] : https://review.tizen.org/gerrit/#/c/platform/core/appfw/tpk-manifest-handlers/+/219481/

Change-Id: I3933d2ae6e5c8ea90329752fa3de0054ea862e8a
Signed-off-by: Junghyun Yeon <jungh.yeon@samsung.com>
4 years agoFix StepUpdateStorageDirectories 22/218222/16
Sangyoon Jang [Tue, 19 Nov 2019 04:23:51 +0000 (13:23 +0900)]
Fix StepUpdateStorageDirectories

The step StepUpdateStorageDirectories is for adding / removing
shareddata directory when the package updated with / without privilege
for shareddata. This process can be revoked when the package update is
failed.

Change-Id: Ibef2c65807682bc720f53fe8a3f78d9ca82d3c8c
Signed-off-by: Sangyoon Jang <jeremy.jang@samsung.com>
4 years agoAdd smoke-util functions to check existance of shared/data 18/218218/7
Sangyoon Jang [Wed, 20 Nov 2019 10:00:51 +0000 (19:00 +0900)]
Add smoke-util functions to check existance of shared/data

Change-Id: I0a8a7bb5cd8a2ff9889948b2d9d12566761c54c1
Signed-off-by: Sangyoon Jang <jeremy.jang@samsung.com>
4 years agoFix smoke-test functions for rollback cases 93/218093/3
Sangyoon Jang [Tue, 19 Nov 2019 09:10:04 +0000 (18:10 +0900)]
Fix smoke-test functions for rollback cases

The custom step cannot be added outside of installer, because steps are
initialized when Run() invoked.
(If some step added outside of installer, that step will be executed at
first, ignoring original steps)
This patch defines a new virtual function creating overridden installer
object which is fail at the end of steps or specific stage.

Change-Id: I00eed98d51bb4d083c421baa6a83f4b8ca17e90d
Signed-off-by: Sangyoon Jang <jeremy.jang@samsung.com>
4 years agoRelease version 1.31.0 00/218500/1 accepted/tizen/unified/20191201.221510 submit/tizen/20191128.101053 submit/tizen_5.5/20191204.061724 submit/tizen_5.5/20191205.065343
Junghyun Yeon [Mon, 25 Nov 2019 02:11:29 +0000 (11:11 +0900)]
Release version 1.31.0

Changes:
 - Fix build warning
 - Separate dotnet app existance checking logic
 - Make PkgQuery class as inner class of PkgQueryInterface
 - Reset data of PkgQuery at beginning of process
 - Change shared/data handle logic

Change-Id: I436bd47db2326ef9ba710dc25a8f119ba693719c
Signed-off-by: Junghyun Yeon <jungh.yeon@samsung.com>
4 years agoChange shared/data handle logic 03/210403/22
Junghyun Yeon [Fri, 19 Jul 2019 00:47:03 +0000 (09:47 +0900)]
Change shared/data handle logic

- Create shared data directory for each package at
  certain directory to prevent creation of N^2 smack labels.
- Create symlink at previous location for backward compatibility.

Change-Id: Ibb52bfef6843e3d38f91eabb418d87b46a4e918b
Signed-off-by: Junghyun Yeon <jungh.yeon@samsung.com>
4 years agoReset data of PkgQuery at beginning of process 59/218059/4
Sangyoon Jang [Tue, 19 Nov 2019 06:36:10 +0000 (15:36 +0900)]
Reset data of PkgQuery at beginning of process

The installer process can run multiple instance of same pkgid, so
PkgQuery should be reset.

Change-Id: Ibc2f6369e70831d10439cacbdaccbb9c94601906
Signed-off-by: Sangyoon Jang <jeremy.jang@samsung.com>
4 years agoMake PkgQuery class as inner class of PkgQueryInterface 38/218038/2
Sangyoon Jang [Tue, 19 Nov 2019 04:27:38 +0000 (13:27 +0900)]
Make PkgQuery class as inner class of PkgQueryInterface

PkgQuery class should be accessed by PkgQueryInterface only.

Change-Id: I9752fe4528fb24ff74e24d190d230b799a61fa96
Signed-off-by: Sangyoon Jang <jeremy.jang@samsung.com>
4 years agoSeparate dotnet app existance checking logic 28/217228/3
Junghyun Yeon [Thu, 7 Nov 2019 23:20:30 +0000 (08:20 +0900)]
Separate dotnet app existance checking logic

Separate dotnet app existance checking logic to be inherited.

Change-Id: I126800be19113f883e809533b92e4bb0bebc99b0
Signed-off-by: Junghyun Yeon <jungh.yeon@samsung.com>
4 years agoFix build warning 32/217432/2
Junghyun Yeon [Mon, 11 Nov 2019 12:53:13 +0000 (21:53 +0900)]
Fix build warning

Change-Id: I87e3be1b7629cd76299afa78e921927ad3e6525b
Signed-off-by: Junghyun Yeon <jungh.yeon@samsung.com>
4 years agoRelease version 1.30.14 63/217463/1 accepted/tizen/5.5/unified/20191118.084816 accepted/tizen/unified/20191115.083931 submit/tizen/20191112.050420 submit/tizen/20191114.120558 submit/tizen/20191115.055644 submit/tizen_5.5/20191112.065048 submit/tizen_5.5/20191114.121100 submit/tizen_5.5/20191115.055905
Ilho Kim [Tue, 12 Nov 2019 04:27:27 +0000 (13:27 +0900)]
Release version 1.30.14

Changes:
 - Block Wrong use of backend when uninstall
 - Add condition when checking dotnet version
 - Fix installing privileges of hybrid package
 - Fix coding rule
 - Implement clean operation for recovery
 - Fix codes for efficiency
 - Make up recovery file for sudden power loss
 - Refactor Checking Dependency routine
 - Fix step_check_upgradable's dependency check

Change-Id: Ifbc3492f0970128dde2863ca1af101a85a208d47
Signed-off-by: Ilho Kim <ilho159.kim@samsung.com>
4 years agoFix step_check_upgradable's dependency check 12/215812/8
Ilho Kim [Wed, 16 Oct 2019 07:01:05 +0000 (16:01 +0900)]
Fix step_check_upgradable's dependency check

When the package being upgraded has a dependency that was not present before
There is need to check for new dependencies

Change-Id: I948fc4c490fff9d0fc6d6f6cc73d91822c22a5a3
Signed-off-by: Ilho Kim <ilho159.kim@samsung.com>
4 years agoRefactor Checking Dependency routine 34/216534/8
Ilho Kim [Mon, 28 Oct 2019 06:45:19 +0000 (15:45 +0900)]
Refactor Checking Dependency routine

Change-Id: Id335b0475d510a3cce7b1c31d8526b9f19704ca3
Signed-off-by: Ilho Kim <ilho159.kim@samsung.com>
4 years agoMake up recovery file for sudden power loss 44/216744/4
Junghyun Yeon [Thu, 31 Oct 2019 11:17:50 +0000 (20:17 +0900)]
Make up recovery file for sudden power loss

- Backup recovery file itself before replace it with new one
- pkg_recovery now determines which recovery file to use :
  backed up one and original one.
  If both backup and original exists, backup will be removed.
  If only backup exists, it renames as original and will be used.
  If only original exists, it will be used directly.

Change-Id: I8a11841b36111decbba6c9091f27a05f4debcb9a
Signed-off-by: Junghyun Yeon <jungh.yeon@samsung.com>
4 years agoFix codes for efficiency 26/217026/3
Junghyun Yeon [Tue, 5 Nov 2019 11:52:45 +0000 (20:52 +0900)]
Fix codes for efficiency

- Remove unnecessary privilege checking routine.
- Integrate if statements to remove redundant exit checking routine.

Change-Id: I575e46ae134f1799cd4546491e17f82121c91795
Signed-off-by: Junghyun Yeon <jungh.yeon@samsung.com>
4 years agoImplement clean operation for recovery 57/216457/6
Junghyun Yeon [Fri, 25 Oct 2019 06:08:31 +0000 (15:08 +0900)]
Implement clean operation for recovery

Installer operates based on files so it could not work properly
when any package file has deleted. Sometimes abnormal termination during
updating package will fail due to loss of backup files, so when installer
pass through some threshold, its recovery operation should be "cleanup",
not revert into previous package.
This implementation sets recovery type as cleanup before removing backup files
and when recovery has invoked due to sudden power loss, cleanup will be performed.

Change-Id: I129003c514abf9b553b9687719ba28549893acb1
Signed-off-by: Junghyun Yeon <jungh.yeon@samsung.com>
4 years agoFix coding rule 22/217022/1
Junghyun Yeon [Tue, 5 Nov 2019 11:39:09 +0000 (20:39 +0900)]
Fix coding rule

Change-Id: I356aad208cf17ff5a44c181317ed4e7958a6685f
Signed-off-by: Junghyun Yeon <jungh.yeon@samsung.com>
4 years agoFix installing privileges of hybrid package 41/215741/4
Sangyoon Jang [Tue, 15 Oct 2019 07:03:13 +0000 (16:03 +0900)]
Fix installing privileges of hybrid package

Change-Id: I0b76b92943523a030f6df7e106b36338423737fc
Signed-off-by: Sangyoon Jang <jeremy.jang@samsung.com>
4 years agoAdd condition when checking dotnet version 92/215792/2
Junghyun Yeon [Wed, 16 Oct 2019 02:17:47 +0000 (11:17 +0900)]
Add condition when checking dotnet version

Preload-rw package could be dotnet package so
add condition to StepCheckTizenVersion to continue its installation
even if getting dotnet version through vconf has failed.

Change-Id: I6166f9c56eacd15e42f63ef42396303f3e1b4d61
Signed-off-by: Junghyun Yeon <jungh.yeon@samsung.com>
4 years agoBlock Wrong use of backend when uninstall 90/215190/5
Ilho Kim [Wed, 2 Oct 2019 09:25:48 +0000 (18:25 +0900)]
Block Wrong use of backend when uninstall

Change-Id: Ib7b62993f3b800765f59a60fc88dbfd73f4fb682
Signed-off-by: Ilho Kim <ilho159.kim@samsung.com>
4 years agoRelease version 1.30.13 55/214855/1 accepted/tizen_5.5_unified_mobile_hotfix tizen_5.5_mobile_hotfix accepted/tizen/5.5/unified/20191031.024100 accepted/tizen/5.5/unified/mobile/hotfix/20201027.064648 accepted/tizen/unified/20191011.015452 submit/tizen/20190927.070616 submit/tizen/20191001.095121 submit/tizen/20191002.002728 submit/tizen/20191010.034953 submit/tizen_5.5/20191031.000003 submit/tizen_5.5_mobile_hotfix/20201026.185102 tizen_5.5.m2_release
Ilho Kim [Fri, 27 Sep 2019 06:58:14 +0000 (15:58 +0900)]
Release version 1.30.13

Changes:
 - Fix making xmlDocPtr for tag plugin

Change-Id: Id021fc074420e6821b952e3842b02ba6bfabb80d
Signed-off-by: Ilho Kim <ilho159.kim@samsung.com>
4 years agoFix making xmlDocPtr for tag plugin 32/214832/5
Ilho Kim [Fri, 27 Sep 2019 02:04:28 +0000 (11:04 +0900)]
Fix making xmlDocPtr for tag plugin

Check all depth's tags and make only necessary information to plugin

Change-Id: I644c045e1d4fef1300b75cb9dd2609db52b01c04
Signed-off-by: Ilho Kim <ilho159.kim@samsung.com>
4 years agoRelease version 1.30.12 90/214290/1 submit/tizen/20190920.015601
Ilho Kim [Fri, 20 Sep 2019 01:38:39 +0000 (10:38 +0900)]
Release version 1.30.12

Changes:
 - Refactor creating shared/data directory
 - Check config file for disabling legacy shareddata dir support
 - Fix mismatching of error code for signal
 - Change the start location of package-recovery.service
 - Fix RecoverSignature
 - Fix coding rule

Change-Id: I5400b3391036d08a0f7e6eed1777d087ef7e101c
Signed-off-by: Ilho Kim <ilho159.kim@samsung.com>
4 years agoFix coding rule 14/214114/1
Junghyun Yeon [Wed, 18 Sep 2019 07:15:44 +0000 (16:15 +0900)]
Fix coding rule

Change-Id: I2cdd0155cf93dc2aa7ee04d6ab9840fa14904e9c
Signed-off-by: Junghyun Yeon <jungh.yeon@samsung.com>
4 years agoFix RecoverSignature 19/213419/5
Junghyun Yeon [Thu, 5 Sep 2019 06:23:22 +0000 (15:23 +0900)]
Fix RecoverSignature

- Privilege level should be initialized to untrusted to
  get privilege level from signature file if exists.
- Change root path of signature files for wgt packages.

Change-Id: Ie2e1055d6201753f742b54e7398506ad6aa01da3
Signed-off-by: Junghyun Yeon <jungh.yeon@samsung.com>
4 years agoChange the start location of package-recovery.service 66/208266/3
INSUN PYO [Fri, 21 Jun 2019 02:26:38 +0000 (11:26 +0900)]
Change the start location of package-recovery.service

The default.target.wants is not used for this purpose.
So the localtion of package-recovery.service is multi-user.target.wants.

Change-Id: I3c518b04e04c54adc4094b33f0a1170a31968a02

4 years agoFix mismatching of error code for signal 36/213436/3
Sangyoon Jang [Thu, 5 Sep 2019 07:52:14 +0000 (16:52 +0900)]
Fix mismatching of error code for signal

Change-Id: I57f3b7555f3f36fd4f9eb47f314cef6fd0480103
Signed-off-by: Sangyoon Jang <jeremy.jang@samsung.com>
4 years agoCheck config file for disabling legacy shareddata dir support 33/213433/3
Sangyoon Jang [Thu, 5 Sep 2019 07:42:34 +0000 (16:42 +0900)]
Check config file for disabling legacy shareddata dir support

Change-Id: I7072f6983cde10ae8ab226462834cc0272b81239
Signed-off-by: Sangyoon Jang <jeremy.jang@samsung.com>
4 years agoRefactor creating shared/data directory 25/213425/3
Sangyoon Jang [Thu, 5 Sep 2019 07:26:17 +0000 (16:26 +0900)]
Refactor creating shared/data directory

Change-Id: I2b849df574fab2c17fb44c482abbd24b278f5f0a
Signed-off-by: Sangyoon Jang <jeremy.jang@samsung.com>
4 years agoRelease version 1.30.11 28/213428/1 accepted/tizen/unified/20190906.111946 submit/tizen/20190905.075836
Ilho Kim [Thu, 5 Sep 2019 07:30:25 +0000 (16:30 +0900)]
Release version 1.30.11

Changes:
 - Fix memory leak
 - Remove checking cert mismatch from Signature class
 - Add FileLogBackend class
 - Log installation history
 - Change log directory to /var/log/appfw/app-installers
 - Fix Uninitialized scalar field

Change-Id: I211342a2838d4d1f3c341c7e82a91dff99513aa8
Signed-off-by: Ilho Kim <ilho159.kim@samsung.com>
4 years agoFix Uninitialized scalar field 10/213210/6
Ilho Kim [Tue, 3 Sep 2019 01:35:58 +0000 (10:35 +0900)]
Fix Uninitialized scalar field

Change-Id: I0eb2a1e0d574b51336b52342e779a2ca453b3ad2
Signed-off-by: Ilho Kim <ilho159.kim@samsung.com>
4 years agoChange log directory to /var/log/appfw/app-installers 00/213300/2
Sangyoon Jang [Wed, 4 Sep 2019 05:30:14 +0000 (14:30 +0900)]
Change log directory to /var/log/appfw/app-installers

Change-Id: I5bf3246c12f78d0741b12350b9476901711a74a6
Signed-off-by: Sangyoon Jang <jeremy.jang@samsung.com>
4 years agoLog installation history 90/213190/4
Sangyoon Jang [Mon, 2 Sep 2019 10:59:54 +0000 (19:59 +0900)]
Log installation history

Change-Id: I760f67df0fe39f714be4370e95f94e7326f09fc2
Signed-off-by: Sangyoon Jang <jeremy.jang@samsung.com>
4 years agoAdd FileLogBackend class 89/213189/2
Sangyoon Jang [Mon, 2 Sep 2019 10:39:12 +0000 (19:39 +0900)]
Add FileLogBackend class

FileLogBackend is custom logbackend class.

Requires:
 - https://review.tizen.org/gerrit/#/c/platform/core/appfw/manifest-parser/+/213188

Change-Id: I48ddcfa63cc0dce04cf81137e1c4a9e4323cb5b6
Signed-off-by: Sangyoon Jang <jeremy.jang@samsung.com>
4 years agoRemove checking cert mismatch from Signature class 27/213227/1
Sangyoon Jang [Tue, 3 Sep 2019 05:27:53 +0000 (14:27 +0900)]
Remove checking cert mismatch from Signature class

This should be done at StepCheckOldCertificate step.

Change-Id: I9923c55f02f476cee57e90ed91e470bdf318231b
Signed-off-by: Sangyoon Jang <jeremy.jang@samsung.com>
4 years agoFix memory leak 82/213082/2
Sangyoon Jang [Fri, 30 Aug 2019 05:52:58 +0000 (14:52 +0900)]
Fix memory leak

Change-Id: Iab2eebe7a83897c5be850a7aecaf59327018c31a
Signed-off-by: Sangyoon Jang <jeremy.jang@samsung.com>
4 years agoRelease version 1.30.10 99/212999/1 accepted/tizen/unified/20190903.052625 submit/tizen/20190829.072413 submit/tizen/20190902.052445
Ilho Kim [Thu, 29 Aug 2019 07:09:50 +0000 (16:09 +0900)]
Release version 1.30.10

Changes:
 - Add GetRecoverFileInfo for recovery test

Change-Id: I754666b4d5d0ec1a8a00cbccca1d39e17d0a7256
Signed-off-by: Ilho Kim <ilho159.kim@samsung.com>
4 years agoAdd GetRecoverFileInfo for recovery test 35/212535/4
Ilho Kim [Thu, 22 Aug 2019 11:55:47 +0000 (20:55 +0900)]
Add GetRecoverFileInfo for recovery test

Related changes
 - https://review.tizen.org/gerrit/#/c/platform/core/appfw/tpk-backend/+/212537/

Change-Id: Ia0e60e6285bd2f69f56edb4f77bd4bcfa457bac1
Signed-off-by: Ilho Kim <ilho159.kim@samsung.com>
4 years agoRelease version 1.30.9 96/212896/1 accepted/tizen/unified/20190828.075500 submit/tizen/20190828.041046
Sangyoon Jang [Wed, 28 Aug 2019 04:08:51 +0000 (13:08 +0900)]
Release version 1.30.9

Changes:
 - Remove requires dependency wait-mount service from package-recovery service

Change-Id: I4ea05ee054e4e73cb7388a5a2b20897cd87b6475
Signed-off-by: Sangyoon Jang <jeremy.jang@samsung.com>
4 years agoRemove requires dependency wait-mount service from package-recovery service 71/212671/1
Sangyoon Jang [Mon, 26 Aug 2019 04:50:25 +0000 (13:50 +0900)]
Remove requires dependency wait-mount service from package-recovery service

wait-mount service may not exist at some profile.

Change-Id: Ifb95f3eced133649efb61c1076848474499df416
Signed-off-by: Sangyoon Jang <jeremy.jang@samsung.com>
4 years agoRelease version 1.30.8 86/212486/1 accepted/tizen/unified/20190823.092342 submit/tizen/20190822.055306
Ilho Kim [Thu, 22 Aug 2019 04:26:34 +0000 (13:26 +0900)]
Release version 1.30.8

Changes:
 - Add new install option
 - Fix manifest install/update

Change-Id: I7ae48377afb67c1129e8df0b68b5068acd3f7159
Signed-off-by: Ilho Kim <ilho159.kim@samsung.com>
4 years agoFix manifest install/update 29/212429/3
Ilho Kim [Wed, 21 Aug 2019 10:20:12 +0000 (19:20 +0900)]
Fix manifest install/update

- In case of manifest install, remain storage directories
- In case of manifest update in user request mode,
  do not needed update storage directory

Change-Id: Ib2a31be2d16bfd146f2e203b636bd283f46ec55a
Signed-off-by: Ilho Kim <ilho159.kim@samsung.com>
4 years agoAdd new install option 28/212328/4
Ilho Kim [Tue, 20 Aug 2019 08:24:26 +0000 (17:24 +0900)]
Add new install option

This option will be used for fast installation without optimization

Related changes
    [app-installers] https://review.tizen.org/gerrit/#/c/platform/core/appfw/app-installers/+/212328/
    [pkgmgr-tool] https://review.tizen.org/gerrit/#/c/platform/core/appfw/pkgmgr-tool/+/212326/
    [slp-pkgmgr] https://review.tizen.org/gerrit/#/c/platform/core/appfw/slp-pkgmgr/+/212327/

Change-Id: I5907597dcc3136278b26a7c020f9ef27a27cb1fa
Signed-off-by: Ilho Kim <ilho159.kim@samsung.com>
4 years agoRelease version 1.30.7 77/212277/1 accepted/tizen/unified/20190820.115026 submit/tizen/20190820.015710
Ilho Kim [Tue, 20 Aug 2019 01:36:45 +0000 (10:36 +0900)]
Release version 1.30.7

Changes:
 - Parse 'addon' element
 - Fix static analysis issue

Change-Id: I79bd27a0ee64f0505b58c329f03437d5b91f632b
Signed-off-by: Ilho Kim <ilho159.kim@samsung.com>
4 years agoFix static analysis issue 66/211766/6
Ilho Kim [Fri, 9 Aug 2019 04:12:40 +0000 (13:12 +0900)]
Fix static analysis issue

Fix NULL Pointer dereference when memory allocation fails

Change-Id: If23103d7135852ba98cc52173982cdc5bca47ca0
Signed-off-by: Ilho Kim <ilho159.kim@samsung.com>
4 years agoParse 'addon' element 06/210406/6
Junghoon Park [Fri, 19 Jul 2019 01:12:19 +0000 (10:12 +0900)]
Parse 'addon' element

- Requires :
  https://review.tizen.org/gerrit/#/c/platform/core/appfw/wgt-manifest-handlers/+/209520/
  https://review.tizen.org/gerrit/#/c/platform/core/appfw/wgt-backend/+/209744/

Change-Id: Ia902f8d049c86cce36f418d1a98fa67500e8f618
Signed-off-by: Junghoon Park <jh9216.park@samsung.com>
4 years agoRelease version 1.30.6 07/211807/1 accepted/tizen/unified/20190812.235615 submit/tizen/20190809.084335
Ilho Kim [Fri, 9 Aug 2019 08:15:02 +0000 (17:15 +0900)]
Release version 1.30.6

Changes:
 - Add function to kill child process used smoke test
 - Add dependency for mounting opt/usr
 - Skip dependency ckecking when backend has executed as root

Change-Id: I849d670be4d579cc9d13b9057880a917adbcdf74
Signed-off-by: Ilho Kim <ilho159.kim@samsung.com>
4 years agoSkip dependency ckecking when backend has executed as root 19/211719/1
Junghyun Yeon [Thu, 8 Aug 2019 08:59:36 +0000 (17:59 +0900)]
Skip dependency ckecking when backend has executed as root

Change-Id: I42a89ac1d5cc17d754c6580b9c650cad18473e01
Signed-off-by: Junghyun Yeon <jungh.yeon@samsung.com>
4 years agoAdd dependency for mounting opt/usr 15/211615/1
Junghoon Park [Wed, 7 Aug 2019 06:55:59 +0000 (15:55 +0900)]
Add dependency for mounting opt/usr

Change-Id: I2a8ea1cd6a4c099d57557044a3a52c3d4b27531b
Signed-off-by: Junghoon Park <jh9216.park@samsung.com>