Hello community, here is the log from the commit of package w_scan for openSUSE:Factory checked in at 2017-03-18 20:51:06 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/w_scan (Old) and /work/SRC/openSUSE:Factory/.w_scan.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "w_scan" Sat Mar 18 20:51:06 2017 rev:2 rq:481020 version:20170107 Changes: -------- --- /work/SRC/openSUSE:Factory/w_scan/w_scan.changes 2017-02-21 13:48:57.604093694 +0100 +++ /work/SRC/openSUSE:Factory/.w_scan.new/w_scan.changes 2017-03-18 20:51:07.472999461 +0100 @@ -1,0 +2,6 @@ +Sat Mar 18 13:00:10 UTC 2017 - [email protected] + +- Update to version 20170107: + * No upstream changelog available + +------------------------------------------------------------------- Old: ---- w_scan-20161022.tar.bz2 New: ---- w_scan-20170107.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ w_scan.spec ++++++ --- /var/tmp/diff_new_pack.ucH6BJ/_old 2017-03-18 20:51:08.008923539 +0100 +++ /var/tmp/diff_new_pack.ucH6BJ/_new 2017-03-18 20:51:08.008923539 +0100 @@ -17,7 +17,7 @@ Name: w_scan -Version: 20161022 +Version: 20170107 Release: 0 Summary: Tool for scanning DVB transponders License: GPL-2.0 ++++++ w_scan-20161022.tar.bz2 -> w_scan-20170107.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/w_scan-20161022/config.h new/w_scan-20170107/config.h --- old/w_scan-20161022/config.h 2016-10-22 18:27:35.000000000 +0200 +++ new/w_scan-20170107/config.h 2017-01-07 20:33:46.000000000 +0100 @@ -60,7 +60,7 @@ #define PACKAGE_NAME "w_scan" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "w_scan 20161022" +#define PACKAGE_STRING "w_scan 20170107" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "w_scan" @@ -69,7 +69,7 @@ #define PACKAGE_URL "" /* Define to the version of this package. */ -#define PACKAGE_VERSION "20161022" +#define PACKAGE_VERSION "20170107" /* Define to 1 if you have the ANSI C header files. */ #define STDC_HEADERS 1 @@ -97,7 +97,7 @@ /* Version number of package */ -#define VERSION "20161022" +#define VERSION "20170107" /* Define to 1 if on MINIX. */ /* #undef _MINIX */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/w_scan-20161022/configure new/w_scan-20170107/configure --- old/w_scan-20161022/configure 2016-10-22 18:27:33.000000000 +0200 +++ new/w_scan-20170107/configure 2017-01-07 20:33:44.000000000 +0100 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.68 for w_scan 20161022. +# Generated by GNU Autoconf 2.68 for w_scan 20170107. # # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, @@ -557,8 +557,8 @@ # Identity of this package. PACKAGE_NAME='w_scan' PACKAGE_TARNAME='w_scan' -PACKAGE_VERSION='20161022' -PACKAGE_STRING='w_scan 20161022' +PACKAGE_VERSION='20170107' +PACKAGE_STRING='w_scan 20170107' PACKAGE_BUGREPORT='' PACKAGE_URL='' @@ -1240,7 +1240,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures w_scan 20161022 to adapt to many kinds of systems. +\`configure' configures w_scan 20170107 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1306,7 +1306,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of w_scan 20161022:";; + short | recursive ) echo "Configuration of w_scan 20170107:";; esac cat <<\_ACEOF @@ -1393,7 +1393,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -w_scan configure 20161022 +w_scan configure 20170107 generated by GNU Autoconf 2.68 Copyright (C) 2010 Free Software Foundation, Inc. @@ -1811,7 +1811,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by w_scan $as_me 20161022, which was +It was created by w_scan $as_me 20170107, which was generated by GNU Autoconf 2.68. Invocation command line was $ $0 $@ @@ -2629,7 +2629,7 @@ # Define the identity of the package. PACKAGE='w_scan' - VERSION='20161022' + VERSION='20170107' cat >>confdefs.h <<_ACEOF @@ -5029,7 +5029,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by w_scan $as_me 20161022, which was +This file was extended by w_scan $as_me 20170107, which was generated by GNU Autoconf 2.68. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -5095,7 +5095,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -w_scan config.status 20161022 +w_scan config.status 20170107 configured by $0, generated by GNU Autoconf 2.68, with options \\"\$ac_cs_config\\" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/w_scan-20161022/configure.in new/w_scan-20170107/configure.in --- old/w_scan-20161022/configure.in 2016-10-22 18:27:27.000000000 +0200 +++ new/w_scan-20170107/configure.in 2017-01-07 20:33:36.000000000 +0100 @@ -2,7 +2,7 @@ # Process this file with autoconf to produce a configure script. AC_PREREQ([2.63]) -AC_INIT([w_scan], [20161022]) +AC_INIT([w_scan], [20170107]) AC_CONFIG_SRCDIR([scan.c]) AC_CONFIG_HEADERS([config.h]) AM_INIT_AUTOMAKE diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/w_scan-20161022/doc/w_scan.1 new/w_scan-20170107/doc/w_scan.1 --- old/w_scan-20161022/doc/w_scan.1 2016-04-01 18:57:58.000000000 +0200 +++ new/w_scan-20170107/doc/w_scan.1 2017-03-17 18:42:29.000000000 +0100 @@ -140,9 +140,9 @@ .B \-O N Other services .br -0 = don't search other services, +0 = don't search other services [default] .br -1 = search other services [default] +1 = search other services .TP .B \-E N Conditional access / encrypted channels diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/w_scan-20161022/parse-dvbscan.c new/w_scan-20170107/parse-dvbscan.c --- old/w_scan-20161022/parse-dvbscan.c 2016-04-01 18:57:58.000000000 +0200 +++ new/w_scan-20170107/parse-dvbscan.c 2017-01-07 19:17:51.000000000 +0100 @@ -171,19 +171,19 @@ continue; switch (toupper(token[0])) { case 'A': - tn = alloc_transponder(0, SCAN_TERRCABLE_ATSC, 0); + tn = alloc_transponder(0, SYS_ATSC, 0); tn->type = SCAN_TERRCABLE_ATSC; break; case 'C': - tn = alloc_transponder(0, SCAN_CABLE, 0); + tn = alloc_transponder(0, SYS_DVBC_ANNEX_AC, 0); tn->type = SCAN_CABLE; break; case 'S': - tn = alloc_transponder(0, SCAN_SATELLITE, 0); + tn = alloc_transponder(0, SYS_DVBS, 0); tn->type = SCAN_SATELLITE; break; case 'T': - tn = alloc_transponder(0, SCAN_TERRESTRIAL, 0); + tn = alloc_transponder(0, SYS_DVBT, 0); tn->type = SCAN_TERRESTRIAL; break; case '#': diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/w_scan-20161022/scan.c new/w_scan-20170107/scan.c --- old/w_scan-20161022/scan.c 2016-10-22 18:26:12.000000000 +0200 +++ new/w_scan-20170107/scan.c 2017-01-07 20:21:07.000000000 +0100 @@ -170,7 +170,7 @@ // Thus we identify TPs by frequency (scan handles only one satellite at a time). // Further complication: Different NITs on one satellite sometimes list the same TP with slightly different // frequencies, so we have to search within some bandwidth. -struct transponder * alloc_transponder(uint32_t frequency, uint8_t type, uint8_t polarization) { +struct transponder * alloc_transponder(uint32_t frequency, unsigned delsys, uint8_t polarization) { struct transponder * tn; struct transponder * t = calloc(1, sizeof(* t)); bool known = false; @@ -180,6 +180,24 @@ t->source = 0; t->frequency = frequency; t->locks_with_params = false; + t->delsys = delsys; + t->polarization =polarization; + + switch(delsys) { + case SYS_DVBT: + case SYS_DVBT2: + t->type = SCAN_TERRESTRIAL; + break; + case SYS_ATSC: + t->type = SCAN_TERRCABLE_ATSC; + break; + case SYS_DVBC_ANNEX_A: + case SYS_DVBC_ANNEX_C: + t->type = SCAN_CABLE; + break; + default: + t->type = SCAN_SATELLITE; + } // save current freq to alternative list of freqs. sprintf(name, "cells_%u", frequency); @@ -197,8 +215,10 @@ if (frequency > 0) { //dont check, if we dont yet know freq. for(tn = new_transponders->first; tn; tn = tn->next) { + if (tn->delsys != t->delsys) + continue; if (tn->frequency == frequency) { - if ((type == SCAN_SATELLITE) && (polarization != tn->polarization)) + if ((t->type == SCAN_SATELLITE) && (polarization != tn->polarization)) continue; known = true; break; @@ -351,7 +371,7 @@ } // TODO: remove this workaround. -static struct transponder * find_transponder_by_freq(struct transponder * tn) { +static struct transponder* find_transponder_by_freq(struct transponder * tn) { struct transponder * t; char * buffer = (char *) calloc(1,128); @@ -359,15 +379,43 @@ verbose(" %s(%s)", __FUNCTION__, buffer); - if ((tn->type != flags.scantype) || (tn->frequency < 1)) { + if ((tn->type != flags.scantype) || ((tn->frequency < 1) && (!tn->cells->count))) { free(buffer); - verbose(" -> not found.\n"); + verbose(" -> not found. (line %d)\n", __LINE__); return NULL; // delsys doesnt match } for(t = scanned_transponders->first; t; t = t->next) { + if (t->delsys != tn->delsys) + continue; if ((flags.scantype == SCAN_SATELLITE) && (t->polarization != tn->polarization)) continue; + if (flags.scantype == SCAN_TERRESTRIAL) { + struct cell* c; + int i; + + for(c = (t->cells)->first; c; c = c->next) { + for(i = 0; i < c->num_center_frequencies; i++) { + //verbose(" checking t cell %u: center %7.3f\n", c->cell_id, c->center_frequencies[i]/1000000.0); + if (c->center_frequencies[i] == tn->frequency) { + verbose(" matches tn center\n"); + return t; + } + + struct cell* cn; + int j; + for(cn = (tn->cells)->first; cn; cn = cn->next) { + for(j = 0; j < cn->num_center_frequencies; j++) { + //verbose(" checking tn cell %u: center %7.3f\n", cn->cell_id, cn->center_frequencies[j]/1000000.0); + if (c->center_frequencies[i] == cn->center_frequencies[j]) { + verbose(" matches tn center_frequencies[%d]\n", j); + return t; + } + } + } + } + } + } if (is_nearly_same_frequency(t->frequency,tn->frequency,tn->type)) { print_transponder(buffer, t); verbose(" -> found 'scanned_transponders(%.3u)' %s\n", t->index, buffer); @@ -377,8 +425,36 @@ } for(t = new_transponders->first; t; t = t->next) { + if (t->delsys != tn->delsys) + continue; if ((flags.scantype == SCAN_SATELLITE) && (t->polarization != tn->polarization)) continue; + if (flags.scantype == SCAN_TERRESTRIAL) { + struct cell* c; + int i; + + for(c = (t->cells)->first; c; c = c->next) { + for(i = 0; i < c->num_center_frequencies; i++) { + //verbose(" checking t cell %u: center %7.3f\n", c->cell_id, c->center_frequencies[i]/1000000.0); + if (c->center_frequencies[i] == tn->frequency) { + verbose(" matches tn center\n"); + return t; + } + + struct cell* cn; + int j; + for(cn = (tn->cells)->first; cn; cn = cn->next) { + for(j = 0; j < cn->num_center_frequencies; j++) { + //verbose(" checking tn cell %u: center %7.3f\n", cn->cell_id, cn->center_frequencies[j]/1000000.0); + if (c->center_frequencies[i] == cn->center_frequencies[j]) { + verbose(" matches tn center_frequencies[%d]\n", j); + return t; + } + } + } + } + } + } if (is_nearly_same_frequency(t->frequency,tn->frequency,tn->type)) { print_transponder(buffer, t); verbose(" -> found 'new_transponders(%.3u)' %s\n", t->index, buffer); @@ -388,7 +464,7 @@ } free(buffer); - verbose(" -> not found.\n"); + verbose(" -> not found. (line %d)\n", __LINE__); return NULL; } @@ -399,6 +475,7 @@ static struct transponder * find_transponder(uint16_t original_network_id, uint16_t network_id, uint16_t transport_stream_id) { struct transponder * t; char buf[128]; + int check_onid = original_network_id > 0; verbose(" %s(%u:%u:%u):", __FUNCTION__, original_network_id, network_id, transport_stream_id); @@ -408,18 +485,22 @@ if (original_network_id != 0) { for(t = scanned_transponders->first; t; t = t->next) { - if ((t->original_network_id == original_network_id) && - (t->transport_stream_id == transport_stream_id) && - (t->network_id == network_id)) { + if (check_onid && t->original_network_id) { + if (t->original_network_id != original_network_id) + continue; + } + if ((t->transport_stream_id == transport_stream_id) && (t->network_id == network_id)) { print_transponder(buf, t); verbose(" -> found 'scanned_transponders(%.3u)' %s (line %d)\n", t->index, buf, __LINE__); return t; } } for(t = new_transponders->first; t; t = t->next) { - if ((t->original_network_id == original_network_id) && - (t->transport_stream_id == transport_stream_id) && - (t->network_id == network_id)) { + if (check_onid && t->original_network_id) { + if (t->original_network_id != original_network_id) + continue; + } + if ((t->transport_stream_id == transport_stream_id) && (t->network_id == network_id)) { print_transponder(buf, t); verbose(" -> found 'new_transponders(%.3u)' %s (line %d)\n", t->index, buf, __LINE__); return t; @@ -538,19 +619,23 @@ } static void copy_duplicate_tp(struct transponder * t, struct transponder * t2) { - if ((t->type == SCAN_TERRESTRIAL) && !t->frequency) - t->frequency = t2->frequency; + if (t->type == SCAN_TERRESTRIAL) { + if (! t->frequency) + t->frequency = t2->frequency; + if (t->cells->count == 0) + memcpy(t->cells, t2->cells, sizeof(cList)); + } if (t->original_network_id == 0) t->original_network_id = t2->original_network_id; if ((!t->source) && ((t2->source >> 8) == TABLE_NIT_ACT)) { - // t is guessed, but t2 from nit act - uint32_t f = t->frequency; + uint32_t last_freq = t->frequency; copy_fe_params(t, t2); - if (!t->frequency && f) { + // t is guessed, but t2 from nit act + if (last_freq) { // copy_fe_params overwrote t->freq with '0' from t2. - t->frequency = f; + t->frequency = last_freq; } } // enshure that current_tp points to valid tp. @@ -566,6 +651,8 @@ verbose(" %s()\n", __FUNCTION__); for(t = scanned_transponders->first; t; t = t->next) { for(t2 = t->next; t2; t2 = t2->next) { + if (t->delsys != t2->delsys) + continue; if (t->original_network_id && t2->original_network_id) { if (t->original_network_id != t2->original_network_id) continue; @@ -581,6 +668,8 @@ return; } for(t2 = new_transponders->first; t2; t2 = t2->next) { + if (t->delsys != t2->delsys) + continue; if (t->original_network_id && t2->original_network_id) { if (t->original_network_id != t2->original_network_id) continue; @@ -598,6 +687,8 @@ } for(t = new_transponders->first; t; t = t->next) { for(t2 = t->next; t2; t2 = t2->next) { + if (t->delsys != t2->delsys) + continue; if (t->original_network_id && t2->original_network_id) { if (t->original_network_id != t2->original_network_id) continue; @@ -1349,7 +1440,7 @@ info(" unexpected: already known tp (%s), but not found by pids\n", buffer); } else { - t = alloc_transponder(tn.frequency, tn.type, tn.polarization); + t = alloc_transponder(tn.frequency, tn.delsys, tn.polarization); copy_transponder(t, &tn); if (t->type == SCAN_SATELLITE) t->pilot = PILOT_AUTO; @@ -2782,7 +2873,7 @@ //if (__tune_to_transponder(frontend_fd, ptest,0) < 0) // continue; - t = alloc_transponder(f, test.type, test.polarization); + t = alloc_transponder(f, test.delsys, test.polarization); t->type = ptest->type; t->source = 0; t->network_name=NULL; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/w_scan-20161022/scan.h new/w_scan-20170107/scan.h --- old/w_scan-20161022/scan.h 2016-04-01 18:57:58.000000000 +0200 +++ new/w_scan-20170107/scan.h 2017-01-07 19:15:01.000000000 +0100 @@ -68,7 +68,7 @@ struct service * find_service (struct transponder * t, uint16_t service_id); struct service * alloc_service(struct transponder * t, uint16_t service_id); -struct transponder * alloc_transponder(uint32_t frequency, uint8_t type, uint8_t polarization); +struct transponder * alloc_transponder(uint32_t frequency, unsigned delsys, uint8_t polarization); /* write transponder data to dest. no memory allocating, * so dest has to be big enough - think about before use! diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/w_scan-20161022/version.h new/w_scan-20170107/version.h --- old/w_scan-20161022/version.h 2016-10-22 18:27:27.000000000 +0200 +++ new/w_scan-20170107/version.h 2017-01-07 20:33:36.000000000 +0100 @@ -1,6 +1,6 @@ /* AUTOMATICALLY GENERATED - DO NOT EDIT MANUALLY */ #ifndef W_SCAN_VERSION_H #define W_SCAN_VERSION_H -uint version=20161022; +uint version=20170107; #endif
