Build vendor-partition package and update provision-device script

BUG: 26181553
Change-Id: Ibcdb28a403824519e3600a4343bc9b7d54542843
TEST: local run m dist, confirm abox_edge-vendor_partitions-eng.dshi.zip content
diff --git a/BoardConfig.mk b/BoardConfig.mk
index 911e5d6..5e08f03 100644
--- a/BoardConfig.mk
+++ b/BoardConfig.mk
@@ -39,5 +39,11 @@
 PRODUCT_COPY_FILES += \
     frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:system/etc/media_codecs.xml
 
+vendor_partition_directory := vendor/bsp/marvell/device/abox_edge
+BRILLO_VENDOR_PARTITIONS := \
+    $(vendor_partition_directory):bin/primary_gpt \
+    $(vendor_partition_directory):bin/misc.bin \
+    $(vendor_partition_directory):bootloader/u-boot.bin
+
 # Must be defined at the end of the file
 $(call add_device_packages)
diff --git a/provision-device b/provision-device
index 1081fa4..e186fcd 100755
--- a/provision-device
+++ b/provision-device
@@ -14,19 +14,22 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+OS=${ANDROID_PROVISION_OS_PARTITIONS:-${ANDROID_PRODUCT_OUT}}
+VENDOR=${ANDROID_PROVISION_VENDOR_PARTITIONS:-${ANDROID_BUILD_TOP}/vendor/bsp/marvell/device/abox_edge}
+
 # Marvell A/B Boot Provision Script
 fastboot \
-  flash partition ${ANDROID_BUILD_TOP}/vendor/bsp/marvell/device/abox_edge/bin/primary_gpt \
-  flash misc ${ANDROID_BUILD_TOP}/vendor/bsp/marvell/device/abox_edge/bin/misc.bin \
+  flash partition ${VENDOR}/bin/primary_gpt \
+  flash misc ${VENDOR}/bin/misc.bin \
   erase pbootloader  \
-  flash pbootloader ${ANDROID_BUILD_TOP}/vendor/bsp/marvell/device/abox_edge/bootloader/u-boot.bin \
+  flash pbootloader ${VENDOR}/bootloader/u-boot.bin \
   erase rbootloader \
-  flash rbootloader ${ANDROID_BUILD_TOP}/vendor/bsp/marvell/device/abox_edge/bootloader/u-boot.bin \
-  flash boot_a ${ANDROID_PRODUCT_OUT}/boot.img \
-  flash system_a ${ANDROID_PRODUCT_OUT}/system.img \
-  flash boot_b ${ANDROID_PRODUCT_OUT}/boot.img \
-  flash system_b ${ANDROID_PRODUCT_OUT}/system.img \
-  flash userdata ${ANDROID_PRODUCT_OUT}/userdata.img \
-  flash cache ${ANDROID_PRODUCT_OUT}/cache.img \
-  flash recovery ${ANDROID_PRODUCT_OUT}/recovery.img \
+  flash rbootloader ${VENDOR}/bootloader/u-boot.bin \
+  flash boot_a ${OS}/boot.img \
+  flash system_a ${OS}/system.img \
+  flash boot_b ${OS}/boot.img \
+  flash system_b ${OS}/system.img \
+  flash userdata ${OS}/userdata.img \
+  flash cache ${OS}/cache.img \
+  flash recovery ${OS}/recovery.img \
   --set-active=_a "$@"