91b6baf2ad75d4987e18e75eba9f8c053a23918b
[platform/core/system/dlog.git] / packaging / dlog.spec
1 Name:       dlog
2 Summary:    Logging service
3 Version:    0.6
4 Release:    1
5 Group:      System/Libraries
6 License:    Apache-2.0
7 Source0:    %{name}-%{version}.tar.gz
8 Source101:  packaging/dlogutil.manifest
9 Source102:  packaging/libdlog.manifest
10 Source103:      packaging/dlogbackend-kmsg.manifest
11 Source104:      packaging/dlogbackend-logger.manifest
12 Source301:  packaging/dlog_logger.service
13 Source302:  packaging/dlog_logger.path
14 Source401:  packaging/dloginit.service
15 Source501:  packaging/01-dlog.rules
16
17 %define upgrade_file_path /usr/share/upgrade
18
19 BuildRequires: autoconf
20 BuildRequires: automake
21 BuildRequires: libtool
22 BuildRequires: pkgconfig(capi-base-common)
23 BuildRequires: pkgconfig(libudev)
24 BuildRequires: pkgconfig(libtzplatform-config)
25 BuildRequires: pkgconfig(libsystemd)
26 Requires(post): coreutils
27 Requires(post): /usr/bin/systemctl
28 Requires(postun): /usr/bin/systemctl
29 Requires(preun): /usr/bin/systemctl
30
31 %description
32 dlog API library
33
34 %package -n libdlog
35 Summary:    Logging service dlog API
36 Group:      Development/Libraries
37 Requires(post): /usr/bin/chsmack
38 Requires(post): coreutils
39
40 %description -n libdlog
41 dlog API library. If dlogbackend isn't installed, pipe backend is selected.
42
43 %package -n libdlog-devel
44 Summary:    Logging service dlog API
45 Group:      Development/Libraries
46 Requires:   lib%{name} = %{?epoch:%{epoch}:}%{version}-%{release}
47
48 %description -n libdlog-devel
49 dlog API library
50
51 %package -n dlogbackend-kmsg
52 Summary:        kmsg backend selection for dlog
53 Requires:       lib%{name} = %{?epoch:%{epoch}:}%{version}-%{release}
54 Requires(post): coreutils
55 Conflicts:      dlogbackend-logger
56
57 %description -n dlogbackend-kmsg
58 Change dlog backend to kmsg backend. Require kernel support (multiple kmsg)
59
60 %package -n dlogbackend-logger
61 Summary:        Android-logger backend selection for dlog
62 Requires:       lib%{name} = %{?epoch:%{epoch}:}%{version}-%{release}
63 Requires(post): coreutils
64 Conflicts:      dlogbackend-kmsg
65
66 %description -n dlogbackend-logger
67 Change dlog backend to logger backend. Require kernel support (Android-logger)
68
69 %package -n dlogutil
70 Summary:    print log data to the screen
71 Group:      Development/Libraries
72 Requires:   lib%{name} = %{?epoch:%{epoch}:}%{version}-%{release}
73 Requires(post): /usr/bin/systemctl
74 Requires(postun): /usr/bin/systemctl
75 Requires(preun): /usr/bin/systemctl
76
77 %description -n dlogutil
78 Utilities for print log data
79
80
81 %prep
82 %setup -q
83
84 %build
85
86 cp %{SOURCE101} .
87 cp %{SOURCE102} .
88 cp %{SOURCE103} .
89 cp %{SOURCE104} .
90 %autogen --disable-static
91 %configure --disable-static \
92                         TZ_SYS_ETC=%{TZ_SYS_ETC}
93 make %{?jobs:-j%jobs} \
94         CFLAGS+=-DTZ_SYS_ETC=\\\"%{TZ_SYS_ETC}\\\"
95
96 make check
97
98 %install
99 rm -rf %{buildroot}
100
101 %make_install
102 mkdir -p %{buildroot}/usr/bin/
103
104 mkdir -p %{buildroot}%{TZ_SYS_ETC}
105 install -m 0644 configs/dlog.conf.pipe %{buildroot}%{TZ_SYS_ETC}/dlog.conf.pipe
106 install -m 0644 configs/dlog.conf.kmsg %{buildroot}%{TZ_SYS_ETC}/dlog.conf.kmsg
107 install -m 0644 configs/dlog.conf.logger %{buildroot}%{TZ_SYS_ETC}/dlog.conf.logger
108
109 mkdir -p %{buildroot}%{_unitdir}/basic.target.wants/
110 install -m 0644 %SOURCE301 %{buildroot}%{_unitdir}
111
112 install -m 0644 %SOURCE302 %{buildroot}%{_unitdir}/dlog_logger.path
113 ln -s ../dlog_logger.service %{buildroot}%{_unitdir}/basic.target.wants/dlog_logger.service
114
115 mkdir -p %{buildroot}%{_unitdir}/sysinit.target.wants/
116 install -m 0644 %SOURCE401 %{buildroot}%{_unitdir}
117 ln -s ../dloginit.service %{buildroot}%{_unitdir}/sysinit.target.wants/dloginit.service
118
119 mkdir -p %{buildroot}%{_udevrulesdir}
120 install -m 0644 %SOURCE501 %{buildroot}%{_udevrulesdir}/01-dlog.rules
121
122 mkdir -p %{buildroot}/usr/share/license
123 cp LICENSE.Apache-2.0 %{buildroot}/usr/share/license/%{name}
124 cp LICENSE.Apache-2.0 %{buildroot}/usr/share/license/libdlog
125 cp LICENSE.Apache-2.0 %{buildroot}/usr/share/license/dlogutil
126
127 mkdir -p %{buildroot}/var/log/dlog
128
129 install -D scripts/210.dlog_upgrade.sh %{buildroot}%{upgrade_file_path}/scripts/210.dlog_upgrade.sh
130 mkdir -p %{buildroot}%{upgrade_file_path}/data
131 install -m 0644 configs/dlog.conf.pipe %{buildroot}%{upgrade_file_path}/data/dlog.conf.pipe
132 install -m 0644 configs/dlog.conf.kmsg %{buildroot}%{upgrade_file_path}/data/dlog.conf.kmsg
133 install -m 0644 configs/dlog.conf.logger %{buildroot}%{upgrade_file_path}/data/dlog.conf.logger
134
135 %post
136 systemctl daemon-reload
137
138 %post -n dlogutil
139 systemctl daemon-reload
140
141 %postun -n dlogutil
142 systemctl daemon-reload
143
144 %post -n libdlog
145 /sbin/ldconfig
146 chsmack -a System /var/log/dlog
147 ln -s %{TZ_SYS_ETC}/dlog.conf.pipe %{TZ_SYS_ETC}/dlog.conf
148 ln %{upgrade_file_path}/data/dlog.conf.pipe %{upgrade_file_path}/data/dlog.conf
149
150 %postun -n libdlog
151 /sbin/ldconfig
152 rm %{TZ_SYS_ETC}/dlog.conf
153 rm %{upgrade_file_path}/data/dlog.conf
154
155 %pre -n dlogbackend-kmsg
156 rm %{TZ_SYS_ETC}/dlog.conf
157 rm %{upgrade_file_path}/data/dlog.conf
158
159 %post -n dlogbackend-kmsg
160 ln -s %{TZ_SYS_ETC}/dlog.conf.kmsg %{TZ_SYS_ETC}/dlog.conf
161 ln %{upgrade_file_path}/data/dlog.conf.kmsg %{upgrade_file_path}/data/dlog.conf
162
163 %postun -n dlogbackend-kmsg
164 rm %{TZ_SYS_ETC}/dlog.conf
165 ln -s %{TZ_SYS_ETC}/dlog.conf.pipe %{TZ_SYS_ETC}/dlog.conf
166 rm %{upgrade_file_path}/data/dlog.conf
167 ln %{upgrade_file_path}/data/dlog.conf.pipe %{upgrade_file_path}/data/dlog.conf
168
169 %pre -n dlogbackend-logger
170 rm %{TZ_SYS_ETC}/dlog.conf
171 rm %{upgrade_file_path}/data/dlog.conf
172
173 %post -n dlogbackend-logger
174 ln -s %{TZ_SYS_ETC}/dlog.conf.logger %{TZ_SYS_ETC}/dlog.conf
175 ln %{upgrade_file_path}/data/dlog.conf.logger %{upgrade_file_path}/data/dlog.conf
176
177 %postun -n dlogbackend-logger
178 rm %{TZ_SYS_ETC}/dlog.conf
179 ln -s %{TZ_SYS_ETC}/dlog.conf.pipe %{TZ_SYS_ETC}/dlog.conf
180 rm %{upgrade_file_path}/data/dlog.conf
181 ln %{upgrade_file_path}/data/dlog.conf.pipe %{upgrade_file_path}/data/dlog.conf
182
183 %files  -n dlogutil
184 %manifest dlogutil.manifest
185 /usr/share/license/dlogutil
186 %attr(750,log,log) %{_bindir}/dlogutil
187 %attr(755,log,log) %{_bindir}/dlogctrl
188
189 %files  -n libdlog
190 %manifest libdlog.manifest
191 /usr/share/license/%{name}
192 /usr/share/license/libdlog
193 %{_libdir}/libdlog.so.0
194 %{_libdir}/libdlog.so.0.0.0
195 %attr(664,log,log) %{TZ_SYS_ETC}/dlog.conf.pipe
196 %attr(755,log,log) /var/log/dlog
197 %attr(750,log,log) %{_bindir}/dlog_logger
198 %{_unitdir}/basic.target.wants/dlog_logger.service
199 %{_unitdir}/dlog_logger.service
200 %{_unitdir}/dlog_logger.path
201 %attr(664,log,log) /usr/lib/tmpfiles.d/dlog-run.conf
202 %{_udevrulesdir}/01-dlog.rules
203 # For upgrade
204 %{upgrade_file_path}/scripts/210.dlog_upgrade.sh
205 %{upgrade_file_path}/data/dlog.conf.pipe
206
207 %files -n libdlog-devel
208 %{_includedir}/dlog/dlog.h
209 %{_includedir}/dlog/dlog-internal.h
210 %{_libdir}/pkgconfig/dlog.pc
211 %{_libdir}/libdlog.so
212
213 %files -n dlogbackend-kmsg
214 %manifest dlogbackend-kmsg.manifest
215 %attr(664,log,log) %{TZ_SYS_ETC}/dlog.conf.kmsg
216 %attr(700,log,log) %{_sbindir}/dloginit
217 %attr(-,log,log) %{_unitdir}/dloginit.service
218 %{_unitdir}/sysinit.target.wants/dloginit.service
219 # For upgrade
220 %{upgrade_file_path}/data/dlog.conf.kmsg
221
222 %files -n dlogbackend-logger
223 %manifest dlogbackend-logger.manifest
224 %attr(664,log,log) %{TZ_SYS_ETC}/dlog.conf.logger
225 # For upgrade
226 %{upgrade_file_path}/data/dlog.conf.logger