platform/core/appfw/app-installers.git
9 years agoFix parser handlers 22/37122/2 accepted/tizen_3.0.2015.q1_common tizen_3.0.2015.q1_common accepted/tizen/3.0.2015.q1/common/20150320.110440 accepted/tizen/common/20150319.155422 accepted/tizen/mobile/20150326.005122 accepted/tizen/tv/20150324.014504 accepted/tizen/wearable/20150323.005717 submit/tizen_3.0.2015.q1_common/20150320.103259 submit/tizen_common/20150319.154254 submit/tizen_mobile/20150325.000000 submit/tizen_tv/20150320.000001 submit/tizen_wearable/20150320.000000
Tomasz Iwanek [Wed, 18 Mar 2015 15:10:39 +0000 (16:10 +0100)]
Fix parser handlers

In current execution flow, there is call of Parse() function
for each handler. Handler should be prepared for situation that
there is no value it expects.

Change-Id: Ib17ed3e4bbb5600397c9bf23cf140d0d064b8d29

9 years agoFix manfiest_util parsing localized text nodes 42/36842/3
Jakub Izydorczyk [Fri, 13 Mar 2015 13:03:44 +0000 (14:03 +0100)]
Fix manfiest_util parsing localized text nodes

manifest_util was was adding bidi control characters in front and
in the back twice, when dir attribute was specified.

Manifest util test results:
12/12 tests PASS

Change-Id: Ic83a766508f871607849c298d335e813b4484db7

9 years ago[Unitttests] string_utils_unittest 09/36109/5
Tomasz Iwanek [Fri, 20 Feb 2015 15:16:39 +0000 (16:16 +0100)]
[Unitttests] string_utils_unittest

This commit adds unit tests for 'src/utils/string_util.*'

Change-Id: I237ebe67f7f761afb5f6dfa5d6d648206e8f7d13

9 years agoFix tpk parser bug 37/36837/2
Youmin Ha [Mon, 16 Mar 2015 08:29:46 +0000 (17:29 +0900)]
Fix tpk parser bug

Fixed condition of judging children count of an element

Change-Id: I9547294a2c1b1018a0bed87e4eab656a61ed2e2e
Signed-Off-By: Youmin Ha <youmin.ha@samsung.com>
9 years agoPerform StepRevokeSecurity after StepRemove 46/37046/1
Rafal Krypa [Wed, 18 Mar 2015 11:07:19 +0000 (12:07 +0100)]
Perform StepRevokeSecurity after StepRemove

Revoking security configuration causes StepRemove to fail.
Application files are labeled with per-app Smack label.
Access to that label is part of security configuration which shouldn't
be revoked before files are uninstalled.

Change-Id: Ib41ca3b04324f307954c64fa93cdefaf9da0325b
Signed-off-by: Rafal Krypa <r.krypa@samsung.com>
9 years agoAdd missing unit tests for manifest util 41/36841/2
Jakub Izydorczyk [Fri, 13 Mar 2015 06:35:45 +0000 (07:35 +0100)]
Add missing unit tests for manifest util

10/12 tests PASSES

GetNodeText tests fails due to double addition
of bidi control characters

Change-Id: I766827bd7b61da469fd38376bdee1c6715034e2f

9 years agoRemove Manifest::Type from parser 35/36835/2
Jakub Izydorczyk [Fri, 6 Mar 2015 13:53:54 +0000 (14:53 +0100)]
Remove Manifest::Type from parser

Remove Manifest::Type, as this parser was supposed to be
only for config.xml from *.wgt applications.

Change-Id: Ie465f45c40d2c59492e3f9503132af8e47a4ccd0

9 years agoFix the path of each application passed to security manager 57/36757/4
Youmin Ha [Fri, 13 Mar 2015 05:14:46 +0000 (14:14 +0900)]
Fix the path of each application passed to security manager

Wrong path of each application was passed to the security manager. It
causes installation failure.
This commit fixes the installed application path.

Change-Id: I0b95e528ef2f4c41091b4e60bb9f42e1dce02333
Signed-Off-By: Youmin Ha <youmin.ha@samsung.com>
Signed-Off-By: Sangyoon Jang <s89.jang@samsung.com>
9 years agoReplace tpk manifest parser to XmlParser 04/36404/5
Youmin Ha [Thu, 5 Mar 2015 08:05:41 +0000 (17:05 +0900)]
Replace tpk manifest parser to XmlParser

Old manifest parser is replaced with the new general-purpose XmlParser.
With the XmlParser, the element hierarchy is fully preserved.
In addition, all exceptions are removed in this commit.

Change-Id: Id03384dc0b3c661bd876966bfbb3883b631cc68d
Signed-Off-By: Youmin Ha <youmin.ha@samsung.com>
9 years agoAdd 'app-control' manifest handler 74/36374/2
Tomasz Iwanek [Mon, 2 Mar 2015 14:48:14 +0000 (15:48 +0100)]
Add 'app-control' manifest handler

Change-Id: Ib06a69de03eddbac768c8ada921dfed60b33e006

9 years agoFix build break by applying new file_util namespace 56/36756/1
Youmin Ha [Fri, 13 Mar 2015 05:11:08 +0000 (14:11 +0900)]
Fix build break by applying new file_util namespace

With the commit f2251075, src/common/utils.h is moved to
src/utils/file_util.h, and the corresponding namespace is changed too.
But the commit did not fix the tpk source, and it causes build break.
This commit fixed the build break, and make the tpk installer work as
well.

Change-Id: Ibd55bdcb7dfcc460233c8f0bfcc7de5cdf8e236c
Signed-Off-By: Youmin Ha <youmin.ha@samsung.com>
9 years agoFix for passing compile flags correctly in cmake 11/36111/3
Tomasz Iwanek [Thu, 19 Feb 2015 15:11:24 +0000 (16:11 +0100)]
Fix for passing compile flags correctly in cmake

