Release version 0.7.1
[platform/core/appfw/slp-pkgmgr.git] / packaging / pkgmgr.spec
1 Name:       pkgmgr
2 Summary:    Packager Manager client library package
3 Version:    0.7.1
4 Release:    0
5 Group:      Application Framework/Package Management
6 License:    Apache-2.0
7 Source0:    %{name}-%{version}.tar.gz
8 Source1001: %{name}.manifest
9 Source1002: %{name}-client.manifest
10 Source1003: %{name}-client-devel.manifest
11 Source1004: %{name}-installer.manifest
12 Source1005: %{name}-installer-devel.manifest
13 Source1006: %{name}-types-devel.manifest
14 Source1007: %{name}.conf
15 Source1008: %{name}-installer-signal-agent.service
16 Source1009: %{name}-installer-signal-agent.socket
17 Requires(post): /usr/sbin/useradd
18 Requires(posttrans): /usr/bin/pkg_initdb
19 Requires(posttrans): /usr/bin/install_preload_pkg
20 Requires(posttrans): /usr/bin/pkgcmd
21 Requires(posttrans): /etc/package-manager/pkgmgr-label-initial-image.sh
22
23 BuildRequires:  cmake
24 BuildRequires:  unzip
25 BuildRequires:  gettext-tools
26 BuildRequires:  pkgconfig(dbus-glib-1)
27 BuildRequires:  pkgconfig(glib-2.0)
28 BuildRequires:  pkgconfig(gio-2.0)
29 BuildRequires:  pkgconfig(dlog)
30 BuildRequires:  pkgconfig(bundle)
31 BuildRequires:  pkgconfig(pkgmgr-info)
32 BuildRequires:  pkgconfig(iniparser)
33 BuildRequires:  pkgconfig(libtzplatform-config)
34 BuildRequires:  pkgconfig(xdgmime)
35 BuildRequires:  pkgconfig(db-util)
36 BuildRequires:  pkgconfig(libsmack)
37 BuildRequires:  pkgconfig(libsystemd-daemon)
38 BuildRequires:  pkgconfig(minizip)
39 BuildRequires:  pkgmgr-info-parser-devel
40 BuildRequires:  pkgmgr-info-parser
41 BuildRequires:  fdupes
42
43 %description
44 Packager Manager client library package for packaging
45
46
47 %package client
48 Summary:    Package Manager client library develpoment package
49 Requires:   %{name} = %{version}-%{release}
50 Requires: shared-mime-info
51 Requires(post): pkgmgr
52
53 %description client
54 Package Manager client library develpoment package for packaging
55
56
57 %package client-devel
58 Summary:    Package Manager client library develpoment package
59 Requires:   %{name} = %{version}-%{release}
60 Requires: pkgmgr-client
61
62 %description client-devel
63 Package Manager client library develpoment package for packaging
64
65
66 %package installer
67 Summary:    Library for installer frontend/backend
68 Requires:   %{name} = %{version}-%{release}
69
70 %description installer
71 Library for installer frontend/backend for packaging.
72
73
74 %package installer-devel
75 Summary:    Dev package for libpkgmgr-installer
76 Requires:   %{name} = %{version}-%{release}
77 Requires:   pkgmgr-installer = %{version}-%{release}
78
79 %description installer-devel
80 Dev package for libpkgmgr-installer for packaging.
81
82
83 %package types-devel
84 Summary:    Package Manager manifest parser develpoment package
85 Requires:   %{name} = %{version}-%{release}
86
87 %description types-devel
88 Package Manager client types develpoment package for packaging
89
90 %prep
91 %setup -q
92 cp %{SOURCE1001} %{SOURCE1002} %{SOURCE1003} %{SOURCE1004} %{SOURCE1005} %{SOURCE1006} .
93
94 %build
95 MAJORVER=`echo %{version} | awk 'BEGIN {FS="."}{print $1}'`
96 %cmake . -DFULLVER=%{version} -DMAJORVER=${MAJORVER}
97
98 %__make %{?_smp_mflags}
99
100 %install
101 %make_install
102 rm -f  %{buildroot}%{_bindir}/pkgmgr_backend_sample
103 rm -f %{buildroot}%{_libdir}/libpkgmgr_backend_lib_sample.so
104 rm -f %{buildroot}%{_libdir}/libpkgmgr_parser_lib_sample.so
105
106 mkdir -p %{buildroot}%{_tmpfilesdir}/
107 install -m 0644 %{SOURCE1007} %{buildroot}%{_tmpfilesdir}/pkgmgr.conf
108
109 mkdir -p %{buildroot}%{_unitdir_user}/sockets.target.wants
110 install -m 0644 %{SOURCE1008} %{buildroot}%{_unitdir_user}/pkgmgr-installer-signal-agent.service
111 install -m 0644 %{SOURCE1009} %{buildroot}%{_unitdir_user}/pkgmgr-installer-signal-agent.socket
112 ln -sf ../alarm_session_agent.socket %{buildroot}%{_unitdir_user}/sockets.target.wants/pkgmgr-installer-signal-agent.socket
113
114 mkdir -p %{buildroot}%{_sysconfdir}/package-manager/backend
115 mkdir -p %{buildroot}%{_sysconfdir}/package-manager/backendlib
116 mkdir -p %{buildroot}%{_sysconfdir}/opt/upgrade
117
118 touch  %{buildroot}%{_sysconfdir}/package-manager/backend/default
119 chmod 755 %{buildroot}%{_sysconfdir}/package-manager/backend/default
120 touch  %{buildroot}%{_sysconfdir}/package-manager/backend/pkgtool
121 chmod 755 %{buildroot}%{_sysconfdir}/package-manager/backend/pkgtool
122
123
124 %fdupes %{buildroot}
125
126 %post
127 /sbin/ldconfig
128
129 # Create tizenglobalapp user needed for global installation
130 useradd %TZ_SYS_GLOBALAPP_USER -r -c "system user for common applications" -g root
131
132 # change owner of TZ_USER_APP (/etc/skel/apps_rw) to tizenglobalapp
133 saveHOME="$HOME"
134 HOME="%{_sysconfdir}/skel"
135 . "%{_sysconfdir}/tizen-platform.conf"
136
137 chown %TZ_SYS_GLOBALAPP_USER:root $TZ_USER_APP
138 HOME="$saveHOME"
139
140 %post -n pkgmgr-client -p /sbin/ldconfig
141
142 %postun -n pkgmgr-client -p /sbin/ldconfig
143
144 %post -n pkgmgr-installer -p /sbin/ldconfig
145
146 %postun -n pkgmgr-installer -p /sbin/ldconfig
147
148 %posttrans
149 if [ ! -f %{TZ_SYS_DB}/.pkgmgr_parser.db ]; then
150   pkg_initdb --ro
151   install_preload_pkg
152   if [ -f /tmp/.preload_install_error ]; then
153     if [ ! -d /tmp/.postscript/error ]; then
154       mkdir -p /tmp/.postscript/error
155     fi
156     echo "preload install failed" > /tmp/.postscript/error/%{name}_error
157   else
158     pkgcmd -l --global 1>&2
159   fi
160   %{_sysconfdir}/package-manager/pkgmgr-label-initial-image.sh
161 fi
162 rm -rf %{_sysconfdir}/package-manager/pkgmgr-label-initial-image.sh
163
164 %files
165 %manifest %{name}.manifest
166 %defattr(-,root,root,-)
167 %dir %{_sysconfdir}/package-manager/backend
168 %dir %{_sysconfdir}/package-manager/backendlib
169 %{_sysconfdir}/package-manager/backend/*
170 %{_tmpfilesdir}/pkgmgr.conf
171
172 %files client
173 %manifest %{name}-client.manifest
174 %license LICENSE
175 %defattr(-,root,root,-)
176 %dir %{_sysconfdir}/package-manager
177 %config %{_sysconfdir}/package-manager/pkg_path.conf
178 %{_libdir}/libpkgmgr-client.so.*
179
180 %files client-devel
181 %manifest %{name}-client-devel.manifest
182 %defattr(-,root,root,-)
183 %{_includedir}/*.h
184 %{_libdir}/pkgconfig/pkgmgr.pc
185 %{_libdir}/libpkgmgr-client.so
186
187 %files installer
188 %manifest %{name}-installer.manifest
189 %license LICENSE
190 %defattr(-,root,root,-)
191 %{_libdir}/libpkgmgr_installer.so.*
192 %{_bindir}/pkgmgr-installer-signal-agent
193 %{_unitdir_user}/pkgmgr-installer-signal-agent.service
194 %{_unitdir_user}/pkgmgr-installer-signal-agent.socket
195 %{_unitdir_user}/sockets.target.wants/pkgmgr-installer-signal-agent.socket
196
197 %files installer-devel
198 %manifest %{name}-installer-devel.manifest
199 %defattr(-,root,root,-)
200 %dir %{_includedir}/pkgmgr
201 %{_includedir}/pkgmgr/*.h
202 %{_libdir}/pkgconfig/pkgmgr-installer.pc
203 %{_libdir}/libpkgmgr_installer.so
204
205 %files types-devel
206 %manifest %{name}-types-devel.manifest
207 %defattr(-,root,root,-)
208 %{_includedir}/package-manager-*.h
209 %{_libdir}/pkgconfig/pkgmgr-types.pc