Browse Source

port qingy and it's dependencies DirectFB and libXScrnSaver

Phil Sutter 15 years ago
parent
commit
811342f7eb

+ 5 - 0
package/Config.in

@@ -174,6 +174,8 @@ source "package/cxxtools/Config.in"
 source "package/dbus/Config.in"
 source "package/dbus-glib/Config.in"
 source "package/dbus-glib/Config.in.lib"
+source "package/DirectFB/Config.in"
+source "package/DirectFB/Config.in.lib"
 source "package/e2fsprogs/Config.in.lib"
 source "package/fltk/Config.in"
 source "package/fltk/Config.in.lib"
@@ -628,6 +630,7 @@ source "package/dillo/Config.in"
 source "package/evilwm/Config.in"
 source "package/firefox/Config.in"
 source "package/font-util/Config.in"
+source "package/qingy/Config.in"
 source "package/rxvt-unicode/Config.in"
 source "package/twm/Config.in"
 source "package/xauth/Config.in"
@@ -692,6 +695,8 @@ source "package/libXpm/Config.in"
 source "package/libXpm/Config.in.lib"
 source "package/libXrender/Config.in"
 source "package/libXrender/Config.in.lib"
+source "package/libXScrnSaver/Config.in"
+source "package/libXScrnSaver/Config.in.lib"
 source "package/libXt/Config.in"
 source "package/libXt/Config.in.lib"
 source "package/libXft/Config.in"

+ 55 - 0
package/DirectFB/Makefile

