From 40a605cb6ac871e6cacb12a4ca4a1d5431d17d6f Mon Sep 17 00:00:00 2001 From: Nils Philippsen Date: Dec 26 2017 20:56:17 +0000 Subject: remove portnames patch It doesn't compile, is not documented and upstream doesn't seem to know about it. --- diff --git a/jack-audio-connection-kit.spec b/jack-audio-connection-kit.spec index fd144f0..ea194fc 100644 --- a/jack-audio-connection-kit.spec +++ b/jack-audio-connection-kit.spec @@ -28,8 +28,6 @@ Patch1: jack2-1.9.12-outdir.patch Patch2: jack2-1.9.12-nointernalapi.patch # Adjust default priority. RHBZ#795094 Patch3: jack-realtime-compat.patch -# Enable renaming and reordering the jack ports RHBZ#887408 -Patch4: jack-portnames.patch # Fix ppc64 mpd startup issue RHBZ#799552 Patch5: jack-ppc64-long.patch # Fix building with gcc5 @@ -104,7 +102,6 @@ Small example clients that use the Jack Audio Connection Kit. %patch1 -p1 -b .outdir %patch2 -p1 -b .nointernalapi %patch3 -p1 -b .priority -%patch4 -p1 -b .portnames %patch5 -p1 -b .mpd %patch6 -p1 -b .gcc5 %patch7 -p1 -b .gcc6 @@ -269,6 +266,7 @@ exit 0 - version 1.9.12 - update source URL - update nodate, outdir, nointernalapi patches +- remove broken (undocumented, non-upstreamed) portnames patch * Wed Aug 02 2017 Fedora Release Engineering - 1.9.10-10 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild diff --git a/jack-portnames.patch b/jack-portnames.patch deleted file mode 100644 index b9b70bb..0000000 --- a/jack-portnames.patch +++ /dev/null @@ -1,295 +0,0 @@ -diff -rupN jack-1.9.10.org/linux/alsa/JackAlsaDriver.cpp jack-1.9.10/linux/alsa/JackAlsaDriver.cpp ---- jack-1.9.10.org/linux/alsa/JackAlsaDriver.cpp 2014-07-18 08:28:12.000000000 -0400 -+++ jack-1.9.10/linux/alsa/JackAlsaDriver.cpp 2014-11-28 23:32:47.637032593 -0500 -@@ -46,6 +46,7 @@ Foundation, Inc., 675 Mass Ave, Cambridg - #endif - #include "JackCompilerDeps.h" - #include "JackServerGlobals.h" -+#include "port_names.h" - - static struct jack_constraint_enum_str_descriptor midi_constraint_descr_array[] = - { -@@ -118,6 +119,8 @@ int JackAlsaDriver::Attach() - unsigned long port_flags = (unsigned long)CaptureDriverFlags; - char name[REAL_JACK_PORT_NAME_SIZE]; - char alias[REAL_JACK_PORT_NAME_SIZE]; -+ char old_name[REAL_JACK_PORT_NAME_SIZE]; -+ char **portnames; - - assert(fCaptureChannels < DRIVER_PORT_NUM); - assert(fPlaybackChannels < DRIVER_PORT_NUM); -@@ -133,13 +136,17 @@ int JackAlsaDriver::Attach() - - jack_log("JackAlsaDriver::Attach fBufferSize %ld fSampleRate %ld", fEngineControl->fBufferSize, fEngineControl->fSampleRate); - -+ portnames = port_names_get_portnames(alsa_driver); -+ - for (int i = 0; i < fCaptureChannels; i++) { - snprintf(alias, sizeof(alias), "%s:%s:out%d", fAliasName, fCaptureDriverName, i + 1); -- snprintf(name, sizeof(name), "%s:capture_%d", fClientControl.fName, i + 1); -+ snprintf(old_name, sizeof(old_name), "%s:capture_%d", fClientControl.fName, i + 1); -+ snprintf(name, sizeof(name), "%s:%s", fClientControl.fName, portnames[i]); - if (fEngine->PortRegister(fClientControl.fRefNum, name, JACK_DEFAULT_AUDIO_TYPE, (JackPortFlags)port_flags, fEngineControl->fBufferSize, &port_index) < 0) { - jack_error("driver: cannot register port for %s", name); - return -1; - } -+ free(portnames[i]); - port = fGraphManager->GetPort(port_index); - port->SetAlias(alias); - fCapturePortList[i] = port_index; -@@ -150,11 +157,13 @@ int JackAlsaDriver::Attach() - - for (int i = 0; i < fPlaybackChannels; i++) { - snprintf(alias, sizeof(alias), "%s:%s:in%d", fAliasName, fPlaybackDriverName, i + 1); -- snprintf(name, sizeof(name), "%s:playback_%d", fClientControl.fName, i + 1); -+ snprintf(old_name, sizeof(old_name), "%s:playback_%d", fClientControl.fName, i + 1); -+ snprintf(name, sizeof(name), "%s:%s", fClientControl.fName, portnames[i+fCaptureChannels]); - if (fEngine->PortRegister(fClientControl.fRefNum, name, JACK_DEFAULT_AUDIO_TYPE, (JackPortFlags)port_flags, fEngineControl->fBufferSize, &port_index) < 0) { - jack_error("driver: cannot register port for %s", name); - return -1; - } -+ free(portnames[i+fCaptureChannels]); - port = fGraphManager->GetPort(port_index); - port->SetAlias(alias); - fPlaybackPortList[i] = port_index; -@@ -172,6 +181,8 @@ int JackAlsaDriver::Attach() - } - } - -+ free(portnames); -+ - UpdateLatencies(); - - if (alsa_driver->midi) { -diff -rupN jack-1.9.10.org/linux/alsa/port_names.c jack-1.9.10/linux/alsa/port_names.c ---- jack-1.9.10.org/linux/alsa/port_names.c 1969-12-31 19:00:00.000000000 -0500 -+++ jack-1.9.10/linux/alsa/port_names.c 2014-11-28 23:32:47.636032597 -0500 -@@ -0,0 +1,179 @@ -+/* -*- mode: c; c-file-style: "linux"; -*- */ -+/* -+ Copyright (C) 2010 Florian Faber, faber@faberman.de -+ -+ 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 2 of the License, or -+ (at your option) any later version. -+ -+ This program 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, write to the Free Software -+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -+ -+*/ -+ -+ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#include "alsa_driver.h" -+ -+ -+static int port_names_load_portfile(alsa_driver_t *driver, const char *filename, char **buf, const unsigned int offset, const unsigned int num) { -+ int fh, i, ret, lineno, id, res=0; -+ char line[256]; -+ -+ printf("Trying to load portnames from %s\n", filename); -+ fh = open(filename, O_RDONLY); -+ if (-1!=fh) { -+ res = 1; -+ i = 0; -+ lineno = 1; -+ for (;;) { -+ ret = read(fh, &line[i], 1); -+ if (0==ret) { -+ break; -+ } else if (-1==ret) { -+ sprintf(stderr, "Error while reading \"%s\": %s", filename, strerror(errno)); -+ break; -+ } -+ if (0x0A==line[i]) { -+ /* new line, parse input */ -+ line[i] = 0; -+ -+ if ('#' != line[0]) { -+ i=0; -+ while ((i<255) && (line[i]!='=')) i++; -+ if (255==i) { -+ sprintf(stderr, "Error while reading \"%s\": Line %d has no key=value syntax!", filename, lineno); -+ } else { -+ line[i] = 0; -+ id = atoi(line); -+ if ((id>=1) && (id<=num)) { -+ if (NULL==buf[id-1+offset]) { -+ /* don't overwrite existing names */ -+ buf[id-1+offset] = strdup(&line[i+1]); -+ } -+ } else { -+ sprintf(stderr, "Error while reading \"%s\": Key %d out of range in line %d (1..%d)", filename, id, lineno, num); -+ } -+ } -+ } -+ -+ i = 0; -+ lineno++; -+ } else { -+ i++; -+ if (i==255) { -+ sprintf(stderr, "Error while reading \"%s\": Line %d is too long", filename, lineno); -+ break; -+ } -+ } -+ } -+ -+ (void) close(fh); -+ } -+ -+ return res; -+} -+ -+ -+static void port_names_default_portnames(char **buf, const unsigned int offset, const unsigned int num, const char *defaultname) { -+ unsigned int i; -+ char line[256]; -+ -+ /* Fill in default names */ -+ for (i=0; iframe_rate > 96000) { -+ speed="qs"; -+ } else if (driver->frame_rate > 48000) { -+ speed="ds"; -+ } else { -+ speed="ss"; -+ } -+ -+ snd_ctl_card_info_alloca(&card_info); -+ err = snd_ctl_card_info(driver->ctl_handle, card_info); -+ if (err >= 0) { -+ card_name = snd_ctl_card_info_get_name(card_info); -+ } else { -+ card_name = "noname"; -+ } -+ -+ buf = malloc(sizeof(char *)*(driver->capture_nchannels + driver->playback_nchannels)); -+ if (NULL==buf) { -+ sprintf(stderr, "ALSA: Not enough memory for %d port names", driver->capture_nchannels + driver->playback_nchannels); -+ return NULL; -+ } -+ bzero(buf, sizeof(char *)*(driver->capture_nchannels + driver->playback_nchannels)); -+ -+ /* Read port names from special to general: -+ * Begin with user and speed specific port names */ -+ snprintf(filename, 255, "%s/.config/jack/cards/%s.%s.ports.in", getenv("HOME"), card_name, speed); -+ (void) port_names_load_portfile(driver, filename, buf, 0, driver->capture_nchannels); -+ -+ /* Now user general */ -+ snprintf(filename, 255, "%s/.config/jack/cards/%s.ports.in", getenv("HOME"), card_name); -+ (void) port_names_load_portfile(driver, filename, buf, 0, driver->capture_nchannels); -+ -+ /* System speed specific */ -+ snprintf(filename, 255, "/etc/jack/cards/%s.%s.ports.in", card_name, speed); -+ (void) port_names_load_portfile(driver, filename, buf, 0, driver->capture_nchannels); -+ -+ /* System general */ -+ snprintf(filename, 255, "/etc/jack/cards/%s.ports.in", card_name); -+ (void) port_names_load_portfile(driver, filename, buf, 0, driver->capture_nchannels); -+ -+ /* Fill all still unnamed ports with default names */ -+ port_names_default_portnames(buf, 0, driver->capture_nchannels, "capture_%lu"); -+ -+ -+ /* Same procedure for the playback channels */ -+ snprintf(filename, 255, "%s/.config/jack/cards/%s.%s.ports.out", getenv("HOME"), card_name, speed); -+ (void) port_names_load_portfile(driver, filename, buf, driver->capture_nchannels, driver->playback_nchannels); -+ -+ snprintf(filename, 255, "%s/.config/jack/cards/%s.ports.out", getenv("HOME"), card_name); -+ (void) port_names_load_portfile(driver, filename, buf, driver->capture_nchannels, driver->playback_nchannels); -+ -+ snprintf(filename, 255, "/etc/jack/cards/%s.%s.ports.out", card_name, speed); -+ (void) port_names_load_portfile(driver, filename, buf, driver->capture_nchannels, driver->playback_nchannels); -+ -+ snprintf(filename, 255, "/etc/jack/cards/%s.ports.out", card_name); -+ (void) port_names_load_portfile(driver, filename, buf, driver->capture_nchannels, driver->playback_nchannels); -+ -+ port_names_default_portnames(buf, driver->capture_nchannels, driver->playback_nchannels, "playback_%lu"); -+ -+ return buf; -+} -diff -rupN jack-1.9.10.org/linux/alsa/port_names.h jack-1.9.10/linux/alsa/port_names.h ---- jack-1.9.10.org/linux/alsa/port_names.h 1969-12-31 19:00:00.000000000 -0500 -+++ jack-1.9.10/linux/alsa/port_names.h 2014-11-28 23:32:47.637032593 -0500 -@@ -0,0 +1,34 @@ -+/* -+ Copyright (C) 2010 Florian Faber, faber@faberman.de -+ -+ 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 2 of the License, or -+ (at your option) any later version. -+ -+ This program 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, write to the Free Software -+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -+ -+*/ -+ -+#ifndef __jack_port_names_h__ -+#define __jack_port_names_h__ -+ -+#ifdef __cplusplus -+extern "C" -+{ -+#endif -+ -+char** port_names_get_portnames(alsa_driver_t *driver); -+ -+#ifdef __cplusplus -+} -+#endif -+ -+#endif /* __jack_port_names_h__ */ -diff -rupN jack-1.9.10.org/linux/wscript jack-1.9.10/linux/wscript ---- jack-1.9.10.org/linux/wscript 2014-07-18 08:28:13.000000000 -0400 -+++ jack-1.9.10/linux/wscript 2014-11-28 23:32:47.637032593 -0500 -@@ -62,6 +62,7 @@ def build(bld): - 'alsa/hdsp.c', - 'alsa/alsa_driver.c', - 'alsa/hammerfall.c', -+ 'alsa/port_names.c', - 'alsa/ice1712.c' - ] -