From 1763fa495b24b549acf3b6ebfb370e673fbb3f4c Mon Sep 17 00:00:00 2001 From: Davide Gerhard Date: Wed, 8 May 2019 11:27:57 +0200 Subject: [PATCH] cpack: use as package creator We use CPACK (cmake helper) to package the software - macOS: we build the .APP and .dmg with all dependencies, like qt, soapysdr and all others sdr drivers. ENABLE_MIRSDRAPI control if we remove the mirsdrapi dylib because it is not public distribuitable; so should be used only on "private" environment. TODO: - code/dmg signature - Debian: make deb with dependencies for Debian 10/9 and Ubuntu 18.04/16.04. TODO: - probably to send the package to upstream we need to use debhelper and debian/ - Fedora/rpm: just basic declaration TODO: - write correctly dependencies --- CMakeLists.txt | 49 ++-- CPack.cmake => cmake/cpack/CMakeLists.txt | 71 ++++-- cmake/{ => cpack}/sdrangel.sh | 0 custom/apple/deploy.sh | 98 -------- debian/README.Debian | 6 - debian/README.source | 10 - debian/compat | 1 - debian/control | 24 -- debian/copyright | 33 --- debian/init.d.ex | 26 -- debian/manpage.1.ex | 56 ----- debian/manpage.sgml.ex | 154 ------------ debian/manpage.xml.ex | 291 ---------------------- debian/menu.ex | 2 - debian/postinst.ex | 41 --- debian/postrm.ex | 37 --- debian/preinst.ex | 35 --- debian/prerm.ex | 38 --- debian/rules | 25 -- debian/sdrangel-docs.docs | 2 - debian/sdrangel.cron.d.ex | 4 - debian/sdrangel.default.ex | 10 - debian/sdrangel.doc-base.EX | 20 -- debian/source/format | 1 - debian/watch.ex | 39 --- 25 files changed, 73 insertions(+), 1000 deletions(-) rename CPack.cmake => cmake/cpack/CMakeLists.txt (74%) rename cmake/{ => cpack}/sdrangel.sh (100%) delete mode 100755 custom/apple/deploy.sh delete mode 100644 debian/README.Debian delete mode 100644 debian/README.source delete mode 100644 debian/compat delete mode 100644 debian/control delete mode 100644 debian/copyright delete mode 100644 debian/init.d.ex delete mode 100644 debian/manpage.1.ex delete mode 100644 debian/manpage.sgml.ex delete mode 100644 debian/manpage.xml.ex delete mode 100644 debian/menu.ex delete mode 100644 debian/postinst.ex delete mode 100644 debian/postrm.ex delete mode 100644 debian/preinst.ex delete mode 100644 debian/prerm.ex delete mode 100755 debian/rules delete mode 100644 debian/sdrangel-docs.docs delete mode 100644 debian/sdrangel.cron.d.ex delete mode 100644 debian/sdrangel.default.ex delete mode 100644 debian/sdrangel.doc-base.EX delete mode 100644 debian/source/format delete mode 100644 debian/watch.ex diff --git a/CMakeLists.txt b/CMakeLists.txt index e068a885d..0ca713148 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -40,6 +40,7 @@ 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) +option(ENABLE_PACK_MIRSDRAPI "Enable inclusion of the mirsdr-api library - for personal use only" OFF) # Set additional project information set(COMPANY "f4exb") @@ -76,7 +77,7 @@ set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "SDR Rx/Tx software for Airspy, Airspy HF+ set(CPACK_PACKAGE_VENDOR "${COMPANY}") set(CPACK_PACKAGE_CONTACT "https://github.com/f4exb/sdrangel") set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_SOURCE_DIR}/Readme.md") -set(CPACK_PACKAGE_VERSION "${sdrangel_VERSION}") +set(CPACK_PACKAGE_VERSION "${sdrangel_VERSION_MAJOR}.${sdrangel_VERSION_MINOR}.${sdrangel_VERSION_PATCH}") set(CPACK_PACKAGE_VERSION_MAJOR ${sdrangel_VERSION_MAJOR}) set(CPACK_PACKAGE_VERSION_MINOR ${sdrangel_VERSION_MINOR}) set(CPACK_PACKAGE_VERSION_PATCH ${sdrangel_VERSION_PATCH}) @@ -86,7 +87,6 @@ set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/LICENSE") set(CPACK_RESOURCE_FILE_README "${CMAKE_SOURCE_DIR}/Readme.md") set(CPACK_SOURCE_IGNORE_FILES "${PROJECT_BINARY_DIR};/.git/;.gitignore;menu.yml;.travis.yml;.appveyor.yml;default.nix;.envrc;TODOs.org;/.scripts/") set(CPACK_SOURCE_GENERATOR "ZIP;TGZ") -set(CPACK_GENERATOR "ZIP;TGZ") # if we don't set build_type if(NOT DEFINED CMAKE_BUILD_TYPE OR "${CMAKE_BUILD_TYPE}" STREQUAL "") @@ -108,8 +108,8 @@ else() endif() set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib") set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib") -set(BUILD_PLUGINS_DIR "${CMAKE_BINARY_DIR}/lib/plugins") -set(BUILD_PLUGINSSRV_DIR "${CMAKE_BINARY_DIR}/lib/pluginssrv") +set(BUILD_PLUGINS_DIR "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/plugins") +set(BUILD_PLUGINSSRV_DIR "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/pluginssrv") # use only lib when create .app/.dmg if(APPLE AND BUNDLE AND BUILD_GUI) set(INSTALL_BIN_DIR ".") @@ -128,7 +128,7 @@ set(EXTERNAL_INSTALL_LIBRARIES "${CMAKE_BINARY_DIR}/external") if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux") set(LINUX TRUE) # populate distribution name - # LSB_CODENAME will hold trusty + # LSB_CODENAME will hold trusty for example find_program(LSB_RELEASE_EXECUTABLE lsb_release) if(LSB_RELEASE_EXECUTABLE) execute_process(COMMAND ${LSB_RELEASE_EXECUTABLE} -cs @@ -139,10 +139,23 @@ if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux") configure_file("${CMAKE_SOURCE_DIR}/cmake/cpack/${CMAKE_PROJECT_NAME}.desktop.in" "${CMAKE_BINARY_DIR}/${CMAKE_PROJECT_NAME}.desktop" @ONLY) elseif(APPLE) - # check - set(CMAKE_OSX_DEPLOYMENT_TARGET "10.9") - message(STATUS "Build for macOS version: ${CMAKE_OSX_DEPLOYMENT_TARGET}") + if(NOT DEFINED ENV{MACOSX_DEPLOYMENT_TARGET}) + set(CMAKE_OSX_DEPLOYMENT_TARGET "10.9") + endif() + message(STATUS "Build for macOS target: ${CMAKE_OSX_DEPLOYMENT_TARGET}") + set(CMAKE_MACOSX_RPATH ON) + message(STATUS "RPATH support: ${CMAKE_MACOSX_RPATH}") + + # TODO: check if(DEFINED) andfix macports -D + # fix install path + set(CMAKE_INSTALL_RPATH + "${CMAKE_INSTALL_PREFIX}/${INSTALL_LIB_DIR}" CACHE + PATH "Library Install RPath" FORCE) + # force full path + set(CMAKE_INSTALL_NAME_DIR + "${CMAKE_INSTALL_PREFIX}/${INSTALL_LIB_DIR}" CACHE + PATH "Library Install Name Destination Directory" FORCE) configure_file("${CMAKE_SOURCE_DIR}/cmake/cpack/MacOSXBundleInfo.plist.in" "${CMAKE_BINARY_DIR}/Info.plist" @ONLY) @@ -276,6 +289,9 @@ if(ENABLE_SOAPYSDR) set(SOAPYSDR_FOUND ON) message(STATUS "Found SoapySDR: ${SoapySDR_INCLUDE_DIRS}, ${SoapySDR_LIBRARIES}") endif() + # Only on APPLE; bad! + string(REPLACE "-flat_namespace" "" CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS}") + string(REPLACE "-flat_namespace" "" CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS}") endif() if(ENABLE_XTRX) find_package(LibXTRX) @@ -380,22 +396,9 @@ if (BUILD_SERVER) endif() ############ install ################## -if(NOT CMAKE_INSTALL_RPATH) - set(CMAKE_INSTALL_RPATH - ${CMAKE_INSTALL_PREFIX}/${INSTALL_LIB_DIR} CACHE - PATH "Library Install RPath" FORCE) -endif() - -# force full path -if(APPLE AND NOT CMAKE_INSTALL_NAME_DIR) - set(CMAKE_INSTALL_NAME_DIR - ${CMAKE_INSTALL_PREFIX}/${INSTALL_LIB_DIR} CACHE - PATH "Library Install Name Destination Directory" FORCE) -endif() - install(TARGETS sdrangelbench DESTINATION ${INSTALL_BIN_DIR}) if (BUILD_GUI) - install(TARGETS ${CMAKE_PROJECT_NAME} DESTINATION ${INSTALL_BIN_DIR}) + install(TARGETS ${CMAKE_PROJECT_NAME} DESTINATION ${INSTALL_BIN_DIR}) endif() if (BUILD_SERVER) install(TARGETS sdrangelsrv DESTINATION ${INSTALL_BIN_DIR}) @@ -426,4 +429,4 @@ add_custom_target(uninstall ${CMAKE_CURRENT_BINARY_DIR}/uninstall.cmake) ############ packaging ################ -include(CPack) +add_subdirectory(cmake/cpack) diff --git a/CPack.cmake b/cmake/cpack/CMakeLists.txt similarity index 74% rename from CPack.cmake rename to cmake/cpack/CMakeLists.txt index b915a8448..8f6e83f2e 100644 --- a/CPack.cmake +++ b/cmake/cpack/CMakeLists.txt @@ -14,13 +14,25 @@ query_qmake (QT_INSTALL_IMPORTS QT_IMPORTS_DIR) if(APPLE AND BUNDLE AND BUILD_GUI) + find_program (SW_VERS_PROGRAM sw_vers) + if (SW_VERS_PROGRAM) + execute_process ( + COMMAND ${SW_VERS_PROGRAM} -productVersion + OUTPUT_VARIABLE CPACK_MACOS_PACKAGE_ARCHITECTURE + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + else (SW_VERS_PROGRAM) + set (CPACK_MACOS_PACKAGE_ARCHITECTURE noarch) + endif (SW_VERS_PROGRAM) + set(CPACK_GENERATOR "Bundle") set(CPACK_BINARY_DRAGNDROP ON) set(CPACK_BUNDLE_NAME "${APPLICATION_NAME}") - set(CPACK_BUNDLE_ICON "${CMAKE_SOURCE_DIR}/custom/desktop/sdrangel_icon.icns") + set(CPACK_BUNDLE_ICON "${CMAKE_SOURCE_DIR}/cmake/cpack/sdrangel_icon.icns") set(CPACK_BUNDLE_PLIST "${CMAKE_BINARY_DIR}/Info.plist") set(CPACK_BUNDLE_STARTUP_COMMAND "${CMAKE_SOURCE_DIR}/cmake/cpack/sdrangel.sh") - set(CPACK_PACKAGE_ICON "${CMAKE_SOURCE_DIR}/custom/desktop/sdrangel_icon.icns") + set(CPACK_PACKAGE_ICON "${CMAKE_SOURCE_DIR}/cmake/cpack/sdrangel_icon.icns") + set(CPACK_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}-${CPACK_PACKAGE_VERSION}_${CPACK_MACOS_PACKAGE_ARCHITECTURE}_${CMAKE_SYSTEM_PROCESSOR}") # Copy Qt Plugins; fixup_bundle doesn't do that install ( @@ -79,14 +91,21 @@ Plugins = ../PlugIns include(BundleUtilities) fixup_bundle(\"\${CMAKE_INSTALL_PREFIX}/${CMAKE_PROJECT_NAME}\" \"\${SDRANGEL_PLUGINS};\${SDRANGEL_PLUGINSSRV};\${QTPLUGINS};\${SOAPYSDR_PLUGINS}\" \"${CMAKE_LIBRARY_OUTPUT_DIRECTORY}\") - # remove non distribuitable files - file(REMOVE \"\${CMAKE_INSTALL_PREFIX}/../Frameworks/libmirsdrapi-rsp.dylib\") + # remove non distribuitable file + if(ENABLE_MIRSDRAPI AND OFF) + message(STATUS \"Remove libmirsdrapi-rsp.dylib - not distribuitable\") + file(REMOVE \"\${CMAKE_INSTALL_PREFIX}/../Frameworks/libmirsdrapi-rsp.dylib\") + endif() - # Remove unused library - #file(GLOB SDRANGEL_LIB \"\${CMAKE_INSTALL_PREFIX}/${INSTALL_LIB_DIR}/*${CMAKE_SHARED_LIBRARY_SUFFIX}\") - #file(REMOVE_RECURSE \"\${SDRANGEL_LIB}\") - file(REMOVE \"\${CMAKE_INSTALL_PREFIX}/${INSTALL_LIB_DIR}/*${CMAKE_SHARED_LIBRARY_SUFFIX}\") -" COMPONENT Runtime) + # remove unused library + file(GLOB SDRANGEL_REMOVE_LIB \"\${CMAKE_INSTALL_PREFIX}/${INSTALL_LIB_DIR}/*${CMAKE_SHARED_LIBRARY_SUFFIX}\") + foreach(file \${SDRANGEL_REMOVE_LIB}) + file(REMOVE \"\${file}\") + endforeach() + " COMPONENT Runtime) + + # TODO: code/dmg signature + # see https://github.com/cjcliffe/CubicSDR elseif(LINUX AND BUNDLE) @@ -99,10 +118,10 @@ elseif(LINUX AND BUNDLE) find_program (DPKG_PROGRAM dpkg DOC "dpkg program of Debian-based systems") if (DPKG_PROGRAM) execute_process ( - COMMAND ${DPKG_PROGRAM} --print-architecture - OUTPUT_VARIABLE CPACK_DEBIAN_PACKAGE_ARCHITECTURE - OUTPUT_STRIP_TRAILING_WHITESPACE - ) + COMMAND ${DPKG_PROGRAM} --print-architecture + OUTPUT_VARIABLE CPACK_DEBIAN_PACKAGE_ARCHITECTURE + OUTPUT_STRIP_TRAILING_WHITESPACE + ) else (DPKG_PROGRAM) set (CPACK_DEBIAN_PACKAGE_ARCHITECTURE noarch) endif (DPKG_PROGRAM) @@ -116,31 +135,35 @@ elseif(LINUX AND BUNDLE) # 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_SHLIBDEPS ON) 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, pulseaudio, libxml2, ffmpeg, libopus0, codec2, libairspy0, libhackrf0, librtlsdr0, libbladerf1, libmirisdr0, libiio0, soapysdr-tools") + 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") 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") + set(CPACK_DEBIAN_PACKAGE_DEPENDS "${CPACK_DEBIAN_PACKAGE_DEPENDS}, libavcodec58, libavformat58, libairspyhf1, libopencv-imgproc3.2, libopencv-highgui3.2, limesuite, soapysdr-tools") 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") + set(CPACK_DEBIAN_PACKAGE_DEPENDS "${CPACK_DEBIAN_PACKAGE_DEPENDS}, libavcodec57, libavformat57, libopencv-imgproc2.45v5, libopencv-highgu2.4-deb0, limesuite, soapysdr-tools") 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") + set(CPACK_DEBIAN_PACKAGE_DEPENDS "${CPACK_DEBIAN_PACKAGE_DEPENDS}, libavcodec57, libavformat57, libairspyhf0, libopencv-imgproc3.2, libopencv-highgui3.2, limesuite, soapysdr-tools") 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() - set (CPACK_DEBIAN_PACKAGE_PACKAGE_SHLIBDEPS ON) + # needed before cmake 2.8.3 + # maybe we can move back to debian/ + set(CPACK_SET_DESTDIR true) + endif (DPKG_BUILDER) find_program (RPMBUILDER rpmbuild DOC "RPM package builder") if (RPMBUILDER) - # TODO - #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") - #set (CPACK_RPM_PACKAGE_ARCHITECTURE ${CMAKE_SYSTEM_PROCESSOR}) + list(APPEND CPACK_GENERATOR "RPM") + set(CPACK_RPM_PACKAGE_RELEASE "1") + set(CPACK_RPM_PACKAGE_LICENSE "GPL-3.0") + # TODO OpenSUSE and Fedora dependencies + set(CPACK_RPM_PACKAGE_REQUIRES "libusb fftw qt5 pulseaudio libxml2") + set (CPACK_RPM_PACKAGE_ARCHITECTURE ${CMAKE_SYSTEM_PROCESSOR}) endif (RPMBUILDER) elseif((WIN32 OR MINGW) AND BUNDLE) diff --git a/cmake/sdrangel.sh b/cmake/cpack/sdrangel.sh similarity index 100% rename from cmake/sdrangel.sh rename to cmake/cpack/sdrangel.sh diff --git a/custom/apple/deploy.sh b/custom/apple/deploy.sh deleted file mode 100755 index de58907fc..000000000 --- a/custom/apple/deploy.sh +++ /dev/null @@ -1,98 +0,0 @@ -#!/bin/bash -SDRANGEL_VERSION="4.5.0" -QT_VERSION="5.12.1" -QT_HOME="/Applications/Qt/${QT_VERSION}" - -# Run from build directory after build -APP_PATH="app/SDRangel.app" -test -d "${APP_PATH}/Contents" || { echo "Please build first or chdir to proper folder!"; exit 1; } - -APP_LIB="${APP_PATH}/Contents/Frameworks" -APP_PLUGINS="${APP_LIB}/plugins" - -mkdir -p $APP_PLUGINS - -dply_lib() -{ - cp -f $1 $APP_LIB - echo "DeployLIB: `basename $1` to ${APP_LIB}" -} - -dply_plugin() -{ - tmp=`dirname $1` - tmp=`dirname $tmp` - plugin_type=`basename $tmp` - plugin_path="${APP_PLUGINS}/${plugin_type}" - mkdir -p $plugin_path - cp -f $1 $plugin_path - echo "DeployPLUGIN: `basename $1` to ${plugin_path}" -} - -add_dmg_entry() -{ - cp -fv $1 "${DMG_MPATH}/${2}" -} - -# 1st-pass: Gather libs & plugins -for i in `find . -name '*.dylib' -type f -not -path "./${APP_PATH}/*"`; do - if [[ $i == *"plugins/"* ]]; then - dply_plugin $i - else - dply_lib $i - fi -done - -# Missing ones -dply_lib /opt/install/LimeSuite/lib/libLimeSuite.18.10-1.dylib -dply_lib /opt/local/lib/libnanomsg.5.0.0.dylib -dply_lib /usr/local/lib/libmirisdr.4.dylib -dply_lib /usr/local/lib/libSoapySDR.0.7.dylib - -# 2nd-pass: Symlink libs -cd $APP_LIB -for i in `find . -name '*.1.0.0.dylib' -type f -not -path "./plugins/*"`; do - ln -sf $i "${i/.1.0.0.dylib/.1.0.dylib}" - ln -sf $i "${i/.1.0.0.dylib/.1.dylib}" - ln -sf $i "${i/.1.0.0.dylib/.dylib}" -done -cd ../../.. - -LIB_PATH="SDRangel.app/Contents/Frameworks" -CUR_PATH=`pwd` -cd $LIB_PATH -# Symbolic links -ln -sf "libnanomsg.5.0.0.dylib" "libnanomsg.5.dylib" - -# Deploy DMG -cd $CUR_PATH -pwd -"${QT_HOME}/clang_64/bin/macdeployqt" ./SDRangel.app \ - -always-overwrite \ - -dmg \ - -libpath=${LIB_PATH} \ - -verbose=1 - -# Add other files to DMG -DMG_SRC="SDRangel.dmg" -DMG_RW_SRC=${DMG_SRC/.dmg/.rw.dmg} -DMG_TMP_A="/tmp/_dmg-attach" -hdiutil pmap $DMG_SRC -hdiutil convert $DMG_SRC -format UDRW -o $DMG_RW_SRC -hdiutil resize -limits $DMG_RW_SRC -hdiutil attach $DMG_RW_SRC > $DMG_TMP_A -DMG_MPATH=`cat $DMG_TMP_A | grep Volumes | awk '{ print $3 }'` - -# Append files into filesystem -add_dmg_entry ../../../libiio/build/libiio-0.14.g17b73d3.pkg -add_dmg_entry ../../sdrangel/ReadmeMacOS.md - -hdiutil detach $DMG_MPATH -# Publish version -VERIMAGIC="-v${SDRANGEL_VERSION}_`date +%Y%m%d_%H%M%S`-Qt${QT_VERSION}" -DMG_DEPLOY=${DMG_SRC/.dmg/${VERIMAGIC}.dmg} -hdiutil convert $DMG_RW_SRC -format UDBZ -o $DMG_DEPLOY -rm -f $DMG_RW_SRC - -echo "DeployedDMG: ${DMG_DEPLOY}" -exit 0 diff --git a/debian/README.Debian b/debian/README.Debian deleted file mode 100644 index 3902d5873..000000000 --- a/debian/README.Debian +++ /dev/null @@ -1,6 +0,0 @@ -sdrangel for Debian ------------------- - - - - -- F4EXB Tue, 25 Oct 2016 11:15:15 +0200 diff --git a/debian/README.source b/debian/README.source deleted file mode 100644 index 5a6ac0a64..000000000 --- a/debian/README.source +++ /dev/null @@ -1,10 +0,0 @@ -sdrangel for Debian ------------------- - - - - - - -- F4EXB Tue, 25 Oct 2016 11:15:15 +0200 - diff --git a/debian/compat b/debian/compat deleted file mode 100644 index ec635144f..000000000 --- a/debian/compat +++ /dev/null @@ -1 +0,0 @@ -9 diff --git a/debian/control b/debian/control deleted file mode 100644 index 5d515509f..000000000 --- a/debian/control +++ /dev/null @@ -1,24 +0,0 @@ -Source: sdrangel -Section: hamradio -Priority: optional -Maintainer: Edouard Griffiths, F4EXB -Build-Depends: debhelper (>=9) -Standards-Version: 3.9.6 -Homepage: https://github.com/f4exb/sdrangel -#Vcs-Git: git://anonscm.debian.org/collab-maint/sdrangel.git -#Vcs-Browser: https://anonscm.debian.org/cgit/collab-maint/sdrangel.git - -Package: sdrangel -Architecture: any -Depends: libc6, libasound2, libfftw3-single3, libgcc1, libgl1-mesa-glx, libqt5core5a, libqt5gui5, libqt5multimedia5, libqt5network5, libqt5opengl5, libqt5widgets5, libqt5multimedia5-plugins, libstdc++6, libusb-1.0-0, libopencv-dev, pulseaudio, libxml2, ffmpeg, libavcodec-dev, libavformat-dev, libopus-dev, libcodec2-dev, ${shlibs:Depends}, ${misc:Depends} -Description: SDR/Analyzer/Generator front-end for various hardware - SDR/Analyzer/Generator front-end for Airspy, BladeRF, HackRF, RTL-SDR, FunCube, LimeSDR, PlutoSDR. - Also File source and sink for I/Q samples, network I/Q sources with remote instance. - Based on Qt5 framework and OpenGL for the spectrum and scope rendering. - Builds on Linux, Windows and Mac O/S - Reception modes supported: - Analog: AM, ATV, NFM, WFM, SSB, broadcast FM - Digital: D-Star, Yaesu SF, DMR, dPMR, LoRa - Analyzer: Generic channel - Transmission modes supported: - Analog: AM, ATV, NFM, SSB, WFM diff --git a/debian/copyright b/debian/copyright deleted file mode 100644 index df75fd247..000000000 --- a/debian/copyright +++ /dev/null @@ -1,33 +0,0 @@ -Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ -Upstream-Name: sdrangel -Source: https://github.com/f4exb/sdrangel - -Files: * -Copyright: 2015-2016 Edouard Griffiths, -License: GPL-3.0+ - -Files: debian/* -Copyright: 2016 Edouard Griffiths, F4EXB -License: GPL-3.0+ - -License: GPL-3.0+ - 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 package 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 . - . - On Debian systems, the complete text of the GNU General - Public License version 3 can be found in "/usr/share/common-licenses/GPL-3". - -# Please also look if there are files or directories which have a -# different copyright/license attached and list them here. -# Please avoid picking licenses with terms that are more restrictive than the -# packaged work, as it may make Debian's contributions unacceptable upstream. diff --git a/debian/init.d.ex b/debian/init.d.ex deleted file mode 100644 index 6798489c5..000000000 --- a/debian/init.d.ex +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/sh -# kFreeBSD do not accept scripts as interpreters, using #!/bin/sh and sourcing. -if [ true != "$INIT_D_SCRIPT_SOURCED" ] ; then - set "$0" "$@"; INIT_D_SCRIPT_SOURCED=true . /lib/init/init-d-script -fi -### BEGIN INIT INFO -# Provides: sdrangel -# Required-Start: $remote_fs $syslog -# Required-Stop: $remote_fs $syslog -# Default-Start: 2 3 4 5 -# Default-Stop: 0 1 6 -# Short-Description: -# Description: -# <...> -# <...> -### END INIT INFO - -# Author: F4EXB - -DESC="sdrangel" -DAEMON=/usr/bin/sdrangel - -# This is an example to start a single forking daemon capable of writing -# a pid file. To get other behaviors, implement do_start(), do_stop() or -# other functions to override the defaults in /lib/init/init-d-script. -# See also init-d-script(5) diff --git a/debian/manpage.1.ex b/debian/manpage.1.ex deleted file mode 100644 index 7eb695cfd..000000000 --- a/debian/manpage.1.ex +++ /dev/null @@ -1,56 +0,0 @@ -.\" Hey, EMACS: -*- nroff -*- -.\" (C) Copyright 2016 F4EXB , -.\" -.\" First parameter, NAME, should be all caps -.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection -.\" other parameters are allowed: see man(7), man(1) -.TH Sdrangel SECTION "October 25 2016" -.\" Please adjust this date whenever revising the manpage. -.\" -.\" Some roff macros, for reference: -.\" .nh disable hyphenation -.\" .hy enable hyphenation -.\" .ad l left justify -.\" .ad b justify to both left and right margins -.\" .nf disable filling -.\" .fi enable filling -.\" .br insert line break -.\" .sp insert n+1 empty lines -.\" for manpage-specific macros, see man(7) -.SH NAME -sdrangel \- program to do something -.SH SYNOPSIS -.B sdrangel -.RI [ options ] " files" ... -.br -.B bar -.RI [ options ] " files" ... -.SH DESCRIPTION -This manual page documents briefly the -.B sdrangel -and -.B bar -commands. -.PP -.\" TeX users may be more comfortable with the \fB\fP and -.\" \fI\fP escape sequences to invode bold face and italics, -.\" respectively. -\fBsdrangel\fP is a program that... -.SH OPTIONS -These programs follow the usual GNU command line syntax, with long -options starting with two dashes (`-'). -A summary of options is included below. -For a complete description, see the Info files. -.TP -.B \-h, \-\-help -Show summary of options. -.TP -.B \-v, \-\-version -Show version of program. -.SH SEE ALSO -.BR bar (1), -.BR baz (1). -.br -The programs are documented fully by -.IR "The Rise and Fall of a Fooish Bar" , -available via the Info system. diff --git a/debian/manpage.sgml.ex b/debian/manpage.sgml.ex deleted file mode 100644 index 18542f526..000000000 --- a/debian/manpage.sgml.ex +++ /dev/null @@ -1,154 +0,0 @@ - manpage.1'. You may view - the manual page with: `docbook-to-man manpage.sgml | nroff -man | - less'. A typical entry in a Makefile or Makefile.am is: - -manpage.1: manpage.sgml - docbook-to-man $< > $@ - - - The docbook-to-man binary is found in the docbook-to-man package. - Please remember that if you create the nroff version in one of the - debian/rules file targets (such as build), you will need to include - docbook-to-man in your Build-Depends control field. - - --> - - - FIRSTNAME"> - SURNAME"> - - October 25 2016"> - - SECTION"> - f4exb06@gmail.com"> - - Sdrangel"> - - - Debian"> - GNU"> - GPL"> -]> - - - -
- &dhemail; -
- - &dhfirstname; - &dhsurname; - - - 2003 - &dhusername; - - &dhdate; -
- - &dhucpackage; - - &dhsection; - - - &dhpackage; - - program to do something - - - - &dhpackage; - - - - - - - - DESCRIPTION - - This manual page documents briefly the - &dhpackage; and bar - commands. - - This manual page was written for the &debian; distribution - because the original program does not have a manual page. - Instead, it has documentation in the &gnu; - Info format; see below. - - &dhpackage; is a program that... - - - - OPTIONS - - These programs follow the usual &gnu; command line syntax, - with long options starting with two dashes (`-'). A summary of - options is included below. For a complete description, see the - Info files. - - - - - - - - Show summary of options. - - - - - - - - Show version of program. - - - - - - SEE ALSO - - bar (1), baz (1). - - The programs are documented fully by The Rise and - Fall of a Fooish Bar available via the - Info system. - - - AUTHOR - - This manual page was written by &dhusername; &dhemail; for - the &debian; system (and may be used by others). Permission is - granted to copy, distribute and/or modify this document under - the terms of the &gnu; General Public License, Version 2 any - later version published by the Free Software Foundation. - - - On Debian systems, the complete text of the GNU General Public - License can be found in /usr/share/common-licenses/GPL. - - - -
- - diff --git a/debian/manpage.xml.ex b/debian/manpage.xml.ex deleted file mode 100644 index ce7bb9824..000000000 --- a/debian/manpage.xml.ex +++ /dev/null @@ -1,291 +0,0 @@ - -.
will be generated. You may view the -manual page with: nroff -man .
| less'. A typical entry -in a Makefile or Makefile.am is: - -DB2MAN = /usr/share/sgml/docbook/stylesheet/xsl/docbook-xsl/manpages/docbook.xsl -XP = xsltproc -''-nonet -''-param man.charmap.use.subset "0" - -manpage.1: manpage.xml - $(XP) $(DB2MAN) $< - -The xsltproc binary is found in the xsltproc package. The XSL files are in -docbook-xsl. A description of the parameters you can use can be found in the -docbook-xsl-doc-* packages. Please remember that if you create the nroff -version in one of the debian/rules file targets (such as build), you will need -to include xsltproc and docbook-xsl in your Build-Depends control field. -Alternatively use the xmlto command/package. That will also automatically -pull in xsltproc and docbook-xsl. - -Notes for using docbook2x: docbook2x-man does not automatically create the -AUTHOR(S) and COPYRIGHT sections. In this case, please add them manually as - ... . - -To disable the automatic creation of the AUTHOR(S) and COPYRIGHT sections -read /usr/share/doc/docbook-xsl/doc/manpages/authors.html. This file can be -found in the docbook-xsl-doc-html package. - -Validation can be done using: `xmllint -''-noout -''-valid manpage.xml` - -General documentation about man-pages and man-page-formatting: -man(1), man(7), http://www.tldp.org/HOWTO/Man-Page/ - ---> - - - - - - - - - - - - - -]> - - - - &dhtitle; - &dhpackage; - - - &dhfirstname; - &dhsurname; - Wrote this manpage for the Debian system. -
- &dhemail; -
-
-
- - 2007 - &dhusername; - - - This manual page was written for the Debian system - (and may be used by others). - Permission is granted to copy, distribute and/or modify this - document under the terms of the GNU General Public License, - Version 2 or (at your option) any later version published by - the Free Software Foundation. - On Debian systems, the complete text of the GNU General Public - License can be found in - /usr/share/common-licenses/GPL. - -
- - &dhucpackage; - &dhsection; - - - &dhpackage; - program to do something - - - - &dhpackage; - - - - - - - - - this - - - - - - - - this - that - - - - - &dhpackage; - - - - - - - - - - - - - - - - - - - DESCRIPTION - This manual page documents briefly the - &dhpackage; and bar - commands. - This manual page was written for the Debian distribution - because the original program does not have a manual page. - Instead, it has documentation in the GNU - info - 1 - format; see below. - &dhpackage; is a program that... - - - OPTIONS - The program follows the usual GNU command line syntax, - with long options starting with two dashes (`-'). A summary of - options is included below. For a complete description, see the - - info - 1 - files. - - - - - - - Does this and that. - - - - - - - Show summary of options. - - - - - - - Show version of program. - - - - - - FILES - - - /etc/foo.conf - - The system-wide configuration file to control the - behaviour of &dhpackage;. See - - foo.conf - 5 - for further details. - - - - ${HOME}/.foo.conf - - The per-user configuration file to control the - behaviour of &dhpackage;. See - - foo.conf - 5 - for further details. - - - - - - ENVIRONMENT - - - FOO_CONF - - If used, the defined file is used as configuration - file (see also ). - - - - - - DIAGNOSTICS - The following diagnostics may be issued - on stderr: - - - Bad configuration file. Exiting. - - The configuration file seems to contain a broken configuration - line. Use the option, to get more info. - - - - - &dhpackage; provides some return codes, that can - be used in scripts: - - Code - Diagnostic - - 0 - Program exited successfully. - - - 1 - The configuration file seems to be broken. - - - - - - BUGS - The program is currently limited to only work - with the foobar library. - The upstreams BTS can be found - at . - - - SEE ALSO - - - bar - 1 - , - baz - 1 - , - foo.conf - 5 - - The programs are documented fully by The Rise and - Fall of a Fooish Bar available via the - info - 1 - system. - -
- diff --git a/debian/menu.ex b/debian/menu.ex deleted file mode 100644 index 323344ff2..000000000 --- a/debian/menu.ex +++ /dev/null @@ -1,2 +0,0 @@ -?package(sdrangel):needs="X11|text|vc|wm" section="Applications/see-menu-manual"\ - title="sdrangel" command="/usr/bin/sdrangel" diff --git a/debian/postinst.ex b/debian/postinst.ex deleted file mode 100644 index 6c13f29d6..000000000 --- a/debian/postinst.ex +++ /dev/null @@ -1,41 +0,0 @@ -#!/bin/sh -# postinst script for sdrangel -# -# see: dh_installdeb(1) - -set -e - -# summary of how this script can be called: -# * `configure' -# * `abort-upgrade' -# * `abort-remove' `in-favour' -# -# * `abort-remove' -# * `abort-deconfigure' `in-favour' -# `removing' -# -# for details, see https://www.debian.org/doc/debian-policy/ or -# the debian-policy package - - -case "$1" in - configure) - cd /opt/sdrangel/share/sdrangel/udev-rules - ./install.sh - ;; - - abort-upgrade|abort-remove|abort-deconfigure) - ;; - - *) - echo "postinst called with unknown argument \`$1'" >&2 - exit 1 - ;; -esac - -# dh_installdeb will replace this with shell code automatically -# generated by other debhelper scripts. - -#DEBHELPER# - -exit 0 diff --git a/debian/postrm.ex b/debian/postrm.ex deleted file mode 100644 index 308d92fff..000000000 --- a/debian/postrm.ex +++ /dev/null @@ -1,37 +0,0 @@ -#!/bin/sh -# postrm script for sdrangel -# -# see: dh_installdeb(1) - -set -e - -# summary of how this script can be called: -# * `remove' -# * `purge' -# * `upgrade' -# * `failed-upgrade' -# * `abort-install' -# * `abort-install' -# * `abort-upgrade' -# * `disappear' -# -# for details, see https://www.debian.org/doc/debian-policy/ or -# the debian-policy package - - -case "$1" in - purge|remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) - ;; - - *) - echo "postrm called with unknown argument \`$1'" >&2 - exit 1 - ;; -esac - -# dh_installdeb will replace this with shell code automatically -# generated by other debhelper scripts. - -#DEBHELPER# - -exit 0 diff --git a/debian/preinst.ex b/debian/preinst.ex deleted file mode 100644 index 710319cc1..000000000 --- a/debian/preinst.ex +++ /dev/null @@ -1,35 +0,0 @@ -#!/bin/sh -# preinst script for sdrangel -# -# see: dh_installdeb(1) - -set -e - -# summary of how this script can be called: -# * `install' -# * `install' -# * `upgrade' -# * `abort-upgrade' -# for details, see https://www.debian.org/doc/debian-policy/ or -# the debian-policy package - - -case "$1" in - install|upgrade) - ;; - - abort-upgrade) - ;; - - *) - echo "preinst called with unknown argument \`$1'" >&2 - exit 1 - ;; -esac - -# dh_installdeb will replace this with shell code automatically -# generated by other debhelper scripts. - -#DEBHELPER# - -exit 0 diff --git a/debian/prerm.ex b/debian/prerm.ex deleted file mode 100644 index 3a2361759..000000000 --- a/debian/prerm.ex +++ /dev/null @@ -1,38 +0,0 @@ -#!/bin/sh -# prerm script for sdrangel -# -# see: dh_installdeb(1) - -set -e - -# summary of how this script can be called: -# * `remove' -# * `upgrade' -# * `failed-upgrade' -# * `remove' `in-favour' -# * `deconfigure' `in-favour' -# `removing' -# -# for details, see https://www.debian.org/doc/debian-policy/ or -# the debian-policy package - - -case "$1" in - remove|upgrade|deconfigure) - ;; - - failed-upgrade) - ;; - - *) - echo "prerm called with unknown argument \`$1'" >&2 - exit 1 - ;; -esac - -# dh_installdeb will replace this with shell code automatically -# generated by other debhelper scripts. - -#DEBHELPER# - -exit 0 diff --git a/debian/rules b/debian/rules deleted file mode 100755 index 920ce577a..000000000 --- a/debian/rules +++ /dev/null @@ -1,25 +0,0 @@ -#!/usr/bin/make -f -# See debhelper(7) (uncomment to enable) -# output every command that modifies files on the build system. -#export DH_VERBOSE = 1 - - -# see FEATURE AREAS in dpkg-buildflags(1) -#export DEB_BUILD_MAINT_OPTIONS = hardening=+all - -# see ENVIRONMENT in dpkg-buildflags(1) -# package maintainers to append CFLAGS -#export DEB_CFLAGS_MAINT_APPEND = -Wall -pedantic -# package maintainers to append LDFLAGS -#export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed - - -%: - dh $@ --parallel - - -# dh_make generated override targets -# This is example for Cmake (See https://bugs.debian.org/641051 ) -override_dh_auto_configure: - dh_auto_configure -- -DCMAKE_INSTALL_PREFIX=/opt/sdrangel -DDEBUG_OUTPUT=ON -DBUILD_TYPE=DEBIAN -DRX_SAMPLE_24BIT=ON -DENABLE_DISTRIBUTION=ON -DLIBCM256CCSRC=/shared/development/cm256cc -DLIBDSDCCSRC=/shared/development/dsdcc -DLIBAIRSPYSRC=/shared/development/libairspy -DLIBAIRSPYHFSRC=/shared/softs/airspyhf -DLIBHACKRFSRC=/shared/development/hackrf/host -DLIBRTLSDRSRC=/shared/development/librtlsdr.f4exb -DLIBMBELIBSRC=/shared/development/mbelib -DLIBSERIALDVSRC=/shared/development/serialDV -DLIBBLADERFSRC=/shared/softs/bladeRF -DLIBBLADERFCOMMONSRC=/shared/softs/bladeRF/host/common -DLIBBLADERFLIBSRC=/shared/softs/bladeRF/host/libraries/libbladeRF -DLIBMIRISDRSRC=/shared/development/libmirisdr-4 -DLIBLIMESUITESRC=/shared/softs/LimeSuite -DLIBIIOSRC=/shared/softs/libiio -DLIBPERSEUSSRC=/shared/softs/libperseus-sdr -DSOAPYSDR_SOURCE_DIR=/shared/softs/SoapySDR - diff --git a/debian/sdrangel-docs.docs b/debian/sdrangel-docs.docs deleted file mode 100644 index 731904114..000000000 --- a/debian/sdrangel-docs.docs +++ /dev/null @@ -1,2 +0,0 @@ -README.source -README.Debian diff --git a/debian/sdrangel.cron.d.ex b/debian/sdrangel.cron.d.ex deleted file mode 100644 index 907ef16d0..000000000 --- a/debian/sdrangel.cron.d.ex +++ /dev/null @@ -1,4 +0,0 @@ -# -# Regular cron jobs for the sdrangel package -# -0 4 * * * root [ -x /usr/bin/sdrangel_maintenance ] && /usr/bin/sdrangel_maintenance diff --git a/debian/sdrangel.default.ex b/debian/sdrangel.default.ex deleted file mode 100644 index 934b7c529..000000000 --- a/debian/sdrangel.default.ex +++ /dev/null @@ -1,10 +0,0 @@ -# Defaults for sdrangel initscript -# sourced by /etc/init.d/sdrangel -# installed at /etc/default/sdrangel by the maintainer scripts - -# -# This is a POSIX shell fragment -# - -# Additional options that are passed to the Daemon. -DAEMON_OPTS="" diff --git a/debian/sdrangel.doc-base.EX b/debian/sdrangel.doc-base.EX deleted file mode 100644 index ff3c191c8..000000000 --- a/debian/sdrangel.doc-base.EX +++ /dev/null @@ -1,20 +0,0 @@ -Document: sdrangel -Title: Debian sdrangel Manual -Author: -Abstract: This manual describes what sdrangel is - and how it can be used to - manage online manuals on Debian systems. -Section: unknown - -Format: debiandoc-sgml -Files: /usr/share/doc/sdrangel/sdrangel.sgml.gz - -Format: postscript -Files: /usr/share/doc/sdrangel/sdrangel.ps.gz - -Format: text -Files: /usr/share/doc/sdrangel/sdrangel.text.gz - -Format: HTML -Index: /usr/share/doc/sdrangel/html/index.html -Files: /usr/share/doc/sdrangel/html/*.html diff --git a/debian/source/format b/debian/source/format deleted file mode 100644 index 163aaf8d8..000000000 --- a/debian/source/format +++ /dev/null @@ -1 +0,0 @@ -3.0 (quilt) diff --git a/debian/watch.ex b/debian/watch.ex deleted file mode 100644 index d49d0021a..000000000 --- a/debian/watch.ex +++ /dev/null @@ -1,39 +0,0 @@ -# Example watch control file for uscan -# Rename this file to "watch" and then you can run the "uscan" command -# to check for upstream updates and more. -# See uscan(1) for format - -# Compulsory line, this is a version 4 file -version=4 - -# PGP signature mangle, so foo.tar.gz has foo.tar.gz.sig -#opts="pgpsigurlmangle=s%$%.sig%" - -# HTTP site (basic) -#http://example.com/downloads.html \ -# files/sdrangel-([\d\.]+)\.tar\.gz debian uupdate - -# Uncommment to examine a FTP server -#ftp://ftp.example.com/pub/sdrangel-(.*)\.tar\.gz debian uupdate - -# SourceForge hosted projects -# http://sf.net/sdrangel/ sdrangel-(.*)\.tar\.gz debian uupdate - -# GitHub hosted projects -#opts="filenamemangle="s%(?:.*?)?v?(\d[\d.]*)\.tar\.gz%-$1.tar.gz%" \ -# https://github.com//sdrangel/tags \ -# (?:.*?/)?v?(\d[\d.]*)\.tar\.gz debian uupdate - -# PyPI -# https://pypi.python.org/packages/source//sdrangel/ \ -# sdrangel-(.+)\.tar\.gz debian uupdate - -# Direct Git -# opts="mode=git" http://git.example.com/sdrangel.git \ -# refs/tags/v([\d\.]+) debian uupdate - - - - -# Uncomment to find new files on GooglePages -# http://example.googlepages.com/foo.html sdrangel-(.*)\.tar\.gz