]> git.ipfire.org Git - thirdparty/plymouth.git/log
thirdparty/plymouth.git
14 years agoprogress: speed up progress updates list-optimizations
Ray Strode [Thu, 7 Oct 2010 17:21:13 +0000 (13:21 -0400)] 
progress: speed up progress updates

We now keep the lists sorted at all times,
so we can do binary search.

14 years agolist: add find_node_by_comparing_data method
Ray Strode [Thu, 7 Oct 2010 14:51:12 +0000 (10:51 -0400)] 
list: add find_node_by_comparing_data method

Right now the list finding function looks soley by
pointer comparison.  This new method allows the user
to pass in a custom comparison function.

If we know the list is sorted, we take advantage of that
by using binary search over the list to zero in on the
right node.

14 years agolist: add new insert_and_sort_data method
Ray Strode [Thu, 7 Oct 2010 14:37:13 +0000 (10:37 -0400)] 
list: add new insert_and_sort_data method

When needing to maintain a sorted list,
it's often nice to be able to just sort items
as they're inserted.  This prevents a lot of
excessive looping.

This commit adds a new function that will sort
the list if it's not already sorted, and then
maintain the sort for new items added with the
function.

14 years agolist: drop node_set_data method
Ray Strode [Thu, 7 Oct 2010 16:58:19 +0000 (12:58 -0400)] 
list: drop node_set_data method

It's not used anywhere, so drop it.

14 years agoprogress: plug small memory leak
Ray Strode [Thu, 7 Oct 2010 17:18:26 +0000 (13:18 -0400)] 
progress: plug small memory leak

We weren't freeing the message structures.

14 years agomain: NULL initialize "console" variable
Ray Strode [Thu, 7 Oct 2010 16:47:47 +0000 (12:47 -0400)] 
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.

14 years agobranch-merge: clean up socket name
Ray Strode [Wed, 6 Oct 2010 22:07:08 +0000 (18:07 -0400)] 
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.

14 years agoprotocol: change socket path
Ray Strode [Wed, 6 Oct 2010 22:03:25 +0000 (18:03 -0400)] 
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.

14 years agoprotocol: drop leading \0 from socket path
Ray Strode [Wed, 6 Oct 2010 21:57:34 +0000 (17:57 -0400)] 
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.

14 years agoutils: add support for "trimmed abstract" sockets
Ray Strode [Wed, 6 Oct 2010 21:43:50 +0000 (17:43 -0400)] 
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.

14 years agoset-default-theme: redirect to /dev/null not /null
Ray Strode [Mon, 4 Oct 2010 13:47:24 +0000 (09:47 -0400)] 
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>

14 years agoviewer: Add a title to the status icon
Ray Strode [Thu, 30 Sep 2010 03:08:45 +0000 (23:08 -0400)] 
viewer: Add a title to the status icon

14 years agoset-default-theme: exit 0 at bottom of file
Ray Strode [Wed, 29 Sep 2010 17:25:22 +0000 (13:25 -0400)] 
set-default-theme: exit 0 at bottom of file

This is so that if there is no --rebuild-initrd it still
exits successfully.

14 years agoterminal-session: add debug messages
Ray Strode [Sun, 26 Sep 2010 23:14:47 +0000 (19:14 -0400)] 
terminal-session: add debug messages

14 years agoterminal-session: try to continue logging after tty disconnect
Ray Strode [Sun, 26 Sep 2010 22:17:47 +0000 (18:17 -0400)] 
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.

14 years agoterminal-session: rename "session_done" to "session_hangup"
Ray Strode [Sun, 26 Sep 2010 21:59:23 +0000 (17:59 -0400)] 
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.

14 years agomain: add __DATE__ to debug prolog
Ray Strode [Fri, 17 Sep 2010 01:31:24 +0000 (21:31 -0400)] 
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.

14 years agomain: add plymouthd: prefix to some error messages
Ray Strode [Fri, 17 Sep 2010 01:26:38 +0000 (21:26 -0400)] 
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.

14 years agomain: use ply_error_without_new_line for help string
Ray Strode [Fri, 17 Sep 2010 01:17:50 +0000 (21:17 -0400)] 
main: use ply_error_without_new_line for help string

