platform/core/appfw/aul-1.git
2 years agoRelease version 0.46.1 98/271198/1 accepted/tizen/unified/20220218.152646 accepted/tizen/unified/20220221.224819 submit/tizen/20220217.011520 submit/tizen/20220220.235444
Hwankyu Jhun [Thu, 17 Feb 2022 01:06:37 +0000 (10:06 +0900)]
Release version 0.46.1

Changes:
 - Fix getting AppInfo
 - Fix static analysis issue

Change-Id: I8f058d3cd858a33dc2647bbb43f6b26dccff1b80
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
2 years agoFix static analysis issue 93/271193/2
Hwankyu Jhun [Thu, 17 Feb 2022 00:05:21 +0000 (09:05 +0900)]
Fix static analysis issue

- Initialize member variable

Change-Id: I6c5743825481a0e0585bf5c580b6e526d4b1d914
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
2 years agoFix getting AppInfo 08/271108/3
Hwankyu Jhun [Tue, 15 Feb 2022 09:42:32 +0000 (18:42 +0900)]
Fix getting AppInfo

If the pid parameter is equal to the current process ID, AppInfo::Get()
tries to get a package ID and a root path using pre-initialized information.
If calling aul_app_get_pkgid_bypid() or calling aul_get_preinit_root_path()
is failed, the method tries to get the application information using pkgmgr-info API.

Change-Id: I43c2261dc4822c66b61cccd2c7db066858c19709
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
2 years agoRelease version 0.46.0 38/271138/1 submit/tizen/20220216.003753
Changgyu Choi [Wed, 16 Feb 2022 00:35:13 +0000 (09:35 +0900)]
Release version 0.46.0

Changes:
 - Fix fd check condition
 - Add aulctl tool
 - Fix a bug about sending start app request
 - Fix api for aulctl
 - Improve aulctl tool
 - Add new features into boot sequence app info

Change-Id: I23344b3f7ab803e371c60f74060e60ed9af2c9c2
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
2 years agoAdd new features into boot sequence app info 83/271083/3
Changgyu Choi [Tue, 15 Feb 2022 06:46:12 +0000 (15:46 +0900)]
Add new features into boot sequence app info

This patch adds socket-ready, terminated timestamp
and status message.

socket-ready: The timestamp when the app socket was ready.
termianted: The timestamp when the app was terminated.
status-message: The message if the sub status of app is fail.

Change-Id: I8cd3414f1ba79ebd6ca3a12387cc3a0723b6335c
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
2 years agoImprove aulctl tool 16/271016/7
Changgyu Choi [Mon, 14 Feb 2022 08:04:17 +0000 (17:04 +0900)]
Improve aulctl tool

Changes:
 - Adds timestamp to status commands.
 - Changes output of list-dependencies command.
 - Adds description of aul-keys for boot sequence apis.
 - Moves boot_sequence sources to aulctl

Change-Id: I349ab1d29a2e9e147612053106bcaad6cf429514
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
2 years agoFix api for aulctl 02/270902/4
Changgyu Choi [Fri, 11 Feb 2022 02:22:52 +0000 (11:22 +0900)]
Fix api for aulctl

Changes:
 - Removes internal keys from args.
 - Removes mutex from boot_sequence api

Change-Id: I1d8630a7125cd85797b5b0de0e9368e3459fa28d
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
2 years agoFix a bug about sending start app request 01/270901/1
Hwankyu Jhun [Fri, 11 Feb 2022 02:17:54 +0000 (11:17 +0900)]
Fix a bug about sending start app request

After calling AppRequest::With(), the bundle data of AUL_K_APPID will be
removed by AppRequest::ClearInternalKey().

Change-Id: I7761dda9cc540ca3584d503b077b17eefbdfad57
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
2 years agoMerge "Add aulctl tool" into tizen
Changgyu Choi [Wed, 9 Feb 2022 02:27:48 +0000 (02:27 +0000)]
Merge "Add aulctl tool" into tizen

2 years agoAdd aulctl tool 90/268790/22
Changgyu Choi [Thu, 30 Dec 2021 08:50:37 +0000 (17:50 +0900)]
Add aulctl tool

The aulctl is Application boot sequence management tool.

command list:
 - list-apps [|uid]: Print list of boot sequence apps.
 - is-active [appid]: Print whether the app is activated.([active|inactive])
 - status [|appid]: Print status of the boot sequence app.
 - list-dependencies [|uid]: Print dependency grach of boot sequence apps.
 - reload [|uid]: Reload the boot squence app's information.
 - start [appid]: Start the app according to the dependencies.
 - stop [appid]: Stop the app.

Change-Id: I88325b7c33a216bd2853ebf1afafdd8cdb5e4b00
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
2 years agoFix fd check condition 42/270242/1
Changgyu Choi [Thu, 27 Jan 2022 04:25:52 +0000 (13:25 +0900)]
Fix fd check condition

Some conditions which are fd value checking are wrong.
This patch fixes these conditions.

Change-Id: Ib0fb7c73fe8dda95cb8a90e170c3604422e4a68c
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
2 years agoRelease version 0.45.2 05/270105/1 accepted/tizen/unified/20220128.144411 submit/tizen/20220126.005803
Hwankyu Jhun [Wed, 26 Jan 2022 00:52:50 +0000 (09:52 +0900)]
Release version 0.45.2

Changes:
 - Fix parsing vconf attributes of boot-sequence

Change-Id: Ib87639dbcb262ad6b98ace1853090fb295644342
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
2 years agoFix parsing vconf attributes of boot-sequence 97/269497/3
Hwankyu Jhun [Mon, 17 Jan 2022 06:32:32 +0000 (15:32 +0900)]
Fix parsing vconf attributes of boot-sequence

