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