summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlin Năstac <mrness@gentoo.org>2006-09-09 15:27:37 +0000
committerAlin Năstac <mrness@gentoo.org>2006-09-09 15:27:37 +0000
commit120872f36852c1b151fdf9d54fd25b734d746976 (patch)
treed0580263f0038c0b07ec521b8f193fe7c7601d7b /net-dialup
parentStable on amd64 wrt Bug #145885. (diff)
downloadgentoo-2-120872f36852c1b151fdf9d54fd25b734d746976.tar.gz
gentoo-2-120872f36852c1b151fdf9d54fd25b734d746976.tar.bz2
gentoo-2-120872f36852c1b151fdf9d54fd25b734d746976.zip
Fix compilation errors when build against kernels >= 2.6.18 (#140723). Correct udev rules (#144841).
(Portage version: 2.1-r2)
Diffstat (limited to 'net-dialup')
-rw-r--r--net-dialup/slmodem/ChangeLog10
-rw-r--r--net-dialup/slmodem/files/digest-slmodem-2.9.11_pre20051101-r16
-rw-r--r--net-dialup/slmodem/files/slmodem-2.9.11-devfs.patch36
-rw-r--r--net-dialup/slmodem/files/slmodem-2.9.11-makefile.patch33
-rw-r--r--net-dialup/slmodem/slmodem-2.9.11_pre20051101-r1.ebuild153
5 files changed, 237 insertions, 1 deletions
diff --git a/net-dialup/slmodem/ChangeLog b/net-dialup/slmodem/ChangeLog
index 124901b84e14..f0ff25dd6439 100644
--- a/net-dialup/slmodem/ChangeLog
+++ b/net-dialup/slmodem/ChangeLog
@@ -1,6 +1,14 @@
# ChangeLog for net-dialup/slmodem
# Copyright 2000-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-dialup/slmodem/ChangeLog,v 1.67 2006/08/22 12:13:54 genstef Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-dialup/slmodem/ChangeLog,v 1.68 2006/09/09 15:27:36 mrness Exp $
+
+*slmodem-2.9.11_pre20051101-r1 (09 Sep 2006)
+
+ 09 Sep 2006; Alin Nastac <mrness@gentoo.org>
+ +files/slmodem-2.9.11-devfs.patch, +files/slmodem-2.9.11-makefile.patch,
+ +slmodem-2.9.11_pre20051101-r1.ebuild:
+ Fix compilation errors when build against kernels >= 2.6.18 (#140723).
+ Correct udev rules (#144841).
22 Aug 2006; Stefan Schweizer <genstef@gentoo.org>
+files/slmodem-2.9.11-modem-cc-makefile.patch,
diff --git a/net-dialup/slmodem/files/digest-slmodem-2.9.11_pre20051101-r1 b/net-dialup/slmodem/files/digest-slmodem-2.9.11_pre20051101-r1
new file mode 100644
index 000000000000..047a97ea184a
--- /dev/null
+++ b/net-dialup/slmodem/files/digest-slmodem-2.9.11_pre20051101-r1
@@ -0,0 +1,6 @@
+MD5 56bb1ddf621b2fe26caf746aed0ac26f slmodem-2.9.11-20051101.tar.gz 833644
+RMD160 044dd97f763c68ff5c5609cb925146c5302bfb61 slmodem-2.9.11-20051101.tar.gz 833644
+SHA256 d5c456b1bab05a1606f7deaf4d5f1b9151d23377e7eb421b81082f9285de5172 slmodem-2.9.11-20051101.tar.gz 833644
+MD5 a23326976632fe7774e110cbc0636f70 ungrab-winmodem.tar.gz 1872
+RMD160 c7058f884ddf6345ddcd15c984364f4741464fbf ungrab-winmodem.tar.gz 1872
+SHA256 b9d966fa13b05876c2921f4bd030dfb151e6810958202010fab661d1689e4e11 ungrab-winmodem.tar.gz 1872
diff --git a/net-dialup/slmodem/files/slmodem-2.9.11-devfs.patch b/net-dialup/slmodem/files/slmodem-2.9.11-devfs.patch
new file mode 100644
index 000000000000..226fc3f00618
--- /dev/null
+++ b/net-dialup/slmodem/files/slmodem-2.9.11-devfs.patch
@@ -0,0 +1,36 @@
+diff -Nru slmodem-2.9.11-20051101.orig/drivers/amrmo_init.c slmodem-2.9.11-20051101/drivers/amrmo_init.c
+--- slmodem-2.9.11-20051101.orig/drivers/amrmo_init.c 2005-10-10 00:14:13.000000000 +0300
++++ slmodem-2.9.11-20051101/drivers/amrmo_init.c 2006-09-09 18:13:47.219081000 +0300
+@@ -53,7 +53,13 @@
+ #include <linux/poll.h>
+ #include <linux/fs.h>
+ #include <asm/uaccess.h>
+-#include <linux/devfs_fs_kernel.h>
++
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,18)
++# include <linux/devfs_fs_kernel.h>
++#else
++# define devfs_mk_cdev(dev, mode, fmt, i)
++# define devfs_remove(fmt, i)
++#endif
+
+ #if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0)
+ #define OLD_KERNEL 1
+diff -Nru slmodem-2.9.11-20051101.orig/drivers/st7554.c slmodem-2.9.11-20051101/drivers/st7554.c
+--- slmodem-2.9.11-20051101.orig/drivers/st7554.c 2005-11-01 17:31:45.000000000 +0200
++++ slmodem-2.9.11-20051101/drivers/st7554.c 2006-09-09 18:14:36.910186500 +0300
+@@ -55,7 +55,13 @@
+ #include <linux/poll.h>
+ #include <linux/usb.h>
+ #include <linux/device.h>
+-#include <linux/devfs_fs_kernel.h>
++
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,18)
++# include <linux/devfs_fs_kernel.h>
++#else
++# define devfs_mk_cdev(dev, mode, fmt, i)
++# define devfs_remove(fmt, i)
++#endif
+
+ #include <modem_defs.h>
+
diff --git a/net-dialup/slmodem/files/slmodem-2.9.11-makefile.patch b/net-dialup/slmodem/files/slmodem-2.9.11-makefile.patch
new file mode 100644
index 000000000000..7bc568ddaf8b
--- /dev/null
+++ b/net-dialup/slmodem/files/slmodem-2.9.11-makefile.patch
@@ -0,0 +1,33 @@
+diff -Nru slmodem-2.9.11-20051101.orig/modem/Makefile slmodem-2.9.11-20051101/modem/Makefile
+--- slmodem-2.9.11-20051101.orig/modem/Makefile 2005-11-01 17:33:34.000000000 +0200
++++ slmodem-2.9.11-20051101/modem/Makefile 2006-09-09 18:04:39.680862000 +0300
+@@ -13,10 +13,10 @@
+ #
+ ###########################################################################
+
+-CC:= gcc
++CC?= gcc
+ RM:= rm -f
+
+-CFLAGS+= -Wall -g -O -I. -DCONFIG_DEBUG_MODEM
++CFLAGS+= -Wall -finline -I. -DCONFIG_DEBUG_MODEM
+
+
+ modem-objs:= \
+@@ -33,13 +33,13 @@
+
+ #SUPPORT_ALSA:=1
+ ifdef SUPPORT_ALSA
+-slmodemd: -lasound
++
+ CFLAGS+= -DSUPPORT_ALSA=1
+-LFLAGS+= -lasound
++LDLIBS+= -lasound
+ endif
+
+ slmodemd modem_test:
+- $(CC) $(LFLAGS) -o $@ $^
++ $(CC) $(LDFLAGS) -o $@ $^ $(LDLIBS)
+
+ clean:
+ $(RM) slmodemd modem_test modem_main.o modem_cmdline.o modem_test.o $(modem-objs) $(dp-objs) $(sysdep-objs)
diff --git a/net-dialup/slmodem/slmodem-2.9.11_pre20051101-r1.ebuild b/net-dialup/slmodem/slmodem-2.9.11_pre20051101-r1.ebuild
new file mode 100644
index 000000000000..211d9fdf65b8
--- /dev/null
+++ b/net-dialup/slmodem/slmodem-2.9.11_pre20051101-r1.ebuild
@@ -0,0 +1,153 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-dialup/slmodem/slmodem-2.9.11_pre20051101-r1.ebuild,v 1.1 2006/09/09 15:27:37 mrness Exp $
+
+inherit eutils linux-mod multilib
+
+DESCRIPTION="Driver for Smart Link modem"
+HOMEPAGE="http://linmodems.technion.ac.il/packages/smartlink/"
+SRC_URI="http://linmodems.technion.ac.il/packages/smartlink/${P/_pre/-}.tar.gz
+ http://linmodems.technion.ac.il/packages/smartlink/ungrab-winmodem.tar.gz"
+
+LICENSE="Smart-Link"
+SLOT="0"
+KEYWORDS="-* ~amd64 ~x86"
+IUSE="alsa usb"
+
+DEPEND="alsa? ( media-libs/alsa-lib )
+ amd64? ( app-emulation/emul-linux-x86-soundlibs )"
+
+S=${WORKDIR}/${P/_pre/-}
+
+pkg_setup() {
+ use amd64 && multilib_toolchain_setup x86
+
+ MODULE_NAMES="ungrab-winmodem(:${WORKDIR}/ungrab-winmodem)"
+ if ! use amd64; then
+ MODULE_NAMES="${MODULE_NAMES} slamr(net:${S}/drivers)"
+ if use usb; then
+ MODULE_NAMES="${MODULE_NAMES} slusb(net:${S}/drivers)"
+ CONFIG_CHECK="USB"
+ fi
+ fi
+ BUILD_TARGETS="all"
+ linux-mod_pkg_setup
+ BUILD_PARAMS="KERNEL_DIR=${KV_DIR}"
+}
+
+src_unpack() {
+ unpack ${A}
+ sed -i "s:SUBDIRS=\$(shell pwd):SUBDIRS=${WORKDIR}/ungrab-winmodem:" \
+ "${WORKDIR}/ungrab-winmodem/Makefile"
+ convert_to_m "${WORKDIR}/ungrab-winmodem/Makefile"
+
+ cd "${S}"
+ epatch "${FILESDIR}/${P%%_*}-makefile.patch"
+ epatch "${FILESDIR}/${P%%_*}-devfs.patch"
+ cd drivers
+ sed -i "s:SUBDIRS=\$(shell pwd):SUBDIRS=${S}/drivers:" Makefile
+ convert_to_m Makefile
+ sed -i "s:.*=[ \t]*THIS_MODULE.*::" st7554.c amrmo_init.c old_st7554.c
+ sed -i 's:MODULE_PARM(\([^,]*\),"i");:module_param(\1, int, 0);:' st7554.c \
+ amrmo_init.c old_st7554.c
+}
+
+src_compile() {
+ local MAKE_PARAMS=""
+ if use alsa || use amd64; then
+ MAKE_PARAMS="SUPPORT_ALSA=1"
+ fi
+ emake ${MAKE_PARAMS} modem || die "failed to build modem"
+
+ use amd64 && multilib_toolchain_setup amd64
+ linux-mod_src_compile
+}
+
+src_install() {
+ linux-mod_src_install
+
+ cd "${S}"
+ newsbin modem/modem_test slmodem_test
+ dosbin modem/slmodemd
+ dodir /var/lib/slmodem
+ fowners root:dialout /var/lib/slmodem
+ keepdir /var/lib/slmodem
+
+ newconfd "${FILESDIR}/${PN}-2.9.conf" ${PN}
+ newinitd "${FILESDIR}/${PN}-2.9.11.init" ${PN}
+
+ # configure for alsa - or not for alsa
+ if use alsa; then
+ sed -i -e "s/# MODULE=alsa/MODULE=alsa/" \
+ -e "s/# HW_SLOT=modem:1/HW_SLOT=modem:1/" "${D}/etc/conf.d/slmodem"
+ else
+ sed -i "s/# MODULE=slamr/MODULE=slamr/" "${D}/etc/conf.d/slmodem"
+ fi
+
+
+ # Add module aliases and install hotplug script
+ insinto /etc/modules.d/; newins "${FILESDIR}/${PN}-2.9.11.modules" ${PN}
+ if use usb; then
+ exeinto /etc/hotplug/usb; newexe "${FILESDIR}/slusb.hotplug" slusb
+ fi
+
+ dodir /etc/hotplug/blacklist.d
+ echo -e "slusb\nslamr\nsnd-intel8x0m" >> "${D}/etc/hotplug/blacklist.d/${PN}"
+
+ # Add configuration for devfs, udev
+ if [ -e "${ROOT}/dev/.devfsd" ] ; then
+ insinto /etc/devfs.d/; newins "${FILESDIR}/${PN}-2.9.devfs" ${PN}
+ elif [ -e "${ROOT}/dev/.udev" ] ; then
+ dodir /etc/udev/rules.d/
+ echo 'KERNEL=="slamr", NAME="slamr0" GROUP="dialout"' > \
+ "${D}/etc/udev/rules.d/55-${PN}.rules"
+ if use usb; then
+ echo 'KERNEL=="slusb", NAME="slusb0" GROUP="dialout"' >> \
+ "${D}/etc/udev/rules.d/55-${PN}.rules"
+ fi
+ fi
+
+ dodoc Changes README "${WORKDIR}/ungrab-winmodem/Readme.txt"
+}
+
+pkg_postinst() {
+ linux-mod_pkg_postinst
+
+ # Make some devices if we aren't using devfs or udev
+ if [ -e "${ROOT}/dev/.devfsd" ]; then
+ ebegin "Restarting devfsd to reread devfs rules"
+ killall -HUP devfsd
+ eend $?
+
+ elif [ -e "${ROOT}/dev/.udev" ]; then
+ ebegin "Restarting udev to reread udev rules"
+ udevstart
+ eend $?
+ else
+ cd "${S}/drivers"
+ make DESTDIR="${ROOT}" install-devices
+ fi
+
+ if [ ! -e "${ROOT}/dev/ppp" ]; then
+ mknod "${ROOT}/dev/ppp" c 108 0
+ fi
+
+ ewarn "To avoid problems, slusb/slamr have been added to /etc/hotplug/blacklist"
+ einfo "You must edit /etc/conf.d/${PN} for your configuration"
+ einfo "To add slmodem to your startup - type : rc-update add slmodem default"
+
+ if use alsa; then
+ einfo "I hope you have already added alsa to your startup: "
+ einfo "otherwise type: rc-update add alsasound boot"
+ einfo
+ einfo "If you need to use snd-intel8x0m from the kernel"
+ einfo "compile it as a module and edit /etc/modules.d/alsa"
+ einfo 'to: "alias snd-card-(number) snd-intel8x0m"'
+ fi
+
+ einfo "You need to be in the uucp AND dialout group to make calls as a user."
+ einfo
+ einfo "If you see the following in dmesg:"
+ echo slamr: device 10b9:5457 is grabbed by driver serial
+ einfo "you need to modprobe ungrab-winmodem before slamr"
+}