diff options
author | Peter A. Bigot <pab@pabigot.com> | 2018-05-07 07:25:18 -0500 |
---|---|---|
committer | Andrei Gherzan <andrei@gherzan.com> | 2018-05-09 16:45:50 +0100 |
commit | 2a0f25a71fa8d204af9774f3f519a54580c1152a (patch) | |
tree | b27a2861d95b79c8e7f9408e38aeb541c7a780f0 | |
parent | 6f8926e80ec06f3cf8fe5226016cee3faa22845d (diff) | |
download | meta-raspberrypi-2a0f25a71fa8d204af9774f3f519a54580c1152a.tar.gz |
bluez-firmware-raspbian: create to hold non-free firmware
Remove the material covered by the Cypress license from the bluez5
package and move it to its own package, derived directly from the
upstream sources.
Closes #224
Signed-off-by: Peter A. Bigot <pab@pabigot.com>
-rw-r--r-- | recipes-connectivity/bluez-firmware/bluez-firmware-raspbian.bb | 43 | ||||
-rw-r--r-- | recipes-connectivity/bluez-firmware/files/LICENCE.cypress | 139 | ||||
-rw-r--r-- | recipes-connectivity/bluez5/bluez5/BCM43430A1.hcd | bin | 36264 -> 0 bytes | |||
-rw-r--r-- | recipes-connectivity/bluez5/bluez5/BCM4345C0.hcd | bin | 55096 -> 0 bytes | |||
-rw-r--r-- | recipes-connectivity/bluez5/bluez5_%.bbappend | 19 |
5 files changed, 184 insertions, 17 deletions
diff --git a/recipes-connectivity/bluez-firmware/bluez-firmware-raspbian.bb b/recipes-connectivity/bluez-firmware/bluez-firmware-raspbian.bb new file mode 100644 index 0000000..df4e570 --- /dev/null +++ b/recipes-connectivity/bluez-firmware/bluez-firmware-raspbian.bb | |||
@@ -0,0 +1,43 @@ | |||
1 | SUMMARY = "Firmware files for Bluetooth support for Raspberry Pi" | ||
2 | HOMEPAGE = "https://github.com/RPi-Distro/bluez-firmware" | ||
3 | SECTION = "kernel" | ||
4 | LICENSE = "cypress-wireless" | ||
5 | NO_GENERIC_LICENSE[cypress-wireless] = "LICENCE.cypress" | ||
6 | LIC_FILES_CHKSUM = "\ | ||
7 | file://LICENCE.cypress;md5=cbc5f665d04f741f1e006d2096236ba7 \ | ||
8 | file://debian/copyright;md5=1c734a245a410aa1f9eebcb2e9b62105 \ | ||
9 | " | ||
10 | |||
11 | SRC_URI = "\ | ||
12 | git://github.com/RPi-Distro/bluez-firmware \ | ||
13 | file://LICENCE.cypress \ | ||
14 | " | ||
15 | SRCREV = "e28cd7ee8615de33aa7ec2b41d556af61a4a2707" | ||
16 | UPSTREAM_VERSION_UNKNOWN = "1" | ||
17 | |||
18 | S = "${WORKDIR}/git" | ||
19 | |||
20 | inherit allarch | ||
21 | |||
22 | python do_populate_lic_prepend() { | ||
23 | # Put the license into the source where license.bbclass wants it | ||
24 | import shutil | ||
25 | workdir = d.getVar('WORKDIR') | ||
26 | srcdir = d.getVar('S') | ||
27 | shutil.copy(os.path.join(workdir, 'LICENCE.cypress'), srcdir) | ||
28 | } | ||
29 | |||
30 | do_install() { | ||
31 | install -d ${D}${nonarch_base_libdir}/firmware/brcm/ | ||
32 | install -m 0644 ${S}/broadcom/BCM4345C0.hcd ${D}${nonarch_base_libdir}/firmware/brcm | ||
33 | install -m 0644 ${S}/broadcom/BCM43430A1.hcd ${D}${nonarch_base_libdir}/firmware/brcm | ||
34 | install -m 0644 ${WORKDIR}/LICENCE.cypress ${D}${nonarch_base_libdir}/firmware | ||
35 | } | ||
36 | |||
37 | FILES_${PN} = "\ | ||
38 | ${nonarch_base_libdir}/firmware \ | ||
39 | " | ||
40 | |||
41 | # Firmware files are generally not ran on the CPU, so they can be | ||
42 | # allarch despite being architecture specific | ||
43 | INSANE_SKIP = "arch" | ||
diff --git a/recipes-connectivity/bluez-firmware/files/LICENCE.cypress b/recipes-connectivity/bluez-firmware/files/LICENCE.cypress new file mode 100644 index 0000000..b320f27 --- /dev/null +++ b/recipes-connectivity/bluez-firmware/files/LICENCE.cypress | |||
@@ -0,0 +1,139 @@ | |||
1 | ### CYPRESS WIRELESS CONNECTIVITY DEVICES | ||
2 | ### DRIVER END USER LICENSE AGREEMENT (SOURCE AND BINARY DISTRIBUTION) | ||
3 | |||
4 | PLEASE READ THIS END USER LICENSE AGREEMENT ("Agreement") CAREFULLY BEFORE | ||
5 | DOWNLOADING, INSTALLING, OR USING THIS SOFTWARE, ANY ACCOMPANYING | ||
6 | DOCUMENTATION, OR ANY UPDATES PROVIDED BY CYPRESS ("Software"). BY | ||
7 | DOWNLOADING, INSTALLING, OR USING THE SOFTWARE, YOU ARE AGREEING TO BE BOUND | ||
8 | BY THIS AGREEMENT. IF YOU DO NOT AGREE TO ALL OF THE TERMS OF THIS | ||
9 | AGREEMENT, PROMPTLY RETURN AND DO NOT USE THE SOFTWARE. IF YOU HAVE | ||
10 | PURCHASED THE SOFTWARE, YOUR RIGHT TO RETURN THE SOFTWARE EXPIRES 30 DAYS | ||
11 | AFTER YOUR PURCHASE AND APPLIES ONLY TO THE ORIGINAL PURCHASER. | ||
12 | |||
13 | Software Provided in Binary Code Form. This paragraph applies to any Software | ||
14 | provided in binary code form. Subject to the terms and conditions of this | ||
15 | Agreement, Cypress Semiconductor Corporation ("Cypress") grants you a | ||
16 | non-exclusive, non-transferable license under its copyright rights in the | ||
17 | Software to reproduce and distribute the Software in object code form only, | ||
18 | solely for use in connection with Cypress integrated circuit products | ||
19 | ("Purpose"). | ||
20 | |||
21 | Software Provided in Source Code Form. This paragraph applies to any Software | ||
22 | provided in source code form ("Cypress Source Code"). Subject to the terms and | ||
23 | conditions of this Agreement, Cypress grants you a non-exclusive, | ||
24 | non-transferable license under its copyright rights in the Cypress Source Code | ||
25 | to reproduce, modify, compile, and distribute the Cypress Source Code (whether | ||
26 | in source code form or as compiled into binary code form) solely for the | ||
27 | Purpose. Cypress retains ownership of the Cypress Source Code and any compiled | ||
28 | version thereof. Subject to Cypress' ownership of the underlying Cypress | ||
29 | Source Code, you retain ownership of any modifications you make to the | ||
30 | Cypress Source Code. You agree not to remove any Cypress copyright or other | ||
31 | notices from the Cypress Source Code and any modifications thereof. Any | ||
32 | reproduction, modification, translation, compilation, or representation of | ||
33 | the Cypress Source Code except as permitted in this paragraph is prohibited | ||
34 | without the express written permission of Cypress. | ||
35 | |||
36 | Free and Open Source Software. Portions of the Software may be licensed under | ||
37 | free and/or open source licenses such as the GNU General Public License | ||
38 | ("FOSS"). FOSS is subject to the applicable license agreement and not this | ||
39 | Agreement. If you are entitled to receive the source code from Cypress for any | ||
40 | FOSS included with the Software, either the source code will be included with | ||
41 | the Software or you may obtain the source code at no charge from | ||
42 | <http://www.cypress.com/go/opensource>. The applicable license terms will | ||
43 | accompany each source code package. To review the license terms applicable to | ||
44 | any FOSS for which Cypress is not required to provide you with source code, | ||
45 | please see the Software's installation directory on your computer. | ||
46 | |||
47 | Proprietary Rights. The Software, including all intellectual property rights | ||
48 | therein, is and will remain the sole and exclusive property of Cypress or its | ||
49 | suppliers. Except as otherwise expressly provided in this Agreement, you may | ||
50 | not: (i) modify, adapt, or create derivative works based upon the Software; | ||
51 | (ii) copy the Software; (iii) except and only to the extent explicitly | ||
52 | permitted by applicable law despite this limitation, decompile, translate, | ||
53 | reverse engineer, disassemble or otherwise reduce the Software to | ||
54 | human-readable form; or (iv) use the Software other than for the Purpose. | ||
55 | |||
56 | No Support. Cypress may, but is not required to, provide technical support for | ||
57 | the Software. | ||
58 | |||
59 | Term and Termination. This Agreement is effective until terminated, and either | ||
60 | party may terminate this Agreement at any time with or without cause. Your | ||
61 | license rights under this Agreement will terminate immediately without notice | ||
62 | from Cypress if you fail to comply with any provision of this Agreement. Upon | ||
63 | termination, you must destroy all copies of Software in your possession or | ||
64 | control. Termination of this Agreement will not affect any licenses validly | ||
65 | granted as of the termination date to any end users of the Software. The | ||
66 | following paragraphs shall survive any termination of this Agreement: "Free and | ||
67 | Open Source Software," "Proprietary Rights," "Compliance With Law," | ||
68 | "Disclaimer," "Limitation of Liability," and "General." | ||
69 | |||
70 | Compliance With Law. Each party agrees to comply with all applicable laws, | ||
71 | rules and regulations in connection with its activities under this Agreement. | ||
72 | Without limiting the foregoing, the Software may be subject to export control | ||
73 | laws and regulations of the United States and other countries. You agree to | ||
74 | comply strictly with all such laws and regulations and acknowledge that you | ||
75 | have the responsibility to obtain licenses to export, re-export, or import | ||
76 | the Software. | ||
77 | |||
78 | Disclaimer. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, CYPRESS MAKES | ||
79 | NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO THE SOFTWARE, | ||
80 | INCLUDING, BUT NOT LIMITED TO, INFRINGEMENT AND THE IMPLIED WARRANTIES OF | ||
81 | MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. Cypress reserves the | ||
82 | right to make changes to the Software without notice. Cypress does not assume | ||
83 | any liability arising out of the application or use of Software or any | ||
84 | product or circuit described in the Software. Cypress does not authorize its | ||
85 | products for use as critical components in life-support systems where a | ||
86 | malfunction or failure may reasonably be expected to result in significant | ||
87 | injury to the user. The inclusion of Cypress' product in a life-support | ||
88 | system or application implies that the manufacturer of such system or | ||
89 | application assumes all risk of such use and in doing so indemnifies Cypress | ||
90 | against all charges. | ||
91 | |||
92 | Limitation of Liability. IN NO EVENT WILL CYPRESS OR ITS SUPPLIERS, | ||
93 | RESELLERS, OR DISTRIBUTORS BE LIABLE FOR ANY LOST REVENUE, PROFIT, OR DATA, | ||
94 | OR FOR SPECIAL, INDIRECT, CONSEQUENTIAL, INCIDENTAL, OR PUNITIVE DAMAGES | ||
95 | HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE | ||
96 | USE OF OR INABILITY TO USE THE SOFTWARE EVEN IF CYPRESS OR ITS SUPPLIERS, | ||
97 | RESELLERS, OR DISTRIBUTORS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH | ||
98 | DAMAGES. IN NO EVENT SHALL CYPRESS' OR ITS SUPPLIERS' RESELLERS', OR | ||
99 | DISTRIBUTORS' TOTAL LIABILITY TO YOU, WHETHER IN CONTRACT, TORT (INCLUDING | ||
100 | NEGLIGENCE), OR OTHERWISE, EXCEED THE PRICE PAID BY YOU FOR THE SOFTWARE. | ||
101 | THE FOREGOING LIMITATIONS SHALL APPLY EVEN IF THE ABOVE-STATED WARRANTY FAILS | ||
102 | OF ITS ESSENTIAL PURPOSE. BECAUSE SOME STATES OR JURISDICTIONS DO NOT ALLOW | ||
103 | LIMITATION OR EXCLUSION OF CONSEQUENTIAL OR INCIDENTAL DAMAGES, THE ABOVE | ||
104 | LIMITATION MAY NOT APPLY TO YOU. | ||
105 | |||
106 | Restricted Rights. The Software under this Agreement is commercial computer | ||
107 | software as that term is described in 48 C.F.R. 252.227-7014(a)(1). If | ||
108 | acquired by or on behalf of a civilian agency, the U.S. Government acquires | ||
109 | this commercial computer software and/or commercial computer software | ||
110 | documentation subject to the terms of this Agreement as specified in 48 | ||
111 | C.F.R. 12.212 (Computer Software) and 12.211 (Technical Data) of the Federal | ||
112 | Acquisition Regulations ("FAR") and its successors. If acquired by or on | ||
113 | behalf of any agency within the Department of Defense ("DOD"), the U.S. | ||
114 | Government acquires this commercial computer software and/or commercial | ||
115 | computer software documentation subject to the terms of this Agreement as | ||
116 | specified in 48 C.F.R. 227.7202-3 of the DOD FAR Supplement ("DFAR") and its | ||
117 | successors. | ||
118 | |||
119 | General. This Agreement will bind and inure to the benefit of each party's | ||
120 | successors and assigns, provided that you may not assign or transfer this | ||
121 | Agreement, in whole or in part, without Cypress' written consent. This | ||
122 | Agreement shall be governed by and construed in accordance with the laws of | ||
123 | the State of California, United States of America, as if performed wholly | ||
124 | within the state and without giving effect to the principles of conflict of | ||
125 | law. The parties consent to personal and exclusive jurisdiction of and venue | ||
126 | in, the state and federal courts within Santa Clara County, California; | ||
127 | provided however, that nothing in this Agreement will limit Cypress' right to | ||
128 | bring legal action in any venue in order to protect or enforce its | ||
129 | intellectual property rights. No failure of either party to exercise or | ||
130 | enforce any of its rights under this Agreement will act as a waiver of such | ||
131 | rights. If any portion hereof is found to be void or unenforceable, the | ||
132 | remaining provisions of this Agreement shall remain in full force and | ||
133 | effect. This Agreement is the complete and exclusive agreement between the | ||
134 | parties with respect to the subject matter hereof, superseding and replacing | ||
135 | any and all prior agreements, communications, and understandings (both | ||
136 | written and oral) regarding such subject matter. Any notice to Cypress will | ||
137 | be deemed effective when actually received and must be sent to Cypress | ||
138 | Semiconductor Corporation, ATTN: Chief Legal Officer, 198 Champion Court, San | ||
139 | Jose, CA 95134 USA. | ||
diff --git a/recipes-connectivity/bluez5/bluez5/BCM43430A1.hcd b/recipes-connectivity/bluez5/bluez5/BCM43430A1.hcd deleted file mode 100644 index 9b087f1..0000000 --- a/recipes-connectivity/bluez5/bluez5/BCM43430A1.hcd +++ /dev/null | |||
Binary files differ | |||
diff --git a/recipes-connectivity/bluez5/bluez5/BCM4345C0.hcd b/recipes-connectivity/bluez5/bluez5/BCM4345C0.hcd deleted file mode 100644 index 6870153..0000000 --- a/recipes-connectivity/bluez5/bluez5/BCM4345C0.hcd +++ /dev/null | |||
Binary files differ | |||
diff --git a/recipes-connectivity/bluez5/bluez5_%.bbappend b/recipes-connectivity/bluez5/bluez5_%.bbappend index 4a26566..a480987 100644 --- a/recipes-connectivity/bluez5/bluez5_%.bbappend +++ b/recipes-connectivity/bluez5/bluez5_%.bbappend | |||
@@ -1,8 +1,6 @@ | |||
1 | FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" | 1 | FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" |
2 | 2 | ||
3 | BCM_BT_SOURCES = " \ | 3 | BCM_BT_SOURCES = " \ |
4 | file://BCM43430A1.hcd \ | ||
5 | file://BCM4345C0.hcd \ | ||
6 | file://0001-bcm43xx-Add-bcm43xx-3wire-variant.patch \ | 4 | file://0001-bcm43xx-Add-bcm43xx-3wire-variant.patch \ |
7 | file://0002-bcm43xx-The-UART-speed-must-be-reset-after-the-firmw.patch \ | 5 | file://0002-bcm43xx-The-UART-speed-must-be-reset-after-the-firmw.patch \ |
8 | file://0003-Increase-firmware-load-timeout-to-30s.patch \ | 6 | file://0003-Increase-firmware-load-timeout-to-30s.patch \ |
@@ -11,21 +9,12 @@ BCM_BT_SOURCES = " \ | |||
11 | " | 9 | " |
12 | 10 | ||
13 | enable_bcm_bluetooth() { | 11 | enable_bcm_bluetooth() { |
14 | install -d ${D}${nonarch_base_libdir}/firmware/brcm/ | ||
15 | install -m 0644 ${WORKDIR}/BCM43430A1.hcd ${D}${nonarch_base_libdir}/firmware/brcm/BCM43430A1.hcd | ||
16 | install -m 0644 ${WORKDIR}/BCM4345C0.hcd ${D}${nonarch_base_libdir}/firmware/brcm/BCM4345C0.hcd | ||
17 | |||
18 | if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then | 12 | if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then |
19 | install -d ${D}${systemd_unitdir}/system | 13 | install -d ${D}${systemd_unitdir}/system |
20 | install -m 0644 ${WORKDIR}/brcm43438.service ${D}${systemd_unitdir}/system | 14 | install -m 0644 ${WORKDIR}/brcm43438.service ${D}${systemd_unitdir}/system |
21 | fi | 15 | fi |
22 | } | 16 | } |
23 | 17 | ||
24 | BCM_BT_FIRMWARE = " \ | ||
25 | ${nonarch_base_libdir}/firmware/brcm/BCM43430A1.hcd \ | ||
26 | ${nonarch_base_libdir}/firmware/brcm/BCM4345C0.hcd \ | ||
27 | " | ||
28 | |||
29 | BCM_BT_SERVICE = " brcm43438.service" | 18 | BCM_BT_SERVICE = " brcm43438.service" |
30 | 19 | ||
31 | # for raspberrypi3 | 20 | # for raspberrypi3 |
@@ -35,11 +24,9 @@ do_install_append_raspberrypi3() { | |||
35 | enable_bcm_bluetooth | 24 | enable_bcm_bluetooth |
36 | } | 25 | } |
37 | 26 | ||
38 | FILES_${PN}_append_raspberrypi3 = " ${BCM_BT_FIRMWARE}" | ||
39 | |||
40 | SYSTEMD_SERVICE_${PN}_append_raspberrypi3 = " ${BCM_BT_SERVICE}" | 27 | SYSTEMD_SERVICE_${PN}_append_raspberrypi3 = " ${BCM_BT_SERVICE}" |
41 | 28 | ||
42 | RDEPENDS_${PN}_append_raspberrypi3 = " udev-rules-rpi" | 29 | RDEPENDS_${PN}_append_raspberrypi3 = " udev-rules-rpi bluez-firmware-raspbian" |
43 | 30 | ||
44 | # for raspberrypi0-wifi | 31 | # for raspberrypi0-wifi |
45 | SRC_URI_append_raspberrypi0-wifi = " ${BCM_BT_SOURCES}" | 32 | SRC_URI_append_raspberrypi0-wifi = " ${BCM_BT_SOURCES}" |
@@ -48,8 +35,6 @@ do_install_append_raspberrypi0-wifi() { | |||
48 | enable_bcm_bluetooth | 35 | enable_bcm_bluetooth |
49 | } | 36 | } |
50 | 37 | ||
51 | FILES_${PN}_append_raspberrypi0-wifi = " ${BCM_BT_FIRMWARE}" | ||
52 | |||
53 | SYSTEMD_SERVICE_${PN}_append_raspberrypi0-wifi = " ${BCM_BT_SERVICE}" | 38 | SYSTEMD_SERVICE_${PN}_append_raspberrypi0-wifi = " ${BCM_BT_SERVICE}" |
54 | 39 | ||
55 | RDEPENDS_${PN}_append_raspberrypi0-wifi = " udev-rules-rpi" | 40 | RDEPENDS_${PN}_append_raspberrypi0-wifi = " udev-rules-rpi bluez-firmware-raspbian" |