ADD_SUBDIRECTORY(src/tizenid)
ADD_SUBDIRECTORY(src/init_db)
+
+OPTION(BUILD_UPDATE_DB "Build update_db tool" ON)
+
+IF(BUILD_UPDATE_DB)
ADD_SUBDIRECTORY(src/update_db)
+ENDIF(BUILD_UPDATE_DB)
#Upgrade script
CONFIGURE_FILE(
%build
MAJORVER=`echo %{version} | awk 'BEGIN {FS="."}{print $1}'`
-
-%cmake . -DCONFIG_FILE_PATH=%{config_file_path} \
- -DINFO_FILE_PATH=%{info_file_path} \
- -DMAJORVER=${MAJORVER} \
- -DFULLVER=%{version} \
- -DSHARED_PATH=%{sysinfo_shared_path} \
- -DTIZEN_ID_PATH=%{tizen_id_path} \
- -DDB_PATH=%{db_path} \
- -DUPGRADE_SCRIPT_PATH=%{upgrade_script_path}
-
+CMAKE_OPTS="-DCONFIG_FILE_PATH=%{config_file_path} \
+ -DINFO_FILE_PATH=%{info_file_path} \
+ -DMAJORVER=${MAJORVER} \
+ -DFULLVER=%{version} \
+ -DSHARED_PATH=%{sysinfo_shared_path} \
+ -DTIZEN_ID_PATH=%{tizen_id_path} \
+ -DDB_PATH=%{db_path} \
+ -DUPGRADE_SCRIPT_PATH=%{upgrade_script_path} \
+ %{?asan:-DBUILD_UPDATE_DB=OFF}"
+
+mkdir build && cd build
+%cmake .. ${CMAKE_OPTS}
+
+# Address Sanitizer can't be applied to static binaries, so update_db should be
+# excluded from ASan build. So the update_db is rebuilt without forced ASan
+# options after the rest of package is ready
+%__make %{?_smp_mflags}
+%{?asan:
+mkdir -p %{_builddir}/update_db && pushd %{_builddir}/update_db
+/usr/bin/gcc-unforce-options
+%cmake %{_builddir}/%{name}-%{version} ${CMAKE_OPTS} -DBUILD_UPDATE_DB=ON
%__make %{?_smp_mflags}
+popd
+}
%install
+pushd build
%make_install
+popd
+%{?asan:pushd %{_builddir}/update_db/src/update_db && %make_install && popd}
mkdir -p %{buildroot}/etc
cp -f script/make_info_file.sh %{buildroot}/etc/make_info_file.sh