# Copyright 1999-2004 Gentoo Technologies, Inc. # Distributed under the terms of the GNU General Public License v2 # $Header: /home/cvsroot/gentoo-x86/net-wireless/linux-wlan-ng/linux-wlan-ng-0.2.1_pre17-r1.ebuild,v 1.1 2004/02/08 00:22:34 latexer Exp $ inherit kernel-mod pcmcia IUSE="${IUSE} usb build" MY_P=${PN}-${PV/_/-} S=${WORKDIR}/${MY_P} DESCRIPTION="The linux-wlan Project" SRC_URI="${SRC_URI} ftp://ftp.linux-wlan.org/pub/linux-wlan-ng/${MY_P}.tar.gz http://dev.gentoo.org/~latexer/files/patches/${PN}-koutput.diff.gz mirror://gentoo/${PN}-gentoo-init.gz" HOMEPAGE="http://linux-wlan.org" DEPEND="sys-kernel/linux-headers dev-libs/openssl >=sys-apps/sed-4.0*" SLOT="0" LICENSE="MPL-1.1" KEYWORDS="~x86" KERNEL_MOD_SOURCES="${MY_P}.tar.gz ${PN}-gentoo-init.gz" KERNEL_MOD_KOUTPUT_PATCH="${DISTDIR}/${PN}-koutput.diff.gz" src_unpack() { # Unpack things and setup our environment kernel-mod_src_unpack # Use pcmcia.eclass to setup pcmcia-cs sources as needed pcmcia_src_unpack cp ${WORKDIR}/${PN}-gentoo-init ${S}/etc/rc.wlan # Lots of sedding to do to get the man pages and a few other # things to end up in the right place. cd ${S} sed -i -e "s:mkdir:#mkdir:" \ -e "s:cp nwepgen.man:#cp nwepgen.man:" \ -e "s:\t\$(TARGET_:\t#\$(TARGET_:" \ man/Makefile sed -i -e "s:/etc/wlan:/etc/conf.d:g" \ etc/wlan/Makefile sed -i -e "s:/sbin/nwepgen:/sbin/keygen:" \ etc/wlan/wlancfg-DEFAULT sed -i -e "s:/etc/wlan/wlan.conf:/etc/conf.d/wlan.conf:g" \ -e "s:/etc/wlan/wlancfg:/etc/conf.d/wlancfg:g" \ etc/wlan/shared } src_compile() { unset ARCH # Configure the pcmcia-cs tree if it exists pcmcia_configure # now lets build wlan-ng cd ${S} sed -i -e 's:TARGET_ROOT_ON_HOST=:TARGET_ROOT_ON_HOST=${D}:' \ -e 's:PRISM2_PCI=n:PRISM2_PCI=y:' \ config.in # Handle 2.6 modules either with koutput or the temporary build directory if [ "${KV_MINOR}" -gt 4 ] then if [ "${KV_OUTPUT}" = "/usr/src/linux" ]; then sed -i -e "s:^LINUX_SRC=.*:LINUX_SRC=${KV_BUILD}:" config.in else sed -i -e "s:^LINUX_OUTPUT=.*:LINUX_OUTPUT=${KV_OUTPUT}:" config.in fi fi if [ -n "`use pcmcia`" ]; then if [ -n "${PCMCIA_SOURCE_DIR}" ]; then export PCMCIA_SOURCE_DIR=${PCMCIA_SOURCE_DIR} sed -i -e 's:PCMCIA_SRC=:PCMCIA_SRC=${PCMCIA_SOURCE_DIR}:' \ config.in fi sed -i -e 's:PRISM2_PLX=n:PRISM2_PLX=y:' \ config.in else sed -i -e 's:PRISM2_PCMCIA=y:PRISM2_PCMCIA=n:' \ config.in fi if [ -n "`use usb`" ]; then sed -i -e 's:PRISM2_USB=n:PRISM2_USB=y:' \ config.in fi cp config.in default.config emake default_config || die "failed configuring WLAN" # 2.6 needs ARCH unset since it uses it unset ARCH emake all || die "failed compiling" # compile add-on keygen program. It seems to actually provide usable keys. cd ${S}/add-ons/keygen emake || die "Failed to compile add-on keygen program" cd ${S}/add-ons/lwepgen emake || die "Failed to compile add-on lwepgen program" } src_install () { make install || die "failed installing" dodir etc/wlan mv ${D}/etc/conf.d/shared ${D}/etc/wlan/ if [ -z "`use build`" ]; then dodir /usr/share/man/man1 newman ${S}/man/nwepgen.man nwepgen.1 newman ${S}/man/wlancfg.man wlancfg.1 newman ${S}/man/wlanctl-ng.man wlanctl-ng.1 newman ${S}/man/wland.man wland.1 dodoc CHANGES COPYING LICENSE FAQ README THANKS TODO \ doc/config* doc/capturefrm.txt fi exeinto /sbin doexe add-ons/keygen/keygen doexe add-ons/lwepgen/lwepgen } pkg_postinst() { depmod -a einfo "/etc/init.d/wlan is used to control startup and shutdown of non-PCMCIA devices." einfo "/etc/init.d/pcmcia from pcmcia-cs is used to control startup and shutdown of" einfo "PCMCIA devices." einfo "" einfo "Modify /etc/conf.d/wlan.conf to set global parameters." einfo "Modify /etc/conf.d/wlancfg-* to set individual card parameters." einfo "There are detailed instructions in these config files." einfo "" einfo "Three keygen programs are included: nwepgen, keygen, and lwepgen." einfo "keygen seems provide more usable keys at the moment." einfo "" einfo "Be sure to add iface_wlan0 parameters to /etc/conf.d/net." einfo "" ewarn "Wireless cards which you want to use drivers other than wlan-ng for" ewarn "need to have the appropriate line removed from /etc/pcmcia/wlan-ng.conf" ewarn "Do 'cardctl info' to see the manufacturer ID and remove the corresponding" ewarn "line from that file." }