Modify get encryption/decryption key from device unique key
[framework/web/wrt-commons.git] / packaging / wrt-commons.spec
1 #git:framework/web/wrt-commons wrt-commons 0.2.82
2 Name:       wrt-commons
3 Summary:    Wrt common library
4 Version:    0.2.83
5 Release:    1
6 Group:      Development/Libraries
7 License:    Apache License, Version 2.0
8 URL:        N/A
9 Source0:    %{name}-%{version}.tar.gz
10 BuildRequires:  cmake
11 BuildRequires:  pkgconfig(ecore)
12 BuildRequires:  pkgconfig(appcore-efl)
13 BuildRequires:  pkgconfig(libssl)
14 BuildRequires:  pkgconfig(sqlite3)
15 BuildRequires:  pkgconfig(dlog)
16 BuildRequires:  pkgconfig(glib-2.0)
17 BuildRequires:  pkgconfig(gio-2.0)
18 BuildRequires:  pkgconfig(db-util)
19 BuildRequires:  pkgconfig(zlib)
20 BuildRequires:  pkgconfig(libpcrecpp)
21 BuildRequires:  pkgconfig(icu-i18n)
22 BuildRequires:  pkgconfig(libxml-2.0)
23 BuildRequires:  pkgconfig(openssl)
24 BuildRequires:  pkgconfig(libiri)
25 BuildRequires:  pkgconfig(libidn)
26 BuildRequires:  pkgconfig(osp-appfw)
27 BuildRequires:  osp-appfw-internal-devel
28
29 # runtime requires
30 Requires: osp-appfw
31
32 %description
33 Wrt common library
34
35 %package devel
36 Summary:    Wrt common library development headers
37 Group:      Development/Libraries
38 Requires:   %{name} = %{version}
39
40 %description devel
41 Wrt common library development headers
42
43 %prep
44 %setup -q
45
46 %define with_tests 0
47 %if "%{WITH_TESTS}" == "ON" || "%{WITH_TESTS}" == "Y" || "%{WITH_TESTS}" == "YES" || "%{WITH_TESTS}" == "TRUE" || "%{WITH_TESTS}" == "1"
48     %define with_tests 1
49 %endif
50
51 %build
52 export LDFLAGS+="-Wl,--rpath=%{_libdir} -Wl,--hash-style=both -Wl,--as-needed"
53
54 cmake . -DVERSION=%{version} \
55         -DDPL_LOG="OFF"      \
56         -DCMAKE_INSTALL_PREFIX=%{_prefix} \
57         -DCMAKE_BUILD_TYPE=%{?build_type:%build_type} \
58         %{?WITH_TESTS:-DWITH_TESTS=%WITH_TESTS}
59 make %{?jobs:-j%jobs}
60
61 %install
62 mkdir -p %{buildroot}/usr/share/license
63 cp %{name} %{buildroot}/usr/share/license/
64 %make_install
65
66 %clean
67 rm -rf %{buildroot}
68
69 %post
70 mkdir -p /opt/share/widget/system
71 mkdir -p /opt/share/widget/user
72 mkdir -p /opt/share/widget/exec
73 mkdir -p /opt/share/widget/data/Public
74 mkdir -p /usr/lib/wrt-plugins
75
76 if [ -z ${2} ]; then
77     echo "This is new install of wrt-commons"
78     echo "Calling /usr/bin/wrt_commons_reset_db.sh"
79     /usr/bin/wrt_commons_reset_db.sh
80 else
81     # Find out old and new version of databases
82     WRT_OLD_DB_VERSION=`sqlite3 /opt/dbspace/.wrt.db ".tables" | grep "DB_VERSION_"`
83     WRT_NEW_DB_VERSION=`cat /usr/share/wrt-engine/wrt_db.sql | tr '[:blank:]' '\n' | grep DB_VERSION_`
84     echo "OLD wrt database version ${WRT_OLD_DB_VERSION}"
85     echo "NEW wrt database version ${WRT_NEW_DB_VERSION}"
86
87     if [ ${WRT_OLD_DB_VERSION} -a ${WRT_NEW_DB_VERSION} ]
88     then
89         if [ ${WRT_NEW_DB_VERSION} = ${WRT_OLD_DB_VERSION} ]
90         then
91             echo "Equal database detected so db installation ignored"
92         else
93             echo "Calling /usr/bin/wrt_commons_reset_db.sh"
94             /usr/bin/wrt_commons_reset_db.sh
95         fi
96     else
97         echo "Calling /usr/bin/wrt_commons_reset_db.sh"
98         /usr/bin/wrt_commons_reset_db.sh
99     fi
100 fi
101
102 mkdir -p /usr/etc/ace
103 mkdir -p /usr/apps/org.tizen.policy
104
105 # DBUS services fix
106 # WARNING: THIS IS TEMPORARY SOLUTION, AS THIS SHOULD NOT BE OUR
107 # RESPONSIBILITY!!! WE HAVE TO CONTACT TO DBUS MAINAINERS
108
109 if [ -f /var/lib/dbus/machine-id ]; then
110     echo "machine-id exists"
111 else
112     if [ -f /usr/var/lib/dbus/machine-id ]; then
113         echo "machine-id exists"
114     else
115         echo "Creating machine-id"
116         mkdir -p /usr/var/lib/dbus/
117         dbus-uuidgen > /usr/var/lib/dbus/machine-id
118         dbus-uuidgen --ensure=/usr/var/lib/dbus/machine-id
119     fi
120     mkdir -p /var/lib/dbus/
121     cp /usr/var/lib/dbus/machine-id /var/lib/dbus/
122 fi
123
124 # Set Smack label for db files
125 chsmack -a 'wrt-commons::db_wrt' /opt/dbspace/.wrt.db
126 chsmack -a 'wrt-commons::db_wrt' /opt/dbspace/.wrt.db-journal
127 chsmack -a 'wrt-commons::db_wrt_autosave' /opt/dbspace/.wrt_autosave.db
128 chsmack -a 'wrt-commons::db_wrt_autosave' /opt/dbspace/.wrt_autosave.db-journal
129 chsmack -a 'wrt-commons::db_wrt_custom_handler' /opt/dbspace/.wrt_custom_handler.db
130 chsmack -a 'wrt-commons::db_wrt_custom_handler' /opt/dbspace/.wrt_custom_handler.db-journal
131
132 echo "[WRT] wrt-commons postinst done ..."
133
134 %files
135 %manifest wrt-commons.manifest
136 %{_libdir}/*.so
137 %{_libdir}/*.so.*
138 %{_datadir}/wrt-engine/*
139 %{_datadir}/license/%{name}
140 %attr(755,root,root) %{_bindir}/wrt_commons_create_clean_db.sh
141 %attr(755,root,root) %{_bindir}/wrt_commons_reset_db.sh
142 %if %{with_tests}
143     %attr(755,root,root) %{_bindir}/dpl-tests-*
144     %attr(755,root,root) %{_bindir}/dpl-dbus-test-service
145     %attr(755,root,root) %{_bindir}/wrt-tests-*
146     %attr(755,root,root) %{_bindir}/wrt_dao_tests_prepare_db.sh
147     %{_datadir}/dbus-1/services/org.tizen.DBusTestService.service
148     /opt/share/wrt/wrt-commons/tests/*
149 %endif
150
151 %files devel
152 %{_includedir}/dpl-efl/*
153 %{_libdir}/pkgconfig/*.pc