The format of vconf dependency option is changed.
'vconf-key', 'vconf-value' and 'vconf-type' are added for parsing vconf.

Change-Id: Ib927efec0bd0d58bbc48c09620ae46330c11e2d5
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
2 years agoRelease version 0.45.1 12/269712/1
Changgyu Choi [Thu, 20 Jan 2022 05:24:43 +0000 (14:24 +0900)]
Release version 0.45.1

Changes:
 - Change gcov installation path

Change-Id: I7422331ac5da3276b0d2fbe674b1a805304db578
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
2 years agoChange gcov installation path 74/269674/1
Changgyu Choi [Thu, 20 Jan 2022 03:48:45 +0000 (12:48 +0900)]
Change gcov installation path

Change-Id: I583ddc44595555f1ca679a9d7b7d54c92c33c0c7
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
2 years agoRelease version 0.45.0 30/269330/1 accepted/tizen/unified/20220117.135002 submit/tizen/20220113.022107
Hwankyu Jhun [Thu, 13 Jan 2022 02:09:05 +0000 (11:09 +0900)]
Release version 0.45.0

Changes:
 - Revert "Replace mock API"
 - Add boot sequencer parser plugin

Change-Id: I56e3d9e2630a0ba125e6c40f39eb1feeaad2edcb
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
2 years agoMerge "Add boot sequencer parser plugin" into tizen
HwanKyu Jhun [Thu, 13 Jan 2022 01:25:39 +0000 (01:25 +0000)]
Merge "Add boot sequencer parser plugin" into tizen

2 years agoAdd boot sequencer parser plugin 80/268480/37
Hwankyu Jhun [Thu, 23 Dec 2021 10:30:30 +0000 (19:30 +0900)]
Add boot sequencer parser plugin

The parser plugin is added for boot sequencer. The application can
defined dependencies of boot. AMD will start on-boot applications using
dependencies.
The aulctl tool is added for boot sequencer.

Change-Id: Ib7e8874228df6bf9cf0c5eabb3777d16402755f3
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
2 years agoMerge "Revert "Replace mock API"" into tizen
Junghoon Park [Wed, 12 Jan 2022 05:53:48 +0000 (05:53 +0000)]
Merge "Revert "Replace mock API"" into tizen

2 years agoRevert "Replace mock API" 54/269254/1
Junghoon Park [Wed, 12 Jan 2022 05:53:11 +0000 (05:53 +0000)]
Revert "Replace mock API"

This reverts commit d3a2fe0da5ace379466c837f656c2e4357207aa9.

Change-Id: Ib823cecb94ecd44321ded6215ad9c0d7ae1f58d7

2 years agoRelease version 0.44.2 61/269161/2 submit/tizen/20220110.232431 submit/tizen/20220111.230808
Hwankyu Jhun [Mon, 10 Jan 2022 23:20:28 +0000 (08:20 +0900)]
Release version 0.44.2

Changes:
 - Fix upgrade scripts
 - Add typecast for sign extension
 - Replace mock API
 - Add a missing db version set

Change-Id: I0fd7dc5d2fac4db091ddff4536fb9e3e5c9ab525
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
2 years agoAdd a missing db version set 62/269162/1
Hwankyu Jhun [Mon, 10 Jan 2022 23:18:58 +0000 (08:18 +0900)]
Add a missing db version set

The user_version is set to appsvc db.

Change-Id: Icb649d3d521e336d99a775a83a20b65d6c946e8f
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
2 years agoReplace mock API 03/269103/1
jh9216.park [Mon, 10 Jan 2022 01:12:00 +0000 (20:12 -0500)]
Replace mock API

- Use MOCK_METHOD instead of deprecated MOCK_METHODx

Change-Id: I15bd82fd4a59394ca669310155ec1e16f42274fc
Signed-off-by: jh9216.park <jh9216.park@samsung.com>
2 years agoAdd typecast for sign extension 32/268932/2
Changgyu Choi [Wed, 5 Jan 2022 03:24:53 +0000 (12:24 +0900)]
Add typecast for sign extension

Change-Id: I8aab5bb2492074ee0dfe4652720da788d2c9f4a7
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
2 years agoFix upgrade scripts 11/268911/3
Hwankyu Jhun [Wed, 5 Jan 2022 00:15:22 +0000 (09:15 +0900)]
Fix upgrade scripts

The 1_component_db_upgrade.sh script is added for upgrading the component db.
The 1_appsvc_db_upgrade.sh script is fixed to set the permissions to the appsvc db.

Change-Id: I7a66b0e5b3b660ddb12bfe84ecb5f289a2a7022c
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
2 years agoRelease version 0.44.1 13/268913/1 accepted/tizen/unified/20220106.124839 submit/tizen/20220105.003349
Changgyu Choi [Wed, 5 Jan 2022 00:30:08 +0000 (09:30 +0900)]
Release version 0.44.1

Changes:
 - Fix static issues

Change-Id: I22fcc9072f306cfb5cb11735afa4e9baa8bd06e2
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
2 years agoFix static issues 78/268878/5
Changgyu Choi [Tue, 4 Jan 2022 06:12:01 +0000 (15:12 +0900)]
Fix static issues

Change-Id: I5ecfd65def7b4c99bcccd04a86902154aec0e5e1
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
2 years agoRelease version 0.44.0 62/268562/2 accepted/tizen/unified/20211228.140439 submit/tizen/20211227.022623
Changgyu Choi [Mon, 27 Dec 2021 02:17:52 +0000 (11:17 +0900)]
Release version 0.44.0

