Hello community,

here is the log from the commit of package rtl-sdr for openSUSE:Factory checked 
in at 2017-05-31 12:16:02
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rtl-sdr (Old)
 and      /work/SRC/openSUSE:Factory/.rtl-sdr.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "rtl-sdr"

Wed May 31 12:16:02 2017 rev:3 rq:490040 version:0.5.3+git.20161127

Changes:
--------
--- /work/SRC/openSUSE:Factory/rtl-sdr/rtl-sdr.changes  2017-04-12 
18:22:10.871348326 +0200
+++ /work/SRC/openSUSE:Factory/.rtl-sdr.new/rtl-sdr.changes     2017-05-31 
12:17:24.924107845 +0200
@@ -1,0 +2,18 @@
+Sun Apr 23 17:52:05 UTC 2017 - [email protected]
+
+- Use package-meta for tar_scm service and add git-core
+  to BuildRequires
+
+-------------------------------------------------------------------
+Sun Apr 23 16:22:00 UTC 2017 - [email protected]
+
+- Update group handling
+
+-------------------------------------------------------------------
+Sat Apr 15 18:23:22 UTC 2017 - [email protected]
+
+- Add patch: 0001-Better-udev-handling.patch
+- Use proper cmake options
+- Use group rtlsdr in the udev-rules
+
+-------------------------------------------------------------------

New:
----
  0001-Better-udev-handling.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ rtl-sdr.spec ++++++
--- /var/tmp/diff_new_pack.NuIO4g/_old  2017-05-31 12:17:25.424037274 +0200
+++ /var/tmp/diff_new_pack.NuIO4g/_new  2017-05-31 12:17:25.432036145 +0200
@@ -18,6 +18,7 @@
 
 %define sover  0
 %define libname librtlsdr%{sover}
+%define rtlsdr_group    rtlsdr
 Name:           rtl-sdr
 Version:        0.5.3+git.20161127
 Release:        0
@@ -25,8 +26,11 @@
 License:        GPL-2.0+
 Group:          Productivity/Hamradio/Other
 Url:            http://sdr.osmocom.org/trac/wiki/rtl-sdr
+#Git-Clone:     https://git.osmocom.org/rtl-sdr
 Source:         %{name}-%{version}.tar.xz
+Patch0:         0001-Better-udev-handling.patch
 BuildRequires:  cmake
+BuildRequires:  git-core
 BuildRequires:  pkgconfig
 BuildRequires:  pkgconfig(libusb-1.0)
 BuildRequires:  pkgconfig(udev)
@@ -46,6 +50,7 @@
 %package udev
 Summary:        Udev rules for RTL2832
 Group:          Hardware/Other
+Requires(pre):  shadow
 
 %description udev
 Udev rules for rtl-sdr driver
@@ -60,9 +65,13 @@
 
 %prep
 %setup -q
+%patch0 -p1
 
 %build
 %cmake \
+  -DINSTALL_UDEV_RULES=ON \
+  -DUDEV_RULES_PATH=%{_udevrulesdir} \
+  -DUDEV_RULES_GROUP=%{rtlsdr_group} \
   -DDETACH_KERNEL_DRIVER=ON
 make %{?_smp_mflags}
 
@@ -70,12 +79,12 @@
 %cmake_install
 rm %{buildroot}%{_libdir}/librtlsdr.a
 
-install -D -p -m 0644 ./rtl-sdr.rules \
-  %{buildroot}%{_udevrulesdir}/10-rtl-sdr.rules
-
 %post -n %{libname} -p /sbin/ldconfig
 %postun -n %{libname} -p /sbin/ldconfig
 
+%pre udev
+getent group %{rtlsdr_group} >/dev/null || groupadd -r %{rtlsdr_group}
+
 %post udev
 %udev_rules_update
 
@@ -99,7 +108,7 @@
 
 %files udev
 %defattr(-,root,root)
-%{_udevrulesdir}/10-rtl-sdr.rules
+%{_udevrulesdir}/rtl-sdr.rules
 
 %files devel
 %defattr(-,root,root)

++++++ 0001-Better-udev-handling.patch ++++++
>From b174a5f400f08b04c7595eaabf21484c5c689967 Mon Sep 17 00:00:00 2001
From: Martin Hauke <[email protected]>
Date: Sat, 15 Apr 2017 20:20:36 +0200
Subject: [PATCH] Better udev-handling