It already has new lines in it.

14 years agoutils: Improve debug spew in ply_create_daemon
Ray Strode [Fri, 17 Sep 2010 01:10:01 +0000 (21:10 -0400)] 
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.

14 years agomain: Fix up check_for_consoles
Ray Strode [Fri, 10 Sep 2010 19:43:28 +0000 (15:43 -0400)] 
main: Fix up check_for_consoles

commit c40fd792b6edf931a6bbe2ec23518b57483a4e2f was just wrong.

Attempt to fix it up to be less awful.

14 years agoutils: plug memory leak
Ray Strode [Wed, 8 Sep 2010 15:48:08 +0000 (11:48 -0400)] 
utils: plug memory leak

commit ffdfb78be1bcda708fd89faf645b582f88c6f1d5 introduced
a memory leak because of a copy-and-paste-o.

14 years agoboot-server: print who is making requests
Ray Strode [Wed, 8 Sep 2010 14:31:31 +0000 (10:31 -0400)] 
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.

14 years agogitignore: Ignore generated script string files
Charlie Brej [Wed, 8 Sep 2010 08:57:41 +0000 (09:57 +0100)] 
gitignore: Ignore generated script string files

14 years agoscript: Add compatibility redirect for set message function
Charlie Brej [Wed, 8 Sep 2010 08:54:33 +0000 (09:54 +0100)] 
script: Add compatibility redirect for set message function

14 years agoclient: Alias display-message command to message for backward compatibility
Charlie Brej [Tue, 7 Sep 2010 22:45:31 +0000 (23:45 +0100)] 
client: Alias display-message command to message for backward compatibility

14 years agocommand-parser: Allow commands to be aliased
Charlie Brej [Tue, 7 Sep 2010 22:44:43 +0000 (23:44 +0100)] 
command-parser: Allow commands to be aliased

Adds aliases to commands which allow backward compatibility to old names.

14 years agoscript: Implement hide message function in the example script theme
Charlie Brej [Tue, 7 Sep 2010 21:22:08 +0000 (22:22 +0100)] 
script: Implement hide message function in the example script theme

This leaves ugly spaces where messages used to be, but is simple.

14 years agoscript: Add hide message support to the script plugin themes
Charlie Brej [Tue, 7 Sep 2010 21:02:03 +0000 (22:02 +0100)] 
script: Add hide message support to the script plugin themes

This also renames SetMessageFunction to SetDisplayMessageFunction, and adds
SetHideMessageFunction

14 years agomain: Inform plugins of hidden messages
Charlie Brej [Tue, 7 Sep 2010 20:49:44 +0000 (21:49 +0100)] 
main: Inform plugins of hidden messages

Informs plugins of each message that is now hidden. Later could match on
wild-cards, but plugins will get a list of exact string matches.

14 years agoboot-splash: Add "hide message" splash plugin call
Charlie Brej [Tue, 7 Sep 2010 20:45:57 +0000 (21:45 +0100)] 
boot-splash: Add "hide message" splash plugin call

No splashes use this yet.

14 years agoboot-splash: Clean up indenting and function order
Charlie Brej [Tue, 7 Sep 2010 20:32:59 +0000 (21:32 +0100)] 
boot-splash: Clean up indenting and function order

Display normal, password, quastion should be together

14 years agoboot-splash: Clean up indenting
Charlie Brej [Tue, 7 Sep 2010 20:29:11 +0000 (21:29 +0100)] 
boot-splash: Clean up indenting

14 years agomain: Remove the hidden message from the message list
Charlie Brej [Tue, 7 Sep 2010 20:25:10 +0000 (21:25 +0100)] 
main: Remove the hidden message from the message list

The plugins are not updated unless they are switched off and on again

14 years agoboot-client: Add hide-message client command
Charlie Brej [Tue, 7 Sep 2010 20:23:14 +0000 (21:23 +0100)] 
boot-client: Add hide-message client command

This renames "message" command to "display-message".

14 years agoboot-server: Add "hide message" handler to boot server
Charlie Brej [Tue, 7 Sep 2010 19:53:48 +0000 (20:53 +0100)] 
boot-server: Add "hide message" handler to boot server

