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