---
 CMakeLists.txt                    | 69 +++++++++++++++++++++++++++-----
 rtl-sdr.rules => rtl-sdr.rules.in | 84 +++++++++++++++++++--------------------
 2 files changed, 101 insertions(+), 52 deletions(-)
 rename rtl-sdr.rules => rtl-sdr.rules.in (73%)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 0597600..fd468b2 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -102,16 +102,65 @@ add_custom_target(uninstall
 ########################################################################
 # Install udev rules
 ########################################################################
-option(INSTALL_UDEV_RULES "Install udev rules for RTL-SDR" OFF)
-if (INSTALL_UDEV_RULES)
-    install (
-        FILES rtl-sdr.rules
-        DESTINATION "/etc/udev/rules.d"
-        COMPONENT "udev"
-        )
-else (INSTALL_UDEV_RULES)
-    message (STATUS "Udev rules not being installed, install them with 
-DINSTALL_UDEV_RULES=ON")
-endif (INSTALL_UDEV_RULES)
+if(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
+    SET(SYSTEM_IS_LINUX TRUE)
+    SET(UDEV_OPTION_DEFAULT ON)
+else()
+    SET(SYSTEM_IS_LINUX FALSE)
+    SET(UDEV_OPTION_DEFAULT OFF)
+endif()
+
+option(INSTALL_UDEV_RULES
+    "Install udev rules for the RTLSDR"
+    ${UDEV_OPTION_DEFAULT}
+)
+
+set(UDEV_RULES_PATH
+    "/etc/udev/rules.d"
+    CACHE STRING
+    "Target directory for udev rule installation. Ensure you have permissions 
to write to this directory."
+)
+
+if(SYSTEM_IS_LINUX)
+    if(INSTALL_UDEV_RULES)
+        if(NOT DEFINED UDEV_RULES_GROUP)
+            foreach(group usb plugdev)
+                execute_process(COMMAND "getent" group "${group}"
+                                RESULT_VARIABLE _GETENT_RESULT
+                                OUTPUT_QUIET
+                                ERROR_QUIET)
+                if(NOT _GETENT_RESULT)
+                    message(STATUS "Setting udev rule group to - ${group}")
+                    set(UDEV_RULES_GROUP ${group})
+                    break()
+                endif(NOT _GETENT_RESULT)
+            endforeach(group)
+        endif(NOT DEFINED UDEV_RULES_GROUP)
+        if(DEFINED UDEV_RULES_GROUP)
+            set(RTLSDR_GROUP "${UDEV_RULES_GROUP}"
+                CACHE STRING "Group to associate RTL-SDR devices with in udev 
rules")
+            configure_file(${CMAKE_CURRENT_SOURCE_DIR}/rtl-sdr.rules.in
+                        ${CMAKE_CURRENT_BINARY_DIR}/rtl-sdr.rules
+                        @ONLY
+                        )
+            message(STATUS  "RTL-SDR udev rules will be installed to 
'${UDEV_RULES_PATH}' upon running 'make install'")
+            install(FILES ${CMAKE_CURRENT_BINARY_DIR}/rtl-sdr.rules
+                    DESTINATION ${UDEV_RULES_PATH}
+                    COMPONENT "udev_rules")
+        else(UDEV_RULES_GROUP)
+            message(STATUS "RTL-SDR udev rules will not be installed because 
no suitable group was found")
+            message(STATUS "A group can be specified with 
-DUDEV_RULES_GROUP=<group>")
+        endif(DEFINED UDEV_RULES_GROUP)
+    else(INSTALL_UDEV_RULES)
+        message(STATUS
+                "RTL-SDR udev rules will not be installed because 
INSTALL_UDEV_RULES=OFF"
+               )
+    endif(INSTALL_UDEV_RULES)
+else(SYSTEM_IS_LINUX)
+    if(INSTALL_UDEV_RULES)
+        message(STATUS "udev rules not supported on this platform. Hide this 
message via -DINSTALL_UDEV_RULES=Off")
+    endif(INSTALL_UDEV_RULES)
+endif(SYSTEM_IS_LINUX)
 
 option(DETACH_KERNEL_DRIVER "Detach kernel driver if loaded" OFF)
 if (DETACH_KERNEL_DRIVER)
diff --git a/rtl-sdr.rules b/rtl-sdr.rules.in
similarity index 73%
rename from rtl-sdr.rules
rename to rtl-sdr.rules.in
index b2f4054..9b83b10 100644
--- a/rtl-sdr.rules
+++ b/rtl-sdr.rules.in
@@ -16,127 +16,127 @@
 #
 
 # original RTL2832U vid/pid (hama nano, for example)
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="0bda", ATTRS{idProduct}=="2832", 
MODE:="0666"
+SUBSYSTEMS=="usb", ATTRS{idVendor}=="0bda", ATTRS{idProduct}=="2832", 
MODE:="0660", GROUP="@RTLSDR_GROUP@"
 
 # RTL2832U OEM vid/pid, e.g. ezcap EzTV668 (E4000), Newsky TV28T (E4000/R820T) 
etc.
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="0bda", ATTRS{idProduct}=="2838", 
MODE:="0666"
+SUBSYSTEMS=="usb", ATTRS{idVendor}=="0bda", ATTRS{idProduct}=="2838", 
MODE:="0660", GROUP="@RTLSDR_GROUP@"
 
 # DigitalNow Quad DVB-T PCI-E card (4x FC0012?)
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="0413", ATTRS{idProduct}=="6680", 
MODE:="0666"
+SUBSYSTEMS=="usb", ATTRS{idVendor}=="0413", ATTRS{idProduct}=="6680", 
MODE:="0660", GROUP="@RTLSDR_GROUP@"
 
 # Leadtek WinFast DTV Dongle mini D (FC0012)
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="0413", ATTRS{idProduct}=="6f0f", 
MODE:="0666"
+SUBSYSTEMS=="usb", ATTRS{idVendor}=="0413", ATTRS{idProduct}=="6f0f", 
MODE:="0660", GROUP="@RTLSDR_GROUP@"
 
 # Genius TVGo DVB-T03 USB dongle (Ver. B)
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="0458", ATTRS{idProduct}=="707f", 
MODE:="0666"
+SUBSYSTEMS=="usb", ATTRS{idVendor}=="0458", ATTRS{idProduct}=="707f", 
MODE:="0660", GROUP="@RTLSDR_GROUP@"
 
 # Terratec Cinergy T Stick Black (rev 1) (FC0012)
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00a9", 
MODE:="0666"
+SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00a9", 
MODE:="0660", GROUP="@RTLSDR_GROUP@"
 
 # Terratec NOXON rev 1 (FC0013)
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00b3", 
MODE:="0666"
+SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00b3", 
MODE:="0660", GROUP="@RTLSDR_GROUP@"
 
 # Terratec Deutschlandradio DAB Stick (FC0013)
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00b4", 
MODE:="0666"
+SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00b4", 
MODE:="0660", GROUP="@RTLSDR_GROUP@"
 
 # Terratec NOXON DAB Stick - Radio Energy (FC0013)
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00b5", 
MODE:="0666"
+SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00b5", 
MODE:="0660", GROUP="@RTLSDR_GROUP@"
 
 # Terratec Media Broadcast DAB Stick (FC0013)
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00b7", 
MODE:="0666"
+SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00b7", 
MODE:="0660", GROUP="@RTLSDR_GROUP@"
 
 # Terratec BR DAB Stick (FC0013)
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00b8", 
MODE:="0666"
+SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00b8", 
MODE:="0660", GROUP="@RTLSDR_GROUP@"
 
 # Terratec WDR DAB Stick (FC0013)
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00b9", 
MODE:="0666"
+SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00b9", 
MODE:="0660", GROUP="@RTLSDR_GROUP@"
 
 # Terratec MuellerVerlag DAB Stick (FC0013)
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00c0", 
MODE:="0666"
+SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00c0", 
MODE:="0660", GROUP="@RTLSDR_GROUP@"
 
 # Terratec Fraunhofer DAB Stick (FC0013)
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00c6", 
MODE:="0666"
+SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00c6", 
MODE:="0660", GROUP="@RTLSDR_GROUP@"
 
 # Terratec Cinergy T Stick RC (Rev.3) (E4000)
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00d3", 
MODE:="0666"
+SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00d3", 
MODE:="0660", GROUP="@RTLSDR_GROUP@"
 
 # Terratec T Stick PLUS (E4000)
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00d7", 
MODE:="0666"
+SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00d7", 
MODE:="0660", GROUP="@RTLSDR_GROUP@"
 
 # Terratec NOXON rev 2 (E4000)
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00e0", 
MODE:="0666"
+SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00e0", 
MODE:="0660", GROUP="@RTLSDR_GROUP@"
 
 # PixelView PV-DT235U(RN) (FC0012)
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="1554", ATTRS{idProduct}=="5020", 
MODE:="0666"
+SUBSYSTEMS=="usb", ATTRS{idVendor}=="1554", ATTRS{idProduct}=="5020", 
MODE:="0660", GROUP="@RTLSDR_GROUP@"
 
 # Astrometa DVB-T/DVB-T2 (R828D)
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="15f4", ATTRS{idProduct}=="0131", 
MODE:="0666"
+SUBSYSTEMS=="usb", ATTRS{idVendor}=="15f4", ATTRS{idProduct}=="0131", 
MODE:="0660", GROUP="@RTLSDR_GROUP@"
 
 # HanfTek DAB+FM+DVB-T
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="15f4", ATTRS{idProduct}=="0133", 
MODE:="0666"
+SUBSYSTEMS=="usb", ATTRS{idVendor}=="15f4", ATTRS{idProduct}=="0133", 
MODE:="0660", GROUP="@RTLSDR_GROUP@"
 
 # Compro Videomate U620F (E4000)
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="185b", ATTRS{idProduct}=="0620", 
MODE:="0666"
+SUBSYSTEMS=="usb", ATTRS{idVendor}=="185b", ATTRS{idProduct}=="0620", 
MODE:="0660", GROUP="@RTLSDR_GROUP@"
 
 # Compro Videomate U650F (E4000)
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="185b", ATTRS{idProduct}=="0650", 
MODE:="0666"
+SUBSYSTEMS=="usb", ATTRS{idVendor}=="185b", ATTRS{idProduct}=="0650", 
MODE:="0660", GROUP="@RTLSDR_GROUP@"
 
 # Compro Videomate U680F (E4000)
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="185b", ATTRS{idProduct}=="0680", 
MODE:="0666"
+SUBSYSTEMS=="usb", ATTRS{idVendor}=="185b", ATTRS{idProduct}=="0680", 
MODE:="0660", GROUP="@RTLSDR_GROUP@"
 
 # GIGABYTE GT-U7300 (FC0012)
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b80", ATTRS{idProduct}=="d393", 
MODE:="0666"
+SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b80", ATTRS{idProduct}=="d393", 
MODE:="0660", GROUP="@RTLSDR_GROUP@"
 
 # DIKOM USB-DVBT HD
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b80", ATTRS{idProduct}=="d394", 
MODE:="0666"
+SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b80", ATTRS{idProduct}=="d394", 
MODE:="0660", GROUP="@RTLSDR_GROUP@"
 
 # Peak 102569AGPK (FC0012)
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b80", ATTRS{idProduct}=="d395", 
MODE:="0666"
+SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b80", ATTRS{idProduct}=="d395", 
MODE:="0660", GROUP="@RTLSDR_GROUP@"
 
 # KWorld KW-UB450-T USB DVB-T Pico TV (TUA9001)
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b80", ATTRS{idProduct}=="d397", 
MODE:="0666"
+SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b80", ATTRS{idProduct}=="d397", 
MODE:="0660", GROUP="@RTLSDR_GROUP@"
 
 # Zaapa ZT-MINDVBZP (FC0012)
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b80", ATTRS{idProduct}=="d398", 
MODE:="0666"
+SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b80", ATTRS{idProduct}=="d398", 
MODE:="0660", GROUP="@RTLSDR_GROUP@"
 
 # SVEON STV20 DVB-T USB & FM (FC0012)
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b80", ATTRS{idProduct}=="d39d", 
MODE:="0666"
+SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b80", ATTRS{idProduct}=="d39d", 
MODE:="0660", GROUP="@RTLSDR_GROUP@"
 
 # Twintech UT-40 (FC0013)
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b80", ATTRS{idProduct}=="d3a4", 
MODE:="0666"
+SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b80", ATTRS{idProduct}=="d3a4", 
MODE:="0660", GROUP="@RTLSDR_GROUP@"
 
 # ASUS U3100MINI_PLUS_V2 (FC0013)
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b80", ATTRS{idProduct}=="d3a8", 
MODE:="0666"
+SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b80", ATTRS{idProduct}=="d3a8", 
MODE:="0660", GROUP="@RTLSDR_GROUP@"
 
 # SVEON STV27 DVB-T USB & FM (FC0013)
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b80", ATTRS{idProduct}=="d3af", 
MODE:="0666"
+SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b80", ATTRS{idProduct}=="d3af", 
MODE:="0660", GROUP="@RTLSDR_GROUP@"
 
 # SVEON STV21 DVB-T USB & FM
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b80", ATTRS{idProduct}=="d3b0", 
MODE:="0666"
+SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b80", ATTRS{idProduct}=="d3b0", 
MODE:="0660", GROUP="@RTLSDR_GROUP@"
 
 # Dexatek DK DVB-T Dongle (Logilink VG0002A) (FC2580)
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="1d19", ATTRS{idProduct}=="1101", 
MODE:="0666"
+SUBSYSTEMS=="usb", ATTRS{idVendor}=="1d19", ATTRS{idProduct}=="1101", 
MODE:="0660", GROUP="@RTLSDR_GROUP@"
 
 # Dexatek DK DVB-T Dongle (MSI DigiVox mini II V3.0)
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="1d19", ATTRS{idProduct}=="1102", 
MODE:="0666"
+SUBSYSTEMS=="usb", ATTRS{idVendor}=="1d19", ATTRS{idProduct}=="1102", 
MODE:="0660", GROUP="@RTLSDR_GROUP@"
 
 # Dexatek DK 5217 DVB-T Dongle (FC2580)
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="1d19", ATTRS{idProduct}=="1103", 
MODE:="0666"
+SUBSYSTEMS=="usb", ATTRS{idVendor}=="1d19", ATTRS{idProduct}=="1103", 
MODE:="0660", GROUP="@RTLSDR_GROUP@"
 
 # MSI DigiVox Micro HD (FC2580)
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="1d19", ATTRS{idProduct}=="1104", 
MODE:="0666"
+SUBSYSTEMS=="usb", ATTRS{idVendor}=="1d19", ATTRS{idProduct}=="1104", 
MODE:="0660", GROUP="@RTLSDR_GROUP@"
 
 # Sweex DVB-T USB (FC0012)
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="1f4d", ATTRS{idProduct}=="a803", 
MODE:="0666"
+SUBSYSTEMS=="usb", ATTRS{idVendor}=="1f4d", ATTRS{idProduct}=="a803", 
MODE:="0660", GROUP="@RTLSDR_GROUP@"
 
 # GTek T803 (FC0012)
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="1f4d", ATTRS{idProduct}=="b803", 
MODE:="0666"
+SUBSYSTEMS=="usb", ATTRS{idVendor}=="1f4d", ATTRS{idProduct}=="b803", 
MODE:="0660", GROUP="@RTLSDR_GROUP@"
 
 # Lifeview LV5TDeluxe (FC0012)
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="1f4d", ATTRS{idProduct}=="c803", 
MODE:="0666"
+SUBSYSTEMS=="usb", ATTRS{idVendor}=="1f4d", ATTRS{idProduct}=="c803", 
MODE:="0660", GROUP="@RTLSDR_GROUP@"
 
 # MyGica TD312 (FC0012)
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="1f4d", ATTRS{idProduct}=="d286", 
MODE:="0666"
+SUBSYSTEMS=="usb", ATTRS{idVendor}=="1f4d", ATTRS{idProduct}=="d286", 
MODE:="0660", GROUP="@RTLSDR_GROUP@"
 
 # PROlectrix DV107669 (FC0012)
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="1f4d", ATTRS{idProduct}=="d803", 
MODE:="0666"
+SUBSYSTEMS=="usb", ATTRS{idVendor}=="1f4d", ATTRS{idProduct}=="d803", 
MODE:="0660", GROUP="@RTLSDR_GROUP@"
-- 
2.12.0

++++++ _service ++++++
--- /var/tmp/diff_new_pack.NuIO4g/_old  2017-05-31 12:17:25.480029370 +0200
+++ /var/tmp/diff_new_pack.NuIO4g/_new  2017-05-31 12:17:25.484028806 +0200
@@ -2,6 +2,7 @@
   <service mode="disabled" name="tar_scm">
     <param name="url">git://git.osmocom.org/rtl-sdr.git</param>
     <param name="scm">git</param>
+    <param name="package-meta">yes</param>
     <param name="changesgenerate">enable</param>
     <param name="filename">rtl-sdr</param>
     <param name="versionformat">0.5.3+git.%cd</param>

++++++ rtl-sdr-0.5.3+git.20161127.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rtl-sdr-0.5.3+git.20161127/.git/HEAD 
new/rtl-sdr-0.5.3+git.20161127/.git/HEAD
--- old/rtl-sdr-0.5.3+git.20161127/.git/HEAD    1970-01-01 01:00:00.000000000 
+0100
+++ new/rtl-sdr-0.5.3+git.20161127/.git/HEAD    2016-11-27 12:19:44.000000000 
+0100
@@ -0,0 +1 @@
+ref: refs/heads/master
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rtl-sdr-0.5.3+git.20161127/.git/ORIG_HEAD 
new/rtl-sdr-0.5.3+git.20161127/.git/ORIG_HEAD
--- old/rtl-sdr-0.5.3+git.20161127/.git/ORIG_HEAD       1970-01-01 
01:00:00.000000000 +0100
+++ new/rtl-sdr-0.5.3+git.20161127/.git/ORIG_HEAD       2016-11-27 
12:19:44.000000000 +0100
@@ -0,0 +1 @@
+e3e6ee23b7f052327bf64c6908f5c09b75029edc
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rtl-sdr-0.5.3+git.20161127/.git/config 
new/rtl-sdr-0.5.3+git.20161127/.git/config
--- old/rtl-sdr-0.5.3+git.20161127/.git/config  1970-01-01 01:00:00.000000000 
+0100
+++ new/rtl-sdr-0.5.3+git.20161127/.git/config  2016-11-27 12:19:44.000000000 
+0100
@@ -0,0 +1,11 @@
+[core]
+       repositoryformatversion = 0
+       filemode = true
+       bare = false
+       logallrefupdates = true
+[remote "origin"]
+       url = 
/var/cache/obs/tar_scm/840ccdbcb0d667ba5506dd119e6c815a7fb469b6d441114666f096e636bb0923/rtl-sdr
+       fetch = +refs/heads/*:refs/remotes/origin/*
+[branch "master"]
+       remote = origin
+       merge = refs/heads/master
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rtl-sdr-0.5.3+git.20161127/.git/description 
new/rtl-sdr-0.5.3+git.20161127/.git/description
--- old/rtl-sdr-0.5.3+git.20161127/.git/description     1970-01-01 
01:00:00.000000000 +0100
+++ new/rtl-sdr-0.5.3+git.20161127/.git/description     2016-11-27 
12:19:44.000000000 +0100
@@ -0,0 +1 @@
+Unnamed repository; edit this file 'description' to name the repository.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/rtl-sdr-0.5.3+git.20161127/.git/hooks/applypatch-msg.sample 
new/rtl-sdr-0.5.3+git.20161127/.git/hooks/applypatch-msg.sample
--- old/rtl-sdr-0.5.3+git.20161127/.git/hooks/applypatch-msg.sample     
1970-01-01 01:00:00.000000000 +0100
+++ new/rtl-sdr-0.5.3+git.20161127/.git/hooks/applypatch-msg.sample     
2016-11-27 12:19:44.000000000 +0100
@@ -0,0 +1,15 @@
+#!/bin/sh
+#
+# An example hook script to check the commit log message taken by
+# applypatch from an e-mail message.
+#
+# The hook should exit with non-zero status after issuing an
+# appropriate message if it wants to stop the commit.  The hook is
+# allowed to edit the commit message file.
+#
+# To enable this hook, rename this file to "applypatch-msg".
+
+. git-sh-setup
+commitmsg="$(git rev-parse --git-path hooks/commit-msg)"
+test -x "$commitmsg" && exec "$commitmsg" ${1+"$@"}
+:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/rtl-sdr-0.5.3+git.20161127/.git/hooks/commit-msg.sample 
new/rtl-sdr-0.5.3+git.20161127/.git/hooks/commit-msg.sample
--- old/rtl-sdr-0.5.3+git.20161127/.git/hooks/commit-msg.sample 1970-01-01 
01:00:00.000000000 +0100
+++ new/rtl-sdr-0.5.3+git.20161127/.git/hooks/commit-msg.sample 2016-11-27 
12:19:44.000000000 +0100
@@ -0,0 +1,24 @@
+#!/bin/sh
+#
+# An example hook script to check the commit log message.
+# Called by "git commit" with one argument, the name of the file
+# that has the commit message.  The hook should exit with non-zero
+# status after issuing an appropriate message if it wants to stop the
+# commit.  The hook is allowed to edit the commit message file.
+#
+# To enable this hook, rename this file to "commit-msg".
+
+# Uncomment the below to add a Signed-off-by line to the message.
+# Doing this in a hook is a bad idea in general, but the prepare-commit-msg
+# hook is more suited to it.
+#
+# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p')
+# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1"
+
+# This example catches duplicate Signed-off-by lines.
+
+test "" = "$(grep '^Signed-off-by: ' "$1" |
+        sort | uniq -c | sed -e '/^[   ]*1[    ]/d')" || {
+       echo >&2 Duplicate Signed-off-by lines.
+       exit 1
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/rtl-sdr-0.5.3+git.20161127/.git/hooks/post-update.sample 
new/rtl-sdr-0.5.3+git.20161127/.git/hooks/post-update.sample
--- old/rtl-sdr-0.5.3+git.20161127/.git/hooks/post-update.sample        
1970-01-01 01:00:00.000000000 +0100
+++ new/rtl-sdr-0.5.3+git.20161127/.git/hooks/post-update.sample        
2016-11-27 12:19:44.000000000 +0100
@@ -0,0 +1,8 @@
+#!/bin/sh
+#
+# An example hook script to prepare a packed repository for use over
+# dumb transports.
+#
+# To enable this hook, rename this file to "post-update".
+
+exec git update-server-info
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/rtl-sdr-0.5.3+git.20161127/.git/hooks/pre-applypatch.sample 
new/rtl-sdr-0.5.3+git.20161127/.git/hooks/pre-applypatch.sample
--- old/rtl-sdr-0.5.3+git.20161127/.git/hooks/pre-applypatch.sample     
1970-01-01 01:00:00.000000000 +0100
+++ new/rtl-sdr-0.5.3+git.20161127/.git/hooks/pre-applypatch.sample     
2016-11-27 12:19:44.000000000 +0100
@@ -0,0 +1,14 @@
+#!/bin/sh
+#
+# An example hook script to verify what is about to be committed
+# by applypatch from an e-mail message.
+#
+# The hook should exit with non-zero status after issuing an
+# appropriate message if it wants to stop the commit.
+#
+# To enable this hook, rename this file to "pre-applypatch".
+
+. git-sh-setup
+precommit="$(git rev-parse --git-path hooks/pre-commit)"
+test -x "$precommit" && exec "$precommit" ${1+"$@"}
+:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/rtl-sdr-0.5.3+git.20161127/.git/hooks/pre-commit.sample 
new/rtl-sdr-0.5.3+git.20161127/.git/hooks/pre-commit.sample
--- old/rtl-sdr-0.5.3+git.20161127/.git/hooks/pre-commit.sample 1970-01-01 
01:00:00.000000000 +0100
+++ new/rtl-sdr-0.5.3+git.20161127/.git/hooks/pre-commit.sample 2016-11-27 
12:19:44.000000000 +0100
@@ -0,0 +1,49 @@
+#!/bin/sh
+#
+# An example hook script to verify what is about to be committed.
+# Called by "git commit" with no arguments.  The hook should
+# exit with non-zero status after issuing an appropriate message if
+# it wants to stop the commit.
+#
+# To enable this hook, rename this file to "pre-commit".
+
+if git rev-parse --verify HEAD >/dev/null 2>&1
+then
+       against=HEAD
+else
+       # Initial commit: diff against an empty tree object
+       against=4b825dc642cb6eb9a060e54bf8d69288fbee4904
+fi
+
+# If you want to allow non-ASCII filenames set this variable to true.
+allownonascii=$(git config --bool hooks.allownonascii)
+
+# Redirect output to stderr.
+exec 1>&2
+
+# Cross platform projects tend to avoid non-ASCII filenames; prevent
+# them from being added to the repository. We exploit the fact that the
+# printable range starts at the space character and ends with tilde.
+if [ "$allownonascii" != "true" ] &&
+       # Note that the use of brackets around a tr range is ok here, (it's
+       # even required, for portability to Solaris 10's /usr/bin/tr), since
+       # the square bracket bytes happen to fall in the designated range.
+       test $(git diff --cached --name-only --diff-filter=A -z $against |
+         LC_ALL=C tr -d '[ -~]\0' | wc -c) != 0
+then
+       cat <<\EOF
+Error: Attempt to add a non-ASCII file name.
+
+This can cause problems if you want to work with people on other platforms.
+
+To be portable it is advisable to rename the file.
+
+If you know what you are doing you can disable this check using:
+
+  git config hooks.allownonascii true
+EOF
+       exit 1
+fi
+
+# If there are whitespace errors, print the offending file names and fail.
+exec git diff-index --check --cached $against --
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/rtl-sdr-0.5.3+git.20161127/.git/hooks/pre-push.sample 
new/rtl-sdr-0.5.3+git.20161127/.git/hooks/pre-push.sample
--- old/rtl-sdr-0.5.3+git.20161127/.git/hooks/pre-push.sample   1970-01-01 
01:00:00.000000000 +0100
+++ new/rtl-sdr-0.5.3+git.20161127/.git/hooks/pre-push.sample   2016-11-27 
12:19:44.000000000 +0100
@@ -0,0 +1,53 @@
+#!/bin/sh
+
+# An example hook script to verify what is about to be pushed.  Called by "git
+# push" after it has checked the remote status, but before anything has been
+# pushed.  If this script exits with a non-zero status nothing will be pushed.
+#
+# This hook is called with the following parameters:
+#
+# $1 -- Name of the remote to which the push is being done
+# $2 -- URL to which the push is being done
+#
+# If pushing without using a named remote those arguments will be equal.
+#
+# Information about the commits which are being pushed is supplied as lines to
+# the standard input in the form:
+#
+#   <local ref> <local sha1> <remote ref> <remote sha1>
+#
+# This sample shows how to prevent push of commits where the log message starts
+# with "WIP" (work in progress).
+
+remote="$1"
+url="$2"
+
+z40=0000000000000000000000000000000000000000
+
+while read local_ref local_sha remote_ref remote_sha
+do
+       if [ "$local_sha" = $z40 ]
+       then
+               # Handle delete
+               :
+       else
+               if [ "$remote_sha" = $z40 ]
+               then
+                       # New branch, examine all commits
+                       range="$local_sha"
+               else
+                       # Update to existing branch, examine new commits
+                       range="$remote_sha..$local_sha"
+               fi
+
+               # Check for WIP commit
+               commit=`git rev-list -n 1 --grep '^WIP' "$range"`
+               if [ -n "$commit" ]
+               then
+                       echo >&2 "Found WIP commit in $local_ref, not pushing"
+                       exit 1
+               fi
+       fi
+done
+
+exit 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/rtl-sdr-0.5.3+git.20161127/.git/hooks/pre-rebase.sample 
new/rtl-sdr-0.5.3+git.20161127/.git/hooks/pre-rebase.sample
--- old/rtl-sdr-0.5.3+git.20161127/.git/hooks/pre-rebase.sample 1970-01-01 
01:00:00.000000000 +0100
+++ new/rtl-sdr-0.5.3+git.20161127/.git/hooks/pre-rebase.sample 2016-11-27 
12:19:44.000000000 +0100
@@ -0,0 +1,169 @@
+#!/bin/sh
+#
+# Copyright (c) 2006, 2008 Junio C Hamano
+#
+# The "pre-rebase" hook is run just before "git rebase" starts doing
+# its job, and can prevent the command from running by exiting with
+# non-zero status.
+#
+# The hook is called with the following parameters:
+#
+# $1 -- the upstream the series was forked from.
+# $2 -- the branch being rebased (or empty when rebasing the current branch).
+#
+# This sample shows how to prevent topic branches that are already
+# merged to 'next' branch from getting rebased, because allowing it
+# would result in rebasing already published history.
+
+publish=next
+basebranch="$1"
+if test "$#" = 2
+then
+       topic="refs/heads/$2"
+else
+       topic=`git symbolic-ref HEAD` ||
+       exit 0 ;# we do not interrupt rebasing detached HEAD
+fi
+
+case "$topic" in
+refs/heads/??/*)
+       ;;
+*)
+       exit 0 ;# we do not interrupt others.
+       ;;
+esac
+
+# Now we are dealing with a topic branch being rebased
+# on top of master.  Is it OK to rebase it?
+
+# Does the topic really exist?
+git show-ref -q "$topic" || {
+       echo >&2 "No such branch $topic"
+       exit 1
+}
+
+# Is topic fully merged to master?
+not_in_master=`git rev-list --pretty=oneline ^master "$topic"`
+if test -z "$not_in_master"
+then
+       echo >&2 "$topic is fully merged to master; better remove it."
+       exit 1 ;# we could allow it, but there is no point.
+fi
+
+# Is topic ever merged to next?  If so you should not be rebasing it.
+only_next_1=`git rev-list ^master "^$topic" ${publish} | sort`
+only_next_2=`git rev-list ^master           ${publish} | sort`
+if test "$only_next_1" = "$only_next_2"
+then
+       not_in_topic=`git rev-list "^$topic" master`
+       if test -z "$not_in_topic"
+       then
+               echo >&2 "$topic is already up-to-date with master"
+               exit 1 ;# we could allow it, but there is no point.
+       else
+               exit 0
+       fi
+else
+       not_in_next=`git rev-list --pretty=oneline ^${publish} "$topic"`
+       /usr/bin/perl -e '
+               my $topic = $ARGV[0];
+               my $msg = "* $topic has commits already merged to public 
branch:\n";
+               my (%not_in_next) = map {
+                       /^([0-9a-f]+) /;
+                       ($1 => 1);
+               } split(/\n/, $ARGV[1]);
+               for my $elem (map {
+                               /^([0-9a-f]+) (.*)$/;
+                               [$1 => $2];
+                       } split(/\n/, $ARGV[2])) {
+                       if (!exists $not_in_next{$elem->[0]}) {
+                               if ($msg) {
+                                       print STDERR $msg;
+                                       undef $msg;
+                               }
+                               print STDERR " $elem->[1]\n";
+                       }
+               }
+       ' "$topic" "$not_in_next" "$not_in_master"
+       exit 1
+fi
+
+exit 0
+
+################################################################
+
+This sample hook safeguards topic branches that have been
+published from being rewound.
+
+The workflow assumed here is:
+
+ * Once a topic branch forks from "master", "master" is never
+   merged into it again (either directly or indirectly).
+
+ * Once a topic branch is fully cooked and merged into "master",
+   it is deleted.  If you need to build on top of it to correct
+   earlier mistakes, a new topic branch is created by forking at
+   the tip of the "master".  This is not strictly necessary, but
+   it makes it easier to keep your history simple.
+
+ * Whenever you need to test or publish your changes to topic
+   branches, merge them into "next" branch.
+
+The script, being an example, hardcodes the publish branch name
+to be "next", but it is trivial to make it configurable via
+$GIT_DIR/config mechanism.
+
+With this workflow, you would want to know:
+
+(1) ... if a topic branch has ever been merged to "next".  Young
+    topic branches can have stupid mistakes you would rather
+    clean up before publishing, and things that have not been
+    merged into other branches can be easily rebased without
+    affecting other people.  But once it is published, you would
+    not want to rewind it.
+
+(2) ... if a topic branch has been fully merged to "master".
+    Then you can delete it.  More importantly, you should not
+    build on top of it -- other people may already want to
+    change things related to the topic as patches against your
+    "master", so if you need further changes, it is better to
+    fork the topic (perhaps with the same name) afresh from the
+    tip of "master".
+
+Let's look at this example:
+
+                  o---o---o---o---o---o---o---o---o---o "next"
+                 /       /           /           /
+                /   a---a---b A     /           /
+               /   /               /           /
+              /   /   c---c---c---c B         /
+             /   /   /             \         /
+            /   /   /   b---b C     \       /
+           /   /   /   /             \     /
+    ---o---o---o---o---o---o---o---o---o---o---o "master"
+
+
+A, B and C are topic branches.
+
+ * A has one fix since it was merged up to "next".
+
+ * B has finished.  It has been fully merged up to "master" and "next",
+   and is ready to be deleted.
+
+ * C has not merged to "next" at all.
+
+We would want to allow C to be rebased, refuse A, and encourage
+B to be deleted.
+
+To compute (1):
+
+       git rev-list ^master ^topic next
+       git rev-list ^master        next
+
+       if these match, topic has not merged in next at all.
+
+To compute (2):
+
+       git rev-list master..topic
+
+       if this is empty, it is fully merged to "master".
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/rtl-sdr-0.5.3+git.20161127/.git/hooks/pre-receive.sample 
new/rtl-sdr-0.5.3+git.20161127/.git/hooks/pre-receive.sample
--- old/rtl-sdr-0.5.3+git.20161127/.git/hooks/pre-receive.sample        
1970-01-01 01:00:00.000000000 +0100
+++ new/rtl-sdr-0.5.3+git.20161127/.git/hooks/pre-receive.sample        
2016-11-27 12:19:44.000000000 +0100
@@ -0,0 +1,24 @@
+#!/bin/sh
+#
+# An example hook script to make use of push options.
+# The example simply echoes all push options that start with 'echoback='
+# and rejects all pushes when the "reject" push option is used.
+#
+# To enable this hook, rename this file to "pre-receive".
+
+if test -n "$GIT_PUSH_OPTION_COUNT"
+then
+       i=0
+       while test "$i" -lt "$GIT_PUSH_OPTION_COUNT"
+       do
+               eval "value=\$GIT_PUSH_OPTION_$i"
+               case "$value" in
+               echoback=*)
+                       echo "echo from the pre-receive-hook: ${value#*=}" >&2
+                       ;;
+               reject)
+                       exit 1
+               esac
+               i=$((i + 1))
+       done
+fi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/rtl-sdr-0.5.3+git.20161127/.git/hooks/prepare-commit-msg.sample 
new/rtl-sdr-0.5.3+git.20161127/.git/hooks/prepare-commit-msg.sample
--- old/rtl-sdr-0.5.3+git.20161127/.git/hooks/prepare-commit-msg.sample 
1970-01-01 01:00:00.000000000 +0100
+++ new/rtl-sdr-0.5.3+git.20161127/.git/hooks/prepare-commit-msg.sample 
2016-11-27 12:19:44.000000000 +0100
@@ -0,0 +1,36 @@
+#!/bin/sh
+#
+# An example hook script to prepare the commit log message.
+# Called by "git commit" with the name of the file that has the
+# commit message, followed by the description of the commit
+# message's source.  The hook's purpose is to edit the commit
+# message file.  If the hook fails with a non-zero status,
+# the commit is aborted.
+#
+# To enable this hook, rename this file to "prepare-commit-msg".
+
+# This hook includes three examples.  The first comments out the
+# "Conflicts:" part of a merge commit.
+#
+# The second includes the output of "git diff --name-status -r"
+# into the message, just before the "git status" output.  It is
+# commented because it doesn't cope with --amend or with squashed
+# commits.
+#
+# The third example adds a Signed-off-by line to the message, that can
+# still be edited.  This is rarely a good idea.
+
+case "$2,$3" in
+  merge,)
+    /usr/bin/perl -i.bak -ne 's/^/# /, s/^# #/#/ if /^Conflicts/ .. /#/; 
print' "$1" ;;
+
+# ,|template,)
+#   /usr/bin/perl -i.bak -pe '
+#      print "\n" . `git diff --cached --name-status -r`
+#       if /^#/ && $first++ == 0' "$1" ;;
+
+  *) ;;
+esac
+
+# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p')
+# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rtl-sdr-0.5.3+git.20161127/.git/hooks/update.sample 
new/rtl-sdr-0.5.3+git.20161127/.git/hooks/update.sample
--- old/rtl-sdr-0.5.3+git.20161127/.git/hooks/update.sample     1970-01-01 
01:00:00.000000000 +0100
+++ new/rtl-sdr-0.5.3+git.20161127/.git/hooks/update.sample     2016-11-27 
12:19:44.000000000 +0100
@@ -0,0 +1,128 @@
+#!/bin/sh
+#
+# An example hook script to block unannotated tags from entering.
+# Called by "git receive-pack" with arguments: refname sha1-old sha1-new
+#
+# To enable this hook, rename this file to "update".
+#
+# Config
+# ------
+# hooks.allowunannotated
+#   This boolean sets whether unannotated tags will be allowed into the
+#   repository.  By default they won't be.
+# hooks.allowdeletetag
+#   This boolean sets whether deleting tags will be allowed in the
+#   repository.  By default they won't be.
+# hooks.allowmodifytag
+#   This boolean sets whether a tag may be modified after creation. By default
+#   it won't be.
+# hooks.allowdeletebranch
+#   This boolean sets whether deleting branches will be allowed in the
+#   repository.  By default they won't be.
+# hooks.denycreatebranch
+#   This boolean sets whether remotely creating branches will be denied
+#   in the repository.  By default this is allowed.
+#
+
+# --- Command line
+refname="$1"
+oldrev="$2"
+newrev="$3"
+
+# --- Safety check
+if [ -z "$GIT_DIR" ]; then
+       echo "Don't run this script from the command line." >&2
+       echo " (if you want, you could supply GIT_DIR then run" >&2
+       echo "  $0 <ref> <oldrev> <newrev>)" >&2
+       exit 1
+fi
+
+if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then
+       echo "usage: $0 <ref> <oldrev> <newrev>" >&2
+       exit 1
+fi
+
+# --- Config
+allowunannotated=$(git config --bool hooks.allowunannotated)
+allowdeletebranch=$(git config --bool hooks.allowdeletebranch)
+denycreatebranch=$(git config --bool hooks.denycreatebranch)
+allowdeletetag=$(git config --bool hooks.allowdeletetag)
+allowmodifytag=$(git config --bool hooks.allowmodifytag)
+
+# check for no description
+projectdesc=$(sed -e '1q' "$GIT_DIR/description")
+case "$projectdesc" in
+"Unnamed repository"* | "")
+       echo "*** Project description file hasn't been set" >&2
+       exit 1
+       ;;
+esac
+
+# --- Check types
+# if $newrev is 0000...0000, it's a commit to delete a ref.
+zero="0000000000000000000000000000000000000000"
+if [ "$newrev" = "$zero" ]; then
+       newrev_type=delete
+else
+       newrev_type=$(git cat-file -t $newrev)
+fi
+
+case "$refname","$newrev_type" in
+       refs/tags/*,commit)
+               # un-annotated tag
+               short_refname=${refname##refs/tags/}
+               if [ "$allowunannotated" != "true" ]; then
+                       echo "*** The un-annotated tag, $short_refname, is not 
allowed in this repository" >&2
+                       echo "*** Use 'git tag [ -a | -s ]' for tags you want 
to propagate." >&2
+                       exit 1
+               fi
+               ;;
+       refs/tags/*,delete)
+               # delete tag
+               if [ "$allowdeletetag" != "true" ]; then
+                       echo "*** Deleting a tag is not allowed in this 
repository" >&2
+                       exit 1
+               fi
+               ;;
+       refs/tags/*,tag)
+               # annotated tag
+               if [ "$allowmodifytag" != "true" ] && git rev-parse $refname > 
/dev/null 2>&1
+               then
+                       echo "*** Tag '$refname' already exists." >&2
+                       echo "*** Modifying a tag is not allowed in this 
repository." >&2
+                       exit 1
+               fi
+               ;;
+       refs/heads/*,commit)
+               # branch
+               if [ "$oldrev" = "$zero" -a "$denycreatebranch" = "true" ]; then
+                       echo "*** Creating a branch is not allowed in this 
repository" >&2
+                       exit 1
+               fi
+               ;;
+       refs/heads/*,delete)
+               # delete branch
+               if [ "$allowdeletebranch" != "true" ]; then
+                       echo "*** Deleting a branch is not allowed in this 
repository" >&2
+                       exit 1
+               fi
+               ;;
+       refs/remotes/*,commit)
+               # tracking branch
+               ;;
+       refs/remotes/*,delete)
+               # delete tracking branch
+               if [ "$allowdeletebranch" != "true" ]; then
+                       echo "*** Deleting a tracking branch is not allowed in 
this repository" >&2
+                       exit 1
+               fi
+               ;;
+       *)
+               # Anything else (is there anything else?)
+               echo "*** Update hook: unknown type of update to ref $refname 
of type $newrev_type" >&2
+               exit 1
+               ;;
+esac
+
+# --- Finished
+exit 0
Binary files old/rtl-sdr-0.5.3+git.20161127/.git/index and 
new/rtl-sdr-0.5.3+git.20161127/.git/index differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rtl-sdr-0.5.3+git.20161127/.git/info/exclude 
new/rtl-sdr-0.5.3+git.20161127/.git/info/exclude
--- old/rtl-sdr-0.5.3+git.20161127/.git/info/exclude    1970-01-01 
01:00:00.000000000 +0100
+++ new/rtl-sdr-0.5.3+git.20161127/.git/info/exclude    2016-11-27 
12:19:44.000000000 +0100
@@ -0,0 +1,6 @@
+# git ls-files --others --exclude-from=.git/info/exclude
+# Lines that start with '#' are comments.
+# For a project mostly in C, the following would be a good set of
+# exclude patterns (uncomment them if you want to use them):
+# *.[oa]
+# *~
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rtl-sdr-0.5.3+git.20161127/.git/logs/HEAD 
new/rtl-sdr-0.5.3+git.20161127/.git/logs/HEAD
--- old/rtl-sdr-0.5.3+git.20161127/.git/logs/HEAD       1970-01-01 
01:00:00.000000000 +0100
+++ new/rtl-sdr-0.5.3+git.20161127/.git/logs/HEAD       2016-11-27 
12:19:44.000000000 +0100
@@ -0,0 +1,2 @@
+0000000000000000000000000000000000000000 
e3e6ee23b7f052327bf64c6908f5c09b75029edc Martin Hauke <[email protected]> 
1492969872 +0200        clone: from 
/var/cache/obs/tar_scm/840ccdbcb0d667ba5506dd119e6c815a7fb469b6d441114666f096e636bb0923/rtl-sdr
+e3e6ee23b7f052327bf64c6908f5c09b75029edc 
e3e6ee23b7f052327bf64c6908f5c09b75029edc Martin Hauke <[email protected]> 
1492969872 +0200        reset: moving to origin/master
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/rtl-sdr-0.5.3+git.20161127/.git/logs/refs/heads/master 
new/rtl-sdr-0.5.3+git.20161127/.git/logs/refs/heads/master
--- old/rtl-sdr-0.5.3+git.20161127/.git/logs/refs/heads/master  1970-01-01 
01:00:00.000000000 +0100
+++ new/rtl-sdr-0.5.3+git.20161127/.git/logs/refs/heads/master  2016-11-27 
12:19:44.000000000 +0100
@@ -0,0 +1 @@
+0000000000000000000000000000000000000000 
e3e6ee23b7f052327bf64c6908f5c09b75029edc Martin Hauke <[email protected]> 
1492969872 +0200        clone: from 
/var/cache/obs/tar_scm/840ccdbcb0d667ba5506dd119e6c815a7fb469b6d441114666f096e636bb0923/rtl-sdr
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/rtl-sdr-0.5.3+git.20161127/.git/logs/refs/remotes/origin/HEAD 
new/rtl-sdr-0.5.3+git.20161127/.git/logs/refs/remotes/origin/HEAD
--- old/rtl-sdr-0.5.3+git.20161127/.git/logs/refs/remotes/origin/HEAD   
1970-01-01 01:00:00.000000000 +0100
+++ new/rtl-sdr-0.5.3+git.20161127/.git/logs/refs/remotes/origin/HEAD   
2016-11-27 12:19:44.000000000 +0100
@@ -0,0 +1 @@
+0000000000000000000000000000000000000000 
e3e6ee23b7f052327bf64c6908f5c09b75029edc Martin Hauke <[email protected]> 
1492969872 +0200        clone: from 
/var/cache/obs/tar_scm/840ccdbcb0d667ba5506dd119e6c815a7fb469b6d441114666f096e636bb0923/rtl-sdr
Binary files 
old/rtl-sdr-0.5.3+git.20161127/.git/objects/pack/pack-23713f2667c27cceaa58d69e7bb36725e8cb7435.idx
 and 
new/rtl-sdr-0.5.3+git.20161127/.git/objects/pack/pack-23713f2667c27cceaa58d69e7bb36725e8cb7435.idx
 differ
Binary files 
old/rtl-sdr-0.5.3+git.20161127/.git/objects/pack/pack-23713f2667c27cceaa58d69e7bb36725e8cb7435.pack
 and 
new/rtl-sdr-0.5.3+git.20161127/.git/objects/pack/pack-23713f2667c27cceaa58d69e7bb36725e8cb7435.pack
 differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rtl-sdr-0.5.3+git.20161127/.git/packed-refs 
new/rtl-sdr-0.5.3+git.20161127/.git/packed-refs
--- old/rtl-sdr-0.5.3+git.20161127/.git/packed-refs     1970-01-01 
01:00:00.000000000 +0100
+++ new/rtl-sdr-0.5.3+git.20161127/.git/packed-refs     2016-11-27 
12:19:44.000000000 +0100
@@ -0,0 +1,10 @@
+# pack-refs with: peeled fully-peeled 
+e3e6ee23b7f052327bf64c6908f5c09b75029edc refs/remotes/origin/master
+d7f08626730f922aaf5ea578ad8ee1679928291d refs/tags/v0.5.0
+^af1e2d29e80ce31e54cad771b47d31bdb846b695
+cf7267077fa598dc0686731c341cfe5848828244 refs/tags/v0.5.1
+^55694f07504fdd7a7bcb88e7ab1c969f63865885
+6aeda7275ebf4a09d9f6d4d62530e7ac6eeb4a3c refs/tags/v0.5.2
+^2d0eaa898d2d4e271aed87ae3849a80ac12cf76c
+eb2d8a15495d718ac75c70ed237f69d57dfa2027 refs/tags/v0.5.3
+^df9596b2d1ebd36cdb14549cfdd76c25092e14d0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rtl-sdr-0.5.3+git.20161127/.git/refs/heads/master 
new/rtl-sdr-0.5.3+git.20161127/.git/refs/heads/master
--- old/rtl-sdr-0.5.3+git.20161127/.git/refs/heads/master       1970-01-01 
01:00:00.000000000 +0100
+++ new/rtl-sdr-0.5.3+git.20161127/.git/refs/heads/master       2016-11-27 
12:19:44.000000000 +0100
@@ -0,0 +1 @@
+e3e6ee23b7f052327bf64c6908f5c09b75029edc
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/rtl-sdr-0.5.3+git.20161127/.git/refs/remotes/origin/HEAD 
new/rtl-sdr-0.5.3+git.20161127/.git/refs/remotes/origin/HEAD
--- old/rtl-sdr-0.5.3+git.20161127/.git/refs/remotes/origin/HEAD        
1970-01-01 01:00:00.000000000 +0100
+++ new/rtl-sdr-0.5.3+git.20161127/.git/refs/remotes/origin/HEAD        
2016-11-27 12:19:44.000000000 +0100
@@ -0,0 +1 @@
+ref: refs/remotes/origin/master
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rtl-sdr-0.5.3+git.20161127/.gitignore 
new/rtl-sdr-0.5.3+git.20161127/.gitignore
--- old/rtl-sdr-0.5.3+git.20161127/.gitignore   1970-01-01 01:00:00.000000000 
+0100
+++ new/rtl-sdr-0.5.3+git.20161127/.gitignore   2016-11-27 12:19:44.000000000 
+0100
@@ -0,0 +1,41 @@
+Makefile
+Makefile.in
+.deps
+.libs
+*.o
+*.lo
+*.la
+*.pc
+aclocal.m4
+acinclude.m4
+aminclude.am
+m4/*.m4
+autom4te.cache
+config.h*
+config.sub
+config.log
+config.status
+config.guess
+configure
+depcomp
+missing
+ltmain.sh
+install-sh
+stamp-h1
+libtool
+Doxyfile
+
+.tarball-version
+.version
+
+.*.swp
+
+doc/
+
+src/rtl_sdr
+src/rtl_tcp
+
+CMakeCache.txt
+*/CMakeFiles
+CMakeFiles
+*.cmake
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rtl-sdr-0.5.3+git.20161127/m4/.gitignore 
new/rtl-sdr-0.5.3+git.20161127/m4/.gitignore
--- old/rtl-sdr-0.5.3+git.20161127/m4/.gitignore        1970-01-01 
01:00:00.000000000 +0100
+++ new/rtl-sdr-0.5.3+git.20161127/m4/.gitignore        2016-11-27 
12:19:44.000000000 +0100
@@ -0,0 +1,2 @@
+/libtool.m4
+/lt*.m4


Reply via email to