From d081201513bc911edd5fdc84a6deb0b5fa93916d Mon Sep 17 00:00:00 2001
From: Tim Kilbourn <tkilbourn@google.com>
Date: Thu, 5 Apr 2018 00:24:12 -0700
Subject: [PATCH] [tools][wlan][bluetooth] Use cipd to download firmware

Set up a garnet-wide cipd.ensure and script in tools/.
Use it for for wlan and bluetooth firmware.
Delete the download-firmware.sh scripts.
Set up a jiri hook to run cipd.

The vulkan sdk and fonts scripts are a little more involved, and can be
ported to cipd at a later time.

Change-Id: I1a853c9ff07ecbae33f18db6353cb107962d73ed
---
 .gitignore                                        |  1 +
 drivers/bluetooth/hci/intel/.gitignore            |  1 -
 drivers/bluetooth/hci/intel/download-firmware.sh  | 13 -------------
 drivers/bluetooth/hci/intel/intelbt.sha1          |  1 -
 drivers/wlan/mediatek/ralink/.gitignore           |  1 -
 drivers/wlan/mediatek/ralink/download-firmware.sh | 13 -------------
 drivers/wlan/mediatek/ralink/rt2870.sha1          |  1 -
 manifest/minimal                                  |  7 ++-----
 tools/cipd-update.sh                              | 13 +++++++++++++
 tools/cipd.ensure                                 | 11 +++++++++++
 10 files changed, 27 insertions(+), 35 deletions(-)
 delete mode 100755 drivers/bluetooth/hci/intel/download-firmware.sh
 delete mode 100644 drivers/bluetooth/hci/intel/intelbt.sha1
 delete mode 100755 drivers/wlan/mediatek/ralink/download-firmware.sh
 delete mode 100644 drivers/wlan/mediatek/ralink/rt2870.sha1
 create mode 100755 tools/cipd-update.sh
 create mode 100644 tools/cipd.ensure

diff --git a/.gitignore b/.gitignore
index c54d286f4cf..499efcb402f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,6 +2,7 @@
 .*.sw?
 .DS_Store
 .checkstyle
+.cipd/
 .classpath
 .cproject
 .gdb_history
diff --git a/drivers/bluetooth/hci/intel/.gitignore b/drivers/bluetooth/hci/intel/.gitignore
index 2317a14ca02..ed74fc11fad 100644
--- a/drivers/bluetooth/hci/intel/.gitignore
+++ b/drivers/bluetooth/hci/intel/.gitignore
@@ -1,2 +1 @@
 firmware/
-intelbt.stamp
diff --git a/drivers/bluetooth/hci/intel/download-firmware.sh b/drivers/bluetooth/hci/intel/download-firmware.sh
deleted file mode 100755
index 8cb07512afa..00000000000
--- a/drivers/bluetooth/hci/intel/download-firmware.sh
+++ /dev/null
@@ -1,13 +0,0 @@
-#!/usr/bin/env bash
-# Copyright 2017 The Fuchsia Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-set -e
-
-readonly SCRIPT_ROOT="$(cd $(dirname ${BASH_SOURCE[0]} ) && pwd)"
-readonly FUCHSIA_URL_BASE="https://storage.googleapis.com/fuchsia-build"
-readonly FUCHSIA_ROOT="${SCRIPT_ROOT}/../../../../../"
-. "${FUCHSIA_ROOT}/buildtools/download.sh"
-
-download_tarball intelbt "${FUCHSIA_URL_BASE}/firmware/intel" "${SCRIPT_ROOT}/firmware" "${SCRIPT_ROOT}/intelbt"
diff --git a/drivers/bluetooth/hci/intel/intelbt.sha1 b/drivers/bluetooth/hci/intel/intelbt.sha1
deleted file mode 100644
index 846fdd9d2c4..00000000000
--- a/drivers/bluetooth/hci/intel/intelbt.sha1
+++ /dev/null
@@ -1 +0,0 @@
-d5f92eeca320694c1163c56c52a64e91f36e5637
diff --git a/drivers/wlan/mediatek/ralink/.gitignore b/drivers/wlan/mediatek/ralink/.gitignore
index f65eb2cbd01..ed74fc11fad 100644
--- a/drivers/wlan/mediatek/ralink/.gitignore
+++ b/drivers/wlan/mediatek/ralink/.gitignore
@@ -1,2 +1 @@
 firmware/