Changes:
 - Add new APIs

Change-Id: Iafb991ede8b6898df4643fff101ed66bc159eb4e
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
2 years agoMerge "Add new APIs" into tizen
Changgyu Choi [Mon, 27 Dec 2021 02:17:12 +0000 (02:17 +0000)]
Merge "Add new APIs" into tizen

2 years agoAdd new APIs 26/267126/10
Changgyu Choi [Fri, 26 Nov 2021 02:54:45 +0000 (11:54 +0900)]
Add new APIs

This patch adds apis for runtime restart app setting.

Adds:
 - aul_set_auto_restart()
 - aul_unset_auto_restart()

Change-Id: I302f64b97203817c1d4abe26f22613464566bb60
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
2 years agoRelease version 0.43.7 46/267546/1 accepted/tizen/6.5/unified/20211207.235706 accepted/tizen/unified/20211208.121825 submit/tizen/20211207.050330 submit/tizen_6.5/20211207.050353
Hwankyu Jhun [Tue, 7 Dec 2021 05:00:08 +0000 (14:00 +0900)]
Release version 0.43.7

Changes:
 - Fix socket option of rpc port request

Change-Id: I30827cd4ffee480a2ddd106876c71f6d0a353e99
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
2 years agoFix socket option of rpc port request 45/267545/1
Hwankyu Jhun [Tue, 7 Dec 2021 04:54:40 +0000 (13:54 +0900)]
Fix socket option of rpc port request

To pending the launch request, this patch changes the socket option to
AUL_SOCK_QUEUE. If the callee application is not ready to get launch requests,
AMD will pend the launch request to the pending item.

Change-Id: I10b7fd4117d38e3ede6b0c31128b1d729cfcebf6
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
2 years agoRelease version 0.43.6 03/266603/1 submit/tizen/20211116.094504 submit/tizen_6.5/20211118.002534
Changgyu Choi [Tue, 16 Nov 2021 02:25:13 +0000 (11:25 +0900)]
Release version 0.43.6

Changes:
 - Revert "Write socket status to Id file"
 - Change to sqlite3_close_v2()

Change-Id: I7e0d025b1987aa56b5e3616ca2e5954a51f37e69
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
2 years agoChange to sqlite3_close_v2() 60/266560/1
Changgyu Choi [Mon, 15 Nov 2021 09:56:12 +0000 (18:56 +0900)]
Change to sqlite3_close_v2()

The Database class opens db with sqlite3_open_v2().
So it should close using sqlite3_close_v2()

Change-Id: I9f16fe43d8871cd3d497fe3985d367fc3072fbca
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
2 years agoRevert "Write socket status to Id file" 05/266405/1
Hwankyu Jhun [Thu, 11 Nov 2021 14:53:49 +0000 (23:53 +0900)]
Revert "Write socket status to Id file"

This reverts commit c947298db984eb156a7781365029e5ca2667ffbd.

Change-Id: I4cd50ad35167858be3a9fee82874f211dea4bcb5

2 years agoRelease version 0.43.5 74/266374/1 submit/tizen/20211111.065648 submit/tizen_6.5/20211111.065740
Hwankyu Jhun [Thu, 11 Nov 2021 06:55:04 +0000 (15:55 +0900)]
Release version 0.43.5

Changes:
 - Write socket status to Id file

Change-Id: I13d6edfeee51649453093eacace08454d2144ea7
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
2 years agoWrite socket status to Id file 60/266360/3
Hwankyu Jhun [Thu, 11 Nov 2021 03:51:10 +0000 (12:51 +0900)]
Write socket status to Id file

While calling the aul_initialize() function, the process writes the flag to
the id file. If AMD is restarted, AMD will check the file whether
the socket of the application is listening or not.

Requires:
 - https://review.tizen.org/gerrit/#/c/platform/core/appfw/launchpad/+/266359/
 - https://review.tizen.org/gerrit/#/c/platform/core/appfw/aul-1/+/266360/
 - https://review.tizen.org/gerrit/#/c/platform/core/appfw/amd/+/266361/

Change-Id: Ie2e158bd8b31a1f3140d13022bed1524911dd375
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
2 years agoRelease version 0.43.4 53/266053/1 accepted/tizen/6.5/unified/20211109.041647 accepted/tizen/unified/20211109.042841 submit/tizen/20211105.011855 submit/tizen/20211107.232151 submit/tizen/20211109.010519 submit/tizen_6.5/20211105.053806
Hwankyu Jhun [Fri, 5 Nov 2021 00:28:56 +0000 (09:28 +0900)]
Release version 0.43.4

Changes:
 - Adjust timer registration

Change-Id: I793b30f3fbf5f20f9527eb33ebdb802a3e612cce
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
2 years agoAdjust timer registration 50/266050/1
Hwankyu Jhun [Thu, 4 Nov 2021 23:22:27 +0000 (08:22 +0900)]
Adjust timer registration

Currently, the timing issue exists if the idler is invoked immediately.
Before adding the request to the idler, the timer will be added to fix
the timing issue.

Change-Id: Ief5ea019371aa1c6da763a29bdcf2688444b67eb
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
2 years agoRelease version 0.43.3 24/266024/1 submit/tizen/20211104.074108 submit/tizen/20211104.225435
Hwankyu Jhun [Thu, 4 Nov 2021 06:38:32 +0000 (15:38 +0900)]
Release version 0.43.3

Changes:
 - Remove socket link

Change-Id: I3bed8cb433055467972143d3a9df31152ef60a94
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
2 years agoRemove socket link 09/266009/4
Hwankyu Jhun [Thu, 4 Nov 2021 03:07:31 +0000 (12:07 +0900)]
Remove socket link