@@ -0,0 +1,55 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=		DirectFB
+PKG_VERSION:=		1.4.3
+PKG_RELEASE:=		1
+PKG_MD5SUM:=		223e036da906ceb4bd44708026839ff1
+PKG_DESCR:=		Thin library on top of the Linux framebuffer devices
+PKG_SECTION:=		libs
+PKG_BUILDDEP:=		libpng
+PKG_DEPENDS:=		libpng
+PKG_URL:=		http://www.directfb.org/
+PKG_SITES:=		http://directfb.org/downloads/Core/DirectFB-1.4/
+
+include $(TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,DIRECTFB,$(PKG_NAME),$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+
+CONFIGURE_ARGS+=	--with-inputdrivers=linuxinput,keyboard,ps2mouse \
+			--with-gfxdrivers=none \
+			--disable-osx
+
+# This is to overcome libtool fuckup - when building without,
+# libtool calls (the correct) ld directly without parameters,
+# which then chooses the wrong default emulation (which is
+# probably the real problem here). LDEMULATION overrides ld's
+# wrong choice.
+ifeq (${ADK_LINUX_MIPS64_LEMOTE},y)
+XAKE_FLAGS+=		LDEMULATION=elf64ltsmip
+endif
+
+post-install:
+	${INSTALL_DIR} ${IDIR_DIRECTFB}/etc
+	${INSTALL_DATA} ./files/directfbrc ${IDIR_DIRECTFB}/etc/
+	$(INSTALL_DIR) $(IDIR_DIRECTFB)/usr/lib/directfb-1.4-0/{inputdrivers,systems,wm}
+	${CP} $(WRKINST)/usr/lib/lib{direct,fusion}*.so* \
+		$(IDIR_DIRECTFB)/usr/lib/
+	${CP} ${WRKINST}/usr/lib/directfb-1.4-0/inputdrivers/libdirectfb_linux_input.so \
+		${IDIR_DIRECTFB}/usr/lib/directfb-1.4-0/inputdrivers/
+	${CP} ${WRKINST}/usr/lib/directfb-1.4-0/systems/*.so \
+		${IDIR_DIRECTFB}/usr/lib/directfb-1.4-0/systems/
+	${CP} ${WRKINST}/usr/lib/directfb-1.4-0/wm/*.so \
+		${IDIR_DIRECTFB}/usr/lib/directfb-1.4-0/wm/
+	$(INSTALL_DIR) $(IDIR_DIRECTFB)/usr/lib/directfb-1.4-0/interfaces/IDirectFB{Font,ImageProvider,VideoProvider}
+	${CP} ${WRKINST}/usr/lib/directfb-1.4-0/interfaces/IDirectFBFont/*.so \
+		${IDIR_DIRECTFB}/usr/lib/directfb-1.4-0/interfaces/IDirectFBFont/
+	${CP} ${WRKINST}/usr/lib/directfb-1.4-0/interfaces/IDirectFBImageProvider/*.so \
+		${IDIR_DIRECTFB}/usr/lib/directfb-1.4-0/interfaces/IDirectFBImageProvider/
+	${CP} ${WRKINST}/usr/lib/directfb-1.4-0/interfaces/IDirectFBVideoProvider/*.so \
+		${IDIR_DIRECTFB}/usr/lib/directfb-1.4-0/interfaces/IDirectFBVideoProvider/
+
+
+include ${TOPDIR}/mk/pkg-bottom.mk

+ 1 - 0
package/DirectFB/files/DirectFB.conffiles

@@ -0,0 +1 @@
+/etc/directfbrc

+ 4 - 0
package/DirectFB/files/directfbrc

@@ -0,0 +1,4 @@
+#mode=1024x600
+#depth=16
+mouse-protocol=IMPS/2
+mouse-source=/dev/psaux

+ 27 - 0
package/libXScrnSaver/Makefile

@@ -0,0 +1,27 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=		libXScrnSaver
+PKG_VERSION:=		1.2.0
+PKG_RELEASE:=		1
+PKG_MD5SUM:=		72ca7f37e4a1794acbdd9ab047821e8b
+PKG_DESCR:=		X.Org XScrnSaver library
+PKG_SECTION:=		libs
+PKG_BUILDDEP:=		scrnsaverproto
+PKG_URL:=		http://xorg.freedesktop.org/
+PKG_SITES:=		${MASTER_SITE_XORG}
+
+include $(TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,LIBXSCRNSAVER,$(PKG_NAME),$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+
+CONFIGURE_ARGS+=	--enable-malloc0returnsnull
+
+post-install:
+	$(INSTALL_DIR) $(IDIR_LIBXSCRNSAVER)/usr/lib
+	${CP} $(WRKINST)/usr/lib/libXss.so* \
+		$(IDIR_LIBXSCRNSAVER)/usr/lib/
+
+include ${TOPDIR}/mk/pkg-bottom.mk

+ 39 - 0
package/qingy/Makefile

@@ -0,0 +1,39 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=		qingy
+PKG_VERSION:=		0.9.9
+PKG_RELEASE:=		1
+PKG_MD5SUM:=		34f40172a71e9a6c2c77ddce11d2a63a
+PKG_DESCR:=		a DirectFB getty replacement
+PKG_SECTION:=		x11
+PKG_DEPENDS:=		DirectFB libXScrnSaver
+PKG_BUILDDEP+=		DirectFB libXScrnSaver
+PKG_URL:=		http://qingy.sourceforge.net/
+PKG_SITES:=		${MASTER_SITE_SOURCEFORGE:=qingy/}
+
+DISTFILES:=             ${PKG_NAME}-${PKG_VERSION}.tar.bz2
+
+include $(TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,QINGY,$(PKG_NAME),$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+
+CONFIGURE_ARGS+=	--disable-screen-savers \
+			--disable-pam \
+			--disable-crypto
+
+post-install:
+	$(INSTALL_DIR) $(IDIR_QINGY)/etc/qingy/sessions
+	${INSTALL_BIN} ./files/{pre,post}_GUI.sh ${IDIR_QINGY}/etc/qingy/
+	${INSTALL_DATA} ./files/{settings,welcomes} ${IDIR_QINGY}/etc/qingy/
+	touch ${IDIR_QINGY}/etc/qingy/sessions/.keep_me
+	$(INSTALL_DIR) $(IDIR_QINGY)/usr/lib/qingy
+	${CP} $(WRKINST)/usr/lib/qingy/libqingy*.so ${IDIR_QINGY}/usr/lib/qingy/
+	$(INSTALL_DIR) $(IDIR_QINGY)/usr/sbin
+	${INSTALL_BIN} $(WRKINST)/usr/sbin/qingy* ${IDIR_QINGY}/usr/sbin/
+	$(INSTALL_DIR) $(IDIR_QINGY)/usr/share/qingy
+	${CP} $(WRKINST)/usr/share/qingy/themes ${IDIR_QINGY}/usr/share/
+
+include ${TOPDIR}/mk/pkg-bottom.mk

+ 10 - 0
package/qingy/files/post_GUI.sh

@@ -0,0 +1,10 @@
+#!/bin/sh
+
+filename="/tmp/qingy_restart_gpm"
+
+if [ -f $filename ]; then
+
+	/etc/init.d/gpm start >/dev/null 2>/dev/null
+	rm $filename
+
+fi

+ 11 - 0
package/qingy/files/pre_GUI.sh

@@ -0,0 +1,11 @@
+#!/bin/sh
+
+filename="/tmp/qingy_restart_gpm"
+status=`pgrep gpm`
+
+if [ "$status" != "" ]; then
+
+	/etc/init.d/gpm stop >/dev/null 2>/dev/null
+	touch $filename
+
+fi

+ 4 - 0
package/qingy/files/qingy.conffiles

@@ -0,0 +1,4 @@
+/etc/qingy/settings
+/etc/qingy/welcomes
+/etc/qingy/pre_GUI.sh
+/etc/qingy/post_GUI.sh

+ 12 - 0
package/qingy/files/qingy.postinst

@@ -0,0 +1,12 @@
+#!/bin/sh
+
+cat <<EOF
+
+To enjoy the qingy experience, edit /etc/inittab like so:
+
+- tty7::respawn:/sbin/getty -i -L tty7 115200 vt100
++ tty7::respawn:/usr/sbin/qingy tty7 -n -r 1024x600 -f /dev/fb0
+
+for an explanation of the used options, run 'qingy -h'.
+
+EOF

+ 90 - 0
package/qingy/files/settings

@@ -0,0 +1,90 @@
+# Directory containing X sessions
+x_sessions = "/etc/X11/Sessions/"
+# Directory containing text mode sessions
+text_sessions = "/etc/qingy/sessions/"
+# Directory where qingy should put its temporary files
+temp_files_dir = "/tmp"
+# Where are the themes?
+themes_dir = "/usr/share/qingy/themes"
+
+# Full path to the X server
+# x_server = "/usr/X11R6/bin/XFree86"
+# Full path to the 'xinit' executable
+xinit = "/usr/bin/xinit"
+
+# Parameter we should pass to the X server
+x_args = "-nolisten tcp -br"
+
+# How verbose should qingy be?
+# Possible values are debug, error
+# Default value is error
+log_level = error
+
+# Where should qingy messages be logged?
+# Values can be one or more of the following:
+# console, file, syslog
+# Default value is console
+# log_facilities = console, file
+log_facilities = console, syslog
+
+# Offset to search for an available X server number.
+# This number affects the DISPLAY env variable.
+# Default is 1, setting it to 0 will make buggy OpenGL implementations
+# (like the ATI one) work with qingy, but it will also make it impossible
+# to start an X server from console using startx without passing it
+# extra parameters.
+#x_server_offset = 1
+
+# Where should we start the X server?
+# Accepted values are:
+#   qingy_tty (default) to start it in the same tty qingy is running in
+#   unused_tty to start it into an unused tty
+x_server_tty = qingy_tty
+
+# Scripts that should be executed just before/after qingy GUI is fired up/shut down
+pre_gui_script  = "/etc/qingy/pre_GUI.sh"
+post_gui_script = "/etc/qingy/post_GUI.sh"
+
+# What theme do you want (you can also specify 'random')
+# theme = random
+theme = "default"
+
+# What happens when we press the 'sleep' button?
+#sleep = "/usr/local/sbin/hibernate"
+
+# whether we should clear background image during dialogs (default is no)...
+# this is the default setting, it gets overridden if the theme you are using
+# sets the same setting differently...
+# clear_background = yes
+
+# whether to allow session locking; if you enable this, when you try to
+# switch to a qingy-controlled tty whose owner is not your current
+# user, you will be asked for the password of that user before being
+# allowed to continue. If you are root, of course, you can switch
+# to any tty you chose to. Default setting is 'no'.
+#lock_sessions = yes
+
+# whether to allow session timeout; if you enable this, after the amount
+# of minutes specified in idle_timeout variable, idle_action will be
+# performed. Allowed actions are:
+# lock     will lock user session asking you for your password
+# logout   will close your session
+#idle_timeout = 30
+#idle_action  = lock
+
+# prevent qingy from logging in user or firing up its GUI if system
+# is restarting / shutting down
+#check_runlevel = yes
+#exclude_runlevels = 0, 6
+
+keybindings
+{
+	prev_tty    = "win"      # switch to left tty
+	next_tty    = "menu"     # switch to right tty
+	poweroff    = "ALT-p"    # shutdown your system
+	reboot      = "ALT-r"    # restart your system
+	screensaver = "ALT-s"    # activate screen saver
+	sleep       = "ALT-z"    # put machine to sleep
+	kill        = "CTRL-c"   # kill qingy
+	text_mode   = "CTRL-ESC" # Revert to text mode
+}

+ 1 - 0
package/qingy/files/welcomes

@@ -0,0 +1 @@
+root	Greetings, Master...