Commit graph

1608 commits

Author SHA1 Message Date
Ray Strode
3fd95f5be1 array: clean up a warning 2011-02-09 15:07:14 -05:00
Ray Strode
bc2ca39595 event-loop: clean up some warnings 2011-02-09 15:07:14 -05:00
Ray Strode
9f197b58e2 animation: add debug spew 2011-02-09 15:07:14 -05:00
Ray Strode
94ba93b24e two-step: Add more debug spew 2011-02-09 15:07:14 -05:00
Ray Strode
ffd593a75b boot-server: improve debug output
We've written "could not write bytes" in many different
places.  This changes the error message to be more domain
specific.
2011-02-03 15:28:05 -05:00
Ray Strode
4849879228 boot-server: fix debug output when message is from init
We were always trying to show the parent process name,
but init doesn't have a parent.

This commit special cases init, since it's a special case.
2011-02-03 14:40:43 -05:00
Lucian Muresan
22a1273bb2 drm: reduce minimum build requirements
This patch adds the respective configure options to make it possible to
disable libdrm_intel, libdrm_radeon, libdrm_nouveau, and libkms
independently from each other.

https://bugs.freedesktop.org/show_bug.cgi?id=29804
2011-02-01 14:33:23 -05:00
Martin Pitt
f8874cb4b0 pixel-buffer: Fix overflow in blend_two_pixel_values
It was using 16bit types to hold the intermiediate
results of the blend, but for high intensity,
low opacity input values it could need up to
17 bits to prevent overflow.

https://bugs.freedesktop.org/show_bug.cgi?id=33129
2011-01-14 18:32:10 -05:00
Ray Strode
e5a78dd8bb main: remove tty0 from list of fallback ttys
It's not a valid fallback tty since writing to
it would create a feedback loop (since it's
redirected with /dev/console)
2010-11-19 19:35:52 -05:00
Ray Strode
cd0b866222 main: Always translate tty0 to tty1
Another bug in check_for_consoles...

We can't ever write to tty0 directly, because
it is redirected (just like /dev/console).  Previously
we would translate the call to tty1, but commit

c40fd792b6

broke that.  This commit fixes it again.
2010-11-19 19:33:34 -05:00
Ray Strode
ba5054cc77 terminal: don't rely on strlen(bytes) for write size
We're printing stuff to the terminal.  This may include
NUL bytes once in a while.  We shouldn't rely on strlen()
to determine how many bytes to write.
2010-11-19 15:27:12 -05:00
Andrey Borzenkov
a4c7cbafd3 boot-client: fix fallback socket support
Commit 3ec007a482 did not
properly check for success when connecting to the fallback
socket path and instead always failed.

This commit fixes the code to properly check for success and
proceed.

Signed-off-by: Andrey Borzenkov <arvidjaar@gmail.com>
2010-11-19 10:33:49 -05:00
Andrey Borzenkov
d29722b34a utils: if concrete/abstract socket selection
Commit 9de731ed29 caused
plymouth to erroneously drop the leading '\0' on the old
abstract socket making fallback socket support not work.
As result new clients (after update) can no longer communicate
with old running daemons (such as from the initrd).

This commit restores the leading '\0' for both
abstract sockets, trimmed and non-trimmed.

Commit 3ec007a482 did not
check for success with old socket path and failed
always. Properly check for success and proceed.

Signed-off-by: Andrey Borzenkov <arvidjaar@gmail.com>
2010-11-19 10:32:49 -05:00
Ray Strode
48f04ad193 main: don't pause on crash
plymouthd would previously pause() when crashing if debug
mode was enabled so that it could be attached to with a debugger.

pausing indefinitely during boot up is often a bad idea though.

This commit changes it to sleep 30 seconds instead.
2010-11-15 14:01:50 -05:00
Ray Strode
aba7c7b89f terminal: Don't set ISTRIP in terminal attributes
In certain error paths plymouth would erroneously set
ISTRIP on the terminal.  This is bogus in the same way
the changes fixed by commit ea394383c5
were bogus.
2010-11-15 13:56:01 -05:00
Ray Strode
b204e25c87 configure: move with_gdm_autostart_file=no to else clause
doing it unconditionally seems to confuse autogoo.
2010-11-02 16:05:39 -04:00
Ray Strode
44e5308dee viewer: always dist desktop file
Even if we aren't installing it, we still want it to get shipped
when doing "make dist"
2010-11-02 15:23:06 -04:00
Ray Strode
871dbcbcce boot-server: don't print error when client goes away
Right now, anytime the server is unable to respond to a
client it puts an ugly message on the screen:

"could not write bytes: Broken pipe"

or some such.  That message isn't really useful unless you're
debugging your distribution, so change it from a ply_error to
ply_trace.
2010-10-20 10:04:24 -04:00
Ray Strode
0f1b124a2b populate-initrd: pre-expand logofile variable
The logofile by default is $datadir/plymouth.png

$datadir contains a reference to $datarootdir, so
we need to preexpand the variable in configure, for
the right value to get written to plymouth-populate-initrd.
2010-10-13 08:26:42 -04:00
Brett Witherspoon
d7f59d9dc2 populate-initrd: don't hardcode client and daemon path
When not installing in system root, the populate initrd script would not
install the client or daemon due to the paths being hardcoded.
Environmental variables are also now available to override the defaults.
2010-10-13 08:20:44 -04:00
Brett Witherspoon
07329b7268 image: replace deprecated libpng function
The png_set_gray_1_2_4_to_8 function is deprecated and has been removed
from libpng14. Now png_set_expand_gray_1_2_4_to_8 is used instead which
is compatible with libpng-1.2.9 and greater.
2010-10-13 08:20:10 -04:00
Ray Strode
34c6f34c6d viewer: don't build viewer by default
The viewer is useful for seeing boot messages after boot up.
It does this by showing a notification icon in the event there
is a problem during boot.

Notification icons aren't as en vogue as they once were, however.

Ideally, we would have a more structured and semantically aware
way to deal with specific boot problems.

This commit turns the icon off by default.  It can still be built
with a --with-log-viewer

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=30724
Reported By: William Jon McCann <william.jon.mccann@gmail.com>
2010-10-11 10:33:37 -04:00
Ray Strode
2ca39dacab boot-server: make update handling asyncrhonous
This call needs to be cheap since some distros
do a ton of updates.
2010-10-07 15:42:49 -04:00
Ray Strode
573f8c44a0 utils: use system default max for listen()
There's apparently a define that gives the right value to
pass to listen.  So this commit makes us use that instead of
our arbitrary "32"
2010-10-07 15:08:47 -04:00
Ray Strode
bc55aec23c list: drop node_set_data method
It's not used anywhere, so drop it.
2010-10-07 13:52:29 -04:00
Ray Strode
68109ce9c5 progress: plug small memory leak
We weren't freeing the message structures.
2010-10-07 13:52:29 -04:00
Ray Strode
18541c1d58 main: NULL initialize "console" variable
check_for_consoles is a really small function, that has historically
been loaded with bugs.

This commit fixes another bug in it, where the consoles variable is
never initialized to NULL.
2010-10-07 12:52:04 -04:00
Ray Strode
ace1c6675c branch-merge: clean up socket name
The plymouth client talks to the plymouth daemon via
an abstract socket.  There aren't a lot of "rules" for
the name of the abstract socket, and so plymouth has just
used "/ply-boot-protocol" for the name.  While this is
perfectly valid, a number programs (hal, udev, etc) use
the convention "/org/freedesktop/program".

"/org/freedesktop/plymouthd" is certainly much nicer than
"/ply-boot-protocol" so we're going to change to that, and
fall back to the old name for compatibility.

One other niggle is trailing zeros in the name.  The socket
address is stored in a fixed size buffer.  Traditionally,
programms would pass the size of the entire socket structure,
including the full size of the aaddress buffer to bind and
connect.  This means that any NUL bytes in the address buffer
after the address become part of the address.  This means users
looking at /proc/net/unix will see all the extra NUL bytes.

One trick that some programs employee to skirt around this problem,
is to pass only the size of the structure less the trailing
NUL bytes of the address buffer to bind and connected.  While maybe
not 100% kosher, this works okay in practice.

plymouth will now use that trick as well.
2010-10-06 18:07:08 -04:00
Ray Strode
3ec007a482 protocol: change socket path
Before we were using

  /ply-boot-protocol\0\0\0\0...\0

for our address which really uglifies /proc/net/unix
and doesn't match what a lot of other programs do.

This commit changes the address to just

  /org/freedesktop/plymouthd

which is much nicer.
2010-10-06 18:03:25 -04:00
Ray Strode
f0da04ca88 protocol: drop leading \0 from socket path
The socket path is currently defined to be:

 #define PLY_BOOT_PROTOCOL_SOCKET_PATH "\0/ply-boot-protocol"