While calling the aul_sock_destroy_server() function, the function
removes the socket link if that exists. This patch is to remove
the unnecessary link file.

Change-Id: I4416a0965316fe0fc026ad06d556254a3a66049f
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
2 years agoRelease version 0.43.2 74/265974/1 accepted/tizen/unified/20211104.123532 submit/tizen/20211103.040120
Hwankyu Jhun [Wed, 3 Nov 2021 03:58:23 +0000 (12:58 +0900)]
Release version 0.43.2

Changes:
 - Fix aul app socket handler

Change-Id: If72b452a2e3d89097acd39ce17fcbb3b6165d9e3
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
2 years agoFix aul app socket handler 35/265335/13
Hwankyu Jhun [Fri, 15 Oct 2021 05:49:13 +0000 (14:49 +0900)]
Fix aul app socket handler

After handling requests, AUL doesn't close the socket connection.
AMD monitors the socket connection. When the connection is closed,
AMD removes the status information of the application. This is a
fallback of the zombie process of the application.

Requires:
 - https://review.tizen.org/gerrit/#/c/platform/core/appfw/aul-1/+/265335/
 - https://review.tizen.org/gerrit/#/c/platform/core/appfw/amd/+/265818/
 - https://review.tizen.org/gerrit/#/c/platform/core/appfw/launchpad/+/265825/

Change-Id: Ia2b7e8ddaa2ced39862cb0fc085be1b08ff78d49
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
2 years agoRelease version 0.43.1 64/265764/1 accepted/tizen/unified/20211101.140258 submit/tizen/20211028.063318 submit/tizen/20211101.102058
Hwankyu Jhun [Thu, 28 Oct 2021 06:31:10 +0000 (15:31 +0900)]
Release version 0.43.1

Changes:
 - Fix build error

Change-Id: Iac5bc87624b9e718513ad7a0d5e975f8bb5cb391
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
2 years agoFix build error 63/265763/1
Hwankyu Jhun [Thu, 28 Oct 2021 06:29:40 +0000 (15:29 +0900)]
Fix build error

- Fixes wrong log format

Change-Id: Ie939e7f33f9975eb219d573cf8966c42659b69d6
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
2 years agoRelease version 0.43.0 54/265754/1 submit/tizen/20211028.054746
Hwankyu Jhun [Thu, 28 Oct 2021 05:41:39 +0000 (14:41 +0900)]
Release version 0.43.0

Changes:
 - Fix Database ctor class
 - Refactor aul_test tool
 - Add new tests to aul_test tool
 - Add appsvc db upgrade script

Change-Id: Ibaf89c51c6f8d1d616c11dddcbea27c6e03c167e
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
2 years agoAdd appsvc db upgrade script 00/265400/5
Hwankyu Jhun [Mon, 18 Oct 2021 07:34:14 +0000 (16:34 +0900)]
Add appsvc db upgrade script

To upgrade database files properly, the user version is added to database files.
From Tizen 6.5, the schema of the appsvc was changed. The invalid foreign key
was removed. The 1_appsvc_db_upgrade.sh file is for upgrading the appsvc db file.

Adds:
 - 501.appsvc_db_upgrade.sh
 - 1_appsvc_db_upgrade.sh

Change-Id: I173929f757799d9e7bc25361a37b4a6e3847b9fd
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
2 years agoAdd new tests to aul_test tool 76/265276/2
Hwankyu Jhun [Wed, 13 Oct 2021 22:45:59 +0000 (07:45 +0900)]
Add new tests to aul_test tool

To test alias appid feature, new testcases are added.

Adds:
 - aul_set_alias_appid_test
 - aul_unset_alias_appid_test
 - aul_enable_alias_info_test
 - aul_disable_alias_info_test

Change-Id: Ib9f99c28963a3ec7c8723b7f91cab644972cfa3a
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
2 years agoRefactor aul_test tool 60/265060/15
Hwankyu Jhun [Fri, 8 Oct 2021 05:36:55 +0000 (14:36 +0900)]
Refactor aul_test tool

The aul_test tool is implemented using C++.
The testcases are separated from the aul_test.c file.
If the developer wants to add a new testcase, a new test file should
be added. The test class had to be derived from the AulTest class.
And, AUL_TEST_RESGITER() has to be called to add the testcase.

Change-Id: I98e6a56439c7cb8acc6a63021005b7a5b1927279
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
2 years agoFix Database ctor class 48/265248/1
Hwankyu Jhun [Wed, 13 Oct 2021 07:32:08 +0000 (16:32 +0900)]
Fix Database ctor class

The enable_foreign_keys flag is added to deactivate foreign keys in sqlite3.
The appsvc.db doesn't use foreign keys.

Change-Id: I5f810e320592181674402440d2262a9b79e15969
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
2 years agoRelease version 0.42.2 59/265159/1
Changgyu Choi [Tue, 12 Oct 2021 06:36:39 +0000 (15:36 +0900)]
Release version 0.42.2

Changes:
 - Implement finding main symbol from .dynsym
 - Fix static analysis issues
 - Fix wrong query of alias info

Change-Id: I9a1563f64d06a63fb0e15a7c1877673bb629d07b
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
2 years agoFix wrong query of alias info 55/265155/2
Hwankyu Jhun [Tue, 12 Oct 2021 05:12:47 +0000 (14:12 +0900)]
Fix wrong query of alias info

When calling the sqlite3_prepare_v2() function, the error is occurred.
The error is 'foreign key mismatch'. This patch removes unnecessary query.

