[Dev] Fwd: Fwd: Re: Regarding Multi-User architecture, https://bugs.tizen.org/jira/browse/PTREL-285
SHIVAKUMAR JAGALUR MATT
shiva.jm at samsung.com
Wed Dec 18 12:01:41 GMT 2013
Thanks for the Information. We will review our Telephony package, if we found any other hardcode variable, which is not found in tizen-platform-config, we will add it to the file tizen-platform.meta
then push for review. I need few other information as below:
1) The code available in project platform/core/appfw/tizen-platform-config is under "tizen" and some other branches only, but "tizen_3.0" branch is not listed yet ? So which branch code we should use ?
2) So, if we want to eliminate the hardcode paths found in our packages and fix them ( use the new variables availale in tizen-platform-config in our module) , We need to wait till the file tizen-platform-config or tizen-platform.meta is found on "tizen_3.0" branch, then we can change in our module code, test the module and push our new modified code to gerrit? OR We need to test is locally using tizen-platform-config available in "tizen" branch.
3) Do we need to use new variables availale in tizen-platform-config in our module OR Do we need use platform wrapper apis availble in project platform/core/appfw/tizen-platform-wrapper, i.e tzplatform_getname() tzplatform_getui() and test our modules?.
------- Original Message -------
Sender : Stéphane Desneux<stephane.desneux at open.eurogiciel.org>
Date : Dec 17, 2013 20:28 (GMT+09:00)
Title : Re: Regarding Multi-User architecture, https://bugs.tizen.org/jira/browse/PTREL-285
Please find my answers in your text. Added Dominique in copy.
On 17/12/2013 06:40, SHIVAKUMAR JAGALUR MATT wrote:
> Dear Sunil and Stephane,
> I am working for Tizen::Telephony framework component, i
> need few information regarding Multi-User architecture changes.
> 1) Is the path that we need to change to suppourt multi-user
> is finalized now, https://wiki.tizen.org/wiki/Multi-user_Platform_Metadata ?
Any hardcoded path, user name, uid/gid must be changed. They are
replaced by variables defined in tizen-platform-config (through
different mechanisms depending on where the hardcoded item is found)
Actually, the full list of variables defined in tizen-platform-config is
not finalized yet. From day to day, we have to add new paths, depending
on the packages we fix.
So, the variables that are already defined shouldn't be removed (except
if we find that we can merge 2 variables in one, i.e. associating the
same path for two resources). Some new variables/paths will certainly be
added, as we progess in the list of the 200+ packages to fix.
If you (your team) want to fix a given package, it may happen that you
don't find the corresponding variable in tizen-platform-config. In this
case, simply add it to the file tizen-platform.meta then push for review
on gerrit and we'll merge the addition.
> 2) Is these changes apply to Tizen3.0 only?. is the Tizen3.0
> branch is ready to recevie submissions?
Yes it's only for Tizen 3.0.
> 3) Do we need any specific testing to ensure these changes
> made to suppourt Multi-User architecture?.
tl;dr: Testing is not specific yet: we must just ensure that the fixes
for multiuser mode don't break things. Later, we'll have to add specific
tests for multiuser modes (ex: concurrency between users, sharing
resources between users etc.)
Actually, the tizen-platform-config reflects the Tizen 2.1/2.2 single
user situation: the paths/uids/... defined in the variables are the same
as the ones we find in the source code or spec files.
We prepare the evolution in 4 steps:
Step 1: we switch from hardcoded paths/uid/... to dynamicaly defined
paths/uid/... depending on the platform (profile), but the definition
remains the same and we're still in single user mode = "Tizen 2.2
Step 2: we change user id and name (no more 'app' with uid=5000 but
'user1' with uid=1234) => this will break some mechanisms. After the
fixes, we're still in single user mode, but flexible (user name/uid can
Step 3: switch the tizen-platform-config to "real" multi user mode:
paths are changed to reflect a real multiuser model. Again, this will
break things and should be fixed.
Step 4: finally, depending on each platform, we could have different
multiuser modes: simultaneous or exclusive. Again, some things will
break depending on the platform, concurrency/sharing modes etc.
Actually, we're in step 1 and we must test that the packages that we fix
(remove hardcoded paths) are not broken. After the fix, they must work
as before: no specific test to add yet.
You're welcome. I hope this clarifies the roadmap.
More information about the Dev