1
0
mirror of https://github.com/dguglielmi/sunny-overlay.git synced 2025-12-06 09:32:37 +01:00

- media-gfx/splashutils: Remove ebuild from here, it's now fixed in

portage
This commit is contained in:
2015-07-26 18:41:25 +02:00
parent 8af13f7023
commit 25853ee998
12 changed files with 0 additions and 1110 deletions

View File

@@ -1,18 +0,0 @@
AUX libmng2-lcms2.patch 1595 SHA256 4d96ba589ae779a73b3ed2ce5514d72ce9e8a51dbc74d4b8f89f7fcac6b3a733 SHA512 81c3edf653f17a1c4c671935a2e32df0c7751414e3863bd2f48208773f509616c6f9933d9b370697edd59555c4389a8ccfaa9a6ddd24839498778af52c02ef6c WHIRLPOOL 2f1ecb077bcc0fca1bd18fb8a9636c6b45ee564b421c614b6ec8664458913f4bd933c45b44b4e1419d093faf0cb9bc60ea5a36bd186d74efc69b948e5037f9e3
AUX miscsplashutils-0.1.8_fix-freetype-includes.patch 406 SHA256 68bccd14ac1fb5b143f454e0ddf84536e87bbc4e7318301c58c737fa3cc46e2a SHA512 136520d9e558533404212913578f44963bc4c550ceff8007a3da4d580fb338b90c5d11b3d242b0c0a81bbc8253803e8d8edad3b669c273bd35da48659a508687 WHIRLPOOL 005be0266925115ff24caa1938f55a7348383ca30cfcc600cd9a59b62eaa5ba7a1430693cfaaa1c4e89e0451981b2bbcb2f4ea338f8269601e24c708370b78ee
AUX splashutils-1.5.4.4-bzip2.patch 1539 SHA256 9596a410eb5fcadab850ac8f1d54c14d60287333a204212cfcdb1dc2dfa608ac SHA512 c42a967361b4ebe9673eb41cb3d8d120edf95708892422bed0b2a46ea501d852c6c43b9405c90b69469a9b0eb07a5159e1547d168ef04b0de8a6c7bae0651317 WHIRLPOOL 4f28bec7ffac7caa4b5fc8e931ae579bf8041b8fcf6c6b571dc9c59a329285d6a6c5943313bedfc3144a3f0848eecbe0784a27bdaf395715c57909bd5e90447c
AUX splashutils-1.5.4.4-freetype-bz2.patch 515 SHA256 06a9f6d9d9206d09115abf3d8c86692908530f11168a51d99dd43a465e7092c0 SHA512 880cc0703de76c3c145680f1e85e461473df3dd41817757878bd18dc4c0d10484d1f93f995e6818ddcf3309e6b9febc1447ce7880006df8e08626bac5aae2e5c WHIRLPOOL 50c58afaacfd2594c1bc402c07680d742809e2af694b98acb3656f7dbc50cc85a537bec4b362c443f9dbe1054307c397cdba9613392ef6c508760d2487095265
AUX splashutils-1.5.4.4-gentoo-typo-fix.patch 567 SHA256 92ee0727bfd9fe6f9565d09546ea63079467f67c2d57385713a62d0b617bb1bf SHA512 f5d5fd222b5dea9906e5a7541ad2ab1ff161061c6bb5e013929767d3f6aa9fe245092e201b8d42a086938be3320b77384301c22bc307cf7872daac33184127f2 WHIRLPOOL f971453383c1abf28c912a49c426c7da92ba6d44580981e89bedd4ef7df9940236e53842bd31ecb85c44c2ff31230569a33e7233498269aefc8caeacb84b9caa
AUX splashutils-1.5.4.4-multi-keyboard.patch 10158 SHA256 95a0de0a666c29c7d80fe653659191770d359f62d1edac00dc3ad97ac14d6dac SHA512 71056d599f4465ef424444d717ce1597295e0228f548c69cb36ef617075af430b1ac50f5be27bca65a50ed9e7d0169ceb256dbc66cf4b635fd9f8310d32baeae WHIRLPOOL ce782d0a6a21350fd9b00792f0eb247907b3bcf900c0e5aa8f6304d4d3c05ee59f1b036d623f25262484bd8d48ddd95a5ef086644d369c6190570be8db432112
AUX splashutils-1.5.4.4-r3-bzip2.patch 1808 SHA256 9622dc7721e0c36538e8a1321ff59e224231578675831909d1c68f3eb9f46434 SHA512 8c1ea0bef43c4c829615db010a958ffa7c4ab8c84786a39e702be677745e47004ee59bdb1d7c80bfc637ff7c0f9a129f225e024251492b45aec7c42e1bd73da0 WHIRLPOOL 2522dcc049d68269764c9254f8884d62aa16d08fe5fa917b7c89db46617c1694c73c79f3af30c361cdd22b4d68c07b0b52c70c3243c15b263c6b5cdb6e2ef457
AUX splashutils-1.5.4.4_fix-freetype-includes.patch 747 SHA256 b92527c18f5b402c63dc0c57e907ca537e7113d10264da0747224a7662c38b78 SHA512 0a2cb454678e16a8fb2bd169a296f957887331d75113af4af68222c8fb22de279ab606398cb00a26e3a6dad16f503b5ab614617523124dcd7fedc87f0fc55cdd WHIRLPOOL 7eb00076fedeae8e30ed11a746724919802885f8fd9d9fb27335309c5147277264c487323415d2690e1e4a247699cf77ab4834b6630e4aa219398b7446315eb5
DIST freetype-2.3.12.tar.bz2 1453034 SHA256 3b96438f016a62b676c1d2089c00ca777f710d19f6aefa66ccf068d360db3e92 SHA512 becb0f138ee13181513d3f03b943f0a474e492cab151992fa78d0c84127819dc91ec6d2bd1528af7e111ab150b3a29104f2f7ab79650cebc35ce4d966b19f34b WHIRLPOOL 1a7363b8e1cc1b4597077e6cdf7e978b80cc76e1428124312d139ee81fe5247eed5ec0243352b721c28a25a179bceb901700d0766c1a5110b19f8fe53c303a89
DIST jpegsrc.v8a.tar.gz 962018 SHA256 bf86a5eaafa79b5d60feb27bee08df2db4c9ca2fb40d453e7a2080f7663a713b SHA512 4020e82e16b99189b1a50bad18b09616775559740b94a988692aa33f9302d4b5abe3ccaa30895b49e6950fb3d9a830deeb7df750d128ec5c7e1844583db4524d WHIRLPOOL 46e0c98f30c8d975b85b8e86b69e9c5c64632f579502b1b3c54902706d7e08b86582a85b49a0d3bfffd03cd90946fbd20171324504a5ff521eb89e6ce11d568b
DIST libpng-1.4.3.tar.bz2 658335 SHA256 2b022f39f4788505ad62a4b1f4a33286228d544719680da40f3626393ecde4a2 SHA512 aaa137ebc2312805d58caf19702d24a34ee81593d4250c4e807ce66ba7edb829926919cd0a2b0e5975421451c8eb6674798c06dbaf745175b16c9d3c92b63f61 WHIRLPOOL d383e01e6080166816991650183b47d15938aa269c0a85e234846b9c5a7ec04a1ba7620779b4ddae639ca64440772ce8dd1b3a596f6eb32124c4d6c55592fb0a
DIST miscsplashutils-0.1.8.tar.bz2 91997 SHA256 38e8434c7266126477237c4d9e6cbeca152089ab33c14a7761089b7970f8d336 SHA512 fa017e264249feda45839030728e90c82f775354c3f2c29a88362938c4a31b19e6d61f967512305642f8b96575f4d756ba197e672a361760e40080c23ec0442a WHIRLPOOL c418ee425bf323fc0e00388be4547232207fd6cac10a2e8cafeef8c8aabcd014052307533bd015e61dc483ab45edd9fbd59a3005549b7bee4a4b90bf3297394a
DIST splashutils-gentoo-1.0.17.tar.bz2 15814 SHA256 6877263d0b6f5a3532db0d6a531cd4d41fbc6c45a16c5d10050e9048ecc1af81 SHA512 75f1fbfdf165f571b0bf09235235827f370e1b940f1717c4faf5b223caba0b80f853a910ba492c776512aecfafa6e74fd964239bbc6cf412620143d5ffc74167 WHIRLPOOL de9e1ca86a87c169f0a2f7844ab9a68b29cc46c208daca4d13cf7d552b35c05b6e266d66724078cf1f6eea3d41496fdf4fd7b3219697b2032520ad2b9a5ec5c9
DIST splashutils-lite-1.5.4.4.tar.bz2 441340 SHA256 bc0e22293d4550281d2289672da3acb42594c18a75b9d00ba75526e05162ec6b SHA512 1a78216a1de1fdccff514494d7301640e447c65466e1fe02428e5114485507f67fe4394094880d927d074a8ab2d9c786ba03f9fb0371eb7ab6ef4e3b01aa4613 WHIRLPOOL f861a1673fd9e1fe32e417da48be8c472c5c3cc06844eb0886a66b498ca38cb04a6e51708821eefe3e15f66004bb6a4ef76df7242643b34090035bffdf1f87d7
DIST zlib-1.2.3.tar.bz2 425209 SHA256 e3b9950851a19904d642c4dec518623382cf4d2ac24f70a76510c944330d28ca SHA512 edae735960279d92acf58e1f4095c6392a7c2059b8f1d2c46648fc608a0fb06b392db2d073f4973f5762c034ea66596e769b95b3d26ad963a086b9b2d09825f2 WHIRLPOOL e874b123296f5d77daf60617501b30f4beebccb64b3910c2539f75f6c194a2cf4885dc7a3904bf790e1651120ec33b55c48e95970dd6bfd6c4d0a2ea48d7d0f4
EBUILD splashutils-1.5.4.4-r1.ebuild 7862 SHA256 e7611890bc45fb450dd95762d2fbe6fb0674ebe05b1bb968a13a8e44f4eb5bf2 SHA512 1765798dd36786c3bc672ba7e9a9c5585e39e7305ac8a587a6562bebc07e6f82764eeb0db861392ce2cc254763240dc95eef3e0564dd882206a15c12f52cf3b9 WHIRLPOOL 270990e9ad3e12925017b4904bebcf15344f6b866c118ccc7ef9954e3bd58b21642d0b29cfc46f44eada6f412e9ba8af27871a9822cc9c5385b64314fe89b7b6
EBUILD splashutils-1.5.4.4-r4.ebuild 7017 SHA256 a192d1d2803efcec6deb7754e9cd8cb25331ec18c5ef010d158b08127452cf85 SHA512 a2cc15fbf197d0b6b11858b4db2a0b19a047a578c8092d5d200c6f579f30537d99c9aea0c9e545e86a8504738a8ea4287050dfeff468af553de6e285d0aff0f0 WHIRLPOOL 7b8ca95ac11789b56722620a2b760e15d7cd08eb8ab2aa30f9adb252c0b227be82466f7afae8521fc1ddef775522518a332baf2cf2c6526990cf006eea625f1b
MISC metadata.xml 324 SHA256 51a25c570502116aa46bfe2bdfbb99be8a81290879563848978a9ee301a3dfa5 SHA512 4fccbcc1c6372560a0139262caf1f305cf658be6761e9703a0033da08af0d8a3dc310e1ceec52761b173fce2d6a94971fbde69ee0a419a7f00457f08691b233e WHIRLPOOL 60b68573116b7ef2a1a4fd87ab47172b56617c7d713ba44e9cdfce23283bf45ddf94ce0d4dd7d9d8ca7ab0c3af164557ec8f16ae872269b1b04b92d3a6e4781d