Change-Id: Id711b8f6fa6a192e55dd35a5e7b3cefc34e4acb8
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
2 years agoFix static analysis issues 39/265139/6
Changgyu Choi [Tue, 12 Oct 2021 02:14:45 +0000 (11:14 +0900)]
Fix static analysis issues

Changes:
 - Adds explicit type casting.

Change-Id: I3fe1030167582498b80313af7df1bdcdfc8a5780
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
2 years agoImplement finding main symbol from .dynsym 23/264923/5
Hwankyu Jhun [Tue, 5 Oct 2021 07:48:33 +0000 (16:48 +0900)]
Implement finding main symbol from .dynsym

This patch finds the main symbol using Elf64_Shdr and Elf64_Sym.
If the main symbol doesn't exist, the plugin prints the warning log for
debugging.

Change-Id: Ib46bfcc66319c13be443d76773ab3f41b7496f12
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
2 years agoRelease version 0.42.1 71/264771/1 accepted/tizen/6.5/unified/20211028.095513 accepted/tizen/unified/20211001.001321 submit/tizen/20210929.102735 submit/tizen_6.5/20211028.162101 tizen_6.5.m2_release
Hwankyu Jhun [Wed, 29 Sep 2021 10:26:17 +0000 (19:26 +0900)]
Release version 0.42.1

Changes:
 - Remove libelf dependency from libexec-checker.so

Change-Id: I945d662cdd265fc4182b3a38477bdc8a40544d76
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
2 years agoRemove libelf dependency from libexec-checker.so 70/264770/1
Hwankyu Jhun [Wed, 29 Sep 2021 10:22:44 +0000 (19:22 +0900)]
Remove libelf dependency from libexec-checker.so

Currently, aul has a license problem that conflicts with GPL-2.0+.
This patch removes codes related to libelf library.

TODO:
 - Implement finding main symbol using Elf64_Sym

Change-Id: Ib7e6fef06e3461b156cd4ad35893dbc794c343f1
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
2 years agoRelease version 0.42.0 39/264739/1
Hwankyu Jhun [Wed, 29 Sep 2021 05:01:42 +0000 (14:01 +0900)]
Release version 0.42.0

Changes:
 - Add new functions for managing process group

Change-Id: Iaea3c04294b4797785ae0f4aa1c8293915a53939
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
2 years agoAdd new functions for managing process group 01/264701/2
Hwankyu Jhun [Tue, 28 Sep 2021 10:00:10 +0000 (19:00 +0900)]
Add new functions for managing process group

To manage oom score of child processes of the application properly,
AMD and resourced must know the process ID. When the child process calls
the aul_proc_group_add() function, AMD sends the app group signal to
resourced to notify the process group information.
If the oom score of the main process is changed, the oom score of the
child process is also changed by resourced.

Adds:
 - aul_proc_group_add()
 - aul_proc_group_remove()

Change-Id: Ic02f958bf32110e794efbdacc64c6cf8e3d8cfe4
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
2 years agoRelease version 0.41.1 00/263800/1 accepted/tizen/unified/20210913.123353 submit/tizen/20210910.074525
Hwankyu Jhun [Fri, 10 Sep 2021 07:43:23 +0000 (16:43 +0900)]
Release version 0.41.1

Changes:
 - Fix typo in header guard
 - Fix metadata plugin parser handlers

Change-Id: Ib6ea62fee68d156bf30692740b8a97f7aea57b82
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
2 years agoFix metadata plugin parser handlers 98/263798/2
Hwankyu Jhun [Fri, 10 Sep 2021 07:24:15 +0000 (16:24 +0900)]
Fix metadata plugin parser handlers

This patch removes "REMOVE" step. Currently, when the package is
upgrading, the "UPGRADE" function is invoked. And then, the "REMOVE"
function is invoked. In this case, the metadata plugin parser removes
installed data from the appsvc database. This patch prevents to remove
the alias and allowed infos.

Change-Id: I80080adc0d5d1538bfb88ed3001b99e5a034a09c
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
2 years agoFix typo in header guard 60/263760/1
Slava Barinov [Thu, 9 Sep 2021 11:20:28 +0000 (14:20 +0300)]
Fix typo in header guard

Change-Id: Id21a2a88f293b765bf8efb6edc393fb0ef0470e3
Signed-off-by: Slava Barinov <v.barinov@samsung.com>
2 years agoRelease version 0.41.0 23/263723/1 accepted/tizen/unified/20210910.004746 submit/tizen/20210909.012745
Hwankyu Jhun [Thu, 9 Sep 2021 01:19:26 +0000 (10:19 +0900)]
Release version 0.41.0

Changes:
 - Add new internal APIs

Change-Id: Ic28db50c9bee49e0792e96e992065c50c49d012d
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
2 years agoAdd new internal APIs 88/263688/5
Hwankyu Jhun [Wed, 8 Sep 2021 06:56:44 +0000 (15:56 +0900)]
Add new internal APIs

When the window of the application is appeared, the event callback function
is called.

Adds:
 - aul_window_register_event_cb()
 - aul_window_deregister_event_cb()

Change-Id: I9f588043fca36c37a74f6be53e531f479ad9fa88
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
2 years agoRelease version 0.40.0 53/263053/2 accepted/tizen/unified/20210826.024559 submit/tizen/20210826.020925
Changgyu Choi [Wed, 25 Aug 2021 05:53:01 +0000 (14:53 +0900)]
Release version 0.40.0

Changes:
 - Separate the exec-checker plugin to rpm package

Change-Id: I485415d866d80c1b4f34c9285ef66473890f5906
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
2 years agoSeparate the exec-checker plugin to rpm package 41/263041/2
Changgyu Choi [Wed, 25 Aug 2021 03:41:38 +0000 (12:41 +0900)]
Separate the exec-checker plugin to rpm package

