# # spec file for package blog # # Copyright (c) 2021 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via https://bugs.opensuse.org/ # Name: blog Version: 2.20 %define sonum 2 Release: 2.2 Summary: Boot logging License: GPL-2.0-or-later Group: System/Base URL: https://github.com/bitstreamout/showconsole Source: https://github.com/bitstreamout/showconsole/archive/v%{version}.tar.gz#/showconsole-%{version}.tar.gz Source1: blog-rpmlintrc BuildRequires: suse-module-tools Requires(post): coreutils BuildRoot: %{_tmppath}/%{name}-%{version}-build Provides: sysvinit-tools:/sbin/blogd %description The blogd daemon determines the real underlying character device of /dev/console. Blogd spawns a pty/tty pair to reconnect the current /dev/console with the slave of the pty/tty pair. During writing information from this slave to the real character device a ring buffer is used to hold the information for writing it to an existing logging file. %package -n libblogger%{sonum} Summary: FIFO interface used by startproc Group: System/Libraries %if %sonum == 2 Provides: %{name}:%{_libdir}/libblogger.so.2 %endif %description -n libblogger%{sonum} The libaray for the FIFO interface used by the LSB startproc command. %package plymouth Summary: Replaces plymouth by blogd Group: System/Base Requires: blog Requires: systemd Conflicts: plymouth Conflicts: plymouth-dracut %description plymouth The Blogd daemon can be used as a replacement for Plymouth in situations where a splash screen and/or usage of a frame buffer is unwanted. The Blogd is also a Plymouth agent. That means, it can handle requests for a password prompt by the system password service of systemd. The blogd daemon writes out boot log messages to every terminal device used by /dev/console and to the log file /var/log/boot.log. When halting or rebooting the system, it moves the log file to /var/log/boot.old and appends all log messages upto to point at which the file systems becomes unavailable. %package devel Summary: Provides library and header for boot logging Group: Development/Libraries/C and C++ Requires: libblogger%{sonum} = %{version} %description devel The libaray and the header file for the FIFO interface used to build the LSB startproc command. %prep %setup -q -n showconsole-%version %build make %{?_smp_mflags} CC="%__cc" \ LIBDIR=%{_libdir} \ INCDIR=%{_includedir} \ SYSDUNITS=%{_unitdir} \ BOOT_LOGFILE=%{_localstatedir}/log/boot.log \ BOOT_OLDLOGFILE=%{_localstatedir}/log/boot.old %install %make_install \ MANPATH=%{_mandir} \ INSTBINFLAGS="-m 0744" \ LIBDIR=%{_libdir} \ INCDIR=%{_includedir} \ SYSDUNITS=%{_unitdir} \ BOOT_LOGFILE=%{_localstatedir}/log/boot.log \ BOOT_OLDLOGFILE=%{_localstatedir}/log/boot.old %post %{?regenerate_initrd_post} test -x /bin/systemctl && /bin/systemctl daemon-reload >/dev/null 2>&1 || : %postun test -x /bin/systemctl && /bin/systemctl daemon-reload >/dev/null 2>&1 || : %post -n libblogger%{sonum} -p /sbin/ldconfig %postun -n libblogger%{sonum} -p /sbin/ldconfig %posttrans %{?regenerate_initrd_posttrans} %files %defattr(-,root,root) %license COPYING %doc README /sbin/blogctl /sbin/blogd /sbin/blogger /sbin/isserial /sbin/setconsole /sbin/showconsole %doc %{_mandir}/man8/blogctl.8.gz %doc %{_mandir}/man8/blogd.8.gz %doc %{_mandir}/man8/blogger.8.gz %doc %{_mandir}/man8/isserial.8.gz %doc %{_mandir}/man8/setconsole.8.gz %doc %{_mandir}/man8/showconsole.8.gz %files -n libblogger%{sonum} %{_libdir}/libblogger.so.* %files devel %defattr(-,root,root) %{_includedir}/libblogger.h %{_libdir}/libblogger.so %files plymouth %defattr(-,root,root) %dir %{_prefix}/lib/dracut %dir %{_prefix}/lib/dracut/modules.d %dir %{_prefix}/lib/dracut/modules.d/99blog %dir %{_unitdir}/basic.target.wants %dir %{_unitdir}/default.target.wants %dir %{_unitdir}/emergency.target.wants %dir %{_unitdir}/halt.target.wants %dir %{_unitdir}/initrd-switch-root.target.wants %dir %{_unitdir}/kexec.target.wants %dir %{_unitdir}/multi-user.target.wants %dir %{_unitdir}/poweroff.target.wants %dir %{_unitdir}/reboot.target.wants %dir %{_unitdir}/rescue.target.wants %dir %{_unitdir}/sysinit.target.wants %dir %{_unitdir}/systemd-ask-password-blog.service.wants %{_prefix}/lib/dracut/modules.d/99blog/module-setup.sh %{_unitdir}/blog-final.service %{_unitdir}/blog-quit.service %{_unitdir}/blog-store-messages.service %{_unitdir}/blog-switch-root.service %{_unitdir}/blog.service %{_unitdir}/systemd-ask-password-blog.path %{_unitdir}/systemd-ask-password-blog.service %{_unitdir}/blog-umount.service %{_unitdir}/basic.target.wants/blog.service %{_unitdir}/default.target.wants/blog-quit.service %{_unitdir}/emergency.target.wants/blog-quit.service %{_unitdir}/halt.target.wants/blog-final.service %{_unitdir}/halt.target.wants/blog-umount.service %{_unitdir}/initrd-switch-root.target.wants/blog-switch-root.service %{_unitdir}/initrd-switch-root.target.wants/blog.service %{_unitdir}/kexec.target.wants/blog-final.service %{_unitdir}/kexec.target.wants/blog-umount.service %{_unitdir}/poweroff.target.wants/blog-final.service %{_unitdir}/poweroff.target.wants/blog-umount.service %{_unitdir}/reboot.target.wants/blog-final.service %{_unitdir}/reboot.target.wants/blog-umount.service %{_unitdir}/rescue.target.wants/blog-quit.service %{_unitdir}/sysinit.target.wants/blog-store-messages.service %{_unitdir}/sysinit.target.wants/systemd-ask-password-blog.path %changelog * Fri Apr 9 2021 Dr. Werner Fink <werner@suse.de> - Fix package split done for shared library packaging guideline (bsc#1184479). * Thu Jan 9 2020 Dr. Werner Fink <werner@suse.de> - Update to version 2.20 * Silent some gcc warnings, also avoid common variable (boo#1160385) * Include <sys/sysmacros.h> for makedev * sort input files (boo#1041090) * libconsole: never return empty list from getconsoles() * libconsole: Really allow to use /dev/console as a fallback in showconsole * libconsole: Add console into the list only when successfully allocated * libconsole: Correctly ignore early consoles - Remove obsolate patch blog-Remove-unused-header.patch * Fri Aug 30 2019 Bjørn Lie <bjorn.lie@gmail.com> - Add blog-Remove-unused-header.patch: Fix build with new glibc (gh#bitstreamout/showconsole#3). * Sat Apr 20 2019 Jan Engelhardt <jengelh@inai.de> - Implement shared library packaging guideline. * Thu Aug 2 2018 werner@suse.de - Update to version 2.19 which integrates the patches now removed: * sysmacros.patch * libconsole-Really-allow-to-use-dev-console-as-a-fall.patch * libconsole-never-return-empty-list-from-getconsoles.patch * showconsole-2.18.tar.gz * libconsole-Add-console-into-the-list-only-when-succe.patch * libconsole-Correctly-ignore-early-consoles.patch as well as the changes * Correct wants directory for systemd-ask-password-blog.service * Sort input files for reproducible builds * Wed Aug 1 2018 schwab@suse.de - sysmacros.patch: Include <sys/sysmacros.h> for makedev * Mon Mar 19 2018 kukuk@suse.de - Use %%license instead of %%doc [bsc#1082318] * Tue Dec 12 2017 pmladek@suse.com - hardening of the console list generation (bsc#1071568): * libconsole-never-return-empty-list-from-getconsoles.patch * libconsole-Really-allow-to-use-dev-console-as-a-fall.patch * libconsole-Add-console-into-the-list-only-when-succe.patch * libconsole-Correctly-ignore-early-consoles.patch * Mon Nov 6 2017 werner@suse.de - Change description of blog-plymouth in same manner as used by the release notes * Thu Apr 27 2017 werner@suse.de - Add coreutils as required by post scriptlet (boo#1036436) * Wed Jan 25 2017 werner@suse.de - Use github source from tagged version * Wed Jan 25 2017 werner@suse.de - Use https://github.com/bitstreamout/showconsole as URL * Thu Aug 11 2016 olaf@aepfle.de - Install binaries with read permissions (bnc#990837) * Mon Feb 22 2016 werner@suse.de - Do not use privata glibc API (boo#967437) but implement missing shared memory mkstemp() - Remove patch remove-bad-symbol-use.patch * Mon Feb 22 2016 schwab@suse.de - remove-bad-symbol-use.patch: Remove bad use of internal glibc interface (bnc#967437) * Fri Feb 19 2016 werner@suse.de - Make clear that blog is split off from sysvinit-tools - Avoid to be tagged with GLIBC_PRIVATE - Use libblogger.so with version, that is major and minor * Fri Feb 19 2016 werner@suse.de - Bug fix version: Handle chached password request gracefully * Wed Feb 10 2016 meissner@suse.com - add blog-rpmlintrc. The all-manual handling of systemd services is required according to Werner. * Thu Feb 4 2016 werner@suse.de - Let libblogger become a shared library * Fri Jan 22 2016 werner@suse.de - Clean up service uits for close and umount * Fri Jan 15 2016 werner@suse.de - First initial package after splitting apart from sysvinit * Now blogd can replace plymouth(9) even from initrd * Also blogd is able to handle password requests from from systemd API * The blogd daemon writes out console messages even on reboot or halt up to the file systems become unavailable. * No locking of the console devices, no frame buffer switching.