summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsung1103.park <sung1103.park@samsung.com>2012-08-21 10:54:21 (GMT)
committersung1103.park <sung1103.park@samsung.com>2012-08-21 10:54:21 (GMT)
commite27a941b1d14f552f32ff4acd039d016aa4751ad (patch)
treeb0b0311e953fc4f9fcb5a2a57ef14e9285e28495
parent7376a57ffc2c7c0ec155ae90cdb1db195d2bba4e (diff)
downloadstarter-e27a941b1d14f552f32ff4acd039d016aa4751ad.zip
starter-e27a941b1d14f552f32ff4acd039d016aa4751ad.tar.gz
starter-e27a941b1d14f552f32ff4acd039d016aa4751ad.tar.bz2
tizen_2.0_build
-rwxr-xr-xCMakeLists.txt6
-rwxr-xr-xLICENSE279
-rwxr-xr-xboot-mgr/starter.c133
-rwxr-xr-xboot-mgr/starter.h11
-rwxr-xr-xboot-mgr/x11.c11
-rwxr-xr-xboot-mgr/x11.h11
-rwxr-xr-xdebian/changelog490
-rwxr-xr-x[-rw-r--r--]debian/compat0
-rwxr-xr-xdebian/control2
-rwxr-xr-xdebian/rules4
-rwxr-xr-xdebian/starter.install.in1
-rwxr-xr-xdebian/starter.postinst4
-rwxr-xr-xinclude/starter-vconf.h27
-rwxr-xr-xlock-mgr/CMakeLists.txt3
-rwxr-xr-xlock-mgr/include/lock-daemon.h11
-rwxr-xr-xlock-mgr/include/lockd-debug.h11
-rwxr-xr-xlock-mgr/include/lockd-process-mgr.h20
-rwxr-xr-xlock-mgr/include/lockd-window-mgr.h22
-rwxr-xr-xlock-mgr/src/lock-daemon.c408
-rwxr-xr-xlock-mgr/src/lockd-debug.c11
-rwxr-xr-xlock-mgr/src/lockd-process-mgr.c69
-rwxr-xr-xlock-mgr/src/lockd-window-mgr.c33
-rwxr-xr-xpackaging/starter.spec24
-rwxr-xr-xstarter.desktop.in9
-rwxr-xr-xstarter.init.sh2
25 files changed, 768 insertions, 834 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 6221694..bd66ffc 100755
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,11 +1,14 @@
CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
PROJECT(starter C)
+SET(VENDOR "org.tizen")
SET(PREFIX ${CMAKE_INSTALL_PREFIX})
SET(BINDIR "${PREFIX}/bin")
SET(DATADIR "${PREFIX}/share")
SET(LOCALEDIR "${DATADIR}/locale")
+INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include)
+
SET(LOCK_MGR lock-mgr)
SET(BOOT_MGR boot-mgr)
@@ -18,4 +21,7 @@ INSTALL(FILES ${CMAKE_SOURCE_DIR}/rd4starter DESTINATION /etc/init.d
INSTALL(FILES ${CMAKE_SOURCE_DIR}/rd3starter DESTINATION /etc/init.d
PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE
GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
+INSTALL(FILES ${CMAKE_SOURCE_DIR}/starter.init.sh DESTINATION /etc/opt/init
+ PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE
+ GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
#INSTALL to /etc/init.d
diff --git a/LICENSE b/LICENSE
index 9c13a9b..7ccb5b5 100755
--- a/LICENSE
+++ b/LICENSE
@@ -1,204 +1,75 @@
-Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
+Flora License
+
+Version 1.0, May, 2012
+
+http://www.tizenopensource.org/license
+
+TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+1. Definitions.
+
+"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.
+
+"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.
+
+"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.
+
+"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.
+
+"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.
+
+"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.
+
+"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).
+
+"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.
+
+"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."
+
+"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.
+
+"Tizen Certified Platform" shall mean a software platform that complies with the standards set forth in the Compatibility Definition Document and passes the Compatibility Test Suite as defined from time to time by the Tizen Technical Steering Group and certified by the Tizen Association or its designated agent.
+
+2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.
+
+3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work solely as incorporated into a Tizen Certified Platform, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work solely as incorporated into a Tizen Certified Platform to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.
+
+4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof pursuant to the copyright license above, in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:
+
+ 1. You must give any other recipients of the Work or Derivative Works a copy of this License; and
+
+ 2. You must cause any modified files to carry prominent notices stating that You changed the files; and
+
+ 3. You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and
+
+ 4. If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.
+
+5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.
+
+6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.
+
+7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.
+
+8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.
+
+9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.
+
+END OF TERMS AND CONDITIONS
+
+APPENDIX: How to apply the Flora License to your work
+
+To apply the Flora License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Flora License, Version 1.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.tizenopensource.org/license
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/boot-mgr/starter.c b/boot-mgr/starter.c
index b10a121..09b742d 100755
--- a/boot-mgr/starter.c
+++ b/boot-mgr/starter.c
@@ -1,22 +1,17 @@
/*
- * starter
+ * Copyright 2012 Samsung Electronics Co., Ltd
*
- * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
- *
- * Contact: Seungtaek Chung <seungtaek.chung@samsung.com>, Mi-Ju Lee <miju52.lee@samsung.com>, Xi Zhichan <zhichan.xi@samsung.com>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
+ * Licensed under the Flora License, Version 1.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.tizenopensource.org/license
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
*/
#include <Elementary.h>
@@ -32,22 +27,22 @@
#include <aul.h>
#include <vconf.h>
#include <heynoti.h>
+#include <signal.h>
+
#include "starter.h"
#include "x11.h"
#include "lock-daemon.h"
#include "lockd-debug.h"
-#define PWLOCK_PKG "org.tizen.pwlock"
-#define VCONFKEY_START "memory/startapps/sequence"
-#define PWLOCK_FIRST_BOOT "db/setting/pwlock_boot"
#define DEFAULT_THEME "tizen"
-#define PWLOCK_PATH "/opt/apps/org.tizen.pwlock/bin/pwlock"
+
#define HIB_CAPTURING "/opt/etc/.hib_capturing"
+#define STR_STARTER_READY "/tmp/hibernation/starter_ready"
static void lock_menu_screen(void)
{
- vconf_set_int(VCONFKEY_START, 0);
+ vconf_set_int(VCONFKEY_STARTER_SEQUENCE, 0);
}
static void unlock_menu_screen(void)
@@ -56,9 +51,9 @@ static void unlock_menu_screen(void)
int show_menu;
show_menu = 0;
- r = vconf_get_int(VCONFKEY_START, &show_menu);
+ r = vconf_get_int(VCONFKEY_STARTER_SEQUENCE, &show_menu);
if (r || !show_menu) {
- vconf_set_int(VCONFKEY_START, 1);
+ vconf_set_int(VCONFKEY_STARTER_SEQUENCE, 1);
}
}
@@ -81,52 +76,6 @@ static void _set_elm_theme(void)
free(vstr);
}
-static void _set_elm_entry(void)
-{
- int v;
- int r;
-
- r = vconf_get_bool(VCONFKEY_SETAPPL_AUTOCAPITAL_ALLOW_BOOL, &v);
- if (!r) {
- prop_int_set("ENLIGHTENMENT_AUTOCAPITAL_ALLOW", v);
- _DBG("vconf autocatipal[%d]", v);
- }
-
- r = vconf_get_bool(VCONFKEY_SETAPPL_AUTOPERIOD_ALLOW_BOOL, &v);
- if (!r) {
- prop_int_set("ENLIGHTENMENT_AUTOPERIOD_ALLOW", v);
- _DBG("vconf autoperiod[%d]", v);
- }
-}
-
-static int _launch_pwlock(void)
-{
- int r;
-
- _DBG("%s", __func__);
-
- r = aul_launch_app(PWLOCK_PKG, NULL);
- if (r < 0) {
- _ERR("PWLock launch error: error(%d)", r);
- if (r == AUL_R_ETIMEOUT) {
- _DBG("Launch pwlock is failed for AUL_R_ETIMEOUT, again launch pwlock");
- r = aul_launch_app(PWLOCK_PKG, NULL);
- if (r < 0) {
- _ERR("2'nd PWLock launch error: error(%d)", r);
- return -1;
- } else {
- _DBG("Launch pwlock");
- return 0;
- }
- } else {
- return -1;
- }
- } else {
- _DBG("Launch pwlock");
- return 0;
- }
-}
-
static void hib_leave(void *data)
{
struct appdata *ad = data;
@@ -138,9 +87,6 @@ static void hib_leave(void *data)
_DBG("%s", __func__);
_set_elm_theme();
start_lock_daemon();
- if (_launch_pwlock() < 0) {
- _ERR("launch pwlock error");
- }
}
static int add_noti(struct appdata *ad)
@@ -179,10 +125,39 @@ static int add_noti(struct appdata *ad)
return 0;
}
+static void _signal_handler(int signum, siginfo_t *info, void *unused)
+{
+ _DBG("_signal_handler : Terminated...");
+ elm_exit();
+}
+static void _heynoti_event_power_off(void *data)
+{
+ _DBG("_heynoti_event_power_off : Terminated...");
+ elm_exit();
+}
+
static int _init(struct appdata *ad)
{
int fd;
int r;
+ int fd1;
+
+ struct sigaction act;
+ act.sa_sigaction = _signal_handler;
+ act.sa_flags = SA_SIGINFO;
+
+ int ret = sigemptyset(&act.sa_mask);
+ if (ret < 0) {
+ _ERR("Failed to sigemptyset[%s]", strerror(errno));
+ }
+ ret = sigaddset(&act.sa_mask, SIGTERM);
+ if (ret < 0) {
+ _ERR("Failed to sigaddset[%s]", strerror(errno));
+ }
+ ret = sigaction(SIGTERM, &act, NULL);
+ if (ret < 0) {
+ _ERR("Failed to sigaction[%s]", strerror(errno));
+ }
memset(ad, 0, sizeof(struct appdata));
@@ -191,27 +166,25 @@ static int _init(struct appdata *ad)
lock_menu_screen();
_set_elm_theme();
- _set_elm_entry();
_DBG("%s %d\n", __func__, __LINE__);
+
fd = open(HIB_CAPTURING, O_RDONLY);
_DBG("fd = %d\n", fd);
if (fd == -1) {
_DBG("fd = %d\n", fd);
start_lock_daemon();
- if (_launch_pwlock() < 0) {
- _ERR("launch pwlock error");
- }
- r = 0;
+ r = 0;
} else {
close(fd);
r = add_noti(ad);
}
- if (vconf_set_int("memory/hibernation/starter_ready", 1))
- _ERR("vconf_set_int FAIL");
- else
- _ERR("vconf_set_int OK\n");
+ fd1 = open(STR_STARTER_READY, O_RDWR | O_CREAT, S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH);
+ if (fd1 > 0) {
+ _DBG("Hibernation ready.\n");
+ close(fd1);
+ }
return r;
}
@@ -238,6 +211,20 @@ int main(int argc, char *argv[])
{
struct appdata ad;
+ int heyfd = heynoti_init();
+ if (heyfd < 0) {
+ _ERR("Failed to heynoti_init[%d]", heyfd);
+ }
+
+ int ret = heynoti_subscribe(heyfd, "power_off_start", _heynoti_event_power_off, NULL);
+ if (ret < 0) {
+ _ERR("Failed to heynoti_subscribe[%d]", ret);
+ }
+ ret = heynoti_attach_handler(heyfd);
+ if (ret < 0) {
+ _ERR("Failed to heynoti_attach_handler[%d]", ret);
+ }
+
elm_init(argc, argv);
_init(&ad);
diff --git a/boot-mgr/starter.h b/boot-mgr/starter.h
index d651bcb..d6e9a74 100755
--- a/boot-mgr/starter.h
+++ b/boot-mgr/starter.h
@@ -1,22 +1,17 @@
/*
- * starter
+ * Copyright 2012 Samsung Electronics Co., Ltd
*
- * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
- *
- * Contact: Seungtaek Chung <seungtaek.chung@samsung.com>, Mi-Ju Lee <miju52.lee@samsung.com>, Xi Zhichan <zhichan.xi@samsung.com>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
+ * Licensed under the Flora License, Version 1.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.tizenopensource.org/license
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
*/
#ifndef __STARTER_H__
diff --git a/boot-mgr/x11.c b/boot-mgr/x11.c
index e2fd23f..d9d8aa9 100755
--- a/boot-mgr/x11.c
+++ b/boot-mgr/x11.c
@@ -1,22 +1,17 @@
/*
- * starter
+ * Copyright 2012 Samsung Electronics Co., Ltd
*
- * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
- *
- * Contact: Seungtaek Chung <seungtaek.chung@samsung.com>, Mi-Ju Lee <miju52.lee@samsung.com>, Xi Zhichan <zhichan.xi@samsung.com>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
+ * Licensed under the Flora License, Version 1.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.tizenopensource.org/license
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
*/
#include <string.h>
diff --git a/boot-mgr/x11.h b/boot-mgr/x11.h
index 0d53a75..f32e141 100755
--- a/boot-mgr/x11.h
+++ b/boot-mgr/x11.h
@@ -1,22 +1,17 @@
/*
- * starter
+ * Copyright 2012 Samsung Electronics Co., Ltd
*
- * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
- *
- * Contact: Seungtaek Chung <seungtaek.chung@samsung.com>, Mi-Ju Lee <miju52.lee@samsung.com>, Xi Zhichan <zhichan.xi@samsung.com>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
+ * Licensed under the Flora License, Version 1.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.tizenopensource.org/license
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
*/
#ifndef __STARTER_X11_H__
diff --git a/debian/changelog b/debian/changelog
index 8ab5674..3bd1544 100755
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,55 +1,479 @@
+starter (0.4.6-2) unstable; urgency=low
+
+ * temporal release for Orangey
+ * Git: slp/pkgs/s/starter
+ * Tag: starter_0.4.6-2
+
+ -- youngsub ko <ys4610.ko@samsung.com> Fri, 01 Jun 2012 14:02:49 +0900
+
+starter (0.4.6-1) unstable; urgency=low
+
+ * Changing vconf key-path according to naming policy
+ * Git: slp/pkgs/s/starter
+ * Tag: starter_0.4.6-1
+
+ -- youngsub ko <ys4610.ko@samsung.com> Thu, 31 May 2012 19:25:22 +0900
+
+starter (0.4.5-1) unstable; urgency=low
+
+ * apply livebox lockscreen to default setting
+ * Git: slp/pkgs/s/starter
+ * Tag: starter_0.4.5-1
+
+ -- Seungtaek Chung <seungtaek.chung@samsung.com> Thu, 24 May 2012 21:03:29 +0900
+
+starter (0.4.4-1) unstable; urgency=low
+
+ * new vconf policy was applied
+ * Git: slp/pkgs/s/starter
+ * Tag: starter_0.4.4-1
+
+ -- youngsub ko <ys4610.ko@samsung.com> Thu, 24 May 2012 16:20:20 +0900
+
+starter (0.4.3-2) unstable; urgency=low
+
+ * Removed "/usr/share/*" files from debian/redhat packages
+ * Git: slp/pkgs/s/starter
+ * Tag: starter_0.4.3-2
+
+ -- youngsub ko <ys4610.ko@samsung.com> Mon, 14 May 2012 10:39:32 +0900
+
+starter (0.4.3-1) unstable; urgency=low
+
+ * remove set elm entry
+ * Git: slp/pkgs/s/starter
+ * Tag: starter_0.4.3-1
+
+ -- Seungtaek Chung <seungtaek.chung@samsung.com> Wed, 18 Apr 2012 11:20:12 +0900
+
+starter (0.4.2-1) unstable; urgency=low
+
+ * apply phone lock launching interface
+ * Git: slp/pkgs/s/starter
+ * Tag: starter_0.4.2-1
+
+ -- Seungtaek Chung <seungtaek.chung@samsung.com> Sat, 07 Apr 2012 23:30:39 +0900
+
+starter (0.4.1-1) unstable; urgency=low
+
+ * Add cancel button in password view
+ * Git: slp/pkgs/s/starter
+ * Tag: starter_0.4.1-1
+
+ -- Mi-Ju Lee <miju52.lee@samsung.com> Wed, 21 Mar 2012 21:12:34 +0900
+
starter (0.4.0-1) unstable; urgency=low
- * apply lock screen
- * Git: pkgs/s/starter
+ * Change desktop file for TIZEN
+ * Git: slp/pkgs/s/starter
* Tag: starter_0.4.0-1
- -- Seungtaek Chung <seungtaek.chung@samsung.com> Tue, 20 Mar 2012 19:44:21 +0900
+ -- Mi-Ju Lee <miju52.lee@samsung.com> Thu, 15 Mar 2012 19:28:01 +0900
+
+starter (0.3-51) unstable; urgency=low
+
+ * apply efl migration
+ * Git: slp/pkgs/s/starter
+ * Tag: starter_0.3-51
+
+ -- Seungtaek Chung <seungtaek.chung@samsung.com> Wed, 14 Mar 2012 14:21:15 +0900
+
+starter (0.3-50) unstable; urgency=low
+
+ * apply efl deprecation
+ * Git: slp/pkgs/s/starter
+ * Tag: starter_0.3-50
+
+ -- Seungtaek Chung <seungtaek.chung@samsung.com> Fri, 02 Mar 2012 16:32:50 +0900
+
+starter (0.3-49) unstable; urgency=low
+
+ * block set scale window
+ * Git: slp/pkgs/s/starter
+ * Tag: starter_0.3-49
+
+ -- Seungtaek Chung <seungtaek.chung@samsung.com> Wed, 29 Feb 2012 19:17:53 +0900
+
+starter (0.3-48) unstable; urgency=low
+
+ * block set window scale
+ * Git: slp/pkgs/s/starter
+ * Tag: starter_0.3-48
+
+ -- Seungtaek Chung <seungtaek.chung@samsung.com> Wed, 29 Feb 2012 18:42:54 +0900
+
+starter (0.3-47) unstable; urgency=low
+
+ * fix launch lock screen
+ * Git: slp/pkgs/s/starter
+ * Tag: starter_0.3-47
+
+ -- Seungtaek Chung <seungtaek.chung@samsung.com> Tue, 28 Feb 2012 14:56:18 +0900
+
+starter (0.3-46) unstable; urgency=low
+
+ * apply input window
+ * Git: slp/pkgs/s/starter
+ * Tag: starter_0.3-46
+
+ -- Seungtaek Chung <seungtaek.chung@samsung.com> Wed, 22 Feb 2012 14:21:08 +0900
+
+starter (0.3-45) unstable; urgency=low
+
+ * apply efl migration
+ * Git: slp/pkgs/s/starter
+ * Tag: starter_0.3-45
+
+ -- Seungtaek Chung <seungtaek.chung@samsung.com> Thu, 16 Feb 2012 20:32:05 +0900
+
+starter (0.3-44) unstable; urgency=low
+
+ * fix xwindow
+ * Git: slp/pkgs/s/starter
+ * Tag: starter_0.3-44
+
+ -- Seungtaek Chung <seungtaek.chung@samsung.com> Mon, 02 Jan 2012 18:03:13 +0900
+
+starter (0.3-43) unstable; urgency=low
+
+ * set lock class name
+ * Git: slp/pkgs/s/starter
+ * Tag: starter_0.3-43
+
+ -- Seungtaek Chung <seungtaek.chung@samsung.com> Mon, 02 Jan 2012 17:40:25 +0900
+
+starter (0.3-42) unstable; urgency=low
+
+ * set lock alpha
+ * Git: slp/pkgs/s/starter
+ * Tag: starter_0.3-42
+
+ -- Seungtaek Chung <seungtaek.chung@samsung.com> Wed, 28 Dec 2011 14:26:23 +0900
+
+starter (0.3-41) unstable; urgency=low
+
+ * fix lock state
+ * Git: slp/pkgs/s/starter
+ * Tag: starter_0.3-41
+
+ -- Seungtaek Chung <seungtaek.chung@samsung.com> Mon, 26 Dec 2011 17:27:15 +0900
+
+starter (0.3-40) unstable; urgency=low
+
+ * remove tizen subfolder
+ * Git: slp/pkgs/s/starter
+ * Tag: starter_0.3-40
+
+ -- Seungtaek Chung <seungtaek.chung@samsung.com> Mon, 19 Dec 2011 14:03:33 +0900
+
+starter (0.3-39) unstable; urgency=low
+
+ * fix phone lock operation
+ * Git: 165.213.180.234:slp/pkgs/s/starter
+ * Tag: starter_0.3-39
+
+ -- Seungtaek Chung <seungtaek.chung@samsung.com> Fri, 09 Dec 2011 21:04:27 +0900
+
+starter (0.3-38) unstable; urgency=low
+
+ * fix homekey operation
+ * Git: 165.213.180.234:slp/pkgs/s/starter
+ * Tag: starter_0.3-38
+
+ -- Seungtaek Chung <seungtaek.chung@samsung.com> Thu, 08 Dec 2011 13:47:04 +0900
+
+starter (0.3-37) unstable; urgency=low
+
+ * fix set property for phone lock
+ * Git: 165.213.180.234:slp/pkgs/s/starter
+ * Tag: starter_0.3-37
+
+ -- Seungtaek Chung <seungtaek.chung@samsung.com> Tue, 06 Dec 2011 16:51:07 +0900
+
+starter (0.3-36) unstable; urgency=low
+
+ * apply reset lock screen when lcd is off
+ * Git: 165.213.180.234:slp/pkgs/s/starter
+ * Tag: starter_0.3-36
+
+ -- Seungtaek Chung <seungtaek.chung@samsung.com> Fri, 02 Dec 2011 22:59:26 +0900
+
+starter (0.3-35) unstable; urgency=low
+
+ * fix selecting lockscreen
+ * Git: 165.213.180.234:slp/pkgs/s/starter
+ * Tag: starter_0.3-35
+
+ -- Seungtaek Chung <seungtaek.chung@samsung.com> Wed, 30 Nov 2011 14:12:12 +0900
+
+starter (0.3-34) unstable; urgency=low
+
+ * fix setting lockscreen
+ * Git: 165.213.180.234:slp/pkgs/s/starter
+ * Tag: starter_0.3-34
+
+ -- Seungtaek Chung <seungtaek.chung@samsung.com> Tue, 29 Nov 2011 09:48:02 +0900
+
+starter (0.3-33) unstable; urgency=low
+
+ * remove lockd_launch_first_lockscreen
+ * Git: 165.213.180.234:slp/pkgs/s/starter
+ * Tag: starter_0.3-33
+
+ -- Seungtaek Chung <seungtaek.chung@samsung.com> Sat, 26 Nov 2011 16:47:48 +0900
+
+starter (0.3-32) unstable; urgency=low
+
+ * fix launching phone lock app
+ * Git: 165.213.180.234:slp/pkgs/s/starter
+ * Tag: starter_0.3-32
+
+ -- Seungtaek Chung <seungtaek.chung@samsung.com> Sat, 26 Nov 2011 14:03:48 +0900
+
+starter (0.3-31) unstable; urgency=low
+
+ * apply open lock screen
+ * Git: 165.213.180.234:slp/pkgs/s/starter
+ * Tag: starter_0.3-31
+
+ -- Seungtaek Chung <seungtaek.chung@samsung.com> Mon, 21 Nov 2011 21:41:09 +0900
+
+starter (0.3-30) unstable; urgency=low
+
+ * apply tapi changes
+ * Git: 165.213.180.234:slp/pkgs/s/starter
+ * Tag: starter_0.3-30
+
+ -- Seungtaek Chung <seungtaek.chung@samsung.com> Thu, 29 Sep 2011 17:38:08 +0900
+
+starter (0.3-29) unstable; urgency=low
+
+ * fix prevent problem
+ * Git: 165.213.180.234:slp/pkgs/s/starter
+ * Tag: starter_0.3-29
+
+ -- Seungtaek Chung <seungtaek.chung@samsung.com> Sat, 20 Aug 2011 19:32:57 +0900
+
+starter (0.3-28) unstable; urgency=low
+
+ * fix aul launch error
+ * Git: 165.213.180.234:slp/pkgs/s/starter
+ * Tag: starter_0.3-28
+
+ -- Seungtaek Chung <seungtaek.chung@samsung.com> Fri, 01 Jul 2011 17:29:44 +0900
+
+starter (0.3-27) unstable; urgency=low
+
+ * added plock variable to identify menu screen showing time.
+ * Git: 165.213.180.234:slp/pkgs/s/starter
+ * Tag: starter_0.3-27
+
+ -- jeesun kim <iamjs.kim@samsung.com> Thu, 12 May 2011 09:00:00 +0900
+
+starter (0.3-26) unstable; urgency=low
+
+ * modified log error when get vconf failed
+ * Git: 165.213.180.234:slp/pkgs/s/starter
+ * Tag: starter_0.3-26
+
+ -- jeesun kim <iamjs.kim@samsung.com> Mon, 2 May 2011 09:00:00 +0900
+
+starter (0.3-25) unstable; urgency=low
+
+ * added debug message
+ * Git: 165.213.180.234:slp/pkgs/s/starter
+ * Tag: starter_0.3-25
+
+ -- jeesun kim <iamjs.kim@samsung.com> Fri, 22 Apr 2011 18:00:00 +0900
+
+starter (0.3-24) unstable; urgency=low
+
+ * skipped "memory/startapps/sequence" set 1 when first boot
+ * Git: 165.213.180.234:slp/pkgs/s/starter
+ * Tag: starter_0.3-24
+
+ -- jeesun kim <iamjs.kim@samsung.com> Wed, 14 Apr 2011 10:00:00 +0900
+
+starter (0.3-23) unstable; urgency=low
+
+ * removed deb from pwlock, added inhouse right in sequence
+ * Git: 165.213.180.234:slp/pkgs/s/starter
+ * Tag: starter_0.3-23
+
+ -- jeesun kim <iamjs.kim@samsung.com> Wed, 14 Apr 2011 10:00:00 +0900
+
+starter (0.3-22) unstable; urgency=low
+
+ * commmented wm_ready in postinst file and tossed this to isf team.
+ * Git: 165.213.180.234:slp/pkgs/s/starter
+ * Tag: starter_0.3-22
+
+ -- jeesun kim <iamjs.kim@samsung.com> Wed, 16 Mar 2011 09:36:31 +0900
+
+starter (0.3-21) unstable; urgency=low
+
+ * set starter text rd3 and rd4
+ * Git: 165.213.180.234:slp/pkgs/s/starter
+ * Tag: starter_0.3-21
+
+ -- Jeesun kim <iamjs.kim@samsung.com> Thu, 03 Mar 2011 14:44:37 +0900
+
+starter (0.3-20) unstable; urgency=low
+
+ * applied wm_ready (req from boot script)
+ * Git: 165.213.180.234:slp/pkgs/s/starter
+ * Tag: starter_0.3-20
+
+ -- Jeesun kim <iamjs.kim@samsung.com> Wed, 23 Feb 2011 13:56:09 +0900
+
+starter (0.3-19) unstable; urgency=low
+
+ * added x11 package in control
+ * Git: 165.213.180.234:slp/pkgs/s/starter
+ * Tag: starter_0.3-19
+
+ -- Jeesun kim <iamjs.kim@samsung.com> Thu, 10 Feb 2011 17:44:47 +0900
+
+starter (0.3-18) unstable; urgency=low
+
+ * path change /opt/apps/deb.com.samsung.pwlock/bin/pwlock
+ * Git: 165.213.180.234:slp/pkgs/s/starter
+ * Tag: starter_0.3-18
+
+ -- Jeesun kim <iamjs.kim@samsung.com> Thu, 27 Jan 2011 17:19:13 +0900
+
+starter (0.3-17) unstable; urgency=low
+
+ * added theme set step when hibnation
+ * Git: 165.213.180.234:slp/pkgs/s/starter
+ * Tag: starter_0.3-17
+
+ -- Jeesun kim <iamjs.kim@samsung.com> Thu, 13 Jan 2011 11:41:14 +0900
+
+starter (0.3-16) unstable; urgency=low
+
+ * modified action when SIM doesn't exist
+ * Git: 165.213.180.234:slp/pkgs/s/starter
+ * Tag: starter_0.3-16
+
+ -- Jeesun kim <iamjs.kim@samsung.com> Thu, 06 Jan 2011 14:13:54 +0900
+
+starter (0.3-15) unstable; urgency=low
+
+ * set else statement when tapi state is none
+ * Git: 165.213.180.234:slp/pkgs/s/starter
+ * Tag: starter_0.3-15
+
+ -- Jeesun kim <iamjs.kim@samsung.com> Mon, 13 Dec 2010 11:29:39 +0900
+
+starter (0.3-14) unstable; urgency=low
+
+ * added dbg package
+ * Git: 165.213.180.234:/git/slp/pkgs/starter
+ * Tag: starter_0.3-14
+
+ -- Jeesun kim <iamjs.kim@samsung.com> Tue, 30 Nov 2010 11:10:22 +0900
+
+starter (0.3-13) unstable; urgency=low
+
+ * hibernation set : starter_ready set 1
+ * Git: 165.213.180.234:/git/slp/pkgs/starter
+ * Tag: starter_0.3-13
+
+ -- Jeesun kim <iamjs.kim@samsung.com> Tue, 23 Nov 2010 17:37:15 +0900
+
+starter (0.3-12) unstable; urgency=low
+
+ * set hib check_ready
+ * Git: 165.213.180.234:/git/slp/pkgs/starter
+ * Tag: starter_0.3-12
+
+ -- Jeesun kim <iamjs.kim@samsung.com> Fri, 12 Nov 2010 09:26:05 +0900
+
+starter (0.3-11) unstable; urgency=low
+
+ * Add hib leave
+ * Git: 165.213.180.234:/git/slp/pkgs/starter
+ * Tag: starter_0.3-11
+
+ -- Suchang Woo <suchang.woo@samsung.com> Mon, 25 Oct 2010 19:05:00 +0900
+
+starter (0.3-10) unstable; urgency=low
+
+ * Remove startup script
+ * Git: 165.213.180.234:/git/slp/pkgs/starter
+ * Tag: starter_0.3-10
+
+ -- Suchang Woo <suchang.woo@samsung.com> Wed, 20 Oct 2010 15:52:53 +0900
+
+starter (0.3-9) unstable; urgency=low
+
+ * Reset timeout every transition
+ * Git: 165.213.180.234:/git/slp/pkgs/starter
+ * Tag: starter_0.3-9
+
+ -- Suchang Woo <suchang.woo@samsung.com> Tue, 12 Oct 2010 17:16:38 +0900
+
+starter (0.3-8) unstable; urgency=low
+
+ * Increase SIM check timeout
+ * Git: 165.213.180.234:/git/slp/pkgs/starter
+ * Tag: starter_0.3-8
+
+ -- Suchang Woo <suchang.woo@samsung.com> Thu, 07 Oct 2010 17:49:26 +0900
+
+starter (0.3-7) unstable; urgency=low
+
+ * Wait for TAPI ready
+ * Git: 165.213.180.234:/git/slp/pkgs/starter
+ * Tag: starter_0.3-7
+
+ -- Suchang Woo <suchang.woo@samsung.com> Thu, 07 Oct 2010 11:36:40 +0900
-starter (0.3.44) unstable; urgency=low
+starter (0.3-6) unstable; urgency=low
- * rollback the boilerplate
- * Git: pkgs/s/starter
- * Tag: starter_0.3.44
+ * Do not check first boot
+ * Git: 165.213.180.234:/git/slp/pkgs/starter
+ * Tag: starter_0.3-6
- -- Seungtaek Chung <seungtaek.chung@samsung.com> Mon, 20 Feb 2012 10:50:12 +0900
+ -- Suchang Woo <suchang.woo@samsung.com> Mon, 04 Oct 2010 19:35:37 +0900
-starter (0.3.43) unstable; urgency=low
+starter (0.3-5) unstable; urgency=low
- * EFL update
- * Git: pkgs/s/starter
- * Tag: starter_0.3.43
+ * add entry setting
+ * Git: 165.213.180.234:/git/slp/pkgs/starter
+ * Tag: starter_0.3-5
- -- Seungtaek Chung <seungtaek.chung@samsung.com> Fri, 17 Feb 2012 13:21:18 +0900
+ -- Suchang Woo <suchang.woo@samsung.com> Fri, 01 Oct 2010 20:49:01 +0900
-starter (0.3.42) unstable; urgency=low
+starter (0.3-4) unstable; urgency=low
- * fix pwlock pkg name
- * Git: pkgs/s/starter
- * Tag: starter_0.3.42
+ * quit after pwlock launching
+ * Git: 165.213.180.234:/git/slp/pkgs/starter
+ * Tag: starter_0.3-4
- -- Seungtaek Chung <seungtaek.chung@samsung.com> Thu, 29 Dec 2011 10:26:08 +0900
+ -- Suchang Woo <suchang.woo@samsung.com> Fri, 01 Oct 2010 17:31:51 +0900
-starter (0.3.41) unstable; urgency=low
+starter (0.3-3) unstable; urgency=low
- * remove lock screen operation
- * Git: pkgs/s/starter
- * Tag: starter_0.3.41
+ * modify for language selection
+ * Git: 165.213.180.234:/git/slp/pkgs/starter
+ * Tag: starter_0.3-3
- -- Seungtaek Chung <seungtaek.chung@samsung.com> Wed, 28 Dec 2011 17:52:53 +0900
+ -- Suchang Woo <suchang.woo@samsung.com> Tue, 28 Sep 2010 20:19:54 +0900
-starter (0.3.40) unstable; urgency=low
+starter (0.3-2) unstable; urgency=low
- * update pkgname to org.tizen
- * Git: pkgs/s/starter
- * Tag: starter_0.3.40
+ * unlock menu screen even if exited with error
+ * Git: 165.213.180.234:/git/slp/pkgs/starter
+ * Tag: starter_0.3-2
- -- Mi-Ju Lee <miju52.lee@samsung.com> Fri, 23 Dec 2011 16:03:47 +0900
+ -- Suchang Woo <suchang.woo@samsung.com> Wed, 15 Sep 2010 15:06:18 +0900
-starter (0.3.39) unstable; urgency=low
+starter (0.3-1) unstable; urgency=low
- * Initial released
- * Git: pkgs/s/starter
- * Tag: starter_0.3.39
+ * Rewrite the code
+ * Git: 165.213.180.234:/git/slp/pkgs/starter
+ * Tag: starter_0.3-1
- -- Seungtaek Chung <seungtaek.chung@samsung.com> Wed, 07 Dec 2011 23:01:58 +0900
+ -- Suchang Woo <suchang.woo@samsung.com> Fri, 23 Apr 2010 20:30:14 +0900
diff --git a/debian/compat b/debian/compat
index 7ed6ff8..7ed6ff8 100644..100755
--- a/debian/compat
+++ b/debian/compat
diff --git a/debian/control b/debian/control
index 00ad5af..ae2c243 100755
--- a/debian/control
+++ b/debian/control
@@ -2,7 +2,7 @@ Source: starter
Section: devel
Priority: extra
Maintainer: Seungtaek Chung <seungtaek.chung@samsung.com>, Mi-Ju Lee <miju52.lee@samsung.com>, Xi Zhichan <zhichan.xi@samsung.com>
-Build-Depends: debhelper (>= 5), libappcore-efl-dev, libglib2.0-dev, libslp-tapi-dev, libslp-setting-dev, libheynoti-dev, libaul-1-dev, libx11-dev, libelm-dev, libefreet-dev, dlog-dev, libecore-dev, libsvi-dev, libslp-utilx-dev, libail-0-dev
+Build-Depends: debhelper (>= 5), libappcore-efl-dev, libglib2.0-dev, libslp-tapi-dev, libslp-setting-dev, libheynoti-dev, libaul-1-dev, libx11-dev, libelm-dev, libefreet-dev, dlog-dev, libecore-dev, libsvi-dev, libslp-utilx-dev, libail-0-dev, libui-gadget-dev
Standards-Version: 3.7.2
Package: starter
diff --git a/debian/rules b/debian/rules
index 861febf..6bf3469 100755
--- a/debian/rules
+++ b/debian/rules
@@ -81,8 +81,8 @@ binary-indep: build install
binary-arch: build install
dh_testdir
dh_testroot
- dh_installchangelogs
- dh_installdocs
+# dh_installchangelogs
+# dh_installdocs
dh_installexamples
dh_install --sourcedir=debian/tmp
# dh_installmenu
diff --git a/debian/starter.install.in b/debian/starter.install.in
index e881840..464e764 100755
--- a/debian/starter.install.in
+++ b/debian/starter.install.in
@@ -1,3 +1,4 @@
@PREFIX@/bin/*
@PREFIX@/lib/*
/etc/init.d/*
+/opt/ug/*
diff --git a/debian/starter.postinst b/debian/starter.postinst
index 11f2f38..b4e7f9d 100755
--- a/debian/starter.postinst
+++ b/debian/starter.postinst
@@ -1,8 +1,8 @@
#!/bin/sh
-vconftool set -t int "memory/startapps/sequence" 0 -i -u 5000 -g 5000
+vconftool set -t int "memory/starter/sequence" 0 -i -u 5000 -g 5000
-vconftool set -t string db/lockscreen/pkgname "org.tizen.draglock" -u 5000 -g 5000
+vconftool set -t string file/private/lockscreen/pkgname "org.tizen.draglock" -u 5000 -g 5000
vconftool -i set -t int memory/idle_lock/state "0" -u 5000 -g 5000
diff --git a/include/starter-vconf.h b/include/starter-vconf.h
new file mode 100755
index 0000000..b0db772
--- /dev/null
+++ b/include/starter-vconf.h
@@ -0,0 +1,27 @@
+/*
+ * starter
+ *
+ * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * Contact: Seungtaek Chung <seungtaek.chung@samsung.com>, Mi-Ju Lee <miju52.lee@samsung.com>, Xi Zhichan <zhichan.xi@samsung.com>
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef __STARTER_VCONF_H__
+#define __STARTER_VCONF_H__
+
+#define VCONF_PRIVATE_LOCKSCREEN_PKGNAME "file/private/lockscreen/pkgname"
+
+#endif /* __STARTER_VCONF_H__ */
diff --git a/lock-mgr/CMakeLists.txt b/lock-mgr/CMakeLists.txt
index 3a8c9d3..197ad11 100755
--- a/lock-mgr/CMakeLists.txt
+++ b/lock-mgr/CMakeLists.txt
@@ -25,11 +25,13 @@ pkg_check_modules(pkgs_lock_daemon REQUIRED
ecore-input
glib-2.0
bundle
+ capi-appfw-application
)
FOREACH (flag ${pkgs_lock_daemon_CFLAGS})
SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
ENDFOREACH(flag)
+ADD_DEFINITIONS("-D_GNU_SOURCE")
ADD_DEFINITIONS(${EXTRA_CFLAGS})
ADD_LIBRARY(${PROJECT_NAME} SHARED
src/lock-daemon.c
@@ -38,6 +40,7 @@ ADD_LIBRARY(${PROJECT_NAME} SHARED
src/lockd-window-mgr.c
)
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include)
+INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include)
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_lock_daemon_LDFLAGS})
INSTALL(TARGETS ${PROJECT_NAME} DESTINATION lib)
diff --git a/lock-mgr/include/lock-daemon.h b/lock-mgr/include/lock-daemon.h
index d4589ca..5fe3b93 100755
--- a/lock-mgr/include/lock-daemon.h
+++ b/lock-mgr/include/lock-daemon.h
@@ -1,22 +1,17 @@
/*
- * starter
+ * Copyright 2012 Samsung Electronics Co., Ltd
*
- * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
- *
- * Contact: Seungtaek Chung <seungtaek.chung@samsung.com>, Mi-Ju Lee <miju52.lee@samsung.com>, Xi Zhichan <zhichan.xi@samsung.com>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
+ * Licensed under the Flora License, Version 1.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.tizenopensource.org/license
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
*/
#ifndef __LOCK_DAEMON_H__
diff --git a/lock-mgr/include/lockd-debug.h b/lock-mgr/include/lockd-debug.h
index e22c86a..e017667 100755
--- a/lock-mgr/include/lockd-debug.h
+++ b/lock-mgr/include/lockd-debug.h
@@ -1,22 +1,17 @@
/*
- * starter
+ * Copyright 2012 Samsung Electronics Co., Ltd
*
- * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
- *
- * Contact: Seungtaek Chung <seungtaek.chung@samsung.com>, Mi-Ju Lee <miju52.lee@samsung.com>, Xi Zhichan <zhichan.xi@samsung.com>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
+ * Licensed under the Flora License, Version 1.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.tizenopensource.org/license
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
*/
#ifndef __LOCKD_DEBUG_H__
diff --git a/lock-mgr/include/lockd-process-mgr.h b/lock-mgr/include/lockd-process-mgr.h
index 13e34fc..e15d817 100755
--- a/lock-mgr/include/lockd-process-mgr.h
+++ b/lock-mgr/include/lockd-process-mgr.h
@@ -1,39 +1,29 @@
/*
- * starter
+ * Copyright 2012 Samsung Electronics Co., Ltd
*
- * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
- *
- * Contact: Seungtaek Chung <seungtaek.chung@samsung.com>, Mi-Ju Lee <miju52.lee@samsung.com>, Xi Zhichan <zhichan.xi@samsung.com>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
+ * Licensed under the Flora License, Version 1.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.tizenopensource.org/license
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
*/
#ifndef __LOCKD_PROCESS_MGR_H__
#define __LOCKD_PROCESS_MGR_H__
-int lockd_process_mgr_start_lock(void *data, int (*dead_cb) (int, void *),
- int phone_lock_state);
+int lockd_process_mgr_start_lock(void *data, int (*dead_cb) (int, void *));
-int lockd_process_mgr_restart_lock(int phone_lock_state);
-
-int lockd_process_mgr_start_phone_lock(void);
+int lockd_process_mgr_restart_lock(void);
void lockd_process_mgr_terminate_lock_app(int lock_app_pid,
int state);
-void lockd_process_mgr_terminate_phone_lock(int phone_lock_pid);
-
int lockd_process_mgr_check_lock(int pid);
#endif /* __LOCKD_PROCESS_MGR_H__ */
diff --git a/lock-mgr/include/lockd-window-mgr.h b/lock-mgr/include/lockd-window-mgr.h
index 763303e..5bf8a5b 100755
--- a/lock-mgr/include/lockd-window-mgr.h
+++ b/lock-mgr/include/lockd-window-mgr.h
@@ -1,22 +1,17 @@
/*
- * starter
+ * Copyright 2012 Samsung Electronics Co., Ltd
*
- * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
- *
- * Contact: Seungtaek Chung <seungtaek.chung@samsung.com>, Mi-Ju Lee <miju52.lee@samsung.com>, Xi Zhichan <zhichan.xi@samsung.com>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
+ * Licensed under the Flora License, Version 1.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.tizenopensource.org/license
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
*/
#ifndef __LOCKD_WINDOW_MGR_H__
@@ -24,15 +19,16 @@
typedef struct _lockw_data lockw_data;
-void lockd_window_set_window_property(lockw_data * data, int lock_app_pid,
+void
+lockd_window_set_window_property(lockw_data * data, int lock_app_pid,
void *event);
-void lockd_window_set_window_effect(lockw_data * data, int lock_app_pid,
+void
+lockd_window_set_window_effect(lockw_data * data, int lock_app_pid,
void *event);
-void lockd_window_set_phonelock_pid(lockw_data * data, int phone_lock_pid);
-
-void lockd_window_mgr_ready_lock(void *data, lockw_data * lockw,
+void
+lockd_window_mgr_ready_lock(void *data, lockw_data * lockw,
Eina_Bool(*create_cb) (void *, int, void *),
Eina_Bool(*show_cb) (void *, int, void *));
diff --git a/lock-mgr/src/lock-daemon.c b/lock-mgr/src/lock-daemon.c
index b45114f..7dba048 100755
--- a/lock-mgr/src/lock-daemon.c
+++ b/lock-mgr/src/lock-daemon.c
@@ -1,36 +1,28 @@
/*
- * starter
+ * Copyright 2012 Samsung Electronics Co., Ltd
*
- * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
- *
- * Contact: Seungtaek Chung <seungtaek.chung@samsung.com>, Mi-Ju Lee <miju52.lee@samsung.com>, Xi Zhichan <zhichan.xi@samsung.com>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
+ * Licensed under the Flora License, Version 1.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.tizenopensource.org/license
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
*/
#include <Elementary.h>
#include <vconf.h>
#include <vconf-keys.h>
-#include <glib.h>
-#include <poll.h>
#include <stdio.h>
#include <stdlib.h>
-#include <sys/socket.h>
+#include <sys/un.h>
#include <sys/types.h>
#include <sys/stat.h>
-#include <sys/un.h>
#include <fcntl.h>
#include <errno.h>
#include <unistd.h>
@@ -42,28 +34,16 @@
#include "lockd-process-mgr.h"
#include "lockd-window-mgr.h"
-static int phone_lock_pid;
-
struct lockd_data {
int lock_app_pid;
- int phone_lock_app_pid;
- int phone_lock_state;
lockw_data *lockw;
};
-struct ucred {
- pid_t pid;
- uid_t uid;
- gid_t gid;
-};
-
-#define VCONFKEY_PHONE_LOCK_VERIFICATION "memory/lockscreen/phone_lock_verification"
-#define PHLOCK_SOCK_PREFIX "/tmp/phlock"
-#define PHLOCK_SOCK_MAXBUFF 65535
-#define PHLOCK_APP_CMDLINE "/opt/apps/org.tizen.phone-lock/bin/phone-lock"
#define LAUNCH_INTERVAL 100*1000
+static void lockd_launch_lockscreen(struct lockd_data *lockd);
static void lockd_launch_app_lockscreen(struct lockd_data *lockd);
+
static void lockd_unlock_lockscreen(struct lockd_data *lockd);
static void _lockd_notify_pm_state_cb(keynode_t * node, void *data)
@@ -115,37 +95,13 @@ _lockd_notify_lock_state_cb(keynode_t * node, void *data)
}
}
-static void
-_lockd_notify_phone_lock_verification_cb(keynode_t * node, void *data)
-{
- LOCKD_DBG("%s, %d", __func__, __LINE__);
-
- struct lockd_data *lockd = (struct lockd_data *)data;
- int val = -1;
-
- if (lockd == NULL) {
- LOCKD_ERR("lockd is NULL");
- return;
- }
-
- if (vconf_get_bool(VCONFKEY_PHONE_LOCK_VERIFICATION, &val) < 0) {
- LOCKD_ERR("Cannot get VCONFKEY_PHONE_LOCK_VERIFICATION");
- return;
- }
-
- if (val == TRUE) {
- lockd_window_mgr_finish_lock(lockd->lockw);
- vconf_set_int(VCONFKEY_IDLE_LOCK_STATE, VCONFKEY_IDLE_UNLOCK);
- }
-}
-
static int lockd_app_dead_cb(int pid, void *data)
{
LOCKD_DBG("app dead cb call! (pid : %d)", pid);
struct lockd_data *lockd = (struct lockd_data *)data;
- if (pid == lockd->lock_app_pid && lockd->phone_lock_state == 0) {
+ if (pid == lockd->lock_app_pid ) {
LOCKD_DBG("lock app(pid:%d) is destroyed.", pid);
lockd_unlock_lockscreen(lockd);
}
@@ -185,21 +141,12 @@ static void lockd_launch_app_lockscreen(struct lockd_data *lockd)
{
LOCKD_DBG("launch app lock screen");
- int call_state = -1, bootlock_state = -1;
+ int call_state = -1, phlock_state = -1;
int r = 0;
- vconf_get_bool(VCONFKEY_SETAPPL_STATE_POWER_ON_LOCK_BOOL,
- &bootlock_state);
-
- if (bootlock_state) {
- lockd->phone_lock_state = 1;
- } else {
- lockd->phone_lock_state = 0;
- }
-
if (lockd_process_mgr_check_lock(lockd->lock_app_pid) == TRUE) {
LOCKD_DBG("Lock Screen App is already running.");
- r = lockd_process_mgr_restart_lock(lockd->phone_lock_state);
+ r = lockd_process_mgr_restart_lock();
if (r < 0) {
LOCKD_DBG("Restarting Lock Screen App is fail [%d].", r);
usleep(LAUNCH_INTERVAL);
@@ -217,295 +164,59 @@ static void lockd_launch_app_lockscreen(struct lockd_data *lockd)
return;
}
- if (lockd->phone_lock_state == 1) {
- vconf_set_bool(VCONFKEY_PHONE_LOCK_VERIFICATION, FALSE);
- if (lockd_process_mgr_check_lock(lockd->phone_lock_app_pid) == TRUE) {
- LOCKD_DBG("phone lock App is already running.");
- return;
- }
- vconf_set_int(VCONFKEY_IDLE_LOCK_STATE, VCONFKEY_IDLE_LOCK);
- lockd->phone_lock_app_pid =
- lockd_process_mgr_start_phone_lock();
- phone_lock_pid = lockd->phone_lock_app_pid;
- LOCKD_DBG("%s, %d, phone_lock_pid = %d", __func__, __LINE__,
- phone_lock_pid);
- lockd_window_set_phonelock_pid(lockd->lockw, phone_lock_pid);
- } else {
- lockd->lock_app_pid =
- lockd_process_mgr_start_lock(lockd, lockd_app_dead_cb,
- lockd->phone_lock_state);
- if (lockd->lock_app_pid < 0)
- return;
- vconf_set_int(VCONFKEY_IDLE_LOCK_STATE, VCONFKEY_IDLE_LOCK);
- lockd_window_mgr_ready_lock(lockd, lockd->lockw, lockd_app_create_cb,
- lockd_app_show_cb);
- }
-}
-
-static void lockd_unlock_lockscreen(struct lockd_data *lockd)
-{
- LOCKD_DBG("unlock lock screen");
- lockd->lock_app_pid = 0;
-
- lockd_window_mgr_finish_lock(lockd->lockw);
-
- vconf_set_int(VCONFKEY_IDLE_LOCK_STATE, VCONFKEY_IDLE_UNLOCK);
-}
-
-inline static void lockd_set_sock_option(int fd, int cli)
-{
- int size;
- struct timeval tv = { 1, 200 * 1000 };
-
- size = PHLOCK_SOCK_MAXBUFF;
- setsockopt(fd, SOL_SOCKET, SO_SNDBUF, &size, sizeof(size));
- setsockopt(fd, SOL_SOCKET, SO_RCVBUF, &size, sizeof(size));
- if (cli)
- setsockopt(fd, SOL_SOCKET, SO_RCVTIMEO, &tv, sizeof(tv));
-}
-
-static int lockd_create_sock(void)
-{
- struct sockaddr_un saddr;
- int fd;
-
- fd = socket(AF_UNIX, SOCK_STREAM, 0);
- if (fd < 0) {
- if (errno == EINVAL) {
- fd = socket(AF_UNIX, SOCK_STREAM, 0);
- if (fd < 0) {
- LOCKD_DBG
- ("second chance - socket create error");
- return -1;
- }
- } else {
- LOCKD_DBG("socket error");
- return -1;
- }
- }
-
- bzero(&saddr, sizeof(saddr));
- saddr.sun_family = AF_UNIX;
-
- strncpy(saddr.sun_path, PHLOCK_SOCK_PREFIX, strlen(PHLOCK_SOCK_PREFIX));
- saddr.sun_path[strlen(PHLOCK_SOCK_PREFIX)] = 0;
-
- unlink(saddr.sun_path);
-
- if (bind(fd, (struct sockaddr *)&saddr, sizeof(saddr)) < 0) {
- LOCKD_DBG("bind error");
- return -1;
- }
-
- if (chmod(saddr.sun_path, (S_IRWXU | S_IRWXG | S_IRWXO)) < 0) {
- LOCKD_DBG("failed to change the socket permission");
- return -1;
- }
-
- lockd_set_sock_option(fd, 0);
-
- if (listen(fd, 10) == -1) {
- LOCKD_DBG("listen error");
- return -1;
- }
-
- return fd;
-}
+ lockd->lock_app_pid =
+ lockd_process_mgr_start_lock(lockd, lockd_app_dead_cb);
+ if (lockd->lock_app_pid < 0)
+ return;
-static gboolean lockd_glib_check(GSource * src)
-{
- GSList *fd_list;
- GPollFD *tmp;
-
- fd_list = src->poll_fds;
- do {
- tmp = (GPollFD *) fd_list->data;
- if ((tmp->revents & (POLLIN | POLLPRI)))
- return TRUE;
- fd_list = fd_list->next;
- } while (fd_list);
-
- return FALSE;
+ vconf_set_int(VCONFKEY_IDLE_LOCK_STATE, VCONFKEY_IDLE_LOCK);
+ lockd_window_mgr_ready_lock(lockd, lockd->lockw, lockd_app_create_cb,
+ lockd_app_show_cb);
}
-static char *lockd_read_cmdline_from_proc(int pid)
+static void lockd_launch_lockscreen(struct lockd_data *lockd)
{
- int memsize = 32;
- char path[32];
- char *cmdline = NULL, *tempptr = NULL;
- FILE *fp = NULL;
+ LOCKD_DBG("launch lock screen");
- snprintf(path, sizeof(path), "/proc/%d/cmdline", pid);
-
- fp = fopen(path, "r");
- if (fp == NULL) {
- LOCKD_DBG("Cannot open cmdline on pid[%d]", pid);
- return NULL;
- }
-
- cmdline = malloc(32);
- if (cmdline == NULL) {
- LOCKD_DBG("%s", "Out of memory");
- fclose(fp);
- return NULL;
- }
-
- bzero(cmdline, memsize);
- if (fgets(cmdline, 32, fp) == NULL) {
- LOCKD_DBG("%s", "Cannot read cmdline");
- free(cmdline);
- fclose(fp);
- return NULL;
- }
+ int call_state = -1;
+ int r = 0;
- while (cmdline[memsize - 2] != 0) {
- cmdline[memsize - 1] = (char)fgetc(fp);
- tempptr = realloc(cmdline, memsize + 32);
- if (tempptr == NULL) {
- fclose(fp);
- LOCKD_DBG("%s", "Out of memory");
- return NULL;
+ if (lockd_process_mgr_check_lock(lockd->lock_app_pid) == TRUE) {
+ LOCKD_DBG("Lock Screen App is already running.");
+ r = lockd_process_mgr_restart_lock();
+ if (r < 0) {
+ LOCKD_DBG("Restarting Lock Screen App is fail [%d].", r);
+ } else {
+ LOCKD_DBG("Restarting Lock Screen App, pid[%d].", r);
+ return;
}
- cmdline = tempptr;
- bzero(cmdline + memsize, 32);
- fgets(cmdline + memsize, 32, fp);
- memsize += 32;
- }
-
- if (fp != NULL)
- fclose(fp);
- return cmdline;
-}
-
-static int lockd_sock_handler(int fd)
-{
- int cl;
- int len;
- int sun_size;
- int clifd = -1;
- char cmd[PHLOCK_SOCK_MAXBUFF];
- char *cmdline = NULL;
-
- struct ucred cr;
- struct sockaddr_un lockd_addr;
-
- cl = sizeof(cr);
- sun_size = sizeof(struct sockaddr_un);
-
- if ((clifd =
- accept(fd, (struct sockaddr *)&lockd_addr,
- (socklen_t *) & sun_size)) == -1) {
- if (errno != EINTR)
- LOCKD_DBG("accept error");
- return -1;
}
- if (getsockopt(clifd, SOL_SOCKET, SO_PEERCRED, &cr, (socklen_t *) & cl)
- < 0) {
- LOCKD_DBG("peer information error");
- close(clifd);
- return -1;
- }
- LOCKD_DBG("Peer's pid=%d, uid=%d, gid=%d\n", cr.pid, cr.uid, cr.gid);
-
- memset(cmd, 0, PHLOCK_SOCK_MAXBUFF);
-
- lockd_set_sock_option(clifd, 1);
-
- len = recv(clifd, cmd, PHLOCK_SOCK_MAXBUFF, 0);
-
- if (cmd == NULL) {
- LOCKD_DBG("recv error, cmd is NULL");
- close(clifd);
- return -1;
- }
-
- if (len != strlen(cmd)) {
- LOCKD_DBG("recv error %d %d", len, strlen(cmd));
- close(clifd);
- return -1;
- }
-
- LOCKD_DBG("cmd %s", cmd);
-
- cmdline = lockd_read_cmdline_from_proc(cr.pid);
- if (cmdline == NULL) {
- LOCKD_DBG("Error on opening /proc/%d/cmdline", cr.pid);
- return -1;
- }
-
- LOCKD_DBG("/proc/%d/cmdline : %s", cr.pid, cmdline);
-
- if ((!strncmp(cmdline, PHLOCK_APP_CMDLINE, strlen(cmdline)))
- && (phone_lock_pid == cr.pid)) {
- LOCKD_DBG("pid [%d] %s is verified, unlock..!!\n", cr.pid,
- cmdline);
- lockd_process_mgr_terminate_phone_lock(phone_lock_pid);
- phone_lock_pid = 0;
- vconf_set_bool(VCONFKEY_PHONE_LOCK_VERIFICATION, TRUE);
+ vconf_get_int(VCONFKEY_CALL_STATE, &call_state);
+ if (call_state != VCONFKEY_CALL_OFF) {
+ LOCKD_DBG
+ ("Current call state(%d) does not allow to launch lock screen.",
+ call_state);
+ return;
}
- return 0;
-}
+ lockd_window_mgr_ready_lock(lockd, lockd->lockw, lockd_app_create_cb,
+ lockd_app_show_cb);
-static gboolean lockd_glib_handler(gpointer data)
-{
- GPollFD *gpollfd = (GPollFD *) data;
- if (lockd_sock_handler(gpollfd->fd) < 0) {
- LOCKD_DBG("lockd_sock_handler is failed..!!");
- }
- return TRUE;
-}
+ lockd->lock_app_pid =
+ lockd_process_mgr_start_lock(lockd, lockd_app_dead_cb);
-static gboolean lockd_glib_dispatch(GSource * src, GSourceFunc callback,
- gpointer data)
-{
- callback(data);
- return TRUE;
+ vconf_set_int(VCONFKEY_IDLE_LOCK_STATE, VCONFKEY_IDLE_LOCK);
}
-static gboolean lockd_glib_prepare(GSource * src, gint * timeout)
-{
- return FALSE;
-}
-
-static GSourceFuncs funcs = {
- .prepare = lockd_glib_prepare,
- .check = lockd_glib_check,
- .dispatch = lockd_glib_dispatch,
- .finalize = NULL
-};
-
-static int lockd_init_sock(void)
+static void lockd_unlock_lockscreen(struct lockd_data *lockd)
{
- int fd;
- GPollFD *gpollfd;
- GSource *src;
- int ret;
-
- fd = lockd_create_sock();
- if (fd < 0) {
- LOCKD_DBG("lock daemon create sock failed..!!");
- }
-
- src = g_source_new(&funcs, sizeof(GSource));
-
- gpollfd = (GPollFD *) g_malloc(sizeof(GPollFD));
- gpollfd->events = POLLIN;
- gpollfd->fd = fd;
-
- g_source_add_poll(src, gpollfd);
- g_source_set_callback(src, (GSourceFunc) lockd_glib_handler,
- (gpointer) gpollfd, NULL);
- g_source_set_priority(src, G_PRIORITY_LOW);
-
- ret = g_source_attach(src, NULL);
- if (ret == 0)
- return -1;
+ LOCKD_DBG("unlock lock screen");
+ lockd->lock_app_pid = 0;
- g_source_unref(src);
+ lockd_window_mgr_finish_lock(lockd->lockw);
- return 0;
+ vconf_set_int(VCONFKEY_IDLE_LOCK_STATE, VCONFKEY_IDLE_UNLOCK);
}
static void lockd_init_vconf(struct lockd_data *lockd)
@@ -518,26 +229,6 @@ static void lockd_init_vconf(struct lockd_data *lockd)
}
if (vconf_notify_key_changed
- (VCONFKEY_PHONE_LOCK_VERIFICATION,
- _lockd_notify_phone_lock_verification_cb, lockd) != 0) {
- if (vconf_get_bool(VCONFKEY_PHONE_LOCK_VERIFICATION, &val) < 0) {
- LOCKD_ERR
- ("Cannot get VCONFKEY_PHONE_LOCK_VERIFICATION");
- vconf_set_bool(VCONFKEY_PHONE_LOCK_VERIFICATION, 0);
- if (vconf_notify_key_changed
- (VCONFKEY_PHONE_LOCK_VERIFICATION,
- _lockd_notify_phone_lock_verification_cb,
- lockd) != 0) {
- LOCKD_ERR
- ("Fail vconf_notify_key_changed : VCONFKEY_PHONE_LOCK_VERIFICATION");
- }
- } else {
- LOCKD_ERR
- ("Fail vconf_notify_key_changed : VCONFKEY_PHONE_LOCK_VERIFICATION");
- }
- }
-
- if (vconf_notify_key_changed
(VCONFKEY_IDLE_LOCK_STATE,
_lockd_notify_lock_state_cb,
lockd) != 0) {
@@ -561,10 +252,6 @@ static void lockd_start_lock_daemon(void *data)
lockd_init_vconf(lockd);
- r = lockd_init_sock();
- if (r < 0) {
- LOCKD_DBG("lockd init socket failed: %d", r);
- }
lockd->lockw = lockd_window_init();
LOCKD_DBG("%s, %d", __func__, __LINE__);
@@ -581,12 +268,5 @@ int start_lock_daemon()
memset(lockd, 0x0, sizeof(struct lockd_data));
lockd_start_lock_daemon(lockd);
- vconf_get_bool(VCONFKEY_SETAPPL_STATE_POWER_ON_LOCK_BOOL, &val);
- LOCKD_DBG("%s, %d, val = %d", __func__, __LINE__, val);
-
- if (val) {
- lockd_launch_app_lockscreen(lockd);
- }
-
return 0;
}
diff --git a/lock-mgr/src/lockd-debug.c b/lock-mgr/src/lockd-debug.c
index ea43831..bff5949 100755
--- a/lock-mgr/src/lockd-debug.c
+++ b/lock-mgr/src/lockd-debug.c
@@ -1,22 +1,17 @@
/*
- * starter
+ * Copyright 2012 Samsung Electronics Co., Ltd
*
- * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
- *
- * Contact: Seungtaek Chung <seungtaek.chung@samsung.com>, Mi-Ju Lee <miju52.lee@samsung.com>, Xi Zhichan <zhichan.xi@samsung.com>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
+ * Licensed under the Flora License, Version 1.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.tizenopensource.org/license
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
*/
#include <stdio.h>
diff --git a/lock-mgr/src/lockd-process-mgr.c b/lock-mgr/src/lockd-process-mgr.c
index f227d72..179fced 100755
--- a/lock-mgr/src/lockd-process-mgr.c
+++ b/lock-mgr/src/lockd-process-mgr.c
@@ -1,22 +1,17 @@
/*
- * starter
+ * Copyright 2012 Samsung Electronics Co., Ltd
*
- * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
- *
- * Contact: Seungtaek Chung <seungtaek.chung@samsung.com>, Mi-Ju Lee <miju52.lee@samsung.com>, Xi Zhichan <zhichan.xi@samsung.com>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
+ * Licensed under the Flora License, Version 1.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.tizenopensource.org/license
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
*/
#include <vconf.h>
@@ -26,10 +21,10 @@
#include "lockd-debug.h"
#include "lockd-process-mgr.h"
+#include "starter-vconf.h"
-#define VCONFKEY_LOCKP_PKG_NAME "db/lockscreen/pkgname"
#define LOCKD_DEFAULT_PKG_NAME "org.tizen.draglock"
-#define LOCKD_PHONE_LOCK_PKG_NAME "org.tizen.phone-lock"
+#define LOCKD_DEFAULT_LOCKSCREEN "org.tizen.draglock"
#define RETRY_MAXCOUNT 30
#define RELAUNCH_INTERVAL 100*1000
@@ -37,7 +32,7 @@ static char *_lockd_process_mgr_get_pkgname(void)
{
char *pkgname = NULL;
- pkgname = vconf_get_str(VCONFKEY_LOCKP_PKG_NAME);
+ pkgname = vconf_get_str(VCONF_PRIVATE_LOCKSCREEN_PKGNAME);
LOCKD_DBG("pkg name is %s", pkgname);
@@ -48,7 +43,7 @@ static char *_lockd_process_mgr_get_pkgname(void)
return pkgname;
}
-int lockd_process_mgr_restart_lock(int phone_lock_state)
+int lockd_process_mgr_restart_lock(void)
{
char *lock_app_path = NULL;
int pid;
@@ -58,10 +53,7 @@ int lockd_process_mgr_restart_lock(int phone_lock_state)
b = bundle_create();
- if (phone_lock_state)
- bundle_add(b, "mode", "lock");
- else
- bundle_add(b, "mode", "normal");
+ bundle_add(b, "mode", "normal");
pid = aul_launch_app(lock_app_path, b);
@@ -75,8 +67,7 @@ int lockd_process_mgr_restart_lock(int phone_lock_state)
}
int
-lockd_process_mgr_start_lock(void *data, int (*dead_cb) (int, void *),
- int phone_lock_state)
+lockd_process_mgr_start_lock(void *data, int (*dead_cb) (int, void *))
{
char *lock_app_path = NULL;
int pid;
@@ -86,10 +77,7 @@ lockd_process_mgr_start_lock(void *data, int (*dead_cb) (int, void *),
b = bundle_create();
- if (phone_lock_state)
- bundle_add(b, "mode", "lock");
- else
- bundle_add(b, "mode", "normal");
+ bundle_add(b, "mode", "normal");
int i;
for (i=0; i<RETRY_MAXCOUNT; i++)
@@ -101,6 +89,15 @@ lockd_process_mgr_start_lock(void *data, int (*dead_cb) (int, void *),
if (pid == AUL_R_ECOMM) {
LOCKD_DBG("Relaunch lock application [%d]times", i);
usleep(RELAUNCH_INTERVAL);
+ } else if (pid == AUL_R_ERROR) {
+ LOCKD_DBG("launch[%s] is failed, launch default lock screen", lock_app_path);
+ pid = aul_launch_app(LOCKD_DEFAULT_LOCKSCREEN, b);
+ if (pid >0) {
+ aul_listen_app_dead_signal(dead_cb, data);
+ if (b)
+ bundle_free(b);
+ return pid;
+ }
} else {
/* set listen and dead signal */
aul_listen_app_dead_signal(dead_cb, data);
@@ -113,25 +110,6 @@ lockd_process_mgr_start_lock(void *data, int (*dead_cb) (int, void *),
return pid;
}
-int lockd_process_mgr_start_phone_lock(void)
-{
- int pid = 0;
- bundle *b = NULL;
-
- b = bundle_create();
-
- bundle_add(b, "pwlock_type", "running_lock");
- bundle_add(b, "window_type", "alpha");
-
- pid = aul_launch_app(LOCKD_PHONE_LOCK_PKG_NAME, b);
- LOCKD_DBG("aul_launch_app(%s, b), pid = %d", LOCKD_PHONE_LOCK_PKG_NAME,
- pid);
- if (b)
- bundle_free(b);
-
- return pid;
-}
-
void
lockd_process_mgr_terminate_lock_app(int lock_app_pid, int state)
{
@@ -147,20 +125,15 @@ lockd_process_mgr_terminate_lock_app(int lock_app_pid, int state)
}
}
-void lockd_process_mgr_terminate_phone_lock(int phone_lock_pid)
-{
- LOCKD_DBG("Terminate Phone Lock(pid : %d)", phone_lock_pid);
- aul_terminate_pid(phone_lock_pid);
-}
-
int lockd_process_mgr_check_lock(int pid)
{
char buf[128];
LOCKD_DBG("%s, %d", __func__, __LINE__);
+
if (aul_app_get_pkgname_bypid(pid, buf, sizeof(buf)) < 0) {
LOCKD_DBG("no such pkg by pid %d\n", pid);
} else {
- LOCKD_DBG("lock screen pkgname = %s, pid = %d\n", buf, pid);
+ LOCKD_DBG("app pkgname = %s, pid = %d\n", buf, pid);
if (aul_app_is_running(buf) == TRUE) {
LOCKD_DBG("%s [pid = %d] is running\n", buf, pid);
return TRUE;
diff --git a/lock-mgr/src/lockd-window-mgr.c b/lock-mgr/src/lockd-window-mgr.c
index a34995c..cdf5e74 100755
--- a/lock-mgr/src/lockd-window-mgr.c
+++ b/lock-mgr/src/lockd-window-mgr.c
@@ -1,22 +1,17 @@
/*
- * starter
+ * Copyright 2012 Samsung Electronics Co., Ltd
*
- * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
- *
- * Contact: Seungtaek Chung <seungtaek.chung@samsung.com>, Mi-Ju Lee <miju52.lee@samsung.com>, Xi Zhichan <zhichan.xi@samsung.com>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
+ * Licensed under the Flora License, Version 1.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.tizenopensource.org/license
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
*/
#include <Elementary.h>
@@ -25,12 +20,12 @@
#include <vconf.h>
#include <bundle.h>
#include <appcore-efl.h>
+#include <app.h>
#include "lockd-debug.h"
#include "lockd-window-mgr.h"
#define PACKAGE "starter"
-#define VCONFKEY_PHONE_LOCK_VERIFICATION "memory/lockscreen/phone_lock_verification"
struct _lockw_data {
Ecore_X_Window input_x_window;
@@ -44,13 +39,12 @@ struct _lockw_data {
Ecore_Event_Handler *h_wincreate;
Ecore_Event_Handler *h_winshow;
- int phone_lock_state;
- int phone_lock_app_pid;
};
static Eina_Bool _lockd_window_key_down_cb(void *data, int type, void *event)
{
LOCKD_DBG("Key Down CB.");
+
return ECORE_CALLBACK_PASS_ON;
}
@@ -87,6 +81,7 @@ _lockd_window_check_validate_rect(Ecore_X_Display * dpy, Ecore_X_Window window)
}
}
}
+
return ret;
}
@@ -120,6 +115,7 @@ static Window get_user_created_window(Window win)
XFree((void *)prop_ret);
return xid;
+
}
void
@@ -196,19 +192,6 @@ lockd_window_set_window_effect(lockw_data * data, int lock_app_pid, void *event)
}
}
-void lockd_window_set_phonelock_pid(lockw_data * data, int phone_lock_pid)
-{
- lockw_data *lockw = (lockw_data *) data;
-
- if (!lockw) {
- return;
- }
- LOCKD_DBG("%s, %d", __func__, __LINE__);
- lockw->phone_lock_app_pid = phone_lock_pid;
- LOCKD_DBG("%s, %d, lockw->phone_lock_app_pid = %d", __func__, __LINE__,
- lockw->phone_lock_app_pid);
-}
-
void
lockd_window_mgr_ready_lock(void *data, lockw_data * lockw,
Eina_Bool(*create_cb) (void *, int, void *),
@@ -272,6 +255,7 @@ lockw_data *lockd_window_init(void)
memset(lockw, 0x0, sizeof(lockw_data));
pid = getpid();
+
input_x_window = ecore_x_window_input_new(0, 0, 0, 1, 1);
ecore_x_icccm_title_set(input_x_window, "lock-daemon-input-window");
ecore_x_netwm_name_set(input_x_window, "lock-daemon-input-window");
@@ -284,4 +268,3 @@ lockw_data *lockd_window_init(void)
return lockw;
}
-
diff --git a/packaging/starter.spec b/packaging/starter.spec
index e6909ea..ab4196b 100755
--- a/packaging/starter.spec
+++ b/packaging/starter.spec
@@ -1,9 +1,9 @@
Name: starter
Summary: starter
-Version: 0.4.0
+Version: 0.4.11
Release: 1
-Group: Apache
-License: TO_BE/FILLED_IN
+Group: TO_BE/FILLED_IN
+License: Flora Software License
Source0: starter-%{version}.tar.gz
Requires(post): /usr/bin/vconftool
BuildRequires: cmake
@@ -18,6 +18,7 @@ BuildRequires: pkgconfig(ecore)
BuildRequires: pkgconfig(evas)
BuildRequires: pkgconfig(utilX)
BuildRequires: pkgconfig(appcore-efl)
+BuildRequires: pkgconfig(capi-appfw-application)
%description
Description: Starter
@@ -37,19 +38,30 @@ rm -rf %{buildroot}
%post
-vconftool set -t int "memory/startapps/sequence" 0 -i -u 5000 -g 5000
-vconftool set -t string db/lockscreen/pkgname "org.tizen.draglock" -u 5000 -g 5000
+change_file_executable()
+{
+ chmod +x $@ 2>/dev/null
+ if [ $? -ne 0 ]; then
+ echo "Failed to change the perms of $@"
+ fi
+}
+
+vconftool set -t int "memory/starter/sequence" 0 -i -u 5000 -g 5000
+vconftool set -t string file/private/lockscreen/pkgname "org.tizen.draglock" -u 5000 -g 5000
vconftool -i set -t int memory/idle_lock/state "0" -u 5000 -g 5000
ln -sf /etc/init.d/rd4starter /etc/rc.d/rc4.d/S81starter
ln -sf /etc/init.d/rd3starter /etc/rc.d/rc3.d/S43starter
+change_file_executable /etc/opt/init/starter.init.sh
+/etc/opt/init/starter.init.sh
+
sync
%files
%defattr(-,root,root,-)
+/etc/opt/init/starter.init.sh
%{_sysconfdir}/init.d/rd4starter
%{_sysconfdir}/init.d/rd3starter
%{_bindir}/starter
%{_libdir}/liblock-daemon.so
-
diff --git a/starter.desktop.in b/starter.desktop.in
new file mode 100755
index 0000000..f2a89f3
--- /dev/null
+++ b/starter.desktop.in
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Encoding=UTF-8
+Name=@PROJECT_NAME@
+Exec=@BINDIR@/@PROJECT_NAME@
+Icon=elementary
+Terminal=false
+Type=Application
+Categories=Application;Utility;
+
diff --git a/starter.init.sh b/starter.init.sh
new file mode 100755
index 0000000..b4e0f40
--- /dev/null
+++ b/starter.init.sh
@@ -0,0 +1,2 @@
+cp -f /usr/ug/lib/libug-openlock-setting.so /opt/ug/lib
+cp -f /usr/ug/lib/libug-openlock-setting.so.0.1.0 /opt/ug/lib