Change-Id: Iab6db7263710402975524333b1f527312576a9cd
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
2 years agoRelease version 0.39.3 12/262612/1 accepted/tizen/unified/20210818.124616 submit/tizen/20210817.013418
Hwankyu Jhun [Tue, 17 Aug 2021 01:02:06 +0000 (10:02 +0900)]
Release version 0.39.3

Changes:
 - Fix a bug about app group launch

Change-Id: Ied23084e276d5ed64c7ab0aabb7eefbbed5ee600
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
2 years agoFix a bug about app group launch 85/262585/1
Hwankyu Jhun [Fri, 13 Aug 2021 10:02:57 +0000 (19:02 +0900)]
Fix a bug about app group launch

If the instance ID already exists, AUL doesn't not set a new instance ID
to the bundle object.

Change-Id: I2198fa5e31493d59e7347f05f8288643f27a5ce4
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
2 years agoRelease version 0.39.2 93/262493/1 submit/tizen/20210812.055732
Changgyu Choi [Thu, 12 Aug 2021 04:28:18 +0000 (13:28 +0900)]
Release version 0.39.2

Changes:
 - Change method of checking main symbol

Change-Id: If50f262097083fa244b1c72b2b94eeb87753d677
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
2 years agoChange method of checking main symbol 23/262423/11
Changgyu Choi [Tue, 10 Aug 2021 08:14:12 +0000 (17:14 +0900)]
Change method of checking main symbol

Some binary may need to launch daemons for loading them.
In special case such as mic build, deamons are not launched.
As a result, the parser should not use dlopen().

Change-Id: I102eb220d4ecab2657668a335af95257de981e79
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
2 years agoRelease version 0.39.1 32/262032/1 accepted/tizen/unified/20210804.085610 submit/tizen/20210802.031114 submit/tizen/20210802.224946
jh9216.park [Mon, 2 Aug 2021 03:09:26 +0000 (23:09 -0400)]
Release version 0.39.1

Changes:
 - Fix static analysis issues

Change-Id: If52ac4005d6442773ae77f416a4e422caf9f0d59
Signed-off-by: jh9216.park <jh9216.park@samsung.com>
2 years agoFix static analysis issues 31/262031/1
jh9216.park [Mon, 2 Aug 2021 02:57:27 +0000 (22:57 -0400)]
Fix static analysis issues

Change-Id: I826b51914540f0c8c6840e17b8e89e95935c144a
Signed-off-by: jh9216.park <jh9216.park@samsung.com>
2 years agoRelease version 0.39.0 34/261734/1 accepted/tizen/unified/20210726.135513 submit/dev/20210723.090104 submit/tizen/20210723.090533
Changgyu Choi [Fri, 23 Jul 2021 08:58:51 +0000 (17:58 +0900)]
Release version 0.39.0

Changes:
 - Add parser plugin for checking executable file

Change-Id: I99dc1345f9df88ad89dd82d3b10774a25d1d3b6e
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
2 years agoAdd parser plugin for checking executable file 47/259447/24
Changgyu Choi [Tue, 8 Jun 2021 06:19:55 +0000 (15:19 +0900)]
Add parser plugin for checking executable file

When a package is installed, the parser checks executable files.
If the package's type is "C/C++", it checks below condition.

   1) Check the file is whether same architecture with the platform.
   2) Check whether shared object or not.
   3) Check to have "main" symbol.
   4) Check that libraries with dependency on the file are linkable.

Change-Id: I4b17b13c15ab63e2cb6479ef78d05dda6512a11e
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
2 years agoRelease version 0.38.0 56/261556/1 accepted/tizen/unified/20210722.124938 submit/tizen/20210721.064629
Hwankyu Jhun [Wed, 21 Jul 2021 06:19:48 +0000 (15:19 +0900)]
Release version 0.38.0

Changes:
 - Refactor aul window
 - Add an exception handling about recvmsg()
 - Add a new API to attach window below parent window

Change-Id: I215f0e8dcb74b0ac4a63bddc0dc374efcc055c96
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
2 years agoAdd a new API to attach window below parent window 14/261414/3
Hwankyu Jhun [Mon, 19 Jul 2021 02:19:24 +0000 (11:19 +0900)]
Add a new API to attach window below parent window

The function attaches the child window below the parent window.

Adds:
 - aul_window_attach_window_below();

Change-Id: Ib3c2bc624617eda94d272b81e5aad07fe64f17e9
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
2 years agoAdd an exception handling about recvmsg() 34/261534/1
Hwankyu Jhun [Wed, 21 Jul 2021 01:53:47 +0000 (10:53 +0900)]
Add an exception handling about recvmsg()

When calling the recvmsg(), the function returns a negative error value
immediately if the receive is interrupted by delivering of a signal.
This patch adds an exception handling for the error case.
If the errno is EINTR, calling the recvmsg() is tried for receiving the message
from the socket fd again.

Change-Id: I78ffc49bb9b128d14db489db95881fb48f009186
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
2 years agoRefactor aul window 27/261427/4
Hwankyu Jhun [Mon, 19 Jul 2021 00:39:29 +0000 (09:39 +0900)]
Refactor aul window

It's implmented using C++ language. The aul_window tool is added for
testing functions.

Change-Id: Iadf8c7c9fdecc5162c6ccd69d31a87b5cf0424c9
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
2 years agoRelease version 0.37.1 96/261296/1 accepted/tizen/unified/20210716.131326 submit/tizen/20210715.032102
Hwankyu Jhun [Thu, 15 Jul 2021 02:56:35 +0000 (11:56 +0900)]
Release version 0.37.1

