diff options
Diffstat (limited to 'debian')
34 files changed, 672 insertions, 0 deletions
diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 000000000..9bbcdf74a --- /dev/null +++ b/debian/changelog @@ -0,0 +1,77 @@ +gnuradio (3.1.0svn) UNRELEASED; urgency=low + + * fix build failure with gcc-4.3 by adding a #include, closes: #420896 + * update copyright assertion on the debian/ contents, since I have + assigned my copyright to the FSF and now have upstream commit rights + * merge debian/ into upstream SVN repository + * add --disable-gr-qtgui (at least until we figure out qwt build deps!) + * add build dep on python-numpy + * conditionalize configure and clean targets to handle build from SVN + + -- Bdale Garbee <bdale@gag.com> Thu, 26 Jul 2007 18:07:52 -0600 + +gnuradio (3.0.3-1) unstable; urgency=low + + * new upstream version + * tweak gnuradio-doc package to eliminate spurious subdirectory level + * add a usrp-doc binary package, recommended by the usrp package, and + include xmlto in build dependencies so usrp_guide.html gets generated, + closes: #407368 + + -- Bdale Garbee <bdale@gag.com> Sun, 11 Mar 2007 23:55:32 -0600 + +gnuradio (3.0.2-2) unstable; urgency=high + + * add run-time dependency on python-wxgtk2.6. leaving urgency high since + this would be a silly bug to release etch with if we can avoid it. + + -- Bdale Garbee <bdale@gag.com> Mon, 4 Dec 2006 15:35:53 -0700 + +gnuradio (3.0.2-1) unstable; urgency=high + + * new upstream version, fixes FTBFS issues + + -- Bdale Garbee <bdale@gag.com> Sun, 12 Nov 2006 14:52:33 -0800 + +gnuradio (3.0-3) unstable; urgency=high + + * put python-all-dev back in the build-depends list, closes: #398246 + * move gr-wxgui conflicts/depends to python-gnuradio, closes: #396302 + * fix up sections in control to match overrides + + -- Bdale Garbee <bdale@gag.com> Sun, 12 Nov 2006 10:59:58 -0800 + +gnuradio (3.0-2) unstable; urgency=high + + * reworked package dependencies so that the 'gnuradio' binary package no + longer depends on the pieces in contrib. instead, the 'usrp' binary + package in contrib now depends on all the USRP-related pieces. A user + who doesn't have a USRP board can just install 'gnuradio' and get all + the relevant pieces, a USRP user needs to install both 'gnuradio' and + 'usrp'. Closes: #394533 + * improve consistency of references to 'GNU Radio' as upstream project name + * make the gnuradio package dependencies on python-gnuradio and python-usrp + be version specific on suggestion from Ramakrishnan Muthukrishnan + + -- Bdale Garbee <bdale@gag.com> Fri, 10 Nov 2006 00:39:38 -0800 + +gnuradio (3.0-1) unstable; urgency=low + + * new maintainer, new upstream version + * Restructuring source and binary packages to follow upstream changes, more + or less repackaging from scratch taking ideas from the previous packaging + by Ramakrishnan Muthukrishnan and Steinar H. Gunderson. This single + source package replaces all of: + gnuradio-core + gnuradio-examples + gr-audio-alsa + gr-audio-jack + gr-audio-oss + gr-usrp + gr-wxgui + usrp + In addition, the 'gnuradio' binary package is a new meta-package that + conveniently depends on everything gnuradio related to ease installation. + + -- Bdale Garbee <bdale@gag.com> Sun, 8 Oct 2006 13:28:21 -0600 + diff --git a/debian/compat b/debian/compat new file mode 100644 index 000000000..7ed6ff82d --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +5 diff --git a/debian/control b/debian/control new file mode 100644 index 000000000..366c1b1c6 --- /dev/null +++ b/debian/control @@ -0,0 +1,199 @@ +Source: gnuradio +Section: comm +Priority: optional +Maintainer: Bdale Garbee <bdale@gag.com> +Build-Conflicts: automake1.8, automake1.9 +Build-Depends: debhelper (>= 5.0.37.2), autotools-dev, doxygen, fftw3-dev, libasound2-dev, libboost-dev, libcppunit-dev, libjack0.100.0-dev, libsdl1.2-dev, portaudio19-dev, libtool, libusb-dev, pkg-config, python, python-all-dev, python-central (>= 0.5), python-numeric, python-numpy, python-wxgtk2.6, sdcc, swig, xmlto +Build-Depends-Indep: python-all-dev +Standards-Version: 3.7.2 +XS-Python-Version: >= 2.3 + +Package: gnuradio +Architecture: any +Section: comm +Depends: ${shlibs:Depends}, ${misc:Depends}, python, gnuradio-doc, libgnuradio-core0-dev, libgnuradio-core0c2a, libgnuradio-core0c2a-dbg, python-gnuradio (= ${Source-Version}), python-wxgtk2.6, gnuradio-examples +Suggests: usrp +Conflicts: gr-audio-alsa, gr-audio-oss, gr-audio-jack +Replaces: gr-audio-alsa, gr-audio-oss, gr-audio-jack +XB-Python-Version: ${python:Versions} +Description: Software Defined Radio + This is a meta-package that depends on the various components of a complete + installation of the GNU Radio softare defined radio system. + . + If you have a USRP, you probably also want to install the usrp package as + suggested, which lives in contrib because the FPGA bitstrings require + non-free tools to build. + +Package: gnuradio-doc +Section: doc +Architecture: all +Depends: ${shlibs:Depends} +Description: Software Defined Radio + This package contains the documentation for the GNU Radio software + defined radio system. + +Package: libgnuradio-core0-dev +Section: libdevel +Architecture: any +Depends: libgnuradio-core0c2a (= ${Source-Version}) +Description: Software Defined Radio + This library contains Signal Processing routines that implement + the functionality of traditional radio receivers and transmitters. + . + The GNU Radio homepage is http://www.gnu.org/software/gnuradio + . + This package contains header files needed by developers. + +Package: libgnuradio-core0c2a +Section: libs +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends} +Conflicts: libgnuradio-core0, libgnuradio-core0c2 +Replaces: libgnuradio-core0, libgnuradio-core0c2 +Recommends: python-gnuradio +Suggests: gnuradio-doc, gnuradio-examples +Description: Software Defined Radio + This package contains the core GNU Radio libraries. + +Package: libgnuradio-core0c2a-dbg +Section: libdevel +Architecture: any +Depends: libgnuradio-core0c2a (= ${Source-Version}), ${shlibs:Depends} +Description: Software Defined Radio + This package contains the debug symbols needed to debug programs that + use the GNU Radio core libraries. + +Package: usrp +Section: contrib/comm +Architecture: any +Depends: ${shlibs:Depends}, python, libusrp0-dev, libusrp0c2a-dbg, python-usrp (= ${Source-Version}) +Recommends: gnuradio, hotplug, usrp-doc, usrp-firmware +XB-Python-Version: ${python:Versions} +Description: control applications and firmware for the USRP + The Universal Software Radio Peripheral (USRP) is an USB-connected, + low-cost and open board. It features four high-speed analog-to-digital + and digital-to-analog converters, an FPGA and a microcontroller. It's + ideal for capturing or transmitting various signals, usually in + combination with GNU Radio. The design schemas are available under a + free license. Visit ettus.com for more information on the USRP. + . + This package contains a tool for loading firmware and doing other + simple administrative tasks for the USRP (usrper), as well as the + actual firmware binaries for the microcontroller. + . + This package also depends on all of the other USRP-related packages + so that installing this package will pull in all the pieces you might + want or need to successfully use the USRP with GNU Radio. + +Package: usrp-doc +Section: doc +Architecture: all +Depends: ${shlibs:Depends} +Description: Software Defined Radio with USRP + This package contains the documentation for the USRP support that is + part of the GNU Radio software defined radio system. + +Package: usrp-firmware +Section: contrib/comm +Architecture: all +Recommends: usrp +Description: control applications and firmware for the USRP + The Universal Software Radio Peripheral (USRP) is an USB-connected, + low-cost and open board. It features four high-speed analog-to-digital + and digital-to-analog converters, an FPGA and a microcontroller. It's + ideal for capturing or transmitting various signals, usually in + combination with GNU Radio. The design schemas are available under a + free license. + . + This package contains the basic FPGA bitstrings for normal USRP operation, + which need non-free tools to build. + +Package: libusrp0-dev +Provides: libusrp-dev +Conflicts: libusrp-dev +Section: contrib/libdevel +Architecture: any +Depends: libusrp0c2a (= ${Source-Version}), ${shlibs:Depends} +Description: development library files for the USRP + The Universal Software Radio Peripheral (USRP) is an USB-connected, + low-cost and open board. It features four high-speed analog-to-digital + and digital-to-analog converters, an FPGA and a microcontroller. It's + ideal for capturing or transmitting various signals, usually in + combination with GNU Radio. The design schemas are available under a + free license. + . + This package contains development files for the client-side library. + +Package: libusrp0c2a +Section: contrib/libs +Architecture: any +Depends: ${shlibs:Depends} +Recommends: usrp +Conflicts: libusrp0 +Replaces: libusrp0 +Description: client side library for the USRP + The Universal Software Radio Peripheral (USRP) is an USB-connected, + low-cost and open board. It features four high-speed analog-to-digital + and digital-to-analog converters, an FPGA and a microcontroller. It's + ideal for capturing or transmitting various signals, usually in + combination with GNU Radio. The design schemas are available under a + free license. + . + This package contains the client-side library, providing an easy interface + for communicating with the USRP. + +Package: libusrp0c2a-dbg +Priority: extra +Section: contrib/libdevel +Architecture: any +Depends: libusrp0c2a (= ${Source-Version}), ${shlibs:Depends} +Description: client side library debugging symbols for the USRP + The Universal Software Radio Peripheral (USRP) is an USB-connected, + low-cost and open board. It features four high-speed analog-to-digital + and digital-to-analog converters, an FPGA and a microcontroller. It's + ideal for capturing or transmitting various signals, usually in + combination with GNU Radio. The design schemas are available under a + free license. + . + This package contains the debug symbols needed to debug programs that + use the USRP client-side library. + +Package: python-gnuradio +Architecture: any +Depends: ${python:Depends}, libgnuradio-core0c2a, python-numeric +Conflicts: gr-wxgui +Replaces: gr-wxgui +Provides: ${python:Provides} +Section: python +XB-Python-Version: ${python:Versions} +Description: Python bindings for GNU Radio + This provides the module that enable one to use gnuradio from Python + scripts. You will need Python and gnuradio-dev installed to use this. + +Package: python-usrp +Section: contrib/libs +Architecture: any +Depends: ${shlibs:Depends}, ${python:Depends} +Replaces: python2.3-usrp +Conflicts: python2.3-usrp +Provides: ${python:Provides} +XB-Python-Version: ${python:Versions} +Description: Python binding for the USRP client side library + The Universal Software Radio Peripheral (USRP) is an USB-connected, + low-cost and open board. It features four high-speed analog-to-digital + and digital-to-analog converters, an FPGA and a microcontroller. It's + ideal for capturing or transmitting various signals, usually in + combination with GNU Radio. The design schemas are available under a + free license. + . + This package contains the Python bindings for the client-side library. + +Package: gnuradio-examples +Architecture: all +Depends: ${python:Depends}, libgnuradio-core0c2a, python-gnuradio +XB-Python-Version: ${python:Versions} +Description: Example programs to test and use GNU Radio + This package contains Python programs which uses and tests + the GNU Radio libraries. The examples include dialtone generation, + complete FM receiver and many more exciting applications. + diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 000000000..9c9e7125e --- /dev/null +++ b/debian/copyright @@ -0,0 +1,27 @@ +GNU Radio was re-packaged by Bdale Garbee <bdale@gag.com> to reflect +upstream restructuring on Wed, 6 Sep 2006 16:02:03 -0600. Much was +learned and portions were taken from the previous Debian packages built +by Ramakrishnan Muthukrishnan and Steinar H. Gunderson + +GNU Radio was downloaded from http://www.gnu.org/software/gnuradio/ + +Upstream Authors: + Eric Blossom <eb@comsec.com> + Matt Ettus <matt@ettus.com> + Stephane Fillod <f8fce@free.fr> + +See the AUTHORS file for a more complete list of contributors. +The current upstream maintainer is Johnathan Corgan <jcorgan@aeinet.com> + +Copyright: + +GNU Radio is copyrighted by the Free Software Foundation and is licensed +under the GNU General Public License (GPL), a copy of which is available +on a Debian system at: + + /usr/share/common-licenses/GPL + +The Debian packaging was created by Bdale Garbee <bdale@gag.com>, is +(c) Copyright 2006 Hewlett-Packard Development Company, L.P., +and is made available under the terms of the GPL. + diff --git a/debian/gnuradio-doc.install b/debian/gnuradio-doc.install new file mode 100644 index 000000000..08f1e5de5 --- /dev/null +++ b/debian/gnuradio-doc.install @@ -0,0 +1,2 @@ +usr/share/doc/gnuradio*/html usr/share/doc/gnuradio-doc +usr/share/doc/gnuradio*/README /usr/share/doc/gnuradio-doc diff --git a/debian/gnuradio-examples.dirs b/debian/gnuradio-examples.dirs new file mode 100644 index 000000000..208fc242d --- /dev/null +++ b/debian/gnuradio-examples.dirs @@ -0,0 +1,2 @@ +usr/share/doc/gnuradio-examples +usr/share/gnuradio diff --git a/debian/gnuradio.docs b/debian/gnuradio.docs new file mode 100644 index 000000000..6f83607c1 --- /dev/null +++ b/debian/gnuradio.docs @@ -0,0 +1,3 @@ +AUTHORS +NEWS +README diff --git a/debian/gnuradio.install b/debian/gnuradio.install new file mode 100644 index 000000000..3462501c0 --- /dev/null +++ b/debian/gnuradio.install @@ -0,0 +1 @@ +etc/gnuradio/conf.d diff --git a/debian/libgnuradio-core0-dev.dirs b/debian/libgnuradio-core0-dev.dirs new file mode 100644 index 000000000..44188162e --- /dev/null +++ b/debian/libgnuradio-core0-dev.dirs @@ -0,0 +1,2 @@ +usr/lib +usr/include diff --git a/debian/libgnuradio-core0-dev.install b/debian/libgnuradio-core0-dev.install new file mode 100644 index 000000000..0002b2aef --- /dev/null +++ b/debian/libgnuradio-core0-dev.install @@ -0,0 +1,4 @@ +usr/include/gnuradio +usr/lib/libgnuradio-core*.la +usr/lib/libgnuradio-core*.so +usr/lib/pkgconfig/gnuradio-core.pc diff --git a/debian/libgnuradio-core0c2a.dirs b/debian/libgnuradio-core0c2a.dirs new file mode 100644 index 000000000..68457717b --- /dev/null +++ b/debian/libgnuradio-core0c2a.dirs @@ -0,0 +1 @@ +usr/lib diff --git a/debian/libgnuradio-core0c2a.install b/debian/libgnuradio-core0c2a.install new file mode 100644 index 000000000..05eea5943 --- /dev/null +++ b/debian/libgnuradio-core0c2a.install @@ -0,0 +1 @@ +usr/lib/libgnuradio-core*.so.* diff --git a/debian/libusrp0-dev.dirs b/debian/libusrp0-dev.dirs new file mode 100644 index 000000000..44188162e --- /dev/null +++ b/debian/libusrp0-dev.dirs @@ -0,0 +1,2 @@ +usr/lib +usr/include diff --git a/debian/libusrp0-dev.install b/debian/libusrp0-dev.install new file mode 100644 index 000000000..35797f2cc --- /dev/null +++ b/debian/libusrp0-dev.install @@ -0,0 +1,4 @@ +usr/include/usrp* +usr/lib/libusrp*.la +usr/lib/libusrp*.so +usr/lib/pkgconfig/usrp.pc diff --git a/debian/libusrp0c2a.dirs b/debian/libusrp0c2a.dirs new file mode 100644 index 000000000..68457717b --- /dev/null +++ b/debian/libusrp0c2a.dirs @@ -0,0 +1 @@ +usr/lib diff --git a/debian/libusrp0c2a.install b/debian/libusrp0c2a.install new file mode 100644 index 000000000..fa24edac8 --- /dev/null +++ b/debian/libusrp0c2a.install @@ -0,0 +1 @@ +usr/lib/libusrp*.so.* diff --git a/debian/pycompat b/debian/pycompat new file mode 100644 index 000000000..0cfbf0888 --- /dev/null +++ b/debian/pycompat @@ -0,0 +1 @@ +2 diff --git a/debian/python-gnuradio.dirs b/debian/python-gnuradio.dirs new file mode 100644 index 000000000..d751d827a --- /dev/null +++ b/debian/python-gnuradio.dirs @@ -0,0 +1 @@ +usr/lib/python2.4/site-packages/gnuradio diff --git a/debian/python-gnuradio.install b/debian/python-gnuradio.install new file mode 100644 index 000000000..394b6db05 --- /dev/null +++ b/debian/python-gnuradio.install @@ -0,0 +1 @@ +usr/lib/python*/site-packages/gnuradio diff --git a/debian/python-usrp.dirs b/debian/python-usrp.dirs new file mode 100644 index 000000000..a16703392 --- /dev/null +++ b/debian/python-usrp.dirs @@ -0,0 +1 @@ +usr/lib/python*/site-packages diff --git a/debian/python-usrp.install b/debian/python-usrp.install new file mode 100644 index 000000000..e2d79ffc3 --- /dev/null +++ b/debian/python-usrp.install @@ -0,0 +1 @@ +usr/lib/python*/site-packages/*usrp* diff --git a/debian/pyversions b/debian/pyversions new file mode 100644 index 000000000..57a7586e4 --- /dev/null +++ b/debian/pyversions @@ -0,0 +1 @@ +2.3- diff --git a/debian/rules b/debian/rules new file mode 100755 index 000000000..4f066494d --- /dev/null +++ b/debian/rules @@ -0,0 +1,156 @@ +#!/usr/bin/make -f +# -*- makefile -*- +# Sample debian/rules that uses debhelper. +# +# This file was originally written by Joey Hess and Craig Small. +# As a special exception, when this file is copied by dh-make into a +# dh-make output file, you may use that output file without restriction. +# This special exception was added by Craig Small in version 0.37 of dh-make. +# +# Modified to make a template file for a multi-binary package with separated +# build-arch and build-indep targets by Bill Allombert 2001 + +# Uncomment this to turn on verbose mode. +export DH_VERBOSE=1 + +# This has to be exported to make some magic below work. +export DH_OPTIONS + +CFLAGS = -Wall -g + +ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) + CFLAGS += -O0 +else + CFLAGS += -O2 +endif + +configure: configure-stamp +configure-stamp: + dh_testdir + [ -f ./configure ] || ./bootstrap + CFLAGS="$(CFLAGS)" ./configure \ + --prefix=/usr --mandir=\$${prefix}/share/man \ + --infodir=\$${prefix}/share/info --enable-shared \ + --enable-doxygen --enable-html-docs \ + --sysconfdir=/etc --enable-all-components \ + --disable-gr-audio-osx --disable-gr-audio-windows \ + --disable-gr-qtgui + touch configure-stamp + +build: build-stamp +build-stamp: configure-stamp + + $(MAKE) + $(MAKE) check + touch $@ + +update: + -test -r /usr/share/misc/config.sub && \ + cp -f /usr/share/misc/config.sub config.sub + -test -r /usr/share/misc/config.guess && \ + cp -f /usr/share/misc/config.guess config.guess + +clean: + dh_testdir + dh_testroot + rm -f build-stamp configure-stamp + + if [ -f Makefile ]; \ + then\ + if [ -d .svn ]; \ + then \ + $(MAKE) maintainer-clean; \ + else \ + $(MAKE) distclean; \ + fi; \ + fi + + + dh_clean + +install: + dh_testdir + dh_testroot + dh_clean -k + dh_installdirs + + $(MAKE) install DESTDIR=$(CURDIR)/debian/tmp + install -m 0755 debian/usrp.hotplug \ + $(CURDIR)/debian/usrp/etc/hotplug.d/usb/ + + : # make python scripts starting with '#!' executable + for i in `find debian -mindepth 2 -type f ! -perm 755`; do \ + if head -1 $$i | grep -q '^#!'; then \ + chmod 755 $$i; \ + echo "made executable: $$i"; \ + fi; \ + done + + dh_install --sourcedir=debian/tmp --list-missing + + cp -r gnuradio-examples/python/* \ + debian/gnuradio-examples/usr/share/gnuradio/ + find debian/gnuradio-examples -type f -name Makefile\* -exec rm {} \; + find debian/gnuradio-examples -type d -name CVS -exec rm {} \; + find debian/gnuradio-examples -name \*.py -exec chmod +x {} \; + +# mv debian/gnuradio/usr/bin/microtune.py \ +# debian/gnuradio/usr/bin/microtune + + mv debian/usrp/usr/bin/usrp_ra_receiver.py \ + debian/usrp/usr/bin/usrp_ra_receiver + mv debian/usrp/usr/bin/usrp_psr_receiver.py \ + debian/usrp/usr/bin/usrp_psr_receiver + +# Must not depend on anything. This is to be called by +# binary-arch/binary-indep +# in another 'make' thread. +binary-common: + dh_testdir + dh_testroot + dh_installchangelogs ChangeLog + dh_installdocs + dh_installexamples +# dh_installmenu +# dh_installdebconf +# dh_installlogrotate +# dh_installemacsen +# dh_installpam +# dh_installmime + dh_pycentral + dh_python +# dh_installinit +# dh_installcron +# dh_installinfo + dh_installman + dh_link +ifneq (,$(findstring -s,$(DH_OPTIONS))) + dh_strip --no-package=libgnuradio-core0c2a --no-package=libusrp0c2a + DH_OPTIONS= dh_strip --package=libgnuradio-core0c2a \ + --dbg-package=libgnuradio-core0c2a-dbg + DH_OPTIONS= dh_strip --package=libusrp0c2a \ + --dbg-package=libusrp0c2a-dbg +else + dh_strip +endif + dh_compress +# dh_movefiles --sourcedir=debian/gnuradio + dh_fixperms +# dh_perl + dh_makeshlibs + dh_installdeb + dh_shlibdeps + dh_gencontrol + dh_md5sums + dh_builddeb + +# Build architecture independant packages using the common target. +binary-indep: build install + $(MAKE) -f debian/rules DH_OPTIONS=-i binary-common + +# Build architecture dependant packages using the common target. +binary-arch: build install + $(MAKE) -f debian/rules DH_OPTIONS=-s binary-common + +binary: binary-arch binary-indep +.PHONY: build clean binary-indep binary-arch binary install configure diff --git a/debian/usrp-doc.install b/debian/usrp-doc.install new file mode 100644 index 000000000..9a2cb477d --- /dev/null +++ b/debian/usrp-doc.install @@ -0,0 +1,2 @@ +usr/share/doc/gnuradio*/usrp/html usr/share/doc/usrp-doc +usr/share/doc/gnuradio*/usrp/README /usr/share/doc/usrp-doc diff --git a/debian/usrp-firmware.dirs b/debian/usrp-firmware.dirs new file mode 100644 index 000000000..6195915ec --- /dev/null +++ b/debian/usrp-firmware.dirs @@ -0,0 +1,2 @@ +/usr/share/usrp/rev2 +/usr/share/usrp/rev4 diff --git a/debian/usrp-firmware.install b/debian/usrp-firmware.install new file mode 100644 index 000000000..ad8d95021 --- /dev/null +++ b/debian/usrp-firmware.install @@ -0,0 +1 @@ +usr/share/usrp/rev*/*.rbf diff --git a/debian/usrp-firmware.postinst b/debian/usrp-firmware.postinst new file mode 100644 index 000000000..0c02817b1 --- /dev/null +++ b/debian/usrp-firmware.postinst @@ -0,0 +1,43 @@ +#! /bin/sh + +set -e + +#DEBHELPER# + +if [ "$1" != "configure" ]; then + exit 0 +fi + +# +# Activate any unactivated USRPs that are plugged in at install time. +# This is basically a duplication of the loop in /etc/hotplug/usb.rc, +# but Md claims it's the best solution for synthesizing hotplug events +# for the USRPs plugged in at installation time. +# + +# +# Don't bother doing this unless we have all the firmware we need, and +# /sbin/hotplug working. (Rationale: If we don't have hotplug working, +# this will not work next boot/plugin anyhow, so it would be very confusing +# for the user to have it all work up _until_ the next boot/plugin.) +# +[ -r /usr/share/usrp/rev2/std_4rx_0tx.rbf ] || exit 0 +[ -x /sbin/hotplug ] || [ -x /sbin/udevd ] || exit 0 + +# We need sysfs to do this. +[ -d /sys/bus/usb/devices/ ] || exit 0 + +# Go through all USB devices and find unconfigured USRPs (ie. FX2 chips). +for device in /sys/bus/usb/devices/[0-9]*:*; do + devlink=$(readlink -f $device) + DEVPATH=${devlink#/sys} + + [ -f $devlink/../idVendor ] || continue + PRODUCT="$(cat $devlink/../idVendor)/$(cat $devlink/../idProduct)/$(cat $devlink/../bcdDevice)" + + if [ "$PRODUCT" = "fffe/0002/0002" ] || [ "$PRODUCT" = "fffe/0002/0004" ]; then + /usr/bin/usrper load_standard_bits + fi +done + +exit 0 diff --git a/debian/usrp.dirs b/debian/usrp.dirs new file mode 100644 index 000000000..253c03330 --- /dev/null +++ b/debian/usrp.dirs @@ -0,0 +1,2 @@ +etc/hotplug.d/usb +usr/sbin diff --git a/debian/usrp.docs b/debian/usrp.docs new file mode 100644 index 000000000..231ec26f7 --- /dev/null +++ b/debian/usrp.docs @@ -0,0 +1,3 @@ +usrp/AUTHORS +usrp/ChangeLog +usrp/README diff --git a/debian/usrp.hotplug b/debian/usrp.hotplug new file mode 100644 index 000000000..e8b943204 --- /dev/null +++ b/debian/usrp.hotplug @@ -0,0 +1,47 @@ +#! /bin/sh + +GROUP=usrp + +# Set the permissions for the USRP devices right. +set_permissions() { + if [ -f "$1" ] + then + if getent group $GROUP > /dev/null; then + chmod 660 "$DEVICE" + chown root.$GROUP "$1" + fi + fi +} + +# +# If we do not have /sbin/hotplug, we are being called by post-sarge udev +# emulating hotplug. In that case, all of this is handled by our udev rules, +# so we don't need to duplicate the work done here. +# +if ! [ -x /sbin/hotplug ]; then + exit +fi + +if [ "$ACTION" != "add" ]; then + exit +fi + +# FIXME: Map the USB device ID to usrper's idea of "which USRP". +# For now, we just assume the user only has a single one. + +case $PRODUCT in + # USRP without loaded firmware + fffe/2/2 | fffe/2/4) + sleep 1 # required on some machines + /usr/bin/usrper load_standard_bits + set_permissions "$DEVICE" + ;; + + # USRP with loaded firmware + fffe/2/102 | fffe/2/104) + set_permissions "$DEVICE" + ;; +esac + + + diff --git a/debian/usrp.install b/debian/usrp.install new file mode 100644 index 000000000..599ad27ab --- /dev/null +++ b/debian/usrp.install @@ -0,0 +1,5 @@ +usr/bin/usrper +usr/bin/usrp_cal_dc_offset +usr/bin/usrp_ra_receiver.py +usr/bin/usrp_psr_receiver.py +usr/share/usrp/rev*/*.ihx diff --git a/debian/usrp.postinst b/debian/usrp.postinst new file mode 100644 index 000000000..60faa2cf1 --- /dev/null +++ b/debian/usrp.postinst @@ -0,0 +1,56 @@ +#! /bin/sh + +set -e + +if [ "$1" != "configure" ]; then + exit 0 +fi + +# +# The debhelper udev fragments are broken; they only check for -z "$2", +# not for upgrades from versions without the udev script. +# +if [ -z "$2" ] || dpkg --compare-versions "$2" lt "0.10-3"; then + ln -sf ../usrp.rules /etc/udev/rules.d/z60_usrp.rules +fi + +# Create usrp group. +if ! getent group usrp >/dev/null; then + addgroup --system usrp +fi + +# +# Activate any unactivated USRPs that are plugged in at install time. +# This is basically a duplication of the loop in /etc/hotplug/usb.rc, +# but Md claims it's the best solution for synthesizing hotplug events +# for the USRPs plugged in at installation time. +# + +# +# Don't bother doing this unless we have all the firmware we need, and +# hotplugging working. (Rationale: If we don't have hotplug working, +# this will not work next boot/plugin anyhow, so it would be very confusing +# for the user to have it all work up _until_ the next boot/plugin.) +# +[ -r /usr/share/usrp/rev2/std_4rx_0tx.rbf ] || exit 0 +[ -x /sbin/hotplug ] || [ -x /sbin/udevd ] || exit 0 + +# We need sysfs to do this. +[ -d /sys/bus/usb/devices/ ] || exit 0 + +# Go through all USB devices and find unconfigured USRPs (ie. FX2 chips). +for device in /sys/bus/usb/devices/[0-9]*:*; do + devlink=$(readlink -f $device) + DEVPATH=${devlink#/sys} + + [ -f $devlink/../idVendor ] || continue + PRODUCT="$(cat $devlink/../idVendor)/$(cat $devlink/../idProduct)/$(cat $devlink/../bcdDevice)" + + if [ "$PRODUCT" = "fffe/0002/0002" ] || [ "$PRODUCT" = "fffe/0002/0004" ]; then + /usr/bin/usrper load_standard_bits + fi +done + +#DEBHELPER# + +exit 0 diff --git a/debian/usrp.postrm b/debian/usrp.postrm new file mode 100644 index 000000000..bde96a2d4 --- /dev/null +++ b/debian/usrp.postrm @@ -0,0 +1,13 @@ +#! /bin/sh + +set -e + +if [ "$1" != "remove" ]; then + exit 0 +fi + +rm -f /etc/udev/rules.d/z60_usrp.rules + +#DEBHELPER# + +exit 0 diff --git a/debian/usrp.udev b/debian/usrp.udev new file mode 100644 index 000000000..546a943c5 --- /dev/null +++ b/debian/usrp.udev @@ -0,0 +1,8 @@ +# USRP without loaded firmware (FX2) +BUS=="usb", SYSFS{idVendor}=="fffe", SYSFS{idProduct}=="0002", SYSFS{bcdDevice}=="0002", GROUP="usrp", RUN+="/usr/bin/usrper load_standard_bits" +BUS=="usb", SYSFS{idVendor}=="fffe", SYSFS{idProduct}=="0002", SYSFS{bcdDevice}=="0004", GROUP="usrp", RUN+="/usr/bin/usrper load_standard_bits" + +# USRP with loaded firmware +BUS=="usb", SYSFS{idVendor}=="fffe", SYSFS{idProduct}=="0002", SYSFS{bcdDevice}=="0102", GROUP="usrp" +BUS=="usb", SYSFS{idVendor}=="fffe", SYSFS{idProduct}=="0002", SYSFS{bcdDevice}=="0104", GROUP="usrp" + |