Your message dated Thu, 29 May 2008 19:02:11 +0000
with message-id <[EMAIL PROTECTED]>
and subject line Bug#459457: fixed in splashy 0.3.10-1
has caused the Debian Bug report #459457,
regarding splashy: should not start if requirements aren't satistfied
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [EMAIL PROTECTED]
immediately.)


-- 
459457: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=459457
Debian Bug Tracking System
Contact [EMAIL PROTECTED] with problems
--- Begin Message ---
Package: splashy
Version: 0.3.8-1
Severity: important
Tags: patch

Hello,

trying to solve bugs #455685 [1] and #459447 [2], I found that splashy
always starts, even when its requirements are not satisfied.  As
reported at [3], we can have two major boot situations when splashy is
installed:

- vga=NNN splash

  all the requirements are there, splashy can start

- only vga=NNN (or video=), only splash, nothing, single

  something is missing, splashy should not start (and no code related to
  it should be executed).

If splashy is always started, in the latter situation you always receive
a segfault, reproducible with `splashy test` (log attached).  I guess
bug #458959 [4] is related to this situation.

For this reason I reworked the init.d and initramfs scripts to have
saner checks.  I based my test on the 0.3.8 version, so something could
be different from the git tree.  We rely on /proc/cmdline to know if we
can or cannot start splashy, based on the following reasoning.

- parsing /proc/cmdline in the same way as [5] is the best thing: it
  contains all splashy requirements.  This removes the last grep line
  (already commented out in the git tree), which BTW didn't work at
  least on my sid-amd64 when booting with 'splash' only [2].

  For these checks I really prefer to have a separate script, because it
  avoids code duplication.  The script should just return 0 in case
  splashy can be enabled and 1 in case not.  If needed, we can support
  the -v|--verbose argument.  I'd say that having the checks inside the
  main splashy code (`splashy check`) would be the best thing to do.

- when no vga= or video= command line is provided, AFAIK even if fbcon
  and vesafb are inserted (on Debian kernel they're compiled in by
  default), /proc/fb is present, but with zero size.  Thus, when
  checking for /proc/fb to create /dev nodes we should check for its
  size (test -s).  However, according to [6] and [7], if no vga= or
  video= parameter is specified, fb is not initialised ([2] and [4]).

  I guess the segfaults at [2] and [4] (as well as the one in the
  `splashy test` output attached) are caused by the fact that splashy
  tries to start even if there's no fb available.

- log_warning_message doesn't exists, it's log_warning_msg

With these patch, together with the one I provided at [3], I can boot
with all the possible combinations, with or without splashy support in
the initramfs.

Comments and suggestions welcome!

Thx, bye,
Gismo / Luca

Footnotes: 
[1] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=455685
[2] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=459447
[3] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=455685#73
[4] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=458959
[5] /usr/share/initramfs-tools/scripts/init-top/framebuffer
[6] linux/Documentation/fb/vesafb.txt
[7] linux/Documentation/svga.txt

