At leas on the 2.6 it wont build for streamzap. Haven't tried 2.4. After all the updates the streamzap code still wont build on 2.6, but at least the base is there. Reproducible: Always Steps to Reproduce: 1. add streamzap to the USE variable 2. LIRC_OPTS="--with-driver=streamzap" 3. Add "=app-misc/lirc-0.7.0_pre7-r1" to /etc/portage/package.keywords 4. emerge lirc Actual Results: barf about the device not beeing supported. Expected Results: An installed module lirc_streamzap --- lirc-0.7.0_pre7-r1.ebuild.org 2004-12-27 20:40:29.556621040 +0100 +++ lirc-0.7.0_pre7-r1.ebuild 2004-12-28 09:53:32.234954416 +0100 @@ -9,8 +9,7 @@ HOMEPAGE="http://www.lirc.org" # LIRC_OPTS = ???? v -# This are the defaults. With this support for all supported remotes -# will be build. +# If LIRC_OPTS is not set then this ebuild will choose the serial driver. # If you want other options then set the Environment variable to your needs. # Note: If you don't specify the driver configure becomes interactiv. @@ -60,6 +59,10 @@ use streamzap && epatch ${FILESDIR}/lirc-0.7.0_pre7-streamzap.patch.bz2 epatch ${FILESDIR}/${P}-configure.patch sed -i -e "s:-O2 -g:${CFLAGS}:" configure configure.in + # for some reason autogen looses execute rights. + use streamzap && chmod +x autogen.sh + # all .am files etc. has to be updated. + use streamzap && ./autogen.sh } src_compile() { diff -Naur lirc-0.7.0_pre7-streamzap.patch.org lirc-0.7.0_pre7-streamzap.patch --- lirc-0.7.0_pre7-streamzap.patch.org 2004-12-28 10:48:32.000000000 +0100 +++ lirc-0.7.0_pre7-streamzap.patch 2004-12-27 20:56:26.000000000 +0100 @@ -27,7 +27,7 @@ diff -Naur lirc-0.7.0pre7/autogen.sh lirc-0.7.0pre7-streamzap-0.07/autogen.sh --- lirc-0.7.0pre7/autogen.sh 1969-12-31 19:00:00.000000000 -0500 +++ lirc-0.7.0pre7-streamzap-0.07/autogen.sh 2004-08-06 13:40:27.000000000 -0400 -@@ -0,0 +1,151 @@ +@@ -0,0 +1,150 @@ +#!/bin/sh +# Run this to generate all the initial makefiles, etc. +# stolen from GtkEditor who stole it from GNOME. @@ -46,8 +46,8 @@ +(grep "^AM_PROG_LIBTOOL" $srcdir/configure.in >/dev/null) && { + { (libtool --version) < /dev/null > /dev/null 2>&1 && LIBTOOLIZE=libtoolize; +} || -+ { (glibtool --version) < /dev/null > /dev/null 2>&1 && LIBTOOLIZE=glibtoolize -+; } || ++ { (glibtool --version) < /dev/null > /dev/null 2>&1 && LIBTOOLIZE=glibtoolize; ++} || + { + echo + echo "**Error**: You must have \`libtool' installed to compile lirc." @@ -168,8 +168,7 @@ +# TW: we don't want autogen running configure for us -- there's far too +# many options which need setting + -+# conf_flags="--enable-maintainer-mode --enable-compile-warnings" #--enable-iso -+-c ++# conf_flags="--enable-maintainer-mode --enable-compile-warnings" #--enable-iso -c +# +#if test x$NOCONFIGURE = x; then +# echo Running $srcdir/configure $conf_flags "$@" ... Also automake version 1.5 and up is needed by autogen.sh emerge --info Portage 2.0.50-r9 (default-x86-2004.2, gcc-3.3.3, glibc-2.3.3.20040420-r0, 2.6.8-gentoo-r3) ================================================================= System uname: 2.6.8-gentoo-r3 i686 Mobile Pentium II Gentoo Base System version 1.4.16 Autoconf: sys-devel/autoconf-2.59-r3 Automake: sys-devel/automake-1.8.5-r1 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-O2 -march=pentium2 -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" COMPILER="" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3/share/config /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O2 -march=pentium2 -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache sandbox" GENTOO_MIRRORS="http://gentoo.oregonstate.edu http://distro.ibiblio.org/pub/Linux/distributions/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X alsa apm arts avi berkdb bitmap-fonts crypt cups dvd encode esd foomaticdb gdbm gif gpm gtk2 imlib java jpeg kde libg++ libwww mad mikmod motif mpeg mysql ncurses nls oggvorbis opengl oss pam pdflib perl png python qt quicktime readline sdl slang spell ssl streamzap svga tcpd truetype x86 xml2 xmms xprint xv zlib"
Henrik: Don't inline, attach patches etc. please.
Created attachment 47045 [details, diff] Changes needed for the ebuild file.
Created attachment 47046 [details, diff] Changes needed to the streamzap patch. It is two lines in the autogen.sh file.
How the hell anything can be built with such a patch ? The main poblem with streamzap I see right now is this: -- /var/tmp/portage/lirc-0.7.0-r1/work/lirc-0.7.0/drivers/lirc_dev/lirc_dev.c -- ... static struct irctl *irctls[MAX_IRCTL_DEVICES]; ... static inline void init_irctl(struct irctl *ir) { memset(&ir->p, 0, sizeof(struct lirc_plugin)); ... } else if (irctls[minor].p.minor != NOPLUG) { ... -- cut -- That's is: 1. It's not valid C. 2. If you'll just fix syntax errors it'll happily crash system on insmod (memset over non-initialized pointer!). Not a way to go IMO. Someone should take the patch and carefully revork it.
The patch associated with this ebuild appears to be the patch maintained for Streamzap remotes at Sourceforge (http://sourceforge.net/projects/szremote/) this patch is incompatibel with kernel 2.6 as far as I know. There is a patch for kernel 2.6 is located at http://www.grangenet.net/develop/software/. This patch does not include the generation of autogen.sh though, so just applying the patch does not allow configuration or complilation of the LIRC package. I was able to config and compile LIRC by hand, by using the 2.6 patch and the autogen.sh created by the 2.4 patch. Someone with better skills than I can probably make this work automagically through the ebuild...
BTW: Original bugzilla entry for this patch (the 2.4 version anyways) appears to be 60110. Additional related bugs: 64557, 68613.
I got streamzap working manually once as well with kernel 2.6. However, it wasn't worth the effort. The 2.6 patch resulted in a somewhat working but unstable module. In particular, pointing a non-streamzap remote results in the driver borking and taking the kernel down with it. Since I don't think someone with a TV remote in their pocket should be able to crash my machine, I decided the module wasn't worth it. This driver is likely WAY too instable to be included in portage.
yeah,streamzap is not yet kernel-2.6 ready, i'll add a test for it