The \0 is because it's an abstract socket, and abstract sockets
have a leading NUL.  The code always ignores the NUL though and
adds it back later, so it's not needed.

This commit just drops it.
2010-10-06 17:57:34 -04:00
Ray Strode
9de731ed29 utils: add support for "trimmed abstract" sockets
Right now plymouth listens on an abstract socket with a name
that has a bunch of trailing NUL bytes.  These zeroes uglify
the output of /proc/net/unix among other things.

This commit adds support for a new "trimmed abstract" socket
type, which drops the zeroes.

A subsequent commit will actually change plymouthd to use the
new api.
2010-10-06 17:43:50 -04:00
Ray Strode
da723a3033 set-default-theme: redirect to /dev/null not /null
The set-default-theme script was incorrectly redirecting
stderr from a grep command to /null instead of /dev/null.

This causes a /null file to get created on the filesystem.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=30576
Reported by: David LeBlanc <leblancdw@yahoo.com>
2010-10-04 09:47:24 -04:00
Ray Strode
37522b68c3 viewer: Add a title to the status icon 2010-09-29 23:08:45 -04:00
Ray Strode
288a42120e set-default-theme: exit 0 at bottom of file
This is so that if there is no --rebuild-initrd it still
exits successfully.
2010-09-29 13:25:22 -04:00
Ray Strode
19f478819d terminal-session: add debug messages 2010-09-26 19:14:47 -04:00
Ray Strode
5b4ed8f35a terminal-session: try to continue logging after tty disconnect
Currently, we give up on boot logging after a tty disconnect.
This commit makes the terminal session reattach to the tty, and
continue logging.
2010-09-26 18:17:47 -04:00
Ray Strode
1caaa93837 terminal-session: rename "session_done" to "session_hangup"
In truth, we can get hangups at any time during boot.  It doesn't
mean the session is done, so use better terminology.
2010-09-26 17:59:23 -04:00
Ray Strode
784fbcfb09 main: add __DATE__ to debug prolog
When looking at debug logs, it's often useful to know
how old the build of plymouth featured in the log is.
2010-09-16 21:31:24 -04:00
Ray Strode
e418037965 main: add plymouthd: prefix to some error messages
This will make it clear the error messages are coming
from plymouthd and not some other component during boot.
2010-09-16 21:26:59 -04:00
Ray Strode
b65ec089bd main: use ply_error_without_new_line for help string
It already has new lines in it.
2010-09-16 21:17:50 -04:00
Ray Strode
7e6bc5ac63 utils: Improve debug spew in ply_create_daemon
Right now if plymouthd dies while daemonizing, we show a horrible
error message on the console:

could not read byte from child: Success

This commit mops that up, so we give a little clue why plymouthd's
child process died in its infancy.
2010-09-16 21:10:01 -04:00
Ray Strode
b7c7bdbf76 main: Fix up check_for_consoles
commit c40fd792b6 was just wrong.

Attempt to fix it up to be less awful.
2010-09-10 15:45:11 -04:00
Ray Strode
e6763666e1 utils: plug memory leak
commit ffdfb78be1 introduced
a memory leak because of a copy-and-paste-o.
2010-09-08 11:48:08 -04:00
Ray Strode
ffdfb78be1 boot-server: print who is making requests
One of the big painpoints in plymouth distro integration
out which distro scripts are calling into plymouthd.

This commit makes plymouthd output that information whenever
there is a request from a connected client.
2010-09-08 11:39:38 -04:00
Charlie Brej
2c46832e5d gitignore: Ignore generated script string files 2010-09-08 09:57:41 +01:00
Charlie Brej
845972a5c1 script: Add compatibility redirect for set message function 2010-09-08 09:54:33 +01:00
Charlie Brej
c418d0aa83 client: Alias display-message command to message for backward compatibility 2010-09-07 23:45:31 +01:00
Charlie Brej
74c461fffd command-parser: Allow commands to be aliased
Adds aliases to commands which allow backward compatibility to old names.
2010-09-07 23:44:43 +01:00
Charlie Brej
e50ece1f70 script: Implement hide message function in the example script theme
This leaves ugly spaces where messages used to be, but is simple.
2010-09-07 22:22:08 +01:00
Charlie Brej
b371740a73 script: Add hide message support to the script plugin themes
This also renames SetMessageFunction to SetDisplayMessageFunction, and adds
SetHideMessageFunction
2010-09-07 22:02:03 +01:00