diff options
-rw-r--r-- | bootsplash.spec | 17 | ||||
-rw-r--r-- | fb/Makefile | 21 | ||||
-rw-r--r-- | scripts/Makefile | 2 | ||||
-rw-r--r-- | scripts/bootanim | 143 |
4 files changed, 174 insertions, 9 deletions
diff --git a/bootsplash.spec b/bootsplash.spec index d627fe3..333215d 100644 --- a/bootsplash.spec +++ b/bootsplash.spec @@ -1,6 +1,6 @@ %define name bootsplash -%define version 2.1.13 -%define release 3mdk +%define version 3.1.1 +%define release 1mdk %define _bootdir /boot Summary: The Boot Splash Images and scripts @@ -17,7 +17,7 @@ Url: http://www.linux-mandrake.com/cgi-bin/cvsweb.cgi/soft/bootsplash/ Requires: /usr/bin/perl Requires: mkinitrd >= 3.5.18-14mdk #there is no way to say a special kernel requires. -Requires: kernel initscripts > 7.04-15mdk +Requires: kernel initscripts > 7.04-15mdk fbgrab Conflicts: drakxtools-newt < 10-49mdk Obsoletes: Aurora Aurora-Monitor-NewStyle-Categorizing-WsLib Aurora-Monitor-NewStyle-WsLib Aurora-Monitor-Traditional-Gtk+ Aurora-Monitor-Traditional-WsLib-8.2 BuildRequires: freetype2-static-devel libmng-static-devel libjpeg-static-devel glibc-static-devel liblcms-devel @@ -68,6 +68,7 @@ do break fi done +/sbin/ldconfig %clean rm -rf $RPM_BUILD_ROOT @@ -85,8 +86,18 @@ rm -rf $RPM_BUILD_ROOT /bin/* /sbin/* %{_bindir}/* +%{_libdir}/* %changelog +* Fri Feb 04 2005 Warly <warly@mandrakesoft.com> 3.1.1-1mdk +- improve fbmenu so that it can use fbgrab dump as background for the menu + +* Fri Jan 21 2005 Warly <warly@mandrakesoft.com> 3.1.0-1mdk +- ad fbmenu for profiles menu + +* Fri Dec 24 2004 Warly <warly@mandrakesoft.com> 3.0.1-1mdk +- include animations + * Tue Feb 08 2005 Pablo Saratxaga <pablo@mandrakesoft.com> 2.1.13-3mdk - fixed Japanese display - various new translations diff --git a/fb/Makefile b/fb/Makefile index c7c218b..9613f53 100644 --- a/fb/Makefile +++ b/fb/Makefile @@ -2,12 +2,14 @@ VERSION := 0.1.1 prefix=/usr/ -bindir=$(prefix)/bin +mbindir=$(prefix)/bin +bindir=$(prefix)/usr/bin +libdir=$(prefix)/usr/lib CFLAGS=-g -O2 -Wall \ -DVERSION='"$(VERSION)"' -PROGS=progress fbresolution +PROGS=progress fbresolution fbmenu all: $(PROGS) @@ -17,13 +19,22 @@ check: fbresolution: fbresolution.c $(CC) $(CFLAGS) -o $@ fbresolution.c +xmenu: fbmenu.c + gcc -I/usr/include/gtk-2.0/ -I/usr/lib/gtk-2.0/include/ -DG_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED -DG_DISABLE_CAST_CHECKS -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/pango-1.0 -I/usr/X11R6/include -I/usr/include/freetype2 -I/usr/include/freetype2/freetype2 -I/usr/include/freetype2/freetype2/config -I/usr/include/atk-1.0 -DXTHREADS -D_REENTRANT -DXUSE_MTSAFE_API -O2 -Wall -lgtk-x11-2.0 -o xmenu fbmenu.c; + +fbmenu: fbmenu.c + gcc -I/usr/include/gtk-2.0/ -I/usr/lib/gtk-2.0/include/ -DG_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED -DG_DISABLE_CAST_CHECKS -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/pango-1.0 -I/usr/X11R6/include -I/usr/include/freetype2 -I/usr/include/freetype2/freetype2 -I/usr/include/freetype2/freetype2/config -I/usr/include/atk-1.0 -DXTHREADS -D_REENTRANT -DXUSE_MTSAFE_API -O2 -Wall libgtk-linux-fb-2.0.so -o fbmenu fbmenu.c; + progress: progress.c $(CC) $(CFLAGS) $(FSFLAGS) -o $@ progress.c install: - mkdir -p $(bindir) - install -s -m755 progress $(bindir) - install -m755 fbresolution $(bindir) + mkdir -p $(bindir) $(mbindir) $(libdir) + install -s -m755 progress $(mbindir) + install -m755 fbresolution $(mbindir) + install -m755 libgdk-linux-fb-2.0.so.0.400.14 $(libdir) + install -m755 fbmenu $(bindir) + install -m755 libgtk-linux-fb-2.0.so.0.400.14 $(libdir) clean: rm -f *~ *.o *.bak core $(PROGS) diff --git a/scripts/Makefile b/scripts/Makefile index 6b46046..aab60d6 100644 --- a/scripts/Makefile +++ b/scripts/Makefile @@ -1,6 +1,6 @@ PL=remove-boot-splash SH=make-boot-splash rewritejpeg switch-themes remove-theme -SBIN=splash.sh +SBIN=splash.sh bootanim SYS=bootsplash.sysconfig sharedir=/usr/share diff --git a/scripts/bootanim b/scripts/bootanim new file mode 100644 index 0000000..f0c7f30 --- /dev/null +++ b/scripts/bootanim @@ -0,0 +1,143 @@ +#!/bin/bash +# +# bootanim - boot animation wrapper script for fbmngplay +# +# This program parses /etc/bootsplash/[THEME]/config/bootsplash-XxY.cfg +# to determine the correct animation position. +# +# This program is free software; you may redistribute it under the terms +# of the GNU General Public License. This program has absolutely no warranty. +# +# (C) 2002,2003 SuSE Linux AG. Written by Stefan Reinauer <stepan@suse.de> +# +# See http://www.bootsplash.org/ for more information. +# + +usage() +{ + echo "usage: $0 [start|stop|kill|next] -m [-r XxY] [-d dir] mng1 [mng2..]" + cat << EOF + + Available commands: + start starts given animation + stop fades out all running animations + kill immediately stops all animations + next continue to next animation. + + Options for use with start command: + -r XxY screen resolution to use if unable to autodetect. + -d dir directory containing the animation files + -m play multiple animations + mng1|mng2 animation filename(s). Specify -m if multiple. + +EOF + +} + +if [ "$UID" -ne "0" ]; then + echo "$0 must be started as user root!!!" + echo "Exiting..." + exit 1 +fi + +THEME="No theme selected" +test -f /etc/sysconfig/bootsplash && . /etc/sysconfig/bootsplash + +if [ ! -d /etc/bootsplash/themes/$THEME ] +then + echo "$0: could not find theme $THEME in /etc/bootsplash/themes." + exit 0 +fi + +MODE=`/bin/fbresolution 2>/dev/null` +DIRECTORY=/etc/bootsplash/themes/$THEME/animations +OPTIONS="-b -c 1" +FILES="" + +case "$1" in +start) + # echo "$0 start" + # We fall through here. + ;; +stop) + # echo "$0 stop" + killall -q -2 fbmngplay + exit 0 + ;; +kill) + # echo "$0 kill" + killall -q fbmngplay + exit 0 + ;; +next) + # echo "$0 next" + killall -q -USR1 fbmngplay + exit 0 + ;; +*) + usage; + echo " Error: illegal parameter."; + exit 1 + ;; +esac + +shift + +# We end up in bootanim start + +TEMP=`getopt -o mr:d: -- "$@"` +eval set -- "$TEMP" + +while true ; do + # echo "loop: $*" + case "$1" in + -d) # directory + shift + if [ ! -d "$1" ]; then + echo "Not a valid directory." + exit 1 + fi + DIRECTORY=$1 + shift + ;; + -r) # resolution + shift + MODE=$1; + shift + ;; + -m) # multiple files + shift + OPTIONS="$OPTIONS -s" + ;; + --) # end + shift + break;; + *) # Weird + echo "Internal Error." + exit 1 + ;; + esac +done + +function box() { true; } # ignore box descriptions in the config file + +# Sourcing config file +if [ -f /etc/bootsplash/themes/$THEME/config/bootsplash-$MODE.cfg ]; then + . /etc/bootsplash/themes/$THEME/config/bootsplash-$MODE.cfg +else + echo "$0: No config file found for theme $THEME ($MODE)." + exit 1 +fi + +# echo "Dir: $DIRECTORY" +# echo "Files: $*" +# echo "Mode: $MODE" +# echo "Pos: $ax,$ay" +# echo "options: $OPTIONS" + +CMDLINE="fbmngplay -x $ax -y $ay $OPTIONS" +for i in $*; do + CMDLINE="$CMDLINE $DIRECTORY/$i" +done + +eval "$CMDLINE &" |