Bug 1490777 - dracut logs "dracut-" instead of "dracut-$DRACUT_VERSION"
Summary: dracut logs "dracut-" instead of "dracut-$DRACUT_VERSION"
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: dracut
Version: 7.4
Hardware: Unspecified
OS: Unspecified
low
low
Target Milestone: rc
: ---
Assignee: Lukáš Nykrýn
QA Contact: Release Test Team
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2017-09-12 08:34 UTC by Renaud Métrich
Modified: 2018-04-10 18:11 UTC (History)
2 users (show)

Fixed In Version: dracut-033-520.el7
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2018-04-10 18:11:08 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2018:0964 0 None None None 2018-04-10 18:11:41 UTC

Description Renaud Métrich 2017-09-12 08:34:22 UTC
Description of problem:

In the journal, when dracut runs as part of kernel update, the following gets printed:

dracut[1558]: dracut-
dracut[1560]: Executing: /sbin/dracut -f /boot/initramfs-3.10.0-693.1.1.el7.x86_64.img 3.10.0-

This is due to dlog_init() (/lib/dracut/dracut-logger.sh) being called before /lib/dracut/dracut-version.sh was sourced.


Version-Release number of selected component (if applicable):

dracut-033-502.el7.x86_64


How reproducible:

Always


Steps to Reproduce:
1. Update kernel
2. Check journal


Actual results:

dracut[1558]: dracut-


Expected results:

dracut-033-502.el7


Suggested fix: move sourcing of dracut-version.sh prior to sourcing dracut-init.sh

# diff -u /usr/sbin/dracut.orig /usr/sbin/dracut
--- /usr/sbin/dracut.orig	2017-09-12 10:31:24.552000000 +0200
+++ /usr/sbin/dracut	2017-09-12 10:31:38.965000000 +0200
@@ -857,6 +857,10 @@
     kmsgloglvl=0
 fi
 
+if [[ -f $dracutbasedir/dracut-version.sh ]]; then
+    . $dracutbasedir/dracut-version.sh
+fi
+
 if [[ -f $dracutbasedir/dracut-init.sh ]]; then
     . $dracutbasedir/dracut-init.sh
 else
@@ -875,10 +879,6 @@
     rm -fr -- ${initdir}/*
 fi
 
-if [[ -f $dracutbasedir/dracut-version.sh ]]; then
-    . $dracutbasedir/dracut-version.sh
-fi
-
 # Verify bash version, current minimum is 3.1
 if (( BASH_VERSINFO[0] < 4 )); then
     dfatal 'You need at least Bash 4 to use dracut, sorry.'

Comment 2 Lukáš Nykrýn 2017-09-12 08:50:47 UTC
We need to backport 9bbc1a982d9753a1eae16de3299a771891c2c462

Comment 5 Marek Hruscak 2017-12-13 15:07:22 UTC
Reproduced on RHEL-7.4-20170711.0 with dracut-033-502 .
Verified on RHEL-7.5-20171130.0	with dracut-033-520 .

Now correct log entry was shown in /var/log/messages .

Comment 8 errata-xmlrpc 2018-04-10 18:11:08 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2018:0964


Note You need to log in before you can comment on or make changes to this bug.