This fixes ApplyPkgConfig.cmake module.
Flags should be passed to target if there are present
in pkg-config. Skipping them, as it was done, may
lead to hidden errors in code.

Change-Id: I41c25b04e329d6379efb5736eea1973ce68d674c

9 years agoMove file_util.cc to utils 10/36110/2
Tomasz Iwanek [Mon, 23 Feb 2015 10:35:33 +0000 (11:35 +0100)]
Move file_util.cc to utils

Change-Id: Ida4e0c8c922549165f318b7ca3292d1a4fd381ba

9 years agoRemove version check in ApplicationData 79/36379/2
Jakub Izydorczyk [Thu, 5 Mar 2015 14:17:56 +0000 (15:17 +0100)]
Remove version check in ApplicationData

Remove getting manifest version attribute error code, as
according to w3c specification version attribute is optional
and can be any string.

Links to spec:
http://www.w3.org/TR/widgets/#the-version-attribute and
http://www.w3.org/TR/widgets/#version-attribute

Change-Id: I5d8192a34721d8e7c9ac08af70e98af9fd011dda

9 years agoFix issues with icon 78/36378/2
Jakub Izydorczyk [Thu, 5 Mar 2015 08:51:24 +0000 (09:51 +0100)]
Fix issues with icon

Fix generation of xml manifest when there is no icon defined in
config.xml. Fix checking if icon exists during fill manifest_x
structure.

Change-Id: I1c1700fc7918eb16a6c94fde77bf5b33818208d5

9 years agoFix string buffer overwrite 16/36216/2
Jakub Izydorczyk [Tue, 3 Mar 2015 13:15:29 +0000 (14:15 +0100)]
Fix string buffer overwrite

std::string uses static buffer for empty string values. When
std::transform iterates over initialized std::string elements
and copies their changed values to empty std::string by using
its random access iterator, the buffer which is used by
std::string for empty strings is overriden, what later makes
all strings, that are supposed to be empty, not empty.

Change-Id: I5acb9e038febabbf4b1e1d56d736f75dc227c0af

9 years agoFix string_utils.cc 65/35965/5
Tomasz Iwanek [Fri, 20 Feb 2015 15:16:39 +0000 (16:16 +0100)]
Fix string_utils.cc

This commit fixes mistake in EqualsUTF8Char function and
removes not needed parameter from CollapseWhitespaceUTF8

Change-Id: Idee35b3df00da7dd4938d0151bbd6c9a3ca6132c

9 years agoMerge "Fix generating app-control xml node in platform manifest" into tizen
Baptiste DURAND [Fri, 6 Mar 2015 10:16:38 +0000 (02:16 -0800)]
Merge "Fix generating app-control xml node in platform manifest" into tizen

9 years agoFix generating app-control xml node in platform manifest 80/36180/1
Tomasz Iwanek [Tue, 3 Mar 2015 08:19:29 +0000 (09:19 +0100)]
Fix generating app-control xml node in platform manifest

Change-Id: Ib6d6c2965f8b63e27c9455915c0f859fa200112a

9 years agoStylecheck fix 95/35995/2
Tomasz Iwanek [Mon, 16 Feb 2015 15:37:54 +0000 (16:37 +0100)]
Stylecheck fix

Change-Id: I9efb79ec07d84a6366c6f75307218d8a195ce5cf

9 years agoRemove compiler's warnings 06/36006/3
Tomasz Iwanek [Fri, 20 Feb 2015 08:43:28 +0000 (09:43 +0100)]
Remove compiler's warnings

Change-Id: I86fe2db1d6a947d9d8f5bcc1dad82698821024b4

9 years ago[Unit tests] Add unit test target and few unit tests. 63/35663/3
Jakub Izydorczyk [Thu, 5 Feb 2015 15:18:21 +0000 (16:18 +0100)]
[Unit tests] Add unit test target and few unit tests.

This patch adds tests target which includes unit tests executables:
- manifest_handler_unittest (3/3 tests PASS)
- manifest_unittest (2/2 tests PASS)
- manifest_util_unittest(2/2 tests PASS)
- values_unittest (20/20 tests PASS)
- widget_manifest_parser_unittest (2/2 tests PASS)

Tests are installed in /usr/bin/app-installers-ut directory.
Resources for tests are installed in /usr/share/app-installers-ut
directory.

Change-Id: I4883a1d4d6499cad3cde5e0b635467cfa042c513

9 years ago[Widget manifest parser] Remove C API from parser 70/35670/7 accepted/tizen/mobile/20150226.042759 accepted/tizen/tv/20150226.042103 accepted/tizen/wearable/20150226.042547 submit/tizen_mobile/20150226.015302 submit/tizen_tv/20150226.015241 submit/tizen_wearable/20150226.015251
Jakub Izydorczyk [Wed, 18 Feb 2015 08:57:12 +0000 (09:57 +0100)]
[Widget manifest parser] Remove C API from parser

Change C API functions into class containing ParseManifest,
GetShortName and GetRequiredAPIVersion methods, which allow
removal of additional data structure used for containing
config.xml data which are not part of manifest_x

Change-Id: I56ea88500de2a5a9838326f7c432276c02d18095

9 years agoAdd TPK backend 86/35086/11
Youmin Ha [Fri, 30 Jan 2015 04:38:00 +0000 (13:38 +0900)]
Add TPK backend

Native tpk backend implementation: First version.
Only simple tizen-manifest.xml format can be parsed for now.

Signed-Off-By: Youmin Ha <youmin.ha@samsung.com>
Change-Id: I95037fa6b08639c6dd008d0ffb796cfd375c8060

9 years agoFix bug in traversing pkgmgr-info lists again 45/35845/1
Youmin Ha [Wed, 25 Feb 2015 09:42:58 +0000 (18:42 +0900)]
Fix bug in traversing pkgmgr-info lists again

Same issue to a5cb75ca.
This commit prevents segfault from accessing null pointer.

