aboutsummaryrefslogtreecommitdiffstats
path: root/main/bluez/APKBUILD
blob: 2bfc484a6a1cc7b4bc6d720e27d0c465c7ec539d (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
# Contributor: Leo <thinkabit.ukim@gmail.com>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=bluez
# Make sure to also update the obexd-enhanced package if updating bluez
pkgver=5.72
pkgrel=1
pkgdesc="Tools for the Bluetooth protocol stack"
url="https://www.bluez.org/"
arch="all"
license="GPL-2.0-or-later AND BSD-2-Clause AND MIT"
depends="dbus"
replaces="udev"
makedepends="
	dbus-dev
	ell-dev
	eudev-dev
	glib-dev
	json-c-dev
	libical-dev
	libtool
	linux-headers
	py3-docutils
	py3-pygments
	readline-dev
	"
subpackages="
	$pkgname-dbg
	$pkgname-dev
	$pkgname-doc
	$pkgname-libs
	$pkgname-openrc
	$pkgname-btmgmt
	$pkgname-btmon
	$pkgname-cups
	$pkgname-deprecated
	$pkgname-deprecated-openrc
	$pkgname-hid2hci
	$pkgname-meshctl
	$pkgname-obexd
	$pkgname-plugins
	$pkgname-zsh-completion
	"
source="https://www.kernel.org/pub/linux/bluetooth/bluez-$pkgver.tar.xz
	bluetooth.initd
	rfcomm.initd
	rfcomm.confd
	org.bluez.obex.service
	mpris-proxy.desktop
	001-bcm43xx-Add-bcm43xx-3wire-variant.patch
	002-bcm43xx-The-UART-speed-must-be-reset-after-the-firmw.patch
	003-Increase-firmware-load-timeout-to-30s.patch
	004-Move-the-43xx-firmware-into-lib-firmware.patch
	005-hostname-Use-phone-class-for-handhelds.patch
	disable-lock-test.patch
	fix-endianness.patch
	test-mesh-crypto.patch
	disable_aics_unit_testcases.patch
	"

# secfixes:
#   5.54-r0:
#     - CVE-2020-0556

build() {
	CFLAGS="$CFLAGS -flto=auto" \
	./configure \
		--build=$CBUILD \
		--host=$CHOST \
		--prefix=/usr \
		--sysconfdir=/etc \
		--mandir=/usr/share/man \
		--localstatedir=/var \
		--libexecdir=/usr/lib \
		--disable-systemd \
		--enable-library \
		--enable-deprecated \
		--enable-hid2hci \
		--enable-mesh \
		--enable-sixaxis \
		--with-dbusconfdir=/usr/share
	make
}

check() {
	make check
}

package() {
	make DESTDIR="$pkgdir" install install-pluginLTLIBRARIES

	install -D -m644 src/main.conf "$pkgdir"/etc/bluetooth/main.conf

	install -Dm755 "$srcdir"/bluetooth.initd "$pkgdir"/etc/init.d/bluetooth
	install -Dm755 "$srcdir"/rfcomm.initd "$pkgdir"/etc/init.d/rfcomm
	install -Dm644 "$srcdir"/rfcomm.confd "$pkgdir"/etc/conf.d/rfcomm

	install -Dm755 test/simple-agent "$pkgdir"/usr/bin/bluez-simple-agent
	install -Dm755 tools/btmgmt -t "$pkgdir"/usr/bin/
	install -Dm755 attrib/gatttool -t "$pkgdir"/usr/bin/

	install -Dm644 "$srcdir"/org.bluez.obex.service \
		"$pkgdir"/usr/share/dbus-1/services/org.bluez.obex.service

	# Autostart mpris-proxy to pass through MPRIS control over BlueZ
	install -Dm644 "$srcdir"/mpris-proxy.desktop -t "$pkgdir"/etc/xdg/autostart/
}

btmgmt() {
	pkgdesc="Bluez tool for the Bluetooth Management API"
	amove usr/bin/btmgmt
}

btmon() {
	pkgdesc="Bluez bluetooth monitor"
	amove usr/bin/btmon
}

cups() {
	pkgdesc="Bluez backend for CUPS"
	amove usr/lib/cups
}

hid2hci() {
	pkgdesc="Put HID proxying bluetooth HCI's into HCI mode"
	replaces="bluez"
	amove /lib
}

deprecated() {
	pkgdesc="Deprecated bluetooth tools"
	amove \
		usr/bin/ciptool \
		usr/bin/gatttool \
		usr/bin/hciattach \
		usr/bin/hciconfig \
		usr/bin/hcidump \
		usr/bin/hcitool \
		usr/bin/rfcomm \
		usr/bin/sdptool
}

meshctl() {
	pkgdesc="Bluez tool for interacting with bluetooth mesh networks"
	amove usr/bin/meshctl
}

obexd() {
	pkgdesc="Bluez OBEX daemon"
	provides="obexd"
	provider_priority=100
	amove \
		usr/lib/bluetooth/obexd \
		usr/share/dbus-1/services/org.bluez.obex.service
}

plugins() {
	pkgdesc="Bluez plugins (PS3 Sixaxis controller)"
	amove usr/lib/bluetooth/plugins/sixaxis.so
}

openrc() {
	case "$subpkgname" in
		"$pkgname"-deprecated-openrc)
			# Make this the same as deprecated()
			# the default_openrc function will add
			# the correct (OpenRC init scripts) suffix
			pkgdesc="Deprecated bluez tools"
			;;
	esac

	default_openrc

	case "$subpkgname" in
		"$pkgname"-openrc)
			# Move the rfcomm .initd and .confd back to the
			# mainpkg so the -deprecated-openrc subpackage
			# can move them later
			mkdir -p "$pkgdir"/etc/init.d "$pkgdir"/etc/conf.d
			mv "$subpkgdir"/etc/init.d/rfcomm "$pkgdir"/etc/init.d
			mv "$subpkgdir"/etc/conf.d/rfcomm "$pkgdir"/etc/conf.d
			rmdir "$subpkgdir"/etc/conf.d # Only rfcomm was here
			;;
	esac
}