-rt2870.stamp
diff --git a/drivers/wlan/mediatek/ralink/download-firmware.sh b/drivers/wlan/mediatek/ralink/download-firmware.sh
deleted file mode 100755
index 080251794a7..00000000000
--- a/drivers/wlan/mediatek/ralink/download-firmware.sh
+++ /dev/null
@@ -1,13 +0,0 @@
-#!/usr/bin/env bash
-# Copyright 2017 The Fuchsia Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-set -e
-
-readonly SCRIPT_ROOT="$(cd $(dirname ${BASH_SOURCE[0]} ) && pwd)"
-readonly FUCHSIA_URL_BASE="https://storage.googleapis.com/fuchsia-build"
-readonly FUCHSIA_ROOT="${SCRIPT_ROOT}/../../../../../"
-. "${FUCHSIA_ROOT}/buildtools/download.sh"
-
-download_zipfile rt2870 "${FUCHSIA_URL_BASE}/firmware/ralink" "${SCRIPT_ROOT}/firmware"
diff --git a/drivers/wlan/mediatek/ralink/rt2870.sha1 b/drivers/wlan/mediatek/ralink/rt2870.sha1
deleted file mode 100644
index 5303d1af111..00000000000
--- a/drivers/wlan/mediatek/ralink/rt2870.sha1
+++ /dev/null
@@ -1 +0,0 @@
-83f6e2ce95b10df1cf3e06928761fa57133ef164
diff --git a/manifest/minimal b/manifest/minimal
index b41a0ad2bff..3cdfef74148 100644
--- a/manifest/minimal
+++ b/manifest/minimal
@@ -10,12 +10,9 @@
     <hook name="build-update"
           project="garnet"
           action="tools/update.sh"/>
-    <hook name="download-rt2870-bin"
+    <hook name="cipd-update"
           project="garnet"
-          action="drivers/wlan/mediatek/ralink/download-firmware.sh"/>
-    <hook name="download-btintel-bin"
-          project="garnet"
-          action="drivers/bluetooth/hci/intel/download-firmware.sh"/>
+          action="tools/cipd-update.sh"/>
     <hook name="download-vulkan-sdk"
           project="garnet"
           action="public/lib/escher/scripts/download-vulkan-sdk"/>
diff --git a/tools/cipd-update.sh b/tools/cipd-update.sh
new file mode 100755
index 00000000000..644a4475568
--- /dev/null
+++ b/tools/cipd-update.sh
@@ -0,0 +1,13 @@
+#!/usr/bin/env bash
+# Copyright 2018 The Fuchsia Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+set -ex
+
+readonly SCRIPT_ROOT="$(cd $(dirname ${BASH_SOURCE[0]} ) && pwd)"
+readonly FUCHSIA_ROOT="${SCRIPT_ROOT}/../.."
+readonly GARNET_ROOT="${FUCHSIA_ROOT}/garnet"
+readonly BUILDTOOLS_DIR="${FUCHSIA_ROOT}/buildtools"
+
+${BUILDTOOLS_DIR}/cipd ensure -ensure-file "${SCRIPT_ROOT}/cipd.ensure" -root ${GARNET_ROOT} -log-level warning
diff --git a/tools/cipd.ensure b/tools/cipd.ensure
new file mode 100644
index 00000000000..57d8e0c3a8b
--- /dev/null
+++ b/tools/cipd.ensure
@@ -0,0 +1,11 @@
+# Copyright 2018 The Fuchsia Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# Ralink wlan firmware
+@Subdir drivers/wlan/mediatek/ralink/firmware
+fuchsia/firmware/ralink git_revision:12987cadb37de28719990dfc2397ec6d09e10566
+
+# Intel bluetooth firmware
+@Subdir drivers/bluetooth/hci/intel/firmware
+fuchsia/firmware/bluetooth/intel git_revision:2451bb228f6401ca3f2ecd498bf3bab613c532a7
-- 
GitLab