Merge ~alfonsosanchezbeato/snappy-hwe-snaps/+git/pulseaudio:use-layouts into ~snappy-hwe-team/snappy-hwe-snaps/+git/pulseaudio:master

Proposed by Alfonso Sanchez-Beato
Status: Merged
Approved by: Alfonso Sanchez-Beato
Approved revision: 9252467b5baf5e292e051d9dc2a8e9bb396cab2c
Merged at revision: ba7c14170389c7f5cfef072ae018f55171675295
Proposed branch: ~alfonsosanchezbeato/snappy-hwe-snaps/+git/pulseaudio:use-layouts
Merge into: ~snappy-hwe-team/snappy-hwe-snaps/+git/pulseaudio:master
Diff against target: 262 lines (+69/-76)
3 files modified
bin/client-wrapper (+1/-4)
bin/pulseaudio (+9/-12)
snapcraft.yaml (+59/-60)
Reviewer Review Type Date Requested Status
System Enablement Bot continuous-integration Approve
Review via email: mp+388225@code.launchpad.net

Commit message

Put back pulseaudio plug
Include only needed libraries in the snap
bin/pulseaudio: fix some shellcheck warnings
Use command chain for the wrapper
Use layouts and drop patches
Put back pulseaudio service slot
Add additional plugs to support ALSA fully
Enable dbus and add bluez plug
Move to audio-playback, audio-record interfaces instead of pulseaudio

Description of the change

Put back pulseaudio plug
Include only needed libraries in the snap
bin/pulseaudio: fix some shellcheck warnings
Use command chain for the wrapper
Use layouts and drop patches
Put back pulseaudio service slot
Add additional plugs to support ALSA fully
Enable dbus and add bluez plug
Move to audio-playback, audio-record interfaces instead of pulseaudio

To post a comment you must log in.
Revision history for this message
System Enablement Bot (system-enablement-ci-bot) wrote :

PASSED: Successfully build documentation, rev: 9252467b5baf5e292e051d9dc2a8e9bb396cab2c

Generated documentation is available at https://jenkins.canonical.com/system-enablement/job/snappy-hwe-snaps-snap-docs/1350/