-- System Information:
Debian Release: lenny/sid
  APT prefers unstable
  APT policy: (990, 'unstable'), (500, 'testing'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.24-rc6-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages splashy depends on:
ii  initramfs-tools         0.91d            tools for generating an initramfs
ii  libc6                   2.7-5            GNU C Library: Shared libraries
ii  libdirectfb-1.0-0       1.0.1-5          direct frame buffer graphics - sha
ii  libgcc1                 1:4.3-20080104-1 GCC support library
ii  libglib2.0-0            2.14.4-2         The GLib library of C routines
ii  libmagic1               4.21-4           File type determination library us
ii  libsplashy1             0.3.8-1          Library to draw splash screen on b
ii  lsb-base                3.1-24           Linux Standard Base 3.1 init scrip
ii  zlib1g                  1:1.2.3.3.dfsg-8 compression library - runtime

splashy recommends no packages.

-- no debconf information

Script started on Sat 05 Jan 2008 06:46:32 PM CET
[EMAIL PROTECTED]:~# cat /proc/cmdline
BOOT_IMAGE=(hd0,1)/vmlinuz-2.6.22-3-amd64 root=/dev/mapper/vggismo-lvroot ro 
splash
[EMAIL PROTECTED]:~# strace splashy test
execve("/sbin/splashy", ["splashy", "test"], [/* 12 vars */]) = 0
brk(0)                                  = 0x605000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0x2b6db6d29000
uname({sys="Linux", node="gismo.pca.it", ...}) = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0x2b6db6d2a000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/lib/directfb-1.0-0/systems/tls/x86_64/libsplashycnf.so.1", O_RDONLY) = 
-1 ENOENT (No such file or directory)
stat("/lib/directfb-1.0-0/systems/tls/x86_64", 0x7ffff3d9cf00) = -1 ENOENT (No 
such file or directory)
open("/lib/directfb-1.0-0/systems/tls/libsplashycnf.so.1", O_RDONLY) = -1 
ENOENT (No such file or directory)
stat("/lib/directfb-1.0-0/systems/tls", 0x7ffff3d9cf00) = -1 ENOENT (No such 
file or directory)
open("/lib/directfb-1.0-0/systems/x86_64/libsplashycnf.so.1", O_RDONLY) = -1 
ENOENT (No such file or directory)
stat("/lib/directfb-1.0-0/systems/x86_64", 0x7ffff3d9cf00) = -1 ENOENT (No such 
file or directory)
open("/lib/directfb-1.0-0/systems/libsplashycnf.so.1", O_RDONLY) = -1 ENOENT 
(No such file or directory)
stat("/lib/directfb-1.0-0/systems", 0x7ffff3d9cf00) = -1 ENOENT (No such file 
or directory)
open("/lib/directfb-1.0-0/wm/tls/x86_64/libsplashycnf.so.1", O_RDONLY) = -1 
ENOENT (No such file or directory)
stat("/lib/directfb-1.0-0/wm/tls/x86_64", 0x7ffff3d9cf00) = -1 ENOENT (No such 
file or directory)
open("/lib/directfb-1.0-0/wm/tls/libsplashycnf.so.1", O_RDONLY) = -1 ENOENT (No 
such file or directory)
stat("/lib/directfb-1.0-0/wm/tls", 0x7ffff3d9cf00) = -1 ENOENT (No such file or 
directory)
open("/lib/directfb-1.0-0/wm/x86_64/libsplashycnf.so.1", O_RDONLY) = -1 ENOENT 
(No such file or directory)
stat("/lib/directfb-1.0-0/wm/x86_64", 0x7ffff3d9cf00) = -1 ENOENT (No such file 
or directory)
open("/lib/directfb-1.0-0/wm/libsplashycnf.so.1", O_RDONLY) = -1 ENOENT (No 
such file or directory)
stat("/lib/directfb-1.0-0/wm", 0x7ffff3d9cf00) = -1 ENOENT (No such file or 
directory)
open("/usr/lib64/directfb-1.0-0/interfaces/IDirectFBFont/tls/x86_64/libsplashycnf.so.1",
 O_RDONLY) = -1 ENOENT (No such file or directory)
stat("/usr/lib64/directfb-1.0-0/interfaces/IDirectFBFont/tls/x86_64", 
0x7ffff3d9cf00) = -1 ENOENT (No such file or directory)
open("/usr/lib64/directfb-1.0-0/interfaces/IDirectFBFont/tls/libsplashycnf.so.1",
 O_RDONLY) = -1 ENOENT (No such file or directory)
stat("/usr/lib64/directfb-1.0-0/interfaces/IDirectFBFont/tls", 0x7ffff3d9cf00) 
= -1 ENOENT (No such file or directory)
open("/usr/lib64/directfb-1.0-0/interfaces/IDirectFBFont/x86_64/libsplashycnf.so.1",
 O_RDONLY) = -1 ENOENT (No such file or directory)
stat("/usr/lib64/directfb-1.0-0/interfaces/IDirectFBFont/x86_64", 
0x7ffff3d9cf00) = -1 ENOENT (No such file or directory)
open("/usr/lib64/directfb-1.0-0/interfaces/IDirectFBFont/libsplashycnf.so.1", 
O_RDONLY) = -1 ENOENT (No such file or directory)
stat("/usr/lib64/directfb-1.0-0/interfaces/IDirectFBFont", 
{st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
open("/lib/directfb-1.0-0/interfaces/IDirectFBImageProvider/tls/x86_64/libsplashycnf.so.1",
 O_RDONLY) = -1 ENOENT (No such file or directory)
stat("/lib/directfb-1.0-0/interfaces/IDirectFBImageProvider/tls/x86_64", 
0x7ffff3d9cf00) = -1 ENOENT (No such file or directory)
open("/lib/directfb-1.0-0/interfaces/IDirectFBImageProvider/tls/libsplashycnf.so.1",
 O_RDONLY) = -1 ENOENT (No such file or directory)
stat("/lib/directfb-1.0-0/interfaces/IDirectFBImageProvider/tls", 
0x7ffff3d9cf00) = -1 ENOENT (No such file or directory)
open("/lib/directfb-1.0-0/interfaces/IDirectFBImageProvider/x86_64/libsplashycnf.so.1",
 O_RDONLY) = -1 ENOENT (No such file or directory)
stat("/lib/directfb-1.0-0/interfaces/IDirectFBImageProvider/x86_64", 
0x7ffff3d9cf00) = -1 ENOENT (No such file or directory)
open("/lib/directfb-1.0-0/interfaces/IDirectFBImageProvider/libsplashycnf.so.1",
 O_RDONLY) = -1 ENOENT (No such file or directory)
stat("/lib/directfb-1.0-0/interfaces/IDirectFBImageProvider", 0x7ffff3d9cf00) = 
-1 ENOENT (No such file or directory)
open("/lib/directfb-1.0-0/inputdrivers/tls/x86_64/libsplashycnf.so.1", 
O_RDONLY) = -1 ENOENT (No such file or directory)
stat("/lib/directfb-1.0-0/inputdrivers/tls/x86_64", 0x7ffff3d9cf00) = -1 ENOENT 
(No such file or directory)
open("/lib/directfb-1.0-0/inputdrivers/tls/libsplashycnf.so.1", O_RDONLY) = -1 
ENOENT (No such file or directory)
stat("/lib/directfb-1.0-0/inputdrivers/tls", 0x7ffff3d9cf00) = -1 ENOENT (No 
such file or directory)
open("/lib/directfb-1.0-0/inputdrivers/x86_64/libsplashycnf.so.1", O_RDONLY) = 
-1 ENOENT (No such file or directory)
stat("/lib/directfb-1.0-0/inputdrivers/x86_64", 0x7ffff3d9cf00) = -1 ENOENT (No 
such file or directory)
open("/lib/directfb-1.0-0/inputdrivers/libsplashycnf.so.1", O_RDONLY) = -1 
ENOENT (No such file or directory)
stat("/lib/directfb-1.0-0/inputdrivers", 0x7ffff3d9cf00) = -1 ENOENT (No such 
file or directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=51182, ...}) = 0
mmap(NULL, 51182, PROT_READ, MAP_PRIVATE, 3, 0) = 0x2b6db6d2c000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/libsplashycnf.so.1", O_RDONLY) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0p\17\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=10824, ...}) = 0
mmap(NULL, 2106224, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 
0x2b6db6f2a000
mprotect(0x2b6db6f2c000, 2097152, PROT_NONE) = 0
mmap(0x2b6db712c000, 4096, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x2b6db712c000
close(3)                                = 0
open("/usr/lib64/directfb-1.0-0/interfaces/IDirectFBFont/libsplashy.so.1", 
O_RDONLY) = -1 ENOENT (No such file or directory)
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/libsplashy.so.1", O_RDONLY)  = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\320\24\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=20832, ...}) = 0
mmap(NULL, 2116408, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 
0x2b6db712d000
mprotect(0x2b6db7132000, 2093056, PROT_NONE) = 0
mmap(0x2b6db7331000, 4096, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4000) = 0x2b6db7331000
close(3)                                = 0
open("/usr/lib64/directfb-1.0-0/interfaces/IDirectFBFont/libgcc_s.so.1", 
O_RDONLY) = -1 ENOENT (No such file or directory)
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/libgcc_s.so.1", O_RDONLY)    = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 ,\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=93016, ...}) = 0
mmap(NULL, 2188856, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 
0x2b6db7332000
mprotect(0x2b6db7348000, 2097152, PROT_NONE) = 0
mmap(0x2b6db7548000, 4096, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x16000) = 0x2b6db7548000
close(3)                                = 0
open("/usr/lib64/directfb-1.0-0/interfaces/IDirectFBFont/libm.so.6", O_RDONLY) 
= -1 ENOENT (No such file or directory)
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/libm.so.6", O_RDONLY)        = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\260>\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=526560, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0x2b6db7549000
mmap(NULL, 2621672, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 
0x2b6db754a000
mprotect(0x2b6db75ca000, 2093056, PROT_NONE) = 0
mmap(0x2b6db77c9000, 8192, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x7f000) = 0x2b6db77c9000
close(3)                                = 0
open("/usr/lib64/directfb-1.0-0/interfaces/IDirectFBFont/libglib-2.0.so.0", 
O_RDONLY) = -1 ENOENT (No such file or directory)
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/usr/lib/libglib-2.0.so.0", O_RDONLY) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\260<\1\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=708088, ...}) = 0
mmap(NULL, 2805064, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 
0x2b6db77cb000
mprotect(0x2b6db7877000, 2093056, PROT_NONE) = 0
mmap(0x2b6db7a76000, 8192, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xab000) = 0x2b6db7a76000
close(3)                                = 0
open("/usr/lib64/directfb-1.0-0/interfaces/IDirectFBFont/libdirectfb-1.0.so.0", 
O_RDONLY) = -1 ENOENT (No such file or directory)
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/usr/lib/libdirectfb-1.0.so.0", O_RDONLY) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>[EMAIL PROTECTED]"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=455976, ...}) = 0
mmap(NULL, 2553144, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 
0x2b6db7a78000
mprotect(0x2b6db7ae4000, 2097152, PROT_NONE) = 0
mmap(0x2b6db7ce4000, 12288, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6c000) = 0x2b6db7ce4000
mmap(0x2b6db7ce7000, 1336, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2b6db7ce7000
close(3)                                = 0
open("/usr/lib64/directfb-1.0-0/interfaces/IDirectFBFont/libfusion-1.0.so.0", 
O_RDONLY) = -1 ENOENT (No such file or directory)
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/usr/lib/libfusion-1.0.so.0", O_RDONLY) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0P-\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=33160, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0x2b6db7ce8000
mmap(NULL, 2128568, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 
0x2b6db7ce9000
mprotect(0x2b6db7cf1000, 2093056, PROT_NONE) = 0
mmap(0x2b6db7ef0000, 4096, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x7000) = 0x2b6db7ef0000
close(3)                                = 0
open("/usr/lib64/directfb-1.0-0/interfaces/IDirectFBFont/libdirect-1.0.so.0", 
O_RDONLY) = -1 ENOENT (No such file or directory)
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/usr/lib/libdirect-1.0.so.0", O_RDONLY) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0pB\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=83376, ...}) = 0
mmap(NULL, 2181168, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 
0x2b6db7ef1000
mprotect(0x2b6db7f05000, 2093056, PROT_NONE) = 0
mmap(0x2b6db8104000, 4096, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x13000) = 0x2b6db8104000
mmap(0x2b6db8105000, 2096, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2b6db8105000
close(3)                                = 0
open("/usr/lib64/directfb-1.0-0/interfaces/IDirectFBFont/libpthread.so.0", 
O_RDONLY) = -1 ENOENT (No such file or directory)
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/libpthread.so.0", O_RDONLY)  = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\260W\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=126128, ...}) = 0
mmap(NULL, 2204528, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 
0x2b6db8106000
mprotect(0x2b6db811c000, 2093056, PROT_NONE) = 0
mmap(0x2b6db831b000, 8192, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x15000) = 0x2b6db831b000
mmap(0x2b6db831d000, 13168, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2b6db831d000
close(3)                                = 0
open("/usr/lib64/directfb-1.0-0/interfaces/IDirectFBFont/libc.so.6", O_RDONLY) 
= -1 ENOENT (No such file or directory)
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/libc.so.6", O_RDONLY)        = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\340\342"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1420624, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0x2b6db8321000
mmap(NULL, 3527256, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 
0x2b6db8322000
mprotect(0x2b6db8476000, 2097152, PROT_NONE) = 0
mmap(0x2b6db8676000, 20480, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x154000) = 0x2b6db8676000
mmap(0x2b6db867b000, 16984, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2b6db867b000
close(3)                                = 0
open("/usr/lib64/directfb-1.0-0/interfaces/IDirectFBFont/libpcre.so.3", 
O_RDONLY) = -1 ENOENT (No such file or directory)
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/usr/lib/libpcre.so.3", O_RDONLY) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\220&\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=160840, ...}) = 0
mmap(NULL, 2256136, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 
0x2b6db8680000
mprotect(0x2b6db86a6000, 2097152, PROT_NONE) = 0
mmap(0x2b6db88a6000, 4096, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x26000) = 0x2b6db88a6000
close(3)                                = 0
open("/usr/lib64/directfb-1.0-0/interfaces/IDirectFBFont/libdl.so.2", O_RDONLY) 
= -1 ENOENT (No such file or directory)
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/libdl.so.2", O_RDONLY)       = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \16\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=14624, ...}) = 0
mmap(NULL, 2109728, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 
0x2b6db88a7000
mprotect(0x2b6db88a9000, 2097152, PROT_NONE) = 0
mmap(0x2b6db8aa9000, 8192, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x2b6db8aa9000
close(3)                                = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0x2b6db8aab000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0x2b6db8aac000
arch_prctl(ARCH_SET_FS, 0x2b6db8aac630) = 0
mprotect(0x2b6db8676000, 12288, PROT_READ) = 0
munmap(0x2b6db6d2c000, 51182)           = 0
set_tid_address(0x2b6db8aac6c0)         = 3147
set_robust_list(0x2b6db8aac6d0, 0x18)   = 0
futex(0x7ffff3d9da3c, 0x81 /* FUTEX_??? */, 1) = 0
rt_sigaction(SIGRTMIN, {0x2b6db810b2d0, [], SA_RESTORER|SA_SIGINFO, 
0x2b6db81147d0}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {0x2b6db810b350, [], SA_RESTORER|SA_RESTART|SA_SIGINFO, 
0x2b6db81147d0}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0
close(0)                                = 0
open("/dev/null", O_RDWR)               = 0
close(1)                                = 0
open("/dev/null", O_RDWR)               = 1
stat("/etc/splashy/config.xml", {st_mode=S_IFREG|0644, st_size=549, ...}) = 0
brk(0)                                  = 0x605000
brk(0x626000)                           = 0x626000
stat("/etc/splashy/config.xml", {st_mode=S_IFREG|0644, st_size=549, ...}) = 0
open("/usr/lib/charset.alias", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/etc/splashy/config.xml", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=549, ...}) = 0
read(3, "<?xml version=\"1.0\" encoding=\"UT"..., 549) = 549
close(3)                                = 0
stat("/etc/splashy/themes/debian-swirl///theme.xml", {st_mode=S_IFREG|0644, 
st_size=4995, ...}) = 0
stat("/etc/splashy/themes/debian-swirl///theme.xml", {st_mode=S_IFREG|0644, 
st_size=4995, ...}) = 0
stat("/etc/splashy/themes/debian-swirl///theme.xml", {st_mode=S_IFREG|0644, 
st_size=4995, ...}) = 0
open("/etc/splashy/themes/debian-swirl///theme.xml", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=4995, ...}) = 0
read(3, "<?xml version=\"1.0\" encoding=\"UT"..., 4995) = 4995
close(3)                                = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, 
child_tidptr=0x2b6db8aac6c0) = 3148
exit_group(0)                           = ?
Process 3147 detached
[EMAIL PROTECTED]:~# Splashy ERROR: Couldn't splashy_start_splashy(). Error -2

splashy[3148]: segfault at 0000000000000018 rip 00002b6db712f4c7 r sp 
00007ffff3d9da00 error 4
[EMAIL PROTECTED]:~# exit

Script done on Sat 05 Jan 2008 06:47:35 PM CET
diff --git a/scripts/init.d/splashy b/scripts/init.d/splashy
index 879ff0f..8677e0f 100755
--- a/scripts/init.d/splashy
+++ b/scripts/init.d/splashy
@@ -13,6 +13,7 @@
 
 # Author: Tim Dijkstra <[EMAIL PROTECTED]>, 
 #         Luis Mondesi <[EMAIL PROTECTED]> 
+#         Luca Capello <[EMAIL PROTECTED]>
 #
 # If called in the rc[06].d runlevels with the stop target it will start 
 # splashy in 'shutdown' mode. In the rcS.d runlevel it will try 
@@ -55,12 +56,39 @@ fi
 
 set -e
 
-[ "$ENABLE" = "1" ] && log_warning_message "To enable $NAME add 'splash' to the kernel command line. Use of ENABLE in /etc/default/$NAME is deprecated.";
-ENABLE=0
-# Enable splash parameter if it is set on the kernel command line.
-grep -q -e '[[:space:]]splash\([[:space:]]\|$\)' /proc/cmdline && ENABLE=1
-grep -q -e '[[:space:]]nosplash\([[:space:]]\|$\)' /proc/cmdline && ENABLE=0
 
+[ "$ENABLE" = "1" ] && log_warning_msg "To enable $NAME add 'splash' to the kernel command line. Use of ENABLE in /etc/default/$NAME is deprecated.";
+
+check_to_enable () {
+	ENABLE=0
+	SINGLE=false
+	SPLASH=false
+	FBMODESET=false
+
+	for x in $(cat /proc/cmdline); do
+	    case $x in
+		single)
+		    SINGLE=true
+		;;
+		splash)
+		    SPLASH=true
+		;;
+		nosplash)
+		    SPLASH=false
+		;;
+		vga=*|video=*)
+		    FBMODESET=true
+		;;
+	    esac
+	done
+	[ "$SPLASH" = "true" -a "$FBMODESET" = "true" ] && ENABLE=1
+	[ "$SINGLE" = "true" ] && ENABLE=0
+
+	if [ "$ENABLE" = "0" ]; then
+	    log_warning_msg "To enable $NAME on multiuser runlevel add 'splash' and a valid framebuffer videomode to the kernel command line"
+	    exit 0
+	fi
+}
 
 calculate_steps () {
         log_daemon_msg "(Re)generating splash steps for"
@@ -115,24 +143,24 @@ fi
 
 case "$1" in
     start)
-        # We start splashy in rcS.d if we haven't already in initramfs
-        if [ "x$RUNLEVEL" = "xN S" -o "x$RUNLEVEL" = "xS" ]; then
-	    [ "$ENABLE" = "1" ] || exit 0;
-
-	    calculate_steps
-
-            log_daemon_msg "Starting $DESC" $NAME
-            if [ "$DEBUG" = "1" ]; then
-                pidof $NAME > /dev/null || \
-                echo "$0: Splashy not running?" >> $STEPS_DIR/splashy.log
-            fi
-            pidof $NAME > /dev/null || /sbin/$NAME boot
-            log_end_msg $?
+	check_to_enable
+
+	# We start splashy in rcS.d if we haven't already in initramfs
+	[ "x$RUNLEVEL" = "xN S" -o "x$RUNLEVEL" = "xS" ] || exit 0
+
+        calculate_steps
+
+        log_daemon_msg "Starting $DESC" $NAME
+        if [ "$DEBUG" = "1" ]; then
+            pidof $NAME > /dev/null || \
+            echo "$0: Splashy not running?" >> $STEPS_DIR/splashy.log
         fi
+        pidof $NAME > /dev/null || /sbin/$NAME boot
+        log_end_msg $?
     ;;
     stop)
+	check_to_enable
 
-	[ "$ENABLE" = "1" ] || exit 0;
 	calculate_steps
 
         log_daemon_msg "Starting $DESC" $NAME
diff --git a/scripts/initramfs-tools/scripts/init-top/splashy b/scripts/initramfs-tools/scripts/init-top/splashy
index 4d01bf3..76e1a71 100755
--- a/scripts/initramfs-tools/scripts/init-top/splashy
+++ b/scripts/initramfs-tools/scripts/init-top/splashy
@@ -25,24 +25,32 @@ silent()
 test -x /sbin/splashy || exit
 SPLASH=false
 SINGLE=false
+FBMODESET=false
 for x in $(cat /proc/cmdline); do
     case $x in
-        splash*)
+        single)
+            SINGLE=true
+        ;;
+        splash)
             SPLASH=true
         ;;
-        single=*)
-            SINGLE=true
+        nosplash)
+            SPLASH=false
+        ;;
+        vga=*|video=*)
+            FBMODESET=true
         ;;
     esac
 done
 test $SINGLE = "false" || exit
 test $SPLASH = "true" || exit
+test $FBMODESET = "true" || exit
 
 depmod -a
 silent modprobe fbcon
 silent modprobe vesafb
 
-if [ -e /proc/fb ]; then
+if [ -s /proc/fb ]; then
         while read fbno desc; do
                 mknod /dev/fb${fbno} c 29 ${fbno}
         done < /proc/fb
@@ -55,15 +63,6 @@ for i in 0 1 2 3 4 5 6 7 8; do
             mknod /dev/tty${i} c 4 ${i}
 done
 
-# [ tdykstra ]
-# This is supposed to replace the test for vga=
-# on the command line. Didn't test it much...
-# Luis Mondesi
-# Splashy will show error if /proc/fb is not
-# set correctly. This assumes users have vesafb
-# commenting it out
-#grep -q '\(VESA\|VGA\)' /proc/fb || exit
-
 if [ -x /sbin/splashy_chvt ]; then
 	/sbin/splashy_chvt 8
 fi

--- End Message ---
--- Begin Message ---
Source: splashy
Source-Version: 0.3.10-1

We believe that the bug you reported is fixed in the latest version of
splashy, which is due to be installed in the Debian FTP archive:

libsplashy1-dev_0.3.10-1_amd64.deb
  to pool/main/s/splashy/libsplashy1-dev_0.3.10-1_amd64.deb
libsplashy1_0.3.10-1_amd64.deb
  to pool/main/s/splashy/libsplashy1_0.3.10-1_amd64.deb
splashy_0.3.10-1.diff.gz
  to pool/main/s/splashy/splashy_0.3.10-1.diff.gz
splashy_0.3.10-1.dsc
  to pool/main/s/splashy/splashy_0.3.10-1.dsc
splashy_0.3.10-1_amd64.deb
  to pool/main/s/splashy/splashy_0.3.10-1_amd64.deb
splashy_0.3.10.orig.tar.gz
  to pool/main/s/splashy/splashy_0.3.10.orig.tar.gz



A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to [EMAIL PROTECTED],
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Fathi Boudra <[EMAIL PROTECTED]> (supplier of updated splashy package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [EMAIL PROTECTED])


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.8
Date: Thu, 29 May 2008 20:03:42 +0200
Source: splashy
Binary: splashy libsplashy1 libsplashy1-dev
Architecture: source amd64
Version: 0.3.10-1
Distribution: unstable
Urgency: low
Maintainer: Fathi Boudra <[EMAIL PROTECTED]>
Changed-By: Fathi Boudra <[EMAIL PROTECTED]>
Description: 
 libsplashy1 - Library to draw splash screen on boot, shutdown, resume or suspen
 libsplashy1-dev - Library to draw splash screen on boot, shutdown, resume or 
suspen
 splashy    - A complete user-space boot splash system
Closes: 338405 421442 455685 455872 458203 458959 459447 459457 462626 469640 
470816 472497 472612 473109 473112 478299 478300 478305 482017
Changes: 
 splashy (0.3.10-1) unstable; urgency=low
 .
   [ Luis Mondesi ]
   * New upstream release.
     (Closes: #455685, #459457, #459447)
     (Closes: #458959, #458203, #473109, #462626, #472497)
     (Closes: #473112, #470816, #338405, #472612)
     (Closes: #482017, #455872, #469640, #421442, #478305)
     (Closes: #478300, #478299)
   * debian/control: added missing dependencies
     - Splashy depends on libdirectfb-1.0-0 >> 1.0.1-8.
 .
   [ Fathi Boudra ]
   * Add myself in Uploaders field.
   * Bump Standards-Version to 3.7.3. Nothing to do.
   * Update copyrights.
Checksums-Sha1: 
 b9e572c960084c42f141c0487a46f73f40e6f3bf 1550 splashy_0.3.10-1.dsc
 f3ae40d2a03f2e25e2ad856e0df6b0d67b0417ee 1605073 splashy_0.3.10.orig.tar.gz
 a0b284feb7067aa0016adc2fb2c470ae9dd7c809 8482 splashy_0.3.10-1.diff.gz
 3f90cc4590fb494698208b91e6c2ed4197c124ba 1203376 splashy_0.3.10-1_amd64.deb
 93d83e7513d890a3272e265d922c74d3de4df555 40952 libsplashy1_0.3.10-1_amd64.deb
 b1493e89f1f0b1949a6c0acfff478adcff756310 30220 
libsplashy1-dev_0.3.10-1_amd64.deb
Checksums-Sha256: 
 98c22fd72756ebae367d3ca694cdfe5dbf5965150ec38f381a7708e583fceeaf 1550 
splashy_0.3.10-1.dsc
 c55c1a668318b28f16f05d7d63bba4f5f3d1908ebc220738b32702a2c4ed3d9d 1605073 
splashy_0.3.10.orig.tar.gz
 efb3e81d665cb88c47142e0a37f819a021dd226cb031694120829328ddd20092 8482 
splashy_0.3.10-1.diff.gz
 2170a30cb5d35bf86431553bcb575fbf8358401521f8e11185f47508861d1f74 1203376 
splashy_0.3.10-1_amd64.deb
 f78a48d0a4881094a0f3b0f0c70217af864132fc8c743c314692e6f4bfc0ec58 40952 
libsplashy1_0.3.10-1_amd64.deb
 54e1c41aa9369bbea3b7c934fff9bbaab1a5770c764f055e515954090a4320d9 30220 
libsplashy1-dev_0.3.10-1_amd64.deb
Files: 
 22162adbf2223ada349b287873516208 1550 graphics optional splashy_0.3.10-1.dsc
 e715c54111657b379fd01c571c45b4b1 1605073 graphics optional 
splashy_0.3.10.orig.tar.gz
 edb061b5a4551f65c05ce4efc916aa70 8482 graphics optional 
splashy_0.3.10-1.diff.gz
 ab3193700e10bef8ded865caa73dd30d 1203376 graphics optional 
splashy_0.3.10-1_amd64.deb
 5b2c692b34c183ce701f42eeea9f415e 40952 libs optional 
libsplashy1_0.3.10-1_amd64.deb
 17f42c1074a9f41583a7f90b5d136c6d 30220 libdevel optional 
libsplashy1-dev_0.3.10-1_amd64.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iQCVAwUBSD76iIz1NfZqpXL3AQJ6LAP/aNDOb3N4MTQ5bF2G2r+4D9kQ0YTEFzOn
FRlLgaTIFhwSGDTvtgjRU2MYoVuT9Yl9NDyLmiD6THy64wLGGshu+2qb4e4v9wRb
K/MWHWhyI0Z44Cb201KxfFG4BH4GMX7mUd3k5rTPuSFY5lA6mOD07FEKorQtaPVR
NWj57gMUEEY=
=j83V
-----END PGP SIGNATURE-----



--- End Message ---

Reply via email to