[Release] wrt-commons_0.2.145
[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.145
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(minizip)
27
28 %description
29 Wrt common library
30
31 %package devel
32 Summary:    Wrt common library development headers
33 Group:      Development/Libraries
34 Requires:   %{name} = %{version}
35
36 %description devel
37 Wrt common library development headers
38
39 %prep
40 %setup -q
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_INSTALL_PREFIX=%{_prefix} \
64         -DCMAKE_BUILD_TYPE=%{?build_type:%build_type} \
65         %{?WITH_TESTS:-DWITH_TESTS=%WITH_TESTS} \
66         %{?WITH_CHILD:-DWITH_CHILD=%WITH_CHILD}
67 make %{?jobs:-j%jobs}
68
69 %install
70 mkdir -p %{buildroot}/usr/share/license
71 cp %{name} %{buildroot}/usr/share/license/
72 %make_install
73
74 %clean
75 rm -rf %{buildroot}
76
77 %post
78 mkdir -p /opt/share/widget/system
79 mkdir -p /opt/share/widget/user
80 mkdir -p /opt/share/widget/exec
81 mkdir -p /opt/share/widget/data/Public
82 mkdir -p /usr/lib/wrt-plugins
83
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
110 mkdir -p /usr/etc/ace
111 mkdir -p /usr/apps/org.tizen.policy
112
113 # DBUS services fix
114 # WARNING: THIS IS TEMPORARY SOLUTION, AS THIS SHOULD NOT BE OUR
115 # RESPONSIBILITY!!! WE HAVE TO CONTACT TO DBUS MAINAINERS
116
117 if [ -f /var/lib/dbus/machine-id ]; then
118     echo "machine-id exists"
119 else
120     if [ -f /usr/var/lib/dbus/machine-id ]; then
121         echo "machine-id exists"
122     else
123         echo "Creating machine-id"
124         mkdir -p /usr/var/lib/dbus/
125         dbus-uuidgen > /usr/var/lib/dbus/machine-id
126         dbus-uuidgen --ensure=/usr/var/lib/dbus/machine-id
127     fi
128     mkdir -p /var/lib/dbus/
129     cp /usr/var/lib/dbus/machine-id /var/lib/dbus/
130 fi
131
132 # Set Smack label for db files
133 chsmack -a 'wrt-commons::db_wrt' /opt/dbspace/.wrt.db
134 chsmack -a 'wrt-commons::db_wrt' /opt/dbspace/.wrt.db-journal
135 chsmack -a 'wrt-commons::db_wrt' /opt/usr/dbspace/.wrt_custom_handler.db
136 chsmack -a 'wrt-commons::db_wrt' /opt/usr/dbspace/.wrt_custom_handler.db-journal
137 chsmack -a 'wrt-commons::db_wrt_i18n' /opt/usr/dbspace/.wrt_i18n.db
138 chsmack -a 'wrt-commons::db_wrt_i18n' /opt/usr/dbspace/.wrt_i18n.db-journal
139
140 echo "[WRT] wrt-commons postinst done ..."
141
142 %files
143 %manifest wrt-commons.manifest
144 %{_libdir}/*.so
145 %{_libdir}/*.so.*
146 %{_datadir}/wrt-engine/*
147 %{_datadir}/license/%{name}
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 %{_includedir}/dpl-efl/*
161 %{_libdir}/pkgconfig/*.pc