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