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