75cd3980ba21f09e6dd22969e871018c0ad2c106
[platform/framework/web/wrt-commons.git] / packaging / wrt-commons.spec
1 #git:framework/web/wrt-commons
2 Name:       wrt-commons
3 Summary:    Wrt common library
4 Version:    0.2.138
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(cryptsvc)
27 BuildRequires:  pkgconfig(dukgenerator)
28 BuildRequires:  pkgconfig(minizip)
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 %define with_child 0
51 %if "%{WITH_CHILD}" == "ON" || "%{WITH_CHILD}" == "Y" || "%{WITH_CHILD}" == "YES" || "%{WITH_CHILD}" == "TRUE" || "%{WITH_CHILD}" == "1"
52     %define with_child 1
53 %endif
54
55 %build
56
57 export LDFLAGS+="-Wl,--rpath=%{_libdir} -Wl,--hash-style=both -Wl,--as-needed"
58
59 cmake . -DVERSION=%{version} \
60         -DDPL_LOG="OFF"      \
61         -DCMAKE_INSTALL_PREFIX=%{_prefix} \
62         -DCMAKE_BUILD_TYPE=%{?build_type:%build_type} \
63         %{?WITH_TESTS:-DWITH_TESTS=%WITH_TESTS} \
64         %{?WITH_CHILD:-DWITH_CHILD=%WITH_CHILD}
65 make %{?jobs:-j%jobs}
66
67 %install
68 mkdir -p %{buildroot}/usr/share/license
69 cp %{name} %{buildroot}/usr/share/license/
70 %make_install
71
72 %clean
73 rm -rf %{buildroot}
74
75 %post
76 mkdir -p /opt/share/widget/system
77 mkdir -p /opt/share/widget/user
78 mkdir -p /opt/share/widget/exec
79 mkdir -p /opt/share/widget/data/Public
80 mkdir -p /usr/lib/wrt-plugins
81
82 if [ -z ${2} ]; then
83     echo "This is new install of wrt-commons"
84     echo "Calling /usr/bin/wrt_commons_reset_db.sh"
85     /usr/bin/wrt_commons_reset_db.sh
86 else
87     # Find out old and new version of databases
88     WRT_OLD_DB_VERSION=`sqlite3 /opt/dbspace/.wrt.db ".tables" | grep "DB_VERSION_"`
89     WRT_NEW_DB_VERSION=`cat /usr/share/wrt-engine/wrt_db.sql | tr '[:blank:]' '\n' | grep DB_VERSION_`
90     echo "OLD wrt database version ${WRT_OLD_DB_VERSION}"
91     echo "NEW wrt database version ${WRT_NEW_DB_VERSION}"
92
93     if [ ${WRT_OLD_DB_VERSION} -a ${WRT_NEW_DB_VERSION} ]
94     then
95         if [ ${WRT_NEW_DB_VERSION} = ${WRT_OLD_DB_VERSION} ]
96         then
97             echo "Equal database detected so db installation ignored"
98         else
99             echo "Calling /usr/bin/wrt_commons_reset_db.sh"
100             /usr/bin/wrt_commons_reset_db.sh
101         fi
102     else
103         echo "Calling /usr/bin/wrt_commons_reset_db.sh"
104         /usr/bin/wrt_commons_reset_db.sh
105     fi
106 fi
107
108 mkdir -p /usr/etc/ace
109 mkdir -p /usr/apps/org.tizen.policy
110
111 # DBUS services fix
112 # WARNING: THIS IS TEMPORARY SOLUTION, AS THIS SHOULD NOT BE OUR
113 # RESPONSIBILITY!!! WE HAVE TO CONTACT TO DBUS MAINAINERS
114
115 if [ -f /var/lib/dbus/machine-id ]; then
116     echo "machine-id exists"
117 else
118     if [ -f /usr/var/lib/dbus/machine-id ]; then
119         echo "machine-id exists"
120     else
121         echo "Creating machine-id"
122         mkdir -p /usr/var/lib/dbus/
123         dbus-uuidgen > /usr/var/lib/dbus/machine-id
124         dbus-uuidgen --ensure=/usr/var/lib/dbus/machine-id
125     fi
126     mkdir -p /var/lib/dbus/
127     cp /usr/var/lib/dbus/machine-id /var/lib/dbus/
128 fi
129
130 # Set Smack label for db files
131 chsmack -a 'wrt-commons::db_wrt' /opt/dbspace/.wrt.db
132 chsmack -a 'wrt-commons::db_wrt' /opt/dbspace/.wrt.db-journal
133 chsmack -a 'wrt-commons::db_wrt' /opt/usr/dbspace/.wrt_custom_handler.db
134 chsmack -a 'wrt-commons::db_wrt' /opt/usr/dbspace/.wrt_custom_handler.db-journal
135 chsmack -a 'wrt-commons::db_wrt_i18n' /opt/usr/dbspace/.wrt_i18n.db
136 chsmack -a 'wrt-commons::db_wrt_i18n' /opt/usr/dbspace/.wrt_i18n.db-journal
137
138 echo "[WRT] wrt-commons postinst done ..."
139
140 %files
141 %manifest wrt-commons.manifest
142 %{_libdir}/*.so
143 %{_libdir}/*.so.*
144 %{_datadir}/wrt-engine/*
145 %{_datadir}/license/%{name}
146 %attr(755,root,root) %{_bindir}/wrt_commons_create_clean_db.sh
147 %attr(755,root,root) %{_bindir}/wrt_commons_reset_db.sh
148 %if %{with_tests}
149     %attr(755,root,root) %{_bindir}/wrt-commons-tests-*
150     %attr(755,root,root) %{_bindir}/wrt_dao_tests_prepare_db.sh
151     %attr(755,root,root) %{_bindir}/wrt_db_localization_prepare.sh
152     %{_datadir}/dbus-1/services/org.tizen.DBusTestService.service
153     /opt/share/wrt/wrt-commons/tests/*
154     /opt/share/widget/tests/localization/*
155 %endif
156
157 %files devel
158 %{_includedir}/dpl-efl/*
159 %{_libdir}/pkgconfig/*.pc