diff --git a/debian/changelog b/CHANGELOG
similarity index 100%
rename from debian/changelog
rename to CHANGELOG
diff --git a/CMakeLists.txt b/CMakeLists.txt
index e6f4703f0..22212fee1 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -18,6 +18,29 @@ set(sdrangel_VERSION_MINOR "6")
set(sdrangel_VERSION_PATCH "0")
set(sdrangel_VERSION_SUFFIX "")
+# SDRAngel cmake options
+option(DEBUG_OUTPUT "Print debug messages" OFF)
+option(SANITIZE_ADDRESS "Activate memory address sanitization" OFF)
+option(RX_SAMPLE_24BIT "Internal 24 bit Rx DSP" ON)
+option(BUILD_SERVER "Build Server" ON)
+option(BUILD_GUI "Build GUI" ON)
+option(BUNDLE "Enable distribution bundle" OFF)
+option(FORCE_SSSE3 "Compile with SSSE3 instruction only" OFF)
+option(FORCE_SSE41 "Compile with SSE4.1 instruction only" OFF)
+option(ENABLE_EXTERNAL_LIBRARIES "Build external libraries" OFF)
+option(ENABLE_AIRSPY "Enable AirSpy support" ON)
+option(ENABLE_AIRSPYHF "Enable AirSpyHF support" ON)
+option(ENABLE_BLADERF "Enable bladeRF support" ON)
+option(ENABLE_FUNCUBE "Enable FUNcube support" ON)
+option(ENABLE_HACKRF "Enable HackRF support" ON)
+option(ENABLE_IIO "Enable liniio support like PlutoSDR" ON)
+option(ENABLE_LIMESUITE "Enable limesuite support" ON)
+option(ENABLE_MIRISDR "Enable LibMiri for old SDRPlay" ON)
+option(ENABLE_PERSEUS "Enable perseus support" ON)
+option(ENABLE_RTLSDR "Enable rtl-sdr support" ON)
+option(ENABLE_SOAPYSDR "Enable SoapySDR support" ON)
+option(ENABLE_XTRX "Enable XTRX support" ON)
+
# Set additional project information
set(COMPANY "f4exb")
add_definitions("-DCOMPANY=\"${COMPANY}\"")
@@ -48,7 +71,7 @@ add_definitions("-DSDRANGEL_LIB_VERSION=\"${sdrangel_VERSION_MAJOR}.${sdrangel_V
add_definitions("-DSDRANGEL_VERSION=\"${sdrangel_VERSION}\"")
# configure CPACK infomation
-set(CPACK_PACKAGE_NAME "${CMAKE_PACKAGE_NAME}")
+set(CPACK_PACKAGE_NAME "${CMAKE_PROJECT_NAME}")
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "SDR Rx/Tx software for Airspy, Airspy HF+, BladeRF, HackRF, LimeSDR, PlutoSDR, RTL-SDR, SDRplay RSP1 and FunCube")
set(CPACK_PACKAGE_VENDOR "${COMPANY}")
set(CPACK_PACKAGE_CONTACT "https://github.com/f4exb/sdrangel")
@@ -65,33 +88,6 @@ set(CPACK_SOURCE_IGNORE_FILES "${PROJECT_BINARY_DIR};/.git/;.gitignore;menu.yml;
set(CPACK_SOURCE_GENERATOR "ZIP;TGZ")
set(CPACK_GENERATOR "ZIP;TGZ")
-if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
- set(LINUX TRUE)
-endif()
-
-# SDRAngel cmake options
-option(DEBUG_OUTPUT "Print debug messages" OFF)
-option(SANITIZE_ADDRESS "Activate memory address sanitization" OFF)
-option(RX_SAMPLE_24BIT "Internal 24 bit Rx DSP" ON)
-option(BUILD_SERVER "Build Server" ON)
-option(BUILD_GUI "Build GUI" ON)
-option(BUNDLE "Enable distribution bundle" OFF)
-option(FORCE_SSSE3 "Compile with SSSE3 instruction only" OFF)
-option(FORCE_SSE41 "Compile with SSE4.1 instruction only" OFF)
-option(ENABLE_EXTERNAL_LIBRARIES "Build external libraries" OFF)
-option(ENABLE_AIRSPY "Enable AirSpy support" ON)
-option(ENABLE_AIRSPYHF "Enable AirSpyHF support" ON)
-option(ENABLE_BLADERF "Enable bladeRF support" ON)
-option(ENABLE_FUNCUBE "Enable FUNcube support" ON)
-option(ENABLE_HACKRF "Enable HackRF support" ON)
-option(ENABLE_IIO "Enable liniio support like PlutoSDR" ON)
-option(ENABLE_LIMESUITE "Enable limesuite support" ON)
-option(ENABLE_MIRISDR "Enable LibMiri for old SDRPlay" ON)
-option(ENABLE_PERSEUS "Enable perseus support" ON)
-option(ENABLE_RTLSDR "Enable rtl-sdr support" ON)
-option(ENABLE_SOAPYSDR "Enable SoapySDR support" ON)
-option(ENABLE_XTRX "Enable XTRX support" ON)
-
# if we don't set build_type
if(NOT DEFINED CMAKE_BUILD_TYPE OR "${CMAKE_BUILD_TYPE}" STREQUAL "")
set(CMAKE_BUILD_TYPE Release CACHE STRING "Build type" FORCE)
@@ -106,9 +102,9 @@ endif()
# declare build structures
# !! change sdrbase/plugin/pluginmanager.cpp too !!
if(WIN32)
- set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
+ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
else()
- set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/)
+ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/)
endif()
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
@@ -126,14 +122,23 @@ set(INSTALL_PLUGINSSRV_DIR ${INSTALL_LIB_DIR}/pluginssrv)
set(EXTERNAL_BUILD_LIBRARIES "${CMAKE_BINARY_DIR}/external_build")
set(EXTERNAL_INSTALL_LIBRARIES "${CMAKE_BINARY_DIR}/external")
-if(APPLE)
+if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
+ set(LINUX TRUE)
+ # populate distribution name
+ # LSB_CODENAME will hold trusty
+ find_program(LSB_RELEASE_EXECUTABLE lsb_release)
+ if(LSB_RELEASE_EXECUTABLE)
+ execute_process(COMMAND ${LSB_RELEASE_EXECUTABLE} -cs
+ OUTPUT_VARIABLE LSB_CODENAME
+ OUTPUT_STRIP_TRAILING_WHITESPACE
+ )
+ endif()
+elseif(APPLE)
# check
set(CMAKE_OSX_DEPLOYMENT_TARGET "10.9")
message(STATUS "Build for macOS version: ${CMAKE_OSX_DEPLOYMENT_TARGET}")
set(CMAKE_MACOSX_RPATH ON)
-endif()
-
-if (WIN32)
+elseif (WIN32)
set(EXTERNAL_LIBRARY_FOLDER "${CMAKE_SOURCE_DIR}/external/windows")
set(BOOST_ROOT "${EXTERNAL_LIBRARY_FOLDER}/boot")
set(FFTW3F_INCLUDE_DIRS="${EXTERNAL_LIBRARY_FOLDER}/fftw-3/include")
@@ -369,11 +374,6 @@ endif()
if(APPLE AND BUNDLE AND BUILD_GUI)
- install(TARGETS sdrangelbench)
- if (BUILD_SERVER)
- install(TARGETS sdrangelsrv)
- endif()
-
configure_file("${CMAKE_SOURCE_DIR}/custom/desktop/MacOSXBundleInfo.plist.in"
"${CMAKE_BINARY_DIR}/Info.plist" @ONLY)
@@ -397,16 +397,35 @@ if(APPLE AND BUNDLE AND BUILD_GUI)
elseif(LINUX AND BUNDLE)
- # see https://gitlab.kitware.com/cmake/community/wikis/doc/cpack/PackageGenerators
- list(APPEND CPACK_GENERATOR "DEB")
+ # TODO:
+ # - perseus package
+ # - CHANGELOG see https://github.com/xbmc/xbmc/pull/9987/commits/0152e8f50c0f11c8bddcfdc65e1596851fe8b310
+ # - verify dpkg info
+ # - Boost seems used through Qt
+
+ # needs dpkg
+ set(CPACK_GENERATOR "DEB")
+ set(CPACK_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}-${CPACK_PACKAGE_VERSION}_${LSB_CODENAME}_${CMAKE_SYSTEM_PROCESSOR}")
set(CPACK_DEBIAN_PACKAGE_MAINTAINER "${APPLICATION_MAINTAINER}")
set(CPACK_DEBIAN_PACKAGE_SECTION "hamradio")
- set(CPACK_DEBIAN_PACKAGE_DEPENDS "libc6, libasound2, libfftw3-single3, libgcc1, libgl1-mesa-glx, libqt5core5a, libqt5gui5, libqt5multimedia5, libqt5network5, libqt5opengl5, libqt5widgets5, libqt5multimedia5-plugins, libstdc++6, libusb-1.0-0, libopencv, pulseaudio, libxml2, ffmpeg, libavcodec, libavformat, libopus, libcodec2")
+ set(CPACK_DEBIAN_PACKAGE_DEPENDS "libc6, libasound2, libfftw3-single3, libgcc1, libgl1-mesa-glx, libqt5core5a, libqt5gui5, libqt5multimedia5, libqt5network5, libqt5opengl5, libqt5widgets5, libqt5multimedia5-plugins, libstdc++6, libusb-1.0-0, pulseaudio, libxml2, ffmpeg, libopus0, codec2, libairspy0, libhackrf0, librtlsdr0, libbladerf1, libmirisdr0, libiio0, soapysdr-tools")
- list(APPEND CPACK_GENERATOR "RPM")
- set(CPACK_RPM_PACKAGE_RELEASE "1")
- set(CPACK_RPM_PACKAGE_LICENSE "GPL-3.0")
- set(CPACK_RPM_PACKAGE_REQUIRES "libusb")
+ if ("${LSB_CODENAME}" STREQUAL "buster") # Debian 10
+ set(CPACK_DEBIAN_PACKAGE_DEPENDS "${CPACK_DEBIAN_PACKAGE_DEPENDS}, libavcodec58, libavformat58, libairspyhf1, libopencv-imgproc3.2, libopencv-highgui3.2, limesuite")
+ elseif("${LSB_CODENAME}" STREQUAL "stretch") # Debian 9
+ set(CPACK_DEBIAN_PACKAGE_DEPENDS "${CPACK_DEBIAN_PACKAGE_DEPENDS}, libavcodec57, libavformat57, libopencv-imgproc2.45v5, libopencv-highgu2.4-deb0, limesuite")
+ elseif("${LSB_CODENAME}" STREQUAL "bionic") # Ubuntu 18.04
+ set(CPACK_DEBIAN_PACKAGE_DEPENDS "${CPACK_DEBIAN_PACKAGE_DEPENDS}, libavcodec57, libavformat57, libairspyhf0, libopencv-imgproc3.2, libopencv-highgui3.2, limesuite")
+ elseif("${LSB_CODENAME}" STREQUAL "xenial") # Ubuntu 16.04
+ set(CPACK_DEBIAN_PACKAGE_DEPENDS "${CPACK_DEBIAN_PACKAGE_DEPENDS}, libavcodec-ffmpeg56, libavformat-ffmpeg56, libopencv-imgproc2.4v5, libopencv-highgui2.4v5")
+ endif()
+
+ # TODO
+ # needs rpmbuild (rpm on debian)
+ #list(APPEND CPACK_GENERATOR "RPM")
+ #set(CPACK_RPM_PACKAGE_RELEASE "1")
+ #set(CPACK_RPM_PACKAGE_LICENSE "GPL-3.0")
+ #set(CPACK_RPM_PACKAGE_REQUIRES "libusb")
elseif((WIN32 OR MINGW) AND BUNDLE)
@@ -418,9 +437,6 @@ elseif((WIN32 OR MINGW) AND BUNDLE)
set(CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL ON)
set(CPACK_NSIS_MODIFY_PATH ON)
- # from https://blog.nathanosman.com/2017/11/24/using-windeployqt-with-cpack.html
- # DeployQt.cmake
-
else()
if(NOT CMAKE_INSTALL_RPATH)
@@ -436,23 +452,20 @@ else()
PATH "Library Install Name Destination Directory" FORCE)
endif()
- install(TARGETS sdrangelbench DESTINATION ${INSTALL_BIN_DIR})
- if (BUILD_GUI)
+endif(APPLE AND BUNDLE AND BUILD_GUI)
+
+install(TARGETS sdrangelbench DESTINATION ${INSTALL_BIN_DIR})
+if (BUILD_GUI AND NOT (APPLE AND BUNDLE))
install(TARGETS sdrangel DESTINATION ${INSTALL_BIN_DIR})
- endif()
- if (BUILD_SERVER)
- install(TARGETS sdrangelsrv DESTINATION ${INSTALL_BIN_DIR})
- endif()
-
- #install files and directories (linux specific)
- if (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
- # TODO remove useless udev
- #install(DIRECTORY custom/udev-rules DESTINATION share/sdrangel)
- #install(FILES custom/udev-rules/install.sh DESTINATION share/sdrangel/udev-rules PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
- install(FILES custom/desktop/sdrangel.desktop DESTINATION share/applications)
- install(FILES custom/desktop/sdrangel_icon.png DESTINATION share/pixmaps)
- endif()
+endif()
+if (BUILD_SERVER)
+ install(TARGETS sdrangelsrv DESTINATION ${INSTALL_BIN_DIR})
+endif()
+#install files and directories (linux specific)
+if (LINUX)
+ install(FILES custom/desktop/sdrangel.desktop DESTINATION share/applications)
+ install(FILES custom/desktop/sdrangel_icon.png DESTINATION share/pixmaps)
endif()
message(STATUS "CPack generators: ${CPACK_GENERATOR}")
diff --git a/custom/udev-rules/50-xtrx-usb3380.rules b/custom/udev-rules/50-xtrx-usb3380.rules
deleted file mode 100644
index cee3eb52d..000000000
--- a/custom/udev-rules/50-xtrx-usb3380.rules
+++ /dev/null
@@ -1 +0,0 @@
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="0525", ATTRS{idProduct}=="3380", GROUP="usb", MODE="0666"
diff --git a/custom/udev-rules/52-airspy.rules b/custom/udev-rules/52-airspy.rules
deleted file mode 100644
index 5b99532fc..000000000
--- a/custom/udev-rules/52-airspy.rules
+++ /dev/null
@@ -1 +0,0 @@
-ATTR{idVendor}=="1d50", ATTR{idProduct}=="60a1", SYMLINK+="airspy-%k", MODE="666", GROUP="plugdev"
diff --git a/custom/udev-rules/52-airspyhf.rules b/custom/udev-rules/52-airspyhf.rules
deleted file mode 100644
index d7dee4578..000000000
--- a/custom/udev-rules/52-airspyhf.rules
+++ /dev/null
@@ -1 +0,0 @@
-ATTR{idVendor}=="03eb", ATTR{idProduct}=="800c", SYMLINK+="airspyhf-%k", MODE="660", GROUP="plugdev"
diff --git a/custom/udev-rules/53-adi-plutosdr-usb.rules b/custom/udev-rules/53-adi-plutosdr-usb.rules
deleted file mode 100644
index c3f576400..000000000
--- a/custom/udev-rules/53-adi-plutosdr-usb.rules
+++ /dev/null
@@ -1,8 +0,0 @@
-# allow "plugdev" group read/write access to ADI PlutoSDR devices
-# DFU Device
-SUBSYSTEM=="usb", ATTRS{idVendor}=="0456", ATTRS{idProduct}=="b674", MODE="0666", GROUP="plugdev"
-# SDR Device
-SUBSYSTEM=="usb", ATTRS{idVendor}=="0456", ATTRS{idProduct}=="b673", MODE="0666", GROUP="plugdev"
-# tell the ModemManager (part of the NetworkManager suite) that the device is not a modem,
-# and don't send AT commands to it
-SUBSYSTEM=="usb", ATTRS{idVendor}=="0456", ATTRS{idProduct}=="b673", ENV{ID_MM_DEVICE_IGNORE}="1"
diff --git a/custom/udev-rules/53-hackrf.rules b/custom/udev-rules/53-hackrf.rules
deleted file mode 100644
index d76ada6d3..000000000
--- a/custom/udev-rules/53-hackrf.rules
+++ /dev/null
@@ -1,13 +0,0 @@
-# HackRF Jawbreaker
-ATTR{idVendor}=="1d50", ATTR{idProduct}=="604b", SYMLINK+="hackrf-jawbreaker-%k", MODE="666", GROUP="plugdev"
-# HackRF One
-ATTR{idVendor}=="1d50", ATTR{idProduct}=="6089", SYMLINK+="hackrf-one-%k", MODE="666", GROUP="plugdev"
-# rad1o
-ATTR{idVendor}=="1d50", ATTR{idProduct}=="cc15", SYMLINK+="rad1o-%k", MODE="666", GROUP="plugdev"
-# NXP Semiconductors DFU mode (HackRF and rad1o)
-ATTR{idVendor}=="1fc9", ATTR{idProduct}=="000c", SYMLINK+="nxp-dfu-%k", MODE="666", GROUP="plugdev"
-# rad1o "full flash" mode
-KERNEL=="sd?", SUBSYSTEM=="block", ENV{ID_VENDOR_ID}=="1fc9", ENV{ID_MODEL_ID}=="0042", SYMLINK+="rad1o-flash-%k", MODE="666", GROUP="plugdev"
-# rad1o flash disk
-KERNEL=="sd?", SUBSYSTEM=="block", ENV{ID_VENDOR_ID}=="1fc9", ENV{ID_MODEL_ID}=="0082", SYMLINK+="rad1o-msc-%k", MODE="666", GROUP="plugdev"
-#
diff --git a/custom/udev-rules/64-limesuite.rules b/custom/udev-rules/64-limesuite.rules
deleted file mode 100644
index 9050b76b7..000000000
--- a/custom/udev-rules/64-limesuite.rules
+++ /dev/null
@@ -1,5 +0,0 @@
-SUBSYSTEM=="usb", ATTR{idVendor}=="04b4", ATTR{idProduct}=="8613", SYMLINK+="stream-%k", MODE="666", GROUP="plugdev"
-SUBSYSTEM=="usb", ATTR{idVendor}=="04b4", ATTR{idProduct}=="00f1", SYMLINK+="stream-%k", MODE="666", GROUP="plugdev"
-SUBSYSTEM=="usb", ATTR{idVendor}=="0403", ATTR{idProduct}=="601f", SYMLINK+="stream-%k", MODE="666", GROUP="plugdev"
-SUBSYSTEM=="usb", ATTR{idVendor}=="1d50", ATTR{idProduct}=="6108", SYMLINK+="stream-%k", MODE="666", GROUP="plugdev"
-SUBSYSTEM=="xillybus", MODE="666", OPTIONS="last_rule"
diff --git a/custom/udev-rules/88-nuand.rules b/custom/udev-rules/88-nuand.rules
deleted file mode 100644
index 44add41f7..000000000
--- a/custom/udev-rules/88-nuand.rules
+++ /dev/null
@@ -1,11 +0,0 @@
-# Nuand bladeRF
-ATTR{idVendor}=="2cf0", ATTR{idProduct}=="5246", MODE="666", GROUP="plugdev"
-
-# Nuand bladeRF2
-ATTR{idVendor}=="2cf0", ATTR{idProduct}=="5250", MODE="666", GROUP="plugdev"
-
-# Nuand bladeRF, legacy VID/PID
-ATTR{idVendor}=="1d50", ATTR{idProduct}=="6066", MODE="666", GROUP="plugdev"
-
-# Cypress Bootloader
-ATTR{idVendor}=="04b4", ATTR{idProduct}=="00f3", MODE="666", GROUP="plugdev"
diff --git a/custom/udev-rules/95-perseus.rules b/custom/udev-rules/95-perseus.rules
deleted file mode 100644
index 3cf1f885d..000000000
--- a/custom/udev-rules/95-perseus.rules
+++ /dev/null
@@ -1 +0,0 @@
-ATTR{idVendor}=="04b4", ATTR{idProduct}=="325c", MODE="666", GROUP="plugdev"
diff --git a/custom/udev-rules/fcd.rules b/custom/udev-rules/fcd.rules
deleted file mode 100644
index 3dace445c..000000000
--- a/custom/udev-rules/fcd.rules
+++ /dev/null
@@ -1,6 +0,0 @@
-# Udev rules for the Funcube Dongle Pro+ (0xfb31)
-
-# HIDAPI/libusb:
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="04d8", ATTRS{idProduct}=="fb56", MODE:="0666"
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="04d8", ATTRS{idProduct}=="fb31", MODE:="0666"
-
diff --git a/custom/udev-rules/install.sh b/custom/udev-rules/install.sh
deleted file mode 100755
index 6ad83c128..000000000
--- a/custom/udev-rules/install.sh
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/bin/sh
-
-cp 50-xtrx-usb3380.rules /etc/udev/rules.d/
-cp 52-airspy.rules /etc/udev/rules.d/
-cp 52-airspyhf.rules /etc/udev/rules.d/
-cp 88-nuand.rules /etc/udev/rules.d/
-cp fcd.rules /etc/udev/rules.d/
-cp 53-hackrf.rules /etc/udev/rules.d/
-cp 64-limesuite.rules /etc/udev/rules.d/
-cp 53-adi-plutosdr-usb.rules /etc/udev/rules.d/
-cp rtl-sdr.rules /etc/udev/rules.d/
-cp mirisdr.rules /etc/udev/rules.d/
-cp 95-perseus.rules /etc/udev/rules.d/
-
-udevadm control --reload-rules
-udevadm trigger
diff --git a/custom/udev-rules/mirisdr.rules b/custom/udev-rules/mirisdr.rules
deleted file mode 100644
index 2b35cb78a..000000000
--- a/custom/udev-rules/mirisdr.rules
+++ /dev/null
@@ -1,25 +0,0 @@
-#
-# Copyright 2012 Osmocom MiriSDR project
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see .
-#
-
-# Mirics MSi2500 default (e.g. VTX3D card)
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="1df7", ATTRS{idProduct}=="2500", MODE:="0666"
-
-# IO-DATA GV-TV100 stick
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="04bb", ATTRS{idProduct}=="0537", MODE:="0666"
-
-# SDRplay RSP1A
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="1df7", ATTRS{idProduct}=="3000", MODE:="0666"
diff --git a/custom/udev-rules/rtl-sdr.rules b/custom/udev-rules/rtl-sdr.rules
deleted file mode 100644
index 421345461..000000000
--- a/custom/udev-rules/rtl-sdr.rules
+++ /dev/null
@@ -1,139 +0,0 @@
-#
-# Copyright 2012-2013 Osmocom rtl-sdr project
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see .
-#
-
-# original RTL2832U vid/pid (hama nano, for example)
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="0bda", ATTRS{idProduct}=="2832", MODE:="0666"
-
-# RTL2832U OEM vid/pid, e.g. ezcap EzTV668 (E4000), Newsky TV28T (E4000/R820T) etc.
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="0bda", ATTRS{idProduct}=="2838", MODE:="0666"
-
-# DigitalNow Quad DVB-T PCI-E card (4x FC0012?)
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="0413", ATTRS{idProduct}=="6680", MODE:="0666"
-
-# Leadtek WinFast DTV Dongle mini D (FC0012)
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="0413", ATTRS{idProduct}=="6f0f", MODE:="0666"
-
-# Genius TVGo DVB-T03 USB dongle (Ver. B)
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="0458", ATTRS{idProduct}=="707f", MODE:="0666"
-
-# Terratec Cinergy T Stick Black (rev 1) (FC0012)
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00a9", MODE:="0666"
-
-# Terratec NOXON rev 1 (FC0013)
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00b3", MODE:="0666"
-
-# Terratec Deutschlandradio DAB Stick (FC0013)
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00b4", MODE:="0666"
-
-# Terratec NOXON DAB Stick - Radio Energy (FC0013)
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00b5", MODE:="0666"
-
-# Terratec Media Broadcast DAB Stick (FC0013)
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00b7", MODE:="0666"
-
-# Terratec BR DAB Stick (FC0013)
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00b8", MODE:="0666"
-
-# Terratec WDR DAB Stick (FC0013)
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00b9", MODE:="0666"
-
-# Terratec MuellerVerlag DAB Stick (FC0013)
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00c0", MODE:="0666"
-
-# Terratec Fraunhofer DAB Stick (FC0013)
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00c6", MODE:="0666"
-
-# Terratec Cinergy T Stick RC (Rev.3) (E4000)
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00d3", MODE:="0666"
-
-# Terratec T Stick PLUS (E4000)
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00d7", MODE:="0666"
-
-# Terratec NOXON rev 2 (E4000)
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00e0", MODE:="0666"
-
-# PixelView PV-DT235U(RN) (FC0012)
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="1554", ATTRS{idProduct}=="5020", MODE:="0666"
-
-# Astrometa DVB-T/DVB-T2 (R828D)
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="15f4", ATTRS{idProduct}=="0131", MODE:="0666"
-
-# Compro Videomate U620F (E4000)
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="185b", ATTRS{idProduct}=="0620", MODE:="0666"
-
-# Compro Videomate U650F (E4000)
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="185b", ATTRS{idProduct}=="0650", MODE:="0666"
-
-# Compro Videomate U680F (E4000)
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="185b", ATTRS{idProduct}=="0680", MODE:="0666"
-
-# GIGABYTE GT-U7300 (FC0012)
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b80", ATTRS{idProduct}=="d393", MODE:="0666"
-
-# DIKOM USB-DVBT HD
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b80", ATTRS{idProduct}=="d394", MODE:="0666"
-
-# Peak 102569AGPK (FC0012)
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b80", ATTRS{idProduct}=="d395", MODE:="0666"
-
-# KWorld KW-UB450-T USB DVB-T Pico TV (TUA9001)
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b80", ATTRS{idProduct}=="d397", MODE:="0666"
-
-# Zaapa ZT-MINDVBZP (FC0012)
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b80", ATTRS{idProduct}=="d398", MODE:="0666"
-
-# SVEON STV20 DVB-T USB & FM (FC0012)
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b80", ATTRS{idProduct}=="d39d", MODE:="0666"
-
-# Twintech UT-40 (FC0013)
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b80", ATTRS{idProduct}=="d3a4", MODE:="0666"
-
-# ASUS U3100MINI_PLUS_V2 (FC0013)
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b80", ATTRS{idProduct}=="d3a8", MODE:="0666"
-
-# SVEON STV27 DVB-T USB & FM (FC0013)
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b80", ATTRS{idProduct}=="d3af", MODE:="0666"
-
-# SVEON STV21 DVB-T USB & FM
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b80", ATTRS{idProduct}=="d3b0", MODE:="0666"
-
-# Dexatek DK DVB-T Dongle (Logilink VG0002A) (FC2580)
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="1d19", ATTRS{idProduct}=="1101", MODE:="0666"
-
-# Dexatek DK DVB-T Dongle (MSI DigiVox mini II V3.0)
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="1d19", ATTRS{idProduct}=="1102", MODE:="0666"
-
-# Dexatek DK 5217 DVB-T Dongle (FC2580)
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="1d19", ATTRS{idProduct}=="1103", MODE:="0666"
-
-# MSI DigiVox Micro HD (FC2580)
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="1d19", ATTRS{idProduct}=="1104", MODE:="0666"
-
-# Sweex DVB-T USB (FC0012)
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="1f4d", ATTRS{idProduct}=="a803", MODE:="0666"
-
-# GTek T803 (FC0012)
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="1f4d", ATTRS{idProduct}=="b803", MODE:="0666"
-
-# Lifeview LV5TDeluxe (FC0012)
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="1f4d", ATTRS{idProduct}=="c803", MODE:="0666"
-
-# MyGica TD312 (FC0012)
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="1f4d", ATTRS{idProduct}=="d286", MODE:="0666"
-
-# PROlectrix DV107669 (FC0012)
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="1f4d", ATTRS{idProduct}=="d803", MODE:="0666"