diff options
author | Det | 2015-07-09 13:49:27 +0300 |
---|---|---|
committer | Det | 2015-07-09 13:49:27 +0300 |
commit | b6fe689ea31f215368d1f2a880b4becbb85e3e00 (patch) | |
tree | f4e642e7adbedc3e13ca1bd8c2546e2790898137 | |
download | aur-b6fe689ea31f215368d1f2a880b4becbb85e3e00.tar.gz |
Initial import: 1.5.4.4-16
-rw-r--r-- | .SRCINFO | 36 | ||||
-rw-r--r-- | PKGBUILD | 110 | ||||
-rw-r--r-- | fbcondecor.conf | 6 | ||||
-rw-r--r-- | fbcondecor.daemon | 55 | ||||
-rw-r--r-- | fbsplash-basic.sh | 196 | ||||
-rw-r--r-- | fbsplash.initcpio_hook | 52 | ||||
-rw-r--r-- | fbsplash.initcpio_install | 104 | ||||
-rw-r--r-- | fbsplash.install | 33 | ||||
-rw-r--r-- | splash.conf | 76 | ||||
-rw-r--r-- | splash_start_initcpio.patch | 22 |
10 files changed, 690 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..d3dccbc07735 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,36 @@ +pkgbase = fbsplash + pkgdesc = Userspace implementation of a splash screen for Linux (formerly gensplash) + pkgver = 1.5.4.4 + pkgrel = 16 + url = http://fbsplash.alanhaggai.org + install = fbsplash.install + arch = i686 + arch = x86_64 + license = GPL + depends = miscsplashutils + depends = freetype2 + depends = libjpeg + depends = libpng + depends = libmng + depends = lcms + depends = gpm + optdepends = linux-fbcondecor: enable console background images + optdepends = fbsplash-extras: additional functionality like daemon icons + optdepends = uswsusp-fbsplash: suspend to disk with fbsplash + optdepends = python: convert themes from splashy to fbsplash + conflicts = fbsplash-scripts + conflicts = initscripts-extras-fbsplash + source = http://downloads.sourceforge.net/project/fbsplash.berlios/splashutils-1.5.4.4.tar.bz2 + source = splash_start_initcpio.patch + source = splash.conf + source = fbsplash-basic.sh + source = fbsplash.initcpio_install + source = fbsplash.initcpio_hook + source = fbcondecor.daemon + source = fbcondecor.conf + options = !makeflags + backup = etc/conf.d/fbcondecor + backup = etc/conf.d/splash + +pkgname = fbsplash + diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..ab8589c63294 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,110 @@ +# Maintainer: Det +# Contributors: Tom Kwok, Heiko Baums, Kurt J. Bosch + +pkgname=fbsplash +pkgver=1.5.4.4 +pkgrel=16 +pkgdesc="Userspace implementation of a splash screen for Linux (formerly gensplash)" +arch=('i686' 'x86_64') +url="http://fbsplash.alanhaggai.org" +license=('GPL') +depends=('miscsplashutils' 'freetype2' 'libjpeg' 'libpng' 'libmng' 'lcms' 'gpm') +optdepends=('linux-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=$pkgname.install +source=("http://downloads.sourceforge.net/project/fbsplash.berlios/splashutils-$pkgver.tar.bz2" + 'splash_start_initcpio.patch' + 'splash.conf' + 'fbsplash-basic.sh' + 'fbsplash.initcpio_install' + 'fbsplash.initcpio_hook' + 'fbcondecor.daemon' + 'fbcondecor.conf') +md5sums=('2a16704c4adde97b58812cd89e3f2342' + '4045e315c52f5a576fca4f7e634eeb91' + '90708a96038d7d7921c2e9fde938c058' + 'b5e6c08bbe7645a1c035565ea7d66437' + '2860cc29d5da2ea65c810de068bcc262' + 'f65cf94d4d4959bb44cda5fa634ab405' + '631b10db2f7c4b70062e79b60541ddbb' + 'b3db9d4fd902b62ac9e38589677e2d16') + +build() { + cd splashutils-$pkgver + + msg2 "Running 'autoreconf'.." + autoreconf -i + + # fix fbcondecor_ctl splash type + sed -i 's|fbsplash_lib_init(fbspl_bootup)|fbsplash_lib_init(fbspl_undef)|' src/fbcon_decor_ctl.c + + # fix libdir + sed -i "s|/lib/splash/cache|/usr/lib/splash/cache|g" debian/splashutils.dirs + sed -i "s|/lib/splash/tmp|/usr/lib/splash/tmp|g" debian/splashutils.dirs + sed -i "s|/lib/splash/cache|/usr/lib/splash/cache|g" debian/splash.conf + sed -i "s|/lib/splash/cache|/usr/lib/splash/cache|g" debian/changelog + sed -i "s|/lib/splash/tmp|/usr/lib/splash/tmp|g" debian/changelog + sed -i "s|/lib/splash/cache|/usr/lib/splash/cache|g" docs/daemon + sed -i "s|@libdir@/splash/cache|/usr/lib/splash/cache|g" scripts/splash-functions.sh.in + sed -i "s|@libdir@/splash/tmp|/usr/lib/splash/tmp|g" scripts/splash-functions.sh.in + sed -i "s|@libdir@/splash/bin|/usr/lib/splash/bin|g" scripts/splash-functions.sh.in + sed -i "s|/lib/splash/cache|/usr/lib/splash/cache|g" src/daemon_cmd.c + sed -i "s|@libdir@/splash/sys|/usr/lib/splash/sys|g" scripts/splash_geninitramfs.in + sed -i "s|@libdir@/splash|/usr/lib/splash|g" scripts/splash_manager.in + sed -i "s|@libdir@/splash|/usr/lib/splash|g" src/fbsplash.h.in + + #Fix freetype => freetype2 + sed -i 's|\(#include <freetype\)/|\12/|' src/libfbsplashrender.c + sed -i 's|\(#include <freetype\)/|\12/|' src/ttf.h + sed -i 's|\(#include <freetype\)/|\12/|' src/ttf.c + + # fix set_event_dev call for initcpio usage (if evdev module is there) + #patch -Np2 -i "$srcdir/splash_start_initcpio.patch" + + export LIBS="-lbz2" + + msg2 "Running './configure'.." + ./configure --prefix=/usr --sbindir=/usr/bin --sysconfdir=/etc --without-klibc --enable-fbcondecor --with-gpm --with-mng --with-png --with-ttf --with-ttf-kernel + + msg2 "Running 'make'.." + make +} + +package() { + cd splashutils-$pkgver + + msg2 "Running 'make install'.." + make DESTDIR="$pkgdir" \ + sbindir="/usr/bin" \ + eexecbindir="/usr/bin" \ + eexecsbindir="/usr/bin" \ + install + + cd "$pkgdir" + + # fix duplicate slashes to get splash_cache_cleanup grep to work + sed -r -e 's,^(export spl_.*="/)/+,\1,' -i usr/bin/splash-functions.sh + + # fix the path to splash_util + sed -r -e 's|sbin|usr/bin|g' -i usr/bin/splash{-functions.sh,_{geninitramfs,manager}} usr/share/doc/splashutils/{porting,early_bootup} usr/include/fbsplash.h + + # provide the mountpoint needed by splash-functions.sh + install -dm755 usr/lib/splash/{cache,tmp} + install -dm700 usr/lib/splash/sys + + # Install fbsplash scripts and config file + install -Dm644 "$srcdir"/splash.conf etc/conf.d/splash + install -Dm644 "$srcdir"/fbsplash-basic.sh etc/rc.d/functions.d/fbsplash-basic.sh + install -Dm644 "$srcdir"/fbsplash.initcpio_install usr/lib/initcpio/install/fbsplash + install -Dm644 "$srcdir"/fbsplash.initcpio_hook usr/lib/initcpio/hooks/fbsplash + + # Install fbcodecor script and config file + install -Dm644 "$srcdir"/fbcondecor.conf etc/conf.d/fbcondecor + install -Dm755 "$srcdir"/fbcondecor.daemon etc/rc.d/fbcondecor +}
\ No newline at end of file diff --git a/fbcondecor.conf b/fbcondecor.conf new file mode 100644 index 000000000000..18db844524c3 --- /dev/null +++ b/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/fbcondecor.daemon b/fbcondecor.daemon new file mode 100644 index 000000000000..882c05fa835d --- /dev/null +++ b/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 +. /usr/bin/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/fbsplash-basic.sh b/fbsplash-basic.sh new file mode 100644 index 000000000000..45c39ef17ced --- /dev/null +++ b/fbsplash-basic.sh @@ -0,0 +1,196 @@ + +# /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 advanced script is 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 ) + # splash-functions.sh will run splash_setup which needs /proc + # code line copied from /etc/rc.sysinit + /bin/mountpoint -q /proc || /bin/mount -n -t proc proc /proc -o nosuid,noexec,nodev + export SPLASH_PUSH_MESSAGES SPLASH_VERBOSE_ON_ERRORS + . /usr/bin/splash-functions.sh # /etc/conf.d/splash is also sourced by this + unset options opt i # eliminate splash_setup non local vars ## FIX ME ## + SPLASH_STEPS=3 # sysinit steps + 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 /run/.splash-cache; then + /bin/mount --move /run/.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 > 1 && fsckret != 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 + /usr/lib/systemd/systemd-vconsole-setup + # 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 + } + splash_shutdown_prekillall() { + splash_comm_send progress $(( 65535*1/3 )); splash_comm_send paint + [[ -r $spl_pidfile ]] && add_omit_pids $( <$spl_pidfile ) + } + splash_shutdown_postkillall() { + splash_comm_send progress $(( 65535*2/3 )); splash_comm_send paint + } + 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++ )) + 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_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; /usr/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 + /usr/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/fbsplash.initcpio_hook b/fbsplash.initcpio_hook new file mode 100644 index 000000000000..2ace3e8bf9f7 --- /dev/null +++ b/fbsplash.initcpio_hook @@ -0,0 +1,52 @@ +run_hook () +{ + # avoid exporting configuration + ( + SPLASH_INIT_MESSAGE="Initializing the kernel" + # Get configuration and functions (faking sysinit for config file hacks) + PREVLEVEL=N; RUNLEVEL=S + . /usr/bin/splash-functions.sh + unset PREVLEVEL RUNLEVEL + + [ "${SPLASH_MODE_REQ}" = "silent" ] || exit 0 + + # Start the daemon here if possible + # to show animations early and gain some bootup speed + if [ -x "$spl_daemon" ]; then + msg "Starting Fbsplash Daemon" + set -e + # Mount the cache within /run to get it moved to the new root + mkdir /run/.splash-cache + ( spl_cachedir=/run/.splash-cache; splash_cache_prep ) + # Take over any existing cache content + mkdir -p $spl_cachedir + parent=$( dirname $spl_cachedir ) + mv $spl_cachedir $parent/.splash-cache + cp -a $parent/.splash-cache /run/ + # Symlink for starting the daemon + ln -s /run/.splash-cache $spl_cachedir + # 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 + cd /run/.splash-cache + set +e + SPLASH_BOOT_MESSAGE="${SPLASH_INIT_MESSAGE}" + splash_start && sleep .1 # allow the daemon to open the event dev + exit + fi + + # Start the fbcondecor helper if not already done by fbcondecor kernel + if ! fbcondecor_supported; then + BOOT_MSG="${SPLASH_INIT_MESSAGE}" \ + /usr/bin/fbcondecor_helper 2 init 0 0 $SPLASH_THEME + fi + ) +} diff --git a/fbsplash.initcpio_install b/fbsplash.initcpio_install new file mode 100644 index 000000000000..fcbc9f22f0a6 --- /dev/null +++ b/fbsplash.initcpio_install @@ -0,0 +1,104 @@ + +build() { + # Add config file, splash-functions and the helper + add_file /etc/conf.d/splash + add_file /usr/bin/splash-functions.sh + add_binary /usr/bin/fbcondecor_helper + + # Get in configuration, parameters and functions + . /etc/conf.d/splash + . /usr/bin/splash-functions.sh + + # Unmount any stale cache tmpfs + splash_cache_cleanup + + SPLASH_PROFILE=off + + if [[ $SPLASH_DAEMON = early ]]; then + # Add stuff needed to run splash_start function (except optional evdev module) + add_dir $spl_tmpdir + add_binary $spl_daemon + if [[ -e /etc/rc.d/functions.d/fbsplash-extras.sh ]]; then + . /etc/rc.d/functions.d/fbsplash-extras.sh + # Add files from a prepared cache (faking sysinit) + splash_cache_prep_initcpio && add_full_dir $spl_cachedir + fi + fi + + # List file paths contained in given Fbsplash theme cfg files + # (Only file paths containing at least one slash will be found by this.) + fbsplash_list_paths() { + (( $# )) || return 0 + /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 arg is a theme cfg file path + fbsplash_is_cfg() { + [[ $1 =~ ^/etc/splash/[^/]+/[0-9]+x[0-9]+\.cfg$ ]] + } + + # Add all files referenced by path in given theme cfg files + # args: <theme-root-dir> <cfg-file>... + fbsplash_add_files_from_cfgs() { + local file theme_dir=$1; shift + while read file; do + if [[ $file == /* ]]; then + add_file $file + else # Path may be relative to /etc/splash or theme-dir + local found=0 + for file in /etc/splash/$file "$theme_dir"/$file; do + [[ -f $file ]] && { add_file $file; found=1; } + done + (( found )) || error "Theme '${theme_dir##*/}': File not found: '$file'" + fi + done < <( fbsplash_list_paths "$@" ) + } + + # Add common files (may be referenced in cfg by plain file name) + local file + for file in /etc/splash/*; do + [[ -f $file ]] && add_file "$file" + done + + # Add themes + local file theme + for theme in $SPLASH_THEMES; do + if [[ -d /etc/splash/$theme && $theme != */* ]]; then + add_full_dir /etc/splash/$theme + local files=() + for file in /etc/splash/$theme/*.cfg; do + [[ -f $file ]] && fbsplash_is_cfg "$file" && files+=( $file ) + done + fbsplash_add_files_from_cfgs /etc/splash/$theme "${files[@]}" + elif [[ -f /etc/splash/$theme ]] && fbsplash_is_cfg /etc/splash/$theme; then + file=/etc/splash/$theme; theme=${theme%/*} + add_file $file + fbsplash_add_files_from_cfgs /etc/splash/$theme $file + # Add all non-cfg files from theme dir (may be referenced by plain file name) + for file in /etc/splash/$theme/*; do + [[ -f $file ]] && ! fbsplash_is_cfg "$file" && add_file "$file" + done + else + error "Theme invalid or not found: '$theme'" + fi + done + + add_runscript fbsplash +} + +help() { +cat<<HELPEOF + This hook adds the FBconDecor helper and Fbsplash themes and maybe the + Fbsplash daemon as specified in /etc/conf.d/splash. +HELPEOF +} + +#EOF diff --git a/fbsplash.install b/fbsplash.install new file mode 100644 index 000000000000..9ceef8042010 --- /dev/null +++ b/fbsplash.install @@ -0,0 +1,33 @@ +post_install() { + 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() { + if [ -d /lib/splash/sys ]; then + rm -r /lib/splash/sys + fi + if [ ! "$(ls -A /lib/splash)" ]; then + rmdir /lib/splash + fi + post_install +} + +op=$1 +shift +$op $* + +#EOF diff --git a/splash.conf b/splash.conf new file mode 100644 index 000000000000..8eb3a442ddaf --- /dev/null +++ b/splash.conf @@ -0,0 +1,76 @@ +# +# /etc/conf.d/splash +# + +#### WARNING! +## This file is also sourced in the initcpio hook. +## No BASH-code (like arrays) is allowed here! + +#### initcpio and Fbsplash daemon ########################################## + +## Themes to include into initcpio +## For a smaller initcpio you may try theme cfg files instead of directories. +SPLASH_THEMES=" + arch-black + arch-banner-icons/1024x768.cfg + arch-banner-icons/1280x800.cfg + arch-banner-noicons/1024x768.cfg + arch-banner-noicons/1280x800.cfg +" + +## 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%)" + +## Include and use the Fbsplash daemon (1.5 MiB) in the initcpio +## instead of the small helper only. +## Usefull to show animations early. +## Note: Themes with 'scripts/rc_init-pre' like 'arch-banner-icons' are +## supported now if fbsplash-extras>=2.0.10 is installed, but there +## might still be some sophisticated ones which break when using this. +SPLASH_DAEMON="early" + +## Make the splash daemon use fade effects. +## Note: The initcpio helper does only use the kernel parameter! +# Just use fadein on bootup and fadeout on shutdown/reboot +case $PREVLEVEL in N ) SPLASH_EFFECTS="fadein" ; esac +case $RUNLEVEL in [06] ) SPLASH_EFFECTS="fadeout"; esac +# Uncomment this line to allways use both +# SPLASH_EFFECTS="fadein,fadeout" + +## 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 X 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 # diff --git a/splash_start_initcpio.patch b/splash_start_initcpio.patch new file mode 100644 index 000000000000..ff4ae962881c --- /dev/null +++ b/splash_start_initcpio.patch @@ -0,0 +1,22 @@ +diff -ru src.orig//splashutils-1.5.4.3/scripts/splash-functions.sh.in src//splashutils-1.5.4.3/scripts/splash-functions.sh.in +--- src.orig//splashutils-1.5.4.3/scripts/splash-functions.sh.in 2008-11-13 20:54:19.000000000 +0100 ++++ src//splashutils-1.5.4.3/scripts/splash-functions.sh.in 2011-03-03 09:45:29.258901793 +0100 +@@ -250,6 +250,9 @@ + # Start the splash daemon + BOOT_MSG="$(splash_get_boot_message)" ${spl_daemon} --theme="${SPLASH_THEME}" --pidfile="${spl_pidfile}" --type=${ttype} ${options} + ++ # First let the daemon open the event dev before it's gone away in case this is run in the initcpio ++ splash_set_event_dev ++ + # Set the silent TTY and boot message + splash_comm_send "set tty silent ${SPLASH_TTY}" + +@@ -261,8 +264,6 @@ + + splash_comm_send "set autoverbose ${SPLASH_AUTOVERBOSE}" + +- splash_set_event_dev +- + return 0 + } + |