Changes:
 - Remove unnecessary slash

Change-Id: I87eb012686349ce105a9af39b76128d2484e200a
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
2 years agoRemove unnecessary slash 72/261172/1
Hwankyu Jhun [Tue, 13 Jul 2021 01:18:13 +0000 (10:18 +0900)]
Remove unnecessary slash

Change-Id: I640f73763ed4c80220d15d916783d626efbdac22
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
2 years agoRelease version 0.37.0 21/261121/1 accepted/tizen/unified/20210713.124140 submit/tizen/20210712.081524
Hwankyu Jhun [Mon, 12 Jul 2021 07:58:49 +0000 (16:58 +0900)]
Release version 0.37.0

Changes:
 - Add new functions for RPC-Port

Change-Id: I058201be97d6dbbd5fa1b299c719a11d20e3ca14
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
2 years agoAdd new functions for RPC-Port 65/259865/31
Hwankyu Jhun [Wed, 16 Jun 2021 06:46:30 +0000 (15:46 +0900)]
Add new functions for RPC-Port

After this patch is applied, the rpc-port uses unix domain socket
instead of socket pair. When the stub calls aul_rpc_port_create(), AMD
creates the socket. And then, AMD sends the socket fd to the stub.
The stub process uses the received socket fd for managing the connection.

Adds:
 - aul_rpc_port_usr_prepare_stub()
 - aul_rpc_port_create()
 - aul_rpc_port_usr_create()
 - aul_rpc_port_destroy()
 - aul_rpc_port_usr_destroy()
 - aul_rpc_port_add_watch()
 - aul_rpc_port_usr_add_watch()
 - aul_rpc_port_remove_watch()
 - aul_rpc_port_exist()
 - aul_rpc_port_usr_exist()
 - aul_rpc_port_get_path()
 - aul_rpc_port_usr_get_path()

Change-Id: I71a7bdaf7ba50e456c6662c524bf3d833030e4e6
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
2 years agoRelease version 0.36.0 02/261002/1 accepted/tizen/unified/20210709.081222 accepted/tizen/unified/20210712.025024 submit/tizen/20210708.082443 submit/tizen/20210708.103729 submit/tizen/20210709.063928
Hwankyu Jhun [Thu, 8 Jul 2021 08:04:59 +0000 (17:04 +0900)]
Release version 0.36.0

Changes:
 - Remove build warning message
 - Support Process Name Setter/Getter
 - Fix a log

Change-Id: I3909a41aebac3f3fc2e1e8f7606ae890db2b5866
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
2 years agoFix a log 67/260867/2
Changgyu Choi [Tue, 6 Jul 2021 05:15:20 +0000 (14:15 +0900)]
Fix a log

Change-Id: I1c5db6d64164ee40fff63ba148cdd7834c60ddc6
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
2 years agoSupport Process Name Setter/Getter 15/260615/18
Hwankyu Jhun [Tue, 29 Jun 2021 23:55:17 +0000 (08:55 +0900)]
Support Process Name Setter/Getter

Some daemons want to commucate with the running applications using IPC API
of App Framework like rpc-port or message-port. To use APIs, the application ID
is required. Even if the process is not the Tizen application, we support to set
the name of the process.

Removes:
 - aul_proc_get_usr_bypid()

Adds:
 - aul_proc_get_uid()
 - aul_proc_get_attr()
 - aul_proc_get_cmdline()
 - aul_proc_register()
 - aul_proc_deregister()
 - aul_proc_get_name()
 - aul_proc_get_extra()

Requires:
 - https://review.tizen.org/gerrit/#/c/platform/core/appfw/aul-1/+/260615/
 - https://review.tizen.org/gerrit/#/c/platform/core/appfw/amd/+/260623/

Change-Id: Id624ce33422626edb29edf2942b7cf5825d78f5f
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
2 years agoRemove build warning message 75/260575/1
Hwankyu Jhun [Tue, 29 Jun 2021 07:48:30 +0000 (16:48 +0900)]
Remove build warning message

Change-Id: I971011fe9fe37dfa4b6cf9db5bb906e483074ada
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
2 years agoRelease version 0.35.5 31/260531/1 accepted/tizen/unified/20210629.130214 submit/tizen/20210628.093147
Hwankyu Jhun [Mon, 28 Jun 2021 09:25:28 +0000 (18:25 +0900)]
Release version 0.35.5

Changes:
 - Fix aul_svc_get_appid_by_alias_appid_for_uid() function

Change-Id: I3b18706c70fdec4ea33d4abe33a2f5f36d4c2c6c
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
2 years agoFix aul_svc_get_appid_by_alias_appid_for_uid() function 22/260522/1
Hwankyu Jhun [Mon, 28 Jun 2021 08:15:07 +0000 (17:15 +0900)]
Fix aul_svc_get_appid_by_alias_appid_for_uid() function

If the amd ready file is not existed, the caller process accesses to the
database directly to get the appid using the alias appid.

Change-Id: I964e3b0b3d82ac699214a1b963b109e081bce619
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
2 years agoRelease version 0.35.4 49/260449/1 accepted/tizen/unified/20210628.122400 submit/tizen/20210625.051851
Hyunho [Fri, 25 Jun 2021 05:12:08 +0000 (14:12 +0900)]
Release version 0.35.4

Changes:
 - Fix retrieving app com connections
 - Initialize class member

Change-Id: I537f99564831445d81f094d39d11120efe8c55cb
Signed-off-by: Hyunho <hhstark.kang@samsung.com>
2 years agoInitialize class member 42/260442/1
Hyunho [Fri, 25 Jun 2021 03:31:15 +0000 (12:31 +0900)]
Initialize class member