Change-Id: I0aac62923a5948f067c54b05b3edb88d39736c0e
Signed-Off-By: Youmin Ha <youmin.ha@samsung.com>
9 years agoFix bug in traversing pkgmgr-info lists 25/35825/2
Youmin Ha [Wed, 25 Feb 2015 06:42:24 +0000 (15:42 +0900)]
Fix bug in traversing pkgmgr-info lists

When the list is null, the LISTADD macro raises segfault.
Added null check routine on the macro in app-installer.

Basically this bug must be fixed in the pkgmgr-info, not here.

Change-Id: I8aa557c59c5771a817899e8fdb21349fd88ba511
Signed-Off-By: Youmin Ha <youmin.ha@samsung.com>
9 years agoFix build error in wgt 88/35788/3
Youmin Ha [Tue, 24 Feb 2015 14:12:42 +0000 (23:12 +0900)]
Fix build error in wgt

ReleaseData() method returns nothing, but the current code tries to
get a return value from it. This patch removes the return value
cheching.
If the return value checking is really needed, the definition of
the method must be modified.

Change-Id: I22975cb10c64cef114a4ece58aafbec5257ec373
Signed-Off-By: Youmin Ha <youmin.ha@samsung.com>
9 years ago[Signature] Fix double log 71/35671/5
Jakub Izydorczyk [Wed, 18 Feb 2015 15:12:03 +0000 (16:12 +0100)]
[Signature] Fix double log

In case of invalid signature there was double log:
"Signature * is INVALID
 Signature * is OK"
This fix this bug.

Change-Id: Ief1f119f8317c36b3ed0b230081a633431c01e69

9 years ago[Widget-manifest-parser] Remove LocalManifestData 69/35669/2 submit/tizen_mobile/20150224.012613 submit/tizen_tv/20150224.012600 submit/tizen_wearable/20150224.012608
Jakub Izydorczyk [Wed, 4 Feb 2015 15:21:07 +0000 (16:21 +0100)]
[Widget-manifest-parser] Remove LocalManifestData

Clean up in widget_manifest_parser.cc file, which
includes removal of LocalStorage and LocalManifestData.

Change-Id: Ie09349504fe014ac807253f4de87c19dc98e2522

9 years ago[Signature] Add XMLSEC_NO_SIZE_T flag to cmake 64/35664/2
Jakub Izydorczyk [Thu, 19 Feb 2015 15:04:02 +0000 (16:04 +0100)]
[Signature] Add XMLSEC_NO_SIZE_T flag to cmake

This flag is needed, because otherwise _xmlSecDSigCtx structure
will use size_t in app-installers and unsigned int in xmlsec1 for sizes
As a result structure size in function from xmlsec1 will differ from
size in app-installers

Change-Id: I241d04d95ef6297f982bd95d6220b1782e6f7981

9 years agoRemove label element under manifest 14/35514/4
Youmin Ha [Tue, 17 Feb 2015 04:39:25 +0000 (13:39 +0900)]
Remove label element under manifest

'manifest' element doesn't have 'label' child element. This commit
removes unnecessary label element.

Change-Id: I6d8a68ea702c2ea30ec0c5ed316873e503e632be

9 years agoAdd error logs on revoke_security step 13/35513/4
Youmin Ha [Tue, 17 Feb 2015 03:47:30 +0000 (12:47 +0900)]
Add error logs on revoke_security step

In addition, an error message is printed as an error, not a debug
message.

Change-Id: I1adb4fe8615a33652d3b00875adad52a6c9627d4
Signed-Off-By: Youmin Ha <youmin.ha@samsung.com>
9 years agoFix wrong manifest xml file name 11/35511/4
Youmin Ha [Tue, 17 Feb 2015 02:52:55 +0000 (11:52 +0900)]
Fix wrong manifest xml file name

The manifest file name is wrong. Desired xml filename is
'org.tizen.hello.xml', but the current implementation removes last
extension and put '.xml' at the end.
This commit fixes the name of the generated manifest xml file.
For wgt packages, '*.wgt.xml' is present, but that's not the issue.

Change-Id: I57e2506898f17c0853fa42f3172225b69cd9819c
Signed-Off-By: Youmin Ha <youmin.ha@samsung.com>
9 years agoFix bugs in common steps 10/35510/4
Youmin Ha [Mon, 16 Feb 2015 12:52:17 +0000 (21:52 +0900)]
Fix bugs in common steps

* Fixed generating xml routine, that each privilege have its value
  as a data, not a 'name' attribute.
* Changed the iteration routine, from the first item of the privilege
  list.
* Excluded routine removing xml file, from the 'undo' phase of the
  step_record.

Change-Id: Ied4ff4a48ab0a62f93fbb4fac40faa00952eaefe
Signed-Off-By: Youmin Ha <youmin.ha@samsung.com>
9 years agoRefactor name unpack_directory() 85/35085/6
Youmin Ha [Wed, 4 Feb 2015 13:45:47 +0000 (22:45 +0900)]
Refactor name unpack_directory()

The method unpack_directory() just returns the unpack_directory string,
    but its name implies for class users to "Unpack the directory".
    This commit changes the name from unpack_directory to
    unpacked_dir_path, of the getter, setter, and private variables.

Change-Id: I7259bbb3c8630d7464a98707162d955de45c9432

9 years agoGive the package type as a AppInstaller object 05/34805/6
Youmin Ha [Tue, 3 Feb 2015 04:55:58 +0000 (13:55 +0900)]
Give the package type as a AppInstaller object

To send a start/end/progress DBUS signal, client needs to know the
package type as a string. This patch adds an argument package_type on
the AppInstaller constructor, and stores it into the ContextInstaller.

Change-Id: I18a7770dbb706a6ab72cce6010d348fda4d47137

9 years agoAdd parser's handler: appwidget 23/34923/8
Tomasz Iwanek [Tue, 3 Feb 2015 10:11:30 +0000 (11:11 +0100)]
Add parser's handler: appwidget

