summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--abs/core-testing/directfb/ChangeLog5
-rw-r--r--abs/core-testing/directfb/PKGBUILD26
-rw-r--r--abs/core-testing/directfb/dfb_serial.diff10
-rw-r--r--abs/core-testing/initscripts-splashy/PKGBUILD31
-rw-r--r--abs/core-testing/initscripts-splashy/initscripts-splash.install25
-rw-r--r--abs/core-testing/initscripts-splashy/splash310
-rw-r--r--abs/core-testing/initscripts-splashy/splash.conf4
-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
-rw-r--r--abs/core-testing/sysvinit-mod/PKGBUILD29
-rw-r--r--abs/core-testing/sysvinit-mod/sysvinit.diff276
14 files changed, 968 insertions, 0 deletions
diff --git a/abs/core-testing/directfb/ChangeLog b/abs/core-testing/directfb/ChangeLog
new file mode 100644
index 0000000..4e10ded
--- /dev/null
+++ b/abs/core-testing/directfb/ChangeLog
@@ -0,0 +1,5 @@
+2008-07-29 Eric Belanger <eric@archlinux.org>
+
+ * directfb 1.2.0-1
+ * Upstream update
+ * Added ChangeLog
diff --git a/abs/core-testing/directfb/PKGBUILD b/abs/core-testing/directfb/PKGBUILD
new file mode 100644
index 0000000..76e86d1
--- /dev/null
+++ b/abs/core-testing/directfb/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD,v 1.7 2008/08/02 19:48:28 Snowman Exp $
+# Maintainer: Eric Belanger <eric@archlinux.org>
+# Contributor: Eric Belanger <eric@archlinux.org>
+
+pkgname=directfb
+pkgver=1.2.7
+pkgrel=1
+pkgdesc="A thin library that provides hardware graphics acceleration, input device handling and abstraction, integrated windowing system on top of the Linux Framebuffer Device"
+arch=('i686' 'x86_64')
+url="http://www.directfb.org"
+license=('LGPL')
+depends=('libjpeg' 'libxext' 'sdl' 'sysfsutils' 'libpng' 'freetype2')
+options=('!libtool')
+source=(http://www.directfb.org/downloads/Core/DirectFB-${pkgver}.tar.gz dfb_serial.diff)
+md5sums=('59ca16f600e96c8c104a485ff7c322c6'
+ '5993ae20546b80d0e5fa4f7b367e2f82')
+
+build() {
+ cd ${srcdir}/DirectFB-${pkgver}
+# patch -p0 < ../dfb_serial.diff
+ ./configure --prefix=/usr --sysconfdir=/etc --enable-static --enable-zlib \
+ --enable-x11 --enable-sdl --disable-vnc --disable-osx \
+ --enable-video4linux2 --enable-voodoo || return 1
+ make || return 1
+ make DESTDIR=${pkgdir} install || return 1
+}
diff --git a/abs/core-testing/directfb/dfb_serial.diff b/abs/core-testing/directfb/dfb_serial.diff
new file mode 100644
index 0000000..638467b
--- /dev/null
+++ b/abs/core-testing/directfb/dfb_serial.diff
@@ -0,0 +1,10 @@
+--- lib/direct/serial.h.orig 2009-02-11 05:40:20.000000000 +0000
++++ lib/direct/serial.h 2009-02-11 05:40:44.000000000 +0000
+@@ -31,6 +31,7 @@
+
+ #include <direct/types.h>
+ #include <direct/debug.h>
++#include <linux/types.h>
+
+ struct __D_DirectSerial {
+ int magic;
diff --git a/abs/core-testing/initscripts-splashy/PKGBUILD b/abs/core-testing/initscripts-splashy/PKGBUILD
new file mode 100644
index 0000000..1c8dbed
--- /dev/null
+++ b/abs/core-testing/initscripts-splashy/PKGBUILD
@@ -0,0 +1,31 @@
+# Contributor: Lexiw <llexiw@gmail.com>
+# Contributor: Jeremy Sands <cto@jeremysands.com>
+
+pkgname=initscripts-splashy
+pkgver=2008.09
+pkgrel=2
+pkgdesc="System initialization/bootup scripts with splash support"
+arch=('i686' 'x86_64')
+url="http://www.archlinux.org"
+license=('GPL')
+groups=('base')
+backup=(etc/inittab etc/rc.conf etc/rc.local etc/rc.local.shutdown)
+depends=('glibc' 'bash' 'awk' 'grep' 'coreutils' 'sed' 'udev>=118' 'net-tools' 'ncurses' 'sysvinit-mod')
+provides=('initscripts')
+conflicts=('initscripts')
+install=initscripts-splash.install
+source=(ftp://ftp.archlinux.org/other/initscripts/initscripts-${pkgver}-${pkgrel}.tar.gz
+ splash.conf
+ splash)
+md5sums=('c28214d35643570cde56dd1142348aa7'
+ 'fe6da7a9242aca91779e165979bb7e3d'
+ 'd3fffe7133e6096937195084d2746889')
+
+build() {
+ cd ${startdir}/src/initscripts-${pkgver}-${pkgrel}/
+
+ DESTDIR=$startdir/pkg ./install.sh
+
+ install -D -m644 ${startdir}/splash ${startdir}/pkg/etc/rc.d/functions.d/splash
+ install -D -m644 ${startdir}/splash.conf ${startdir}/pkg/etc/splash.conf
+}
diff --git a/abs/core-testing/initscripts-splashy/initscripts-splash.install b/abs/core-testing/initscripts-splashy/initscripts-splash.install
new file mode 100644
index 0000000..9fffa9b
--- /dev/null
+++ b/abs/core-testing/initscripts-splashy/initscripts-splash.install
@@ -0,0 +1,25 @@
+post_upgrade() {
+ cat << "EOF"
+-----------------------------------------------------------
+IMPORTANT NOTICE FOR ENCRYPTION USERS
+
+The "password" column in /etc/crypttab has now
+two special keywords:
+- ASK ask for a passphrase on boot
+- SWAP use a random key and create swapspace
+ This is particularly dangerous, as the
+ volume in question will be overwritten
+ If you use SWAP as your passphrase (which
+ is insecure anyway), be sure to remove it
+ from /etc/crypttab to avoid dataloss!
+
+See /etc/crypttab(.pacnew) for more information.
+-----------------------------------------------------------
+Attention netcfg users: netcfg is no longer included as
+part of the initscripts package.
+Be aware that rc.conf's NET_PROFILES has changed to
+NETWORKS, and that netcfg must be installed separately.
+For more info, see the netcfg man page.
+-----------------------------------------------------------
+EOF
+}
diff --git a/abs/core-testing/initscripts-splashy/splash b/abs/core-testing/initscripts-splashy/splash
new file mode 100644
index 0000000..a3e49a4
--- /dev/null
+++ b/abs/core-testing/initscripts-splashy/splash
@@ -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/abs/core-testing/initscripts-splashy/splash.conf b/abs/core-testing/initscripts-splashy/splash.conf
new file mode 100644
index 0000000..3f82053
--- /dev/null
+++ b/abs/core-testing/initscripts-splashy/splash.conf
@@ -0,0 +1,4 @@
+DEFAULT_TTY=8
+SWITCH_TTY=1
+CONSOLE_PRINT=true
+SPLASH_DEBUG=false
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
+}
diff --git a/abs/core-testing/sysvinit-mod/PKGBUILD b/abs/core-testing/sysvinit-mod/PKGBUILD
new file mode 100644
index 0000000..172ed18
--- /dev/null
+++ b/abs/core-testing/sysvinit-mod/PKGBUILD
@@ -0,0 +1,29 @@
+# Contributor: Simon Bachmann <simonbachmann@freesurf.ch>
+pkgname=sysvinit-mod
+pkgver=2.86
+pkgrel=2
+pkgdesc="Linux System V Init, with a patched killall5 to enable omission of specified pids"
+arch=('i686' 'x86_64')
+url="ftp://ftp.cistron.nl/pub/people/miquels/sysvinit/"
+license=('GPL')
+depends=('shadow' 'util-linux' 'coreutils' 'glibc' 'awk')
+provides=('sysvinit')
+conflicts=('sysvinit')
+source=(ftp://ftp.cistron.nl/pub/people/miquels/sysvinit/sysvinit-$pkgver.tar.gz sysvinit.diff)
+md5sums=('7d5d61c026122ab791ac04c8a84db967' '9fa3c71e4a12465239135d67a8859315')
+
+build() {
+ cd $startdir/src/sysvinit-$pkgver
+ #patch killall5
+ patch -p1 < $startdir/src/sysvinit.diff || return 1
+ cp src/init.c src/init.c.backup
+ sed 's/\(.*\)\(Sending processes\)\(.*\)/\1\2 started by init\3/' \
+ src/init.c > tmp~
+ mv tmp~ src/init.c
+ mkdir -p $startdir/pkg/bin $startdir/pkg/sbin
+ mkdir -p $startdir/pkg/usr/bin
+ mkdir -p $startdir/pkg/usr/man/man5 $startdir/pkg/usr/man/man8
+ mkdir -p $startdir/pkg/usr/man/man1 $startdir/pkg/usr/include
+ make -C src || return 1
+ make -C src MANDIR=/usr/man ROOT=$startdir/pkg install
+}
diff --git a/abs/core-testing/sysvinit-mod/sysvinit.diff b/abs/core-testing/sysvinit-mod/sysvinit.diff
new file mode 100644
index 0000000..d26f7cc
--- /dev/null
+++ b/abs/core-testing/sysvinit-mod/sysvinit.diff
@@ -0,0 +1,276 @@
+diff -r -u sysvinit-2.86/COPYRIGHT sysvinit-2.86.patched/COPYRIGHT
+--- sysvinit-2.86/COPYRIGHT 2004-07-30 12:12:12.000000000 +0000
++++ sysvinit-2.86.patched/COPYRIGHT 2008-04-15 14:28:52.000000000 +0000
+@@ -12,7 +12,7 @@
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
++ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+
+ On Debian GNU/Linux systems, the complete text of the GNU General
+ Public License can be found in `/usr/share/common-licenses/GPL'.
+diff -r -u sysvinit-2.86/man/killall5.8 sysvinit-2.86.patched/man/killall5.8
+--- sysvinit-2.86/man/killall5.8 2004-06-09 12:47:45.000000000 +0000
++++ sysvinit-2.86.patched/man/killall5.8 2008-04-15 14:28:52.000000000 +0000
+@@ -4,14 +4,29 @@
+ .SH SYNOPSIS
+ .B killall5
+ .RB -signalnumber
++.RB [ \-o
++.IR omitpid ]
++.RB [ \-o
++.IR omitpid.. ]
+ .SH DESCRIPTION
+ .B killall5
+ is the SystemV killall command. It sends a signal to all processes except
+ kernel threads and the processes in its own session, so it won't kill
+ the shell that is running the script it was called from. Its primary
+ (only) use is in the \fBrc\fP scripts found in the /etc/init.d directory.
++.SH OPTIONS
++.IP "-o \fIomitpid\fP"
++Tells \fIkillall5\fP to omit processes with that process id.
++.SH NOTES
++\fIkillall5\fP can also be invoked as pidof, which is simply a
++(symbolic) link to the \fIkillall5\fP program.
++.SH EXIT STATUS
++The program return zero if it killed processes. It return 2 if no
++process were killed, and 1 if it was unable to find any processes
++(/proc/ is missing).
+ .SH SEE ALSO
+ .BR halt (8),
+-.BR reboot (8)
++.BR reboot (8),
++.BR pidof (8)
+ .SH AUTHOR
+ Miquel van Smoorenburg, miquels@cistron.nl
+diff -r -u sysvinit-2.86/man/pidof.8 sysvinit-2.86.patched/man/pidof.8
+--- sysvinit-2.86/man/pidof.8 1998-09-02 12:49:33.000000000 +0000
++++ sysvinit-2.86.patched/man/pidof.8 2008-04-15 14:28:52.000000000 +0000
+@@ -27,13 +27,20 @@
+ .IP -x
+ Scripts too - this causes the program to also return process id's of
+ shells running the named scripts.
+-.IP -o \fIomitpid\fP
++.IP "-o \fIomitpid\fP"
+ Tells \fIpidof\fP to omit processes with that process id. The special
+ pid \fB%PPID\fP can be used to name the parent process of the \fIpidof\fP
+ program, in other words the calling shell or shell script.
++.SH "EXIT STATUS"
++.TP
++.B 0
++At least one program was found with the requested name.
++.TP
++.B 1
++No program was found with the requested name.
+ .SH NOTES
+-\fIpidof\fP is simply a (symbolic) link to the \fIkillall5\fP program,
+-which should also be located in \fP/sbin\fP.
++\fIpidof\fP is actually the same program as \fIkillall5\fP;
++the program behaves according to the name under which it is called.
+ .PP
+ When \fIpidof\fP is invoked with a full pathname to the program it
+ should find the pid of, it is reasonably safe. Otherwise it is possible
+@@ -43,6 +50,7 @@
+ .BR shutdown (8),
+ .BR init (8),
+ .BR halt (8),
+-.BR reboot (8)
++.BR reboot (8),
++.BR killall5 (8)
+ .SH AUTHOR
+ Miquel van Smoorenburg, miquels@cistron.nl
+diff -r -u sysvinit-2.86/src/killall5.c sysvinit-2.86.patched/src/killall5.c
+--- sysvinit-2.86/src/killall5.c 2004-07-30 12:16:23.000000000 +0000
++++ sysvinit-2.86.patched/src/killall5.c 2008-04-15 14:28:52.000000000 +0000
+@@ -378,8 +378,8 @@
+ int foundone = 0;
+ int ok = 0;
+
+- /* Try to stat the executable. */
+- if (prog[0] == '/' && stat(prog, &st) == 0) dostat++;
++ if (! prog)
++ return NULL;
+
+ /* Get basename of program. */
+ if ((s = strrchr(prog, '/')) == NULL)
+@@ -387,9 +387,16 @@
+ else
+ s++;
+
++ if (! *s)
++ return NULL;
++
+ q = (PIDQ_HEAD *)xmalloc(sizeof(PIDQ_HEAD));
+ q = init_pid_q(q);
+
++ /* Try to stat the executable. */
++ if (prog[0] == '/' && stat(prog, &st) == 0)
++ dostat++;
++
+ /* First try to find a match based on dev/ino pair. */
+ if (dostat) {
+ for (p = plist; p; p = p->next) {
+@@ -404,15 +411,35 @@
+ if (!foundone) for (p = plist; p; p = p->next) {
+ ok = 0;
+
+- /* Compare name (both basename and full path) */
+- ok += (p->argv0 && strcmp(p->argv0, prog) == 0);
+- ok += (p->argv0 && strcmp(p->argv0base, s) == 0);
++ /* matching nonmatching
++ * proc name prog name prog name
++ * --- ----------- ------------
++ * b b, p/b, q/b
++ * p/b b, p/b q/b
++ *
++ * Algorithm: Match if:
++ * cmd = arg
++ * or cmd = base(arg)
++ * or base(cmd) = arg
++ *
++ * Specifically, do not match just because base(cmd) = base(arg)
++ * as was done in earlier versions of this program, since this
++ * allows /aaa/foo to match /bbb/foo .
++ */
++ ok |=
++ (p->argv0 && strcmp(p->argv0, prog) == 0)
++ || (p->argv0 && s != prog && strcmp(p->argv0, s) == 0)
++ || (p->argv0base && strcmp(p->argv0base, prog) == 0);
+
+ /* For scripts, compare argv[1] as well. */
+- if (scripts_too && p->argv1 &&
+- !strncmp(p->statname, p->argv1base, STATNAMELEN)) {
+- ok += (strcmp(p->argv1, prog) == 0);
+- ok += (strcmp(p->argv1base, s) == 0);
++ if (
++ scripts_too && p->statname && p->argv1base
++ && !strncmp(p->statname, p->argv1base, STATNAMELEN)
++ ) {
++ ok |=
++ (p->argv1 && strcmp(p->argv1, prog) == 0)
++ || (p->argv1 && s != prog && strcmp(p->argv1, s) == 0)
++ || (p->argv1base && strcmp(p->argv1base, prog) == 0);
+ }
+
+ /*
+@@ -423,7 +450,7 @@
+ (p->argv0 == NULL ||
+ p->argv0[0] == 0 ||
+ strchr(p->argv0, ' '))) {
+- ok += (strcmp(p->statname, s) == 0);
++ ok |= (strcmp(p->statname, s) == 0);
+ }
+ if (ok) add_pid_to_q(q, p);
+ }
+@@ -548,20 +575,28 @@
+ }
+ }
+ }
+- printf("\n");
++ if (!first)
++ printf("\n");
+ closelog();
+ return(first ? 1 : 0);
+ }
+
+
+
++#define KILLALL_OMITSZ 16
++
+ /* Main for either killall or pidof. */
+ int main(int argc, char **argv)
+ {
+ PROC *p;
+ int pid, sid = -1;
++ pid_t opid[KILLALL_OMITSZ];
++ int i, oind, omit = 0;
+ int sig = SIGKILL;
+
++ /* return non-zero if no process was killed */
++ int retval = 2;
++
+ /* Get program name. */
+ if ((progname = strrchr(argv[0], '/')) == NULL)
+ progname = argv[0];
+@@ -576,10 +611,34 @@
+ return main_pidof(argc, argv);
+
+ /* Right, so we are "killall". */
++ for (oind = KILLALL_OMITSZ-1; oind > 0; oind--)
++ opid[oind] = 0;
++
+ if (argc > 1) {
+- if (argc != 2) usage();
+- if (argv[1][0] == '-') (argv[1])++;
+- if ((sig = atoi(argv[1])) <= 0 || sig > 31) usage();
++ for (i = 1; i < argc; i++) {
++ if (argv[i][0] == '-') (argv[i])++;
++ if (argv[i][0] == 'o') {
++ if (++i >= argc) usage();
++ if (oind >= KILLALL_OMITSZ -1) {
++ nsyslog(LOG_ERR,"omit pid buffer size "
++ "%d exceeded!\n",
++ KILLALL_OMITSZ);
++ closelog();
++ exit(1);
++ }
++ if ((opid[oind] = atoi(argv[i])) < 1) {
++ nsyslog(LOG_ERR,
++ "illegal omit pid value "
++ "(%s)!\n", argv[i]);
++ closelog();
++ exit(1);
++ }
++ oind++;
++ omit = 1;
++ }
++ else if ((sig = atoi(argv[1])) <= 0 || sig > 31)
++ usage();
++ }
+ }
+
+ /* First get the /proc filesystem online. */
+@@ -602,15 +661,26 @@
+ /* Read /proc filesystem */
+ if (readproc() < 0) {
+ kill(-1, SIGCONT);
+- exit(1);
++ return(1);
+ }
+
+- /* Now kill all processes except our session. */
++ /* Now kill all processes except init (pid 1) and our session. */
+ sid = (int)getsid(0);
+ pid = (int)getpid();
+- for (p = plist; p; p = p->next)
+- if (p->pid != pid && p->sid != sid && !p->kernel)
+- kill(p->pid, sig);
++ for (p = plist; p; p = p->next) {
++ if (p->pid == 1 || p->pid == pid || p->sid == sid || p->kernel)
++ continue;
++ if (omit) {
++ for (i = 0; i < oind; i++)
++ if (opid[i] == p->pid)
++ break;
++ /* On a match, continue with the for loop above. */
++ if (i < oind)
++ continue;
++ }
++ kill(p->pid, sig);
++ retval = 0;
++ }
+
+ /* And let them continue. */
+ kill(-1, SIGCONT);
+@@ -618,5 +688,8 @@
+ /* Done. */
+ closelog();
+
+- return 0;
++ /* Force the kernel to run the scheduler */
++ usleep(1);
++
++ return retval;
+ }
+