BuildRequires: pkgconfig(capi-base-common)
BuildRequires: pkgconfig(libudev)
BuildRequires: pkgconfig(libtzplatform-config)
+BuildRequires: pkgconfig(libsystemd)
Requires(post): coreutils
Requires(post): /usr/bin/systemctl
Requires(postun): /usr/bin/systemctl
install -m 0644 configs/dlog.conf.kmsg %{buildroot}%{TZ_SYS_ETC}/dlog.conf.kmsg
install -m 0644 configs/dlog.conf.logger %{buildroot}%{TZ_SYS_ETC}/dlog.conf.logger
-mkdir -p %{buildroot}%{_unitdir}/multi-user.target.wants/
+mkdir -p %{buildroot}%{_unitdir}/basic.target.wants/
install -m 0644 %SOURCE301 %{buildroot}%{_unitdir}
install -m 0644 %SOURCE302 %{buildroot}%{_unitdir}/dlog_logger.path
-ln -s ../dlog_logger.service %{buildroot}%{_unitdir}/multi-user.target.wants/dlog_logger.service
+ln -s ../dlog_logger.service %{buildroot}%{_unitdir}/basic.target.wants/dlog_logger.service
mkdir -p %{buildroot}%{_unitdir}/sysinit.target.wants/
install -m 0644 %SOURCE401 %{buildroot}%{_unitdir}
%attr(664,log,log) %{TZ_SYS_ETC}/dlog.conf.pipe
%attr(755,log,log) /var/log/dlog
%attr(750,log,log) %{_bindir}/dlog_logger
-%{_unitdir}/multi-user.target.wants/dlog_logger.service
+%{_unitdir}/basic.target.wants/dlog_logger.service
%{_unitdir}/dlog_logger.service
%{_unitdir}/dlog_logger.path
%attr(664,log,log) /usr/lib/tmpfiles.d/dlog-run.conf
[Unit]
-Description=Dumps dlog logs onto disk
+Description=dlog logging service
+After=dloginit.service systemd-tmpfiles-setup.service local-fs.target
+Before=basic.target
+DefaultDependencies=no
[Service]
# Needed for access to /dev/kmsg, the daemon drops its privileges to log,log on its own after that
User=root
Group=root
-
# the line below prevents logger from repeatedly statting /etc/localtime each time it wanted a timestamp, increasing performance.
+Type=notify
Environment=TZ=:/etc/localtime
SmackProcessLabel=System::Privileged
ExecStart=/usr/bin/dlog_logger -b 99 -t 600
Restart=always
[Install]
-WantedBy=multi-user.target
+WantedBy=basic.target
#include <logpipe.h>
#include <log_file.h>
#include <logconfig.h>
+#include <systemd/sd-daemon.h>
#define LIST_FOREACH(head, i) \
for ((i) = (head); i; (i) = (i)->next)
return r;
}
+ sd_notify(0, "READY=1");
+
reset_self_privileges();
r = logger_parse_configs(server, &config);