Change-Id: I3d4009960593e319abc9034e5c6e27b34e064e25

9 years agoAdd parser's handlers: metadata, navigation, splash screen 22/34922/7
Tomasz Iwanek [Mon, 2 Feb 2015 14:22:19 +0000 (15:22 +0100)]
Add parser's handlers: metadata, navigation, splash screen

Change-Id: Idad70b51377d8020a4cc71ae44e382a869ff4a3c

9 years agoAdd setting parser's handler 21/34921/7
Tomasz Iwanek [Mon, 2 Feb 2015 13:34:03 +0000 (14:34 +0100)]
Add setting parser's handler

Change-Id: I2063f0aa5046f5981b2abbb41576d3d1150e9009

9 years agoAdd IME parser's handlers 20/34920/7
Tomasz Iwanek [Mon, 2 Feb 2015 12:31:00 +0000 (13:31 +0100)]
Add IME parser's handlers

Change-Id: I8b316d4ce04f05397e05903cd3a921cd05013637

9 years agoEscape encoded character in URLs in manifest 19/34919/7
Tomasz Iwanek [Fri, 30 Jan 2015 16:21:56 +0000 (17:21 +0100)]
Escape encoded character in URLs in manifest

Change-Id: I30667246ca44bd66ca80953ac9f54555a2564c34

9 years agoDISALLOW_COPY_AND_ASSIGN(AppInstaller) 90/35290/3
Tomasz Iwanek [Thu, 5 Feb 2015 15:49:05 +0000 (16:49 +0100)]
DISALLOW_COPY_AND_ASSIGN(AppInstaller)

Change-Id: I641fa3bf29ec3147e54430259eb6a6d87596c202

9 years agoLogging unification 89/35289/3
Tomasz Iwanek [Thu, 5 Feb 2015 11:44:33 +0000 (12:44 +0100)]
Logging unification

Because of existing idea of tagging step in logs,
this commit introduces one more macro:

SCOPE_LOG_TAG(TAG)

Defining this macro in given scope will change log tag of that
scope.

Example:

class StepXYZ : public Step {
  void func() {
    LOG(DEBUG) << "Status is ...";
  }

  SCOPE_LOG_TAG(XYZ)
};

Every log from class StepXYZ will be place with "XYZ" tag.

Change-Id: I8a8e192b0a746dae19a961e238a798b9b2c0c4b9

9 years agoRemove utf16 handling 18/34918/5
Tomasz Iwanek [Fri, 30 Jan 2015 13:21:01 +0000 (14:21 +0100)]
Remove utf16 handling

This code is not needed.
There is no need for utf16 error codes of parser.

value.h make no longer assumtions on string
encoding - there is no check.

Change-Id: I2d22b8683b27a659c237c0fd1bf167e37c15db70

9 years ago[Widget-manifest-parser] Added parser's base 17/34917/6
Jakub Izydorczyk [Wed, 28 Jan 2015 13:23:53 +0000 (14:23 +0100)]
[Widget-manifest-parser] Added parser's base

Change-Id: Ic7325a08d9ed1359a6e6be77e0d62b3dbe046e7f

9 years ago[Widget-manifest-parser] Add manifest class and manifest constants 16/34916/4
Jakub Izydorczyk [Mon, 26 Jan 2015 12:30:24 +0000 (13:30 +0100)]
[Widget-manifest-parser] Add manifest class and manifest constants

This change adds Manifest class, which is internal representation
of manifest file in widget-manifest-parser.

Change-Id: Icf9a53398fe3941cb19e36d9bacad721ffa0b057

9 years agoMove logging and macros to utils 25/34825/5
Tomasz Iwanek [Thu, 29 Jan 2015 09:17:10 +0000 (10:17 +0100)]
Move logging and macros to utils

Just moves code. I will think about appling this.

Change-Id: I6e6e21a9144f548697acc0f959e7aa2338831121

9 years agoMerge "Add utils library." into tizen
Pawel Sikorski [Tue, 10 Feb 2015 15:06:07 +0000 (07:06 -0800)]
Merge "Add utils library." into tizen

9 years agoSend pkgmgr signal always 99/34399/3
Tomasz Iwanek [Wed, 4 Feb 2015 12:22:44 +0000 (13:22 +0100)]
Send pkgmgr signal always

Zip or config.xml can be malformed.
This fixes handling signalling in those cases.

Code which handles pkgmgr signal was extracted into
 - src/common/pkgmgr_signal.*

Change-Id: I46b96f6ba8cd2c41110f2fefbceb6dc1b2969216

9 years agoMerge "Add url decoding for 'uri' attribute of signatures" into tizen
Pawel Sikorski [Tue, 10 Feb 2015 15:03:16 +0000 (07:03 -0800)]
Merge "Add url decoding for 'uri' attribute of signatures" into tizen

9 years agoAdd url decoding for 'uri' attribute of signatures 68/34368/6
sung-su.kim [Wed, 4 Feb 2015 02:08:46 +0000 (11:08 +0900)]
Add url decoding for 'uri' attribute of signatures

The value of URI attribute of signature files can be encoded uri.
But, SignatureValidator can't recongize encoded 'uri'.
Add url decoding routine to SignatureParser.

Change-Id: Ifec7b04b2a591bddca15fbe3cdafa90d2a0964c5

9 years agoAdd utils library. 24/34824/4
Jakub Izydorczyk [Fri, 23 Jan 2015 13:09:51 +0000 (14:09 +0100)]
Add utils library.

It is supposed to contain common utilities, which can be used by
other parts of code. This commit contains utf_converter code,
which allows convertions between std::u16string and std::string.
There is also DictionaryValue class added, which is needed for
saving nodes of widget manifest.

Change-Id: Ibe4265e6dc3a7f78637d0103222d87d16b70bc2a