sha512sums="
1c6560f60ac0654d7c25ed8ab2f0f3a3a9ca8688ee28e1c476ffc7ae38737e739d27bbb88789c86b03fc600a8a68496d90a7b395ec393dd2bbf69be62357991a  bluez-5.72.tar.xz
5442f4f489718e51c50611c143803f2cc99e540b55a72af20ea2921b256774a6c7c5e273f2bedb745753d8c67d3fb7c938750fb48feac7460b32bd1cca029a28  bluetooth.initd
8d7b7c8938a2316ce0a855e9bdf1ef8fcdf33d23f4011df828270a088b88b140a19c432e83fef15355d0829e3c86be05b63e7718fef88563254ea239b8dc12ac  rfcomm.initd
a70aa0dbbabe7e29ee81540a6f98bf191a850da55a28f678975635caf34b363cf4d461a801b3484120ee28fdd21240bd456a4f5d706262700924bd2e9a0972fb  rfcomm.confd
d6766a4992ed4141569d6d82a802a771a5cb4c08873bfb0fdbedeea4d738bf9b56d9e0452ec19b7635418b1af4ab9b1735692043d629cbed3ce0eda6f51e1c6f  org.bluez.obex.service
72f9bc6cafe910ed7d105d4f3a537b16cd897622b2391ea545e6a302fcce2ed79e490e2841c6290aa1290489870a67638d71b0de5bc57f9d650e2248d9e4f0a4  mpris-proxy.desktop
73202915fda01d420b2864da77b1c25af5a55c815e9be6546400a0940bfb6097d83322790bc22a80ec0fcd557144fdd1877e243a79285a7f040ff96ba3600b94  001-bcm43xx-Add-bcm43xx-3wire-variant.patch
d5fd1c962bd846eaa6fff879bab85f753eb367d514f82d133b5d3242e1da989af5eddd942c60a87d5b67783e060f91bfa0f74fb1e8e6699cdee6e5bbe6a431ea  002-bcm43xx-The-UART-speed-must-be-reset-after-the-firmw.patch
784e9644c8de4e2693e2eeed988a245608b8cb14e1fc0dff8795c60c527b2e8d0c87862cfbfd6b850b47ae80cdf993a5ed3f477078ea1068fd7374899c7a1a77  003-Increase-firmware-load-timeout-to-30s.patch
6d864d893aaf08d7a04f5cb27a6b2767c361cd41e479f27ed84d9fbbd2677298c15e31161a614af098df8faf3da54b71cf315fe8e9a9a2f671e4720c7b8b457b  004-Move-the-43xx-firmware-into-lib-firmware.patch
ac635f9bca0e983835940572eb1b96ad70cf60fb84d5b0fde38c76ea6d1b13ef7d9adf81468b9fed779c890ab69dd5dfabf21970bff018466115c424668b82fb  005-hostname-Use-phone-class-for-handhelds.patch
04c4889372c8e790bb338dde7ffa76dc32fcf7370025c71b9184fcf17fd01ade4a6613d84d648303af3bbc54043ad489f29fc0cd4679ec8c9029dcb846d7e026  disable-lock-test.patch
2f54da5e77893d1d8b7164ddac5561a9e536c2b93b1d33dcbd97e74c0fd45588f1f50dc1d9d8519297871e3a376948082a2e45e27d823ec81cdedecd8dba3f0c  fix-endianness.patch
b5d6f7d2df755a9b8cffaeef13d232ba1bab27544bc59e2299bbd6a8017768cf7781f3ca65e430a149a26f0b30ae74b8510529ce161705bb6f41ae512cc2dbac  test-mesh-crypto.patch
25cc1d28fc5487224b5f55734094977227e557bd57cc74ffdc9b1664fdf246ce37adb49fea1fbf1fa1c9c7262d25a6abbe9629588ca672b64f0e684f38c01d4b  disable_aics_unit_testcases.patch
"