summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCecil Hugh Watson <knoppmyth@gmail.com>2010-09-04 22:54:43 (GMT)
committerCecil Hugh Watson <knoppmyth@gmail.com>2010-09-04 22:54:43 (GMT)
commit05408d178b3bb65f895b011705ade34c34b8dce6 (patch)
tree4d17239774a3993a00cb4df34ec9c68dd20dccbf
parent8531795e06d39d7edfea9bb2731ff171417669d5 (diff)
downloadlinhes_pkgbuild-05408d178b3bb65f895b011705ade34c34b8dce6.zip
linhes_pkgbuild-05408d178b3bb65f895b011705ade34c34b8dce6.tar.gz
linhes_pkgbuild-05408d178b3bb65f895b011705ade34c34b8dce6.tar.bz2
fbsplash:Bumped/Updated for LinHES 7.
-rw-r--r--abs/core-testing/fbsplash/PKGBUILD103
-rw-r--r--abs/core-testing/fbsplash/__changelog4
-rw-r--r--abs/core-testing/fbsplash/darch.tar.bz2bin1572821 -> 0 bytes
-rw-r--r--abs/core-testing/fbsplash/extra/encrypt_hook.patch24
-rw-r--r--abs/core-testing/fbsplash/fbcondecor.conf6
-rw-r--r--abs/core-testing/fbsplash/fbcondecor.daemon55
-rw-r--r--abs/core-testing/fbsplash/fbsplash-basic.sh201
-rw-r--r--abs/core-testing/fbsplash/fbsplash.bootsteps1
-rw-r--r--abs/core-testing/fbsplash/fbsplash.conf8
-rw-r--r--abs/core-testing/fbsplash/fbsplash.daemon56
-rw-r--r--abs/core-testing/fbsplash/fbsplash.git.patch166
-rw-r--r--abs/core-testing/fbsplash/fbsplash.initcpio_hook102
-rw-r--r--abs/core-testing/fbsplash/fbsplash.initcpio_install117
-rw-r--r--abs/core-testing/fbsplash/fbsplash.inithooks91
-rw-r--r--abs/core-testing/fbsplash/fbsplash.install36
-rw-r--r--abs/core-testing/fbsplash/splash-functions-arch.sh71
-rw-r--r--abs/core-testing/fbsplash/splash-functions.sh618
-rw-r--r--abs/core-testing/fbsplash/splash.conf63
18 files changed, 768 insertions, 954 deletions
diff --git a/abs/core-testing/fbsplash/PKGBUILD b/abs/core-testing/fbsplash/PKGBUILD
index 736da1f..dcec71a 100644
--- a/abs/core-testing/fbsplash/PKGBUILD
+++ b/abs/core-testing/fbsplash/PKGBUILD
@@ -1,56 +1,71 @@
-# Maintainer: Greg Helton <gt@fallendusk.org>
+# Maintainer: Heiko Baums <heiko@baums-on-web.de>
+# Contributor: Kurt J. Bosch <kjb-temp-2009 at alpenjodel.de>
pkgname=fbsplash
pkgver=1.5.4.3
-pkgrel=15
+pkgrel=33
pkgdesc="A userspace implementation of a splash screen for Linux (formerly known as gensplash)"
arch=('i686' 'x86_64')
url="http://fbsplash.berlios.de"
license=('GPL')
-backup=('etc/conf.d/fbsplash.conf' 'etc/conf.d/fbsplash.bootsteps')
-makedepends=('klibc')
-depends=('initscripts' 'miscsplashutils' 'libjpeg' 'libpng' 'freetype2-static' 'gpm' 'libmng' 'which' 'linhes-splash')
-conflicts=('bootsplash' 'gensplash')
+depends=('miscsplashutils' 'freetype2' 'libjpeg' 'libpng' 'libmng' 'lcms' 'gpm' 'linhes-splash')
+optdepends=('kernel26-fbcondecor: enable console background images'
+ 'fbsplash-extras: additional functionality like daemon icons'
+ 'uswsusp-fbsplash: suspend to disk with fbsplash'
+ 'python: convert themes from splashy to fbsplash')
+conflicts=('fbsplash-scripts' 'initscripts-extras-fbsplash')
+options=('!makeflags')
+backup=('etc/conf.d/fbcondecor' 'etc/conf.d/splash')
install=fbsplash.install
-source=(http://download.berlios.de/fbsplash/splashutils-${pkgver}.tar.bz2 \
- http://code.thewrecker.net/files/darch.tar.bz2 \
- fbsplash.inithooks \
- splash-functions-arch.sh \
- fbsplash.conf \
- fbsplash.initcpio_install \
- fbsplash.daemon fbsplash.bootsteps)
+source=(http://dev.gentoo.org/~spock/projects/gensplash/archive/splashutils-${pkgver}.tar.bz2
+ fbsplash.git.patch
+ splash.conf
+ fbsplash-basic.sh
+ fbsplash.initcpio_install
+ fbsplash.initcpio_hook
+ fbcondecor.daemon
+ fbcondecor.conf)
+
build() {
- cd ${startdir}/src/splashutils-${pkgver}
-
- # Configure, make, and install
- ./configure --prefix=/usr --sysconfdir=/etc --enable-fbcondecor --with-gpm --with-mng --with-png --with-ttf --with-ttf-kernel
- make || return 1
- cp -f ${startdir}/splash-functions.sh ${startdir}/src/splashutils-1.5.4.3/scripts/splash-functions.sh
- make DESTDIR=${startdir}/pkg install || return 1
-
- # Create directories
- mkdir -p ${startdir}/pkg/lib/splash/cache
- mkdir -p ${startdir}/pkg/etc/splash
- mkdir -p ${startdir}/pkg/etc/rc.d/functions.d
-
- # Install scripts
- install -D -m644 ${startdir}/src/fbsplash.initcpio_install ${startdir}/pkg/lib/initcpio/install/fbsplash
- install -D -m644 ${startdir}/src/fbsplash.conf ${startdir}/pkg/etc/conf.d/fbsplash.conf
- install -D -m744 ${startdir}/src/fbsplash.daemon ${startdir}/pkg/etc/rc.d/fbsplash
- install -D -m744 ${startdir}/src/splash-functions-arch.sh ${startdir}/pkg/sbin/splash-functions-arch.sh
- install -D -m755 $startdir/src/fbsplash.bootsteps ${startdir}/pkg/etc/conf.d/fbsplash.bootsteps
-
- # install darch fbsplash theme
- cp -r ${startdir}/src/darch ${startdir}/pkg/etc/splash/darch
-
- # install initscripts hooks
- install -D -m744 ${startdir}/src/fbsplash.inithooks ${startdir}/pkg/etc/rc.d/functions.d/fbsplash.sh
+ cd ${srcdir}/splashutils-${pkgver}
+
+ # patch for building splashutils with glibc and dynamical linking
+ patch -Np0 -i ${srcdir}/fbsplash.git.patch || return 1
+ autoreconf
+
+ # fix fbcondecor_ctl splash type
+ sed -e 's,fbsplash_lib_init(fbspl_bootup),fbsplash_lib_init(fbspl_undef),' -i src/fbcon_decor_ctl.c
+
+ ./configure --prefix=/usr --sysconfdir=/etc --without-klibc --enable-fbcondecor --with-gpm --with-mng --with-png --with-ttf --with-ttf-kernel || return 1
+ make || return 1
+ make DESTDIR=${startdir}/pkg install || return 1
+
+ cd ${pkgdir}
+
+ # fix duplicate slashes to get splash_cache_cleanup grep to work
+ sed -r -e 's,^(export spl_.*="/)/+,\1,' -i sbin/splash-functions.sh
+
+ # fix the path to splash_util
+ sed -r -e 's,^(export spl_util=)\"/bin/,\1"/sbin/,' -i sbin/splash-functions.sh
+
+ # provide the mountpoint needed by splash-functions.sh
+ mkdir -p lib/splash/{cache,tmp}
+
+ # Install fbsplash scripts and config file
+ install -D -m644 ${srcdir}/splash.conf etc/conf.d/splash
+ install -D -m644 ${srcdir}/fbsplash-basic.sh etc/rc.d/functions.d/fbsplash-basic.sh
+ install -D -m644 ${srcdir}/fbsplash.initcpio_install lib/initcpio/install/fbsplash
+ install -D -m644 ${srcdir}/fbsplash.initcpio_hook lib/initcpio/hooks/fbsplash
+ # Install fbcodecor script and config file
+ install -D -m644 ${srcdir}/fbcondecor.conf etc/conf.d/fbcondecor
+ install -D -m755 ${srcdir}/fbcondecor.daemon etc/rc.d/fbcondecor
}
md5sums=('c722cd4148817b9c50381d9bdc1ea6ef'
- '4ea33e99330abf4a9a468ac8c0ba48ca'
- '33b3c7c2050670db0e8b2efd9e088ed9'
- '8ffb29400a2518b16f3dbca653855268'
- '82ef6f37c2795db1b4fec0e6f8443c66'
- '21380586a5dafbf7045886ea4374ab65'
- 'bb5154529e4b5fbc701cf4540c15a61a')
+ '3a338c60ed0710c8b7e3e08929db521a'
+ 'a8f40c99a32d20d505aa24fbbd703008'
+ 'e69753dac753b8ba4e2e29ef5a9c46ca'
+ 'e29b3db6ee059b9950febe976a0f2881'
+ 'ac2351bc918b101bb9249ce8940722be'
+ '715926469d05eecd345c052e6248ca32'
+ 'b3db9d4fd902b62ac9e38589677e2d16')
diff --git a/abs/core-testing/fbsplash/__changelog b/abs/core-testing/fbsplash/__changelog
deleted file mode 100644
index d673fc0..0000000
--- a/abs/core-testing/fbsplash/__changelog
+++ /dev/null
@@ -1,4 +0,0 @@
-modify splash-functions to not use chvt for verbose
-modify fbsplash.inithooks to not display "setting up splash"
-added default value for fbsplash.bootsteps
-
diff --git a/abs/core-testing/fbsplash/darch.tar.bz2 b/abs/core-testing/fbsplash/darch.tar.bz2
deleted file mode 100644
index 0faab98..0000000
--- a/abs/core-testing/fbsplash/darch.tar.bz2
+++ /dev/null
Binary files differ
diff --git a/abs/core-testing/fbsplash/extra/encrypt_hook.patch b/abs/core-testing/fbsplash/extra/encrypt_hook.patch
deleted file mode 100644
index f059048..0000000
--- a/abs/core-testing/fbsplash/extra/encrypt_hook.patch
+++ /dev/null
@@ -1,24 +0,0 @@
---- /lib/initcpio/hooks/encrypt 2008-09-12 12:29:38.000000000 -0400
-+++ encrypt.1 2008-10-28 08:13:34.000000000 -0400
-@@ -1,6 +1,7 @@
- # vim: set ft=sh:
- # TODO this one needs some work to work with lots of different
- # encryption schemes
-+. /sbin/splash-functions.sh
- run_hook ()
- {
- /sbin/modprobe -a -q dm-crypt >/dev/null 2>&1
-@@ -59,6 +60,7 @@ run_hook ()
- fi
- fi
- # Ask for a passphrase
-+ splash_verbose
- if [ ${dopassphrase} -gt 0 ]; then
- echo ""
- echo "A password is required to access the ${cryptname} volume:"
-@@ -119,4 +121,5 @@ run_hook ()
- fi
- nuke ${ckeyfile}
- fi
-+ splash_silent
- }
diff --git a/abs/core-testing/fbsplash/fbcondecor.conf b/abs/core-testing/fbsplash/fbcondecor.conf
new file mode 100644
index 0000000..18db844
--- /dev/null
+++ b/abs/core-testing/fbsplash/fbcondecor.conf
@@ -0,0 +1,6 @@
+
+# /etc/conf.d/fbcondecor
+#
+
+## Virtual terminals to load with fbcondecor backgrounds
+SPLASH_TTYS="1 2 3 4 5 6"
diff --git a/abs/core-testing/fbsplash/fbcondecor.daemon b/abs/core-testing/fbsplash/fbcondecor.daemon
new file mode 100644
index 0000000..4d78ea4
--- /dev/null
+++ b/abs/core-testing/fbsplash/fbcondecor.daemon
@@ -0,0 +1,55 @@
+#!/bin/bash
+
+# /etc/rc.d/fbcondecor
+
+# Set FbConDecor backgrounds
+#
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+. /etc/conf.d/fbcondecor
+. /sbin/splash-functions.sh
+
+splash_setup force
+
+retval=0
+[ -z "${SPLASH_TTYS%% }" ] && retval=1
+case "$1"
+in start )
+ if [ "${SPLASH_MODE_REQ}" != "off" ]; then
+ stat_busy "Setting FBconDecor console images"
+ for tty in ${SPLASH_TTYS}; do
+ # avoid blinking on boot
+ [[ "$( fbcondecor_ctl --tty=${tty} -c getstate )" == *\ on ]] && continue
+ fbcondecor_set_theme ${SPLASH_THEME} ${tty} || retval=1
+ done
+ if [ $retval = 0 ]; then
+ stat_done
+ else
+ stat_fail
+ fi
+ fi
+;; stop )
+ stat_busy "Disabling FBconDecor console images"
+ for tty in ${SPLASH_TTYS}; do
+ # avoid errors on restart
+ [[ "$( fbcondecor_ctl --tty=${tty} -c getstate )" == *\ off ]] && continue
+ fbcondecor_ctl --tty=${tty} -c off || retval=1
+ done
+ if [ $retval = 0 ]; then
+ stat_done
+ else
+ stat_fail
+ fi
+;; restart )
+ $0 stop
+ sleep .1
+ echo # don't swallow our status line
+ $0 start
+;; * )
+ echo "usage: $0 {start|stop|restart}"
+esac
+
+exit 0
+
+# EOF #
diff --git a/abs/core-testing/fbsplash/fbsplash-basic.sh b/abs/core-testing/fbsplash/fbsplash-basic.sh
new file mode 100644
index 0000000..2834060
--- /dev/null
+++ b/abs/core-testing/fbsplash/fbsplash-basic.sh
@@ -0,0 +1,201 @@
+
+# /etc/rc.d/functions.d/fbsplash-basic.sh #
+
+# Basic Fbsplash script for Arch Linux initscripts #
+# #
+# Author: Kurt J. Bosch <kjb-temp-2009 at alpenjodel.de> #
+# Based on the work of Greg Helton <gt at fallendusk.org> #
+# Thomas Baechler <thomas at archlinux.org> #
+# and others #
+# #
+# Distributed under the terms of the GNU General Public License (GPL) #
+
+[[ $PREVLEVEL && $RUNLEVEL ]] || return 0
+
+# Do nothing if improved scripts are installed
+[ -r /etc/rc.d/functions.d/fbsplash-extras.sh ] && return
+
+# Only do this where needed
+# Since we use BASH, all important functions and variables are exported
+case ${0#/etc/rc.} in sysinit | multi | shutdown )
+ export SPLASH_PUSH_MESSAGES="no"
+ export SPLASH_VERBOSE_ON_ERRORS="no"
+ . /sbin/splash-functions.sh # /etc/conf.d/splash is also sourced by this
+ unset options opt i # eliminate splash_setup non local vars ## FIX ME ##
+ declare -ix SPLASH_STEPS=3 # sysinit steps
+ declare -ix SPLASH_STEPS_DONE=0
+esac
+
+# Verbose mode is handled by fbcondecor kernel patch and daemon script
+[[ $SPLASH_MODE_REQ = silent ]] || return 0
+
+# Override - Don't try to use /usr/bin/basename
+splash_comm_send() {
+ [[ $( /bin/pidof -o %PPID $spl_daemon ) ]] && echo "$@" >$spl_fifo &
+}
+
+case $0 in /etc/rc.sysinit )
+ # Prevent splash destruction
+ CONSOLEFONT=""
+ # Continue to use a splash daamon started in initcpio
+ if /bin/mountpoint -q /dev/.splash-cache; then
+ /bin/mount --move /dev/.splash-cache $spl_cachedir || return
+ splash_comm_send set message "$SPLASH_BOOT_MESSAGE"
+ # Mount a tmpfs
+ else
+ ( splash_cache_prep ) || return
+ fi
+ add_hook sysinit_udevsettled splash_sysinit_udevsettled
+ add_hook sysinit_postfsck splash_sysinit_postfsck
+ add_hook sysinit_postfsckloop splash_sysinit_postfsck
+ add_hook sysinit_premount splash_sysinit_premount
+ add_hook sysinit_end splash_sysinit_end
+ splash_sysinit_udevsettled() {
+ splash_begin
+ splash_progress_init
+ splash_progress
+ }
+ splash_sysinit_premount() {
+ splash_progress
+ }
+ splash_sysinit_postfsck() { # fsck failure emergency exit
+ [ ${fsckret} -gt 1 -a ${fsckret} -ne 32 ] && chvt 1
+ }
+ splash_sysinit_end() {
+ splash_progress
+ }
+;; /etc/rc.multi )
+ add_hook multi_start splash_multi_start
+ add_hook multi_end splash_multi_end
+ splash_multi_start() {
+ SPLASH_STEPS_DONE=$SPLASH_STEPS
+ splash_progress_init
+ }
+ start_daemon() {
+ [[ $1 = $SPLASH_XSERVICE ]] && SPLASH_EXIT_TYPE=staysilent splash_stop
+ /etc/rc.d/$1 start
+ splash_progress
+ }
+ start_daemon_bkgd() {
+ [[ $1 = $SPLASH_XSERVICE ]] && SPLASH_EXIT_TYPE=staysilent splash_stop
+ stat_bkgd "Starting $1"
+ ( SPLASH_PUSH_MESSAGES="no" SPLASH_VERBOSE_ON_ERRORS="no" \
+ /etc/rc.d/$1 start ) &>/dev/null &
+ }
+ splash_multi_end() {
+ if [[ $PREVLEVEL = N ]]; then
+ if ! in_array "$SPLASH_XSERVICE" "${DAEMONS[@]}"; then
+ if [[ $RUNLEVEL = 5 ]]; then
+ SPLASH_EXIT_TYPE=staysilent splash_stop
+ else
+ splash_stop
+ [[ $( $spl_bindir/fgconsole ) = $SPLASH_TTY ]] && chvt 1
+ fi
+ fi
+ # Now do setfont
+ set_consolefont
+ # Umount the tmpfs
+ splash_cache_cleanup
+ fi
+ }
+;; /etc/rc.shutdown )
+ ( splash_cache_prep ) || return
+ # Not using XSERVICE here to avoid missing errors - X should chvt back to SPLASH_TTY
+ add_hook shutdown_start splash_shutdown_start
+ add_hook shutdown_prekillall splash_shutdown_prekillall
+ add_hook shutdown_postkillall splash_shutdown_postkillall
+ add_hook shutdown_poweroff splash_shutdown_poweroff
+ splash_shutdown_start() {
+ splash_begin
+ }
+ ## http://bugs.archlinux.org/task/10536 ## FIX ME ##
+ splash_shutdown_prekillall() { /bin/sleep .1; }
+ splash_shutdown_postkillall() {
+ if [[ $( $spl_bindir/fgconsole ) = $SPLASH_TTY ]]; then
+ stat_busy "Restarting Fbsplash daemon"
+ PROGRESS=$(( 65535*2/3 )) splash_start
+ if [[ -e $spl_cachedir/stop_failed-fbsplash-dummy ]]; then
+ splash_comm_send update_svc fbsplash-dummy svc_stop_failed
+ fi
+ stat_done
+ fi
+ }
+ ##
+ splash_shutdown_poweroff() {
+ SPLASH_EXIT_TYPE=staysilent splash_stop
+ }
+esac
+
+splash_progress_init() {
+ for daemon in "${DAEMONS[@]}"; do
+ case $daemon in $SPLASH_XSERVICE | @$SPLASH_XSERVICE ) break
+ ;; \!* |@* ) continue
+ esac
+ SPLASH_STEPS+=1
+ done
+}
+
+splash_progress() {
+ splash_comm_send progress $(( 65535*++SPLASH_STEPS_DONE/SPLASH_STEPS ))
+ splash_comm_send paint
+}
+
+# Start the splash daemon - using upstream function
+splash_set_event_dev() { :; } # override - Never grab the keyboard
+splash_begin() {
+ if ! [[ $( /bin/pidof -o %PPID $spl_daemon ) ]]; then
+ stat_busy "Starting Fbsplash daemon"
+ if [ -x /etc/splash/$SPLASH_THEME/scripts/rc_init-pre ]; then
+ /etc/splash/$SPLASH_THEME/scripts/rc_init-pre ${0#/etc/rc.d} $RUNLEVEL
+ fi &&
+ splash_start &&
+ stat_done || stat_fail
+ fi
+}
+
+# Stop the splash daemon - if any
+splash_stop() {
+ if [[ $( /bin/pidof -o %PPID $spl_daemon ) ]]; then
+ SPLASH_PUSH_MESSAGES="no" stat_busy "Stopping Fbsplash daemon"
+ splash_comm_send progress 65535; splash_comm_send paint; /bin/sleep .1
+ splash_comm_send exit $SPLASH_EXIT_TYPE
+ # Wait for painting/fadeout
+ local -i i=0
+ while [[ i++ -lt 100 && $( /bin/pidof -o %PPID $spl_daemon ) ]]; do
+ /bin/sleep .1
+ done
+ stat_done
+ fi
+}
+
+stat_busy() {
+ printf "${C_OTHER}${PREFIX_REG} ${C_MAIN}${1}${C_CLEAR} "
+ printf "${SAVE_POSITION}"
+ deltext
+ printf " ${C_OTHER}[${C_BUSY}BUSY${C_OTHER}]${C_CLEAR} "
+ SPLASH_BUSY_MSG=$1
+ if [[ $SPLASH_PUSH_MESSAGES = yes ]]; then
+ splash_comm_send set message "${1}"
+ splash_comm_send paint
+ fi
+}
+
+stat_fail() {
+ deltext
+ printf " ${C_OTHER}[${C_FAIL}FAIL${C_OTHER}]${C_CLEAR} \n"
+ local event=stop_failed; [[ $PREVLEVEL = N ]] && event=start_failed
+ # Provide a general failure status event and write to msglog textbox
+ splash_comm_send update_svc fbsplash-dummy svc_${event}
+ splash_comm_send log "Error $SPLASH_BUSY_MSG"
+ splash_comm_send paint
+ # Save for daemon restart ## FIX ME ##
+ if /bin/mountpoint -q $spl_cachedir; then
+ : >|$spl_cachedir/${event}-fbsplash-dummy
+ fi
+ # Upstream way of error handling
+ if [[ $SPLASH_VERBOSE_ON_ERRORS = yes ]]; then
+ chvt 1
+ fi
+}
+
+# EOF #
diff --git a/abs/core-testing/fbsplash/fbsplash.bootsteps b/abs/core-testing/fbsplash/fbsplash.bootsteps
deleted file mode 100644
index 7273c0f..0000000
--- a/abs/core-testing/fbsplash/fbsplash.bootsteps
+++ /dev/null
@@ -1 +0,0 @@
-25
diff --git a/abs/core-testing/fbsplash/fbsplash.conf b/abs/core-testing/fbsplash/fbsplash.conf
deleted file mode 100644
index ddd88f8..0000000
--- a/abs/core-testing/fbsplash/fbsplash.conf
+++ /dev/null
@@ -1,8 +0,0 @@
-#
-# fbsplash.conf
-#
-
-THEMES="linhes"
-SPLASH_TTYS="1 2 3 4 5 6"
-
-#EOF
diff --git a/abs/core-testing/fbsplash/fbsplash.daemon b/abs/core-testing/fbsplash/fbsplash.daemon
deleted file mode 100644
index e615500..0000000
--- a/abs/core-testing/fbsplash/fbsplash.daemon
+++ /dev/null
@@ -1,56 +0,0 @@
-#!/bin/bash
-
-source /etc/rc.conf
-source /etc/rc.d/functions
-
-source /sbin/splash-functions.sh
-source /etc/conf.d/fbsplash.conf
-
-case "$1" in
- start)
- if [ "$(fbcondecor_supported)" = "true" ]
- then
- THEME="linhes"
- if [ -f /proc/cmdline ]; then
- OPTIONS=$(grep -o 'splash=[^ ]*' /proc/cmdline)
- for i in $(echo "${OPTIONS#*=}" | sed -e 's/,/ /g')
- do
- case ${i%:*} in
- theme) THEME=${i#*:} ;;
- esac
- done
- fi
- stat_busy "Setting fbcondecor console images"
- for TTY in ${SPLASH_TTYS}; do
- fbcondecor_set_theme ${TTY} ${THEME}
- done
- stat_done
- fi
- save_boot_steps
- splash_exit
- ;;
-
- kill)
- if [ "$(fbcondecor_supported)" = "true" ]
- then
- stat_busy "Disabling fbcondecor console images"
- for TTY in ${SPLASH_TTYS}; do
- fbcondecor_remove_theme ${TTY}
- done
- stat_done
- fi
- ;;
-
- restart)
- $0 kill
- sleep 1
- $1 start
- ;;
-
- *)
- echo "usage: $0 {start|restart|kill}"
-esac
-exit 0
-
-#EOF
-
diff --git a/abs/core-testing/fbsplash/fbsplash.git.patch b/abs/core-testing/fbsplash/fbsplash.git.patch
new file mode 100644
index 0000000..15f041c
--- /dev/null
+++ b/abs/core-testing/fbsplash/fbsplash.git.patch
@@ -0,0 +1,166 @@
+From 4ecac1b2645afc8079aad4067a1aa0e8a96eab12 Mon Sep 17 00:00:00 2001
+From: =?utf8?q?Micha=C5=82=20Januszewski?= <spock@gentoo.org>
+Date: Tue, 16 Feb 2010 23:30:18 +0100
+Subject: [PATCH] Make it possible to build fbcondecor_helper against glibc.
+
+---
+ configure.ac | 34 ++++++++++++++++++++++++++++++++++
+ libs/Makefile.am | 2 ++
+ src/Makefile.am | 34 +++++++++++++++++++++++++++++++++-
+ 3 files changed, 69 insertions(+), 1 deletions(-)
+
+diff --git configure.ac configure.ac
+index 63b1ff6..8db1498 100644
+--- configure.ac
++++ configure.ac
+@@ -76,6 +76,23 @@ AC_ARG_ENABLE([klibc-shared],
+ )
+ AM_CONDITIONAL([CONFIG_KLIBC_SHARED], [test "x${config_klibc_shared}" = "xyes"])
+
++AC_ARG_ENABLE([static-binaries],
++ AC_HELP_STRING([--disable-static-binaries], [do not build any statically linked binaries]),
++ [
++ AS_CASE(["${enableval}"],
++ [yes], [config_static_binaries="yes"],
++ [no], [config_static_binaries="no"],
++ [AC_MSG_ERROR([bad value '${enableval}' for --disable-static-binaries])]
++ )
++ ],
++ [config_static_binaries="yes"]
++)
++AM_CONDITIONAL([CONFIG_STATIC_BINARIES], [test "x${config_static_binaries}" = "xyes"])
++AS_IF(
++ [test "x${config_static_binaries}" = "xyes"],
++ [AC_DEFINE([CONFIG_STATIC_BINARIES], [1], [Define to 1 to disable building of statically linked binaries.])]
++)
++
+ AC_ARG_ENABLE([deprecated],
+ AC_HELP_STRING([--enable-deprecated], [include support for deprecated features]),
+ [
+@@ -333,6 +350,23 @@ AC_ARG_WITH([themedir],
+ )
+ AC_SUBST([themedir])
+
++AC_ARG_WITH([klibc],
++ AC_HELP_STRING([--without-klibc], [link the kernel helper against glibc instead of klibc]),
++ [
++ AS_CASE(["${withval}"],
++ [yes], [config_klibc="yes"],
++ [no], [config_klibc="no"],
++ [AC_MSG_ERROR([bad value ${withval} for --with-klibc])]
++ )
++ ],
++ [config_klibc="yes"]
++)
++AM_CONDITIONAL([CONFIG_KLIBC], [test "x${config_klibc}" = "xyes"])
++AS_IF(
++ [test "x${config_klibc}" = "xyes"],
++ [AC_DEFINE([CONFIG_KLIBC], [1], [use klibc])]
++)
++
+ M_CFLFAGS=
+ M_LIBS=
+ AC_CHECK_HEADER(
+diff --git libs/Makefile.am b/core/libs/Makefile.am
+index 6675ec1..d070b29 100644
+--- libs/Makefile.am
++++ libs/Makefile.am
+@@ -24,6 +24,7 @@ mostlyclean-local: \
+
+ noinst_LIBRARIES =
+
++if CONFIG_KLIBC
+ if CONFIG_HELPER
+ noinst_LIBRARIES += libjpeg.a
+ if CONFIG_PNG
+@@ -33,6 +34,7 @@ if CONFIG_TTF_KERNEL
+ noinst_LIBRARIES += libfreetype.a
+ endif
+ endif
++endif
+
+ libjpeg_a_SOURCES =
+ libpng_a_SOURCES =
+diff --git src/Makefile.am b/core/src/Makefile.am
+index fa6919d..7570b5e 100644
+--- src/Makefile.am
++++ src/Makefile.am
+@@ -167,7 +167,6 @@ sbin_PROGRAMS += fbcondecor_ctl
+ endif
+ sbin_PROGRAMS += fbsplashd
+ bin_PROGRAMS += splash_util
+-eexecsbin_PROGRAMS += fbsplashctl
+
+ fbcondecor_ctl_SOURCES = fbcon_decor_ctl.c fbcon_decor.h ../include/console_decor.h ../include/fbcondecor.h common.h fbsplash.h
+ fbcondecor_ctl_CPPFLAGS = $(AM_CPPFLAGS) -DTARGET_UTIL $(libfbsplashrender_la_CFLAGS)
+@@ -185,6 +184,9 @@ splash_util_CPPFLAGS = $(AM_CPPFLAGS) -DTARGET_UTIL $(libfbsplashrender_l
+ splash_util_LDFLAGS = $(AM_LDFLAGS)
+ splash_util_LDADD = libfbsplashrender.la libfbsplash.la
+
++if CONFIG_STATIC_BINARIES
++eexecsbin_PROGRAMS += fbsplashctl
++
+ fbsplashctl_SOURCES = $(fbsplashd_SOURCES) $(splash_util_SOURCES) fbsplashctl.c
+ fbsplashctl_CFLAGS = $(AM_CFLAGS) $(PTHREAD_STATIC_CFLAGS) $(RT_CFLAGS) $(libfbsplashrender_la_CFLAGS) -DUNIFIED_BUILD
+ fbsplashctl_CPPFLAGS = $(fbsplashd_CPPFLAGS) $(splash_util_CPPFLAGS)
+@@ -210,6 +212,7 @@ uninstall-hook:
+ if CONFIG_FBCON_DECOR
+ rm -f $(DESTDIR)$(eexecsbindir)/fbcondecor_ctl.static$(EXEEXT)
+ endif
++endif
+
+ ################################################################################
+ # Kernel
+@@ -219,6 +222,7 @@ if CONFIG_HELPER
+ eexecsbin_PROGRAMS += fbcondecor_helper
+ endif
+
++if CONFIG_KLIBC
+ fbcondecor_helper_SOURCES = \
+ kernel.c \
+ libfbsplash.c \
+@@ -236,10 +240,12 @@ fbcondecor_helper_SOURCES = \
+ common.h \
+ render.h \
+ fbsplash.h
++
+ fbcondecor_helper_CPPFLAGS = -DWITH_ERRLIST -DTARGET_KERNEL -DTT_CONFIG_OPTION_BYTECODE_INTERPRETER
+ fbcondecor_helper_CFLAGS = -Os -w -ffunction-sections -fdata-sections -I.@am__isrc@
+ fbcondecor_helper_LDFLAGS =
+ fbcondecor_helper_LDADD =
++
+ fbcondecor_helper_CFLAGS += -I$(abs_top_builddir)/libs/libjpeg -I$(LIBJPEG_SOURCE)
+ fbcondecor_helper_LDADD += $(top_builddir)/libs/libjpeg.a
+ if CONFIG_PNG
+@@ -280,3 +286,29 @@ fbcondecor_helper-%.o: %.c
+ @$(call infmsg,CC,$@)
+ $(Q)$(MKDIR_P) $(@D)
+ $(Q)$(KLCC) $(fbcondecor_helper_CPPFLAGS) $(fbcondecor_helper_CFLAGS) $(INCLUDES) -c $< -o $@
++else
++fbcondecor_helper_SOURCES = \
++ kernel.c \
++ libfbsplash.c \
++ libfbsplashrender.c \
++ fbcon_decor.c \
++ common.c \
++ parse.c \
++ list.c \
++ render.c \
++ image.c \
++ effects.c \
++ fbcon_decor.h \
++ ../include/console_decor.h \
++ ../include/fbcondecor.h \
++ common.h \
++ render.h \
++ fbsplash.h
++if CONFIG_TTF_KERNEL
++fbcondecor_helper_SOURCES += ttf.c ttf.h
++endif
++fbcondecor_helper_CPPFLAGS = $(AM_CPPFLAGS) -DTARGET_KERNEL
++fbcondecor_helper_CFLAGS = $(AM_CFLAGS) $(libfbsplashrender_la_CFLAGS)
++fbcondecor_helper_LDFLAGS = $(AM_LDFLAGS)
++fbcondecor_helper_LDADD = $(libfbsplashrender_la_LIBADD)
++endif
+--
+1.6.5.GIT
diff --git a/abs/core-testing/fbsplash/fbsplash.initcpio_hook b/abs/core-testing/fbsplash/fbsplash.initcpio_hook
new file mode 100644
index 0000000..62048df
--- /dev/null
+++ b/abs/core-testing/fbsplash/fbsplash.initcpio_hook
@@ -0,0 +1,102 @@
+run_hook ()
+{
+ SPLASH_INIT_MESSAGE="Initializing the kernel"
+ SPLASH_MODE_REQ="off"
+ SPLASH_THEME="default"
+ SPLASH_TTY=16
+ SPLASH_TEXTBOX="no"
+ SPLASH_AUTOVERBOSE=0
+
+ . /etc/conf.d/splash
+
+ # Kernel parameters override config file
+ local ifs="$IFS"
+ IFS=','
+ set -- $splash
+ IFS="$ifs"
+ local arg effects
+ for arg in "$@"; do
+ case "$arg"
+ in off ) SPLASH_MODE_REQ="off"
+ ;; silent ) SPLASH_MODE_REQ="silent"
+ ;; verbose ) SPLASH_MODE_REQ="verbose"
+ ;; theme:?* ) SPLASH_THEME="${arg#theme:}"
+ ;; tty:?* ) SPLASH_TTY="${arg#tty:}"
+ ;; insane ) SPLASH_SANITY="insane"
+ ;; fadein | fadeout ) effects="$effects,$arg"
+ esac
+ done
+ if [ -n "$effects" ]; then
+ SPLASH_EFFECTS="${effects#,}"
+ fi
+
+ if [ "${SPLASH_MODE_REQ}" != "silent" ]; then
+ return
+ fi
+
+ if ! [ "$console" = tty1 -o "$SPLASH_SANITY" = insane ]; then
+ err "Fbsplash requires console=tty1 in kernel line!"
+ return 1
+ fi
+
+ # Start the daemon here if possible
+ # to show animations early and gain some bootup speed
+ if [ -x /sbin/fbsplashd.static ]; then
+ if [ -x /etc/splash/"$SPLASH_THEME"/scripts/rc_init-pre ]; then
+ msg "Found '/etc/splash/$SPLASH_THEME/scripts/rc_init-pre'"
+ msg "Not starting Fbsplash daemon - no theme hook support in initcpio."
+ else
+ msg "Starting Fbsplash Daemon"
+ (
+ set -e
+ # Hold the cache and fifo within /dev to get it moved to the new root
+ mkdir /dev/.splash-cache
+ # code line derived from splash-functions.sh
+ mount -t tmpfs cachedir /dev/.splash-cache -o rw,mode=0644,size=4096k
+ # Take over any existing cache content
+ mkdir -p /lib/splash/cache
+ mv /lib/splash/cache /lib/splash/.splash-cache
+ cp -a /lib/splash/.splash-cache /dev/
+ ln -s /dev/.splash-cache /lib/splash/cache
+ mkfifo -m 600 /lib/splash/cache/.splash
+ # Wait for any fbcondecor fadein - may take very long on some broken systems
+ i=0
+ while [ -n "$( pidof fbcondecor_helper )" ]; do
+ if [ $i -ge 50 ]; then
+ err "timeout on waiting for fbcondecor_helper to die!"
+ exit 1
+ fi
+ sleep .1
+ i=$(( i + 1 ))
+ done
+ # Actually start the daemon
+ options=""
+ [ -n "$SPLASH_THEME" ] && options="$options --theme=$SPLASH_THEME"
+ [ -n "$SPLASH_EFFECTS" ] && options="$options --effects=$SPLASH_EFFECTS"
+ [ "$SPLASH_TEXTBOX" = yes ] && options="$options --textbox"
+ cd /dev/.splash-cache
+ BOOT_MSG="${SPLASH_INIT_MESSAGE}" \
+ /sbin/fbsplashd.static --type=bootup --pidfile=daemon.pid $options
+ (
+ echo set tty silent $SPLASH_TTY
+ echo set mode silent
+ echo repaint
+ echo set autoverbose $SPLASH_AUTOVERBOSE
+ ) >/lib/splash/cache/.splash &
+ )
+ return
+ fi
+ fi
+
+ # Start the fbcondecor helper if not already done by fbcondecor kernel
+ (
+ # code copied from splash-functions.sh
+ fbcondecor_supported() {
+ [ -e /dev/fbsplash -o -e /dev/fbcondecor ]
+ }
+ if ! fbcondecor_supported; then
+ BOOT_MSG="${SPLASH_INIT_MESSAGE}" \
+ /sbin/fbcondecor_helper 2 init 0 0 $SPLASH_THEME
+ fi
+ )
+}
diff --git a/abs/core-testing/fbsplash/fbsplash.initcpio_install b/abs/core-testing/fbsplash/fbsplash.initcpio_install
index 3fdd7e9..4485f91 100644
--- a/abs/core-testing/fbsplash/fbsplash.initcpio_install
+++ b/abs/core-testing/fbsplash/fbsplash.initcpio_install
@@ -1,29 +1,114 @@
install() {
- [ -x /sbin/fbcondecor_helper ] || return 1
+ (
+ . /etc/conf.d/splash
- source /etc/conf.d/fbsplash.conf
- [ -z "${THEME}" ] && THEME="linhes"
+ if /bin/mountpoint -q /lib/splash/cache; then
+ /bin/umount /lib/splash/cache
+ fi
- add_binary "/sbin/fbcondecor_helper"
+ # Add the helper
+ add_binary /sbin/fbcondecor_helper
- add_device "/dev/null" c 1 3
- add_device "/dev/console" c 5 1
- add_device "/dev/tty0" c 4 0
+ # Add the daemon for early start
+ if [[ $SPLASH_DAEMON = early ]]; then
+ add_binary /sbin/fbsplashd.static
+ fi
- for DIR in /dev /dev/fb /dev/misc /dev/vc /lib/splash/proc /lib/splash/sys
- do
- add_dir ${DIR}
- done
+ # Add a clean config file avoiding errors when running the hook
+ file=$( /usr/bin/mktemp )
+ for var in SPLASH_INIT_MESSAGE SPLASH_MODE_REQ SPLASH_THEME SPLASH_TTY \
+ SPLASH_AUTOVERBOSE SPLASH_EFFECTS SPLASH_TEXTBOX
+ do
+ eval value=\"\$$var\"
+ [ -n "$value" ] && echo $var="'$value'"
+ done >|$file
+ add_file $file /etc/conf.d/splash
- for THEME in ${THEMES}
- do
- add_full_dir "/etc/splash/${THEME}"
- done
+ # List file paths contained in given Fbsplash theme cfg file
+ _get_cfg_files() {
+ < "$1" /bin/sed -re '
+ # convert all whitespace into single blanks
+ s,[[:space:]]+, ,g ; t L1
+ :L1
+ # drop comments, grouping directives and blank lines
+ /^ *([#<]|$)/ d
+ # get a filepath or drop
+ s,.*[ =]([^ ]*/[^ ]+).*,\1, ; t ; d
+ ' | /usr/bin/sort -u
+ }
+
+ # Check if cfg file name or path
+ _match_cfg() {
+ [[ "$1" =~ (^|/)[0-9]+x[0-9]+\.cfg$ ]]
+ }
+
+ # Add non-cfg files in given dir
+ _add_non_cfg_files() {
+ local file dir="$1"
+ for file in $( /bin/ls "$dir" ); do
+ if [ -f "$dir/$file" ]; then
+ _match_cfg "$file" || add_file "$dir/$file"
+ fi
+ done
+ }
+
+ # Add global non-cfg files
+ _add_non_cfg_files /etc/splash
+
+ # Add themes
+ dirs=""
+ for theme in ${SPLASH_THEMES[*]}; do # string list and array allowed
+ [ ${theme:0:1} = / ] || theme=/etc/splash/$theme
+ if [ -f $theme ]; then
+ if ! _match_cfg $theme; then
+ err "Not a valid theme cfg file name: $theme"
+ continue
+ fi
+ add_file $theme || continue
+ dir=$( dirname $theme )
+ # Add non-cfg files in theme dir
+ _add_non_cfg_files $dir
+ # Add files refered in cfg file by paths
+ for file in $( _get_cfg_files $theme ); do
+ if [ ${file:0:1} = / ]; then
+ add_file $file
+ continue
+ fi
+ # Path may be relative to theme-dir or to /etc/splash
+ [ -e $dir/$file -o ! -f /etc/splash/$file ] && add_file $dir/$file
+ [ -e /etc/splash/$file -o ! -f $dir/$file ] && add_file /etc/splash/$file
+ done
+ elif [ -d $theme ]; then
+ dir=$theme
+ add_full_dir $dir
+ else
+ err "Theme not found: $theme"
+ continue
+ fi
+ if [[ " "$dirs" " != *" "$dir" "* ]]; then
+ dirs+=" "$dir
+ fi
+ done
+ for dir in $dirs; do
+ # Add the rc_init-pre script if we have one
+ # Currently this just prevents early daemon start for the theme
+ if [[ $SPLASH_DAEMON = early && -x $dir/scripts/rc_init-pre ]]; then
+ add_file $dir/scripts/rc_init-pre || continue
+ echo "WARNING: rc_init-pre script found - no early daemon with '${dir##*/}'!" >&2
+ fi
+ done
+ )
+
+ SCRIPT="fbsplash"
}
help() {
- echo "This hook includes Fbsplash in the initramfs image."
+cat<<HELPEOF
+ This hook adds the FBconDecor helper and Fbsplash themes and maybe the
+ Fbsplash daemon as specified in /etc/conf.d/splash. Put it after udev
+ for early daemon start or when using a FBconDecor kernel.
+HELPEOF
}
#EOF
diff --git a/abs/core-testing/fbsplash/fbsplash.inithooks b/abs/core-testing/fbsplash/fbsplash.inithooks
deleted file mode 100644
index c396b92..0000000
--- a/abs/core-testing/fbsplash/fbsplash.inithooks
+++ /dev/null
@@ -1,91 +0,0 @@
-# fbsplash function.d script #
-# Author: Greg Helton <gt@fallendusk.org> #
-
-# Who is calling? #
-CALLER=$0
-
-# splash stuff #
-. /etc/conf.d/fbsplash.conf
-. /sbin/splash-functions.sh
-
-# Redefine the stat functions #
-stat_bkgd() {
- printf "${C_OTHER}${PREFIX_REG} ${C_MAIN}${1}${C_CLEAR} "
- deltext
- printf " ${C_OTHER}[${C_BKGD}BKGD${C_OTHER}]${C_CLEAR} "
-}
-
-stat_busy() {
- printf "${C_OTHER}${PREFIX_REG} ${C_MAIN}${1}${C_CLEAR} "
- printf "${SAVE_POSITION}"
- deltext
- printf " ${C_OTHER}[${C_BUSY}BUSY${C_OTHER}]${C_CLEAR} "
- # This checks to see if we just brought up the lo interface in rc.sysinit #
- # if so, start the progress bar #
- if [ "${1}" == 'Bringing up loopback interface' ]; then
- splash rc_init
- fi
- # Load variables #
- var_load STEP_NR MAX_STEPS RC_MULTI RC_SYSINIT RC_SHUTDOWN
- # Only update the splash progress if we're in sysinit, multi, or shutdown. #
- if [[ "${SPLASH_RC_MULTI}" == "1" || "${SPLASH_RC_SYSINIT}" == "1" || "${SPLASH_RC_SHUTDOWN}" == "1" ]]; then
- ((SPLASH_STEP_NR++))
- SPLASH_PROGRESS=$((100*${SPLASH_STEP_NR}/${SPLASH_MAX_STEPS}))
- SPLASH_CURRENT_PROGRESS=${SPLASH_PROGRESS}
- splash_update_progress ${SPLASH_PROGRESS}
- var_save STEP_NR CURRENT_PROGRESS
- fi
- if [ "${SPLASH_RC_SHUTDOWN}" == "1" ]; then
- save_shutdown_steps
- fi
-
-}
-
-stat_done() {
- deltext
- printf " ${C_OTHER}[${C_DONE}DONE${C_OTHER}]${C_CLEAR} \n"
-}
-
-stat_fail() {
- deltext
- printf " ${C_OTHER}[${C_FAIL}FAIL${C_OTHER}]${C_CLEAR} \n"
- splash_verbose
-}
-
-start_daemon() {
- /etc/rc.d/$1 start
-}
-
-# rc.sysinit #
-if [ "$CALLER" == '/etc/rc.sysinit' ]; then
-# echo "fbsplash: Setting up splash..."
- splash_cache_prep
- SPLASH_MAX_STEPS=$(load_boot_steps)
- SPLASH_STEP_NR=0
- SPLASH_RC_MULTI=0
- SPLASH_RC_SYSINIT=1
- SPLASH_RC_SHUTDOWN=0
- var_save MAX_STEPS STEP_NR RC_MULTI RC_SYSINIT RC_SHUTDOWN
-fi
-
-# rc.multi #
-if [ "$CALLER" == '/etc/rc.multi' ]; then
- SPLASH_RC_MULTI=1
- SPLASH_RC_SYSINIT=0
- var_save RC_MULTI RC_SYSINIT
-fi
-
-# rc.shutdown #
-if [ "$CALLER" == '/etc/rc.shutdown' ]; then
-# echo "fbsplash: Setting up splash..."
- splash_cache_prep
- SPLASH_MAX_STEPS=$(load_shutdown_steps)
- SPLASH_SHUTDOWN_STEPS=1
- SPLASH_STEP_NR=0
- SPLASH_RC_MULTI=0
- SPLASH_RC_SYSINIT=0
- SPLASH_RC_SHUTDOWN=1
- var_save MAX_STEPS STEP_NR RC_MULTI RC_SYSINIT RC_SHUTDOWN DAEMON_STEPS
- splash rc_init
-fi
-
diff --git a/abs/core-testing/fbsplash/fbsplash.install b/abs/core-testing/fbsplash/fbsplash.install
index 2899857..09da219 100644
--- a/abs/core-testing/fbsplash/fbsplash.install
+++ b/abs/core-testing/fbsplash/fbsplash.install
@@ -1,25 +1,19 @@
-
post_install() {
- echo ">"
- echo "> ATTENTION!!!:"
- echo "----------------------------------------------"
- echo "> fbsplash has been rewritten and no longer depends "
- echo "> on using a special initscripts. "
- echo "> Please read http://wiki.archlinux.org/fbsplash "
- echo "> for more details on the changes. "
- echo "----------------------------------------------"
- if ! [ -e /etc/conf.d/fbsplash.bootsteps ]; then
- echo ""
- echo "Creating step count files..."
- echo "Note: The first boot's percentage will be wrong. "
- echo "The scripts will update with the right steps after first boot"
- echo ""
- touch /etc/conf.d/fbsplash.bootsteps
- touch /etc/conf.d/fbsplash.shutdownsteps
- echo 25 > /etc/conf.d/fbsplash.bootsteps
- echo 20 > /etc/conf.d/fbsplash.shutdownsteps
- fi
- echo 20 > /etc/conf.d/fbsplash.shutdownsteps
+ echo "------------------------------------------------------------"
+ echo "> This package doesn't contain a default theme."
+ echo "> You need to install one separately."
+ echo "> To find some themes, just search AUR for \"fbsplash-theme\","
+ echo "> or GNOME-Look.org or KDE-Look.org for \"fbsplash\"."
+ echo "------------------------------------------------------------"
+ echo "> Configuration for fbsplash: /etc/conf.d/splash"
+ echo "> Configuration for fbcondecor: /etc/conf.d/fbcondecor"
+ echo "------------------------------------------------------------"
+ echo "> Remember to rebuild the initrd after changing the"
+ echo "> configuration."
+ echo "------------------------------------------------------------"
+ echo "> Please read http://wiki.archlinux.org/index.php/Fbsplash"
+ echo "> for more details. "
+ echo "------------------------------------------------------------"
}
post_upgrade() {
diff --git a/abs/core-testing/fbsplash/splash-functions-arch.sh b/abs/core-testing/fbsplash/splash-functions-arch.sh
deleted file mode 100644
index 977ccef..0000000
--- a/abs/core-testing/fbsplash/splash-functions-arch.sh
+++ /dev/null
@@ -1,71 +0,0 @@
-# ArchLinux specific splash functions #
-# Author: Greg Helton <gt@fallendusk.org> #
-
-splash_init() {
- splash_setup
- splash_start
-}
-
-splash_exit() {
- splash_comm_send "exit"
- splash_cache_cleanup
-}
-
-splash_update_progress() {
- local PROGRESS
- PROGRESS=$(($1*65535/100))
- splash_comm_send "progress ${PROGRESS}"
- splash_comm_send "repaint"
-}
-
-var_save() {
-for i in $@ ;
- do
- local var
- eval var=\$SPLASH_${i}
- echo "SPLASH_$i=$(echo ${var})" > ${spl_cachedir}/${i}
- done
-}
-
-var_load() {
-for i in $@ ;
- do
- local var
- eval var=\$SPLASH_${i}
- if [[ -z "$(echo ${var})" && -f ${spl_cachedir}/${i} ]] ; then
- source ${spl_cachedir}/${i}
- fi
- done
-}
-
-save_boot_steps() {
- var_load STEP_NR
- echo $SPLASH_STEP_NR > /etc/conf.d/fbsplash.bootsteps
-}
-
-load_boot_steps() {
- BOOT_STEPS=$(cat /etc/conf.d/fbsplash.bootsteps)
- # Fail safe, so we don't divide by 0
- if [ $BOOT_STEPS = 0 ]; then
- BOOT_STEPS=1
- fi
- printf $BOOT_STEPS
-}
-
-save_shutdown_steps() {
- var_load SHUTDOWN_STEPS
- ((SPLASH_SHUTDOWN_STEPS++))
- echo $SPLASH_SHUTDOWN_STEPS > /etc/conf.d/fbsplash.shutdownsteps
- var_save SHUTDOWN_STEPS
-}
-
-load_shutdown_steps() {
- SHUTDOWN_STEPS=$(cat /etc/conf.d/fbsplash.shutdownsteps)
- # Fail safe, so we don't divide by 0
- if [ $SHUTDOWN_STEPS = 0 ]; then
- SHUTDOWN_STEPS=1
- fi
- printf $SHUTDOWN_STEPS
-}
-
-# EOF #
diff --git a/abs/core-testing/fbsplash/splash-functions.sh b/abs/core-testing/fbsplash/splash-functions.sh
deleted file mode 100644
index 1c17663..0000000
--- a/abs/core-testing/fbsplash/splash-functions.sh
+++ /dev/null
@@ -1,618 +0,0 @@
-# Distributed under the terms of the GNU General Public License v2
-
-# Author: Michal Januszewski <spock@gentoo.org>
-# Maintainer: Michal Januszewski <spock@gentoo.org>
-
-# This file is a part of splashutils. The functions contained in this
-# file are meant to be used by hook scripts in splash themes or by
-# initscript systems. The code will be kept distro-agnostic to facilitate
-# portability. It should also contain POSIX compatible code. No bashisms
-# allowed!
-
-# ####################################################################
-# Change any settings ONLY if you are sure what you're doing.
-# Don't cry if it breaks afterwards.
-# ####################################################################
-
-# The splash scripts need a cache which can be guaranteed to be
-# both readable and writable at all times, even when the root fs
-# is mounted read-only. To that end, an in-RAM fs is used. Valid
-# values for spl_cachetype are 'tmpfs' and 'ramfs'. spl_cachesize
-# is a size limit in KB, and it should probably be left with the
-# default value.
-export spl_cachesize="4096"
-export spl_cachetype="tmpfs"
-export spl_cachedir="//lib/splash/cache"
-export spl_tmpdir="//lib/splash/tmp"
-export spl_fifo="${spl_cachedir}/.splash"
-export spl_pidfile="${spl_cachedir}/daemon.pid"
-export spl_util="//bin/splash_util.static"
-export spl_daemon="//sbin/fbsplashd.static"
-export spl_decor="//sbin/fbcondecor_ctl.static"
-export spl_bindir="//lib/splash/bin"
-
-# This is the main function which handles all events.
-# Accepted parameters:
-# svc_start <name>
-# svc_stop <name>
-# svc_started <name>
-# svc_stopped <name>
-# svc_start_failed <name>
-# svc_stop_failed <name>
-# svc_input_begin <name>
-# svc_input_end <name>
-# rc_init <internal_runlevel> - used to distinguish between 'boot' and 'sysinit'
-# rc_exit
-# critical
-splash() {
- local event="$1"
- shift
-
- # Reload the splash settings in rc_init. We could have set them wrong the
- # first time splash_setup was called (when splash-functions.sh was first
- # sourced) if /proc wasn't mounted.
- if [ "${event}" = "rc_init" ]; then
- splash_setup "force"
- else
- splash_setup
- fi
-
- [ "${SPLASH_MODE_REQ}" = "off" ] && return
-
- # Prepare the cache here -- rc_init-pre might want to use it
- if [ "${event}" = "rc_init" ]; then
- if [ "${RUNLEVEL}" = "S" -a "$1" = "sysinit" ]; then
- splash_cache_prep 'start' || return
- elif [ "${RUNLEVEL}" = "6" -o "${RUNLEVEL}" = "0" ]; then
- # Check if the splash cachedir is mounted readonly. If it is,
- # we need to mount a tmpfs over it.
- if ! touch "${spl_cachedir}/message" 2>/dev/null ; then
- splash_cache_prep 'stop' || return
- fi
- fi
- fi
-
- local args=""
-
- if [ "${event}" = "rc_init" -o "${event}" = "rc_exit" ]; then
- args="$* ${RUNLEVEL}"
- elif [ "${event}" = "svc_started" -o "${event}" = "svc_stopped" ]; then
- if [ -z "$2" ]; then
- # Backwards compatibility hack. Add a 0 to the arguments to simulate
- # an error code.
- args="$* 0"
- else
- args="$*"
-
- # Backwards compatibility: translate an error condition (non-zero
- # error code) into an appropriate event.
- if [ "$2" != "0" ]; then
- if [ "${event}" = "svc_started" ]; then
- event="svc_start_failed"
- else
- event="svc_stop_failed"
- fi
- fi
- fi
- else
- args="$*"
- fi
-
- splash_profile "pre ${event} ${args}"
-
- # Handle -pre event hooks
- if [ -x "/etc/splash/${SPLASH_THEME}/scripts/${event}-pre" ]; then
- /etc/splash/"${SPLASH_THEME}"/scripts/${event}-pre ${args}
- fi
-
- case "$event" in
- svc_start) splash_svc_start "$1";;
- svc_stop) splash_svc_stop "$1";;
- svc_started) splash_svc "$1" "start";;
- svc_stopped) splash_svc "$1" "stop";;
- svc_start_failed) splash_svc_fail "$1" "start";;
- svc_stop_failed) splash_svc_fail "$1" "stop";;
- svc_input_begin) splash_input_begin "$1";;
- svc_input_end) splash_input_end "$1";;
- rc_init) splash_init "$1" "${RUNLEVEL}";;
- rc_exit) splash_exit "${RUNLEVEL}";;
- critical) splash_verbose;;
- esac
-
- splash_profile "post ${event} ${args}"
-
- # Handle -post event hooks
- if [ -x "/etc/splash/${SPLASH_THEME}/scripts/${event}-post" ]; then
- /etc/splash/"${SPLASH_THEME}"/scripts/${event}-post ${args}
- fi
-
- return 0
-}
-
-splash_setup() {
- # If it's already set up, let's not waste time on parsing the config
- # files again
- if [ "${SPLASH_THEME}" != "" -a "${SPLASH_TTY}" != "" -a "$1" != "force" ]; then
- return 0
- fi
-
- export SPLASH_EFFECTS=""
- export SPLASH_SANITY=""
- export SPLASH_TEXTBOX="no"
- export SPLASH_MODE_REQ="off"
- export SPLASH_PROFILE="off"
- export SPLASH_THEME="default"
- export SPLASH_TTY="16"
- export SPLASH_KDMODE="TEXT"
- export SPLASH_AUTOVERBOSE="0"
- export SPLASH_BOOT_MESSAGE="Booting the system (\$progress%)... Press F2 for verbose mode."
- export SPLASH_SHUTDOWN_MESSAGE="Shutting down the system (\$progress%)... Press F2 for verbose mode."
- export SPLASH_REBOOT_MESSAGE="Rebooting the system (\$progress%)... Press F2 for verbose mode."
- export SPLASH_XSERVICE="xdm"
-
- [ -f /etc/splash/splash ] && . /etc/splash/splash
- [ -f /etc/conf.d/splash ] && . /etc/conf.d/splash
- [ -f /etc/conf.d/fbcondecor ] && . /etc/conf.d/fbcondecor
-
- if [ -f /proc/cmdline ]; then
- options=$(grep -o 'splash=[^ ]*' /proc/cmdline)
-
- # Execute this loop over $options so that we can process multiple
- # splash= arguments on the kernel command line. Useful for adjusting
- # splash parameters from ISOLINUX.
- for opt in ${options} ; do
- options=${opt#*=}
-
- for i in $(echo "${options}" | sed -e 's/,/ /g') ; do
- case ${i%:*} in
- theme) SPLASH_THEME=${i#*:} ;;
- tty) SPLASH_TTY=${i#*:} ;;
- verbose) SPLASH_MODE_REQ="verbose" ;;
- silent) SPLASH_MODE_REQ="silent" ;;
- kdgraphics) SPLASH_KDMODE="GRAPHICS" ;;
- profile) SPLASH_PROFILE="on" ;;
- insane) SPLASH_SANITY="insane" ;;
- esac
- done
- done
- fi
-}
-
-splash_get_boot_message() {
- if [ "${RUNLEVEL}" = "6" ]; then
- echo "${SPLASH_REBOOT_MESSAGE}"
- elif [ "${RUNLEVEL}" = "0" ]; then
- echo "${SPLASH_SHUTDOWN_MESSAGE}"
- else
- echo "${SPLASH_BOOT_MESSAGE}"
- fi
-}
-
-splash_start() {
- if [ "${SPLASH_MODE_REQ}" = "verbose" ]; then
- ${spl_decor} -c on 2>/dev/null
- return 0
- elif [ "${SPLASH_MODE_REQ}" != "silent" ]; then
- return 0
- fi
-
- # Display a warning if the system is not configured to display init messages
- # on tty1. This can cause a lot of problems if it's not handled correctly, so
- # we don't allow silent splash to run on incorrectly configured systems.
- if [ "${SPLASH_MODE_REQ}" = "silent" -a "${SPLASH_SANITY}" != "insane" ]; then
- if [ -z "$(grep -E '(^| )CONSOLE=/dev/tty1( |$)' /proc/cmdline)" -a \
- -z "$(grep -E '(^| )console=tty1( |$)' /proc/cmdline)" ]; then
- clear
- splash_warn "You don't appear to have a correct console= setting on your kernel"
- splash_warn "command line. Silent splash will not be enabled. Please add"
- splash_warn "console=tty1 or CONSOLE=/dev/tty1 to your kernel command line"
- splash_warn "to avoid this message."
- if [ -n "$(grep 'CONSOLE=/dev/tty1' /proc/cmdline)" -o \
- -n "$(grep 'console=tty1' /proc/cmdline)" ]; then
- splash_warn "Note that CONSOLE=/dev/tty1 and console=tty1 are general parameters and"
- splash_warn "not splash= settings."
- fi
- return 1
- fi
-
- if [ -n "$(grep -E '(^| )CONSOLE=/dev/tty1( |$)' /proc/cmdline)" ]; then
- mount -n --bind / ${spl_tmpdir}
- if [ ! -c "${spl_tmpdir}/dev/tty1" ]; then
- umount -n ${spl_tmpdir}
- splash_warn "The filesystem mounted on / doesn't contain the /dev/tty1 device"
- splash_warn "which is required for the silent splash to function properly."
- splash_warn "Silent splash will not be enabled. Please create the appropriate"
- splash_warn "device node to avoid this message."
- return 1
- fi
- umount -n ${spl_tmpdir}
- fi
- fi
-
- rm -f "${spl_pidfile}"
-
- # Prepare the communications FIFO
- rm -f "${spl_fifo}" 2>/dev/null
- mkfifo "${spl_fifo}"
-
- local options=""
- [ "${SPLASH_KDMODE}" = "GRAPHICS" ] && options="--kdgraphics"
- [ -n "${SPLASH_EFFECTS}" ] && options="${options} --effects=${SPLASH_EFFECTS}"
- [ "${SPLASH_TEXTBOX}" = "yes" ] && options="${options} --textbox"
-
- local ttype="bootup"
- if [ "${RUNLEVEL}" = "6" ]; then
- ttype="reboot"
- elif [ "${RUNLEVEL}" = "0" ]; then
- ttype="shutdown"
- fi
-
- # Start the splash daemon
- BOOT_MSG="$(splash_get_boot_message)" ${spl_daemon} --theme="${SPLASH_THEME}" --pidfile="${spl_pidfile}" --type=${ttype} ${options}
-
- # Set the silent TTY and boot message
- splash_comm_send "set tty silent ${SPLASH_TTY}"
-
- if [ "${SPLASH_MODE_REQ}" = "silent" ]; then
- splash_comm_send "set mode silent"
- splash_comm_send "repaint"
- ${spl_decor} -c on 2>/dev/null
- fi
-
- splash_comm_send "set autoverbose ${SPLASH_AUTOVERBOSE}"
-
- splash_set_event_dev
-
- return 0
-}
-
-###########################################################################
-# Cache-related functions
-###########################################################################
-
-splash_cache_prep() {
- # Mount an in-RAM filesystem at spl_cachedir
- mount -ns -t "${spl_cachetype}" cachedir "${spl_cachedir}" \
- -o rw,mode=0644,size="${spl_cachesize}"k
-
- retval="$?"
-
- if [ ${retval} -ne 0 ]; then
- splash_err "Unable to create splash cache - switching to verbose."
- splash_verbose
- return "${retval}"
- fi
-}
-
-# args: list of files to save when the cache is umounted
-# Note that the 'profile' file is already handled and thus shouldn't
-# be included in the list.
-splash_cache_cleanup() {
- # Don't try to clean anything up if the cachedir is not mounted.
- [ -z "$(grep ${spl_cachedir} /proc/mounts)" ] && return;
-
- # Create the temp dir if necessary.
- if [ ! -d "${spl_tmpdir}" ]; then
- mkdir -p "${spl_tmpdir}" 2>/dev/null
- [ "$?" != "0" ] && return
- fi
-
- # Make sure the splash daemon is dead.
- if [ -n "$(pgrep fbsplashd)" ]; then
- sleep 1
- killall -9 "${spl_daemon##*/}" 2>/dev/null
- fi
-
- # If /etc is not writable, don't update /etc/mtab. If it is
- # writable, update it to avoid stale mtab entries (bug #121827).
- local mntopt=""
- [ -w /etc/mtab ] || mntopt="-n"
- mount ${mntopt} --move "${spl_cachedir}" "${spl_tmpdir}" 2>/dev/null
-
- # Don't try to copy anything if the cachedir is not writable.
- [ -w "${spl_cachedir}" ] || return
-
- if [ "${SPLASH_PROFILE}" != "off" ]; then
- cp -a "${spl_tmpdir}/profile" "${spl_cachedir}" 2>/dev/null
- fi
-
- while [ -n "$1" ]; do
- cp -a "${spl_tmpdir}/$1" "${spl_cachedir}" 2>/dev/null
- shift
- done
-
- umount -l "${spl_tmpdir}" 2>/dev/null
-}
-
-###########################################################################
-# Common functions
-###########################################################################
-
-# Sends data to the splash FIFO after making sure there's someone
-# alive on the other end to receive it.
-splash_comm_send() {
- if [ -z "`pidof $(basename ${spl_daemon})`" ]; then
- return 1
- else
- splash_profile "comm $*"
- echo "$*" > "${spl_fifo}" &
- fi
-}
-
-# Returns the current splash mode.
-splash_get_mode() {
- local ctty="${spl_bindir}/fgconsole"
- local mode="$(${spl_util})"
-
- if [ "${mode}" = "silent" ]; then
- echo "silent"
- else
- if [ -z "$(${spl_decor} -c getstate --tty=${ctty} 2>/dev/null | grep off)" ]; then
- echo "verbose"
- else
- echo "off"
- fi
- fi
-}
-
-# chvt <n>
-# --------
-# Switches to the n-th tty.
-chvt() {
- local ntty=$1
-
-# if [ -x /usr/bin/chvt ] ; then
-# /usr/bin/chvt ${ntty}
-# else
- printf "\e[12;${ntty}]"
-# fi
-}
-
-# Switches to verbose mode.
-splash_verbose() {
-# chvt 1
-/bin/true
-}
-
-# Switches to silent mode.
-splash_silent() {
- splash_comm_send "set mode silent"
-}
-
-# Saves profiling information
-splash_profile() {
- if [ "${SPLASH_PROFILE}" = "on" ]; then
- echo "$(cat /proc/uptime | cut -f1 -d' '): $*" >> "${spl_cachedir}/profile"
- fi
-}
-
-# Set the input device if it exists. This will make it possible to use F2 to
-# switch from verbose to silent.
-splash_set_event_dev() {
- local t="$(grep -Hsi keyboard /sys/class/input/input*/name | sed -e 's#.*input\([0-9]*\)/name.*#event\1#')"
- if [ -z "${t}" ]; then
- t="$(grep -Hsi keyboard /sys/class/input/event*/device/driver/description | grep -o 'event[0-9]\+')"
- if [ -z "${t}" ]; then
- for i in /sys/class/input/input* ; do
- if [ "$((0x$(cat $i/capabilities/ev) & 0x100002))" = "1048578" ]; then
- t="$(echo $i | sed -e 's#.*input\([0-9]*\)#event\1#')"
- fi
- done
-
- if [ -z "${t}" ]; then
- # Try an alternative method of finding the event device. The idea comes
- # from Bombadil <bombadil(at)h3c.de>. We're couting on the keyboard controller
- # being the first device handled by kbd listed in input/devices.
- t="$(/bin/grep -s -m 1 '^H: Handlers=kbd' /proc/bus/input/devices | grep -o 'event[0-9]*')"
- fi
- fi
- fi
- [ -n "${t}" ] && splash_comm_send "set event dev /dev/input/${t}"
-}
-
-###########################################################################
-# Service
-###########################################################################
-
-# args: <svc> <action>
-splash_svc() {
- local srv="$1"
- local act="$2"
-
- if [ "${act}" = "start" ]; then
- splash_svc_update "${srv}" "svc_started"
- if [ "${srv}" = "gpm" ]; then
- splash_comm_send "set gpm"
- splash_comm_send "repaint"
- fi
- splash_comm_send "log Service '${srv}' started."
- else
- splash_svc_update "${srv}" "svc_stopped"
- splash_comm_send "log Service '${srv}' stopped."
- fi
-
- splash_update_progress "${srv}"
-}
-
-# args: <svc> <action>
-splash_svc_fail() {
- local srv="$1"
- local act="$2"
-
- if [ "${SPLASH_VERBOSE_ON_ERRORS}" = "yes" ]; then
- splash_verbose
- return 1
- fi
-
- if [ "${act}" = "start" ]; then
- splash_svc_update "${srv}" "svc_start_failed"
- splash_comm_send "log Service '${srv}' failed to start."
- else
- splash_svc_update "${srv}" "svc_stop_failed"
- splash_comm_send "log Service '${srv}' failed to stop."
- fi
-
- splash_update_progress "${srv}"
-}
-
-# args: <svc> <state>
-#
-# Inform the splash daemon about service status changes.
-splash_svc_update() {
- splash_comm_send "update_svc $1 $2"
-}
-
-# args: <svc>
-splash_svc_start() {
- local svc="$1"
-
- splash_svc_update "${svc}" "svc_start"
- splash_comm_send "paint"
-}
-
-# args: <svc>
-splash_svc_stop() {
- local svc="$1"
-
- splash_svc_update "${svc}" "svc_stop"
- splash_comm_send "paint"
-}
-
-# args: <svc>
-splash_input_begin() {
- local svc="$1"
-
- if [ "$(splash_get_mode)" = "silent" ]; then
- splash_verbose
- export SPL_SVC_INPUT_SILENT="${svc}"
- fi
-}
-
-# args: <svc>
-splash_input_end() {
- local svc="$1"
-
- if [ "${SPL_SVC_INPUT_SILENT}" = "${svc}" ]; then
- splash_silent
- unset SPL_SVC_INPUT_SILENT
- fi
-}
-
-###########################################################################
-# Framebuffer Console Decorations functions
-###########################################################################
-
-fbcondecor_supported()
-{
- [ -e /dev/fbsplash -o -e /dev/fbcondecor ]
-}
-
-# args: <theme> <tty>
-fbcondecor_set_theme()
-{
- local theme=$1
- local tty=$2
-
- [ -x ${spl_decor} ] || return 1
-
- ${spl_decor} --tty="${tty}" -t "${theme}" -c setcfg || return 1
- ${spl_decor} --tty="${tty}" -t "${theme}" -c setpic -q
- ${spl_decor} --tty="${tty}" -c on
-}
-
-###########################################################################
-# Service list
-###########################################################################
-
-# splash_svclist_get <type>
-# -------------------------
-# type:
-# - start - to get a list of services to be started during bootup
-# - stop - to get a list of services to be stopped during shutdown/reboot
-splash_svclist_get() {
- if [ "$1" = "start" -a -r "${spl_cachedir}/svcs_start" ]; then
- cat "${spl_cachedir}/svcs_start"
- elif [ "$1" = "stop" -a -r "${spl_cachedir}/svcs_stop" ]; then
- cat "${spl_cachedir}/svcs_stop"
- fi
-}
-
-splash_warn() {
- echo "$*"
-}
-
-splash_err() {
- echo "$*"
-}
-
-############################################################################
-# Functions to be overridden by distro-specific code
-###########################################################################
-
-# args: <internal_runlevel> <runlevel>
-#
-# This function is called when an 'rc_init' event takes place,
-# i.e. when the runlevel is changed.
-
-# It is normally used to initialize any internal splash-related
-# variables (e.g. ones used to track the boot progress), calculate
-# and save the service list and call `splash_start` in appropriate
-# runlevels.
-#
-# Note that the splash cache is already intialized when this
-# function is called.
-splash_init() {
- if [ "$2" = "6" -o "$2" = "0" -o "$2" = "S" -a "$1" = "sysinit" ]; then
- splash_start
- fi
-}
-
-# args: <runlevel>
-#
-# This function is called when an 'rc_exit' event takes place,
-# i.e. at the end of processes all initscript from a runlevel.
-splash_exit() {
- # If we're in sysinit or rebooting, do nothing.
- [ "$1" = "S" -o "$1" = "6" -o "$1" = "0" ] && return 0
-
- splash_comm_send "exit"
- splash_cache_cleanup
-}
-
-# args: <svc>
-#
-# This function is called whenever the progress variable should be
-# updated. It should recalculate the progress and send it to the
-# splash daemon.
-splash_update_progress() {
- # splash_comm_send "progress ${progress}"
- # splash_comm_send "paint"
- return
-}
-
-# Export functions if we're running bash.
-if [ -n "${BASH}" ]; then
- export -f splash
- export -f splash_setup
- export -f splash_get_boot_message
- export -f splash_start
- export -f splash_cache_prep
- export -f splash_cache_cleanup
- export -f splash_comm_send
- export -f splash_get_mode
- export -f chvt
- export -f splash_verbose
- export -f splash_silent
- export -f splash_profile
- export -f splash_set_event_dev
- export -f splash_svclist_get
-fi
-
-# Load any supplementary splash functions.
-for i in /sbin/splash-functions-*.sh ; do
- [ -r "${i}" ] && . "${i}"
-done
-
-splash_setup
-
-# vim:ts=4
diff --git a/abs/core-testing/fbsplash/splash.conf b/abs/core-testing/fbsplash/splash.conf
new file mode 100644
index 0000000..74cada9
--- /dev/null
+++ b/abs/core-testing/fbsplash/splash.conf
@@ -0,0 +1,63 @@
+#
+# /etc/conf.d/splash
+#
+
+#### initcpio and Fbsplash daemon ##########################################
+
+## Themes to include into initcpio
+## For a smaller initcpio you may try theme cfg files instead of directories.
+SPLASH_THEMES=(
+ linhes
+)
+
+## Override the initial silent splash screen status message defaults.
+## Note: '$progress' will be replaced by Fbsplash itself.
+## * initcpio - (no effect with fbcondecor kernel)
+SPLASH_INIT_MESSAGE="Initializing the kernel"
+## * bootup
+SPLASH_BOOT_MESSAGE="Booting '$HOSTNAME' (\$progress%)"
+## * reboot
+SPLASH_REBOOT_MESSAGE="Rebooting '$HOSTNAME' (\$progress%)"
+## * shutdown
+SPLASH_SHUTDOWN_MESSAGE="Shutting down '$HOSTNAME' (\$progress%)"
+
+## To show animations early, include the Fbsplash daemon (1.5 MiB) into initcpio, too,
+## instead of the small helper only.
+## Note: Themes with 'scripts/rc_init-pre' like 'arch-banner-icons' are not supported.
+SPLASH_DAEMON="early"
+
+## Make the splash daemon use fade effects.
+## Note: The initcpio helper does only use the kernel parameter!
+# SPLASH_EFFECTS="fadein,fadeout"
+## Uggly hack to get that in from the kernel line :p
+SPLASH_EFFECTS=$(e=();IFS=',';for w in $splash;do [[ $w == fade* ]]&&e+=($w);done;echo "${e[*]}")
+
+## Enable the textbox when starting the Fbsplash daemon.
+## Useful if the theme provides a message log or other textbox.
+## The scripts write any initscripts [FAIL] messages to the log.
+## Note: The textbox can also be toggled by pressing F3-key.
+SPLASH_TEXTBOX="yes"
+
+## Splash progress timeout
+## If set to a positive value, Fbsplash will automatically switch to verbose
+## mode if there is no progress for the specified number of seconds.
+SPLASH_AUTOVERBOSE=0
+
+#### scripts behaviour #####################################################
+
+## Change to verbose mode on any initscripts [FAIL] message
+## Useful with very simple themes and also when starting Xorg from DAEMONS
+SPLASH_VERBOSE_ON_ERRORS="no"
+
+## Name of the DAEMONS script starting Xorg if any
+## Set this to avoid virtual terminal change struggle between Xorg and Fbsplash.
+SPLASH_XSERVICE="gdm"
+#SPLASH_XSERVICE="kdm"
+#SPLASH_XSERVICE="xdm"
+#SPLASH_XSERVICE="lxdm"
+#SPLASH_XSERVICE="slim"
+
+## Push initscripts [BUSY] messages to the splash status message line.
+SPLASH_PUSH_MESSAGES="no"
+
+# EOF #