Set proper executable bits
[platform/core/system/dlog.git] / packaging / dlog.spec
1 Name:       dlog
2 Summary:    Logging service
3 Version:    0.5.1
4 Release:    2
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                         --enable-debug_mode \
93                         TZ_SYS_ETC=%{TZ_SYS_ETC}
94 make %{?jobs:-j%jobs} \
95         CFLAGS+=-DTZ_SYS_ETC=\\\"%{TZ_SYS_ETC}\\\"
96
97 make check
98
99 %install
100 rm -rf %{buildroot}
101
102 %make_install
103 mkdir -p %{buildroot}/usr/bin/
104
105 mkdir -p %{buildroot}%{TZ_SYS_ETC}
106 install -m 0644 configs/dlog.conf.pipe %{buildroot}%{TZ_SYS_ETC}/dlog.conf.pipe
107 install -m 0644 configs/dlog.conf.kmsg %{buildroot}%{TZ_SYS_ETC}/dlog.conf.kmsg
108 install -m 0644 configs/dlog.conf.logger %{buildroot}%{TZ_SYS_ETC}/dlog.conf.logger
109
110 mkdir -p %{buildroot}%{_unitdir}/basic.target.wants/
111 install -m 0644 %SOURCE301 %{buildroot}%{_unitdir}
112
113 install -m 0644 %SOURCE302 %{buildroot}%{_unitdir}/dlog_logger.path
114 ln -s ../dlog_logger.service %{buildroot}%{_unitdir}/basic.target.wants/dlog_logger.service
115
116 mkdir -p %{buildroot}%{_unitdir}/sysinit.target.wants/
117 install -m 0644 %SOURCE401 %{buildroot}%{_unitdir}
118 ln -s ../dloginit.service %{buildroot}%{_unitdir}/sysinit.target.wants/dloginit.service
119
120 mkdir -p %{buildroot}%{_udevrulesdir}
121 install -m 0644 %SOURCE501 %{buildroot}%{_udevrulesdir}/01-dlog.rules
122
123 mkdir -p %{buildroot}/usr/share/license
124 cp LICENSE.Apache-2.0 %{buildroot}/usr/share/license/%{name}
125 cp LICENSE.Apache-2.0 %{buildroot}/usr/share/license/libdlog
126 cp LICENSE.Apache-2.0 %{buildroot}/usr/share/license/dlogutil
127
128 mkdir -p %{buildroot}/var/log/dlog
129
130 install -D scripts/dlog_upgrade.sh %{buildroot}%{upgrade_file_path}/scripts/dlog_upgrade.sh
131 mkdir -p %{buildroot}%{upgrade_file_path}/data
132 install -m 0644 configs/dlog.conf.pipe %{buildroot}%{upgrade_file_path}/data/dlog.conf.pipe
133 install -m 0644 configs/dlog.conf.kmsg %{buildroot}%{upgrade_file_path}/data/dlog.conf.kmsg
134 install -m 0644 configs/dlog.conf.logger %{buildroot}%{upgrade_file_path}/data/dlog.conf.logger
135
136 %post
137 systemctl daemon-reload
138
139 %post -n dlogutil
140 systemctl daemon-reload
141
142 %postun -n dlogutil
143 systemctl daemon-reload
144
145 %post -n libdlog
146 /sbin/ldconfig
147 chsmack -a System /var/log/dlog
148 ln -s %{TZ_SYS_ETC}/dlog.conf.pipe %{TZ_SYS_ETC}/dlog.conf
149 ln %{upgrade_file_path}/data/dlog.conf.pipe %{upgrade_file_path}/data/dlog.conf
150
151 %postun -n libdlog
152 /sbin/ldconfig
153 rm %{TZ_SYS_ETC}/dlog.conf
154 rm %{upgrade_file_path}/data/dlog.conf
155
156 %pre -n dlogbackend-kmsg
157 rm %{TZ_SYS_ETC}/dlog.conf
158 rm %{upgrade_file_path}/data/dlog.conf
159
160 %post -n dlogbackend-kmsg
161 ln -s %{TZ_SYS_ETC}/dlog.conf.kmsg %{TZ_SYS_ETC}/dlog.conf
162 ln %{upgrade_file_path}/data/dlog.conf.kmsg %{upgrade_file_path}/data/dlog.conf
163
164 %postun -n dlogbackend-kmsg
165 rm %{TZ_SYS_ETC}/dlog.conf
166 ln -s %{TZ_SYS_ETC}/dlog.conf.pipe %{TZ_SYS_ETC}/dlog.conf
167 rm %{upgrade_file_path}/data/dlog.conf
168 ln %{upgrade_file_path}/data/dlog.conf.pipe %{upgrade_file_path}/data/dlog.conf
169
170 %pre -n dlogbackend-logger
171 rm %{TZ_SYS_ETC}/dlog.conf
172 rm %{upgrade_file_path}/data/dlog.conf
173
174 %post -n dlogbackend-logger
175 ln -s %{TZ_SYS_ETC}/dlog.conf.logger %{TZ_SYS_ETC}/dlog.conf
176 ln %{upgrade_file_path}/data/dlog.conf.logger %{upgrade_file_path}/data/dlog.conf
177
178 %postun -n dlogbackend-logger
179 rm %{TZ_SYS_ETC}/dlog.conf
180 ln -s %{TZ_SYS_ETC}/dlog.conf.pipe %{TZ_SYS_ETC}/dlog.conf
181 rm %{upgrade_file_path}/data/dlog.conf
182 ln %{upgrade_file_path}/data/dlog.conf.pipe %{upgrade_file_path}/data/dlog.conf
183
184 %files  -n dlogutil
185 %manifest dlogutil.manifest
186 /usr/share/license/dlogutil
187 %attr(750,log,log) %{_bindir}/dlogutil
188 %attr(755,log,log) %{_bindir}/dlogctrl
189
190 %files  -n libdlog
191 %manifest libdlog.manifest
192 /usr/share/license/%{name}
193 /usr/share/license/libdlog
194 %{_libdir}/libdlog.so.0
195 %{_libdir}/libdlog.so.0.0.0
196 %attr(664,log,log) %{TZ_SYS_ETC}/dlog.conf.pipe
197 %attr(755,log,log) /var/log/dlog
198 %attr(750,log,log) %{_bindir}/dlog_logger
199 %{_unitdir}/basic.target.wants/dlog_logger.service
200 %{_unitdir}/dlog_logger.service
201 %{_unitdir}/dlog_logger.path
202 %attr(664,log,log) /usr/lib/tmpfiles.d/dlog-run.conf
203 %{_udevrulesdir}/01-dlog.rules
204 # For upgrade
205 %{upgrade_file_path}/scripts/dlog_upgrade.sh
206 %{upgrade_file_path}/data/dlog.conf.pipe
207
208 %files -n libdlog-devel
209 %{_includedir}/dlog/dlog.h
210 %{_includedir}/dlog/dlog-internal.h
211 %{_libdir}/pkgconfig/dlog.pc
212 %{_libdir}/libdlog.so
213
214 %files -n dlogbackend-kmsg
215 %manifest dlogbackend-kmsg.manifest
216 %attr(664,log,log) %{TZ_SYS_ETC}/dlog.conf.kmsg
217 %attr(700,log,log) %{_sbindir}/dloginit
218 %attr(-,log,log) %{_unitdir}/dloginit.service
219 %{_unitdir}/sysinit.target.wants/dloginit.service
220 # For upgrade
221 %{upgrade_file_path}/data/dlog.conf.kmsg
222
223 %files -n dlogbackend-logger
224 %manifest dlogbackend-logger.manifest
225 %attr(664,log,log) %{TZ_SYS_ETC}/dlog.conf.logger
226 # For upgrade
227 %{upgrade_file_path}/data/dlog.conf.logger