summaryrefslogtreecommitdiffstats
path: root/abs/core-testing/splashy
diff options
context:
space:
mode:
Diffstat (limited to 'abs/core-testing/splashy')
-rw-r--r--abs/core-testing/splashy/PKGBUILD46
-rw-r--r--abs/core-testing/splashy/splashy-functions92
-rwxr-xr-xabs/core-testing/splashy/splashy.initcpio_hook48
-rwxr-xr-xabs/core-testing/splashy/splashy.initcpio_install51
-rw-r--r--abs/core-testing/splashy/splashy.install15
5 files changed, 252 insertions, 0 deletions
diff --git a/abs/core-testing/splashy/PKGBUILD b/abs/core-testing/splashy/PKGBUILD
new file mode 100644
index 0000000..be38e8c
--- /dev/null
+++ b/abs/core-testing/splashy/PKGBUILD
@@ -0,0 +1,46 @@
+# Contributor: Lexiw <llexiw@gmail.com>
+# Contributor: Angel 'angvp' Velasquez <angvp[at]archlinux.com.ve>
+# Contributor: dongiovanni <dongiovanni@archlinux.de>
+# Contributor: Darwin Bautista <djclue917@gmail.com>
+# Contributor: Jeremy Sands <cto@jeremysands.com>
+# Contributor: Tons of people here http://bbs.archlinux.org/viewtopic.php?id=48978
+
+pkgname=splashy
+pkgver=0.3.13
+pkgrel=1
+pkgdesc="A next-generation user-space boot splashing system for Linux systems"
+arch=('i686' 'x86_64')
+url="http://splashy.alioth.debian.org/"
+license=('GPL')
+depends=('file' 'glib2' 'initscripts-splashy' 'directfb')
+makedepends=('perl' 'pkgconfig' 'procps' 'gcc' 'make')
+options=('!libtool')
+source=(https://alioth.debian.org/frs/download.php/2691/splashy-0.3.13.tar.gz
+ splashy.initcpio_install
+ splashy.initcpio_hook
+ splashy.install
+ splashy-functions)
+md5sums=('03b7ee4f31c56ee61463772f74bad8a0'
+ '89ab896c3b6d8edc70f7233d4f447897'
+ 'f2d1b7ca4560a2888b08c5580dc8afae'
+ 'c22046f52421e0663e02375e399ef37a'
+ '91972fc154635806923befe3a70a1299')
+
+build() {
+ cd ${startdir}/src/${pkgname}-${pkgver}
+
+ ./configure --prefix=/usr --libdir=/usr/lib --sysconfdir=/etc --sbindir=/sbin --datarootdir=/usr/share --mandir=/usr/share/man --includedir=/usr/include
+ make || return 1
+ make DESTDIR=${startdir}/pkg install
+
+ # Remove unnecessary files
+ rm -rf ${startdir}/pkg/etc/{console-tools,default,init.d,lsb-base-logging.sh}
+ rm -rf ${startdir}/pkg/usr/share/initramfs-tools
+
+ install -D -m644 ${startdir}/splashy.initcpio_install ${startdir}/pkg/lib/initcpio/install/splashy
+ install -D -m644 ${startdir}/splashy.initcpio_hook ${startdir}/pkg/lib/initcpio/hooks/splashy
+ install -D -m644 ${startdir}/splashy-functions ${startdir}/pkg/etc/rc.d/splashy-functions
+
+ sed -e 's|>/etc/splashy/themes<|>/usr/share/splashy/themes<|' -i ${startdir}/pkg/etc/splashy/config.xml
+}
+install=${pkgname}.install
diff --git a/abs/core-testing/splashy/splashy-functions b/abs/core-testing/splashy/splashy-functions
new file mode 100644
index 0000000..037cb27
--- /dev/null
+++ b/abs/core-testing/splashy/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:
diff --git a/abs/core-testing/splashy/splashy.initcpio_hook b/abs/core-testing/splashy/splashy.initcpio_hook
new file mode 100755
index 0000000..5e960b9
--- /dev/null
+++ b/abs/core-testing/splashy/splashy.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/abs/core-testing/splashy/splashy.initcpio_install b/abs/core-testing/splashy/splashy.initcpio_install
new file mode 100755
index 0000000..86efda8
--- /dev/null
+++ b/abs/core-testing/splashy/splashy.initcpio_install
@@ -0,0 +1,51 @@
+# vim: set ft=sh:
+install() {
+ [ -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.1"
+ add_file "/usr/lib/libsplashy.so.1"
+ add_file "/usr/lib/libglib-2.0.so.0"
+ add_file "/usr/lib/libdirectfb-1.2.so.0"
+ add_file "/usr/lib/libfusion-1.2.so.0"
+ add_file "/usr/lib/libdirect-1.2.so.0"
+ add_file "/usr/lib/libpng12.so.0"
+ add_file "/usr/lib/libjpeg.so.62"
+ add_file "/usr/lib/libfreetype.so.6"
+ add_file "/lib/libm.so.6"
+ add_file "/lib/libpthread.so.0"
+ add_file "/usr/lib/libz.so.1"
+ add_file "/lib/libdl.so.2"
+ add_file "/lib/libc.so.6"
+ add_file "/lib/libpcre.so.0"
+ add_file "/lib/libsysfs.so.2"
+ add_file "/usr/lib/directfb-1.2-0/wm/libdirectfbwm_default.so"
+ add_file "/usr/lib/directfb-1.2-0/systems/libdirectfb_fbdev.so"
+ add_file "/usr/lib/directfb-1.2-0/inputdrivers/libdirectfb_keyboard.so"
+ add_file "/usr/lib/directfb-1.2-0/interfaces/IDirectFBFont/libidirectfbfont_ft2.so"
+ add_file "/usr/lib/directfb-1.2-0/interfaces/IDirectFBFont/libidirectfbfont_default.so"
+ add_file "/usr/lib/directfb-1.2-0/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_png.so"
+ add_file "/usr/lib/directfb-1.2-0/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_jpeg.so"
+
+ if [ $(arch) = "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/abs/core-testing/splashy/splashy.install b/abs/core-testing/splashy/splashy.install
new file mode 100644
index 0000000..4b1eaba
--- /dev/null
+++ b/abs/core-testing/splashy/splashy.install
@@ -0,0 +1,15 @@
+pkgname=splashy
+
+post_install() {
+ cat << _EOF
+
+==> You'll probably want to see the page on the wiki
+==> to do final configuration and install of splashy:
+==> http://wiki.archlinux.org/index.php/Splashy
+
+_EOF
+}
+
+post_upgrade() {
+ post_install $1
+}