Change-Id: I23421a020f8602bbad1890d7dbc92a24115ace0e
Signed-off-by: Hyunho <hhstark.kang@samsung.com>
2 years agoFix retrieving app com connections 61/260261/2
Hwankyu Jhun [Tue, 22 Jun 2021 23:54:02 +0000 (08:54 +0900)]
Fix retrieving app com connections

To allow delete this, app com uses std::iterator. After this patch is
applied, the caller process can call aul_app_com_leave() while calling
the app_com_cb() callback function.

Change-Id: I0e6202810d99af556197c35b9c06303185e25482
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
2 years agoRelease version 0.35.3 33/260133/1 accepted/tizen/unified/20210621.214549 submit/tizen/20210621.050954 submit/tizen/20210621.070948
Hwankyu Jhun [Mon, 21 Jun 2021 05:02:53 +0000 (14:02 +0900)]
Release version 0.35.3

Changes:
 - Enable unit tests

Change-Id: I56040bed402a3a05f07a4593c14c2c25b3abb142
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
2 years agoMerge "Enable unit tests" into tizen
HwanKyu Jhun [Mon, 21 Jun 2021 05:02:39 +0000 (05:02 +0000)]
Merge "Enable unit tests" into tizen

2 years agoEnable unit tests 32/260132/1
Hwankyu Jhun [Mon, 21 Jun 2021 04:47:55 +0000 (13:47 +0900)]
Enable unit tests

Change-Id: I284aea62d547f8fd3a76a2e27cf3da55c0cea2af
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
2 years agoRelease version 0.35.2 31/260131/1 submit/tizen/20210621.050815
Hwankyu Jhun [Mon, 21 Jun 2021 04:38:20 +0000 (13:38 +0900)]
Release version 0.35.2

Changes:
 - Refactor AUL RPC Port
 - Refactor App Com
 - Remove unnecessary dependency
 - Disable unit tests

Change-Id: I8337648aa616242b1c741666cd28dc94155db4a4
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
2 years agoDisable unit tests 29/260129/1
Hwankyu Jhun [Mon, 21 Jun 2021 03:29:48 +0000 (12:29 +0900)]
Disable unit tests

Currently, aul-unit-tests make build error issues.
While calling aul_launch_fini(), the AUL worker thread will not be
terminated. Because, the glib codes are not working fine.
The process of aul-unit-tests always waits g_thread_join().

+---------------------------------------------------------------------+
|#0  0xb77a6a49 in __kernel_vsyscall ()                               |
|#1  0xb77536e7 in __GI___pthread_timedjoin_ex (                      |
|               threadid=<optimized out>, threadid@entry=3061508928,  |
|               thread_return=thread_return@entry=0x0,                |
|               abstime=abstime@entry=0x0, block=block@entry=true)    |
|               at pthread_join_common.c:142                          |
|#2  0xb7753466 in __pthread_join (threadid=3061508928,               |
|               thread_return=thread_return@entry=0x0)                |
|               at pthread_join.c:24                                  |
|#3  0xb764161a in g_system_thread_wait (                             |
|               thread=thread@entry=0x802ada00)                       |
|               at ../glib/gthread-posix.c:1235                       |
|#4  0xb76191c9 in g_thread_join (                                    |
|               thread=0x802ada00) at ../glib/gthread.c:959           |
|#5  0xb7558fbb in aul_worker_destroy (handle=handle@entry=0x802aa380)|
+---------------------------------------------------------------------+

Change-Id: I696e42375f36170535b5aead29432ff94afc7b7c
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
2 years agoRemove unnecessary dependency 84/259784/4
Sangyoon Jang [Mon, 14 Jun 2021 08:13:33 +0000 (17:13 +0900)]
Remove unnecessary dependency

Change-Id: I8dae834dedc2ec5624a46b01d2b75d9f761fe510
Signed-off-by: Sangyoon Jang <jeremy.jang@samsung.com>
2 years agoRefactor App Com 35/259935/4
Hwankyu Jhun [Thu, 17 Jun 2021 01:10:10 +0000 (10:10 +0900)]
Refactor App Com

The implementation is changed to c++.

Change-Id: Idaa0b8881443d8646dc944af0b82070d92b12f6a
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
2 years agoRefactor AUL RPC Port 56/259856/9
Hwankyu Jhun [Wed, 16 Jun 2021 05:09:05 +0000 (14:09 +0900)]
Refactor AUL RPC Port

The implmentation is changed to c++.

Change-Id: Ibbdbcf36e87ef6b9f7c1f5dc831512b1f87d5693
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
2 years agoRelease version 0.35.1 80/259980/2 submit/tizen/20210617.070222 submit/tizen/20210618.082001 submit/tizen/20210620.232502
Ilho Kim [Thu, 17 Jun 2021 06:50:55 +0000 (15:50 +0900)]
Release version 0.35.1

Changes:
 - Add a new definition for resource package feature

Change-Id: I34fa2423b10465a026a1d799e3fc20eae24087a4
Signed-off-by: Ilho Kim <ilho159.kim@samsung.com>
2 years agoAdd a new definition for resource package feature 86/253786/16
Ilho Kim [Wed, 3 Feb 2021 12:49:16 +0000 (21:49 +0900)]
Add a new definition for resource package feature

Adds:
 - AUL_K_MOUNT_GLOBAL_RES_DIR
 - AUL_K_MOUNT_ALLOWED_RES_DIR

Change-Id: If7565da4d1b86e5857f64049d034c443ce8522c2
Signed-off-by: Ilho Kim <ilho159.kim@samsung.com>