Merge "Add ail_initdb_user & ail_get_app_DB_journal()" into tizen
[platform/core/appfw/ail.git] / packaging / ail.spec
1 Name:           ail
2 Version:        0.2.80
3 Release:        0
4 License:        Apache-2.0
5 Summary:        Application Information Library
6 Group:          Application Framework/Libraries
7 Source0:        %{name}-%{version}.tar.gz
8 Source1001:     ail.manifest
9 BuildRequires:  cmake
10 BuildRequires:  vconf-keys-devel
11 BuildRequires:  pkgconfig(db-util)
12 BuildRequires:  pkgconfig(dlog)
13 BuildRequires:  pkgconfig(libsmack)
14 BuildRequires:  pkgconfig(sqlite3)
15 BuildRequires:  pkgconfig(vconf)
16 BuildRequires:  pkgconfig(xdgmime)
17 BuildRequires:  pkgconfig(libtzplatform-config)
18 Provides:       libail = %{version}-%{release}
19 Requires:               libcap-tools
20
21 %description
22 Application Information Library package
23
24 %package devel
25 Summary:        Application Information Library Development files
26 Requires:       libail = %{version}-%{release}
27 Requires:       pkgconfig(libtzplatform-config)
28 Requires:               pkgconfig(libsmack)
29
30 %description devel
31 Application Information Library Development files package
32
33 %prep
34 %setup -q
35 cp %{SOURCE1001} .
36
37 %build
38 CFLAGS+=" -fpic"
39
40 %if 0%{?tizen_build_binary_release_type_eng}
41 export CFLAGS="$CFLAGS -DTIZEN_ENGINEER_MODE"
42 export CXXFLAGS="$CXXFLAGS ?DTIZEN_ENGINEER_MODE"
43 export FFLAGS="$FFLAGS -DTIZEN_ENGINEER_MODE"
44 %endif
45
46 %cmake .  -DTZ_SYS_RW_DESKTOP_APP=%TZ_SYS_RW_DESKTOP_APP \
47           -DBUILD_PKGTYPE=rpm \
48                   -DSMACK=Off
49
50 %__make %{?_smp_mflags}
51
52 %install
53 %make_install
54
55 %post
56 ldconfig
57 # Create tizenglobalapp user needed for global installation
58 useradd -d %TZ_SYS_RW_APP -m %TZ_SYS_GLOBALAPP_USER -r -c "system user for common applications" -g root
59
60 #mkdir -p %TZ_SYS_RW_APP/.config/xwalk-service/applications
61 #cd %TZ_SYS_RW_APP/
62 #ln -s .config/xwalk-service/applications/
63
64 vconftool set -t string db/ail/ail_info "0" -f -s system::vconf_inhouse
65 vconftool set -t string db/menuscreen/desktop "0" -f -s system::vconf_inhouse
66 vconftool set -t string db/menu_widget/language "en_US.utf8" -f -s system::vconf_inhouse
67 chsmack -a User %TZ_SYS_CONFIG/db/ail
68 chsmack -a User %TZ_SYS_CONFIG/db/ail/ail_info
69 chsmack -a User %TZ_SYS_CONFIG/db/menuscreen
70 chsmack -a User %TZ_SYS_CONFIG/db/menuscreen/desktop
71 chsmack -a User %TZ_SYS_CONFIG/db/menu_widget
72 chsmack -a User %TZ_SYS_CONFIG/db/menu_widget/language
73
74 mkdir -p %{TZ_SYS_RO_DESKTOP_APP}
75 mkdir -p %{TZ_SYS_RW_DESKTOP_APP}
76 mkdir -p %{TZ_SYS_RW_APP}
77 mkdir -p %{TZ_SYS_DB}
78
79 chsmack -a '*' %{TZ_SYS_DB}
80 chsmack -a '*' %{TZ_SYS_RW_APP}
81 chsmack -a '*' %{TZ_SYS_RW_DESKTOP_APP}
82 chsmack -a '*' %{TZ_SYS_RO_DESKTOP_APP}
83
84 chmod g+w %{TZ_SYS_RW_DESKTOP_APP}
85 chmod g+w %{TZ_SYS_RO_DESKTOP_APP}
86 chown %TZ_SYS_GLOBALAPP_USER:root %{TZ_SYS_RW_DESKTOP_APP}
87 chown %TZ_SYS_GLOBALAPP_USER:root %{TZ_SYS_RO_DESKTOP_APP}
88 chown %TZ_SYS_GLOBALAPP_USER:root %{TZ_SYS_RW_APP}
89 chown %TZ_SYS_GLOBALAPP_USER:root %{TZ_SYS_DB}
90
91 ail_initdb 2>/dev/null
92 chsmack -a '*' %{TZ_SYS_DB}/.app_info.db*
93  
94 %postun
95 /sbin/ldconfig
96 if [ $1 == 0 ]; then
97     rm -f %{TZ_SYS_DB}/.app_info.db*
98 fi
99
100 %files
101 %manifest %{name}.manifest
102 %license LICENSE
103 %attr(06775,root,root) %{_bindir}/ail_initdb
104 %attr(0775,root,root) %{_bindir}/ail_initdb_user
105 %{_bindir}/ail_fota
106 %{_bindir}/ail_desktop
107 %{_bindir}/ail_filter
108 %{_bindir}/ail_list
109 %{_bindir}/ail_package
110 %{_datadir}/install-info/*
111 %{_libdir}/libail.so.0
112 %{_libdir}/libail.so.0.1.0
113
114 %files devel
115 %manifest %{name}.manifest
116 %{_includedir}/ail.h
117 %{_libdir}/libail.so
118 %{_libdir}/pkgconfig/ail.pc