9 years agoRemove double installer creation 82/34982/1 tizen_3.0.2014.q4_common accepted/tizen/common/20150205.164826 submit/tizen_common/20150205.163948
Tomasz Iwanek [Wed, 4 Feb 2015 15:04:05 +0000 (16:04 +0100)]
Remove double installer creation

Change-Id: Id8842d3dcb471a00437f3d620229a6c45a97989f

9 years agoManifest generation fix 61/34661/2 accepted/tizen/common/20150203.134735 submit/tizen_common/20150203.134518
Tomasz Iwanek [Fri, 30 Jan 2015 08:47:04 +0000 (09:47 +0100)]
Manifest generation fix

xmlTextWriterEndDocument closes all not closed elements (nodes).
Therefore it faked that manifest is ok.
Some elements were not closed properly.

Change-Id: I0b4e1a0051c25dff10a67a7ac8809295d44d5c5b

9 years agoFix Name field in case of widget label 45/34545/6 accepted/tizen/common/20150129.111432 submit/tizen_common/20150129.104614
Baptiste DURAND [Wed, 28 Jan 2015 17:45:44 +0000 (18:45 +0100)]
Fix Name field in case of widget label

If the short name is empty use the long name instead

Change-Id: Id7f6bd3fa54a9801c0f93e510ae6f723241185e4
Signed-off-by: Baptiste DURAND <baptiste.durand@open.eurogiciel.org>
9 years agoFix Description field in Tizen Manifest 44/34544/3
Baptiste DURAND [Wed, 28 Jan 2015 17:07:41 +0000 (18:07 +0100)]
Fix Description field in Tizen Manifest

This permits to avoid to have this

<label>(null)</label> instead of <label></label> in the manifest

Change-Id: Iddaedf33940358cd52590487f6a7c6febda809c1
Signed-off-by: Baptiste DURAND <baptiste.durand@open.eurogiciel.org>
9 years agoFix Application type in Generate XML Manifest step. 26/34526/6
Baptiste DURAND [Wed, 28 Jan 2015 15:52:19 +0000 (16:52 +0100)]
Fix Application type in Generate XML Manifest step.

The application should depends of the original type set in the original manifest.

Now, use the one provided by step parser

Change-Id: I6aa34cf1dc2ebc9733f6239125aa12f441de47c0
Signed-off-by: Baptiste DURAND <baptiste.durand@open.eurogiciel.org>
9 years agoAdd new specific step to create symbolic link for WebApp 25/34525/6
Baptiste DURAND [Wed, 28 Jan 2015 15:38:13 +0000 (16:38 +0100)]
Add new specific step to create symbolic link for WebApp

Remove this operation from generate xml step, create a new one

Add a spec file option for set the WRT binary path used for symbolic link

Change-Id: Ife93a10b830fd093dc9c02184dd2490ce99d67a0
Signed-off-by: Baptiste DURAND <baptiste.durand@open.eurogiciel.org>
9 years agoAdd manifest to wgt-backend package. 20/34520/1 accepted/tizen/common/20150128.143232 submit/tizen_common/20150128.142959
Baptiste DURAND [Wed, 28 Jan 2015 14:26:30 +0000 (15:26 +0100)]
Add manifest to wgt-backend package.

This is needed to assign the "User" smack label to wgt-backend

Change-Id: Icea7b182c89a7e8ff631f6f6ce9f188d180c8fd7
Signed-off-by: Baptiste DURAND <baptiste.durand@open.eurogiciel.org>
9 years agoStepSecurity 82/34282/7
Tomasz Iwanek [Tue, 20 Jan 2015 14:39:20 +0000 (15:39 +0100)]
StepSecurity

Adds security manager API calls to apply correct security context
during installation and uninstallation process.

Change-Id: Ieceb1126edfe65f1f1f438e9c4dea7907e9f3e27

9 years agoStep class design issues 97/33497/8
Tomasz Iwanek [Wed, 7 Jan 2015 12:34:24 +0000 (13:34 +0100)]
Step class design issues

 - lack of virtual destructor
   It is obligatory in classes that are extended.
   This case may lead to memory leak or undefined behaviour.

 - unnecessary argument passing to each function,
   We have 'class' to keep information within.

 - memory management in AppInstaller class of allocated Steps,
   Most reliable way is to use smart pointers.
   Use new/delete only if it is really neccesary.

 - fixes errorcodes to some understandable ones,
   Any function should not return int that cannot be interpreted
   what it actually represents.

 - catching int,
   There was some mistake (?). Use std::exception derived classes in
   exception handling if needed.

Change-Id: Iba8ea02dde503ec1b2f043ed5965a537d6a58f51

9 years agoFix error Management 39/34339/1 accepted/tizen/common/20150123.171144 submit/tizen_common/20150123.150552
Baptiste DURAND [Fri, 23 Jan 2015 14:18:50 +0000 (15:18 +0100)]
Fix error Management

If Undo method fails the Error's signal is not sent to pkgmgr-server
Signed-off-by: Baptiste DURAND <baptiste.durand@open.eurogiciel.org>
Change-Id: Ib867d1a0f488787b2408f914e66ab561d225d65a

9 years agoAdd Send signal Step 29/34329/5
Baptiste DURAND [Fri, 23 Jan 2015 11:29:43 +0000 (12:29 +0100)]
Add Send signal Step

Change-Id: I3cf119442f2d231ebd4aab84790e2af12c792182
Signed-off-by: Baptiste DURAND <baptiste.durand@open.eurogiciel.org>
9 years agoAdd manifest for wgt-backend 73/34273/1 accepted/tizen/common/20150122.143109 submit/tizen_common/20150122.142942
Baptiste DURAND [Thu, 22 Jan 2015 14:27:06 +0000 (15:27 +0100)]
Add manifest for wgt-backend

