Commit graph

1705 commits

Author SHA1 Message Date
Kevin Murphy
c20cd45346 main: corrected error in read_consoles_from_file 2012-04-27 11:22:19 -04:00
Kevin Murphy
87b27bd1a8 main: fix bug in add_consoles_from_file
commit 6baab7a8f8 was the
result of Ray Strode splitting part of a larger patch
out. The splitting and subsequent modifications weren't
completely right.

This commit contains some fixes to address the problems
with those changes.
2012-04-26 10:42:27 -04:00
Ray Strode
6e50233b03 main: add plymouth.ignore-serial-consoles
This commit adds plymouth.ignore-serial-consoles kernel command
line for OLPC to use.

Eventually, we'll support multiple plugins at once, and we can
run details on the serial console and e.g. two-step on the main
console and then this argument won't be needed.
2012-04-25 18:22:00 -04:00
Ray Strode
e1e4779629 Revert "main: add way to ignore /sys/class/tty/console/active"
This reverts commit 9e3071520d.

This command line option is sort of awkward. It would be better
to provide a kernel command line escape hatch.
2012-04-25 18:17:26 -04:00
Ray Strode
ae29ca2d91 main: add default console for default scenarios
commit e810532e5d contained
a function called add_consoles_from_file that was a badly
modified version of add_consoles_from_kernel_command_line
changed to read from /sys/class/tty/console/active instead
of /proc/cmdline.

Previously, if we had console=SOMETHING on the kernel command
line, then we would assume the user is using serial consoles
and force details.  This translated to if add_consoles_from_file
finds any devices in /sys/class/tty/console/active force details.

Of course, /sys/class/tty/console/active contains tty0 even when
the user doesn't specify console=tty0 on the kernel command line,
so this broke show-splash calls.

This commit changes the logic bit.  We now only force details if
there is some console in the list that isn't tty0.

This restores show-splash functionality.
2012-04-25 18:01:45 -04:00
Kevin Murphy
6baab7a8f8 main: make add_consoles_from_file more robust
add_consoles_from_file was a little fast and loose in its parsing.

This commit makes it a little more fault tolerant.

Patch split from larger patch, and modified by Ray Strode.
2012-04-25 16:01:38 -04:00
James Hunt
16c7b306b3 event-loop: hold reference to ready sources while handling timeouts
If ply_event_loop_handle_timeouts() is called before the events returned
by epoll_wait() are given references, a timeout handler can prematurely
free an event source by calling ply_event_loop_stop_watching_fd leading
to crashes and other undefined behaviour since
ply_event_loop_process_pending_events() dispatches the event sources
returned by epoll_wait() after the timeouts have been handled.

Thanks to cjwatson for a simpler solution to my original fix.

Minor changes by Ray Strode.

https://bugs.freedesktop.org/show_bug.cgi?id=28548
2012-04-24 18:03:03 -04:00
Ray Strode
dd3a6dcc6f event-loop: drop redundant EINTR/EAGAIN check
We check it a couple lines earlier in the code, so
there's no reason to check it again.
2012-04-24 17:58:18 -04:00
Ray Strode
9e3071520d main: add way to ignore /sys/class/tty/console/active
Previously OLPC used --kernel-command-line to make plymouth
ignore specific consoles.  That no longer works, now that we
read from /sys/class/tty/console/active

