#include "InstallerUtil.h"
-#define OSP_INSTALLER_VERSION "version=[20130322.2]"
+#define OSP_INSTALLER_VERSION "version=[20130413.1]"
#define DIR_BIN L"/bin"
#define DIR_INFO L"/info"
#define DIR_CONTENTS L"/contents"
#define DIR_SHARED_RES L"/shared/res"
#define DIR_SHARED_DATA L"/shared/data"
-#define DIR_SHARED_TRUSTED L"/shared/trusted"
+#define DIR_SHARED_TRUSTED L"/shared/trusted"
#define SLP_DIR_BIN L"/bin"
#define SLP_DIR_RES L"/res"
#define UISCALABILITY_INFO L"1 %ls %ls %ls"
-#define CONFIG_PATH L"/usr/etc/installer-config.ini"
+#define CONFIG_PATH L"/usr/etc/installer-config.ini"
#define UIAPP_LOADER_PATH "/usr/lib/osp/osp-ui-app-loader" // UiApp
#define SERVICEAPP_LOADER_PATH "/usr/lib/osp/osp-service-app-loader" // ServiceApp
#define PERM_EXECUTE (S_IXUSR | S_IXGRP | S_IXOTH)
#define PERM_WRITE (S_IWUSR | S_IWGRP | S_IWOTH)
+#define PERM_OWNER_ROOT 0
+#define PERM_OWNER_APP 1
+
+#define PERM_SMACK_0 0
+#define PERM_SMACK_1 1
+#define PERM_SMACK_2 2
+#define PERM_SMACK_3 3
+
#define TIZEN_PRIVILEGE_WEB_SERVICE "http://tizen.org/privilege/web.service"
#define TIZEN_CATEGORY_IME "http://tizen.org/category/ime"
#define TIZEN_CATEGORY_HOMESCREEN "http://tizen.org/category/homescreen"
#define TIZEN_CATEGORY_LOCKSCREEN "http://tizen.org/category/lockscreen"
#define TIZEN_CATEGORY_MENUSCREEN "http://tizen.org/category/menuscreen"
+#define DIR_APPLICATIONS_TMP "/opt/usr/apps/tmp"
+
+#define INSTALLER_RDS_FILE_NAME ".rds_delta"
+#define INSTALLER_RDS_DELETE_STR "delete"
+#define INSTALLER_RDS_ADD_STR "add"
+#define INSTALLER_RDS_MODIFY_STR "modify"
+
static const int BLOCK_SIZE = 4096;
+static const int SIGNATURE_FILE_NUMBER_DISTRIBUTOR = 1;
#define OSP_INSTALLER "osp-installer"
INSTALLER_STEP_UNINSTALL,
INSTALLER_STEP_END,
+ INSTALLER_STEP_RDS_INIT,
+ INSTALLER_STEP_RDS,
+
INSTALLER_STEP_MAX,
};
INSTALLER_ERROR_CERTIFICATE_CHAIN_VERIFICATION_FAILED = 33,
INSTALLER_ERROR_CERTIFICATE_EXPIRED = 34,
INSTALLER_ERROR_PRIVILEGE_INVALID = 41,
+ INSTALLER_ERROR_PRIVILEGE_LEVEL_INVALID = 42,
INSTALLER_ERROR_MENU_ICON_NOT_FOUND = 51,
INSTALLER_ERROR_FATAL_ERROR = 61,
INSTALLER_ERROR_OUT_OF_STORAGE = 62,
{
INSTALLER_OPERATION_INSTALL,
INSTALLER_OPERATION_UNINSTALL,
+ INSTALLER_OPERATION_REINSTALL,
};
enum RootCertificateType
{
- ROOT_CERTIFICATE_NONE,
+ ROOT_CERTIFICATE_NONE = 0,
ROOT_CERTIFICATE_DEVELOPER,
ROOT_CERTIFICATE_PUBLIC,
ROOT_CERTIFICATE_PARTNER,
ROOT_CERTIFICATE_PARTNER_OPERATOR,
ROOT_CERTIFICATE_PARTNER_MANUFACTURER,
+ ROOT_CERTIFICATE_CERT_SVC_PUBLIC = (1 << 6),
+ ROOT_CERTIFICATE_CERT_SVC_PARTNER = (1 << 7),
+ ROOT_CERTIFICATE_CERT_SVC_PARTNER_OPERATOR = (1 << 8),
+ ROOT_CERTIFICATE_CERT_SVC_PARTNER_MANUFACTURER = (1 << 9),
+ ROOT_CERTIFICATE_CERT_SVC_PLATFORM = (1 << 10),
+
+};
+
+enum SignatureFileType
+{
+ SIGNATURE_FILE_TYPE_NONE,
+ SIGNATURE_FILE_TYPE_AUTHOR,
+ SIGNATURE_FILE_TYPE_DISTRIBUTOR,
+
};
enum
INSTALLER_MODE_INSTALL = 1,
INSTALLER_MODE_UNINSTALL = 2,
INSTALLER_MODE_RECURSIVE_DIRECTORY_INSTALL = 3,
+ INSTALLER_MODE_REINSTALL = 4,
};
enum CategoryType
};
+enum InstallerRdsState
+{
+ INSTALLER_RDS_STATE_NONE,
+ INSTALLER_RDS_STATE_DELETE,
+ INSTALLER_RDS_STATE_ADD,
+ INSTALLER_RDS_STATE_MODIFY,
+
+};
+
+typedef struct
+{
+ const char* pDir;
+ int dirType;
+ int ownerIndex;
+ int modeIndex;
+ int smackIndex;
+
+} RdsPermssions;
+
+enum PermDirType
+{
+ PERM_DIR_RES = 0,
+ PERM_DIR_DATA = 1,
+ PERM_DIR_BIN = 2,
+ PERM_DIR_INFO = 3,
+ PERM_DIR_LIB = 4,
+ PERM_DIR_SETTING = 5,
+ PERM_DIR_SHARED_RES = 6,
+ PERM_DIR_SHARED_DATA = 7,
+ PERM_DIR_SHARED_TRUSTED = 8,
+ PERM_DIR_SHARED = 9,
+ PERM_DIR_ROOT = 10,
+};
+
+enum PrivilegeLevel
+{
+ PRIVILEGE_LEVEL_PUBLIC,
+ PRIVILEGE_LEVEL_PARTNER,
+ PRIVILEGE_LEVEL_PLATFORM,
+
+};
+
#endif // _INSTALLER_DEFS_H_