View File

@@ -1,39 +0,0 @@
--- configure-old 2014-02-03 18:49:57.524228900 +0100
+++ configure 2014-02-03 18:54:31.920895855 +0100
@@ -13025,13 +13025,13 @@
MNG_LIBS="${MNG_LIBS} -lz"
fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cmsCloseProfile in -llcms" >&5
-$as_echo_n "checking for cmsCloseProfile in -llcms... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cmsCloseProfile in -llcms2" >&5
+$as_echo_n "checking for cmsCloseProfile in -llcms2... " >&6; }
if ${ac_cv_lib_lcms_cmsCloseProfile+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
-LIBS="-llcms $LIBS"
+LIBS="-llcms2 $LIBS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -13062,7 +13062,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_lcms_cmsCloseProfile" >&5
$as_echo "$ac_cv_lib_lcms_cmsCloseProfile" >&6; }
if test "x$ac_cv_lib_lcms_cmsCloseProfile" = xyes; then :
- MNG_LIBS="${MNG_LIBS} -llcms"
+ MNG_LIBS="${MNG_LIBS} -llcms2"
fi
--- configure.ac-old 2014-02-03 18:49:17.970895525 +0100
+++ configure.ac 2014-02-03 18:53:08.964229101 +0100
@@ -538,7 +538,7 @@
MNG_LIBS="${MNG_LIBS} -lmng"
MNG_LIBS="${MNG_LIBS} ${JPEG_LIBS}"
AC_CHECK_LIB([z], [zlibVersion], [MNG_LIBS="${MNG_LIBS} -lz" ])
- AC_CHECK_LIB([lcms], [cmsCloseProfile],[MNG_LIBS="${MNG_LIBS} -llcms"])
+ AC_CHECK_LIB([lcms2], [cmsCloseProfile],[MNG_LIBS="${MNG_LIBS} -llcms2"])
],
[AC_MSG_ERROR(['libmng' library file was not found.])]
)

View File

