Add dumpsys-common requirement to the dumpsys package
[platform/core/system/dumpsys.git] / packaging / dumpsys.spec
1 %define on_off() %{expand:%%{?with_%{1}:ON}%%{!?with_%{1}:OFF}}
2
3 %define _with_tests on
4 %bcond_with tests
5
6 Name:       dumpsys
7 Summary:    Dumpsys is a framework to get logs from services and applications.
8 Version:    2.0.7
9 Release:    1
10 Group:      Framework/system
11 License:    Apache-2.0
12 Source0:    %{name}-%{version}.tar.gz
13 Source1001:    dumpsys.manifest
14 BuildRequires:  pkgconfig(glib-2.0)
15 BuildRequires:  pkgconfig(dlog)
16 BuildRequires:  cmake
17 Requires:       dumpsys-common
18
19 %description
20 This package provides dumpsys utility and libraries to allow collecting logs from services and applications.
21
22 %package -n dumpsys-common
23 Summary: DBus policy config files
24 %description -n dumpsys-common
25
26 %package -n dumpsys-devel
27 Summary: dumpsys development package.
28 Requires: dumpsys
29 %description -n dumpsys-devel
30 This package provides library and header files.
31
32 %package -n libdumpsys-system
33 Summary: Package with dumpsys API library for services.
34 Requires: dumpsys-common
35 %description -n libdumpsys-system
36 This package provides dumpsys API library for services.
37
38 %package -n libdumpsys-system-devel
39 Requires: libdumpsys-system
40 Summary: libdumpsys-system development package.
41 %description -n libdumpsys-system-devel
42 This package provides library and header files.
43
44 %package -n libdumpsys-user
45 Summary: Package with dumpsys API library for services.
46 Requires: dumpsys-common
47 BuildRequires: pkgconfig(pkgmgr-info)
48 %description -n libdumpsys-user
49 This package provides dumpsys API library for services.
50
51 %package -n libdumpsys-user-devel
52 Requires: libdumpsys-user
53 Summary: libdumpsys-user development package.
54 %description -n libdumpsys-user-devel
55 This package provides library and header files.
56
57 %if %{with tests}
58 %package tests
59 Summary: Contains scripts for testing dumpsys
60 BuildRequires:  pkgconfig(glib-2.0)
61 BuildRequires:  pkgconfig(dlog)
62 BuildRequires:  cmocka-devel cmocka
63 BuildRequires:  lcov
64 %description tests
65 %endif
66
67 %prep
68 %setup -q
69
70 %build
71 cp %{SOURCE1001} .
72 export CFLAGS+=" -Werror -fvisibility=hidden"
73
74 %cmake . \
75     -DVERSION=%{version} \
76     -DTESTS=%{on_off tests} \
77     -DDUMPSYS_SYSTEM_TESTS_PATH=%{_libdir}/dumpsys_system_tests/ \
78     -DDUMPSYS_TESTS_PATH=%{_libdir}/dumpsys_unit_tests/
79
80 make %{?jobs:-j%jobs}
81
82 %if %{with tests}
83 make coverage
84 %endif
85
86 %install
87 rm -rf %{buildroot}
88 %make_install
89
90 mkdir -p %{buildroot}/%{_unitdir}/basic.target.wants/
91 ln -s ../dumpsys-service.service %{buildroot}/%{_unitdir}/basic.target.wants/dumpsys-service.service
92
93 %files
94 %license LICENSE
95 %manifest %{name}.manifest
96
97 %defattr(0755,root,root)
98 %{_bindir}/dumpsys
99 %{_libdir}/libdumpsys.so.*
100 %{_bindir}/dumpsys-service
101
102 %defattr(0644,root,root)
103 %{_unitdir}/basic.target.wants/dumpsys-service.service
104 %{_unitdir}/dumpsys-service.service
105 %{_libdir}/tmpfiles.d/dumpsys-run.conf
106
107 %files -n dumpsys-common
108 %manifest %{name}.manifest
109 %defattr(0644,root,root)
110 %{_sysconfdir}/dbus-1/system.d/dumpsys-service.conf
111
112 %files -n dumpsys-devel
113 %manifest %{name}.manifest
114 %{_includedir}/libdumpsys.h
115 %{_libdir}/libdumpsys.so
116 %{_libdir}/pkgconfig/dumpsys.pc
117
118 %files -n libdumpsys-system
119 %manifest %{name}.manifest
120 %{_libdir}/libdumpsys-system.so.*
121
122 %files -n libdumpsys-system-devel
123 %manifest %{name}.manifest
124 %{_includedir}/dumpsys-system.h
125 %{_libdir}/libdumpsys-system.so
126 %{_libdir}/pkgconfig/dumpsys-system.pc
127
128 %files -n libdumpsys-user
129 %manifest %{name}.manifest
130 %{_libdir}/libdumpsys-user.so.*
131
132 %files -n libdumpsys-user-devel
133 %manifest %{name}.manifest
134 %{_includedir}/dumpsys-user.h
135 %{_libdir}/libdumpsys-user.so
136 %{_libdir}/pkgconfig/dumpsys-user.pc
137
138 %if %{with tests}
139 %files tests
140 %manifest %{name}.manifest
141 %defattr(0755,root,root)
142 %{_libdir}/dumpsys_system_tests/utils/dumpsys-utils.sh
143 %{_libdir}/dumpsys_system_tests/utils/test-app
144 %{_libdir}/dumpsys_system_tests/run.sh
145 %{_libdir}/dumpsys_system_tests/dumpsys_system/dumpsys_system.sh
146 %{_libdir}/dumpsys_system_tests/dumpsys_notfound/dumpsys_notfound.sh
147 %{_libdir}/dumpsys_unit_tests/test_libdumpsys
148 %{_libdir}/dumpsys_unit_tests/test_dumpsys_service
149 %{_libdir}/dumpsys_unit_tests/test_dumpsys_client_user_api
150 %{_libdir}/dumpsys_unit_tests/test_dumpsys_client_system_api
151 %endif