so, nach mehr als 1 Jahr bin ich zurück aus der Versenkung und kann Erfolge berichten:
1. Gentoo, wegen unkomplizierterer Buildumgebung auf dem NSLU2 installiert (mit "schlankem" Portage) --> wer möchte, dem kann ich gerne ein Image zur Verfügung stellen... hat ewig gedauert und da ich nur an Wochenenden Zeit dazu habe, ...
2. pthsem aus dem GIT-master-Branch auf dem NSLU2 kompiliert. Dabei gab es einige Steine aus dem Weg zu räumen:
2.a Analog zu dem Fix in pth die Compilerflags auf dem ARM - also {C,CXX,F,FC}FLAGS - um "-U_FORTIFY_SOURCE" erweitert, sonst steigen Programme, die pthsem nutzen, mit "longjmp causes uninitialized stack frame" aus (siehe Bug 350815 – dev-libs/pth with fortify source breaks gnupg (longjmp causes uninitialized stack frame) on arm/sh). Eine weitere Diskussion zu dem Thema bzw. Details gibt es auch unter https://bugs.launchpad.net/ubuntu/+s...g2/+bug/599862.
2.b entsprechendes ebuild geschrieben/korrigiert (dev-libs/pthsem-9999.ebuild):
Code:
EAPI=2
inherit autotools git eutils flag-o-matic
EGIT_REPO_URI="http://www.auto.tuwien.ac.at/~mkoegler/git/pthsem.git"
DESCRIPTION="extended version of GNU pth (user mode multi threading library)"
HOMEPAGE="http://www.auto.tuwien.ac.at/~mkoegler/index.php/pth"
LICENSE="LGPL"
SLOT="0"
KEYWORDS=""
IUSE=""
DEPEND=""
RDEPEND=""
src_configure() {
cd "${S}"
( use arm || use sh ) && append-flags -U_FORTIFY_SOURCE
eautoreconf
econf || die "econf failed"
}
src_compile() {
cd "${S}"
emake || die "make failed"
}
src_install() {
emake DESTDIR="${D}" install || die "install failed"
dodoc ANNOUNCE AUTHORS ChangeLog NEWS README THANKS USERS
}
Anm.: für den NSLU2 muss das USE-Flag "arm" gesetzt sein
3. eibd aus dem GIT-bcusdk-master-Branch auf dem NSLU2 kompiliert. Dazu habe ich auch einige Steine aus dem Weg räumen müssen:
3.a Der pthsem-Test funktioniert auch auf meinem Gentoo-NSLU2 nicht. Ich verstehe das zwar nicht, aber man kann ihn ruhigen Gewissens abdrehen mit "./configure --without-pth-test ..."
3.b entsprechendes ebuild geschrieben/korrigiert (sys-apps/eibd-9999.ebuild):
Code:
# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
inherit eutils autotools git
DESCRIPTION="Provides an interface to the EIB / KNX bus (latest git)"
HOMEPAGE="http://www.auto.tuwien.ac.at/~mkoegler/index.php/eibd"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS=""
IUSE="eibd ft12 pei16 tpuart pei16s tpuarts eibnetip eibnetiptunnel eibnetipserver
usb groupcache php python java tools"
DEPEND="dev-libs/pthsem"
EGIT_REPO_URI="http://www.auto.tuwien.ac.at/~mkoegler/git/bcusdk.git/"
EGIT_PROJECT="bcusdk"
src_compile() {
eautoreconf || die "eautotooling failed"
econf \
--enable-onlyeibd \
--without-pth-test \
$(use_enable ft12) \
$(use_enable pei16) \
$(use_enable tpuart) \
$(use_enable pei16s) \
$(use_enable tpuarts) \
$(use_enable eibnetip) \
$(use_enable eibnetiptunnel) \
$(use_enable eibnetipserver) \
$(use_enable usb) \
$(use_enable java) \
$(use_enable groupcache) || die "econf failed"
}
src_install() {
emake DESTDIR="${D}" install || die "install bcusdk failed"
if use python; then
einfo "Installing python module"
cd ${D}/contrib/swig
emake || die "could not compile python module"
emake install
fi
einfo "Installing init-script and config"
cd ${S}/contrib/gentoo/etc/
exeinto /etc/init.d/
doexe init.d/eibd
insinto /etc/conf.d/
doins conf.d/eibd
}
3.d eibd installiert/kompiliert mit "FEATURES="-sandbox" emerge eibd"
Anm.: bei mir sind folgende USE-Flags gesetzt: eibd eibnetip eibnetiptunnel eibnetipserver usb groupcache python java tools
3.e noch schnell die /etc/conf.d/eibd angepasst: EIBD_OPTS="-d -R -D -S -T -i usb:"
3.f eibd gestartet: /etc/init.d/eibd start
3.g eibd auch beim nächsten Systemstart starten: rc-update add eibd default
4. probiert, ob eibd auch auf den Bus kommt: /usr/bin/groupswrite ip:localhost x/y/z 1, wobei x/y/z die Gruppenadresse einer x-beliebigen Lampe ist
5. Andere Programme wie z.B. LinKNX kompiliert/installiert (nicht Thema dieses Threads), ETS3 auf einem anderen PC, der im selben Netzt hängt zum Laufen gebracht, etc. ...
Grüße,
Stefan


Einen Kommentar schreiben: