Requires: libwatchface-common
Recommends: amd-mod-complication
+%define upgrade_script_path /usr/share/upgrade/scripts
+
%description
API for creating a new watchface complication and managing it.
install -m 0644 gcov-obj/* %{buildroot}%{_datadir}/gcov/obj
%endif
+mkdir -p %{buildroot}%{upgrade_script_path}
+cp -f scripts/504.watchface_complication_upgrade.sh %{buildroot}%{upgrade_script_path}
%check
ctest -V
%manifest %{name}.manifest
%attr(0644,root,root) %{_libdir}/%{name}.so.*
%license LICENSE
+%attr(0755,root,root) %{_datadir}/upgrade/scripts/504.watchface_complication_upgrade.sh
%files -n %{name}-devel
%{_includedir}/watchface-complication/*.h
--- /dev/null
+#!/bin/sh
+
+#-------------------------------------------------------#
+# watchface-complication patch for upgrade (4.0 -> 5.x) #
+#-------------------------------------------------------#
+
+# Macro
+PATH=/bin:/usr/bin:/sbin:/usr/sbin
+
+DB_DIR=/opt/dbspace
+DB_WATCHFACE_COMPLICATION=$DB_DIR/.complication_provider.db
+DB_USER_WATCHFACE_COMPLICATION=/opt/dbspace/user/5001/.complication_provider.db
+
+sqlite3 $DB_WATCHFACE_COMPLICATION << EOF
+
+PRAGMA user_version = 50;
+PRAGMA journal_mode = PERSIST;
+PRAGMA foreign_keys = ON;
+BEGIN EXCLUSIVE TRANSACTION;
+DROP TABLE IF EXISTS complication_provider;
+CREATE TABLE IF NOT EXISTS complication_provider (
+ pkgid TEXT NOT NULL,
+ appid TEXT NOT NULL,
+ provider_id TEXT NOT NULL,
+ trusted INTEGER DEFAULT 0,
+ period INTEGER DEFAULT -1,
+ support_type INTEGER DEFAULT 0,
+ default_data TEXT NOT NULL,
+ PRIMARY KEY (provider_id, support_type)
+);
+
+DROP TABLE IF EXISTS provider_localized_info;
+CREATE TABLE IF NOT EXISTS provider_localized_info (
+ provider_id TEXT NOT NULL,
+ locale TEXT NOT NULL DEFAULT 'No Locale',
+ provider_label TEXT,
+ PRIMARY KEY (provider_id, locale)
+);
+
+DROP TABLE IF EXISTS provider_privilege;
+CREATE TABLE IF NOT EXISTS provider_privilege (
+ provider_id TEXT NOT NULL,
+ privilege TEXT NOT NULL,
+ PRIMARY KEY (provider_id, privilege)
+);
+
+DROP TABLE IF EXISTS provider_setup_appid;
+CREATE TABLE IF NOT EXISTS provider_setup_appid (
+ provider_id TEXT NOT NULL,
+ setup_appid TEXT,
+ PRIMARY KEY (provider_id)
+);
+
+DROP TABLE IF EXISTS provider_support_events;
+CREATE TABLE IF NOT EXISTS provider_support_events (
+ provider_id TEXT NOT NULL,
+ support_events INTEGER DEFAULT 1,
+ PRIMARY KEY (provider_id)
+);
+COMMIT TRANSACTION;
+
+EOF
+
+# Create DB Path for default user
+mkdir -p /opt/dbspace/user/5001
+chmod 770 /opt/dbspace/user/5001
+chown owner:system_share /opt/dbspace/user/5001
+chsmack -a User::Home /opt/dbspace/user
+chsmack -a User::Home /opt/dbspace/user/5001
+
+# Copy DB
+cp $DB_WATCHFACE_COMPLICATION $DB_USER_WATCHFACE_COMPLICATION
+
+# Adjust Permission
+chmod 664 $DB_WATCHFACE_COMPLICATION
+chmod 664 $DB_WATCHFACE_COMPLICATION-journal
+
+chown owner:users $DB_WATCHFACE_COMPLICATION
+chown owner:users $DB_WATCHFACE_COMPLICATION-journal
+
+chsmack -a User::Home $DB_WATCHFACE_COMPLICATION
+chsmack -a User::Home $DB_WATCHFACE_COMPLICATION-journal
+
+chmod 666 $DB_USER_WATCHFACE_COMPLICATION
+chmod 666 $DB_USER_WATCHFACE_COMPLICATION-journal
+
+chsmack -a User::Home $DB_USER_WATCHFACE_COMPLICATION
+chsmack -a User::Home $DB_USER_WATCHFACE_COMPLICATION-journal
\ No newline at end of file