This commit adds an escape hatch, a way to get back to the old
behavior.
2012-04-10 10:14:30 -04:00
Ray Strode
d4267ec71a main: rename remaining_command_line to remaining_file_contents
add_consoles_from_file suffers from a sever case of
cut-and-paste-itis.  This commit renames its variable
"remaining_command_line" to "remaining_file_contents" so that
the variable name actually makes sense.
2012-04-09 14:34:46 -04:00
Ray Strode
955534e18f main: more console fixes
When parsing /sys/class/tty/console/active,
we need to make sure we jump over spaces in
the command line
2012-04-09 14:33:08 -04:00
Ray Strode
a3af9feed3 main: only force details if system has non-tty0 console
Right now we're unconditionally forcing details mode,
which is clearly wrong.
2012-04-09 14:27:44 -04:00
Ray Strode
270615b516 populate-initrd: add new location for dracut source functions 2012-04-04 15:02:53 -04:00
Ray Strode
03498536f2 main: more console fixes 2012-04-04 11:41:40 -04:00
Ray Strode
f61c12af16 main: break out of loop when hitting trailing new line
It's important to ignore chunks of the active tty buffer
that are just whitespace.
2012-04-04 11:38:45 -04:00
Ray Strode
990f332b3f main: fix inverted conditional in active console reading code
We were failing when read succeeded, not when it failed, so
we were always reverting to fallback.
2012-04-04 11:30:26 -04:00
Ray Strode
f15abb5d95 main: strdup default tty
Just noticed a memory management problem when looking through
the code.
2012-04-04 10:42:12 -04:00
Colin Guthrie
032a30c489 main: Also show splash for 'splash=silent' arguments (which is what we use in Mageia) 2012-03-21 10:36:30 -04:00
Colin Guthrie
b8f2e2b11f main: Fix parsing of plymouth.debug=stream: argument.
It did not terminate at space so the log file to use was not
properly defined and any additional kernel command line args were
added to the end of the file name.
2012-03-21 10:36:12 -04:00
Per Øyvind Karlsen
3f0cf34885 ulibc: Change the link order + add -ldl
ulibc linking is a bit more particular than regular glibc
2012-03-21 10:35:37 -04:00
Per Øyvind Karlsen
153b77e7e3 ulibc: Make the /usr/lib substitution less greedy. 2012-03-21 10:35:30 -04:00
Per Øyvind Karlsen
3aaee87bf9 ulibc: Add header needed when compiling against ulibc 2012-03-21 10:35:05 -04:00
Daniel Drake
b840b6f73c frame-buffer: use /dev/fb0 as default device
The /dev/fb symlink doesn't get created with any recent udev version.
dracut puts it in place "by hand" before starting plymouthd, which is
why things aren't broken in configurations that use dracut's plymouth
module.

Update the default device path so that it works out-of-the-box in
other setups too.
2012-03-17 02:39:03 -04:00
Daniel Drake
6cd7fd00d1 ply-splash-graphics: ensure link in config file
While building a theme externally I found that the link to
libply-splash-graphics was missing, due to an omission in the config
file.
2012-03-17 02:38:00 -04:00
Ray Strode
b8de41ef07 plymouth-populate-initrd: Check for new path to dracut-functions 2012-02-23 10:04:37 -05:00
Ray Strode
488a5d6578 Revert "Hang around until killed by init at shutdown"
This reverts commit 841068ba12.

That commit made plymouthd hang around until the last round
of slayings by init to keep the splash screen up as long as
possible.

That adds 5 seconds to shut down in some cases, though, so
is wrong.  Instead we need a solution that keeps the splash
around after plymouth exits.

See http://bugzilla.redhat.com/744932
2012-01-19 12:32:11 -05:00
Ray Strode
e810532e5d main: read consoles from /sys/class/tty/console/active
We currently read the list of available consoles from the
kernel command line.

This isn't the most reliable way to do things.

This commit changes the code to read

/sys/class/tty/console/active

instead.
2011-12-02 17:18:41 -05:00
Ray Strode
553c3e8643 main: close all terminals, not just local console terminal
It's important we close all terminals in the shutdown path,
so they all get unlocked and returned to cooked mode.

Previously, we would just close the local console terminal,
which meant other terminals would end up left in a broken state.
2011-10-13 11:55:43 -04:00
Ray Strode
b636493e08 main: rename state->terminal to state->local_console_terminal
state->terminal is used for VT handling code.  To make it clear
what its role is, rename it to state->local_console_terminal.
2011-10-13 11:55:24 -04:00
Ray Strode
95c3522e92 main: don't overwrite state->terminal if there are multiple consoles
We call the add_display_and_keyboard_for_terminal function for
every console passed into the kernel command line and once for
/dev/tty1 if no console line is passed in. This function
repeatedly, reinitializes state->terminal with whatever
terminal is passed in each time its called.

This commit changes add_display_and_keyboard_for_terminal to not
touch state->terminal and instead makes the callers do it
(if appropriate)
2011-10-13 11:52:04 -04:00
Ray Strode
3a627b7878 boot-splash: deduce terminal from text display
Right now we pass a terminal to the constructor of the boot splash
object.  This terminal is used for going to KD_TEXT mode when
ctrl-T is tapped or when hiding the splash.

We only need to do this, though, when:

1) we're running on a local vt
2) we're showing graphics

