Bug#999417: Blank line in plymouthd.conf silently breaks it

2021-11-16 Thread Laurent Bigonville
On Mon, 15 Nov 2021 16:39:58 +1100 "Trent W. Buck"  
wrote:

> Laurent Bigonville wrote:
> > On Thu, 11 Nov 2021 06:24:53 +1100 "Trent W. Buck" 


> > wrote:
> >
> > > See attached example files.
> >
> > Could you please explain a bit more what's not working?
>
> Sorry, I thought my report included more information than it did.
> This is the actual commit that fixed it for me:
>
> https://github.com/cyberitsolutions/bootstrap2020/commit/af75998
>
> The behaviour I see is that plymouth shows a splash screen, but
> it uses the fallback "text" theme, with the "█ █ █" three rectangles,
> with a spinner on a Tango dark grey background (#2E3436).
>
> When plymouthd.conf contains no \n\n sequences, I see the correct 
bgrt theme,

> with an animated spinner (white circle on black background).

I can indeed confirm that if you have two new lines (\n) breaks the 
displaying of the theme




Bug#999417: Blank line in plymouthd.conf silently breaks it

2021-11-14 Thread Trent W. Buck
PS: I reran my test script with "sid" instead of "bullseye", and
the problem still exists in sid.  It also includes lsinitramfs output.

Trent W. Buck wrote:
> > I just tried now with plymouth version 0.9.5+git20211018-1, after adding a
> > white space in the configuration file and regenerating the initramfs (with
> > update-initramfs -u) I can see the theme in initramfs (lsinitramfs) and the
> > bgrt theme is properly used.
> > 
> > How did you regenerate the initramfs? Does lsinitramfs show you the theme
> > files inside the initramfs? Could you try with 0.9.5+git20211018-1 and see
> > if it makes a difference?
> 
> OK here's a script (attached) that should reliably show
> 1) working behaviour; then
> 2) failing behaviour.


plymouth-issue-test.sh
Description: Bourne shell script
bash5$ /home/twb/Desktop/bootstrap2020/plymouth-issue-test.sh
#!/bin/bash -v

build=(
mmdebstrap sid tmp.squashfs
--aptopt='Acquire::http::Proxy "http://localhost:3142;'
--include=plymouth-themes,linux-image-generic,init,live-boot,pigz
--dpkgopt=force-unsafe-io
--dpkgopt=force-confold # dpkg, don't pause because I edited 
plymouth.conf before you
--essential-hook='mkdir -p $1/etc/plymouth'
--essential-hook='copy-in plymouthd.conf /etc/plymouth/'
--customize-hook='download /vmlinuz vmlinuz'
--customize-hook='download /initrd.img initrd.img'
--customize-hook='chroot $1 dpkg-query -W plymouth plymouth-themes'
--customize-hook='chroot $1 lsinitramfs -l /initrd.img | grep plymouth'
)
test=(
kvm
-m 1024 # without this, not enough ram to start the 
initrd!
-hda tmp.squashfs
-kernel vmlinuz
-initrd initrd.img
-append 'splash boot=live plainroot root=/dev/sda'
)

# With no \n\n, plymouthd shows correct spinner animation on black background 
(bgrt inherits from spinner).
printf '[Daemon]\nTheme=bgrt\n' >plymouthd.conf && "${build[@]}" && "${test[@]}"
I: automatically chosen mode: unshare
I: chroot architecture amd64 is equal to the host's architecture
I: automatically chosen format: squashfs
I: using /tmp/mmdebstrap.0JUC5aHB_o as tempdir
W: tar2sqfs does not support extended attributes from the 'system' namespace
I: running apt-get update...
done
I: downloading packages with apt...
done
I: extracting archives...
done
I: installing essential packages...
done
I: running --essential-hook in shell: sh -c 'mkdir -p $1/etc/plymouth' exec 
/tmp/mmdebstrap.0JUC5aHB_o
I: running special hook: copy-in plymouthd.conf /etc/plymouth/
I: downloading apt...
done
I: installing apt...
done
I: installing remaining packages inside the chroot...
done
done
done
I: running special hook: download /vmlinuz vmlinuz
I: running special hook: download /initrd.img initrd.img
I: running --customize-hook in shell: sh -c 'chroot $1 dpkg-query -W plymouth 
plymouth-themes' exec /tmp/mmdebstrap.0JUC5aHB_o
plymouth0.9.5+git20211018-1
plymouth-themes 0.9.5+git20211018-1
I: running --customize-hook in shell: sh -c 'chroot $1 lsinitramfs -l 
/initrd.img | grep plymouth' exec /tmp/mmdebstrap.0JUC5aHB_o
drwxr-xr-x   2 root root0 Nov 15 05:52 etc/plymouth
-rw-r--r--   1 1000 1000   20 Nov 15 05:51 
etc/plymouth/plymouthd.conf
-rwxr-xr-x   1 root root  151 Nov 10 15:45 
scripts/init-bottom/plymouth
-rwxr-xr-x   1 root root  472 Nov 10 15:45 
scripts/init-premount/plymouth
-rwxr-xr-x   1 root root  155 Nov 10 15:45 scripts/panic/plymouth
-rwxr-xr-x   1 root root47880 Nov 10 15:45 usr/bin/plymouth
drwxr-xr-x   3 root root0 Nov 15 05:52 
usr/lib/x86_64-linux-gnu/plymouth
-rw-r--r--   1 root root18944 Nov 10 15:45 
usr/lib/x86_64-linux-gnu/plymouth/details.so
-rw-r--r--   1 root root14664 Nov 10 15:45 
usr/lib/x86_64-linux-gnu/plymouth/label.so
drwxr-xr-x   2 root root0 Nov 15 05:52 
usr/lib/x86_64-linux-gnu/plymouth/renderers
-rw-r--r--   1 root root60416 Nov 10 15:45 
usr/lib/x86_64-linux-gnu/plymouth/renderers/drm.so
-rw-r--r--   1 root root35632 Nov 10 15:45 
usr/lib/x86_64-linux-gnu/plymouth/renderers/frame-buffer.so
-rw-r--r--   1 root root23200 Nov 10 15:45 
usr/lib/x86_64-linux-gnu/plymouth/text.so
-rw-r--r--   1 root root69032 Nov 10 15:45 
usr/lib/x86_64-linux-gnu/plymouth/two-step.so
drwxr-xr-x   2 root root0 Nov 15 05:52 usr/libexec/plymouth
-rwxr-xr-x   1 root root14600 Nov 10 15:45 
usr/libexec/plymouth/plymouthd-fd-escrow
-rwxr-xr-x   1 root root   151584 Nov 10 15:45 usr/sbin/plymouthd
drwxr-xr-x   3 root root0 Nov 15 05:52 usr/share/plymouth
-rw-r--r--   1 root root 5834 Nov 15 05:52 
usr/share/plymouth/debian-logo.png
-rw-r--r--   1 root root  139 Nov 10 15:45 
usr/share/plymouth/plymouthd.defaults
drwxr-xr-x   6 root root0 Nov 15 05:52 usr/share/plymouth/themes
drwxr-xr-x   2 root root   