Change-Id: I8221bed3fd57e653745293d82df6ab181fddf8f6
Signed-off-by: Baptiste DURAND <baptiste.durand@open.eurogiciel.org>
9 years agoAssign pkgid in installation context 28/33828/3 accepted/tizen/common/20150119.153839 submit/tizen_common/20150119.141851
Tomasz Iwanek [Thu, 15 Jan 2015 10:33:18 +0000 (11:33 +0100)]
Assign pkgid in installation context

Fixes installation process

Change-Id: I7cc7ae9d8f7e09c98fb5eb007abb33dd1c194beb

9 years agoMerge "Get rid of cmake's CMP0023 warning" into tizen
Baptiste DURAND [Mon, 19 Jan 2015 10:23:48 +0000 (02:23 -0800)]
Merge "Get rid of cmake's CMP0023 warning" into tizen

9 years agoAdding Uninstallation features 63/33863/7
Pawel Sikorski [Thu, 15 Jan 2015 23:25:12 +0000 (00:25 +0100)]
Adding Uninstallation features

Adding Methods to get Root Applications path and Application path
Adding Step remove to remove files of 1 package
Adding Step to unregister a package

Signed-off-by: Sabera Djelti (sdi2) <sabera.djelti@open.eurogiciel.org>
Signed-off-by: Baptiste DURAND <baptiste.durand@open.eurogiciel.org>
Signed-off-by: Pawel Sikorski <p.sikorski@samsung.com>
Change-Id: I3d7bd76a75b413e310b0804b3856b021d4115e13

9 years agoAdd StepParse::fillManifest method 87/33787/3
Sabera Djelti (sdi2) [Fri, 16 Jan 2015 10:29:17 +0000 (11:29 +0100)]
Add StepParse::fillManifest method

The purpose of this method is to fill the Context structure with the information
retreived from config.xml file

Change-Id: Ia0777a0251d967611a4b332337d651cfee3ef830
Signed-off-by: Pawel Sikorski <p.sikorski@samsung.com>
Signed-off-by: Sabera Djelti (sdi2) <sabera.djelti@open.eurogiciel.org>
Signed-off-by: Baptiste DURAND <baptiste.durand@open.eurogiciel.org>
9 years agoFix Manifest generation step 14/33914/1
Sabera Djelti (sdi2) [Fri, 16 Jan 2015 10:21:17 +0000 (11:21 +0100)]
Fix Manifest generation step

-> Align Privileges section generation with the specs
-> Add robustness when there is neither svc app information nor ui app information

Change-Id: I76de58d65a67b508c7777d0b964c00a4b74fc501
Signed-off-by: Sabera Djelti (sdi2) <sabera.djelti@open.eurogiciel.org>
Signed-off-by: Baptiste DURAND <baptiste.durand@open.eurogiciel.org>
9 years agoadd step_generate_xml & step_record 89/33189/8
Sabera Djelti (sdi2) [Thu, 8 Jan 2015 15:33:54 +0000 (16:33 +0100)]
add step_generate_xml & step_record

step_generate_xml creates the manifest pkgid.xml
step_record stores app data in database and creates desktop file

Change-Id: Ie7920417c71f17fbf6deff19935d9d95b7debfa0
Signed-off-by: Sabera Djelti (sdi2) <sabera.djelti@open.eurogiciel.org>
9 years agoGet rid of cmake's CMP0023 warning 27/33827/1
Tomasz Iwanek [Thu, 15 Jan 2015 10:15:20 +0000 (11:15 +0100)]
Get rid of cmake's CMP0023 warning

http://www.cmake.org/cmake/help/v3.0/policy/CMP0023.html

Change-Id: Icb3bd90104b50b9f498f9e9911d479a67e682c72

9 years agoAdd step-parse 74/33374/6
Maciej Piotrowski [Thu, 8 Jan 2015 13:37:55 +0000 (14:37 +0100)]
Add step-parse

- compile successfully
- widget-manifest-parser library added
- widget-manifest-parser library works correct
- storing data from widget-manifest-parser proposed

Change-Id: I317554abbf19c72c6c1a77b28218c7008d58cb44

9 years ago[Cpplint] Stylecheck error - other 76/33276/1
Tomasz Iwanek [Wed, 7 Jan 2015 11:20:19 +0000 (12:20 +0100)]
[Cpplint] Stylecheck error - other

Fixes the rest of errors (about 10)

Change-Id: Icfd9147e6615154a688cd7e773b2d679865cf073

9 years ago[Cpplint] Spacing comments in code 75/33275/1
Tomasz Iwanek [Wed, 7 Jan 2015 11:13:31 +0000 (12:13 +0100)]
[Cpplint] Spacing comments in code

Rules:
 - [whitespace/comments]

Change-Id: I9eb4c1683d7077989b7c50a459596fd3598f8ca1

9 years ago[Cpplint] Line length limit - 80 characters 74/33274/1
Tomasz Iwanek [Wed, 7 Jan 2015 11:07:08 +0000 (12:07 +0100)]
[Cpplint] Line length limit - 80 characters

Rules:
 - [whitespace/line_length]

Change-Id: I87f5bcad992628250bcd5b92d736379d08159ac8

9 years ago[Cpplint] Fix whitespaces 73/33273/1
Tomasz Iwanek [Wed, 7 Jan 2015 10:57:21 +0000 (11:57 +0100)]
[Cpplint] Fix whitespaces

Rules:
 - [whitespace/tab]
 - [whitespace/blank_line]

Change-Id: I14868ec04e0416bea8d98b4c4604439c8484d245

9 years ago[Cpplint] Fix header guards 72/33272/1
Tomasz Iwanek [Fri, 19 Dec 2014 13:04:54 +0000 (14:04 +0100)]
[Cpplint] Fix header guards

Rules:
 - [build/header_guard]

Change-Id: I4160f4899fd00cf64fa1cdd6e4ace137b1b256f4

9 years ago[Cpplint] Single source tree 71/33271/1
Tomasz Iwanek [Wed, 7 Jan 2015 10:09:16 +0000 (11:09 +0100)]
[Cpplint] Single source tree