@@ -1,14 +0,0 @@
diff -dNur a/fbtruetype/ttf.c b/fbtruetype/ttf.c
--- a/fbtruetype/ttf.c 2006-02-03 16:10:41.000000000 +0100
+++ b/fbtruetype/ttf.c 2014-07-24 16:39:03.645062304 +0200
@@ -13,8 +13,8 @@
#include <ft2build.h>
#include FT_FREETYPE_H
/* #include <freetype/freetype.h> */
-#include <freetype/ftoutln.h>
-#include <freetype/ttnameid.h>
+#include FT_OUTLINE_H
+#include FT_TRUETYPE_IDS_H
#include "ttf.h"

View File

@@ -1,43 +0,0 @@
core/configure.ac | 6 ++++++
core/src/Makefile.am | 2 +-
2 files changed, 7 insertions(+), 1 deletions(-)
diff --git a/core/configure.ac b/core/configure.ac
index c5fbb84..ae9e235 100644
--- a/core/configure.ac
+++ b/core/configure.ac
@@ -616,6 +616,7 @@ AS_IF(
AC_SUBST([PNG_CFLAGS])
AC_SUBST([PNG_LIBS])
+BZ2_LIBS=
AS_IF(
[test "x${config_ttf}" = "xyes"],
[
@@ -625,8 +626,13 @@ AS_IF(
,
[AC_MSG_ERROR([freetype was not found.])]
)
+ AC_CHECK_LIB([bz2], [BZ2_bzDecompress],
+ [BZ2_LIBS="${BZ2_LIBS} -lbz2"],
+ [AC_MSG_ERROR(['libbz2' library was not found.])]
+ )
]
)
+AC_SUBST([BZ2_LIBS])
AH_TOP([#ifndef __SPLASH_CONFIG_H
#define __SPLASH_CONFIG_H])
diff --git a/core/src/Makefile.am b/core/src/Makefile.am
index d6ce315..349b5e7 100644
--- a/core/src/Makefile.am
+++ b/core/src/Makefile.am
@@ -190,7 +190,7 @@ fbsplashctl_SOURCES = $(fbsplashd_SOURCES) $(splash_util_SOURCES) fbspla
fbsplashctl_CFLAGS = $(AM_CFLAGS) $(PTHREAD_STATIC_CFLAGS) $(RT_CFLAGS) $(libfbsplashrender_la_CFLAGS) -DUNIFIED_BUILD
fbsplashctl_CPPFLAGS = $(fbsplashd_CPPFLAGS) $(splash_util_CPPFLAGS)
fbsplashctl_LDFLAGS = $(AM_LDFLAGS) -all-static
-fbsplashctl_LDADD = libfbsplashrender.la libfbsplash.la $(PTHREAD_STATIC_LIBS) $(RT_LIBS) $(GPM_LIBS)
+fbsplashctl_LDADD = libfbsplashrender.la libfbsplash.la $(PTHREAD_STATIC_LIBS) $(RT_LIBS) $(GPM_LIBS) $(BZ2_LIBS)
if CONFIG_FBCON_DECOR
fbsplashctl_SOURCES += $(fbcondecor_ctl_SOURCES)

View File

@@ -1,15 +0,0 @@
=== modified file 'fbtruetype/Makefile'
--- fbtruetype/Makefile 2011-10-01 14:10:17 +0000
+++ fbtruetype/Makefile 2011-10-01 14:15:02 +0000
@@ -23,8 +23,8 @@
OBJECTS = fbtruetype.o messages.o console.o ttf.o luxisri.o
LDFLAGS += -L$(LIBDIR)
-LIBSS = $(LIBDIR)/libfreetype.a $(LIBDIR)/libz.a -lm
-LIBSD = -lfreetype -lm
+LIBSS = $(shell pkg-config freetype2 --libs --static) -lm
+LIBSD = $(shell pkg-config freetype2 --libs) -lm
CFLAGS += -I/usr/include/freetype2
COMPILE = $(CC) $(CFLAGS)

View File

@@ -1,19 +0,0 @@
commit 74dda8291efae78f00bb781148c8fd4fccaeb764
Author: Michał Januszewski <spock@gentoo.org>
Date: Tue Jun 14 23:23:33 2011 +0200
Fix typo in the Gentoo initscript.
diff --git a/gentoo/init-fbcondecor b/gentoo/init-fbcondecor
index b66f40a..ce921b6 100755
--- a/gentoo/init-fbcondecor
+++ b/gentoo/init-fbcondecor
@@ -12,7 +12,7 @@ start() {
splash_setup
if [ -z "${FBCONDECOR_TTYS}" ]; then
- FBCONDECOR_TTYS=$(seq 1 "${rc_tty_number:-${RC_TTY_NUMBER}:-12}")
+ FBCONDECOR_TTYS=$(seq 1 "${rc_tty_number:-${RC_TTY_NUMBER:-12}}")
fi
local err=0

View File

@@ -1,381 +0,0 @@
diff -ru a/core/src/common.h b/core/src/common.h
--- a/core/src/common.h 2013-01-11 06:35:35.000000000 +0200
+++ b/core/src/common.h 2013-01-11 06:34:08.000000000 +0200
@@ -34,6 +34,10 @@
#define PATH_PROC FBSPLASH_DIR"/proc"
#endif
+/* Maximum number of keyboard connected to a machine.
+ * The number is big (8) to be on the safe side */
+#define MAX_KBDS 8
+
/* Useful short-named types */
typedef u_int8_t u8;
typedef u_int16_t u16;
diff -ru a/core/src/daemon.c b/core/src/daemon.c
--- a/core/src/daemon.c 2013-01-11 06:35:35.000000000 +0200
+++ b/core/src/daemon.c 2013-01-11 06:34:08.000000000 +0200
@@ -20,6 +20,7 @@
#include <sys/ioctl.h>
#include <sys/wait.h>
#include <sys/mman.h>
+#include <sys/select.h>
#include <pthread.h>
#include <errno.h>
#include <dirent.h>
@@ -29,6 +30,8 @@
#include "common.h"
#include "daemon.h"
+#define EV_BUF_SIZE 8
+
/* Threading structures */
pthread_mutex_t mtx_tty = PTHREAD_MUTEX_INITIALIZER;
pthread_mutex_t mtx_paint = PTHREAD_MUTEX_INITIALIZER;
@@ -41,7 +44,8 @@
int ctty = CTTY_VERBOSE;
/* File descriptors */
-int fd_evdev = -1;
+int fd_evdevs[MAX_KBDS];
+int evdev_count = 0;
#ifdef CONFIG_GPM
int fd_gpm = -1;
#endif
@@ -51,7 +55,6 @@
/* Misc settings */
char *notify[2];
-char *evdev = NULL;
/* Service list */
list svcs = { NULL, NULL };
@@ -400,56 +403,83 @@
}
}
+__u16 get_ev_key_pressed(int fd_evdev, int ev_buf_size,
+ struct input_event *ev_buf) {
+ size_t rb;
+ int i;
+ rb = read(fd_evdev, ev_buf, sizeof(struct input_event) * ev_buf_size);
+ if (rb < (int) sizeof(struct input_event))
+ return 0;
+
+ for (i = 0; i < (int) (rb / sizeof(struct input_event)); i++) {
+ if (ev_buf[i].type != EV_KEY || ev_buf[i].value != 0)
+ continue;
+ return ev_buf[i].code;
+ }
+}
+
/*
* Event device monitor thread.
*/
void* thf_switch_evdev(void *unused)
{
- int i, h, oldstate;
- size_t rb;
- struct input_event ev[8];
+ int i, h, oldstate, nfds, retval, fd_evdev;
+ fd_set rfds;
+ struct input_event ev_buf[EV_BUF_SIZE];
+ __u16 key_pressed = 0;
while (1) {
- rb = read(fd_evdev, ev, sizeof(struct input_event)*8);
- if (rb < (int) sizeof(struct input_event))
- continue;
+ nfds = 0, fd_evdev = -1;
+ FD_ZERO(&rfds);
+ for (i = 0;i < evdev_count;i++) {
+ FD_SET(fd_evdevs[i], &rfds);
+ nfds = max(nfds, fd_evdevs[i]);
+ }
- for (i = 0; i < (int) (rb / sizeof(struct input_event)); i++) {
- if (ev[i].type != EV_KEY || ev[i].value != 0)
- continue;
+ nfds++;
- switch (ev[i].code) {
- case KEY_F2:
- pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, &oldstate);
- pthread_mutex_lock(&mtx_paint);
- if (ctty == CTTY_SILENT) {
- h = config.tty_v;
- } else {
- h = config.tty_s;
+ retval = select(nfds, &rfds, NULL, NULL, NULL);
+ if (retval == -1)
+ perror("select()");
+ else if (retval) {
+ for (i = 0;i < evdev_count;i++) {
+ if (FD_ISSET(fd_evdevs[i], &rfds)) {
+ fd_evdev = fd_evdevs[i];
+ break;
}
- pthread_mutex_unlock(&mtx_paint);
- pthread_setcancelstate(oldstate, NULL);
+ }
+ key_pressed = get_ev_key_pressed(fd_evdev, EV_BUF_SIZE, ev_buf);
+ if (key_pressed == -1)
+ continue;
+ switch (key_pressed) {
+ case KEY_F2:
+ pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, &oldstate);
+ pthread_mutex_lock(&mtx_paint);
+ h = (ctty == CTTY_SILENT) ? config.tty_v : config.tty_s;
+ pthread_mutex_unlock(&mtx_paint);
+ pthread_setcancelstate(oldstate, NULL);
+
+ /* Switch to the new tty. This ioctl has to be done on
+ * the silent tty. Sometimes init will mess with the
+ * settings of the verbose console which will prevent
+ * console switching from working properly.
+ *
+ * Don't worry about fd_tty[config.tty_s]
+ * not being protected by a mutex --
+ * this thread is always killed before any changes
+ * are made to fd_tty[config.tty_s].
+ */
+ ioctl(fd_tty[config.tty_s], VT_ACTIVATE, h);
+ break;
- /* Switch to the new tty. This ioctl has to be done on
- * the silent tty. Sometimes init will mess with the
- * settings of the verbose console which will prevent
- * console switching from working properly.
- *
- * Don't worry about fd_tty[config.tty_s] not being protected by a
- * mutex -- this thread is always killed before any changes
- * are made to fd_tty[config.tty_s].
- */
- ioctl(fd_tty[config.tty_s], VT_ACTIVATE, h);
- break;
-
- case KEY_F3:
- config.textbox_visible = !config.textbox_visible;
- invalidate_textbox(theme, config.textbox_visible);
- cmd_paint(NULL);
- break;
+ case KEY_F3:
+ config.textbox_visible = !config.textbox_visible;
+ invalidate_textbox(theme, config.textbox_visible);
+ cmd_paint(NULL);
+ break;
}
- }
- }
+ } /* end of else if (retval) */
+ } /* end of while(1) */
pthread_exit(NULL);
}
@@ -519,7 +549,7 @@
/* Do we have to start a monitor thread? */
if (update & UPD_MON) {
- if (fd_evdev != -1) {
+ if (evdev_count >= 0) {
if (pthread_create(&th_switchmon, NULL, &thf_switch_evdev, NULL)) {
iprint(MSG_ERROR, "Evdev monitor thread creation failed.\n");
exit(3);
diff -ru a/core/src/daemon.h b/core/src/daemon.h
--- a/core/src/daemon.h 2013-01-11 06:35:35.000000000 +0200
+++ b/core/src/daemon.h 2013-01-11 06:34:08.000000000 +0200
@@ -40,13 +40,13 @@
extern int fd_tty_s, fd_tty1, fd_tty0;
/*
- * Event device on which the daemon listens for F2 keypresses.
- * The proper device has to be detected by an external program and
+ * Event devices on which the daemon listens for F2 keypresses.
+ * The proper devices have to be detected by an external program and
* then enabled by sending an appropriate command to the splash
* daemon.
*/
-extern int fd_evdev;
-extern char *evdev;
+extern int fd_evdevs[];
+extern int evdev_count;
#ifdef CONFIG_GPM
#include <gpm.h>
diff -ru a/core/src/daemon_cmd.c b/core/src/daemon_cmd.c
--- a/core/src/daemon_cmd.c 2013-01-11 06:35:35.000000000 +0200
+++ b/core/src/daemon_cmd.c 2013-01-11 06:34:08.000000000 +0200
@@ -239,18 +239,35 @@
*/
int cmd_set_event_dev(void **args)
{
- if (evdev)
- free(evdev);
-
- evdev = strdup(args[0]);
+ char *evdevs;
+ char *evdev;
+ int i, j, fd_evdev = -1;
pthread_cancel(th_switchmon);
+ for (i = 0;i < evdev_count;i++) {
+ close(fd_evdevs[i]);
+ }
+ evdevs = strdup(args[1]);
+ evdev_count = *(int*)args[0];
+ j = 0;
+ for (i = 0;i < evdev_count;i++, evdevs = NULL) {
+ evdev = strtok(evdevs, ",");
+ fd_evdev = open(evdev, O_RDONLY);
+ if (fd_evdev != -1) {
+ fd_evdevs[j] = fd_evdev;
+ j++;
+ } else {
+ perror("failed to open event device");
+ }
+ }
+ if (j == 0) { /* all input devices failed to open */
+ evdev_count = -1;
+ free(evdevs);
+ return -1;
+ }
- if (fd_evdev != -1)
- close(fd_evdev);
-
- fd_evdev = open(evdev, O_RDONLY);
-
+ evdev_count = j;
+ free(evdevs);
switchmon_start(UPD_MON, config.tty_s);
return 0;
@@ -524,8 +541,8 @@
{ .cmd = "set event dev",
.handler = cmd_set_event_dev,
- .args = 1,
- .specs = "s"
+ .args = 2,
+ .specs = "ds"
},
{ .cmd = "set message",
@@ -628,7 +645,7 @@
continue;
for (j = 0; j < known_cmds[i].args; j++) {
- for (; buf[k] == ' '; buf[k] = 0, k++);
+ for (; buf[k] == ' '; buf[k] = '\0', k++);
if (!buf[k]) {
args[j] = NULL;
continue;
diff -ru a/core/src/libfbsplash.c b/core/src/libfbsplash.c
--- a/core/src/libfbsplash.c 2013-01-11 06:35:35.000000000 +0200
+++ b/core/src/libfbsplash.c 2013-01-11 06:34:08.000000000 +0200
@@ -588,6 +588,8 @@
return -1;
}
+#define EVDV_BUF_LEN 128
+
/**
* Try to set the event device for the splash daemon.
*
@@ -595,10 +597,14 @@
*/
int fbsplash_set_evdev(void)
{
- char buf[128];
+ char buf[EVDV_BUF_LEN];
+ char evdev_devs[EVDV_BUF_LEN * MAX_KBDS];
FILE *fp;
int i, j;
-
+ int kbd_count;
+ int max_chars, chars_left, dev_path_len;
+ char dev_path[] = PATH_DEV "/input/";
+ dev_path_len = strlen(dev_path);
char *evdev_cmds[] = {
"/bin/grep -Hsi keyboard " PATH_SYS "/class/input/input*/name | /bin/sed -e 's#.*input\\([0-9]*\\)/name.*#event\\1#'",
"/bin/grep -Hsi keyboard " PATH_SYS "/class/input/event*/device/driver/description | /bin/grep -o 'event[0-9]\\+'",
@@ -608,22 +614,43 @@
/* Try to activate the event device interface so that F2 can
* be used to switch from verbose to silent. */
- buf[0] = 0;
- for (i = 0; i < sizeof(evdev_cmds)/sizeof(char*); i++) {
+ buf[0] = '\0';
+ kbd_count = 0;
+ max_chars = sizeof(evdev_devs) / sizeof(char*);
+ chars_left = max_chars - 1;
+ evdev_devs[0] = '\0';
+ for (i = 0; i < sizeof(evdev_cmds) / sizeof(char*); i++) {
fp = popen(evdev_cmds[i], "r");
if (fp) {
- fgets(buf, 128, fp);
- if ((j = strlen(buf)) > 0) {
- if (buf[j-1] == '\n')
- buf[j-1] = 0;
- break;
+ while (fgets(buf, 128, fp) && kbd_count < MAX_KBDS) {
+ if ((j = strlen(buf)) > 0) {
+ if (buf[j-1] == '\n')
+ buf[j-1] = ',';
+ if (chars_left < (j + dev_path_len)) {
+ break;
+ }
+ kbd_count++;
+ strncat(evdev_devs, dev_path, chars_left);
+ chars_left -= dev_path_len;
+ strncat(evdev_devs, buf, chars_left);
+ chars_left -= j;
+ }
+ }
+ /* replace the last ',' with '\n' */
+ if (chars_left > 0 && evdev_devs[0] != '\0') {
+ j = strlen(evdev_devs);
+ if (j > 2) {
+ evdev_devs[j - 1] = '\n';
+ }
}
pclose(fp);
}
+ if (kbd_count > 0)
+ break;
}
- if (buf[0] != 0) {
- fbsplash_send("set event dev " PATH_DEV "/input/%s\n", buf);
+ if (evdev_devs[0] != '\0') {
+ fbsplash_send("set event dev %d %s", kbd_count, evdev_devs);
return 0;
} else {
return -1;
@@ -661,6 +688,8 @@
return 0;
}
+#define MAX_CMD 2048
+
/**
* Send stuff to the splash daemon using the splash FIFO.
*
@@ -668,7 +697,7 @@
*/
int fbsplash_send(const char *fmt, ...)
{
- char cmd[256];
+ char cmd[MAX_CMD];
va_list ap;
if (!fp_fifo) {
@@ -690,7 +719,7 @@
}
va_start(ap, fmt);
- vsnprintf(cmd, 256, fmt, ap);
+ vsnprintf(cmd, MAX_CMD, fmt, ap);
va_end(ap);
fprintf(fp_fifo, cmd);

View File

@@ -1,53 +0,0 @@
core/configure.ac | 6 ++++++
core/src/Makefile.am | 2 +-
2 files changed, 7 insertions(+), 1 deletions(-)
diff --git a/core/configure.ac b/core/configure.ac
index c5fbb84..ae9e235 100644
--- a/core/configure.ac
+++ b/core/configure.ac
@@ -616,6 +616,7 @@ AS_IF(
AC_SUBST([PNG_CFLAGS])
AC_SUBST([PNG_LIBS])
+BZ2_LIBS=
AS_IF(
[test "x${config_ttf}" = "xyes"],
[
@@ -625,8 +626,13 @@ AS_IF(
,
[AC_MSG_ERROR([freetype was not found.])]
)
+ AC_CHECK_LIB([bz2], [BZ2_bzDecompress],
+ [BZ2_LIBS="${BZ2_LIBS} -lbz2"],
+ [AC_MSG_ERROR(['libbz2' library was not found.])]
+ )
]
)
+AC_SUBST([BZ2_LIBS])
AH_TOP([#ifndef __SPLASH_CONFIG_H
#define __SPLASH_CONFIG_H])
diff --git a/core/src/Makefile.am b/core/src/Makefile.am
index d6ce315..349b5e7 100644
--- a/core/src/Makefile.am
+++ b/core/src/Makefile.am
@@ -121,6 +121,9 @@
libfbsplashrender_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(libfbsplashrender_version)
libfbsplashrender_la_LIBADD = libfbsplash.la
+libfbsplashrender_la_CFLAGS += $(BZ2_CFLAGS)
+libfbsplashrender_la_LIBADD += $(BZ2_LIBS)
+
libfbsplashrender_la_CFLAGS += $(JPEG_CFLAGS)
libfbsplashrender_la_LIBADD += $(JPEG_LIBS)
@@ -190,7 +193,7 @@
fbsplashctl_CFLAGS = $(AM_CFLAGS) $(PTHREAD_STATIC_CFLAGS) $(RT_CFLAGS) $(libfbsplashrender_la_CFLAGS) -DUNIFIED_BUILD
fbsplashctl_CPPFLAGS = $(fbsplashd_CPPFLAGS) $(splash_util_CPPFLAGS)
fbsplashctl_LDFLAGS = $(AM_LDFLAGS) -all-static
-fbsplashctl_LDADD = libfbsplashrender.la libfbsplash.la $(PTHREAD_STATIC_LIBS) $(RT_LIBS) $(GPM_LIBS)
+fbsplashctl_LDADD = libfbsplashrender.la libfbsplash.la $(PTHREAD_STATIC_LIBS) $(RT_LIBS) $(GPM_LIBS) $(BZ2_LIBS)
if CONFIG_FBCON_DECOR
fbsplashctl_SOURCES += $(fbcondecor_ctl_SOURCES)

View File

@@ -1,28 +0,0 @@
diff -dNur a/src/ttf.c b/src/ttf.c
--- a/src/ttf.c 2011-06-12 23:43:39.000000000 +0200
+++ b/src/ttf.c 2014-07-24 16:54:19.322207452 +0200
@@ -25,8 +25,8 @@
#include <assert.h>
#include <ft2build.h>
-#include <freetype/ftoutln.h>
-#include <freetype/ttnameid.h>
+#include FT_OUTLINE_H
+#include FT_TRUETYPE_IDS_H
#include "common.h"
#include "render.h"
diff -dNur a/src/ttf.h b/src/ttf.h
--- a/src/ttf.h 2011-06-12 23:43:39.000000000 +0200
+++ b/src/ttf.h 2014-07-24 16:54:30.426027477 +0200
@@ -1,8 +1,8 @@
#ifndef _TTF_H
#define _TTF_H
#include <ft2build.h>
-#include <freetype/ftoutln.h>
-#include <freetype/ttnameid.h>
+#include FT_OUTLINE_H
+#include FT_TRUETYPE_IDS_H
#define CACHED_METRICS 0x10
#define CACHED_BITMAP 0x01

View File

@@ -1,13 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<herd>proxy-maintainers</herd>
<maintainer>
<email>asaf.gery@gmail.com</email>
</maintainer>
<use>
<flag name='fbcondecor'>
Support for the fbcondecor kernel patch.
</flag>
</use>
</pkgmetadata>

View File

@@ -1,245 +0,0 @@
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/media-gfx/splashutils/splashutils-1.5.4.4-r1.ebuild,v 1.9 2014/01/01 15:33:34 hwoarang Exp $
EAPI="2"
inherit autotools eutils multilib toolchain-funcs
MISCSPLASH="miscsplashutils-0.1.8"
GENTOOSPLASH="splashutils-gentoo-1.0.17"
V_JPEG="8a"
V_PNG="1.4.3"
V_ZLIB="1.2.3"
V_FT="2.3.12"
ZLIBSRC="libs/zlib-${V_ZLIB}"
LPNGSRC="libs/libpng-${V_PNG}"
JPEGSRC="libs/jpeg-${V_JPEG}"
FT2SRC="libs/freetype-${V_FT}"
RESTRICT="test"
IUSE="hardened +png +truetype +mng gpm fbcondecor"
DESCRIPTION="Framebuffer splash utilities."
HOMEPAGE="http://fbsplash.berlios.de"
SRC_URI="mirror://berlios/fbsplash/${PN}-lite-${PV}.tar.bz2
mirror://berlios/fbsplash/${GENTOOSPLASH}.tar.bz2
mirror://gentoo/${MISCSPLASH}.tar.bz2
mirror://sourceforge/libpng/libpng-${V_PNG}.tar.bz2
ftp://ftp.uu.net/graphics/jpeg/jpegsrc.v${V_JPEG}.tar.gz
mirror://sourceforge/freetype/freetype-${V_FT}.tar.bz2
http://www.gzip.org/zlib/zlib-${V_ZLIB}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 ~ppc x86"
RDEPEND="gpm? ( sys-libs/gpm[static-libs] )
truetype? ( >=media-libs/freetype-2[static-libs]
|| ( <app-arch/bzip2-1.0.6-r3 app-arch/bzip2[static-libs] )
|| ( <sys-libs/zlib-1.2.5.1-r2 sys-libs/zlib[static-libs] ) )
png? ( >=media-libs/libpng-1.4.3[static-libs] )
mng? (
media-libs/lcms:0[static-libs]
|| ( media-libs/libmng[static-libs] <media-libs/libmng-1.0.10-r1 )
)
virtual/jpeg:0[static-libs]
>=sys-apps/baselayout-1.9.4-r5
app-arch/cpio
media-gfx/fbgrab
!sys-apps/lcdsplash"
DEPEND="${RDEPEND}
>=dev-libs/klibc-1.5
virtual/pkgconfig"
S="${WORKDIR}/${P/_/-}"
SG="${WORKDIR}/${GENTOOSPLASH}"
SM="${WORKDIR}/${MISCSPLASH}"
pkg_setup() {
if use hardened; then
ewarn "Due to problems with klibc, it is currently impossible to compile splashutils"
ewarn "with 'hardened' GCC flags. As a workaround, the package will be compiled with"
ewarn "-fno-stack-protector. Hardened GCC features will not be used while building"
ewarn "the splash kernel helper."
fi
}
src_prepare() {
mv "${WORKDIR}"/{libpng-${V_PNG},jpeg-${V_JPEG},zlib-${V_ZLIB},freetype-${V_FT}} "${S}/libs"
# We need to delete the Makefile and let it be rebuilt when splashutils
# is being configured. Either that, or we end up with a segfaulting kernel
# helper.
rm "${S}/libs/zlib-${V_ZLIB}/Makefile"
if use truetype ; then
epatch "${FILESDIR}/splashutils-1.5.4.4_fix-freetype-includes.patch"
fi
cd "${SG}"
epatch "${FILESDIR}/splashutils-1.5.4.4-gentoo-typo-fix.patch"
if use truetype ; then
cd "${SM}"
epatch "${FILESDIR}/splashutils-1.5.4.4-freetype-bz2.patch"
epatch "${FILESDIR}/miscsplashutils-0.1.8_fix-freetype-includes.patch"
fi
cd "${S}"
ln -sf "${S}/src" "${WORKDIR}/core"
epatch "${FILESDIR}/${P}-bzip2.patch"
epatch "${FILESDIR}/libmng2-lcms2.patch"
if ! tc-is-cross-compiler && \
has_version "sys-devel/gcc:$(gcc-version)[vanilla]" ; then
ewarn "Your GCC was built with the 'vanilla' flag set. If you can't compile"
ewarn "splashutils, you're on your own, as this configuration is not supported."
else
# This should make splashutils compile on systems with hardened GCC.
sed -e 's@K_CFLAGS =@K_CFLAGS = -fno-stack-protector@' -i "${S}/Makefile.in"
fi
if ! use truetype ; then
sed -i -e 's/fbtruetype kbd/kbd/' "${SM}/Makefile"
fi
# Latest version of klibc defined its own version of ferror, so there is
# not need for the hack in klibc_compat.h
if has_version ">=dev-libs/klibc-1.5.20"; then
echo > "libs/klibc_compat.h"
fi
rm -f m4/*
eautoreconf
}
src_configure() {
tc-export CC
cd "${SM}"
emake CC="${CC}" LIB=$(get_libdir) STRIP=true || die "failed to build miscsplashutils"
cd "${S}"
econf \
$(use_with png) \
$(use_with mng) \
$(use_with gpm) \
$(use_with truetype ttf) \
$(use_with truetype ttf-kernel) \
$(use_enable fbcondecor) \
--docdir=/usr/share/doc/${PF} \
--with-freetype2-src=${FT2SRC} \
--with-jpeg-src=${JPEGSRC} \
--with-lpng-src=${LPNGSRC} \
--with-zlib-src=${ZLIBSRC} \
--with-essential-libdir=/$(get_libdir) || die "failed to configure splashutils"
}
src_compile() {
emake CC="${CC}" STRIP="true" || die "failed to build splashutils"
if has_version ">=sys-apps/baselayout-1.13.99"; then
cd "${SG}"
emake LIB=$(get_libdir) || die "failed to build the splash plugin"
fi
}
src_install() {
local LIB=$(get_libdir)
cd "${SM}"
make DESTDIR="${D}" LIB=${LIB} install || die
cd "${S}"
make DESTDIR="${D}" STRIP="true" install || die
mv "${D}"/usr/${LIB}/libfbsplash.so* "${D}"/${LIB}/
gen_usr_ldscript libfbsplash.so
echo 'CONFIG_PROTECT_MASK="/etc/splash"' > 99splash
doenvd 99splash
if use fbcondecor ; then
newinitd "${SG}"/init-fbcondecor fbcondecor
newconfd "${SG}"/fbcondecor.conf fbcondecor
fi
newconfd "${SG}"/splash.conf splash
insinto /usr/share/${PN}
doins "${SG}"/initrd.splash
insinto /etc/splash
doins "${SM}"/fbtruetype/luxisri.ttf
if has_version ">=sys-apps/baselayout-1.13.99"; then
cd "${SG}"
make DESTDIR="${D}" LIB=${LIB} install || die "failed to install the splash plugin"
else
cp "${SG}"/splash-functions-bl1.sh "${D}"/sbin/
fi
sed -i -e "s#/lib/splash#/${LIB}/splash#" "${D}"/sbin/splash-functions.sh
keepdir /${LIB}/splash/{tmp,cache,bin,sys}
dosym /${LIB}/splash/bin/fbres /sbin/fbres
}
pkg_preinst() {
has_version "<${CATEGORY}/${PN}-1.0"
previous_less_than_1_0=$?
has_version "<${CATEGORY}/${PN}-1.5.3"
previous_less_than_1_5_3=$?
}
pkg_postinst() {
if has_version sys-fs/devfsd || ! has_version virtual/udev ; then
elog "This package has been designed with udev in mind. Other solutions, such as"
elog "devfs or a static /dev tree might work, but are generally discouraged and"
elog "not supported. If you decide to switch to udev, you might want to have a"
elog "look at 'The Gentoo udev Guide', which can be found at"
elog " http://www.gentoo.org/doc/en/udev-guide.xml"
elog ""
fi
if [[ $previous_less_than_1_0 = 0 ]] ; then
elog "Since you are upgrading from a pre-1.0 version, please make sure that you"
elog "rebuild your initrds. You can use the splash_geninitramfs script to do that."
elog ""
fi
if [[ $previous_less_than_1_5_3 = 0 ]] && ! use fbcondecor ; then
elog "Starting with splashutils-1.5.3, support for the fbcondecor kernel patch"
elog "is optional and dependent on the the 'fbcondecor' USE flag. If you wish"
elog "to use fbcondecor, run:"
elog " echo \"media-gfx/splashutils fbcondecor\" >> /etc/portage/package.use"
elog "and re-emerge splashutils."
fi
if ! test -f /proc/cmdline ||
! egrep -q '(console=tty1|CONSOLE=/dev/tty1)' /proc/cmdline ; then
elog "It is required that you add 'console=tty1' to your kernel"
elog "command line parameters."
elog ""
elog "After these modifications, the relevant part of the kernel command"
elog "line might look like:"
elog " splash=silent,fadein,theme:emergence console=tty1"
elog ""
fi
if ! has_version 'media-gfx/splash-themes-livecd' &&
! has_version 'media-gfx/splash-themes-gentoo'; then
elog "The sample Gentoo themes (emergence, gentoo) have been removed from the"
elog "core splashutils package. To get some themes you might want to emerge:"
elog " media-gfx/splash-themes-livecd"
elog " media-gfx/splash-themes-gentoo"
fi
elog "Please note that the 'fbsplash' kernel patch has now been renamed to"
elog "'fbcondecor'. Accordingly, the old 'splash' initscript is now called"
elog "'fbcondecor'. Make sure you update your system. See:"
elog " http://dev.gentoo.org/~spock/projects/fbcondecor/#history"
elog "for further info about the name changes."
elog ""
elog "Also note that splash_util has now been split into splash_util, fbsplashd"
elog "and fbcondecor_ctl."
}

View File

@@ -1,242 +0,0 @@
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/media-gfx/splashutils/splashutils-1.5.4.4-r4.ebuild,v 1.1 2013/10/14 13:50:25 pinkbyte Exp $
EAPI=5
inherit autotools eutils multilib toolchain-funcs
MISCSPLASH="miscsplashutils-0.1.8"
GENTOOSPLASH="splashutils-gentoo-1.0.17"
V_JPEG="8a"
V_PNG="1.4.3"
V_ZLIB="1.2.3"
V_FT="2.3.12"
ZLIBSRC="libs/zlib-${V_ZLIB}"
LPNGSRC="libs/libpng-${V_PNG}"
JPEGSRC="libs/jpeg-${V_JPEG}"
FT2SRC="libs/freetype-${V_FT}"
RESTRICT="test"
IUSE="hardened +png +truetype +mng gpm fbcondecor"
DESCRIPTION="Framebuffer splash utilities"
HOMEPAGE="http://fbsplash.berlios.de"
SRC_URI="
mirror://berlios/fbsplash/${PN}-lite-${PV}.tar.bz2
mirror://berlios/fbsplash/${GENTOOSPLASH}.tar.bz2
mirror://gentoo/${MISCSPLASH}.tar.bz2
mirror://sourceforge/libpng/libpng-${V_PNG}.tar.bz2
ftp://ftp.uu.net/graphics/jpeg/jpegsrc.v${V_JPEG}.tar.gz
mirror://sourceforge/freetype/freetype-${V_FT}.tar.bz2
http://www.gzip.org/zlib/zlib-${V_ZLIB}.tar.bz2
"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86"
RDEPEND="
gpm? ( sys-libs/gpm[static-libs(+)] )
truetype? (
>=media-libs/freetype-2[static-libs]
app-arch/bzip2[static-libs(+)]
sys-libs/zlib[static-libs(+)]
)
png? (
>=media-libs/libpng-1.4.3[static-libs]
sys-libs/zlib[static-libs(+)]
)
mng? (
media-libs/lcms:0[static-libs]
media-libs/libmng[static-libs(+)]
)
virtual/jpeg:0[static-libs]
app-arch/cpio
media-gfx/fbgrab
!sys-apps/lcdsplash"
DEPEND="${RDEPEND}
>=dev-libs/klibc-1.5
virtual/pkgconfig
"
S="${WORKDIR}/${P/_/-}"
SG="${WORKDIR}/${GENTOOSPLASH}"
SM="${WORKDIR}/${MISCSPLASH}"
pkg_setup() {
if use hardened; then
ewarn "Due to problems with klibc, it is currently impossible to compile splashutils"
ewarn "with 'hardened' GCC flags. As a workaround, the package will be compiled with"
ewarn "-fno-stack-protector. Hardened GCC features will not be used while building"
ewarn "the splash kernel helper."
fi
}
src_prepare() {
mv "${WORKDIR}"/{libpng-${V_PNG},jpeg-${V_JPEG},zlib-${V_ZLIB},freetype-${V_FT}} "${S}/libs"
# We need to delete the Makefile and let it be rebuilt when splashutils
# is being configured. Either that, or we end up with a segfaulting kernel
# helper.
rm "${S}/libs/zlib-${V_ZLIB}/Makefile"
if use truetype ; then
epatch "${FILESDIR}/splashutils-1.5.4.4_fix-freetype-includes.patch"
fi
cd "${SG}"
epatch "${FILESDIR}/splashutils-1.5.4.4-gentoo-typo-fix.patch"
if use truetype ; then
cd "${SM}"
epatch "${FILESDIR}/splashutils-1.5.4.4-freetype-bz2.patch"
epatch "${FILESDIR}/miscsplashutils-0.1.8_fix-freetype-includes.patch"
fi
cd "${S}"
ln -sf "${S}/src" "${WORKDIR}/core"
epatch "${FILESDIR}/${P}-bzip2.patch"
epatch "${FILESDIR}/${P}-multi-keyboard.patch"
epatch "${FILESDIR}/libmng2-lcms2.patch"
if ! tc-is-cross-compiler && \
has_version "sys-devel/gcc:$(gcc-version)[vanilla]" ; then
ewarn "Your GCC was built with the 'vanilla' flag set. If you can't compile"
ewarn "splashutils, you're on your own, as this configuration is not supported."
else
# This should make splashutils compile on systems with hardened GCC.
sed -e 's@K_CFLAGS =@K_CFLAGS = -fno-stack-protector@' -i "${S}/Makefile.in"
fi
if ! use truetype ; then
sed -i -e 's/fbtruetype kbd/kbd/' "${SM}/Makefile"
fi
# Latest version of klibc defined its own version of ferror, so there is
# not need for the hack in klibc_compat.h
if has_version ">=dev-libs/klibc-1.5.20"; then
echo > "libs/klibc_compat.h"
fi
rm -f m4/*
eautoreconf
}
src_configure() {
tc-export CC
cd "${SM}"
emake CC="${CC}" LIB=$(get_libdir) STRIP=true
cd "${S}"
econf \
$(use_with png) \
$(use_with mng) \
$(use_with gpm) \
$(use_with truetype ttf) \
$(use_with truetype ttf-kernel) \
$(use_enable fbcondecor) \
--docdir=/usr/share/doc/${PF} \
--with-freetype2-src=${FT2SRC} \
--with-jpeg-src=${JPEGSRC} \
--with-lpng-src=${LPNGSRC} \
--with-zlib-src=${ZLIBSRC} \
--with-essential-libdir=/$(get_libdir)
}
src_compile() {
emake CC="${CC}" STRIP="true"
cd "${SG}"
emake LIB=$(get_libdir)
}
src_install() {
local LIB=$(get_libdir)
cd "${SM}"
emake DESTDIR="${D}" LIB=${LIB} install
cd "${S}"
emake DESTDIR="${D}" STRIP="true" install
mv "${D}"/usr/${LIB}/libfbsplash.so* "${D}"/${LIB}/
gen_usr_ldscript libfbsplash.so
echo 'CONFIG_PROTECT_MASK="/etc/splash"' > 99splash
doenvd 99splash
if use fbcondecor ; then
newinitd "${SG}"/init-fbcondecor fbcondecor
newconfd "${SG}"/fbcondecor.conf fbcondecor
fi
newconfd "${SG}"/splash.conf splash
insinto /usr/share/${PN}
doins "${SG}"/initrd.splash
insinto /etc/splash
doins "${SM}"/fbtruetype/luxisri.ttf
cd "${SG}"
make DESTDIR="${D}" LIB=${LIB} install
sed -i -e "s#/lib/splash#/${LIB}/splash#" "${D}"/sbin/splash-functions.sh
keepdir /${LIB}/splash/{tmp,cache,bin,sys}
dosym /${LIB}/splash/bin/fbres /sbin/fbres
}
pkg_preinst() {
has_version "<${CATEGORY}/${PN}-1.0"
previous_less_than_1_0=$?
has_version "<${CATEGORY}/${PN}-1.5.3"
previous_less_than_1_5_3=$?
}
pkg_postinst() {
if has_version sys-fs/devfsd || ! has_version virtual/udev ; then
elog "This package has been designed with udev in mind. Other solutions, such as"
elog "devfs or a static /dev tree might work, but are generally discouraged and"
elog "not supported. If you decide to switch to udev, you might want to have a"
elog "look at 'The Gentoo udev Guide', which can be found at"
elog " http://www.gentoo.org/doc/en/udev-guide.xml"
elog ""
fi
if [[ $previous_less_than_1_0 = 0 ]] ; then
elog "Since you are upgrading from a pre-1.0 version, please make sure that you"
elog "rebuild your initrds. You can use the splash_geninitramfs script to do that."
elog ""
fi
if [[ $previous_less_than_1_5_3 = 0 ]] && ! use fbcondecor ; then
elog "Starting with splashutils-1.5.3, support for the fbcondecor kernel patch"
elog "is optional and dependent on the the 'fbcondecor' USE flag. If you wish"
elog "to use fbcondecor, run:"
elog " echo \"media-gfx/splashutils fbcondecor\" >> /etc/portage/package.use"
elog "and re-emerge splashutils."
fi
if ! test -f /proc/cmdline ||
! egrep -q '(console=tty1|CONSOLE=/dev/tty1)' /proc/cmdline ; then
elog "It is required that you add 'console=tty1' to your kernel"
elog "command line parameters."
elog ""
elog "After these modifications, the relevant part of the kernel command"
elog "line might look like:"
elog " splash=silent,fadein,theme:emergence console=tty1"
elog ""
fi
if ! has_version 'media-gfx/splash-themes-livecd' &&
! has_version 'media-gfx/splash-themes-gentoo'; then
elog "The sample Gentoo themes (emergence, gentoo) have been removed from the"
elog "core splashutils package. To get some themes you might want to emerge:"
elog " media-gfx/splash-themes-livecd"
elog " media-gfx/splash-themes-gentoo"
fi
}