Bug#999417: Blank line in plymouthd.conf silently breaks it

2021-11-14 Thread Trent W. Buck
Laurent Bigonville wrote:
> On Thu, 11 Nov 2021 06:24:53 +1100 "Trent W. Buck" 
> wrote:
> 
> > See attached example files.
> 
> Could you please explain a bit more what's not working?

Sorry, I thought my report included more information than it did.
This is the actual commit that fixed it for me:

https://github.com/cyberitsolutions/bootstrap2020/commit/af75998

The behaviour I see is that plymouth shows a splash screen, but
it uses the fallback "text" theme, with the "█ █ █" three rectangles,
with a spinner on a Tango dark grey background (#2E3436).

When plymouthd.conf contains no \n\n sequences, I see the correct bgrt theme,
with an animated spinner (white circle on black background).

> I just tried now with plymouth version 0.9.5+git20211018-1, after adding a
> white space in the configuration file and regenerating the initramfs (with
> update-initramfs -u) I can see the theme in initramfs (lsinitramfs) and the
> bgrt theme is properly used.
> 
> How did you regenerate the initramfs? Does lsinitramfs show you the theme
> files inside the initramfs? Could you try with 0.9.5+git20211018-1 and see
> if it makes a difference?

Let me see if I make a full test recipe... hrm, not easily.
I will instead include the "before" and "after" ramdisks and kernel.
...hrm, they're 40MB each, not really suitable for email.

The actual images are identical except for the plymouthd.conf and some 
fontconfig cache files.
That suggests the problem is inside the plymouthd C code itself.

OK here's a script (attached) that should reliably show
1) working behaviour; then
2) failing behaviour.


plymouth-issue-test.sh
Description: Bourne shell script


Bug#999417: Blank line in plymouthd.conf silently breaks it

2021-11-12 Thread Laurent Bigonville
On Thu, 11 Nov 2021 06:24:53 +1100 "Trent W. Buck"  
wrote:


> See attached example files.

Hello,

Could you please explain a bit more what's not working?

I just tried now with plymouth version 0.9.5+git20211018-1, after adding 
a white space in the configuration file and regenerating the initramfs 
(with update-initramfs -u) I can see the theme in initramfs 
(lsinitramfs) and the bgrt theme is properly used.


How did you regenerate the initramfs? Does lsinitramfs show you the 
theme files inside the initramfs? Could you try with 0.9.5+git20211018-1 
and see if it makes a difference?


Kind regards,

Laurent Bigonville



Bug#999417: Blank line in plymouthd.conf silently breaks it

2021-11-10 Thread Trent W. Buck
Package: plymouth
Version: 0.9.5-3
Severity: normal

See attached example files.


-- System Information:
Debian Release: 11.1
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 
'proposed-updates'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 5.10.0-9-amd64 (SMP w/8 CPU threads)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE, 
TAINT_UNSIGNED_MODULE
Locale: LANG=en_AU.UTF-8, LC_CTYPE=en_AU.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
#  I don't care about PrisonPC branding on inmate desktops.
#   The only branding I care about is in ppcadm.
#
# The Debian 11 default splash is loud and Debian-y:
#   https://wiki.debian.org/DebianArt/Themes/Homeworld
#
# Change the default to match Windows 10 style.
# That is:
#   * black background
#   * a simple spinner animation
#   * if present, a centered logo, from
# /sys/firmware/acpi/tables/BGRT.
#
# This makes the transition from EFI to plymouth "seamless".
#
# WARNING: if this file contains any blank lines,
#  it will silently fail to include the correct theme in the ramdisk,
#  causing a de facto Theme=text behaviour.
[Daemon]
Theme=bgrt
#  I don't care about PrisonPC branding on inmate desktops.
#   The only branding I care about is in ppcadm.

# The Debian 11 default splash is loud and Debian-y:
#   https://wiki.debian.org/DebianArt/Themes/Homeworld
#
# Change the default to match Windows 10 style.
# That is:
#   * black background
#   * a simple spinner animation
#   * if present, a centered logo, from
# /sys/firmware/acpi/tables/BGRT.
#
# This makes the transition from EFI to plymouth "seamless".

[Daemon]
Theme=bgrt