Main server currently sets this to NULL to disable this callback.

14 years agoprotocol: Add "hide message" command to the protocol
Charlie Brej [Tue, 7 Sep 2010 19:35:28 +0000 (20:35 +0100)] 
protocol: Add "hide message" command to the protocol

This also renames the "message" command to "show message".

14 years agodetails: Implement display_message
Colin Watson [Tue, 7 Sep 2010 17:56:37 +0000 (18:56 +0100)] 
details: Implement display_message

Messages are queued until any question or password entry prompts
complete.

https://bugs.freedesktop.org/show_bug.cgi?id=29035

14 years agomain: Open /proc/cmdline by absolute path
Colin Watson [Tue, 7 Sep 2010 14:18:52 +0000 (15:18 +0100)] 
main: Open /proc/cmdline by absolute path

Open /proc/cmdline, not proc/cmdline.  (Technically this doesn't matter
in the daemon, since it's already done chdir ("/"), but the client does
need this and it's clearer to have them match.)

14 years agoclient: Open /proc/cmdline by absolute path
Colin Watson [Tue, 7 Sep 2010 14:18:00 +0000 (15:18 +0100)] 
client: Open /proc/cmdline by absolute path

Open /proc/cmdline, not proc/cmdline.

14 years ago[script] Add font selection argument to text to image capability
Anisse Astier [Thu, 2 Sep 2010 15:53:25 +0000 (16:53 +0100)] 
[script] Add font selection argument to text to image capability

Enables scripts to choose the font they want with a sixth argument to
Image.Text API:
new_image = Image.Text("Hello", 1, 1, 1, 1, "DejaVu Bold,Italic 18");

14 years ago[label] Add font controls to label plugins
Anisse Astier [Thu, 2 Sep 2010 15:48:20 +0000 (16:48 +0100)] 
[label] Add font controls to label plugins

14 years ago[label] Factorize some font init code
Anisse Astier [Thu, 2 Sep 2010 15:41:41 +0000 (16:41 +0100)] 
[label] Factorize some font init code

14 years ago[drm] plug driver_name leak
Ray Strode [Sun, 22 Aug 2010 23:57:56 +0000 (19:57 -0400)] 
[drm] plug driver_name leak

The previous commit accidentially added a small memory leak.
This commit mops that up.

14 years ago[drm] Add preliminary support for libkms
Ray Strode [Sun, 22 Aug 2010 21:13:45 +0000 (17:13 -0400)] 
[drm] Add preliminary support for libkms

This commit adds most of the pieces in place to use libkms, a
library by Jakob Bornecrantz, that abstracts the drm drivers
behind a common api.

Right now, we only fallback to libkms if the existing
backends won't work for the configured hardware.

In theory, this will give us pretty boot in virtual
machines, since libkms has support for the vmwgfx drm driver.

Aside from vmwgfx, libkms also supports intel and nouveau right
now.  When it supports radeon, too, I'll probably switch to
using libkms by default instead of as a fallback.  Eventually,
I'd like to drop all the non-libkms backend bits and the whole
driver vtable abstraction thing from plymouth completely.

This commit is just a copy-and-paste of one of the existing
drm backend files, with changes made to accomodate the libkms
api.  I haven't actually tested it, yet, so it will probably
need changes after I get a chance to do that.

14 years ago[client] Update top line of help output
Ray Strode [Sun, 22 Aug 2010 19:49:41 +0000 (15:49 -0400)] 
[client] Update top line of help output

It said "Boot splash control client" before, but we do
boot and shutdown splashes.

14 years ago[main] Update top line of help output
Ray Strode [Sun, 22 Aug 2010 19:48:44 +0000 (15:48 -0400)] 
[main] Update top line of help output

It said "Boot splash control server" before, but we do
boot and shutdown splashes, and the word "control" doesn't
make sense.

14 years ago[two-step] Add prototype for exported function
Ray Strode [Sun, 22 Aug 2010 19:47:27 +0000 (15:47 -0400)] 
[two-step] Add prototype for exported function

14 years ago[space-flares] mark functions static
Ray Strode [Sun, 22 Aug 2010 19:46:44 +0000 (15:46 -0400)] 
[space-flares] mark functions static

14 years ago[space-flares] Add prototype for exported function
Ray Strode [Sun, 22 Aug 2010 19:45:22 +0000 (15:45 -0400)] 
[space-flares] Add prototype for exported function

14 years agoAdd prototype for exported function
Ray Strode [Sun, 22 Aug 2010 19:44:32 +0000 (15:44 -0400)] 
Add prototype for exported function

14 years ago[fade-throbber] Add prototype for exported function
Ray Strode [Sun, 22 Aug 2010 19:43:52 +0000 (15:43 -0400)] 
[fade-throbber] Add prototype for exported function

14 years ago[throbgress] add prototype for exported function
Ray Strode [Sun, 22 Aug 2010 19:43:06 +0000 (15:43 -0400)] 
[throbgress] add prototype for exported function

14 years ago[label] add prototype for exported function
Ray Strode [Sun, 22 Aug 2010 19:42:12 +0000 (15:42 -0400)] 
[label] add prototype for exported function

14 years ago[label] remove bogus whitespace
Ray Strode [Sun, 22 Aug 2010 19:41:13 +0000 (15:41 -0400)] 
[label] remove bogus whitespace

14 years ago[label] mark functions static
Ray Strode [Sun, 22 Aug 2010 19:40:55 +0000 (15:40 -0400)] 
[label] mark functions static

14 years ago[throbber] drop unused variable
Ray Strode [Sun, 22 Aug 2010 19:39:38 +0000 (15:39 -0400)] 
[throbber] drop unused variable

14 years ago[throbber] fix incorrect cast
Ray Strode [Sun, 22 Aug 2010 19:39:08 +0000 (15:39 -0400)] 
[throbber] fix incorrect cast

14 years ago[animation] drop unsed variable
Ray Strode [Sun, 22 Aug 2010 19:37:16 +0000 (15:37 -0400)] 
[animation] drop unsed variable

14 years ago[animation] fix signedness warnings
Ray Strode [Sun, 22 Aug 2010 19:36:47 +0000 (15:36 -0400)] 
[animation] fix signedness warnings

14 years ago[throbber] fix signedness warning
Ray Strode [Sun, 22 Aug 2010 19:35:57 +0000 (15:35 -0400)] 
[throbber] fix signedness warning

14 years ago[region] clean up bogus whitespace
Ray Strode [Sun, 22 Aug 2010 19:34:35 +0000 (15:34 -0400)] 
[region] clean up bogus whitespace

14 years ago[region] drop unused variables
Ray Strode [Sun, 22 Aug 2010 19:34:06 +0000 (15:34 -0400)] 
[region] drop unused variables

14 years ago[region] mark do_test static
Ray Strode [Sun, 22 Aug 2010 19:33:23 +0000 (15:33 -0400)] 
[region] mark do_test static

14 years ago[rectangle] Remove bogus whitespace
Ray Strode [Sun, 22 Aug 2010 19:32:35 +0000 (15:32 -0400)] 
[rectangle] Remove bogus whitespace

14 years ago[rectangle] drop unused variable
Ray Strode [Sun, 22 Aug 2010 19:31:54 +0000 (15:31 -0400)] 
[rectangle] drop unused variable

14 years ago[region] Use correct type for loops
Ray Strode [Sun, 22 Aug 2010 19:30:27 +0000 (15:30 -0400)] 
[region] Use correct type for loops

We were using ints when dealing with rectangles which
use longs.

14 years ago[two-step] Don't crash if throbber is unavailable
Ray Strode [Sat, 21 Aug 2010 21:01:30 +0000 (17:01 -0400)] 
[two-step] Don't crash if throbber is unavailable

While the code took some steps to make the throbber optional,
it missed conditionalizing usage of the throbber in the
exit path.

14 years ago[animation] Properly handle zero animation frames
Ray Strode [Sat, 21 Aug 2010 20:59:04 +0000 (16:59 -0400)] 
[animation] Properly handle zero animation frames

In the event there are no animation frames, we should
fail to load the animation control.

14 years ago[drm] free stored connector
Ray Strode [Sat, 21 Aug 2010 02:07:26 +0000 (22:07 -0400)] 
[drm] free stored connector

For most connectors associating monitors with our virtual
'heads', we merely track their ids.  This means we don't have
to bother freeing any client side state at deallocation time.

There's one exception, though.  The main connector, connector0,
we keep an open reference to.  We do this, because it owns the
mode object we use in SetCrtc calls.

This commit ensures that connector0 for each head is properly freed
when that head is deallocated.

14 years ago[drm] Allow multiple monitors to share one controller
Ray Strode [Thu, 19 Aug 2010 18:22:48 +0000 (14:22 -0400)] 
[drm] Allow multiple monitors to share one controller

Some underpowered video cards will have multiple connectors
tied to one controller.  In this case all connectors get
the same "cloned" output automatically.

This commit detects this situation and prevents plymouth from
wastefully trying to allocate several frame buffers.  This
commit also prevents plymouth from constantly trying to switch
between those allocated frame buffers every frame of the animation.

14 years ago[array] Support integer elements
Ray Strode [Thu, 19 Aug 2010 23:07:17 +0000 (19:07 -0400)] 
[array] Support integer elements

Right now all array elements must be pointer values, or
at least pointer sized values.

This commit allows 32-bit integers as elements as well.

15 years agoRevert "[drm] Store color depth in buffers"
Ray Strode [Thu, 19 Aug 2010 17:01:38 +0000 (13:01 -0400)] 
Revert "[drm] Store color depth in buffers"

This reverts commit 4469b8719e32cb179a4ae792e4aaf1bcf7789618.

It was really only needed for commit
625b82f2c3a4f7aa1ea90133fbbda854bd3c2f8d which we've now
reverted, so revert this one, too.

15 years agoRevert "[drm] bail if not in 24bpp color mode"
Ray Strode [Thu, 19 Aug 2010 17:00:28 +0000 (13:00 -0400)] 
Revert "[drm] bail if not in 24bpp color mode"

This reverts commit 625b82f2c3a4f7aa1ea90133fbbda854bd3c2f8d.

Even if the kernel fb console is 8bpp, we can (and indeed do)
create our own 24bpp buffer, so the commit wasn't right.

15 years ago[drm] bail if not in 24bpp color mode
Ray Strode [Wed, 18 Aug 2010 20:16:35 +0000 (16:16 -0400)] 
[drm] bail if not in 24bpp color mode

Some server hardware gets initialized into 8bpp mode to
conserve memory.  We can't work in that mode, so we now
check for it and back early.

15 years ago[drm] Store color depth in buffers
Ray Strode [Wed, 18 Aug 2010 20:07:08 +0000 (16:07 -0400)] 
[drm] Store color depth in buffers

We only really support full color layouts at the moment
for kernel modesetting drivers, but this commit adds a
"color_depth" member to the buffer structs so we can at
least recognize non-conforming buffers.

15 years ago[main] Properly handle no serial consoles
Ray Strode [Thu, 5 Aug 2010 01:05:21 +0000 (21:05 -0400)] 
[main] Properly handle no serial consoles

The previous commit introduced an error where
console could potentially be accessed while
NULL.

This commit addresses that problem.

15 years ago[main] Ignore duplicate serial consoles on kernel command line
Ray Strode [Tue, 3 Aug 2010 22:29:48 +0000 (18:29 -0400)] 
[main] Ignore duplicate serial consoles on kernel command line

Right now if a user erroneously puts, e.g., console=ttyS0 twice
on their kernel command line, plymouth will open that tty twice
and write to it twice, and read from it twice, etc.

This commit filters those duplicates out.

15 years ago[boot-splash] Add built-in plugin
Ray Strode [Tue, 27 Jul 2010 22:30:13 +0000 (18:30 -0400)] 
[boot-splash] Add built-in plugin

There are times when plymouth is running that the filesystem isn't
accessible.  For instance, if a user has /usr as a separate partition,
then when first leaving the initrd, plymouth won't have access to its
plugins.

In those cases we really need to survive if the user hits escape.

This commit compiles details into the binary.  In this way, if the
plugins aren't available, we still have something to fall back to.

15 years ago[main] Parse args at end of /proc/cmdline properly
Ray Strode [Tue, 27 Jul 2010 22:43:32 +0000 (18:43 -0400)] 
[main] Parse args at end of /proc/cmdline properly

We weren't treating \n as an acceptable boundary

15 years ago[terminal] fix debug statement
Ray Strode [Sat, 24 Jul 2010 02:19:30 +0000 (22:19 -0400)] 
[terminal] fix debug statement

It was missing an argument.

15 years ago[configure] Bump configure to 0.8.4
Ray Strode [Sat, 24 Jul 2010 02:15:48 +0000 (22:15 -0400)] 
[configure] Bump configure to 0.8.4

We aren't doing a release yet, this is just prep work
for an eventual release.

15 years ago[main] only look for a shell in valid returned prefixed strings
Charlie Brej [Wed, 21 Jul 2010 14:54:36 +0000 (15:54 +0100)] 
[main] only look for a shell in valid returned prefixed strings

Fixes a segfault if no "init=" is present

15 years ago[main] Don't watch for keyboard input if no keyboard
Ray Strode [Wed, 21 Jul 2010 04:21:16 +0000 (00:21 -0400)] 
[main] Don't watch for keyboard input if no keyboard

In the event should_ignore_show_splash_calls () returns
true, we won't ever have a keyboard set.  This commit
make sure that we don't try to use the keyboard if its
unavailable.

15 years ago[main] Try to be smarter about init=/foo on kernel command line
Ray Strode [Wed, 21 Jul 2010 03:02:54 +0000 (23:02 -0400)] 
[main] Try to be smarter about init=/foo on kernel command line

Right now, we put plymouth into a sort of degraded mode when we
find init=/anything on the kernel command line.  This is so if
the user does init=/bin/sh to get fix their system, we don't
get in the way.

This breaks plymouth for things like init=/sbin/bootchartd and even
init=/sbin/init.  We've previously had a plymouth.override-splash
kernel command line option to force plymouth on in those cases.

This commit flips things around a bit.  Now init=/sbin/bootchartd
will work by default and there's a new option
plymouth.ignore-show-splash which forces things back into degraded
mode.  We also will implicitly do the degraded mode for e.g.
init=/foo/barsh

15 years ago[main] Use plymouth.arg instead of plymouth:arg for kernel cmdline
Ray Strode [Wed, 21 Jul 2010 02:45:21 +0000 (22:45 -0400)] 
[main] Use plymouth.arg instead of plymouth:arg for kernel cmdline

Plymouth has historically used "plymouth:" to identify arguments destined
for it on the kernel command line.  Most other things seem to the period
instead of colon, so this commit just makes plymouth conform.

For compatibility, we still support the old way.

15 years ago[main] drop all the open strstr calls
Ray Strode [Wed, 21 Jul 2010 02:27:25 +0000 (22:27 -0400)] 
[main] drop all the open strstr calls

Our kernel command line processing is rather ad hoc.
This commit tries to clean it up a small amount by
adding functions to hide the strstr details.

15 years ago[populate-initrd] don't croak when encountering broken symlink
Ray Strode [Tue, 13 Jul 2010 21:33:39 +0000 (17:33 -0400)] 
[populate-initrd] don't croak when encountering broken symlink

Because of an apparent think-o in the script, if a custom theme
has a broken symlink in it, plymouth-populate-initrd would silently
stop processing files and ship an incomplete set of data files.

This commit changes "break" to "continue" so that broken symlinks
are ignored, which was probably the original intent.

15 years ago[set-default-theme] Properly quote arguments to basename
Bruce Jerrick [Tue, 6 Jul 2010 15:13:38 +0000 (11:13 -0400)] 
[set-default-theme] Properly quote arguments to basename

It's important to make sure the theme name is properly
quoted when passed to the basename command.  This
is because, if the theme name is empty we want the empty
string returned, not the suffix that would otherwise be
stripped off.

Some discussion here:
https://bugzilla.redhat.com/show_bug.cgi?id=606634

15 years ago[details] detach from event loop when quitting
Ray Strode [Thu, 1 Jul 2010 01:55:59 +0000 (21:55 -0400)] 
[details] detach from event loop when quitting

If the user has the details plugin configured, and the
system does plymouth quit --retain-splash, then their
may be a crash.

This is because the plugin event loop exit handler will called
after the plugin is destroyed.  This commit makes sure
the exit handler is removed before the plugin is freed.

15 years ago[main] try more aggressively to find a terminal
Ray Strode [Thu, 1 Jul 2010 00:32:53 +0000 (20:32 -0400)] 
[main] try more aggressively to find a terminal

Before we defaulted to tty1, but some systems just
don't have tty1.  Normally, those systems specify
an alternate console on the kernel command line,
but not always.

This commit tries to make things work in those cases
as well.

I'd like to find a more generic way to make this all
work.

15 years ago[terminal] Add OPOST to tty attributes
Ray Strode [Thu, 1 Jul 2010 00:18:08 +0000 (20:18 -0400)] 
[terminal] Add OPOST to tty attributes

ONLCR apparently requires OPOST to work.

This should prevent weird "stair stepping"
effects when non-plymouth things try to
use the terminal.

15 years ago[terminal] Force enter to output newline
Ray Strode [Wed, 30 Jun 2010 23:43:16 +0000 (19:43 -0400)] 
[terminal] Force enter to output newline

This matches the default unix behavior, and so we're going to be a lot
more robust against our terminal settings getting mucked with.

15 years ago[client] Fix watch-keystroke cancellation
Ray Strode [Wed, 30 Jun 2010 20:04:14 +0000 (16:04 -0400)] 
[client] Fix watch-keystroke cancellation

If someone calls --ignore-keystroke then
the watch-keystroke command shouldn't get
run and the exit code should be different
than if it does get run.

15 years ago[viewer] make boot messages show up in monospace
Ray Strode [Wed, 30 Jun 2010 13:12:24 +0000 (09:12 -0400)] 
[viewer] make boot messages show up in monospace

They're sort of designed for it, and look weird in some cases,
otherwise.

15 years ago[viewer] add window icon
Ray Strode [Wed, 30 Jun 2010 13:00:05 +0000 (09:00 -0400)] 
[viewer] add window icon

Before it was showing up as an ugly generic icon.

15 years ago[throbber] fix drawing artifact
Ray Strode [Thu, 17 Jun 2010 20:11:42 +0000 (16:11 -0400)] 
[throbber] fix drawing artifact

The code was using the wrong x and y values, which meant initially
there is an opportunity to draw a frame in the wrong place.

15 years ago[event-loop] Handle more than 8 events at once
Tero Mononen [Tue, 15 Jun 2010 14:15:51 +0000 (10:15 -0400)] 
[event-loop] Handle more than 8 events at once

epoll_wait was getting passed a pointer to 64 events,
but was only being told to use up to 8 of those events
at a time because it was using sizeof (pointer) for the
argument specifying the number of events instead of the
actual number of events.

15 years ago[drm] Try to maintain current mode when overridden
Ray Strode [Mon, 14 Jun 2010 03:16:48 +0000 (23:16 -0400)] 
[drm] Try to maintain current mode when overridden

plymouth has naïvely been treating the first available mode in
the connector object as the active mode. While this is true
most of the time, it doesn't hold true if the user overrides the
mode on the kernel command line.

This commit changes things to look up the actual active mode, and go
with that, which should help prevent flicker at start up in some cases.

This patch is based heavily on a patch from Forest Bond
<forest@alittletooquiet.net> here:

http://lists.freedesktop.org/archives/plymouth/2010-June/000369.html

and first mentioned in commit abfda7550ac2fca6d816862e271126c2f44fa3cc

15 years ago[drm] Make find_controller return the crtc not crtc id
Ray Strode [Mon, 14 Jun 2010 02:45:36 +0000 (22:45 -0400)] 
[drm] Make find_controller return the crtc not crtc id

This will give us the ability to look at the currently active
mode and so paves the way toward cleaning up a recently added
FIXME in the code.