cpplint.py requires consistent single source code tree.
Otherwise some rules may not apply.

Running:
cpplint.py --root-dir=src/

Will obligate each header file to have correct guard macro.
This will be fixed in future.

===========================================================
To run stylecheck type:
./tools/check-coding-style
===========================================================

Change-Id: I05b62b09ce789648a11a305279adcf8ea5a70d51

9 years agoadd step-copy 10/32610/9
Corentin Lecouvey [Tue, 30 Dec 2014 11:16:34 +0000 (12:16 +0100)]
add step-copy

step-copy aims to copy the already extracted applications temporary
folder to a <pkg_id>/<app_id> folder.

CopyDir() function based on boost::filesystem interface is added
to utils namespace.

Change-Id: Ibaf32a38eabe92202b9373814968ff97a7e693f7
Signed-off-by: Sabera Djelti (sdi2) <sabera.djelti@open.eurogiciel.org>
Signed-off-by: Corentin Lecouvey <corentin.lecouvey@open.eurogiciel.org>
9 years agonamespaces reorganization 28/33028/4
Pawel Sikorski [Fri, 2 Jan 2015 10:18:40 +0000 (11:18 +0100)]
namespaces reorganization

* common_installer {} - this namespace includes all app-installers definitions
  (Step,  ContextInstaller, utils, AppInstaller)

* utils {} - this namespace includes all extra definitions that are
  not directly related to app-installer framework and are used within
  the project (eg. logging, "dirs" handling, design patterns primitives
  (eg. singleton) etc)

* common/unzip {} - this is a namespace that includes unzipping step
  and its additional definitions

* common/signature {} - this is a namespace that includes signature step
  and its additional definitions

* common/copy {}, common/register {}, etc - these namespaces are
  analogic to unzip or signature

* wgt {} - this is a namespace that includes definitions specified for
  wgt type installation

* wgt/parse {} - this is a namespace that includes parsing step
  specified for wgt type installation

Change-Id: I9fbc542e9184def7bbd6955837c506ccf32825e3
Signed-off-by: Pawel Sikorski <p.sikorski@samsung.com>
Signed-off-by: Baptiste DURAND <baptiste.durand@open.eurogiciel.org>
9 years agofix inconsistent naming rule for accessor and build warning 94/32994/1
Wonguk Jeong [Fri, 2 Jan 2015 01:19:40 +0000 (10:19 +0900)]
fix inconsistent naming rule for accessor and build warning

1. get_manifest_data -> manifest_data (context_installer)
2. comment out unused parameter (step_unzip)

Change-Id: Ie8732a759fe888002f7adb792ac6b01f91a09b11
Signed-off-by: Wonguk Jeong <wonguk.jeong@samsung.com>
9 years agofix inconsistency of Step related class/file names 65/32965/2
Wonguk Jeong [Wed, 31 Dec 2014 01:43:52 +0000 (10:43 +0900)]
fix inconsistency of Step related class/file names

as is: StepUnzip(step_unzip.cc), SignatureStep(signature_step.cc)
to be: StepUnzip(step_unzip.cc), StepSignature(step_signature.cc)

Change-Id: I920056464d1e359a615b158e41477c56b56d9b0e
Signed-off-by: Wonguk Jeong <wonguk.jeong@samsung.com>
9 years agofill uid in constructor of context installer 63/32963/1
Wonguk Jeong [Wed, 31 Dec 2014 00:49:57 +0000 (09:49 +0900)]
fill uid in constructor of context installer

Change-Id: Icfe598fea96b4d505ff86f896784acf398a5545e
Signed-off-by: Wonguk Jeong <wonguk.jeong@samsung.com>
9 years agosource files reorganization 31/32931/2
Corentin Lecouvey [Tue, 30 Dec 2014 11:18:16 +0000 (12:18 +0100)]
source files reorganization

* move step.h and step-unzip.h into ./include/step/ dir
* create utils source files in order to offer some filesystem functions
* fix some coding style errrors

Change-Id: I339c94774f6d1b0e281425f290e3ef49a44ba66d
Signed-off-by: Corentin Lecouvey <corentin.lecouvey@open.eurogiciel.org>
9 years agofix dir scanning bug during step unzip 98/32898/1
Wonguk Jeong [Tue, 30 Dec 2014 08:40:08 +0000 (17:40 +0900)]
fix dir scanning bug during step unzip

Scan iterator has been stopped on directory.
"unzGoToNextFile" was never invoked in case of directory file.

Change-Id: I66cf31eb7fa56720d1be7b0b56072780e1c2f542
Signed-off-by: Wonguk Jeong <wonguk.jeong@samsung.com>
9 years agorework step unzip 67/32767/2
Corentin Lecouvey [Tue, 23 Dec 2014 11:26:00 +0000 (12:26 +0100)]
rework step unzip

- add GetApplicationPath() method to ContextInstaller class
    in order to get user application path.
    This change involves to add context_installer.cc source file
    and add tzplatform-config dependency.
- define 'utils' namespace
- mainly use boost::filesystem interface
- no coding style errors in step_unzip files

Change-Id: Ibae9c9e48ab44793b83d7a55e6db776472fb4610
Signed-off-by: Corentin Lecouvey <corentin.lecouvey@open.eurogiciel.org>
9 years agofix coding style in few files 49/32749/2
Corentin Lecouvey [Tue, 23 Dec 2014 11:09:03 +0000 (12:09 +0100)]
fix coding style in few files

  * app_installer.h
  * app_installer.cc
  * step.h
  * wgt_backend.cc

Change-Id: Ib160a18be703a04e022c4a55a115d3165845fcf3
Signed-off-by: Corentin Lecouvey <corentin.lecouvey@open.eurogiciel.org>
9 years agomove Context_installer struct to ContextInstaller class 43/32743/2
Corentin Lecouvey [Tue, 23 Dec 2014 10:49:18 +0000 (11:49 +0100)]
move Context_installer struct to ContextInstaller class

