Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package shairport-sync for openSUSE:Factory checked in at 2022-02-07 23:38:22 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/shairport-sync (Old) and /work/SRC/openSUSE:Factory/.shairport-sync.new.1898 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "shairport-sync" Mon Feb 7 23:38:22 2022 rev:12 rq:952135 version:3.3.9 Changes: -------- --- /work/SRC/openSUSE:Factory/shairport-sync/shairport-sync.changes 2021-11-21 23:52:34.602176605 +0100 +++ /work/SRC/openSUSE:Factory/.shairport-sync.new.1898/shairport-sync.changes 2022-02-07 23:39:55.937688272 +0100 @@ -1,0 +2,8 @@ +Mon Feb 7 13:50:40 UTC 2022 - Hillwood Yang <[email protected]> + +- Update version to 3.3.9 + * Fix a build failure with convolution raised since automake 1.16.5 + and https://git.savannah.gnu.org/cgit/automake.git/commit/?id=f4a3a70f69e1dbccb6578f39ef47835098a04624 + * Fix tinysvcmdns: rr_data_len goes beyond packet buffer + +------------------------------------------------------------------- Old: ---- shairport-sync-3.3.8.tar.gz New: ---- shairport-sync-3.3.9.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ shairport-sync.spec ++++++ --- /var/tmp/diff_new_pack.rjlpXi/_old 2022-02-07 23:39:56.521684275 +0100 +++ /var/tmp/diff_new_pack.rjlpXi/_new 2022-02-07 23:39:56.525684248 +0100 @@ -1,7 +1,7 @@ # # spec file for package shairport-sync # -# Copyright (c) 2021 SUSE LLC +# Copyright (c) 2022 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,7 @@ Name: shairport-sync -Version: 3.3.8 +Version: 3.3.9 Release: 0 Summary: An AirPlay audio player License: GPL-3.0-only ++++++ shairport-sync-3.3.8.tar.gz -> shairport-sync-3.3.9.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/shairport-sync-3.3.8/.github/workflows/stale.yaml new/shairport-sync-3.3.9/.github/workflows/stale.yaml --- old/shairport-sync-3.3.8/.github/workflows/stale.yaml 1970-01-01 01:00:00.000000000 +0100 +++ new/shairport-sync-3.3.9/.github/workflows/stale.yaml 2021-12-08 11:42:01.000000000 +0100 @@ -0,0 +1,21 @@ +name: 'Close stale issues and PRs' +on: + schedule: + - cron: '0 0 * * *' + +permissions: + issues: write + pull-requests: write + +jobs: + stale: + runs-on: ubuntu-latest + steps: + - uses: actions/stale@v4 + with: + stale-issue-message: 'This issue has been inactive for 60 days so will be closed 7 days from now. To prevent this, please remove the "stale" label or post a comment.' + stale-pr-message: 'This PR has been inactive for 60 days so will be closed 7 days from now. To prevent this, please remove the "stale" label or post a comment.' + operations-per-run: 100 + # These are the defaults at the time of writing. https://github.com/marketplace/actions/close-stale-issues + # days-before-stale: 60 + # days-before-close: 7 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/shairport-sync-3.3.8/.gitignore new/shairport-sync-3.3.9/.gitignore --- old/shairport-sync-3.3.8/.gitignore 2021-04-26 12:35:11.000000000 +0200 +++ new/shairport-sync-3.3.9/.gitignore 2021-12-08 11:42:01.000000000 +0100 @@ -28,6 +28,9 @@ scripts/shairport-sync.service scripts/shairport-sync shairport-sync.core +gitversion.h +plist_xml_strings.* + #Some dbus files that are automatically generated /org.gnome.ShairportSync.service @@ -42,3 +45,5 @@ # macOS stuff .DS_Store shairport-sync.xcodeproj + + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' "old/shairport-sync-3.3.8/CAR INSTALL.md" "new/shairport-sync-3.3.9/CAR INSTALL.md" --- "old/shairport-sync-3.3.8/CAR INSTALL.md" 2021-04-26 12:35:11.000000000 +0200 +++ "new/shairport-sync-3.3.9/CAR INSTALL.md" 2021-12-08 11:42:01.000000000 +0100 @@ -1,5 +1,5 @@ # Shairport Sync for Cars -If your car audio has an AUX input, you can get AirPlay in your car using Shairport Sync. Together, Shairport Sync and an iPhone can give you access to internet radio, YouTube, Apple Music, Spotify, etc. on the move. While Shairport Sync is no substitute for CarPlay, the audio quality is often much better than Bluetooth. Your passengers can enjoy movies with the soundtrack on the car speakers. You can even listen to Siri's traffic directions on your car audio. +If your car audio has an AUX input, you can get AirPlay in your car using Shairport Sync. Together, Shairport Sync and an iPhone can give you access to internet radio, YouTube, Apple Music, Spotify, etc. on the move. While Shairport Sync is no substitute for CarPlay, the audio quality is often much better than Bluetooth. Your passengers can enjoy movies with the soundtrack on the car speakers. ## The Basic Idea @@ -14,7 +14,7 @@ ## Example -In this example, a Raspberry Pi Zero W and a Pimoroni PHAT DAC are used. This combination has been tested for well over a year. Please note that some of the details of setting up networks are specific to the version of Linux used -- Raspbian Stretch. +In this example, a Raspberry Pi Zero W and a Pimoroni PHAT DAC are used. This combination has been tested for over two years. Please note that some of the details of setting up networks are specific to the version of Linux used -- Raspbian Stretch or later. ### Prepare the initial SD Image * Download the latest version of Raspbian Lite -- Stretch Lite of 2018-03-13 at the time of writing -- and install it onto an SD Card. @@ -42,7 +42,6 @@ ``` # apt-get update # apt-get upgrade -# rpi-update ``` ### Shairport Sync @@ -92,6 +91,7 @@ ``` Disable both of these services from starting at boot time (this is because we will launch them sequentially later on): ``` +# systemctl unmask hostapd # systemctl disable hostapd # systemctl disable isc-dhcp-server ``` @@ -193,8 +193,66 @@ ``` From this point on, at least on the Raspberry Pi, if you reboot the machine, it will not reconnect to your network ??? instead, it will act as the WiFi base station you have configured with `hostapd` and `isc-dhcp-server`. +### Optimise startup time -- Raspberry Pi Specific + +This is applicable to a Raspberry Pi only. Some of it may be applicable to other systems, but it has not been tested on them. There are quite a few services that are not necessary for this setup. Disabling them can shorten startup time. Running these commands disables them: + +```` +sudo systemctl disable systemd-timesyncd.service +sudo systemctl disable keyboard-setup.service +sudo systemctl disable triggerhappy.service +sudo systemctl disable dhcpcd.service +sudo systemctl disable wpa_supplicant.service +sudo systemctl disable dphys-swapfile.service +sudo systemctl disable networking.service +```` + +### Read-only mode -- Raspberry Pi Specific + +Run `sudo raspi-config` and then choose `Performance Options` > `Overlay Filesystem` and choose to enable the overlay filesystem, and to set the boot partition to be write-protected. + ### Ready Install the Raspberry Pi in your car. It should be powered from a source that is switched off when you leave the car, otherwise the slight current drain will eventually flatten the car's battery. When the power source is switched on, typically when you start the car, it will take maybe a minute for the system to boot up. ### Enjoy! + +--- + +## Updating +From time to time, you may wish to update this installation. However, in order to update Shairport Sync, you must reconnect the system to a network that can access the internet. The easiest thing is to temporarily reconnect to the network you used when you created the system. To do that, you have to temporarily undo the "Final Steps" and some of the "Raspberry Pi Specific" steps you used. This will enable you to connect your device back to the network it was created on. You should then be able to update the operating system and libraries in the normal way and then update Shairport Sync. + +So, take the following steps: + +1. If it's a Raspberry Pi and you have enabled the Read-only mode, you must take the device out of Read-only mode: +Run `sudo raspi-config` and then choose `Performance Options` > `Overlay Filesystem` and choose to disable the overlay filesystem and to set the boot partition not to be write-protected. This is so that changes can be written to the file system; you can make the filesystem read-only again later. Save the changes and reboot the system. + +2. If you have disabled the `dhcpcd`, `wpa_supplicant` or `systemd-timesyncd` services as suggested in the "Optimise startup time -- Raspberry Pi Specific" section, you need to temporarily re-enable them: +`# systemctl enable dhcpcd.service` +`# systemctl enable wpa_supplicant.service` +`# systemctl enable systemd-timesyncd.service` +Reboot. + +3. To allow your device to reconnect to the network it was created on, edit `/etc/dhcpcd.conf` and comment out the following line at the start: +`denyinterfaces wlan0` +so that it looks like this: +`# denyinterfaces wlan0` +From this point on, if you reboot the machine, it will connect to the network it was configured on, i.e. the network you used when you set it up for the first time. This is because the name and password of the network it was created on would have been placed in `/etc/wpa_supplicant/wpa_supplicant` when the system was initially configured and will still be there. + +4. Reboot and do Normal Updating + + You can perform updates in the normal way -- see [UPDATING](https://github.com/mikebrady/shairport-sync/blob/master/UPDATING.md). When you are finished, you need to undo the temporary changes you made to the setup, as follows: + +5. If you had temporarily re-enabled services that are normally disabled, then it's time to disable them again: +`# systemctl disable dhcpcd.service` +`# systemctl disable wpa_supplicant.service` +`# systemctl disable systemd-timesyncd.service` + +6. To re-enable the system to create its own network, edit `/etc/dhcpcd.conf` and uncomment the line that you had temporarily commented out at the start of the update. Change: +`# denyinterfaces wlan0` +so that it looks like this: +`denyinterfaces wlan0` + +7. Reboot. The system should start as it would if it was in the car. + +8. If the device is a Raspberry Pi and you wish to make the file system read-only, connect to the system, run `sudo raspi-config` and then choose `Performance Options` > `Overlay Filesystem`. In there, choose to enable the overlay filesystem, and to set the boot partition to be write-protected. Do a final reboot and check that everyting is in order. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/shairport-sync-3.3.8/INSTALL.md new/shairport-sync-3.3.9/INSTALL.md --- old/shairport-sync-3.3.8/INSTALL.md 2021-04-26 12:35:11.000000000 +0200 +++ new/shairport-sync-3.3.9/INSTALL.md 2021-12-08 11:42:01.000000000 +0100 @@ -44,7 +44,7 @@ First, install the packages needed by Shairport Sync: ``` -# apt-get install build-essential git xmltoman autoconf automake libtool \ +# apt install --no-install-recommends build-essential git xmltoman autoconf automake libtool \ libpopt-dev libconfig-dev libasound2-dev avahi-daemon libavahi-client-dev libssl-dev libsoxr-dev ``` Next, download Shairport Sync, configure it, compile and install it: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/shairport-sync-3.3.8/README.md new/shairport-sync-3.3.9/README.md --- old/shairport-sync-3.3.8/README.md 2021-04-26 12:35:11.000000000 +0200 +++ new/shairport-sync-3.3.9/README.md 2021-12-08 11:42:01.000000000 +0100 @@ -1,7 +1,7 @@ Shairport Sync ============= -Shairport Sync is an AirPlay audio player ??? it plays audio streamed from iTunes, iOS, Apple TV and macOS devices and AirPlay sources such as Quicktime Player and [ForkedDaapd](http://ejurgensen.github.io/forked-daapd/), among others. +Shairport Sync is an AirPlay 1 audio player. Switch to the `development` branch for a version with limited AirPlay 2 functionality. Shairport Sync plays audio streamed from iTunes, iOS, Apple TV and macOS devices and AirPlay sources such as Quicktime Player and [OwnTone](https://github.com/owntone/owntone-server#owntone-previously-forked-daapd), among others. Audio played by a Shairport Sync-powered device stays synchronised with the source and hence with similar devices playing the same source. In this way, synchronised multi-room audio is possible for players that support it, such as iTunes and the macOS Music app. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/shairport-sync-3.3.8/configure.ac new/shairport-sync-3.3.9/configure.ac --- old/shairport-sync-3.3.8/configure.ac 2021-04-26 12:35:11.000000000 +0200 +++ new/shairport-sync-3.3.9/configure.ac 2021-12-08 11:42:01.000000000 +0100 @@ -2,8 +2,8 @@ # Process this file with autoconf to produce a configure script. AC_PREREQ([2.50]) -AC_INIT([shairport-sync], [3.3.8], [[email protected]]) -AM_INIT_AUTOMAKE +AC_INIT([shairport-sync], [3.3.9], [[email protected]]) +AM_INIT_AUTOMAKE([subdir-objects]) AC_CONFIG_SRCDIR([shairport.c]) AC_CONFIG_HEADERS([config.h]) AC_PROG_RANLIB @@ -302,7 +302,6 @@ # Look for Convolution flag AC_ARG_WITH(convolution, [AS_HELP_STRING([--with-convolution],[choose audio DSP convolution support])]) if test "x$with_convolution" = "xyes" ; then - AM_INIT_AUTOMAKE([subdir-objects]) AC_DEFINE([CONFIG_CONVOLUTION], 1, [Include audio DSP convolution support.]) AC_CHECK_LIB([sndfile], [sf_open], , AC_MSG_ERROR(Convolution support requires the sndfile library -- libsndfile1-dev suggested!)) fi diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/shairport-sync-3.3.8/tinysvcmdns.c new/shairport-sync-3.3.9/tinysvcmdns.c --- old/shairport-sync-3.3.8/tinysvcmdns.c 2021-04-26 12:35:11.000000000 +0200 +++ new/shairport-sync-3.3.9/tinysvcmdns.c 2021-12-08 11:42:01.000000000 +0100 @@ -735,7 +735,8 @@ if (name == NULL) goto err; - // parse the MDNS RR section p += label_len(pkt_buf, pkt_len, off); + // parse the MDNS RR section + p += label_len(pkt_buf, pkt_len, off); rr->name = name; rr->type = mdns_read_u16(p);
