Remove hardcoded path for multiuser support
[platform/framework/web/wrt-installer.git] / packaging / wrt-installer.spec
1 %bcond_with livebox
2 %bcond_with decrypt
3 %bcond_with osp
4 %bcond_with wayland
5 %bcond_with x
6
7 Name:       wrt-installer
8 Summary:    Installer for tizen Webruntime
9 Version:    0.1.138
10 Release:    1
11 Group:      Web Framework/Utilities
12 License:    Apache-2.0
13 Source0:    %{name}-%{version}.tar.gz
14 Source1001:     wrt-installer.manifest
15 BuildRequires:  cmake
16 BuildRequires:  edje-tools
17 BuildRequires:  pkgconfig(appsvc)
18 BuildRequires:  pkgconfig(libxml-2.0)
19 BuildRequires:  pkgconfig(openssl)
20 BuildRequires:  pkgconfig(dpl-efl)
21 BuildRequires:  pkgconfig(cert-svc-vcore)
22 BuildRequires:  pkgconfig(dpl-event-efl)
23 BuildRequires:  pkgconfig(dpl-utils-efl)
24 BuildRequires:  pkgconfig(dpl-wrt-dao-ro)
25 BuildRequires:  pkgconfig(dpl-wrt-dao-rw)
26 BuildRequires:  pkgconfig(wrt-commons-i18n-dao-ro)
27 BuildRequires:  pkgconfig(wrt-commons-widget-interface-dao)
28 BuildRequires:  pkgconfig(security-install)
29 %if %{with x}
30 BuildRequires:  pkgconfig(ecore-x)
31 %endif
32 %if %{with wayland}
33 BuildRequires:  pkgconfig(ecore-wayland)
34 %endif
35 BuildRequires:  pkgconfig(xmlsec1)
36 BuildRequires:  pkgconfig(libidn)
37 BuildRequires:  pkgconfig(libiri)
38 BuildRequires:  pkgconfig(libpcrecpp)
39 BuildRequires:  pkgconfig(pkgmgr-installer)
40 BuildRequires:  pkgconfig(pkgmgr-parser)
41 BuildRequires:  pkgconfig(pkgmgr-types)
42 BuildRequires:  pkgconfig(pkgmgr-info)
43 BuildRequires:  pkgconfig(pkgmgr)
44 BuildRequires:  pkgconfig(dlog)
45 BuildRequires:  pkgconfig(cert-svc)
46 BuildRequires:  pkgconfig(wrt-plugins-types)
47 BuildRequires:  pkgconfig(tapi)
48 BuildRequires:  pkgconfig(shortcut)
49 BuildRequires:  pkgconfig(capi-appfw-app-manager)
50 BuildRequires:  pkgconfig(app2sd)
51 BuildRequires:  pkgconfig(libtzplatform-config)
52 %if %{with livebox}
53 BuildRequires:  pkgconfig(web-provider)
54 %endif
55 BuildRequires:  pkgconfig(libprivilege-control)
56 BuildRequires:  pkgconfig(libsmack)
57 BuildRequires:  libss-client-devel
58 Requires: libss-client
59 %if %{with osp}
60 Requires: osp-installer
61 %endif
62 Requires: xmlsec1
63 Requires: libtzplatform-config
64
65 %description
66 Description: Wrt Installer for Tizen apps and Wac apps
67
68 %package preinstall-service
69 Summary: Service for installing wgt files on first boot
70 Group:   Web Framework/Utilities
71 %description preinstall-service
72 This package installs a first time boot systemd service for 
73 completing the installation of preinstalled web apps.
74
75 %prep
76 %setup -q
77 cp %{SOURCE1001} .
78
79 %define with_tests 0
80 %if "%{WITH_TESTS}" == "ON" || "%{WITH_TESTS}" == "Y" || "%{WITH_TESTS}" == "YES" || "%{WITH_TESTS}" == "TRUE" || "%{WITH_TESTS}" == "1"
81     %define with_tests 1
82 %endif
83
84 %build
85 %if 0%{?tizen_build_binary_release_type_eng}
86 export CFLAGS="$CFLAGS -DTIZEN_ENGINEER_MODE"
87 export CXXFLAGS="$CXXFLAGS -DTIZEN_ENGINEER_MODE"
88 export FFLAGS="$FFLAGS -DTIZEN_ENGINEER_MODE"
89 %endif
90
91 export LDFLAGS+="-Wl,--rpath=%{_libdir} -Wl,--hash-style=both -Wl,--as-needed"
92 LDFLAGS="$LDFLAGS"
93
94 %cmake . -DCMAKE_INSTALL_PREFIX=/usr \
95 %if %{with livebox}
96         -DLIVEBOX_SUPPORT=On \
97 %else
98         -DLIVEBOX_SUPPORT=Off \
99 %endif
100 %if %{with decrypt}
101          -DDECRYPT_SUPPORT=On \
102 %else
103          -DDECRYPT_SUPPORT=Off \
104 %endif
105 %if %{with wayland}
106          -DWAYLAND_SUPPORT=On \
107 %else
108          -DWAYLAND_SUPPORT=Off \
109 %endif
110 %if %{with x}
111          -DX11_SUPPORT=On \
112 %else
113          -DX11_SUPPORT=Off \
114 %endif
115         -DSYSCONFDIR=%{_sysconfdir} \
116         -DSMACK=Off \
117         -DDPL_LOG=ON \
118         -DCMAKE_BUILD_TYPE=%{?build_type:%build_type} \
119         -DTZ_SYS_APP_PREINSTALL=%TZ_SYS_APP_PREINSTALL \
120         %{?WITH_TESTS:-DWITH_TESTS=%WITH_TESTS}
121 make %{?jobs:-j%jobs}
122
123 %install
124 rm -rf %{buildroot}
125 mkdir -p %{buildroot}/usr/share/license
126 cp LICENSE %{buildroot}/usr/share/license/%{name}
127 %make_install
128
129 mkdir -p %{buildroot}%{_unitdir}/graphical.target.wants
130 ln -s ../wrt-preinstall-widgets.service %{buildroot}%{_unitdir}/graphical.target.wants
131
132 %clean
133 rm -rf %{buildroot}
134
135 %post
136 /sbin/ldconfig
137 chmod +s %{_bindir}/wrt-installer
138
139 #symlink for package manager
140 %define pkg_manager_backend_path %{_sysconfdir}"/package-manager/backend"
141 ln -sf /usr/bin/wrt-installer %{pkg_manager_backend_path}/wgt
142 ln -sf %{pkg_manager_backend_path}/wgt %{pkg_manager_backend_path}/Wgt
143 ln -sf %{pkg_manager_backend_path}/wgt %{pkg_manager_backend_path}/wGt
144 ln -sf %{pkg_manager_backend_path}/wgt %{pkg_manager_backend_path}/wgT
145 ln -sf %{pkg_manager_backend_path}/wgt %{pkg_manager_backend_path}/WGt
146 ln -sf %{pkg_manager_backend_path}/wgt %{pkg_manager_backend_path}/wGT
147 ln -sf %{pkg_manager_backend_path}/wgt %{pkg_manager_backend_path}/WgT
148 ln -sf %{pkg_manager_backend_path}/wgt %{pkg_manager_backend_path}/WGT
149
150 #for booting recovery
151 mkdir -p %TZ_SYS_RW_WIDGET/temp_info
152
153 # for downloadable Application icons path
154 mkdir -p %TZ_SYS_SHARE/icons/default/small
155
156 %postun -p /sbin/ldconfig
157
158 %files
159 %manifest %{name}.manifest
160 %attr(755,root,root) %{_bindir}/wrt-installer
161 %{_sysconfdir}/package-manager/backendlib/libwgt.so
162 %attr(644,root,root) %{_sysconfdir}/wrt-installer/*.xsd
163 %{_datadir}/license/%{name}
164 %if %{with_tests}
165     %attr(755,root,root) %{_bindir}/wrt-installer-tests-*
166     %TZ_SYS_RW_WIDGET/tests/installer/widgets/*
167 %endif
168
169 %files preinstall-service
170 %manifest %{name}.manifest
171 %attr(755,root,root) %{_bindir}/wrt_preinstall_widgets.sh
172 %{_unitdir}/wrt-preinstall-widgets.service
173 %{_unitdir}/graphical.target.wants/wrt-preinstall-widgets.service