Also fix coding style in context_installer.h

Change-Id: I05522ab8a66fb63d34dc93c156f5bb4a3ebedbfd
Signed-off-by: Corentin Lecouvey <corentin.lecouvey@open.eurogiciel.org>
9 years agoSignature implementation moved from xwalk 81/32481/8
Tomasz Iwanek [Thu, 4 Dec 2014 10:16:01 +0000 (11:16 +0100)]
Signature implementation moved from xwalk

This is digital signature implementation moved from xwalk.
It is based on following PRs:
 - https://github.com/crosswalk-project/crosswalk/pull/2169
 - https://github.com/crosswalk-project/crosswalk/pull/2291
 - https://github.com/crosswalk-project/crosswalk/pull/2422

There are some not solved issues:
 - test correctness for valid widgets,
 - seperation from managing root certificate,
 - style of this code.

[[ PLEASE NOTE THE COMMIT CONTAINS CROSSWALK'S BSD-STYLE LICENSE ]]

Change-Id: I42db7e8a02b44a88ca88d143ad034fd1e253f3e2
Signed-off-by: Pawel Sikorski <p.sikorski@samsung.com>
9 years agoAdapt check coding style tool to file extension (*.h and *.cc) 42/32742/1
Corentin Lecouvey [Tue, 23 Dec 2014 10:44:58 +0000 (11:44 +0100)]
Adapt check coding style tool to file extension (*.h and *.cc)

Change-Id: I1bcbfc3693018106e42bc8a92423baba9c71f3c9
Signed-off-by: Corentin Lecouvey <corentin.lecouvey@open.eurogiciel.org>
9 years agoInotroducing std::string for pkgid, file_name, unpack_directory of 26/32626/2
Pawel Sikorski [Fri, 19 Dec 2014 15:43:42 +0000 (16:43 +0100)]
Inotroducing std::string for pkgid, file_name, unpack_directory of
InstallerContext.
Thanks to that these fields are automatically alloacted/deallocated
(no need to call free in case of errors, in case of clean/undo steps, etc)

Additionally, "const char *" instead of "char *" in
* extractTo_u,
* unzip_u

Change-Id: Id16cbf1c7ece36024e197c07f6e05a149d8f1324
Signed-off-by: Pawel Sikorski <p.sikorski@samsung.com>
9 years agoUsing C++ includes instead of C: 25/32625/2
Pawel Sikorski [Fri, 19 Dec 2014 14:18:39 +0000 (15:18 +0100)]
Using C++ includes instead of C:
* stdio.h --> cstdio
* stdlib.h --> cstdlib
* errno.h --> cerrno
* assert.h --> cassert
* string.h --> cstring

Change-Id: Ie51b397fb8ba6a943b8a279e80afb8cd67a297d7

9 years agoStyle check rules fix 80/32480/6
Tomasz Iwanek [Thu, 18 Dec 2014 08:19:46 +0000 (09:19 +0100)]
Style check rules fix

Added:
-build/c++11 - disable errors of using c++11

Removed:
-runtime/references - this rules was not relevant to code

To run style, type:

./tools/check-coding-style

Change-Id: Ie367dd5bfd44c5ea8bb64b4640e443212907863a

9 years agoChange rpm group classification 12/32612/1
Tomasz Iwanek [Fri, 19 Dec 2014 13:55:39 +0000 (14:55 +0100)]
Change rpm group classification

Change-Id: Ic6262f806785b72c88b396e20923ccc2dc8a5d9c

9 years agofix packaging to improve rpmlint score 95/32595/1
Corentin Lecouvey [Fri, 19 Dec 2014 09:10:01 +0000 (10:10 +0100)]
fix packaging to improve rpmlint score

- rename spec file
- adapt license syntax
- adapt group tag
- fix %post/%postun scriptlets

Change-Id: Ia692175d8f66fd7046caf6164b91b455e64b8961
Signed-off-by: Corentin Lecouvey <corentin.lecouvey@open.eurogiciel.org>
9 years agoFile name and their extension changes: 74/32474/1
Pawel Sikorski [Wed, 17 Dec 2014 17:08:59 +0000 (18:08 +0100)]
File name and their extension changes:
* .hxx --> .h
* .cxx -> .cc
* dash ("-") in filenames --> underline ("_")

CmakeLists.txt modified accordingly

Change-Id: I3e61156428971f535608a0d16f58ef6eb5f3536b

9 years agoDependencies fix 26/31826/4
Tomasz Iwanek [Wed, 10 Dec 2014 15:21:26 +0000 (16:21 +0100)]
Dependencies fix

I made mistake in CMakeLists.txt.
Please use ApplyPkgConfig for any new dependency
as it is done for existing ones.
This reduces boilerplate lines about include_directories
and link_libraries added over and over again.

Change-Id: I25144ea4c6516565e998cb3d71048ad2fe87cf81

9 years agoStylecheck script 47/31747/3
Tomasz Iwanek [Tue, 2 Dec 2014 09:08:33 +0000 (10:08 +0100)]
Stylecheck script

Change-Id: Ife054126780fc0b6e8fcb3d413f1a44ea71bc4db

9 years agoadd step-unzip 86/31886/3
Sabera Djelti (sdi2) [Fri, 28 Nov 2014 18:32:43 +0000 (19:32 +0100)]
add step-unzip

Change-Id: I06aca1845aa1a63c70fdd22ec45bea9a77f6d5bb
Signed-off-by: Sabera Djelti (sdi2) <sabera.djelti@open.eurogiciel.org>
9 years agoFix & improve cmake 48/31748/3
Tomasz Iwanek [Fri, 5 Dec 2014 12:17:12 +0000 (13:17 +0100)]
Fix & improve cmake

Change-Id: Icee2e5cfbd8afa9f067d0fad11a1f386910949ad