diff options
author | Jorge Barroso | 2015-06-15 21:26:56 +0200 |
---|---|---|
committer | Jorge Barroso | 2015-06-15 21:26:56 +0200 |
commit | 6fb9ca8b4dbea4d222d8f7bbb522bfdf3cef4e5b (patch) | |
tree | 81e49ac948d817a3c923d96c823f6dcbe485b4ba | |
download | aur-6fb9ca8b4dbea4d222d8f7bbb522bfdf3cef4e5b.tar.gz |
Initial import
-rw-r--r-- | .AURINFO | 30 | ||||
-rw-r--r-- | .SRCINFO | 38 | ||||
-rw-r--r-- | PKGBUILD | 75 | ||||
-rw-r--r-- | automake.patch | 30 | ||||
-rw-r--r-- | configure.ac.patch | 11 | ||||
-rw-r--r-- | initcpio_hook | 48 | ||||
-rw-r--r-- | initcpio_install | 51 | ||||
-rw-r--r-- | splash-initscripts | 310 | ||||
-rw-r--r-- | splash.conf | 4 | ||||
-rw-r--r-- | splashy-full.install | 15 | ||||
-rw-r--r-- | splashy-functions | 92 |
11 files changed, 704 insertions, 0 deletions
diff --git a/.AURINFO b/.AURINFO new file mode 100644 index 000000000000..2254d4accc53 --- /dev/null +++ b/.AURINFO @@ -0,0 +1,30 @@ +pkgbase = splashy-full + pkgdesc = A boot splashing system + pkgver = c2c9cc2 + pkgrel = 1 + url = http://anonscm.debian.org/gitweb/?p=splashy/splashy;a=summary + install = splashy-full.install + arch = any + license = GPL + makedepends = git + depends = mkinitcpio + depends = sysfsutils + depends = glib2 + depends = directfb + provides = splashy + source = splashy::git+https://alioth.debian.org/anonscm/git/splashy/splashy.git + source = splash.conf + source = splash-initscripts + source = splashy-functions + source = initcpio_hook + source = initcpio_install + source = automake.patch + source = configure.ac.patch + options = !libtool + options = !distcc + options = !makeflags + backup = etc/splash.conf + backup = etc/splashy/config.xml + +pkgname = splashy-full + diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..bf8d7fe04a1c --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,38 @@ +pkgbase = splashy-full + pkgdesc = A boot splashing system + pkgver = c2c9cc2 + pkgrel = 1 + url = http://anonscm.debian.org/gitweb/?p=splashy/splashy;a=summary + install = splashy-full.install + arch = any + license = GPL + makedepends = git + depends = mkinitcpio + depends = sysfsutils + depends = glib2 + depends = directfb + provides = splashy + options = !libtool + options = !distcc + options = !makeflags + backup = etc/splash.conf + backup = etc/splashy/config.xml + source = splashy::git+https://alioth.debian.org/anonscm/git/splashy/splashy.git + source = splash.conf + source = splash-initscripts + source = splashy-functions + source = initcpio_hook + source = initcpio_install + source = automake.patch + source = configure.ac.patch + sha512sums = SKIP + sha512sums = d48cffcd5f810c53100011b4f4b5437b69c2e0da3d261d22907dcbe20515abbeef06755c367ff3f0a77bf830eb67e165bb62eea717af76b4bcb0b631832af830 + sha512sums = d60dbb2b71f30b1d94a43f28fd8219df6271c08b26e92b5bd43d0beed0e9360afa1de250af01af104811cfcb7b30458669689d10b74a197033d6def562f60f3e + sha512sums = c2cb16c9f61eb1feea8ebc22daa03d0aa3633caa30d2e45112e11da02940ee0028cb5e65e7ca07ae090f71150488ac0938e98dd4066b0e1e732710b96b1f99a3 + sha512sums = 270511c7336aaf0dea0db13c868ebd93916519bb042c245f031703cc49ad395c444f33817803fbd11fa5e6dca42624135223028176bec8deae9622f15caf4494 + sha512sums = 5d12f6edcf572d26daf51b95aba98db1097ff2f2aeab4cd6cc400ba84b1194589d5a0a0360f9f929f2fcf63c79e107892401d38336ef908794447c14bda2fdb8 + sha512sums = 129866f6c84a1642fbe68f614f288655e0ddda5b4036454978321e0b9ba597ab019c952c4950d0b25c421ef1cd7ee1fa784a8b2a8809ef32acf52da1831c4644 + sha512sums = 2ede62cc64e5348b564a93d07449bd3d60296203ca8112ded073239e77f288be52e774b3cd5fe2026d41cb8bc117b45c00208653809da0d2056a85ad8fab152f + +pkgname = splashy-full + diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..89267b11582e --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,75 @@ +# Maintainer: Jorge Barroso <jorge.barroso.11 at gmail dot com> +# Contributors: Det, Lexiw, Angel 'angvp' Velasquez, dongiovanni, +# Darwin Bautista, Jeremy Sands, carstene1ns +# And the people here: http://bbs.archlinux.org/viewtopic.php?id=48978 + +pkgname=splashy-full +pkgver=c2c9cc2 +pkgrel=1 +pkgdesc="A boot splashing system" +arch=('any') +url="http://anonscm.debian.org/gitweb/?p=splashy/splashy;a=summary" +license=('GPL') +depends=('mkinitcpio' 'sysfsutils' 'glib2' 'directfb') +makedepends=('git') +options=('!libtool' '!distcc' '!makeflags') +provides=(splashy) +install=$pkgname.install +backup=(etc/splash.conf + etc/splashy/config.xml) +source=(splashy::git+https://alioth.debian.org/anonscm/git/splashy/splashy.git + splash.conf + splash-initscripts + splashy-functions + initcpio_hook + initcpio_install + automake.patch + configure.ac.patch) +sha512sums=('SKIP' + 'd48cffcd5f810c53100011b4f4b5437b69c2e0da3d261d22907dcbe20515abbeef06755c367ff3f0a77bf830eb67e165bb62eea717af76b4bcb0b631832af830' + 'd60dbb2b71f30b1d94a43f28fd8219df6271c08b26e92b5bd43d0beed0e9360afa1de250af01af104811cfcb7b30458669689d10b74a197033d6def562f60f3e' + 'c2cb16c9f61eb1feea8ebc22daa03d0aa3633caa30d2e45112e11da02940ee0028cb5e65e7ca07ae090f71150488ac0938e98dd4066b0e1e732710b96b1f99a3' + '270511c7336aaf0dea0db13c868ebd93916519bb042c245f031703cc49ad395c444f33817803fbd11fa5e6dca42624135223028176bec8deae9622f15caf4494' + '5d12f6edcf572d26daf51b95aba98db1097ff2f2aeab4cd6cc400ba84b1194589d5a0a0360f9f929f2fcf63c79e107892401d38336ef908794447c14bda2fdb8' + '129866f6c84a1642fbe68f614f288655e0ddda5b4036454978321e0b9ba597ab019c952c4950d0b25c421ef1cd7ee1fa784a8b2a8809ef32acf52da1831c4644' + '2ede62cc64e5348b564a93d07449bd3d60296203ca8112ded073239e77f288be52e774b3cd5fe2026d41cb8bc117b45c00208653809da0d2056a85ad8fab152f') + +pkgver() { + cd "$srcdir/splashy" + git describe --always | sed -r 's/([^-]*-g)/r\1/;s/-/./g' +} + +build() { +cd splashy + +# Fix the build +#sed -e 's|-Werror||g' -i configure.ac + patch -p1 ./autogen.sh $srcdir/automake.patch + patch -p1 ./configure.ac $srcdir/configure.ac.patch + +./autogen.sh --prefix=/usr \ + --libdir=/usr/lib \ + --sysconfdir=/etc \ + --sbindir=/sbin \ + --datarootdir=/usr/share \ + --mandir=/usr/share/man \ + --includedir=/usr/include + +make +} + +package() { +cd splashy + +make DESTDIR="$pkgdir/" install + +rm -rf "$pkgdir/"{etc/{console-tools,default,init.d,lsb-base-logging.sh},usr/share/initramfs-tools} + +install -Dm644 ../initcpio_install "$pkgdir"/usr/lib/initcpio/install/splashy +install -Dm644 ../initcpio_hook "$pkgdir"/usr/lib/initcpio/hooks/splashy +install -Dm644 ../splashy-functions "$pkgdir"/etc/rc.d/splashy-functions +install -Dm644 ../splash-initscripts "$pkgdir"/etc/rc.d/functions.d/splash +install -Dm644 ../splash.conf "$pkgdir"/etc/splash.conf + +sed -e 's|>/etc/splashy/themes<|>/usr/share/splashy/themes<|' -i "$pkgdir"/etc/splashy/config.xml +}
\ No newline at end of file diff --git a/automake.patch b/automake.patch new file mode 100644 index 000000000000..3d8a46aa0356 --- /dev/null +++ b/automake.patch @@ -0,0 +1,30 @@ +--- /home/jorge/Dokumente/aur/-/splashy-full/src/splashy/autogen.sh 2014-07-08 02:57:43.095895739 +0200 ++++ /home/jorge/Dokumente/aur/-/splashy-full/src/splashy/autogen2.sh 2014-07-08 02:57:52.459228945 +0200 +@@ -8,6 +8,7 @@ + # default version requirements ... + REQUIRED_AUTOCONF_VERSION=${REQUIRED_AUTOCONF_VERSION:-2.59} + REQUIRED_AUTOMAKE_VERSION=${REQUIRED_AUTOMAKE_VERSION:-1.9} ++REQUIRED_AUTOMAKE_VERSION=${REQUIRED_AUTOMAKE_VERSION:-1.14} + REQUIRED_LIBTOOL_VERSION=${REQUIRED_LIBTOOL_VERSION:-1.5} + REQUIRED_GETTEXT_VERSION=${REQUIRED_GETTEXT_VERSION:-0.12} + REQUIRED_GLIB_GETTEXT_VERSION=${REQUIRED_GLIB_GETTEXT_VERSION:-2.2.0} +@@ -261,12 +262,13 @@ + + case $REQUIRED_AUTOMAKE_VERSION in + 1.4*) automake_progs="automake-1.4" ;; +- 1.5*) automake_progs="automake-1.5 automake-1.6 automake-1.7 automake-1.8 automake-1.9 automake-1.10" ;; +- 1.6*) automake_progs="automake-1.6 automake-1.7 automake-1.8 automake-1.9 automake-1.10" ;; +- 1.7*) automake_progs="automake-1.7 automake-1.8 automake-1.9 automake-1.10" ;; +- 1.8*) automake_progs="automake-1.8 automake-1.9 automake-1.10" ;; +- 1.9*) automake_progs="automake-1.9 automake-1.10" ;; +- 1.10*) automake_progs="automake-1.10" ;; ++ 1.5*) automake_progs="automake-1.5 automake-1.6 automake-1.7 automake-1.8 automake-1.9 automake-1.10 automake-1.14" ;; ++ 1.6*) automake_progs="automake-1.6 automake-1.7 automake-1.8 automake-1.9 automake-1.10 automake-1.14" ;; ++ 1.7*) automake_progs="automake-1.7 automake-1.8 automake-1.9 automake-1.10 automake-1.14" ;; ++ 1.8*) automake_progs="automake-1.8 automake-1.9 automake-1.10 automake-1.14" ;; ++ 1.9*) automake_progs="automake-1.9 automake-1.10 automake-1.14" ;; ++ 1.10*) automake_progs="automake-1.10 automake-1.14" ;; ++ 1.14*) automake_progs="automake-1.14" ;; + esac + version_check automake AUTOMAKE "$automake_progs" $REQUIRED_AUTOMAKE_VERSION \ + "http://ftp.gnu.org/pub/gnu/automake/automake-$REQUIRED_AUTOMAKE_VERSION.tar.gz" || DIE=1 diff --git a/configure.ac.patch b/configure.ac.patch new file mode 100644 index 000000000000..75875db7ade1 --- /dev/null +++ b/configure.ac.patch @@ -0,0 +1,11 @@ +--- configure.ac 2013-03-02 20:04:29.015197612 +0100 ++++ configure2.ac 2013-03-02 20:05:38.999613236 +0100 +@@ -3,7 +3,7 @@ + + AC_INIT([splashy], [0.3.14], [splashy-devel@alioth.debian.org]) + AC_CONFIG_SRCDIR(src/splashy_main.c) +-AM_CONFIG_HEADER(config.h) ++AC_CONFIG_HEADER(config.h) + AM_INIT_AUTOMAKE([splashy], [0.3.14], [splashy-devel@alioth.debian.org]) + + AC_PREREQ(2.59) diff --git a/initcpio_hook b/initcpio_hook new file mode 100644 index 000000000000..5e960b9cb3d3 --- /dev/null +++ b/initcpio_hook @@ -0,0 +1,48 @@ +# vim: set ft=sh: +run_hook() { + [ -x /sbin/splashy ] || return + + SPLASH=false + SINGLE=false + + for x in $(cat /proc/cmdline); do + case $x in + single) + SINGLE=true + ;; + splash) + SPLASH=true + ;; + nosplash) + SPLASH=false + ;; + esac + done + + [ "${SINGLE}" = "false" ] || return + [ "${SPLASH}" = "true" ] || return + +#if [ -s /proc/fb ]; then +# while read fbno desc; do +# mknod /dev/fb${fbno} c 29 ${fbno} +# done < /proc/fb +#else +# mknod /dev/fb0 c 29 0 +#fi + +#for i in 0 1 2 3 4 5 6 7 8; do +# test -c /dev/tty${i} || \ +# mknod /dev/tty${i} c 4 ${i} +#done + + msg -n ":: Loading Splashy..." + + if [ -x /sbin/splashy_chvt ]; then + /sbin/splashy_chvt 8 + fi + + /sbin/splashy boot + sleep 1 #we need a better solution + + msg "done." +} diff --git a/initcpio_install b/initcpio_install new file mode 100644 index 000000000000..b6802d03928e --- /dev/null +++ b/initcpio_install @@ -0,0 +1,51 @@ +# vim: set ft=sh: +build() { +[ -x /sbin/splashy ] || return 1 + +THEMES_DIR="$(splashy_config --get-key /splashy/themes 2> /dev/null)" +CURRENT_THEME="$(splashy_config --get-key /splashy/current_theme 2> /dev/null)" + +add_binary "/sbin/splashy" +add_file "/sbin/splashy_chvt" +add_file "/etc/splashy/config.xml" +add_full_dir "${THEMES_DIR}/${CURRENT_THEME}" + +#shared libraries needed by splashy +add_file "/usr/lib/libsplashycnf.so" +add_file "/usr/lib/libsplashy.so" +add_file "/usr/lib/libglib-2.0.so" +add_file "/usr/lib/libdirectfb.so" +add_file "/usr/lib/libfusion.so" +add_file "/usr/lib/libdirect.so" +add_file "/usr/lib/libpng.so" +add_file "/usr/lib/libjpeg.so" +add_file "/usr/lib/libfreetype.so" +add_file "/lib/libm.so.6" +add_file "/lib/libpthread.so.0" +add_file "/usr/lib/libz.so" +add_file "/lib/libdl.so.2" +add_file "/lib/libc.so.6" +add_file "/usr/lib/libpcre.so" +add_file "/lib/libsysfs.so.2" +add_file "/usr/lib/directfb-1.6-0/wm/libdirectfbwm_default.so" +add_file "/usr/lib/directfb-1.6-0/systems/libdirectfb_fbdev.so" +add_file "/usr/lib/directfb-1.6-0/inputdrivers/libdirectfb_keyboard.so" +add_file "/usr/lib/directfb-1.6-0/interfaces/IDirectFBFont/libidirectfbfont_ft2.so" +# add_file "/usr/lib/directfb-1.6-0/interfaces/IDirectFBFont/libidirectfbfont_default.so" +add_file "/usr/lib/directfb-1.6-0/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_png.so" +add_file "/usr/lib/directfb-1.6-0/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_jpeg.so" + +if [ "$(uname -m)" = "x86_64" ];then +add_file "/lib/ld-linux-x86-64.so.2" +else +add_file "/lib/ld-linux.so.2" +fi + +SCRIPT="splashy" +} + +help() { +echo "This hook includes Splashy in the initramfs image." +} + +#EOF diff --git a/splash-initscripts b/splash-initscripts new file mode 100644 index 000000000000..a3e49a4a9216 --- /dev/null +++ b/splash-initscripts @@ -0,0 +1,310 @@ +# +# initscripts-splash functions +# + +. /etc/splash.conf + +if [ "$SPLASH_DEBUG" = "true" ]; then + if ! [ -d /var/log/splash ]; then + mkdir -p /var/log/splash + fi + if ! [ -f /var/log/splash/splash.log ]; then + mount -ns -t tmpfs -o size=1M tmpfs /var/log/splash + echo "Hello damned debugger" > /var/log/splash/splash.log + fi +fi + +debug_log() { + [ "$SPLASH_DEBUG" = "true" ] || return 1 + + echo "$1" >> /var/log/splash/splash.log +} + +splash_enabled_cmdline() { debug_log "$0 ${FUNCNAME}" + local ENABLE=false + local SINGLE=false + + for x in $CMDLINE; do + case $x in + single) + SINGLE=true + ;; + splash) + ENABLE=true + ;; + nosplash) + ENABLE=false + ;; + esac + done + + [ "${SINGLE}" = "false" ] || return 1 + [ "${ENABLE}" = "true" ] || return 1 + + return 0 +} + +splash_enabled_config() { debug_log "$0 ${FUNCNAME}" + if [[ -n ${SPLASH} && -f /etc/rc.d/${SPLASH}-functions ]]; then + return 0 + else + if [[ -f /etc/rc.d/splashy-functions ]]; then + SPLASH="splashy" + return 0 + else + return 1 + fi + fi +} + +if [ -z "$RUNLEVEL" ]; then + return 0 +fi + +if ! splash_enabled_cmdline; then + return 0 +fi + +if ! splash_enabled_config; then + return 0 +fi + +count_daemons() { + local COUNT=0 + for daemon in "${DAEMONS[@]}"; do + if [ "$daemon" = "${daemon#!}" ]; then + ((COUNT++)) + fi + done + + echo ${COUNT} +} + +count_stats() { + local COUNT=$(grep -e status -e stat_busy /etc/${1} | grep -c -v \#) + + if ! [ "$USELVM" = "yes" -o "$USELVM" = "YES" ]; then + ((COUNT--)) + fi + if ! [ -f /etc/crypttab -a -n "$(/bin/grep -v ^# /etc/crypttab | /bin/grep -v ^$)" ]; then + ((COUNT--)) + fi + + echo ${COUNT} +} + +set_sysinit() { debug_log "$0 ${FUNCNAME}" + SPLASH_PROGRESS_STATS=$(count_stats rc.sysinit) + SPLASH_PROGRESS_DAEMONS=$(count_daemons) + SPLASH_PROGRESS_TOTAL=$(($SPLASH_PROGRESS_STATS+$SPLASH_PROGRESS_DAEMONS)) + SPLASH_PROGRESS_COUNT=0 + SPLASH_AUTORUN_COMMAND="splash_sysinit" + + debug_log "SPLASH_PROGRESS_TOTAL=$SPLASH_PROGRESS_TOTAL SPLASH_AUTORUN_COMMAND=$SPLASH_AUTORUN_COMMAND" +} + +set_multi() { debug_log "$0 ${FUNCNAME}" + SPLASH_PROGRESS_STATS=$(count_stats rc.sysinit) + SPLASH_PROGRESS_DAEMONS=$(count_daemons) + SPLASH_PROGRESS_TOTAL=$(($SPLASH_PROGRESS_STATS+$SPLASH_PROGRESS_DAEMONS)) + SPLASH_PROGRESS_COUNT=$(($SPLASH_PROGRESS_STATS-1)) + SPLASH_AUTORUN_COMMAND="splash_multi" + + debug_log "SPLASH_PROGRESS_TOTAL=$SPLASH_PROGRESS_TOTAL SPLASH_AUTORUN_COMMAND=$SPLASH_AUTORUN_COMMAND" +} + +set_shutdown() { debug_log "$0 ${FUNCNAME}" + SPLASH_PROGRESS_STATS=$(count_stats rc.shutdown) + SPLASH_RUNNING_DAEMONS=(`/bin/ls /var/run/daemons`) + SPLASH_PROGRESS_DAEMONS=${#SPLASH_RUNNING_DAEMONS[*]} + SPLASH_PROGRESS_TOTAL=$(($SPLASH_PROGRESS_STATS+$SPLASH_PROGRESS_DAEMONS)) + SPLASH_PROGRESS_COUNT=0 + SPLASH_AUTORUN_COMMAND="splash_shutdown" + + debug_log "SPLASH_PROGRESS_TOTAL=$SPLASH_PROGRESS_TOTAL SPLASH_AUTORUN_COMMAND=$SPLASH_AUTORUN_COMMAND" +} + +if [ -z "${SPLASH_INIT_DONE}" ]; then + export SPLASH_INIT_DONE="true" + + debug_log "$0 Running initscript..." + + case "$RUNLEVEL" in + S) + set_sysinit + SPLASH_STATUS_MESSAGE="Booting Arch Linux..." + ;; + 3) + set_multi + SPLASH_STATUS_MESSAGE="Loading daemons..." + ;; + 5) + set_multi + SPLASH_STATUS_MESSAGE="Loading daemons..." + ;; + 6) + set_shutdown + SPLASH_STATUS_MESSAGE="Rebooting Arch Linux..." + ;; + 0) + set_shutdown + SPLASH_STATUS_MESSAGE="Shutting down Arch Linux..." + ;; + esac +fi + +. /etc/rc.d/${SPLASH}-functions + +# splash functions: + +splash_progress() { debug_log "$0 ${FUNCNAME}" + if [ -n "$SPLASH_PROGRESS_COUNT" ]; then + ${SPLASH}_progress $SPLASH_PROGRESS_COUNT $SPLASH_PROGRESS_TOTAL + ((SPLASH_PROGRESS_COUNT++)) + fi +} + +splash_print() { debug_log "$0 ${FUNCNAME}" + ${SPLASH}_print "${1}" + + debug_log "$1" +} + +splash_exit() { debug_log "$0 ${FUNCNAME}" + ${SPLASH}_exit ${DEFAULT_TTY} ${SWITCH_TTY} +} + +splash_sysinit() { debug_log "$0 ${FUNCNAME}" + ${SPLASH}_sysinit ${DEFAULT_TTY} +} + +splash_multi() { debug_log "$0 ${FUNCNAME}" + ${SPLASH}_multi + + trap splash_exit 0 + splash_progress +} + +splash_shutdown() { debug_log "$0 ${FUNCNAME}" + ${SPLASH}_shutdown ${DEFAULT_TTY} + + if [ -n "`pidof $SPLASH`" ]; then + export KILLALL5_OPTS="-o `pidof $SPLASH`" + fi +} + +if [ -n "${SPLASH_AUTORUN_COMMAND}" ]; then + $SPLASH_AUTORUN_COMMAND + splash_print "${SPLASH_STATUS_MESSAGE}" + sleep 0.5 +fi + +# functions: + +deltext() { debug_log "$0 ${FUNCNAME}" + if [ "$CONSOLE_PRINT" == "true" ]; then + printf "${DEL_TEXT}" + else + return 0 + fi +} + +printhl() { debug_log "$0 ${FUNCNAME}" + if [ "$CONSOLE_PRINT" == "true" ]; then + printf "${C_OTHER}${PREFIX_HL} ${C_H1}${1}${C_CLEAR} \n" + else + return 0 + fi +} + +printsep() { debug_log "$0 ${FUNCNAME}" + if [ "$CONSOLE_PRINT" == "true" ]; then + printf "\n${C_SEPARATOR} ------------------------------\n" + else + return 0 + fi +} + +stat_bkgd() { debug_log "$0 ${FUNCNAME}" + if [ "$CONSOLE_PRINT" == "true" ]; then + printf "${C_OTHER}${PREFIX_REG} ${C_MAIN}${1}${C_CLEAR} " + deltext + printf " ${C_OTHER}[${C_BKGD}BKGD${C_OTHER}]${C_CLEAR} " + fi +} + +stat_busy() { debug_log "$0 ${FUNCNAME}" + if [ "$CONSOLE_PRINT" == "true" ]; then + printf "${C_OTHER}${PREFIX_REG} ${C_MAIN}${1}${C_CLEAR} " + printf "${SAVE_POSITION}" + deltext + printf " ${C_OTHER}[${C_BUSY}BUSY${C_OTHER}]${C_CLEAR} " + fi + splash_print "${1}" +} + +stat_append() { debug_log "$0 ${FUNCNAME}" + if [ "$CONSOLE_PRINT" == "true" ]; then + printf "${RESTORE_POSITION}" + printf "${C_MAIN}${1}${C_CLEAR}" + printf "${SAVE_POSITION}" + else + return 0 + fi +} + +stat_done() { debug_log "$0 ${FUNCNAME}" + if [ "$CONSOLE_PRINT" == "true" ]; then + deltext + printf " ${C_OTHER}[${C_DONE}DONE${C_OTHER}]${C_CLEAR} \n" + fi + splash_progress +} + +stat_fail() { debug_log "$0 ${FUNCNAME}" + if [ "$CONSOLE_PRINT" == "true" ]; then + printf " ${C_OTHER}[${C_FAIL}FAIL${C_OTHER}]${C_CLEAR} \n" + fi + splash_print "Something failed, killing splash..." + sleep 2 + splash_exit +} + +#daemons: + +log_daemon() { debug_log "$0 ${FUNCNAME}" + case $1 in + ?dm|slim) + splash_exit + ;; + esac +} + +start_daemon() { debug_log "$0 ${FUNCNAME}" + log_daemon $1 + splash_progress + /etc/rc.d/$1 start +} + +start_daemon_bkgd() { debug_log "$0 ${FUNCNAME}" + if [ "$CONSOLE_PRINT" == "true" ]; then + stat_bkgd "Starting $1" + fi + log_daemon $1 + (/etc/rc.d/$1 start) &>/dev/null & + splash_progress +} + +stop_daemon() { debug_log "$0 ${FUNCNAME}" + /etc/rc.d/$1 stop + + for daemon in ${SPLASH_RUNNING_DAEMONS[@]}; do + if [ "$daemon" = "$1" ]; then + splash_progress + break + fi + done +} + +# End of file +# vim: set ts=2 noet: diff --git a/splash.conf b/splash.conf new file mode 100644 index 000000000000..3f820534267b --- /dev/null +++ b/splash.conf @@ -0,0 +1,4 @@ +DEFAULT_TTY=8 +SWITCH_TTY=1 +CONSOLE_PRINT=true +SPLASH_DEBUG=false diff --git a/splashy-full.install b/splashy-full.install new file mode 100644 index 000000000000..98d01886185b --- /dev/null +++ b/splashy-full.install @@ -0,0 +1,15 @@ +pkgname=splashy + +post_install() { + cat << _EOF + +==> To check out the Wiki see: +==> http://wiki.archlinux.org/index.php/Splashy + +_EOF +} + +pre_upgrade() { + echo "" + echo "automake1.10 dependence not needed any more, you can remove it ==> pacman -Rscn automake1.10" +}
\ No newline at end of file diff --git a/splashy-functions b/splashy-functions new file mode 100644 index 000000000000..037cb278a561 --- /dev/null +++ b/splashy-functions @@ -0,0 +1,92 @@ +# +# splashy functions +# + +# functions: + +splashy_wait_till_ready() { debug_log "$0 ${FUNCNAME}" + local tries=50 + + /sbin/splashy_update "print" 2> /dev/null + + while [ $? -ne 0 ]; do + [ $tries -ne 0 ] || return 1 + ((tries--)) + sleep 0.1 + /sbin/splashy_update "print" 2> /dev/null + done + + debug_log "tries=$((50-$tries))" +} + +splashy_print() { debug_log "$0 ${FUNCNAME}" + /sbin/splashy_update "print ${1}" 2> /dev/null +} + +splashy_sysinit() { debug_log "$0 ${FUNCNAME}" + splashy_wait_till_ready +} + +splashy_multi() { debug_log "$0 ${FUNCNAME}" + return 0 +} + +splashy_shutdown() { debug_log "$0 ${FUNCNAME}" + clear > /dev/tty${1} + /sbin/splashy_chvt ${1} + + splashy shutdown 2> /dev/null + + splashy_wait_till_ready +} + +splashy_kill() { debug_log "$0 ${FUNCNAME}" + local tries=50 + while pidof splashy > /dev/null; do + [ $tries -ne 0 ] || return 1 + ((tries--)) + + kill -15 `pidof splashy` + sleep 0.2 + pidof splashy > /dev/null || break + kill -9 `pidof splashy` + sleep 0.2 + done + debug_log "tries=$((50-$tries))" +} + +splashy_exit() { debug_log "$0 ${FUNCNAME}" + pidof splashy > /dev/null || return 1 + + /usr/bin/setterm -cursor off > /dev/tty8 + + /sbin/splashy_update "progress 100" 2> /dev/null + sleep 0.3 + /sbin/splashy_update "exit" 2> /dev/null + sleep 0.3 + + splashy_kill + + if [ "$(fgconsole 2>/dev/null)" = "${1}" ]; then + clear > /dev/tty${1} || true + fi + + /usr/bin/setterm -cursor off > /dev/tty7 + + if [ -n "${2}" ]; then + if [ "$(fgconsole 2>/dev/null)" != "${2}" ]; then + /sbin/splashy_chvt ${2} || true + else + # fall back to tty1 + /sbin/splashy_chvt 1 || true + fi + fi +} + +splashy_progress() { debug_log "$0 ${FUNCNAME}" + PROGRESS=$(((${1}*100)/${2})) + /sbin/splashy_update "progress ${PROGRESS}" 2> /dev/null +} + +# End of file +# vim: set ts=2 noet: |