Release version 1.0.0
[platform/core/appfw/pkgmgr-info.git] / packaging / pkgmgr-info.spec
1 Name:       pkgmgr-info
2 Summary:    Packager Manager infomation api for package
3 Version:    1.0.0
4 Release:    1
5 Group:      Application Framework/Package Management
6 License:    Apache-2.0
7 Source0:    %{name}-%{version}.tar.gz
8 Source1:    %{name}.service
9 Source2:    %{name}.socket
10 Source1001: pkgmgr-info.manifest
11 BuildRequires: cmake
12 BuildRequires: pkgconfig(dlog)
13 BuildRequires: pkgconfig(glib-2.0)
14 BuildRequires: pkgconfig(gio-2.0)
15 BuildRequires: pkgconfig(gio-unix-2.0)
16 BuildRequires: pkgconfig(vconf)
17 BuildRequires: pkgconfig(sqlite3)
18 BuildRequires: pkgconfig(libxml-2.0)
19 BuildRequires: pkgconfig(libtzplatform-config)
20 BuildRequires: pkgconfig(libsmack)
21 BuildRequires: pkgconfig(bundle)
22 BuildRequires: pkgconfig(capi-system-info)
23 BuildRequires: pkgconfig(minizip)
24 BuildRequires: pkgconfig(libsystemd)
25 BuildRequires: pkgconfig(gmock)
26 BuildRequires: pkgconfig(parcel)
27
28 %if 0%{?gcov:1}
29 BuildRequires:  lcov
30 BuildRequires:  zip
31 %endif
32
33 %description
34 Packager Manager infomation api for packaging
35
36 %package devel
37 Summary:    Packager Manager infomation api (devel)
38 Requires:   %{name} = %{version}-%{release}
39 %description devel
40 Packager Manager infomation api (devel)
41
42 %package parser
43 Summary:    Library for manifest parser
44 Requires:   %{name} = %{version}-%{release}
45
46 %description parser
47 Library for manifest parser
48
49 %package parser-devel
50 Summary:    Dev package for libpkgmgr-parser
51 Requires:   %{name}-parser = %{version}-%{release}
52 Requires:       pkgconfig(libtzplatform-config)
53
54 %description parser-devel
55 Dev package for libpkgmgr-parser
56
57 %package common
58 Summary:    Library for pkgmgr-info-server
59 Requires:   %{name} = %{version}-%{release}
60 Requires:   pkgconfig(libsystemd)
61
62 %description common
63 Library for pkgmgr-info-server
64
65 %package common-devel
66 Summary:    Dev package for libpkgmgr_common
67 Requires:   %{name}-common = %{version}-%{release}
68
69 %description common-devel
70 Dev package for libpkgmgr_common
71
72 %prep
73 %setup -q
74 cp %{SOURCE1001} .
75
76 %build
77 %if 0%{?gcov:1}
78 export CFLAGS+=" -fprofile-arcs -ftest-coverage"
79 export CXXFLAGS+=" -fprofile-arcs -ftest-coverage"
80 export FFLAGS+=" -fprofile-arcs -ftest-coverage"
81 export LDFLAGS+=" -lgcov"
82 %endif
83
84 MAJORVER=`echo %{version} | awk 'BEGIN {FS="."}{print $1}'`
85 %cmake . -DFULLVER=%{version} -DMAJORVER=${MAJORVER} -DUNITDIR=%{_unitdir}
86
87 %__make %{?jobs:-j%jobs}
88
89 %if 0%{?gcov:1}
90 mkdir -p gcov-obj
91 find . -name '*.gcno' ! -path './gcov-obj/*' -exec cp '{}' gcov-obj ';'
92 %endif
93
94 %check
95 export LD_LIBRARY_PATH=../../src/:../../src/server:../../parser
96 ctest -V
97 %if 0%{?gcov:1}
98 lcov -c --ignore-errors graph --no-external -q -d . -o pkgmgr-info.info
99 genhtml pkgmgr-info.info -o pkgmgr-info.out
100 zip -r pkgmgr-info.zip pkgmgr-info.out
101 install -m 0644 pkgmgr-info.zip %{buildroot}%{_datadir}/gcov/
102 %endif
103
104 %install
105 %make_install
106
107 mkdir -p %{buildroot}%{_unitdir}/basic.target.wants
108 ln -sf ../pkg-db-recovery.service %{buildroot}%{_unitdir}/basic.target.wants/pkg-db-recovery.service
109
110 mkdir -p %{buildroot}%{_unitdir}/default.target.wants
111 mkdir -p %{buildroot}%{_unitdir}/sockets.target.wants
112 install -m 0644 %SOURCE1 %{buildroot}%{_unitdir}/%{name}.service
113 install -m 0644 %SOURCE2 %{buildroot}%{_unitdir}/%{name}.socket
114 ln -s ../%{name}.service %{buildroot}%{_unitdir}/default.target.wants/%{name}.service
115 ln -sf ../%{name}.socket %{buildroot}%{_unitdir}/sockets.target.wants/%{name}.socket
116
117 %if 0%{?gcov:1}
118 mkdir -p %{buildroot}%{_datadir}/gcov/obj
119 install -m 0644 gcov-obj/* %{buildroot}%{_datadir}/gcov/obj
120 %endif
121
122 %post
123 /sbin/ldconfig
124
125 %postun -p /sbin/ldconfig
126
127 %post -n pkgmgr-info-parser -p /sbin/ldconfig
128
129 %postun  -n pkgmgr-info-parser -p /sbin/ldconfig
130
131 %files
132 %manifest %{name}.manifest
133 %license LICENSE
134 %defattr(-,root,root,-)
135 %{_libdir}/libpkgmgr-info.so.*
136 %{_bindir}/pkg-db-recovery
137 %{_bindir}/pkg-db-creator
138 %{_bindir}/pkginfo-server
139 %{_unitdir}/pkg-db-recovery.service
140 %{_unitdir}/basic.target.wants/pkg-db-recovery.service
141 %{_includedir}/pkgmgr-client/*.hh
142 %{_unitdir}/default.target.wants/%{name}.service
143 %{_unitdir}/sockets.target.wants/%{name}.socket
144 %attr(0644,root,root) /usr/lib/systemd/system/%{name}.service
145 %attr(0644,root,root) /usr/lib/systemd/system/%{name}.socket
146
147 %files devel
148 %manifest %{name}.manifest
149 %defattr(-,root,root,-)
150 %{_includedir}/*.h
151 %{_libdir}/pkgconfig/pkgmgr-info.pc
152 %{_libdir}/libpkgmgr-info.so
153 %{_includedir}/pkgmgr-client/*.hh
154 %{_includedir}/pkgmgr-common/*.hh
155
156 %files parser
157 %manifest %{name}.manifest
158 %license LICENSE
159 %defattr(-,root,root,-)
160 %{_libdir}/libpkgmgr_parser.so.*
161 %config %{_sysconfdir}/package-manager/preload/manifest.xsd
162 %config %{_sysconfdir}/package-manager/preload/xml.xsd
163 %config %{_sysconfdir}/package-manager/parserlib/metadata/mdparser_list.txt
164 %config %{_sysconfdir}/package-manager/parserlib/category/category_parser_list.txt
165 %config %{_sysconfdir}/package-manager/parserlib/tag_parser_list.txt
166 %config %{_sysconfdir}/package-manager/pkg_db_version.txt
167
168 %files parser-devel
169 %manifest %{name}.manifest
170 %defattr(-,root,root,-)
171 %{_includedir}/pkgmgr/*.h
172 %{_libdir}/pkgconfig/pkgmgr-parser.pc
173 %{_libdir}/libpkgmgr_parser.so
174
175 #################################################
176 # pkgmgr-info-gcov
177 #################################################
178 %if 0%{?gcov:1}
179 %package gcov
180 Summary:    Packager Manager information api (gcov)
181 Group:      Application Framework/Testing
182
183 %description gcov
184 Packager Manager information api gcov objects
185 %endif
186
187 %if 0%{?gcov:1}
188 %files gcov
189 %defattr(-,root,root,-)
190 %{_datadir}/gcov/*
191 %endif