[Release] wrt-commons_0.2.167
[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.167
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 LICENSE %{buildroot}/usr/share/license/%{name}
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 #Don't reset DB when install on QEMU (during other packages building witch GBS)
85 if [ -z "$EMULATOR_ARCHS" ]; then
86     if [ -z ${2} ]; then
87         echo "This is new install of wrt-commons"
88         echo "Calling /usr/bin/wrt_commons_reset_db.sh"
89         /usr/bin/wrt_commons_reset_db.sh
90     else
91         # Find out old and new version of databases
92         WRT_OLD_DB_VERSION=`sqlite3 /opt/dbspace/.wrt.db ".tables" | grep "DB_VERSION_"`
93         WRT_NEW_DB_VERSION=`cat /usr/share/wrt-engine/wrt_db.sql | tr '[:blank:]' '\n' | grep DB_VERSION_`
94         echo "OLD wrt database version ${WRT_OLD_DB_VERSION}"
95         echo "NEW wrt database version ${WRT_NEW_DB_VERSION}"
96
97         if [ ${WRT_OLD_DB_VERSION} -a ${WRT_NEW_DB_VERSION} ]
98         then
99             if [ ${WRT_NEW_DB_VERSION} = ${WRT_OLD_DB_VERSION} ]
100             then
101                 echo "Equal database detected so db installation ignored"
102             else
103                 echo "Calling /usr/bin/wrt_commons_reset_db.sh"
104                 /usr/bin/wrt_commons_reset_db.sh
105             fi
106         else
107             echo "Calling /usr/bin/wrt_commons_reset_db.sh"
108             /usr/bin/wrt_commons_reset_db.sh
109         fi
110     fi
111 fi
112
113 mkdir -p /usr/etc/ace
114 mkdir -p /usr/apps/org.tizen.policy
115
116 # DBUS services fix
117 # WARNING: THIS IS TEMPORARY SOLUTION, AS THIS SHOULD NOT BE OUR
118 # RESPONSIBILITY!!! WE HAVE TO CONTACT TO DBUS MAINAINERS
119
120 if [ -f /var/lib/dbus/machine-id ]; then
121     echo "machine-id exists"
122 else
123     if [ -f /usr/var/lib/dbus/machine-id ]; then
124         echo "machine-id exists"
125     else
126         echo "Creating machine-id"
127         mkdir -p /usr/var/lib/dbus/
128         dbus-uuidgen > /usr/var/lib/dbus/machine-id
129         dbus-uuidgen --ensure=/usr/var/lib/dbus/machine-id
130     fi
131     mkdir -p /var/lib/dbus/
132     cp /usr/var/lib/dbus/machine-id /var/lib/dbus/
133 fi
134
135 # Set Smack label for db files
136 chsmack -a 'wrt-commons::db_wrt' /opt/dbspace/.wrt.db
137 chsmack -a 'wrt-commons::db_wrt' /opt/dbspace/.wrt.db-journal
138 chsmack -a 'wrt-commons::db_wrt' /opt/usr/dbspace/.wrt_custom_handler.db
139 chsmack -a 'wrt-commons::db_wrt' /opt/usr/dbspace/.wrt_custom_handler.db-journal
140 chsmack -a '*' /opt/usr/dbspace/.wrt_i18n.db
141 chsmack -a '*' /opt/usr/dbspace/.wrt_i18n.db-journal
142
143 echo "[WRT] wrt-commons postinst done ..."
144
145 %files
146 %manifest wrt-commons.manifest
147 %{_libdir}/*.so
148 %{_libdir}/*.so.*
149 %{_datadir}/wrt-engine/*
150 %{_datadir}/license/%{name}
151 %attr(755,root,root) %{_bindir}/wrt_commons_create_clean_db.sh
152 %attr(755,root,root) %{_bindir}/wrt_commons_reset_db.sh
153 %if %{with_tests}
154     %attr(755,root,root) %{_bindir}/wrt-commons-tests-*
155     %attr(755,root,root) %{_bindir}/wrt_dao_tests_prepare_db.sh
156     %attr(755,root,root) %{_bindir}/wrt_db_localization_prepare.sh
157     %{_datadir}/dbus-1/services/org.tizen.DBusTestService.service
158     /opt/share/wrt/wrt-commons/tests/*
159     /opt/share/widget/tests/localization/*
160 %endif
161
162 %files devel
163 %{_includedir}/dpl-efl/*
164 %{_libdir}/pkgconfig/*.pc