Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package libperseus-sdr for openSUSE:Factory checked in at 2026-08-05 17:49:00 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libperseus-sdr (Old) and /work/SRC/openSUSE:Factory/.libperseus-sdr.new.16738 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libperseus-sdr" Wed Aug 5 17:49:00 2026 rev:3 rq:1369551 version:0.8.2 Changes: -------- --- /work/SRC/openSUSE:Factory/libperseus-sdr/libperseus-sdr.changes 2019-05-20 10:30:27.117875405 +0200 +++ /work/SRC/openSUSE:Factory/.libperseus-sdr.new.16738/libperseus-sdr.changes 2026-08-05 17:50:00.817245683 +0200 @@ -1,0 +2,10 @@ +Tue Aug 4 13:54:04 UTC 2026 - Martin Pluskal <[email protected]> + +- Update to version 0.8.2: + * Add command line options to perseustest so that all hardware + features of the Perseus receiver can be exercised from the + command line +- Drop the obsolete Group tags +- Require shadow rather than the long-removed pwdutils + +------------------------------------------------------------------- Old: ---- libperseus-sdr-0.8.1.tar.gz New: ---- libperseus-sdr-0.8.2.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libperseus-sdr.spec ++++++ --- /var/tmp/diff_new_pack.7v0rqJ/_old 2026-08-05 17:50:01.457268140 +0200 +++ /var/tmp/diff_new_pack.7v0rqJ/_new 2026-08-05 17:50:01.461268281 +0200 @@ -1,7 +1,7 @@ # # spec file for package libperseus-sdr # -# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2026 SUSE LLC and contributors # Copyright (c) 2017, Martin Hauke <[email protected]> # # All modifications and additions to the file contributed by third parties @@ -21,11 +21,10 @@ %define libname %{name}%{sover} %define perseussdr_group perseususb Name: libperseus-sdr -Version: 0.8.1 +Version: 0.8.2 Release: 0 Summary: Perseus Software Defined Radio Control Library License: GPL-3.0-only -Group: Productivity/Hamradio/Other URL: https://github.com/Microtelecom/libperseus-sdr #Git-Clone: https://github.com/Microtelecom/libperseus-sdr.git Source: https://github.com/Microtelecom/%{name}/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz @@ -44,7 +43,6 @@ %package devel Summary: Development files for libperseus-sdr -Group: Development/Libraries/C and C++ Requires: %{libname} = %{version} %description devel @@ -53,7 +51,6 @@ %package -n %{libname} Summary: Library for Perseus SDR -Group: System/Libraries Requires: %{name}-udev %description -n %{libname} @@ -61,28 +58,28 @@ %package -n perseus-sdr-tools Summary: Tools for Perseus SDR -Group: Hardware/Other %description -n perseus-sdr-tools Tools for Perseus SDR devices. %package udev Summary: Udev rules for Perseus SDR -Group: Hardware/Other -Requires(pre): pwdutils +Requires(pre): shadow %description udev Udev rules for Perseus SDR hardware %prep %setup -q + # %build # Do not optimize for current cpu sed -i "s|-march=native||g" configure.ac autoreconf -iv %configure -make #%{?_smp_mflags} # parallel build is broken +# NOT %make_build: upstream's parallel build is broken, so no _smp_mflags +make %install %make_install @@ -117,6 +114,8 @@ %files devel %{_libdir}/libperseus-sdr.so +# new in 0.8.2 +%{_libdir}/pkgconfig/libperseus-sdr.pc %{_includedir}/perseus-sdr.h #%%{_includedir}/perseus-in.h #%%{_includedir}/perseus-sdr.h ++++++ libperseus-sdr-0.8.1.tar.gz -> libperseus-sdr-0.8.2.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libperseus-sdr-0.8.1/.github/workflows/ccpp.yml new/libperseus-sdr-0.8.2/.github/workflows/ccpp.yml --- old/libperseus-sdr-0.8.1/.github/workflows/ccpp.yml 1970-01-01 01:00:00.000000000 +0100 +++ new/libperseus-sdr-0.8.2/.github/workflows/ccpp.yml 2020-03-15 22:39:53.000000000 +0100 @@ -0,0 +1,23 @@ +name: C/C++ CI + +on: [push] + +jobs: + build: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + - name: Install prerequisite packages + run: sudo apt-get install libusb-1.0-0-dev + - name: bootstrap + run: ./bootstrap.sh + - name: configure + run: ./configure + - name: make + run: make + - name: make check + run: make check + - name: make distcheck + run: sudo make distcheck diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libperseus-sdr-0.8.1/.gitignore new/libperseus-sdr-0.8.2/.gitignore --- old/libperseus-sdr-0.8.1/.gitignore 2019-04-21 11:37:39.000000000 +0200 +++ new/libperseus-sdr-0.8.2/.gitignore 2020-03-15 22:39:53.000000000 +0100 @@ -30,3 +30,4 @@ perseustest perseustest_dyn stamp-h1 +libperseus-sdr.pc diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libperseus-sdr-0.8.1/Makefile.am new/libperseus-sdr-0.8.2/Makefile.am --- old/libperseus-sdr-0.8.1/Makefile.am 2019-04-21 11:37:39.000000000 +0200 +++ new/libperseus-sdr-0.8.2/Makefile.am 2020-03-15 22:39:53.000000000 +0100 @@ -110,3 +110,10 @@ endif distdir = $(PACKAGE)-$(VERSION) + +## Install the generated pkg-config file (.pc) into the expected location for +## architecture-dependent package configuration information. Occasionally, +## pkg-config files are also used for architecture-independent data packages, +## in which case the correct install location would be $(datadir)/pkgconfig. +pkgconfigdir = $(libdir)/pkgconfig +pkgconfig_DATA = libperseus-sdr.pc diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libperseus-sdr-0.8.1/configure.ac new/libperseus-sdr-0.8.2/configure.ac --- old/libperseus-sdr-0.8.1/configure.ac 2019-04-21 11:37:39.000000000 +0200 +++ new/libperseus-sdr-0.8.2/configure.ac 2020-03-15 22:39:53.000000000 +0100 @@ -265,6 +265,7 @@ AC_CONFIG_FILES([Makefile examples/Makefile + libperseus-sdr.pc ]) AC_OUTPUT diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libperseus-sdr-0.8.1/examples/perseustest.c new/libperseus-sdr-0.8.2/examples/perseustest.c --- old/libperseus-sdr-0.8.1/examples/perseustest.c 2019-04-21 11:37:39.000000000 +0200 +++ new/libperseus-sdr-0.8.2/examples/perseustest.c 2020-03-15 22:39:53.000000000 +0100 @@ -26,6 +26,7 @@ #include <stdio.h> #include <string.h> #include <stdbool.h> +#include <errno.h> #if defined _WIN32 #define sleep(x) Sleep((x)*1000) #else @@ -78,6 +79,9 @@ "point instead of 24 bits unsigned int.\n"); fprintf (stderr, "-F ............ FIFO command channel name\n"); fprintf (stderr, "-u ............ attenuator value [-10 -20 -30 db]\n"); + fprintf (stderr, "-x ............ activate the ADC dithering\n"); + fprintf (stderr, "-m ............ activate the preamp\n"); + fprintf (stderr, "-w ............ disable input analog filters\n"); fprintf (stderr, "-h ............ this help\n"); } @@ -104,6 +108,9 @@ char fifo_name[128] = ""; int atten_db = - 30; int fp_output = 0; + int input_filter = 1; + int adc_preamp = 0; + int adc_dither = 0; for (i=0; i < argc; ++i) { dbgprintf (3,"%d: %s\n", i, argv[i]); @@ -153,18 +160,27 @@ fprintf (stderr, "**************** Attenuator: %d\n", atten_db); } if (!strcmp(argv[i],"-h")) { - print_usage (); + print_usage (); exit (255); } if (!strcmp(argv[i],"-p")) { fp_output = 1; - } + } + if (!strcmp(argv[i],"-x")) { + adc_dither = 1; + } + if (!strcmp(argv[i],"-m")) { + adc_preamp = 1; + } + if (!strcmp(argv[i],"-w")) { + input_filter = 0; + } } // Set debug info dumped to stderr to the maximum verbose level perseus_set_debug(dbg_lvl); - fprintf (stderr, "Revision: %s\n", git_revision); + fprintf (stderr, "Revision: %s\n", git_revision); fprintf (stderr, "SAMPLE RATE: %d\n", sr); fprintf (stderr, "NBUF: %d BUF SIZE: %d TOTAL BUFFER LENGTH: %d\n", nb, bs, nb*bs); @@ -284,10 +300,9 @@ perseus_set_attenuator_n(descr, (int)(atten_db / -10)); break; } - - perseus_set_attenuator_in_db(descr, 33); // Bad value !!! - if (no_ta == 0) { + perseus_set_attenuator_in_db(descr, 33); // Bad value !!! + perseus_set_attenuator_n(descr, 0); sleep(1); perseus_set_attenuator_n(descr, 1); @@ -299,27 +314,31 @@ perseus_set_attenuator_n(descr, 0); sleep(1); } - // Enable ADC Dither, Disable ADC Preamp - perseus_set_adc(descr, true, false); - - // Do the same cycling test with the WB front panel led. - // Enable preselection filters (WB_MODE Off) - perseus_set_ddc_center_freq(descr, freq, 1); - sleep(1); - // Disable preselection filters (WB_MODE On) - perseus_set_ddc_center_freq(descr, freq, 0); - sleep(1); - // Re-enable preselection filters (WB_MODE Off) - perseus_set_ddc_center_freq(descr, freq, 1); + // Enable ADC Dither, ADC Preamp according to cmd line options + perseus_set_adc(descr, + adc_dither == 1 ? true: false, + adc_preamp == 1 ? true: false); + if (no_ta == 0) { + // Do the same cycling test with the WB front panel led. + // Enable preselection filters (WB_MODE Off) + perseus_set_ddc_center_freq(descr, freq, 1); + sleep(1); + // Disable preselection filters (WB_MODE On) + perseus_set_ddc_center_freq(descr, freq, 0); + sleep(1); + // Re-enable preselection filters (WB_MODE as per cli option) + perseus_set_ddc_center_freq(descr, freq, input_filter); + } else { + perseus_set_ddc_center_freq(descr, freq, input_filter); + } // We open a file for binary output. // IQ samples will be saved in binary format to this file if (strcmp(out_file_name, "-")) { fout = fopen(out_file_name,"wb"); if (!fout) { - fprintf(stderr, "Can't open output file\n"); - perseus_close(descr); - perseus_exit(); + fprintf(stderr, "Can't open output file (%s)\n", strerror(errno)); + fout = 0; } } @@ -349,14 +368,20 @@ fprintf(stderr, "Collecting input samples... "); - // We wait a 10 s time interval. - // The user data callback we supplied to perseus_start_async_input - // is being called meanwhile. - for (k=0;k<test_time;k++) { - fprintf(stderr, "."); - sleep(1); + // wait indefinitely in case test_time is 0 + // useful when we are not testing but acting as a source + // for another command line utility + if (test_time == 0) { + while (!sleep(100)) ; + } else { + // We wait a 10 s time interval. + // The user data callback we supplied to perseus_start_async_input + // is being called meanwhile. + for (k=0;k<test_time;k++) { + fprintf(stderr, "."); + sleep(1); + } } - fprintf(stderr, "\ndone\n"); // We stop the acquisition... @@ -364,7 +389,7 @@ perseus_stop_async_input(descr); // We can safely close the output file handle here. Acquisition has stopped. - fclose(fout); + if (fout) fclose(fout); main_cleanup: @@ -429,7 +454,7 @@ s.q3 = *samplebuf++; s.q4 = *samplebuf++; - fwrite(&s.iq, 1, sizeof(iq_sample), fout); + if (fout) fwrite(&s.iq, 1, sizeof(iq_sample), fout); } return 0; } @@ -448,7 +473,7 @@ // of writing data at a rate of at least 16 MB/s (almost 1 GB/min!) uint8_t *samplebuf = (uint8_t*)buf; - FILE *fout = (FILE*)extra; + FILE *fout = (FILE*)extra; int nSamples = buf_size/6; int k; iq_sample s; @@ -471,7 +496,7 @@ iq_f[0] = (float)(s.iq.i) / (INT_MAX - 256); iq_f[1] = (float)(s.iq.q) / (INT_MAX - 256); - fwrite(iq_f, 2, sizeof(float), fout); + if (fout) fwrite(iq_f, 2, sizeof(float), fout); } return 0; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libperseus-sdr-0.8.1/libperseus-sdr.pc.in new/libperseus-sdr-0.8.2/libperseus-sdr.pc.in --- old/libperseus-sdr-0.8.1/libperseus-sdr.pc.in 1970-01-01 01:00:00.000000000 +0100 +++ new/libperseus-sdr-0.8.2/libperseus-sdr.pc.in 2020-03-15 22:39:53.000000000 +0100 @@ -0,0 +1,12 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +libdir=@libdir@ +includedir=@includedir@ + +Name: Microtelecom Perseus SDR Library +Description: C Utility Library +URL: https://github.com/Microtelecom/libperseus-sdr +Version: @VERSION@ +#Requires: <dependencies> +Libs: -L${libdir} -lperseus-sdr +Cflags: -I${includedir}/ -I/usr/include/libusb-1.0
