blob: 38a7895c6c66c87eb5493e55c7692ff93c861a6c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
|
name: network-manager
version: 1.2.2-14-dev
summary: Network management framework
description: |
NetworkManager is a system network service that manages your network
devices and connections, attempting to keep active network connectivity
when available. It manages ethernet, WiFi, mobile broadband (WWAN) and
PPPoE devices, provides VPN integration with a variety of different
VPN serivces.
Please find the source code at https://code.launchpad.net/~snappy-hwe-team/snappy-hwe-snaps/+git/network-manager
confinement: strict
grade: stable
slots:
service: network-manager
plugs:
nmcli: network-manager
wpa:
interface: dbus
bus: system
name: fi.w1.wpa_supplicant1
hooks:
configure:
plugs:
- nmcli
- network-setup-control
apps:
nmcli:
command: usr/bin/nmcli
plugs: [nmcli]
aliases: [nmcli]
networkmanager:
command: bin/networkmanager
daemon: simple
slots: [service]
plugs: [modem-manager, ppp, network-setup-observe, wpa, firewall-control]
# FIXME: This will create currently a symlink inside /snap/bin
# which points nowhere as the service isn't exposed as application
# for the user. Instead snapd needs to gain support to handle
# aliases for services differently by adding the Alias= option
# within the systemd unit file instead for example. Until this
# is implemented we keep the alias disabled.
#
# aliases: [NetworkManager]
parts:
hooks:
plugin: dump
source: hooks
organize:
configure: meta/hooks/configure
networkmanager-common:
plugin: copy
files:
bin/networkmanager: bin/networkmanager
bin/dhcp-lease-mover: bin/dhcp-lease-mover
bin/nmcli-internal: bin/nmcli-internal
conf/NetworkManager.conf: etc/NetworkManager/NetworkManager.conf
data/copyright: usr/share/doc/network-manager/copyright
startup-hooks/99-wol-by-default.sh: startup-hooks/99-wol-by-default.sh
inotify-tools:
plugin: nil
stage-packages:
- libinotifytools0
- inotify-tools
filesets:
wanted:
- usr/share/doc/inotify-tools/copyright
- usr/bin/inotifywait
- usr/share/doc/libinotifytools0/copyright
- usr/lib/libinotifytools.so.0.4.1
- usr/lib/libinotifytools.so.0
snap:
- $wanted
networkmanager:
plugin: autotools
source: https://git.launchpad.net/~snappy-hwe-team/snappy-hwe-snaps/+git/network-manager
source-type: git
source-branch: network-manager/xenial/1.2.2
build-packages:
- intltool
- gtk-doc-tools
- libdbus-glib-1-dev
- libdbus-1-dev
- libiw-dev
- libglib2.0-dev
- libnl-3-dev
- libnl-route-3-dev
- libnl-genl-3-dev
- libnss3-dev
- libgnutls28-dev
- libgcrypt11-dev
- uuid-dev
- systemd
- libsystemd-dev
- libudev-dev
- libgudev-1.0-dev
- libgirepository1.0-dev
- gobject-introspection
- libglib2.0-doc
- libmm-glib-dev
- libndp-dev
- libreadline-dev
- libnewt-dev
- dbus-test-runner
- isc-dhcp-client
- python-dbus
- python-gi
- iptables
- ppp-dev
# We stage everything here we need for build and runtime
stage-packages:
- iputils-arping
- iw
- libc6
- libdbus-1-3
- libdbus-glib-1-2
- libgcrypt20
- libglib2.0-0
- libgudev-1.0-0
- libiw-dev
- libmbim-glib4
- libndp0
- libnl-3-200
- libnl-3-dev
- libnl-genl-3-200
- libnl-route-3-200
- libpam-systemd
- libreadline6
- libsystemd0
- libuuid1
- lsb-base
- uuid-dev
- wireless-tools
configflags:
# Disable all features we don't want enabled as we're not
# supporting them (yet).
- --prefix=/usr
- --libdir=/usr/lib
- --libexecdir=/usr/lib/NetworkManager
- --disable-qt
- --disable-teamdctl
- --disable-polkit
- --disable-vala
- --disable-config-plugin-ibft
- --with-dhcpcd=no
- --with-dhclient=no
- --with-dnsmasq=no
- --with-systemd-journal=no
- --with-session-tracking=no
# We only support suspend/resume tracking together with systemd/logind
# at the moment.
- --with-suspend-resume=systemd
# Removes dependency on libicudata which weights 25M. Also libsoup
# is only used to verify a domain in the DNS resolve process has a
# valid format and to check if a valid internet connection is available.
- --with-libsoup=no
# We want to support ModemManager
- --with-modem-manager-1=yes
- --enable-tests=yes
install: |
# Run all tests NetworkManager ships by default
make check
# Filter files pulled in by stage-packages so they aren't
# included in the final snap. We only need them to build
# NetworkManager. All runtime dependencies are pulled in with
# the rdepends part below. The only left items specified
# here are the results of the network manager build.
filesets:
binaries:
- usr/bin/nmcli
- usr/lib/*/NetworkManager
- usr/lib/pppd/2.4.5/nm-pppd-plugin.so
- usr/lib/NetworkManager
- usr/sbin/NetworkManager
- usr/lib/*/libnm-*
configs:
- etc/NetworkManager/*
docs:
- usr/share/doc
rdepends:
- lib64/*
- lib/*/
- usr/lib/*
unwanted:
# We don't want anything in usr/share but the doc folder
# to carry all copyright information
- -usr/share/bash-completion
- -usr/share/bug
- -usr/share/dbus-1
- -usr/share/gir-1.0
- -usr/share/glib-2.0
- -usr/share/gtk-doc
- -usr/share/lintian
- -usr/share/locale
- -usr/share/man
- -usr/share/pam-configs
- -usr/share/polkit-1
- -usr/share/upstart
# We don't use dhclient so we don't need this helper
- -usr/lib/NetworkManager/nm-dhcp-helper
# Things we don't support yet and don't have to ship
- -usr/lib/NetworkManager/libnm-device-plugin-adsl.so
- -usr/lib/NetworkManager/libnm-device-plugin-bluetooth.so
- -usr/lib/NetworkManager/libnm-settings-plugin-ibft.so
# Unwanted content coming from the stage debian packages
- -etc/
# Contains many libraries which are already present in usr/lib/
- -lib/
- -usr/include/
- -usr/etc
- -usr/sbin/invoke-rc.d
- -usr/sbin/service
- -usr/sbin/update-rc.d
- -usr/lib/dbus-1.0/
- -usr/lib/tmpfiles.d/
- -usr/lib/*/pkgconfig
- -usr/lib/pkgconfig
- -usr/lib/gcc/
- -usr/lib/*/gconv/
- -usr/lib/girepository-1.0/
- -usr/lib/systemd/
- -usr/lib/udev/
- -usr/lib/*.a
- -usr/lib/*/*.a
- -usr/lib/*.la
- -usr/lib/*/*.la
- -usr/lib/*/*.o
- -usr/lib/*/systemd-shim
- -usr/lib/*/systemd-shim-cgroup-release-agent
snap:
- $binaries
- $configs
- $docs
- $rdepends
- $unwanted
|