Revision history for this message
System Enablement Bot (system-enablement-ci-bot) wrote :
review: Approve (continuous-integration)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
diff --git a/bin/client-wrapper b/bin/client-wrapper
index 255187c..a75baeb 100755
--- a/bin/client-wrapper
+++ b/bin/client-wrapper
@@ -19,7 +19,6 @@ if [ "$(id -u)" -ne 0 ]; then
19 exit 119 exit 1
20fi20fi
2121
22export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$SNAP/usr/lib/pulseaudio:$SNAP/usr/lib/pulse-8.0/modules/
23export PULSE_CLIENTCONFIG=$SNAP/etc/pulse/client.conf22export PULSE_CLIENTCONFIG=$SNAP/etc/pulse/client.conf
24export PULSE_RUNTIME_PATH=/var/run/pulse23export PULSE_RUNTIME_PATH=/var/run/pulse
25export PULSE_SYSTEM=124export PULSE_SYSTEM=1
@@ -29,6 +28,4 @@ unset XDG_RUNTIME_DIR
29export HOME=$SNAP_DATA/home28export HOME=$SNAP_DATA/home
30mkdir -p "$HOME"29mkdir -p "$HOME"
3130
32command="$SNAP/$1"31exec "$@"
33shift
34exec "$command" "$@"
diff --git a/bin/pulseaudio b/bin/pulseaudio
index 8b9a797..ea17f08 100755
--- a/bin/pulseaudio
+++ b/bin/pulseaudio
@@ -1,8 +1,5 @@
1#!/bin/sh1#!/bin/bash -ex
2set -e
3set -x
42
5export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$SNAP/usr/lib/pulseaudio:$SNAP/usr/lib/pulse-8.0/modules/
6export PULSE_RUNTIME_PATH=/var/run/pulse3export PULSE_RUNTIME_PATH=/var/run/pulse
7export PULSE_STATE_PATH=$SNAP_DATA/state4export PULSE_STATE_PATH=$SNAP_DATA/state
8export ALSA_CONFIG_UCM=$SNAP/usr/share/alsa/ucm5export ALSA_CONFIG_UCM=$SNAP/usr/share/alsa/ucm
@@ -10,20 +7,20 @@ export ALSA_CONFIG_TPLG=$SNAP/usr/share/alsa/topology
10export ALSA_CONFIG_PATH=$SNAP/usr/share/alsa/alsa.conf7export ALSA_CONFIG_PATH=$SNAP/usr/share/alsa/alsa.conf
11export ALSA_MIXER_SIMPLE=$SNAP/usr/share/alsa/smixer.conf8export ALSA_MIXER_SIMPLE=$SNAP/usr/share/alsa/smixer.conf
129
13mkdir -p $PULSE_STATE_PATH10mkdir -p "$PULSE_STATE_PATH"
1411
15EXTRA_ARGS=12EXTRA_ARGS=()
1613
17if [ -e $SNAP_DATA/config/debug ] ; then14if [ -e "$SNAP_DATA"/config/debug ] ; then
18 EXTRA_ARGS="$EXTRA_ARGS -vvvv"15 EXTRA_ARGS+=(-vvvv)
19 export LIBASOUND_DEBUG=116 export LIBASOUND_DEBUG=1
20fi17fi
2118
22exec $SNAP/usr/bin/pulseaudio \19exec "$SNAP"/usr/bin/pulseaudio \
23 --exit-idle-time=-1 \20 --exit-idle-time=-1 \
24 --disallow-exit=yes \21 --disallow-exit=yes \
25 --system \22 --system \
26 -F $SNAP/etc/pulse/default.pa \23 -F "$SNAP"/etc/pulse/default.pa \
27 -p $SNAP/usr/lib/pulse-8.0/modules \24 -p "$SNAP"/usr/lib/pulse-8.0/modules \
28 -n \25 -n \
29 $EXTRA_ARGS26 "${EXTRA_ARGS[@]}"
diff --git a/snapcraft.yaml b/snapcraft.yaml
index 34e50a4..6c8967c 100644
--- a/snapcraft.yaml
+++ b/snapcraft.yaml
@@ -16,26 +16,25 @@ apps:
16 pulseaudio:16 pulseaudio:
17 command: bin/pulseaudio17 command: bin/pulseaudio
18 daemon: simple18 daemon: simple
19 plugs: [network, network-bind]19 plugs: [network, network-bind, bluez, hardware-observe, alsa]
20 slots: [service]20 slots: [service, audio-playback, audio-record]
21 pactl:21 pactl:
22 command: bin/client-wrapper usr/bin/pactl22 command-chain: [bin/client-wrapper]
23 plugs: [client, network]23 command: usr/bin/pactl
24 # NOTE: This is deprecated with snapd 2.25 but needs to stay to24 plugs: [client, playback, record, network]
25 # guarantee all clients are updated correctly.
26 paplay:25 paplay:
27 command: bin/client-wrapper usr/bin/paplay26 command-chain: [bin/client-wrapper]
28 plugs: [client, home, network]27 command: usr/bin/paplay
29 # NOTE: This is deprecated with snapd 2.25 but needs to stay to28 plugs: [client, playback, home, network]
30 # guarantee all clients are updated correctly.
31 parec:29 parec:
32 command: bin/client-wrapper usr/bin/parec30 command-chain: [bin/client-wrapper]
33 plugs: [client, home, network]31 command: usr/bin/parec
34 # NOTE: This is deprecated with snapd 2.25 but needs to stay to32 plugs: [client, playback, record, home, network]
35 # guarantee all clients are updated correctly.
36 config:33 config:
37 command: bin/config34 command: bin/config
3835
36# For compatibility reasons, we will still offer the pulseaudio
37# slot, so older snaps can connect to it.
39slots:38slots:
40 service:39 service:
41 interface: pulseaudio40 interface: pulseaudio
@@ -43,8 +42,23 @@ slots:
43plugs:42plugs:
44 client:43 client:
45 interface: pulseaudio44 interface: pulseaudio
45 playback:
46 interface: audio-playback
47 record:
48 interface: audio-record
49
50layout:
51 /var/lib/pulse:
52 bind: $SNAP_DATA
53 /usr/lib/pulse-8.0:
54 symlink: $SNAP/usr/lib/pulse-8.0
55 /usr/share/pulseaudio:
56 symlink: $SNAP/usr/share/pulseaudio
57 /usr/share/alsa:
58 symlink: $SNAP/usr/share/alsa
4659
47parts:60parts:
61
48 pulseaudio-common:62 pulseaudio-common:
49 source: .63 source: .
50 plugin: nil64 plugin: nil
@@ -56,46 +70,14 @@ parts:
56 done70 done
57 cp -av data/copyright $SNAPCRAFT_PART_INSTALL/usr/share/doc/pulseaudio/71 cp -av data/copyright $SNAPCRAFT_PART_INSTALL/usr/share/doc/pulseaudio/
5872
59 alsa-lib:
60 plugin: autotools
61
62 source: https://git.launchpad.net/~snappy-hwe-team/snappy-hwe-snaps/+git/pulseaudio
63 source-type: git
64 source-branch: alsa-lib/xenial/1.1.0
65
66 configflags:
67 - --prefix=/usr
68 - --sysconfdir=/etc
69 - --libexec=/usr/lib
70 - --libdir=/usr/lib
71 - --localstatedir=/var
72 - --with-plugindir=/usr/lib/alsa-lib
73 - --disable-silent-rules
74 - --disable-static
75 - --disable-python
76
77 filesets:
78 libasound2:
79 - usr/lib/libasound.so*
80 - usr/lib/alsa-lib/*
81 - usr/share/alsa/*
82
83 stage:
84 - $libasound2
85
86
87 pulseaudio:73 pulseaudio:
88 after:
89 - alsa-lib
90
91 plugin: autotools74 plugin: autotools
9275 source: https://git.launchpad.net/ubuntu/+source/pulseaudio
93 source: https://git.launchpad.net/~snappy-hwe-team/snappy-hwe-snaps/+git/pulseaudio
94 source-type: git76 source-type: git
95 source-branch: pulseaudio/8.077 source-branch: applied/ubuntu/xenial-updates
96
97 build-packages:78 build-packages:
98 - intltool79 - intltool
80 - libapparmor-dev
99 - libasound2-dev81 - libasound2-dev
100 - libdbus-1-dev82 - libdbus-1-dev
101 - libjson-c-dev83 - libjson-c-dev
@@ -105,26 +87,26 @@ parts:
105 - libwebrtc-audio-processing-dev87 - libwebrtc-audio-processing-dev
106 - libltdl-dev88 - libltdl-dev
107 - libsndfile1-dev89 - libsndfile1-dev
108 - libx11-xcb-dev
109 - libx11-dev
110 - libtdb-dev90 - libtdb-dev
111 - libudev-dev91 - libudev-dev
112 - libasyncns-dev92 - libasyncns-dev
113 - libxcb1-dev
114 - libsbc-dev93 - libsbc-dev
11594 - libsnapd-glib-dev
116 stage-packages:95 stage-packages:
96 - libapparmor1
97 - libasound2
98 - libasound2-data
117 - libasyncns099 - libasyncns0
118 - libflac8100 - libflac8
119 - libltdl7101 - libltdl7
120 - libogg0102 - libogg0
121 - libsbc1103 - libsbc1
104 - libsnapd-glib1
122 - libsndfile1105 - libsndfile1
123 - libspeexdsp1106 - libspeexdsp1
124 - libtdb1107 - libtdb1
125 - libvorbis0a108 - libvorbis0a
126 - libvorbisenc2109 - libvorbisenc2
127
128 configflags:110 configflags:
129 - --prefix=/usr111 - --prefix=/usr
130 - --sysconfdir=/etc112 - --sysconfdir=/etc
@@ -143,14 +125,12 @@ parts:
143 - --disable-systemd-login125 - --disable-systemd-login
144 - --without-caps126 - --without-caps
145 - --disable-webrtc-aec127 - --disable-webrtc-aec
146 - --disable-dbus
147 - --disable-oss-output128 - --disable-oss-output
148 - --disable-oss-wrapper129 - --disable-oss-wrapper
149 - --disable-jack130 - --disable-jack
150 - --disable-x11131 - --disable-x11
151 - --with-system-user=root132 - --with-system-user=root
152 - --with-system-group=root133 - --with-system-group=root
153
154 filesets:134 filesets:
155 wanted:135 wanted:
156 - etc/*136 - etc/*
@@ -165,10 +145,29 @@ parts:
165 - usr/lib/libpulse.so*145 - usr/lib/libpulse.so*
166 - usr/lib/pulse-8.0/*146 - usr/lib/pulse-8.0/*
167 - usr/lib/pulseaudio/*.so147 - usr/lib/pulseaudio/*.so
168 - usr/lib/*/lib*148 - usr/lib/*/libasound*
169 - usr/share/doc149 - usr/lib/*/libltdl*
150 - usr/lib/*/libsndfile*
151 - usr/lib/*/liborc*
152 - usr/lib/*/libsbc*
153 - usr/lib/*/libtdb*
154 - usr/lib/*/libspeexdsp*
155 - usr/lib/*/libasyncns*
156 - usr/lib/*/libFLAC*
157 - usr/lib/*/libvorbis*
158 - usr/lib/*/libogg*
159 - usr/share/alsa/*
160 - usr/share/doc/libasound2*
161 - usr/share/doc/libltdl*
162 - usr/share/doc/libsbc*
163 - usr/share/doc/libsndfile*
164 - usr/share/doc/liborc*
165 - usr/share/doc/libtdb*
166 - usr/share/doc/libspeexdsp*
167 - usr/share/doc/libasyncns*
168 - usr/share/doc/libFLAC*
169 - usr/share/doc/libvorbis*
170 - usr/share/doc/libogg*
170 - usr/share/pulseaudio/*171 - usr/share/pulseaudio/*
171
172 stage:172 stage:
173 - $wanted173 - $wanted
174

Subscribers

People subscribed via source and target branches