diff options
-rw-r--r-- | .SRCINFO | 20 | ||||
-rw-r--r-- | PKGBUILD | 55 | ||||
-rw-r--r-- | dvb-usb-af9035-linux32.patch | 69 | ||||
-rw-r--r-- | dvb-usb-af9035.install | 16 |
4 files changed, 160 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..064df8e00fee --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,20 @@ +pkgbase = dvb-usb-af9035 + pkgdesc = TerraTec Cinergy T Stick USB DVB-T kernel module + pkgver = 1 + pkgrel = 4 + url = http://linuxtv.org/wiki/index.php/TerraTec_Cinergy_T_Stick + install = dvb-usb-af9035.install + arch = i686 + arch = x86_64 + license = GPL + makedepends = linux-headers>=3.2 + makedepends = linux-headers<3.3 + depends = linux>=3.2 + depends = linux<3.3 + source = http://mennucc1.debian.net/terratec_af9035-a_m.tar.gz + source = dvb-usb-af9035-linux32.patch + md5sums = 472caeed389c4dc57f3f545dc9e47967 + md5sums = f48b1838a9cd57878f1196f8eed0a76b + +pkgname = dvb-usb-af9035 + diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..5d4e35f9a2de --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,55 @@ +# Maintainer: Alessandro Pazzaglia <jackdroido at gmail dot com> + +pkgname=dvb-usb-af9035 +pkgver=1 +pkgrel=4 +pkgdesc="TerraTec Cinergy T Stick USB DVB-T kernel module" +arch=('i686' 'x86_64') +url="http://linuxtv.org/wiki/index.php/TerraTec_Cinergy_T_Stick" +license=('GPL') +makedepends=('linux-headers>=3.2' 'linux-headers<3.3') +depends=('linux>=3.2' 'linux<3.3') +source=( + "http://mennucc1.debian.net/terratec_af9035-a_m.tar.gz" + "${pkgname}-linux32.patch" +) +md5sums=( + '472caeed389c4dc57f3f545dc9e47967' + 'f48b1838a9cd57878f1196f8eed0a76b' +) +install="${pkgname}.install" + +_xtardir='terratec_af9035-a_m' +_extramodules='extramodules-3.2-ARCH' +_kernver="$(cat /lib/modules/${_extramodules}/version)" + +build() { + cd "${srcdir}/${_xtardir}" + + msg "Patching Makefile for kernel ${_kernver} ..." + + sed -i "s,\(^KDIR =\).*,\1 /lib/modules/${_kernver}/build," "Makefile" + sed -i "s,\(^KSRC =\).*,\1 /lib/modules/${_kernver}/build," "Makefile" + sed -i "s,\(^KINSTALL =\).*,\1 ${pkgdir}/lib/modules/${_extramodules}," "Makefile" + sed -i "/^install/ a\\\tinstall -D -m 644 dvb-usb-af9035-01.fw ${pkgdir}/lib/firmware/dvb-usb-af9035-01.fw" "Makefile" + sed -i '/^install/ a\\tinstall -d $(KINSTALL)' "Makefile" + sed -i '/depmod/ d' "Makefile" + + msg "Patching frontend ..." + + patch -Np1 -i "${srcdir}/${pkgname}-linux32.patch" + + msg "Starting make ..." + + make +} + +package() { + cd "${srcdir}/${_xtardir}" + + make install + + gzip "${pkgdir}/lib/modules/${_extramodules}"/*.ko + + sed -i "s/EXTRAMODULES='.*'/EXTRAMODULES='${_extramodules}'/" "${startdir}/${install}" +} diff --git a/dvb-usb-af9035-linux32.patch b/dvb-usb-af9035-linux32.patch new file mode 100644 index 000000000000..c680325a2f34 --- /dev/null +++ b/dvb-usb-af9035-linux32.patch @@ -0,0 +1,69 @@ +--- terratec_af9035-a_m/af9035.c 2009-09-26 20:56:12.000000000 +0200 ++++ terratec_af9035-a_m-patched/af9035.c 2012-01-30 21:16:24.000000000 +0100 +@@ -550,13 +550,13 @@ + for (i = 0; i < af9035_properties_count; i++) { + /* USB1.1 set smaller buffersize and disable 2nd adapter */ + if (udev->speed == USB_SPEED_FULL) { +- af9035_properties[i].adapter[0].stream.u.bulk.buffersize ++ af9035_properties[i].adapter[0].fe[0].stream.u.bulk.buffersize + = TS_USB11_MAX_PACKET_SIZE; + /* disable 2nd adapter because we don't have + PID-filters */ + af9035_config.dual_mode = 0; + } else { +- af9035_properties[i].adapter[0].stream.u.bulk.buffersize ++ af9035_properties[i].adapter[0].fe[0].stream.u.bulk.buffersize + = TS_USB20_MAX_PACKET_SIZE; + } + } +@@ -711,10 +711,10 @@ + } + + /* attach demodulator */ +- adap->fe = dvb_attach(af9033_attach, &af9035_af9033_config[adap->id], ++ adap->fe_adap[0].fe = dvb_attach(af9033_attach, &af9035_af9033_config[adap->id], + &adap->dev->i2c_adap); + +- return adap->fe == NULL ? -ENODEV : 0; ++ return adap->fe_adap[0].fe == NULL ? -ENODEV : 0; + + error: + return ret; +@@ -757,7 +757,7 @@ + ret = af9035_write_reg_bits(adap->dev, LINK, p_reg_top_gpiot2_o, + reg_top_gpiot2_o_pos, reg_top_gpiot2_o_len, 1); + +- ret = dvb_attach(tua9001_attach, adap->fe, &adap->dev->i2c_adap, ++ ret = dvb_attach(tua9001_attach, adap->fe_adap[0].fe, &adap->dev->i2c_adap, + &af9035_tua9001_config) == NULL ? -ENODEV : 0; + break; + default: +@@ -795,6 +795,8 @@ + + .adapter = { + { ++ .num_frontends = 1, ++ .fe = {{ + .frontend_attach = + af9035_af9033_frontend_attach, + .tuner_attach = af9035_tuner_attach, +@@ -803,8 +805,11 @@ + .count = 6, + .endpoint = 0x84, + }, ++ }}, + }, + { ++ .num_frontends = 1, ++ .fe = {{ + .frontend_attach = + af9035_af9033_frontend_attach, + .tuner_attach = af9035_tuner_attach, +@@ -819,6 +824,7 @@ + } + } + }, ++ }}, + } + }, + diff --git a/dvb-usb-af9035.install b/dvb-usb-af9035.install new file mode 100644 index 000000000000..fe12b7689aeb --- /dev/null +++ b/dvb-usb-af9035.install @@ -0,0 +1,16 @@ +rebuild_module_dependencies() { + EXTRAMODULES='extramodules-3.2-ARCH' + depmod $(cat /lib/modules/$EXTRAMODULES/version) +} + +post_install() { + rebuild_module_dependencies +} + +post_upgrade() { + rebuild_module_dependencies +} + +post_remove() { + rebuild_module_dependencies +} |