the boot-splash code has all the knowledge it needs to figure these
two things out on its own, and furtermore it already can figure out
which terminal is the relevant one without being told at construct
time.

This commit adds those smarts to the boot splash code.
2011-10-13 11:49:19 -04:00
Ray Strode
2d1e0c8938 main: fix kernel command line parsing
check_for_consoles has another bug (surprised?) where it would
jump too many characters forward if the command line has
console=tty0 in it, since tty0 is transparently changed to /dev/tty1.
2011-10-12 15:50:56 -04:00
James Hunt
1946bbc0de main: plug fd leak
This plugs an fd leak in an error path
2011-10-11 22:11:10 -04:00
Ray Strode
bd7a6bc929 utils: drop ply_list_directory
It's unused code
2011-10-11 22:09:37 -04:00
James Hunt
4cb4edd9f8 utils: plug dir fd leak
This commit calls closedir() in an error path.
2011-10-11 22:08:48 -04:00
James Hunt
128e14d342 logger: plug fd leak
This plugs an fd leak in an error path.
2011-10-11 22:05:54 -04:00
James Hunt
bcb27226b7 text-progress-bar: plug fd leak
This plugs a fd leak in an error path
2011-10-11 22:03:08 -04:00
James Hunt
9fffcda4c5 client: fix fd leak
This plugs an fd leak in an error path
2011-10-11 22:01:07 -04:00
Ray Strode
7d198ba28a README: resync from wiki
walters pointed out the README had some stale information in
it.  I've copy and pasted the wiki text in, now, so there
will be hopefully a small quantity of said stale information.
2011-10-10 10:54:00 -04:00
Colin Walters
76142a6f6e autogen.sh: rework to be more buildsystem friendly
One of the goals laid out in
http://people.gnome.org/~walters/docs/build-api.txt
is to get projects to have autogen.sh scripts that
don't invoke configure after generating it.

This commit does that along with some other small
modifications designed to help be more confromant
with the Build API referenced in the above url.

https://bugs.freedesktop.org/show_bug.cgi?id=41629
2011-10-10 09:16:10 -04:00
James Hunt
7e934255c5 event-loop: use static buffer instead of stack allocation buffer
alloca() isn't a good idea to use, in general, because it provides
undefined behavior when it fails.

This commit changes the epoll event buffer from being stack allocated
to static to avoid any potentially problems resulting from stack
space exhaustion.

https://bugs.freedesktop.org/show_bug.cgi?id=41562
2011-10-07 14:26:09 -04:00
Ville Skyttä
788db29334 README: spelling fix.
This changes the mispelled word analagous to the
word analogous.

https://bugs.freedesktop.org/show_bug.cgi?id=41196
2011-09-26 09:56:30 -04:00
Ray Strode
b8f8fdbb88 throbgress: add plugin decelartion
This should fix the build.

https://bugs.freedesktop.org/show_bug.cgi?id=40240
2011-08-19 17:32:36 -04:00
Leho Kraav
5439ef520d throbgress: make colors configurable
This commit makes the background start and
background end colors configurable in throbgress.
2011-08-18 11:23:44 -04:00
Ray Strode
b7701d690a Revert "Add --nowait option."
This reverts commit c926bccd83.

It was an in-progress patch that I carelessly and erroneously
pushed.
2011-08-03 14:00:25 -04:00
Ray Strode
973dd358b9 x11: translate enter to new line
commit 4081bd29fb changed
our keyboard handling code to treat newline instead of
carriage return as the enter key.

That commit fixed up the tty settings to work under these
new assumptions.  It failed to update the X11 code, though.

This commit fixes the X11 renderer plugin so it works in
the same way.
2011-07-29 15:16:50 -04:00
cee1
c926bccd83 Add --nowait option.
With --nowait option, plymouth will not wait for reply from plymouthd.
2011-07-15 10:14:16 -04:00
cee1
cff3164a23 progress-animation: allow 0 frame animations
Currently ply-progress-animation crashes if you try to pass it
an animation with 0 available frames.

This commit makes it silently succeed.
2011-06-28 23:59:26 -04:00
cee1
71f6221f8d two-step plugin: free plugin->animation_dir when destroy 2011-06-15 10:27:06 -04:00
Ray Strode
749718356a key-file: minor code shuffle
Move things around to avoid false positives in coverity.
2011-06-14 10:04:25 -04:00