diff --git a/circle.yml b/circle.yml new file mode 100644 index 00000000..4c2de42a --- /dev/null +++ b/circle.yml @@ -0,0 +1,3 @@ +machine: + node: + version: 8.11.2 diff --git a/contracts/arch.sw/aarch64.json b/contracts/arch.sw/aarch64.json deleted file mode 100644 index 5e38eb3e..00000000 --- a/contracts/arch.sw/aarch64.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "slug": "aarch64", - "version": "1", - "type": "arch.sw", - "name": "ARM v8", - "requires": [ - { "type": "hw.device-type", "arch": "aarch64" } - ] -} diff --git a/contracts/arch.sw/aarch64/contract.json b/contracts/arch.sw/aarch64/contract.json new file mode 100644 index 00000000..e108e792 --- /dev/null +++ b/contracts/arch.sw/aarch64/contract.json @@ -0,0 +1,15 @@ +{ + "slug": "aarch64", + "version": "1", + "type": "arch.sw", + "name": "ARM v8", + "data": { "arch": "aarch64" }, + "requires": [ + { + "type": "hw.device-type", + "data": { + "arch": "aarch64" + } + } + ] +} diff --git a/contracts/arch.sw/amd64.json b/contracts/arch.sw/amd64.json deleted file mode 100644 index 4bdedb9e..00000000 --- a/contracts/arch.sw/amd64.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "slug": "amd64", - "version": "1", - "type": "arch.sw", - "name": "Intel 64-bit (x86-64)", - "requires": [ - { "type": "hw.device-type", "arch": "amd64" } - ] -} diff --git a/contracts/arch.sw/amd64/contract.json b/contracts/arch.sw/amd64/contract.json new file mode 100644 index 00000000..7ad0a106 --- /dev/null +++ b/contracts/arch.sw/amd64/contract.json @@ -0,0 +1,15 @@ +{ + "slug": "amd64", + "version": "1", + "type": "arch.sw", + "name": "Intel 64-bit (x86-64)", + "data": { "arch": "amd64" }, + "requires": [ + { + "type": "hw.device-type", + "data": { + "arch": "amd64" + } + } + ] +} diff --git a/contracts/arch.sw/armel.json b/contracts/arch.sw/armel/contract.json similarity index 50% rename from contracts/arch.sw/armel.json rename to contracts/arch.sw/armel/contract.json index 55738688..b5cc061c 100644 --- a/contracts/arch.sw/armel.json +++ b/contracts/arch.sw/armel/contract.json @@ -3,11 +3,13 @@ "version": "1", "type": "arch.sw", "name": "ARM v5", + "data": { "arch": "armel" }, "requires": [ { - "or": [ - { "type": "hw.device-type", "arch": "armel" } - ] + "type": "hw.device-type", + "data": { + "arch": "armel" + } } ] } diff --git a/contracts/arch.sw/armhf.json b/contracts/arch.sw/armhf.json deleted file mode 100644 index a40770a2..00000000 --- a/contracts/arch.sw/armhf.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "slug": "armhf", - "version": "1", - "type": "arch.sw", - "name": "ARM Hard Float", - "requires": [ - { - "or": [ - { "type": "hw.device-type", "arch": "armv7hf" }, - { "type": "hw.device-type", "arch": "rpi" } - ] - } - ] -} diff --git a/contracts/arch.sw/armhf/contract.json b/contracts/arch.sw/armhf/contract.json new file mode 100644 index 00000000..39a48fd2 --- /dev/null +++ b/contracts/arch.sw/armhf/contract.json @@ -0,0 +1,25 @@ +{ + "slug": "armhf", + "version": "1", + "type": "arch.sw", + "name": "ARM Hard Float", + "data": { "arch": "armhf" }, + "requires": [ + { + "or": [ + { + "type": "hw.device-type", + "data": { + "arch": "armv7hf" + } + }, + { + "type": "hw.device-type", + "data": { + "arch": "rpi" + } + } + ] + } + ] +} diff --git a/contracts/arch.sw/armv7hf.json b/contracts/arch.sw/armv7hf/contract.json similarity index 50% rename from contracts/arch.sw/armv7hf.json rename to contracts/arch.sw/armv7hf/contract.json index 414cc4b9..9f907917 100644 --- a/contracts/arch.sw/armv7hf.json +++ b/contracts/arch.sw/armv7hf/contract.json @@ -3,11 +3,13 @@ "version": "1", "type": "arch.sw", "name": "ARM v7", + "data": { "arch": "armv7hf" }, "requires": [ { - "or": [ - { "type": "hw.device-type", "arch": "armv7hf" } - ] + "type": "hw.device-type", + "data": { + "arch": "armv7hf" + } } ] } diff --git a/contracts/arch.sw/i386.json b/contracts/arch.sw/i386/contract.json similarity index 53% rename from contracts/arch.sw/i386.json rename to contracts/arch.sw/i386/contract.json index 79b6bf83..0fac18db 100644 --- a/contracts/arch.sw/i386.json +++ b/contracts/arch.sw/i386/contract.json @@ -3,11 +3,13 @@ "version": "1", "type": "arch.sw", "name": "Intel 32-bit (x86)", + "data": { "arch": "i386" }, "requires": [ { - "or": [ - { "type": "hw.device-type", "arch": "i386" } - ] + "type": "hw.device-type", + "data": { + "arch": "i386" + } } ] } diff --git a/contracts/arch.sw/rpi.json b/contracts/arch.sw/rpi/contract.json similarity index 50% rename from contracts/arch.sw/rpi.json rename to contracts/arch.sw/rpi/contract.json index 08b31825..023c5c1c 100644 --- a/contracts/arch.sw/rpi.json +++ b/contracts/arch.sw/rpi/contract.json @@ -3,11 +3,13 @@ "version": "1", "type": "arch.sw", "name": "ARM v6", + "data": { "arch": "armv6hf" }, "requires": [ { - "or": [ - { "type": "hw.device-type", "arch": "rpi" } - ] + "type": "hw.device-type", + "data": { + "arch": "rpi" + } } ] } diff --git a/contracts/hw.device-type/am571x-evm.json b/contracts/hw.device-type/am571x-evm.json deleted file mode 100644 index 9fec1899..00000000 --- a/contracts/hw.device-type/am571x-evm.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "slug": "am571x-evm", - "version": "1", - "type": "hw.device-type", - "name": "AM571X-EVM", - "arch": "armv7hf", - "hdmi": true, - "led": false, - "connectivity": { - "bluetooth": false - }, - "storage": { - "internal": false - }, - "media": { - "installation": "sdcard" - } -} diff --git a/contracts/hw.device-type/am571x-evm/contract.json b/contracts/hw.device-type/am571x-evm/contract.json new file mode 100644 index 00000000..2bab3a29 --- /dev/null +++ b/contracts/hw.device-type/am571x-evm/contract.json @@ -0,0 +1,20 @@ +{ + "slug": "am571x-evm", + "version": "1", + "type": "hw.device-type", + "name": "AM571X-EVM", + "data": { + "arch": "armv7hf", + "hdmi": true, + "led": false, + "connectivity": { + "bluetooth": false + }, + "storage": { + "internal": false + }, + "media": { + "installation": "sdcard" + } + } +} diff --git a/contracts/hw.device-type/apalis-imx6q.json b/contracts/hw.device-type/apalis-imx6q.json deleted file mode 100644 index d05ba7bc..00000000 --- a/contracts/hw.device-type/apalis-imx6q.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "slug": "apalis-imx6q", - "version": "1", - "type": "hw.device-type", - "name": "Toradex Apalis", - "arch": "armv7hf", - "hdmi": true, - "led": false, - "connectivity": { - "bluetooth": false - }, - "storage": { - "internal": false - }, - "media": { - "installation": "sdcard" - } -} diff --git a/contracts/hw.device-type/apalis-imx6q/contract.json b/contracts/hw.device-type/apalis-imx6q/contract.json new file mode 100644 index 00000000..59c06736 --- /dev/null +++ b/contracts/hw.device-type/apalis-imx6q/contract.json @@ -0,0 +1,20 @@ +{ + "slug": "apalis-imx6q", + "version": "1", + "type": "hw.device-type", + "name": "Toradex Apalis", + "data": { + "arch": "armv7hf", + "hdmi": true, + "led": false, + "connectivity": { + "bluetooth": false + }, + "storage": { + "internal": false + }, + "media": { + "installation": "sdcard" + } + } +} diff --git a/contracts/hw.device-type/artik10.json b/contracts/hw.device-type/artik10.json deleted file mode 100644 index 9c6f6438..00000000 --- a/contracts/hw.device-type/artik10.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "slug": "artik10", - "version": "1", - "type": "hw.device-type", - "name": "Samsung Artik 10", - "arch": "armv7hf", - "hdmi": true, - "led": false, - "connectivity": { - "bluetooth": false - }, - "storage": { - "internal": false - }, - "media": { - "installation": "sdcard" - } -} diff --git a/contracts/hw.device-type/artik10/contract.json b/contracts/hw.device-type/artik10/contract.json new file mode 100644 index 00000000..3b5ea5ab --- /dev/null +++ b/contracts/hw.device-type/artik10/contract.json @@ -0,0 +1,20 @@ +{ + "slug": "artik10", + "version": "1", + "type": "hw.device-type", + "name": "Samsung Artik 10", + "data": { + "arch": "armv7hf", + "hdmi": true, + "led": false, + "connectivity": { + "bluetooth": false + }, + "storage": { + "internal": false + }, + "media": { + "installation": "sdcard" + } + } +} diff --git a/contracts/hw.device-type/artik5.json b/contracts/hw.device-type/artik5.json deleted file mode 100644 index 1eb9fee4..00000000 --- a/contracts/hw.device-type/artik5.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "slug": "artik5", - "version": "1", - "type": "hw.device-type", - "name": "Samsung Artik 5", - "arch": "armv7hf", - "hdmi": true, - "led": false, - "connectivity": { - "bluetooth": true - }, - "storage": { - "internal": false - }, - "media": { - "installation": "sdcard" - } -} diff --git a/contracts/hw.device-type/artik5/contract.json b/contracts/hw.device-type/artik5/contract.json new file mode 100644 index 00000000..fb3357dd --- /dev/null +++ b/contracts/hw.device-type/artik5/contract.json @@ -0,0 +1,20 @@ +{ + "slug": "artik5", + "version": "1", + "type": "hw.device-type", + "name": "Samsung Artik 5", + "data": { + "arch": "armv7hf", + "hdmi": true, + "led": false, + "connectivity": { + "bluetooth": true + }, + "storage": { + "internal": false + }, + "media": { + "installation": "sdcard" + } + } +} diff --git a/contracts/hw.device-type/artik710.json b/contracts/hw.device-type/artik710.json deleted file mode 100644 index e5a3fa8b..00000000 --- a/contracts/hw.device-type/artik710.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "slug": "artik710", - "version": "1", - "type": "hw.device-type", - "name": "Samsung Artik 710", - "arch": "armv7hf", - "hdmi": true, - "led": true, - "connectivity": { - "bluetooth": true - }, - "storage": { - "internal": false - }, - "media": { - "installation": "sdcard" - } -} diff --git a/contracts/hw.device-type/artik710/contract.json b/contracts/hw.device-type/artik710/contract.json new file mode 100644 index 00000000..57c271d0 --- /dev/null +++ b/contracts/hw.device-type/artik710/contract.json @@ -0,0 +1,20 @@ +{ + "slug": "artik710", + "version": "1", + "type": "hw.device-type", + "name": "Samsung Artik 710", + "data": { + "arch": "armv7hf", + "hdmi": true, + "led": true, + "connectivity": { + "bluetooth": true + }, + "storage": { + "internal": false + }, + "media": { + "installation": "sdcard" + } + } +} diff --git a/contracts/hw.device-type/bananapi-m1-plus.json b/contracts/hw.device-type/bananapi-m1-plus.json deleted file mode 100644 index e0713b29..00000000 --- a/contracts/hw.device-type/bananapi-m1-plus.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "slug": "bananapi-m1-plus", - "version": "1", - "type": "hw.device-type", - "name": "BananaPi-M1+", - "arch": "armv7hf", - "hdmi": true, - "led": false, - "connectivity": { - "bluetooth": false - }, - "storage": { - "internal": false - }, - "media": { - "installation": "sdcard" - } -} diff --git a/contracts/hw.device-type/bananapi-m1-plus/contract.json b/contracts/hw.device-type/bananapi-m1-plus/contract.json new file mode 100644 index 00000000..7a34bb8c --- /dev/null +++ b/contracts/hw.device-type/bananapi-m1-plus/contract.json @@ -0,0 +1,20 @@ +{ + "slug": "bananapi-m1-plus", + "version": "1", + "type": "hw.device-type", + "name": "BananaPi-M1+", + "data": { + "arch": "armv7hf", + "hdmi": true, + "led": false, + "connectivity": { + "bluetooth": false + }, + "storage": { + "internal": false + }, + "media": { + "installation": "sdcard" + } + } +} diff --git a/contracts/hw.device-type/beaglebone-black.json b/contracts/hw.device-type/beaglebone-black.json deleted file mode 100644 index 3136826f..00000000 --- a/contracts/hw.device-type/beaglebone-black.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "slug": "beaglebone-black", - "version": "1", - "type": "hw.device-type", - "name": "BeagleBone Black", - "arch": "armv7hf", - "hdmi": true, - "led": true, - "connectivity": { - "bluetooth": false - }, - "storage": { - "internal": true - }, - "media": { - "installation": "sdcard" - } -} diff --git a/partials/hw.device-type/beaglebone/boot-external.tpl b/contracts/hw.device-type/beaglebone-black/boot-external.tpl similarity index 100% rename from partials/hw.device-type/beaglebone/boot-external.tpl rename to contracts/hw.device-type/beaglebone-black/boot-external.tpl diff --git a/partials/hw.device-type/beaglebone/boot-internal.tpl b/contracts/hw.device-type/beaglebone-black/boot-internal.tpl similarity index 100% rename from partials/hw.device-type/beaglebone/boot-internal.tpl rename to contracts/hw.device-type/beaglebone-black/boot-internal.tpl diff --git a/contracts/hw.device-type/beaglebone-black/contract.json b/contracts/hw.device-type/beaglebone-black/contract.json new file mode 100644 index 00000000..9aab9027 --- /dev/null +++ b/contracts/hw.device-type/beaglebone-black/contract.json @@ -0,0 +1,20 @@ +{ + "slug": "beaglebone-black", + "version": "1", + "type": "hw.device-type", + "name": "BeagleBone Black", + "data": { + "arch": "armv7hf", + "hdmi": true, + "led": true, + "connectivity": { + "bluetooth": false + }, + "storage": { + "internal": true + }, + "media": { + "installation": "sdcard" + } + } +} diff --git a/partials/hw.device-type/beaglebone/prepare-network.tpl b/contracts/hw.device-type/beaglebone-black/prepare-network.tpl similarity index 100% rename from partials/hw.device-type/beaglebone/prepare-network.tpl rename to contracts/hw.device-type/beaglebone-black/prepare-network.tpl diff --git a/contracts/hw.device-type/beaglebone-green-wifi.json b/contracts/hw.device-type/beaglebone-green-wifi.json deleted file mode 100644 index 63be006f..00000000 --- a/contracts/hw.device-type/beaglebone-green-wifi.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "slug": "beaglebone-green-wifi", - "version": "1", - "type": "hw.device-type", - "name": "BeagleBone Green Wifi", - "arch": "armv7hf", - "hdmi": false, - "led": true, - "connectivity": { - "bluetooth": true - }, - "storage": { - "internal": true - }, - "media": { - "installation": "sdcard" - } -} diff --git a/contracts/hw.device-type/beaglebone-green-wifi/boot-external.tpl b/contracts/hw.device-type/beaglebone-green-wifi/boot-external.tpl new file mode 100644 index 00000000..7d4df03d --- /dev/null +++ b/contracts/hw.device-type/beaglebone-green-wifi/boot-external.tpl @@ -0,0 +1 @@ +Hold down the S2 button near the SD card while you connect power to the {{hw.device-type.name}}. Let go of the S2 button when the 4 blue USER leds start flashing diff --git a/contracts/hw.device-type/beaglebone-green-wifi/boot-internal.tpl b/contracts/hw.device-type/beaglebone-green-wifi/boot-internal.tpl new file mode 100644 index 00000000..c1d012f3 --- /dev/null +++ b/contracts/hw.device-type/beaglebone-green-wifi/boot-internal.tpl @@ -0,0 +1 @@ +Press the S3 power button next to the ethernet port on your {{hw.device-type.name}} diff --git a/contracts/hw.device-type/beaglebone-green-wifi/contract.json b/contracts/hw.device-type/beaglebone-green-wifi/contract.json new file mode 100644 index 00000000..24e542ac --- /dev/null +++ b/contracts/hw.device-type/beaglebone-green-wifi/contract.json @@ -0,0 +1,20 @@ +{ + "slug": "beaglebone-green-wifi", + "version": "1", + "type": "hw.device-type", + "name": "BeagleBone Green Wifi", + "data": { + "arch": "armv7hf", + "hdmi": false, + "led": true, + "connectivity": { + "bluetooth": true + }, + "storage": { + "internal": true + }, + "media": { + "installation": "sdcard" + } + } +} diff --git a/partials/hw.device-type/vab820-quad/prepare-network.tpl b/contracts/hw.device-type/beaglebone-green-wifi/prepare-network.tpl similarity index 100% rename from partials/hw.device-type/vab820-quad/prepare-network.tpl rename to contracts/hw.device-type/beaglebone-green-wifi/prepare-network.tpl diff --git a/contracts/hw.device-type/beaglebone-green.json b/contracts/hw.device-type/beaglebone-green.json deleted file mode 100644 index 80b81ecb..00000000 --- a/contracts/hw.device-type/beaglebone-green.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "slug": "beaglebone-green", - "version": "1", - "type": "hw.device-type", - "name": "BeagleBone Green", - "arch": "armv7hf", - "hdmi": false, - "led": true, - "connectivity": { - "bluetooth": true - }, - "storage": { - "internal": true - }, - "media": { - "installation": "sdcard" - } -} diff --git a/contracts/hw.device-type/beaglebone-green/boot-external.tpl b/contracts/hw.device-type/beaglebone-green/boot-external.tpl new file mode 100644 index 00000000..7d4df03d --- /dev/null +++ b/contracts/hw.device-type/beaglebone-green/boot-external.tpl @@ -0,0 +1 @@ +Hold down the S2 button near the SD card while you connect power to the {{hw.device-type.name}}. Let go of the S2 button when the 4 blue USER leds start flashing diff --git a/contracts/hw.device-type/beaglebone-green/boot-internal.tpl b/contracts/hw.device-type/beaglebone-green/boot-internal.tpl new file mode 100644 index 00000000..c1d012f3 --- /dev/null +++ b/contracts/hw.device-type/beaglebone-green/boot-internal.tpl @@ -0,0 +1 @@ +Press the S3 power button next to the ethernet port on your {{hw.device-type.name}} diff --git a/contracts/hw.device-type/beaglebone-green/contract.json b/contracts/hw.device-type/beaglebone-green/contract.json new file mode 100644 index 00000000..cf3893c6 --- /dev/null +++ b/contracts/hw.device-type/beaglebone-green/contract.json @@ -0,0 +1,20 @@ +{ + "slug": "beaglebone-green", + "version": "1", + "type": "hw.device-type", + "name": "BeagleBone Green", + "data": { + "arch": "armv7hf", + "led": true, + "hdmi": false, + "connectivity": { + "bluetooth": true + }, + "storage": { + "internal": true + }, + "media": { + "installation": "sdcard" + } + } +} diff --git a/contracts/hw.device-type/beaglebone-green/prepare-network.tpl b/contracts/hw.device-type/beaglebone-green/prepare-network.tpl new file mode 100644 index 00000000..7ef8d976 --- /dev/null +++ b/contracts/hw.device-type/beaglebone-green/prepare-network.tpl @@ -0,0 +1 @@ +Ensure the Wifi dongle is attached to your device, and that the ethernet cable is plugged into your device and leads to an internet-connected router diff --git a/partials/hw.device-type/boot-external.tpl b/contracts/hw.device-type/boot-external.tpl similarity index 100% rename from partials/hw.device-type/boot-external.tpl rename to contracts/hw.device-type/boot-external.tpl diff --git a/partials/hw.device-type/boot-internal.tpl b/contracts/hw.device-type/boot-internal.tpl similarity index 100% rename from partials/hw.device-type/boot-internal.tpl rename to contracts/hw.device-type/boot-internal.tpl diff --git a/contracts/hw.device-type/ccon-01.json b/contracts/hw.device-type/ccon-01.json deleted file mode 100644 index 4ab5d59f..00000000 --- a/contracts/hw.device-type/ccon-01.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "slug": "ccon-01", - "version": "1", - "type": "hw.device-type", - "name": "CCON01", - "arch": "armv7hf", - "hdmi": false, - "led": false, - "connectivity": { - "bluetooth": false - }, - "storage": { - "internal": false - }, - "media": { - "installation": "sdcard" - } -} diff --git a/contracts/hw.device-type/ccon-01/contract.json b/contracts/hw.device-type/ccon-01/contract.json new file mode 100644 index 00000000..04df75c2 --- /dev/null +++ b/contracts/hw.device-type/ccon-01/contract.json @@ -0,0 +1,20 @@ +{ + "slug": "ccon-01", + "version": "1", + "type": "hw.device-type", + "name": "CCON01", + "data": { + "arch": "armv7hf", + "hdmi": false, + "led": false, + "connectivity": { + "bluetooth": false + }, + "storage": { + "internal": false + }, + "media": { + "installation": "sdcard" + } + } +} diff --git a/contracts/hw.device-type/colibri-imx6dl.json b/contracts/hw.device-type/colibri-imx6dl.json deleted file mode 100644 index 38150020..00000000 --- a/contracts/hw.device-type/colibri-imx6dl.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "slug": "colibri-imx6dl", - "version": "1", - "type": "hw.device-type", - "name": "Toradex Colibri", - "arch": "armv7hf", - "hdmi": true, - "led": false, - "connectivity": { - "bluetooth": false - }, - "storage": { - "internal": false - }, - "media": { - "installation": "sdcard" - } -} diff --git a/contracts/hw.device-type/colibri-imx6dl/contract.json b/contracts/hw.device-type/colibri-imx6dl/contract.json new file mode 100644 index 00000000..09a8bbfb --- /dev/null +++ b/contracts/hw.device-type/colibri-imx6dl/contract.json @@ -0,0 +1,20 @@ +{ + "slug": "colibri-imx6dl", + "version": "1", + "type": "hw.device-type", + "name": "Toradex Colibri", + "data": { + "arch": "armv7hf", + "hdmi": true, + "led": false, + "connectivity": { + "bluetooth": false + }, + "storage": { + "internal": false + }, + "media": { + "installation": "sdcard" + } + } +} diff --git a/contracts/hw.device-type/cybertan-ze250.json b/contracts/hw.device-type/cybertan-ze250.json deleted file mode 100644 index 0e0727cc..00000000 --- a/contracts/hw.device-type/cybertan-ze250.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "slug": "cybertan-ze250", - "version": "1", - "type": "hw.device-type", - "name": "Cybertan ze250", - "arch": "i386", - "hdmi": true, - "led": false, - "connectivity": { - "bluetooth": false - }, - "storage": { - "internal": false - }, - "media": { - "installation": "usbkey" - } -} diff --git a/contracts/hw.device-type/cybertan-ze250/contract.json b/contracts/hw.device-type/cybertan-ze250/contract.json new file mode 100644 index 00000000..3d3d0ec1 --- /dev/null +++ b/contracts/hw.device-type/cybertan-ze250/contract.json @@ -0,0 +1,20 @@ +{ + "slug": "cybertan-ze250", + "version": "1", + "type": "hw.device-type", + "name": "Cybertan ze250", + "data": { + "arch": "i386", + "hdmi": true, + "led": false, + "connectivity": { + "bluetooth": false + }, + "storage": { + "internal": false + }, + "media": { + "installation": "usbkey" + } + } +} diff --git a/contracts/hw.device-type/generic-aarch64.json b/contracts/hw.device-type/generic-aarch64.json deleted file mode 100644 index 60a42d87..00000000 --- a/contracts/hw.device-type/generic-aarch64.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "slug": "generic-aarch64", - "version": "1", - "type": "hw.device-type", - "name": "Generic AARCH64", - "arch": "aarch64", - "hdmi": true, - "led": false, - "connectivity": { - "bluetooth": false - }, - "storage": { - "internal": false - }, - "media": { - "installation": "sdcard" - } -} diff --git a/contracts/hw.device-type/generic-aarch64/contract.json b/contracts/hw.device-type/generic-aarch64/contract.json new file mode 100644 index 00000000..197aafc7 --- /dev/null +++ b/contracts/hw.device-type/generic-aarch64/contract.json @@ -0,0 +1,20 @@ +{ + "slug": "generic-aarch64", + "version": "1", + "type": "hw.device-type", + "name": "Generic AARCH64", + "data": { + "arch": "aarch64", + "hdmi": true, + "led": false, + "connectivity": { + "bluetooth": false + }, + "storage": { + "internal": false + }, + "media": { + "installation": "sdcard" + } + } +} diff --git a/contracts/hw.device-type/generic-armv7ahf.json b/contracts/hw.device-type/generic-armv7ahf.json deleted file mode 100644 index 2d474fd4..00000000 --- a/contracts/hw.device-type/generic-armv7ahf.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "slug": "generic-armv7ahf", - "version": "1", - "type": "hw.device-type", - "name": "Generic ARMv7-a HF", - "arch": "armv7hf", - "hdmi": true, - "led": false, - "connectivity": { - "bluetooth": false - }, - "storage": { - "internal": false - }, - "media": { - "installation": "sdcard" - } -} diff --git a/contracts/hw.device-type/generic-armv7ahf/contract.json b/contracts/hw.device-type/generic-armv7ahf/contract.json new file mode 100644 index 00000000..8de61623 --- /dev/null +++ b/contracts/hw.device-type/generic-armv7ahf/contract.json @@ -0,0 +1,20 @@ +{ + "slug": "generic-armv7ahf", + "version": "1", + "type": "hw.device-type", + "name": "Generic ARMv7-a HF", + "data": { + "arch": "armv7hf", + "hdmi": true, + "led": false, + "connectivity": { + "bluetooth": false + }, + "storage": { + "internal": false + }, + "media": { + "installation": "sdcard" + } + } +} diff --git a/contracts/hw.device-type/hummingboard.json b/contracts/hw.device-type/hummingboard.json deleted file mode 100644 index 0bf2f20c..00000000 --- a/contracts/hw.device-type/hummingboard.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "slug": "hummingboard", - "version": "1", - "type": "hw.device-type", - "name": "Hummingboard", - "arch": "armv7hf", - "hdmi": true, - "led": false, - "connectivity": { - "bluetooth": false - }, - "storage": { - "internal": false - }, - "media": { - "installation": "sdcard" - } -} diff --git a/contracts/hw.device-type/hummingboard/contract.json b/contracts/hw.device-type/hummingboard/contract.json new file mode 100644 index 00000000..8b18c0fa --- /dev/null +++ b/contracts/hw.device-type/hummingboard/contract.json @@ -0,0 +1,20 @@ +{ + "slug": "hummingboard", + "version": "1", + "type": "hw.device-type", + "name": "Hummingboard", + "data": { + "arch": "armv7hf", + "hdmi": true, + "led": false, + "connectivity": { + "bluetooth": false + }, + "storage": { + "internal": false + }, + "media": { + "installation": "sdcard" + } + } +} diff --git a/contracts/hw.device-type/imx6ul-var-dart.json b/contracts/hw.device-type/imx6ul-var-dart.json deleted file mode 100644 index 4c93448c..00000000 --- a/contracts/hw.device-type/imx6ul-var-dart.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "slug": "imx6ul-var-dart", - "version": "1", - "type": "hw.device-type", - "name": "Dart", - "arch": "armv7hf", - "hdmi": false, - "led": false, - "connectivity": { - "bluetooth": false - }, - "storage": { - "internal": false - }, - "media": { - "installation": "sdcard" - } -} diff --git a/contracts/hw.device-type/imx6ul-var-dart/contract.json b/contracts/hw.device-type/imx6ul-var-dart/contract.json new file mode 100644 index 00000000..e353fb7c --- /dev/null +++ b/contracts/hw.device-type/imx6ul-var-dart/contract.json @@ -0,0 +1,20 @@ +{ + "slug": "imx6ul-var-dart", + "version": "1", + "type": "hw.device-type", + "name": "Dart", + "data": { + "arch": "armv7hf", + "hdmi": false, + "led": false, + "connectivity": { + "bluetooth": false + }, + "storage": { + "internal": false + }, + "media": { + "installation": "sdcard" + } + } +} diff --git a/partials/hw.device-type/insert-install-media.tpl b/contracts/hw.device-type/insert-install-media.tpl similarity index 100% rename from partials/hw.device-type/insert-install-media.tpl rename to contracts/hw.device-type/insert-install-media.tpl diff --git a/contracts/hw.device-type/intel-edison.json b/contracts/hw.device-type/intel-edison.json deleted file mode 100644 index 1f373f82..00000000 --- a/contracts/hw.device-type/intel-edison.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "slug": "intel-edison", - "version": "1", - "type": "hw.device-type", - "name": "Intel Edison", - "arch": "i386", - "hdmi": false, - "led": false, - "connectivity": { - "bluetooth": false - }, - "storage": { - "internal": true - }, - "media": { - "installation": "dfu" - } -} diff --git a/contracts/hw.device-type/intel-edison/contract.json b/contracts/hw.device-type/intel-edison/contract.json new file mode 100644 index 00000000..16169152 --- /dev/null +++ b/contracts/hw.device-type/intel-edison/contract.json @@ -0,0 +1,20 @@ +{ + "slug": "intel-edison", + "version": "1", + "type": "hw.device-type", + "name": "Intel Edison", + "data": { + "arch": "i386", + "hdmi": false, + "led": false, + "connectivity": { + "bluetooth": false + }, + "storage": { + "internal": true + }, + "media": { + "installation": "dfu" + } + } +} diff --git a/contracts/hw.device-type/intel-nuc.json b/contracts/hw.device-type/intel-nuc.json deleted file mode 100644 index 98087dbb..00000000 --- a/contracts/hw.device-type/intel-nuc.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "slug": "intel-nuc", - "version": "1", - "type": "hw.device-type", - "name": "Intel NUC", - "arch": "amd64", - "hdmi": true, - "led": false, - "connectivity": { - "bluetooth": true - }, - "storage": { - "internal": true - }, - "media": { - "installation": "usbkey" - } -} diff --git a/partials/hw.device-type/intel-nuc/boot-external.tpl b/contracts/hw.device-type/intel-nuc/boot-external.tpl similarity index 100% rename from partials/hw.device-type/intel-nuc/boot-external.tpl rename to contracts/hw.device-type/intel-nuc/boot-external.tpl diff --git a/partials/hw.device-type/intel-nuc/boot-internal.tpl b/contracts/hw.device-type/intel-nuc/boot-internal.tpl similarity index 100% rename from partials/hw.device-type/intel-nuc/boot-internal.tpl rename to contracts/hw.device-type/intel-nuc/boot-internal.tpl diff --git a/contracts/hw.device-type/intel-nuc/contract.json b/contracts/hw.device-type/intel-nuc/contract.json new file mode 100644 index 00000000..3ca8d646 --- /dev/null +++ b/contracts/hw.device-type/intel-nuc/contract.json @@ -0,0 +1,20 @@ +{ + "slug": "intel-nuc", + "version": "1", + "type": "hw.device-type", + "name": "Intel NUC", + "data": { + "arch": "amd64", + "hdmi": true, + "led": false, + "connectivity": { + "bluetooth": true + }, + "storage": { + "internal": true + }, + "media": { + "installation": "usbkey" + } + } +} diff --git a/contracts/hw.device-type/iot2000.json b/contracts/hw.device-type/iot2000.json deleted file mode 100644 index 328cb83f..00000000 --- a/contracts/hw.device-type/iot2000.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "slug": "iot2000", - "version": "1", - "type": "hw.device-type", - "name": "Siemens IOT2000", - "arch": "i386", - "hdmi": true, - "led": false, - "connectivity": { - "bluetooth": false - }, - "storage": { - "internal": false - }, - "media": { - "installation": "sdcard" - } -} diff --git a/contracts/hw.device-type/iot2000/contract.json b/contracts/hw.device-type/iot2000/contract.json new file mode 100644 index 00000000..d7a233f7 --- /dev/null +++ b/contracts/hw.device-type/iot2000/contract.json @@ -0,0 +1,20 @@ +{ + "slug": "iot2000", + "version": "1", + "type": "hw.device-type", + "name": "Siemens IOT2000", + "data": { + "arch": "i386", + "hdmi": true, + "led": false, + "connectivity": { + "bluetooth": false + }, + "storage": { + "internal": false + }, + "media": { + "installation": "sdcard" + } + } +} diff --git a/contracts/hw.device-type/jetson-tx1.json b/contracts/hw.device-type/jetson-tx1.json deleted file mode 100644 index f822aedc..00000000 --- a/contracts/hw.device-type/jetson-tx1.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "slug": "jetson-tx1", - "version": "1", - "type": "hw.device-type", - "name": "Nvidia Jetson TX1", - "arch": "aarch64", - "hdmi": true, - "led": false, - "connectivity": { - "bluetooth": false - }, - "storage": { - "internal": false - }, - "media": { - "installation": "sdcard" - } -} diff --git a/contracts/hw.device-type/jetson-tx1/contract.json b/contracts/hw.device-type/jetson-tx1/contract.json new file mode 100644 index 00000000..d5919772 --- /dev/null +++ b/contracts/hw.device-type/jetson-tx1/contract.json @@ -0,0 +1,20 @@ +{ + "slug": "jetson-tx1", + "version": "1", + "type": "hw.device-type", + "name": "Nvidia Jetson TX1", + "data": { + "arch": "aarch64", + "hdmi": true, + "led": false, + "connectivity": { + "bluetooth": false + }, + "storage": { + "internal": false + }, + "media": { + "installation": "sdcard" + } + } +} diff --git a/contracts/hw.device-type/jetson-tx2.json b/contracts/hw.device-type/jetson-tx2.json deleted file mode 100644 index 732962f9..00000000 --- a/contracts/hw.device-type/jetson-tx2.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "slug": "jetson-tx2", - "version": "1", - "type": "hw.device-type", - "name": "Nvidia Jetson TX2", - "arch": "aarch64", - "hdmi": true, - "led": false, - "connectivity": { - "bluetooth": false - }, - "storage": { - "internal": false - }, - "media": { - "installation": "sdcard" - } -} diff --git a/contracts/hw.device-type/jetson-tx2/contract.json b/contracts/hw.device-type/jetson-tx2/contract.json new file mode 100644 index 00000000..507b29f8 --- /dev/null +++ b/contracts/hw.device-type/jetson-tx2/contract.json @@ -0,0 +1,20 @@ +{ + "slug": "jetson-tx2", + "version": "1", + "type": "hw.device-type", + "name": "Nvidia Jetson TX2", + "data": { + "arch": "aarch64", + "hdmi": true, + "led": false, + "connectivity": { + "bluetooth": false + }, + "storage": { + "internal": false + }, + "media": { + "installation": "sdcard" + } + } +} diff --git a/contracts/hw.device-type/kitra520.json b/contracts/hw.device-type/kitra520.json deleted file mode 100644 index 2aca4f08..00000000 --- a/contracts/hw.device-type/kitra520.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "slug": "kitra520", - "version": "1", - "type": "hw.device-type", - "name": "RushUp Kitra 520", - "arch": "armv7hf", - "hdmi": true, - "led": false, - "connectivity": { - "bluetooth": false - }, - "storage": { - "internal": false - }, - "media": { - "installation": "sdcard" - } -} diff --git a/contracts/hw.device-type/kitra520/contract.json b/contracts/hw.device-type/kitra520/contract.json new file mode 100644 index 00000000..0e33caad --- /dev/null +++ b/contracts/hw.device-type/kitra520/contract.json @@ -0,0 +1,20 @@ +{ + "slug": "kitra520", + "version": "1", + "type": "hw.device-type", + "name": "RushUp Kitra 520", + "data": { + "arch": "armv7hf", + "hdmi": true, + "led": false, + "connectivity": { + "bluetooth": false + }, + "storage": { + "internal": false + }, + "media": { + "installation": "sdcard" + } + } +} diff --git a/contracts/hw.device-type/kitra710.json b/contracts/hw.device-type/kitra710.json deleted file mode 100644 index 342ccd1e..00000000 --- a/contracts/hw.device-type/kitra710.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "slug": "kitra710", - "version": "1", - "type": "hw.device-type", - "name": "Kitra 710", - "arch": "armv7hf", - "hdmi": true, - "led": false, - "connectivity": { - "bluetooth": true - }, - "storage": { - "internal": false - }, - "media": { - "installation": "sdcard" - } -} diff --git a/contracts/hw.device-type/kitra710/contract.json b/contracts/hw.device-type/kitra710/contract.json new file mode 100644 index 00000000..e25f5223 --- /dev/null +++ b/contracts/hw.device-type/kitra710/contract.json @@ -0,0 +1,20 @@ +{ + "slug": "kitra710", + "version": "1", + "type": "hw.device-type", + "name": "Kitra 710", + "data": { + "arch": "armv7hf", + "hdmi": true, + "led": false, + "connectivity": { + "bluetooth": true + }, + "storage": { + "internal": false + }, + "media": { + "installation": "sdcard" + } + } +} diff --git a/contracts/hw.device-type/nitrogen6x.json b/contracts/hw.device-type/nitrogen6x.json deleted file mode 100644 index 097e9ada..00000000 --- a/contracts/hw.device-type/nitrogen6x.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "slug": "nitrogen6x", - "version": "1", - "type": "hw.device-type", - "name": "Nitrogen 6x", - "arch": "armv7hf", - "hdmi": true, - "led": false, - "connectivity": { - "bluetooth": false - }, - "storage": { - "internal": false - }, - "media": { - "installation": "sdcard" - } -} diff --git a/contracts/hw.device-type/nitrogen6x/contract.json b/contracts/hw.device-type/nitrogen6x/contract.json new file mode 100644 index 00000000..51178701 --- /dev/null +++ b/contracts/hw.device-type/nitrogen6x/contract.json @@ -0,0 +1,20 @@ +{ + "slug": "nitrogen6x", + "version": "1", + "type": "hw.device-type", + "name": "Nitrogen 6x", + "data": { + "arch": "armv7hf", + "hdmi": true, + "led": false, + "connectivity": { + "bluetooth": false + }, + "storage": { + "internal": false + }, + "media": { + "installation": "sdcard" + } + } +} diff --git a/contracts/hw.device-type/odroid-c1.json b/contracts/hw.device-type/odroid-c1.json deleted file mode 100644 index 4b093354..00000000 --- a/contracts/hw.device-type/odroid-c1.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "slug": "odroid-c1", - "version": "1", - "type": "hw.device-type", - "name": "ODroid C1", - "arch": "armv7hf", - "hdmi": true, - "led": false, - "connectivity": { - "bluetooth": false - }, - "storage": { - "internal": false - }, - "media": { - "installation": "sdcard" - } -} diff --git a/contracts/hw.device-type/odroid-c1/contract.json b/contracts/hw.device-type/odroid-c1/contract.json new file mode 100644 index 00000000..71f8adf1 --- /dev/null +++ b/contracts/hw.device-type/odroid-c1/contract.json @@ -0,0 +1,20 @@ +{ + "slug": "odroid-c1", + "version": "1", + "type": "hw.device-type", + "name": "ODroid C1", + "data": { + "arch": "armv7hf", + "hdmi": true, + "led": false, + "connectivity": { + "bluetooth": false + }, + "storage": { + "internal": false + }, + "media": { + "installation": "sdcard" + } + } +} diff --git a/contracts/hw.device-type/odroid-xu4.json b/contracts/hw.device-type/odroid-xu4.json deleted file mode 100644 index 3b5c32fe..00000000 --- a/contracts/hw.device-type/odroid-xu4.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "slug": "odroid-xu4", - "version": "1", - "type": "hw.device-type", - "name": "ODroid XU4", - "arch": "armv7hf", - "hdmi": true, - "led": false, - "connectivity": { - "bluetooth": false - }, - "storage": { - "internal": false - }, - "media": { - "installation": "sdcard" - } -} diff --git a/contracts/hw.device-type/odroid-xu4/contract.json b/contracts/hw.device-type/odroid-xu4/contract.json new file mode 100644 index 00000000..712b87c2 --- /dev/null +++ b/contracts/hw.device-type/odroid-xu4/contract.json @@ -0,0 +1,20 @@ +{ + "slug": "odroid-xu4", + "version": "1", + "type": "hw.device-type", + "name": "ODroid XU4", + "data": { + "arch": "armv7hf", + "hdmi": true, + "led": false, + "connectivity": { + "bluetooth": false + }, + "storage": { + "internal": false + }, + "media": { + "installation": "sdcard" + } + } +} diff --git a/contracts/hw.device-type/parallella.json b/contracts/hw.device-type/parallella.json deleted file mode 100644 index 8a162d4e..00000000 --- a/contracts/hw.device-type/parallella.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "slug": "parallella", - "version": "1", - "type": "hw.device-type", - "name": "Parallella", - "arch": "armv7hf", - "hdmi": true, - "led": false, - "connectivity": { - "bluetooth": false - }, - "storage": { - "internal": false - }, - "media": { - "installation": "sdcard" - } -} diff --git a/contracts/hw.device-type/parallella/contract.json b/contracts/hw.device-type/parallella/contract.json new file mode 100644 index 00000000..d57a3f98 --- /dev/null +++ b/contracts/hw.device-type/parallella/contract.json @@ -0,0 +1,20 @@ +{ + "slug": "parallella", + "version": "1", + "type": "hw.device-type", + "name": "Parallella", + "data": { + "arch": "armv7hf", + "hdmi": true, + "led": false, + "connectivity": { + "bluetooth": false + }, + "storage": { + "internal": false + }, + "media": { + "installation": "sdcard" + } + } +} diff --git a/partials/hw.device-type/prepare-network.tpl b/contracts/hw.device-type/prepare-network.tpl similarity index 100% rename from partials/hw.device-type/prepare-network.tpl rename to contracts/hw.device-type/prepare-network.tpl diff --git a/contracts/hw.device-type/qemux86-64.json b/contracts/hw.device-type/qemux86-64.json deleted file mode 100644 index 8358c5f1..00000000 --- a/contracts/hw.device-type/qemux86-64.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "slug": "qemux86-64", - "version": "1", - "type": "hw.device-type", - "name": "QEMU x86-64", - "arch": "amd64", - "hdmi": true, - "led": false, - "connectivity": { - "bluetooth": false - }, - "storage": { - "internal": false - }, - "media": { - "installation": "image" - } -} diff --git a/contracts/hw.device-type/qemux86-64/contract.json b/contracts/hw.device-type/qemux86-64/contract.json new file mode 100644 index 00000000..843fb925 --- /dev/null +++ b/contracts/hw.device-type/qemux86-64/contract.json @@ -0,0 +1,20 @@ +{ + "slug": "qemux86-64", + "version": "1", + "type": "hw.device-type", + "name": "QEMU x86-64", + "data": { + "arch": "amd64", + "hdmi": true, + "led": false, + "connectivity": { + "bluetooth": false + }, + "storage": { + "internal": false + }, + "media": { + "installation": "image" + } + } +} diff --git a/contracts/hw.device-type/qemux86.json b/contracts/hw.device-type/qemux86.json deleted file mode 100644 index b33d0aef..00000000 --- a/contracts/hw.device-type/qemux86.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "slug": "qemux86", - "version": "1", - "type": "hw.device-type", - "name": "QEMU x86", - "arch": "i386", - "hdmi": true, - "led": false, - "connectivity": { - "bluetooth": false - }, - "storage": { - "internal": false - }, - "media": { - "installation": "image" - } -} diff --git a/contracts/hw.device-type/qemux86/contract.json b/contracts/hw.device-type/qemux86/contract.json new file mode 100644 index 00000000..17a774b7 --- /dev/null +++ b/contracts/hw.device-type/qemux86/contract.json @@ -0,0 +1,20 @@ +{ + "slug": "qemux86", + "version": "1", + "type": "hw.device-type", + "name": "QEMU x86", + "data": { + "arch": "i386", + "hdmi": true, + "led": false, + "connectivity": { + "bluetooth": false + }, + "storage": { + "internal": false + }, + "media": { + "installation": "image" + } + } +} diff --git a/contracts/hw.device-type/raspberry-pi.json b/contracts/hw.device-type/raspberry-pi.json deleted file mode 100644 index 30dd0653..00000000 --- a/contracts/hw.device-type/raspberry-pi.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "slug": "raspberry-pi", - "version": "1", - "type": "hw.device-type", - "name": "Raspberry Pi (1, Zero, Zero W)", - "arch": "rpi", - "hdmi": true, - "led": true, - "connectivity": { - "bluetooth": true - }, - "storage": { - "internal": false - }, - "media": { - "installation": "sdcard" - } -} diff --git a/contracts/hw.device-type/raspberry-pi/contract.json b/contracts/hw.device-type/raspberry-pi/contract.json new file mode 100644 index 00000000..db5d074a --- /dev/null +++ b/contracts/hw.device-type/raspberry-pi/contract.json @@ -0,0 +1,20 @@ +{ + "slug": "raspberry-pi", + "version": "1", + "type": "hw.device-type", + "name": "Raspberry Pi (1, Zero, Zero W)", + "data": { + "arch": "rpi", + "hdmi": true, + "led": true, + "connectivity": { + "bluetooth": true + }, + "storage": { + "internal": false + }, + "media": { + "installation": "sdcard" + } + } +} diff --git a/contracts/hw.device-type/raspberry-pi2.json b/contracts/hw.device-type/raspberry-pi2.json deleted file mode 100644 index 3602b531..00000000 --- a/contracts/hw.device-type/raspberry-pi2.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "slug": "raspberry-pi2", - "version": "1", - "type": "hw.device-type", - "name": "Raspberry Pi 2", - "arch": "armv7hf", - "hdmi": true, - "led": true, - "connectivity": { - "bluetooth": false - }, - "storage": { - "internal": false - }, - "media": { - "installation": "sdcard" - } -} diff --git a/contracts/hw.device-type/raspberry-pi2/contract.json b/contracts/hw.device-type/raspberry-pi2/contract.json new file mode 100644 index 00000000..7573121c --- /dev/null +++ b/contracts/hw.device-type/raspberry-pi2/contract.json @@ -0,0 +1,20 @@ +{ + "slug": "raspberry-pi2", + "version": "1", + "type": "hw.device-type", + "name": "Raspberry Pi 2", + "data": { + "arch": "armv7hf", + "hdmi": true, + "led": true, + "connectivity": { + "bluetooth": false + }, + "storage": { + "internal": false + }, + "media": { + "installation": "sdcard" + } + } +} diff --git a/contracts/hw.device-type/raspberrypi3.json b/contracts/hw.device-type/raspberrypi3.json deleted file mode 100644 index c8141e7e..00000000 --- a/contracts/hw.device-type/raspberrypi3.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "slug": "raspberrypi3", - "version": "1", - "type": "hw.device-type", - "name": "Raspberry Pi 3", - "arch": "armv7hf", - "hdmi": true, - "led": true, - "connectivity": { - "bluetooth": true - }, - "storage": { - "internal": false - }, - "media": { - "installation": "sdcard" - } -} diff --git a/contracts/hw.device-type/raspberrypi3/contract.json b/contracts/hw.device-type/raspberrypi3/contract.json new file mode 100644 index 00000000..39862153 --- /dev/null +++ b/contracts/hw.device-type/raspberrypi3/contract.json @@ -0,0 +1,20 @@ +{ + "slug": "raspberrypi3", + "version": "1", + "type": "hw.device-type", + "name": "Raspberry Pi 3", + "data": { + "arch": "armv7hf", + "hdmi": true, + "led": true, + "connectivity": { + "bluetooth": true + }, + "storage": { + "internal": false + }, + "media": { + "installation": "sdcard" + } + } +} diff --git a/partials/hw.device-type/remove-install-media.tpl b/contracts/hw.device-type/remove-install-media.tpl similarity index 100% rename from partials/hw.device-type/remove-install-media.tpl rename to contracts/hw.device-type/remove-install-media.tpl diff --git a/contracts/hw.device-type/ts4900.json b/contracts/hw.device-type/ts4900.json deleted file mode 100644 index 7b32ade8..00000000 --- a/contracts/hw.device-type/ts4900.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "slug": "ts4900", - "version": "1", - "type": "hw.device-type", - "name": "Technologic TS-4900", - "arch": "armv7hf", - "hdmi": true, - "led": false, - "connectivity": { - "bluetooth": false - }, - "storage": { - "internal": true - }, - "media": { - "installation": "sdcard" - } -} diff --git a/partials/hw.device-type/ts4900/boot-external.tpl b/contracts/hw.device-type/ts4900/boot-external.tpl similarity index 100% rename from partials/hw.device-type/ts4900/boot-external.tpl rename to contracts/hw.device-type/ts4900/boot-external.tpl diff --git a/partials/hw.device-type/ts4900/boot-internal.tpl b/contracts/hw.device-type/ts4900/boot-internal.tpl similarity index 100% rename from partials/hw.device-type/ts4900/boot-internal.tpl rename to contracts/hw.device-type/ts4900/boot-internal.tpl diff --git a/contracts/hw.device-type/ts4900/contract.json b/contracts/hw.device-type/ts4900/contract.json new file mode 100644 index 00000000..05d73b95 --- /dev/null +++ b/contracts/hw.device-type/ts4900/contract.json @@ -0,0 +1,20 @@ +{ + "slug": "ts4900", + "version": "1", + "type": "hw.device-type", + "name": "Technologic TS-4900", + "data": { + "arch": "armv7hf", + "hdmi": true, + "led": false, + "connectivity": { + "bluetooth": false + }, + "storage": { + "internal": true + }, + "media": { + "installation": "sdcard" + } + } +} diff --git a/contracts/hw.device-type/ts7700.json b/contracts/hw.device-type/ts7700.json deleted file mode 100644 index ee42d7c5..00000000 --- a/contracts/hw.device-type/ts7700.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "slug": "ts7700", - "version": "1", - "type": "hw.device-type", - "name": "Technologic TS-7700", - "arch": "armel", - "hdmi": true, - "led": false, - "connectivity": { - "bluetooth": false - }, - "storage": { - "internal": false - }, - "media": { - "installation": "sdcard" - } -} diff --git a/contracts/hw.device-type/ts7700/contract.json b/contracts/hw.device-type/ts7700/contract.json new file mode 100644 index 00000000..48879ba8 --- /dev/null +++ b/contracts/hw.device-type/ts7700/contract.json @@ -0,0 +1,20 @@ +{ + "slug": "ts7700", + "version": "1", + "type": "hw.device-type", + "name": "Technologic TS-7700", + "data": { + "arch": "armel", + "hdmi": true, + "led": false, + "connectivity": { + "bluetooth": false + }, + "storage": { + "internal": false + }, + "media": { + "installation": "sdcard" + } + } +} diff --git a/contracts/hw.device-type/up-board.json b/contracts/hw.device-type/up-board.json deleted file mode 100644 index cae4f3c6..00000000 --- a/contracts/hw.device-type/up-board.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "slug": "up-board", - "version": "1", - "type": "hw.device-type", - "name": "UP Board", - "arch": "amd64", - "hdmi": true, - "led": false, - "connectivity": { - "bluetooth": false - }, - "storage": { - "internal": false - }, - "media": { - "installation": "usbkey" - } -} diff --git a/contracts/hw.device-type/up-board/contract.json b/contracts/hw.device-type/up-board/contract.json new file mode 100644 index 00000000..089c1944 --- /dev/null +++ b/contracts/hw.device-type/up-board/contract.json @@ -0,0 +1,20 @@ +{ + "slug": "up-board", + "version": "1", + "type": "hw.device-type", + "name": "UP Board", + "data": { + "arch": "amd64", + "hdmi": true, + "led": false, + "connectivity": { + "bluetooth": false + }, + "storage": { + "internal": false + }, + "media": { + "installation": "usbkey" + } + } +} diff --git a/contracts/hw.device-type/via-vab820-quad.json b/contracts/hw.device-type/via-vab820-quad.json deleted file mode 100644 index 35587a21..00000000 --- a/contracts/hw.device-type/via-vab820-quad.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "slug": "via-vab820-quad", - "version": "1", - "type": "hw.device-type", - "name": "VIA vab820", - "arch": "armv7hf", - "hdmi": true, - "led": false, - "connectivity": { - "bluetooth": true - }, - "storage": { - "internal": true - }, - "media": { - "installation": "sdcard" - } -} diff --git a/partials/hw.device-type/vab820-quad/boot-external.tpl b/contracts/hw.device-type/via-vab820-quad/boot-external.tpl similarity index 100% rename from partials/hw.device-type/vab820-quad/boot-external.tpl rename to contracts/hw.device-type/via-vab820-quad/boot-external.tpl diff --git a/partials/hw.device-type/vab820-quad/boot-internal.tpl b/contracts/hw.device-type/via-vab820-quad/boot-internal.tpl similarity index 100% rename from partials/hw.device-type/vab820-quad/boot-internal.tpl rename to contracts/hw.device-type/via-vab820-quad/boot-internal.tpl diff --git a/contracts/hw.device-type/via-vab820-quad/contract.json b/contracts/hw.device-type/via-vab820-quad/contract.json new file mode 100644 index 00000000..c7d0c4da --- /dev/null +++ b/contracts/hw.device-type/via-vab820-quad/contract.json @@ -0,0 +1,20 @@ +{ + "slug": "via-vab820-quad", + "version": "1", + "type": "hw.device-type", + "name": "VIA vab820", + "data": { + "arch": "armv7hf", + "hdmi": true, + "led": false, + "connectivity": { + "bluetooth": true + }, + "storage": { + "internal": true + }, + "media": { + "installation": "sdcard" + } + } +} diff --git a/contracts/hw.device-type/via-vab820-quad/prepare-network.tpl b/contracts/hw.device-type/via-vab820-quad/prepare-network.tpl new file mode 100644 index 00000000..7ef8d976 --- /dev/null +++ b/contracts/hw.device-type/via-vab820-quad/prepare-network.tpl @@ -0,0 +1 @@ +Ensure the Wifi dongle is attached to your device, and that the ethernet cable is plugged into your device and leads to an internet-connected router diff --git a/partials/hw.device-type/visual-appearance-when-off.tpl b/contracts/hw.device-type/visual-appearance-when-off.tpl similarity index 100% rename from partials/hw.device-type/visual-appearance-when-off.tpl rename to contracts/hw.device-type/visual-appearance-when-off.tpl diff --git a/contracts/hw.device-type/zc702-zynq7.json b/contracts/hw.device-type/zc702-zynq7.json deleted file mode 100644 index db0e5859..00000000 --- a/contracts/hw.device-type/zc702-zynq7.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "slug": "zc702-zynq7", - "version": "1", - "type": "hw.device-type", - "name": "Zynq zc702", - "arch": "armv7hf", - "hdmi": true, - "led": false, - "connectivity": { - "bluetooth": false - }, - "storage": { - "internal": false - }, - "media": { - "installation": "sdcard" - } -} diff --git a/contracts/hw.device-type/zc702-zynq7/contract.json b/contracts/hw.device-type/zc702-zynq7/contract.json new file mode 100644 index 00000000..24809f6b --- /dev/null +++ b/contracts/hw.device-type/zc702-zynq7/contract.json @@ -0,0 +1,20 @@ +{ + "slug": "zc702-zynq7", + "version": "1", + "type": "hw.device-type", + "name": "Zynq zc702", + "data": { + "arch": "armv7hf", + "hdmi": true, + "led": false, + "connectivity": { + "bluetooth": false + }, + "storage": { + "internal": false + }, + "media": { + "installation": "sdcard" + } + } +} diff --git a/partials/sw.blob/download.tpl b/contracts/sw.blob/download.tpl similarity index 100% rename from partials/sw.blob/download.tpl rename to contracts/sw.blob/download.tpl diff --git a/contracts/sw.blob/entry.json b/contracts/sw.blob/entry/contract.json similarity index 98% rename from contracts/sw.blob/entry.json rename to contracts/sw.blob/entry/contract.json index 83d8edfe..229d4849 100644 --- a/contracts/sw.blob/entry.json +++ b/contracts/sw.blob/entry/contract.json @@ -2,7 +2,7 @@ "slug": "entry", "type": "sw.blob", "name": "resin entry.sh script", - "version": "1.0.0", + "version": "1", "assets": { "bin": { "main": "entry.sh" diff --git a/contracts/sw.blob/nodejs.json b/contracts/sw.blob/nodejs/contract.json similarity index 99% rename from contracts/sw.blob/nodejs.json rename to contracts/sw.blob/nodejs/contract.json index 53c7195a..7bc33a2e 100644 --- a/contracts/sw.blob/nodejs.json +++ b/contracts/sw.blob/nodejs/contract.json @@ -2,6 +2,7 @@ "slug": "nodejs", "type": "sw.blob", "name": "Node.js {{version}}", + "version": "1", "requires": [ { "type": "sw.os", diff --git a/contracts/sw.blob/qemu.json b/contracts/sw.blob/qemu/contract.json similarity index 98% rename from contracts/sw.blob/qemu.json rename to contracts/sw.blob/qemu/contract.json index 4eab5821..b4a28ef5 100644 --- a/contracts/sw.blob/qemu.json +++ b/contracts/sw.blob/qemu/contract.json @@ -1,6 +1,7 @@ { "slug": "qemu", "type": "sw.blob", + "version": "1", "name": "QEMU v{{version}}", "assets": { "bin": { diff --git a/contracts/sw.blob/resin-xbuild.json b/contracts/sw.blob/resin-xbuild/contract.json similarity index 100% rename from contracts/sw.blob/resin-xbuild.json rename to contracts/sw.blob/resin-xbuild/contract.json diff --git a/contracts/sw.blob/tini.json b/contracts/sw.blob/tini/contract.json similarity index 99% rename from contracts/sw.blob/tini.json rename to contracts/sw.blob/tini/contract.json index 6acc845a..0465a5e4 100644 --- a/contracts/sw.blob/tini.json +++ b/contracts/sw.blob/tini/contract.json @@ -1,6 +1,7 @@ { "slug": "tini", "type": "sw.blob", + "name": "tini", "version": "0.14.0", "assets": { "bin": { diff --git a/partials/sw.image-writer+hw.device-type/etcher/flash.tpl b/contracts/sw.image-writer+hw.device-type/etcher/flash.tpl similarity index 100% rename from partials/sw.image-writer+hw.device-type/etcher/flash.tpl rename to contracts/sw.image-writer+hw.device-type/etcher/flash.tpl diff --git a/partials/sw.image-writer/download.tpl b/contracts/sw.image-writer/download.tpl similarity index 100% rename from partials/sw.image-writer/download.tpl rename to contracts/sw.image-writer/download.tpl diff --git a/contracts/sw.image-writer/etcher.json b/contracts/sw.image-writer/etcher/contract.json similarity index 100% rename from contracts/sw.image-writer/etcher.json rename to contracts/sw.image-writer/etcher/contract.json diff --git a/partials/sw.os+arch.sw/alpine+aarch64/from.tpl b/contracts/sw.os+arch.sw/alpine+aarch64/from.tpl similarity index 100% rename from partials/sw.os+arch.sw/alpine+aarch64/from.tpl rename to contracts/sw.os+arch.sw/alpine+aarch64/from.tpl diff --git a/partials/sw.os+arch.sw/alpine+amd64/from.tpl b/contracts/sw.os+arch.sw/alpine+amd64/from.tpl similarity index 100% rename from partials/sw.os+arch.sw/alpine+amd64/from.tpl rename to contracts/sw.os+arch.sw/alpine+amd64/from.tpl diff --git a/partials/sw.os+arch.sw/alpine+armhf/from.tpl b/contracts/sw.os+arch.sw/alpine+armhf/from.tpl similarity index 100% rename from partials/sw.os+arch.sw/alpine+armhf/from.tpl rename to contracts/sw.os+arch.sw/alpine+armhf/from.tpl diff --git a/partials/sw.os+arch.sw/alpine+i386/from.tpl b/contracts/sw.os+arch.sw/alpine+i386/from.tpl similarity index 100% rename from partials/sw.os+arch.sw/alpine+i386/from.tpl rename to contracts/sw.os+arch.sw/alpine+i386/from.tpl diff --git a/partials/sw.os+arch.sw/alpine/base-dependencies.tpl b/contracts/sw.os+arch.sw/alpine/base-dependencies.tpl similarity index 100% rename from partials/sw.os+arch.sw/alpine/base-dependencies.tpl rename to contracts/sw.os+arch.sw/alpine/base-dependencies.tpl diff --git a/partials/sw.os+arch.sw/alpine/init-system.tpl b/contracts/sw.os+arch.sw/alpine/init-system.tpl similarity index 100% rename from partials/sw.os+arch.sw/alpine/init-system.tpl rename to contracts/sw.os+arch.sw/alpine/init-system.tpl diff --git a/partials/sw.os+arch.sw/alpine/os-config.tpl b/contracts/sw.os+arch.sw/alpine/os-config.tpl similarity index 100% rename from partials/sw.os+arch.sw/alpine/os-config.tpl rename to contracts/sw.os+arch.sw/alpine/os-config.tpl diff --git a/partials/sw.os+arch.sw/alpine/tini.tpl b/contracts/sw.os+arch.sw/alpine/tini.tpl similarity index 100% rename from partials/sw.os+arch.sw/alpine/tini.tpl rename to contracts/sw.os+arch.sw/alpine/tini.tpl diff --git a/partials/sw.os+arch.sw/debian+aarch64/from.tpl b/contracts/sw.os+arch.sw/debian+aarch64/from.tpl similarity index 100% rename from partials/sw.os+arch.sw/debian+aarch64/from.tpl rename to contracts/sw.os+arch.sw/debian+aarch64/from.tpl diff --git a/partials/sw.os+arch.sw/debian+amd64/from.tpl b/contracts/sw.os+arch.sw/debian+amd64/from.tpl similarity index 100% rename from partials/sw.os+arch.sw/debian+amd64/from.tpl rename to contracts/sw.os+arch.sw/debian+amd64/from.tpl diff --git a/partials/sw.os+arch.sw/debian+armel/from.tpl b/contracts/sw.os+arch.sw/debian+armel/from.tpl similarity index 100% rename from partials/sw.os+arch.sw/debian+armel/from.tpl rename to contracts/sw.os+arch.sw/debian+armel/from.tpl diff --git a/partials/sw.os+arch.sw/debian+armel/qemu.tpl b/contracts/sw.os+arch.sw/debian+armel/qemu.tpl similarity index 100% rename from partials/sw.os+arch.sw/debian+armel/qemu.tpl rename to contracts/sw.os+arch.sw/debian+armel/qemu.tpl diff --git a/partials/sw.os+arch.sw/debian+armv7hf/from.tpl b/contracts/sw.os+arch.sw/debian+armv7hf/from.tpl similarity index 100% rename from partials/sw.os+arch.sw/debian+armv7hf/from.tpl rename to contracts/sw.os+arch.sw/debian+armv7hf/from.tpl diff --git a/partials/sw.os+arch.sw/debian+i386/from.tpl b/contracts/sw.os+arch.sw/debian+i386/from.tpl similarity index 100% rename from partials/sw.os+arch.sw/debian+i386/from.tpl rename to contracts/sw.os+arch.sw/debian+i386/from.tpl diff --git a/partials/sw.os+arch.sw/debian/base-dependencies.tpl b/contracts/sw.os+arch.sw/debian/base-dependencies.tpl similarity index 100% rename from partials/sw.os+arch.sw/debian/base-dependencies.tpl rename to contracts/sw.os+arch.sw/debian/base-dependencies.tpl diff --git a/partials/sw.os+arch.sw/debian/init-system.tpl b/contracts/sw.os+arch.sw/debian/init-system.tpl similarity index 100% rename from partials/sw.os+arch.sw/debian/init-system.tpl rename to contracts/sw.os+arch.sw/debian/init-system.tpl diff --git a/partials/sw.os+arch.sw/debian/os-config.tpl b/contracts/sw.os+arch.sw/debian/os-config.tpl similarity index 100% rename from partials/sw.os+arch.sw/debian/os-config.tpl rename to contracts/sw.os+arch.sw/debian/os-config.tpl diff --git a/partials/sw.os+arch.sw/debian@jessie/init-system.tpl b/contracts/sw.os+arch.sw/debian@jessie/init-system.tpl similarity index 100% rename from partials/sw.os+arch.sw/debian@jessie/init-system.tpl rename to contracts/sw.os+arch.sw/debian@jessie/init-system.tpl diff --git a/partials/sw.os+arch.sw/debian@wheezy/init-system.tpl b/contracts/sw.os+arch.sw/debian@wheezy/init-system.tpl similarity index 100% rename from partials/sw.os+arch.sw/debian@wheezy/init-system.tpl rename to contracts/sw.os+arch.sw/debian@wheezy/init-system.tpl diff --git a/partials/sw.os+arch.sw/fedora+aarch64/from.tpl b/contracts/sw.os+arch.sw/fedora+aarch64/from.tpl similarity index 100% rename from partials/sw.os+arch.sw/fedora+aarch64/from.tpl rename to contracts/sw.os+arch.sw/fedora+aarch64/from.tpl diff --git a/partials/sw.os+arch.sw/fedora+amd64/from.tpl b/contracts/sw.os+arch.sw/fedora+amd64/from.tpl similarity index 100% rename from partials/sw.os+arch.sw/fedora+amd64/from.tpl rename to contracts/sw.os+arch.sw/fedora+amd64/from.tpl diff --git a/partials/sw.os+arch.sw/fedora+armv7hf/from.tpl b/contracts/sw.os+arch.sw/fedora+armv7hf/from.tpl similarity index 100% rename from partials/sw.os+arch.sw/fedora+armv7hf/from.tpl rename to contracts/sw.os+arch.sw/fedora+armv7hf/from.tpl diff --git a/partials/sw.os+arch.sw/fedora+armv7hf/os-config.tpl b/contracts/sw.os+arch.sw/fedora+armv7hf/os-config.tpl similarity index 100% rename from partials/sw.os+arch.sw/fedora+armv7hf/os-config.tpl rename to contracts/sw.os+arch.sw/fedora+armv7hf/os-config.tpl diff --git a/partials/sw.os+arch.sw/fedora/base-dependencies.tpl b/contracts/sw.os+arch.sw/fedora/base-dependencies.tpl similarity index 100% rename from partials/sw.os+arch.sw/fedora/base-dependencies.tpl rename to contracts/sw.os+arch.sw/fedora/base-dependencies.tpl diff --git a/partials/sw.os+arch.sw/fedora/init-system.tpl b/contracts/sw.os+arch.sw/fedora/init-system.tpl similarity index 100% rename from partials/sw.os+arch.sw/fedora/init-system.tpl rename to contracts/sw.os+arch.sw/fedora/init-system.tpl diff --git a/partials/sw.os+arch.sw/fedora/os-config.tpl b/contracts/sw.os+arch.sw/fedora/os-config.tpl similarity index 100% rename from partials/sw.os+arch.sw/fedora/os-config.tpl rename to contracts/sw.os+arch.sw/fedora/os-config.tpl diff --git a/partials/sw.os+arch.sw/fedora@24/init-system.tpl b/contracts/sw.os+arch.sw/fedora@24/init-system.tpl similarity index 100% rename from partials/sw.os+arch.sw/fedora@24/init-system.tpl rename to contracts/sw.os+arch.sw/fedora@24/init-system.tpl diff --git a/partials/sw.os+arch.sw/qemu.tpl b/contracts/sw.os+arch.sw/qemu.tpl similarity index 100% rename from partials/sw.os+arch.sw/qemu.tpl rename to contracts/sw.os+arch.sw/qemu.tpl diff --git a/partials/sw.os+arch.sw/resin-xbuild.tpl b/contracts/sw.os+arch.sw/resin-xbuild.tpl similarity index 100% rename from partials/sw.os+arch.sw/resin-xbuild.tpl rename to contracts/sw.os+arch.sw/resin-xbuild.tpl diff --git a/partials/sw.os+arch.sw/tini.tpl b/contracts/sw.os+arch.sw/tini.tpl similarity index 100% rename from partials/sw.os+arch.sw/tini.tpl rename to contracts/sw.os+arch.sw/tini.tpl diff --git a/partials/sw.os+hw.device-type/alpine+raspberry-pi/dependencies.tpl b/contracts/sw.os+hw.device-type/alpine+raspberry-pi/dependencies.tpl similarity index 100% rename from partials/sw.os+hw.device-type/alpine+raspberry-pi/dependencies.tpl rename to contracts/sw.os+hw.device-type/alpine+raspberry-pi/dependencies.tpl diff --git a/partials/sw.os+hw.device-type/alpine+raspberrypi-pi2/dependencies.tpl b/contracts/sw.os+hw.device-type/alpine+raspberrypi-pi2/dependencies.tpl similarity index 100% rename from partials/sw.os+hw.device-type/alpine+raspberrypi-pi2/dependencies.tpl rename to contracts/sw.os+hw.device-type/alpine+raspberrypi-pi2/dependencies.tpl diff --git a/partials/sw.os+hw.device-type/alpine+raspberrypi3/dependencies.tpl b/contracts/sw.os+hw.device-type/alpine+raspberrypi3/dependencies.tpl similarity index 100% rename from partials/sw.os+hw.device-type/alpine+raspberrypi3/dependencies.tpl rename to contracts/sw.os+hw.device-type/alpine+raspberrypi3/dependencies.tpl diff --git a/partials/sw.os+hw.device-type/alpine/dependencies.tpl b/contracts/sw.os+hw.device-type/alpine/dependencies.tpl similarity index 100% rename from partials/sw.os+hw.device-type/alpine/dependencies.tpl rename to contracts/sw.os+hw.device-type/alpine/dependencies.tpl diff --git a/partials/sw.os+hw.device-type/debian+beaglebone-black/distro-config.tpl b/contracts/sw.os+hw.device-type/debian+beaglebone-black/distro-config.tpl similarity index 100% rename from partials/sw.os+hw.device-type/debian+beaglebone-black/distro-config.tpl rename to contracts/sw.os+hw.device-type/debian+beaglebone-black/distro-config.tpl diff --git a/partials/sw.os+hw.device-type/debian+beaglebone-green-wifi/distro-config.tpl b/contracts/sw.os+hw.device-type/debian+beaglebone-green-wifi/distro-config.tpl similarity index 100% rename from partials/sw.os+hw.device-type/debian+beaglebone-green-wifi/distro-config.tpl rename to contracts/sw.os+hw.device-type/debian+beaglebone-green-wifi/distro-config.tpl diff --git a/partials/sw.os+hw.device-type/debian+beaglebone-green/distro-config.tpl b/contracts/sw.os+hw.device-type/debian+beaglebone-green/distro-config.tpl similarity index 100% rename from partials/sw.os+hw.device-type/debian+beaglebone-green/distro-config.tpl rename to contracts/sw.os+hw.device-type/debian+beaglebone-green/distro-config.tpl diff --git a/partials/sw.os+hw.device-type/debian+cybertan-ze250/dependencies.tpl b/contracts/sw.os+hw.device-type/debian+cybertan-ze250/dependencies.tpl similarity index 100% rename from partials/sw.os+hw.device-type/debian+cybertan-ze250/dependencies.tpl rename to contracts/sw.os+hw.device-type/debian+cybertan-ze250/dependencies.tpl diff --git a/partials/sw.os+hw.device-type/debian+intel-edison/dependencies.tpl b/contracts/sw.os+hw.device-type/debian+intel-edison/dependencies.tpl similarity index 100% rename from partials/sw.os+hw.device-type/debian+intel-edison/dependencies.tpl rename to contracts/sw.os+hw.device-type/debian+intel-edison/dependencies.tpl diff --git a/partials/sw.os+hw.device-type/debian+iot2000/dependencies.tpl b/contracts/sw.os+hw.device-type/debian+iot2000/dependencies.tpl similarity index 100% rename from partials/sw.os+hw.device-type/debian+iot2000/dependencies.tpl rename to contracts/sw.os+hw.device-type/debian+iot2000/dependencies.tpl diff --git a/partials/sw.os+hw.device-type/debian+raspberry-pi2/dependencies.tpl b/contracts/sw.os+hw.device-type/debian+raspberry-pi2/dependencies.tpl similarity index 100% rename from partials/sw.os+hw.device-type/debian+raspberry-pi2/dependencies.tpl rename to contracts/sw.os+hw.device-type/debian+raspberry-pi2/dependencies.tpl diff --git a/partials/sw.os+hw.device-type/debian+raspberry-pi2/distro-config.tpl b/contracts/sw.os+hw.device-type/debian+raspberry-pi2/distro-config.tpl similarity index 100% rename from partials/sw.os+hw.device-type/debian+raspberry-pi2/distro-config.tpl rename to contracts/sw.os+hw.device-type/debian+raspberry-pi2/distro-config.tpl diff --git a/partials/sw.os+hw.device-type/debian+raspberrypi3/dependencies.tpl b/contracts/sw.os+hw.device-type/debian+raspberrypi3/dependencies.tpl similarity index 100% rename from partials/sw.os+hw.device-type/debian+raspberrypi3/dependencies.tpl rename to contracts/sw.os+hw.device-type/debian+raspberrypi3/dependencies.tpl diff --git a/partials/sw.os+hw.device-type/debian+raspberrypi3/distro-config.tpl b/contracts/sw.os+hw.device-type/debian+raspberrypi3/distro-config.tpl similarity index 100% rename from partials/sw.os+hw.device-type/debian+raspberrypi3/distro-config.tpl rename to contracts/sw.os+hw.device-type/debian+raspberrypi3/distro-config.tpl diff --git a/partials/sw.os+hw.device-type/debian+up-board/dependencies.tpl b/contracts/sw.os+hw.device-type/debian+up-board/dependencies.tpl similarity index 100% rename from partials/sw.os+hw.device-type/debian+up-board/dependencies.tpl rename to contracts/sw.os+hw.device-type/debian+up-board/dependencies.tpl diff --git a/partials/sw.os+hw.device-type/debian/dependencies.tpl b/contracts/sw.os+hw.device-type/debian/dependencies.tpl similarity index 100% rename from partials/sw.os+hw.device-type/debian/dependencies.tpl rename to contracts/sw.os+hw.device-type/debian/dependencies.tpl diff --git a/partials/sw.os+hw.device-type/debian/distro-config.tpl b/contracts/sw.os+hw.device-type/debian/distro-config.tpl similarity index 100% rename from partials/sw.os+hw.device-type/debian/distro-config.tpl rename to contracts/sw.os+hw.device-type/debian/distro-config.tpl diff --git a/partials/sw.os+hw.device-type/debian@buster+raspberry-pi2/distro-config.tpl b/contracts/sw.os+hw.device-type/debian@buster+raspberry-pi2/distro-config.tpl similarity index 100% rename from partials/sw.os+hw.device-type/debian@buster+raspberry-pi2/distro-config.tpl rename to contracts/sw.os+hw.device-type/debian@buster+raspberry-pi2/distro-config.tpl diff --git a/partials/sw.os+hw.device-type/debian@buster+raspberrypi3/distro-config.tpl b/contracts/sw.os+hw.device-type/debian@buster+raspberrypi3/distro-config.tpl similarity index 100% rename from partials/sw.os+hw.device-type/debian@buster+raspberrypi3/distro-config.tpl rename to contracts/sw.os+hw.device-type/debian@buster+raspberrypi3/distro-config.tpl diff --git a/partials/sw.os+hw.device-type/debian@wheezy+beaglebone-black/distro-config.tpl b/contracts/sw.os+hw.device-type/debian@wheezy+beaglebone-black/distro-config.tpl similarity index 100% rename from partials/sw.os+hw.device-type/debian@wheezy+beaglebone-black/distro-config.tpl rename to contracts/sw.os+hw.device-type/debian@wheezy+beaglebone-black/distro-config.tpl diff --git a/partials/sw.os+hw.device-type/debian@wheezy+beaglebone-green-wifi/distro-config.tpl b/contracts/sw.os+hw.device-type/debian@wheezy+beaglebone-green-wifi/distro-config.tpl similarity index 100% rename from partials/sw.os+hw.device-type/debian@wheezy+beaglebone-green-wifi/distro-config.tpl rename to contracts/sw.os+hw.device-type/debian@wheezy+beaglebone-green-wifi/distro-config.tpl diff --git a/partials/sw.os+hw.device-type/debian@wheezy+beaglebone-green/distro-config.tpl b/contracts/sw.os+hw.device-type/debian@wheezy+beaglebone-green/distro-config.tpl similarity index 100% rename from partials/sw.os+hw.device-type/debian@wheezy+beaglebone-green/distro-config.tpl rename to contracts/sw.os+hw.device-type/debian@wheezy+beaglebone-green/distro-config.tpl diff --git a/partials/sw.os+hw.device-type/dependencies.tpl b/contracts/sw.os+hw.device-type/dependencies.tpl similarity index 100% rename from partials/sw.os+hw.device-type/dependencies.tpl rename to contracts/sw.os+hw.device-type/dependencies.tpl diff --git a/partials/sw.os+hw.device-type/distro-config.tpl b/contracts/sw.os+hw.device-type/distro-config.tpl similarity index 100% rename from partials/sw.os+hw.device-type/distro-config.tpl rename to contracts/sw.os+hw.device-type/distro-config.tpl diff --git a/partials/sw.os+hw.device-type/fedora/dependencies.tpl b/contracts/sw.os+hw.device-type/fedora/dependencies.tpl similarity index 100% rename from partials/sw.os+hw.device-type/fedora/dependencies.tpl rename to contracts/sw.os+hw.device-type/fedora/dependencies.tpl diff --git a/partials/sw.os-flasher/description-of-internal-process.tpl b/contracts/sw.os-flasher/description-of-internal-process.tpl similarity index 100% rename from partials/sw.os-flasher/description-of-internal-process.tpl rename to contracts/sw.os-flasher/description-of-internal-process.tpl diff --git a/partials/sw.os-image/download.tpl b/contracts/sw.os-image/download.tpl similarity index 100% rename from partials/sw.os-image/download.tpl rename to contracts/sw.os-image/download.tpl diff --git a/contracts/sw.os-image/resinos.json b/contracts/sw.os-image/resinos/contract.json similarity index 100% rename from contracts/sw.os-image/resinos.json rename to contracts/sw.os-image/resinos/contract.json diff --git a/partials/sw.os-image/resinos/download.tpl b/contracts/sw.os-image/resinos/download.tpl similarity index 100% rename from partials/sw.os-image/resinos/download.tpl rename to contracts/sw.os-image/resinos/download.tpl diff --git a/contracts/sw.os/alpine.json b/contracts/sw.os/alpine/contract.json similarity index 94% rename from contracts/sw.os/alpine.json rename to contracts/sw.os/alpine/contract.json index 7507128b..d520a9a4 100644 --- a/contracts/sw.os/alpine.json +++ b/contracts/sw.os/alpine/contract.json @@ -1,7 +1,8 @@ { "slug": "alpine", "type": "sw.os", - "libc": "musl-libc", + "version": "1", + "data": { "libc": "musl-libc" }, "name": "Alpine Linux {{version}}", "requires": [ { "type": "sw.blob", "slug": "tini" }, diff --git a/contracts/sw.os/debian.json b/contracts/sw.os/debian/contract.json similarity index 95% rename from contracts/sw.os/debian.json rename to contracts/sw.os/debian/contract.json index 6deafad4..d0f5f1ce 100644 --- a/contracts/sw.os/debian.json +++ b/contracts/sw.os/debian/contract.json @@ -1,7 +1,9 @@ { "slug": "debian", "type": "sw.os", - "libc": "glibc", + "version": "1", + "data": { "libc": "glibc" }, + "name": "Debian {{version}}", "requires": [ { "type": "sw.blob", "slug": "tini" }, { "type": "sw.blob", "slug": "resin-xbuild" }, diff --git a/contracts/sw.os/fedora.json b/contracts/sw.os/fedora/contract.json similarity index 94% rename from contracts/sw.os/fedora.json rename to contracts/sw.os/fedora/contract.json index 9310fe80..102104b9 100644 --- a/contracts/sw.os/fedora.json +++ b/contracts/sw.os/fedora/contract.json @@ -1,7 +1,8 @@ { "slug": "fedora", "type": "sw.os", - "libc": "glibc", + "version": "1", + "data" : { "libc": "glibc" }, "name": "Fedora {{version}}", "requires": [ { "type": "sw.blob", "slug": "tini" }, diff --git a/contracts/sw.os/resinos.json b/contracts/sw.os/resinos/contract.json similarity index 88% rename from contracts/sw.os/resinos.json rename to contracts/sw.os/resinos/contract.json index 7343b11c..4e77dac1 100644 --- a/contracts/sw.os/resinos.json +++ b/contracts/sw.os/resinos/contract.json @@ -3,7 +3,7 @@ "name": "ResinOS", "version": "2.3.0", "type": "sw.os", - "libc": "glibc", + "data": { "libc": "glibc" }, "requires": [ { "type": "arch.sw", diff --git a/contracts/sw.stack/go.json b/contracts/sw.stack/go/contract.json similarity index 97% rename from contracts/sw.stack/go.json rename to contracts/sw.stack/go/contract.json index 73eeedb5..cee716d6 100644 --- a/contracts/sw.stack/go.json +++ b/contracts/sw.stack/go/contract.json @@ -2,6 +2,7 @@ "slug": "go", "type": "sw.stack", "name": "Go {{version}}", + "version": "1", "requires": [ { "or": [ diff --git a/contracts/sw.stack/java.json b/contracts/sw.stack/java/contract.json similarity index 98% rename from contracts/sw.stack/java.json rename to contracts/sw.stack/java/contract.json index 84861094..a6fb4756 100644 --- a/contracts/sw.stack/java.json +++ b/contracts/sw.stack/java/contract.json @@ -2,6 +2,7 @@ "slug": "java", "type": "sw.stack", "name": "Java {{version}}", + "version": "1", "requires": [ { "or": [ diff --git a/contracts/sw.stack/nodejs.json b/contracts/sw.stack/nodejs/contract.json similarity index 98% rename from contracts/sw.stack/nodejs.json rename to contracts/sw.stack/nodejs/contract.json index 1a4b7143..cd4614c7 100644 --- a/contracts/sw.stack/nodejs.json +++ b/contracts/sw.stack/nodejs/contract.json @@ -2,6 +2,7 @@ "slug": "nodejs", "type": "sw.stack", "name": "Node.js {{version}}", + "version": "1", "requires": [ { "or": [ diff --git a/contracts/sw.stack/python.json b/contracts/sw.stack/python/contract.json similarity index 97% rename from contracts/sw.stack/python.json rename to contracts/sw.stack/python/contract.json index e1af40d2..716520c7 100644 --- a/contracts/sw.stack/python.json +++ b/contracts/sw.stack/python/contract.json @@ -2,6 +2,7 @@ "slug": "python", "type": "sw.stack", "name": "Python {{version}}", + "version": "1", "requires": [ { "or": [ diff --git a/contracts/sw.variant/jdk.json b/contracts/sw.variant/jdk.json deleted file mode 100644 index 87845120..00000000 --- a/contracts/sw.variant/jdk.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "slug": "jdk", - "version": "1", - "type": "sw.variant", - "name": "JDK", - "requires": [ - { - "or": [ - { "type": "sw.os", "slug": "fedora" }, - { "type": "sw.os", "slug": "debian" }, - { "type": "sw.os", "slug": "raspbian" }, - { "type": "sw.os", "slug": "alpine" } - ] - }, - { - "type": "sw.stack", - "slug": "java" - } - ] -} diff --git a/contracts/sw.variant/jre.json b/contracts/sw.variant/jre.json deleted file mode 100644 index 76bc61cd..00000000 --- a/contracts/sw.variant/jre.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "slug": "jre", - "version": "1", - "type": "sw.variant", - "name": "JRE", - "requires": [ - { - "or": [ - { "type": "sw.os", "slug": "fedora" }, - { "type": "sw.os", "slug": "debian" }, - { "type": "sw.os", "slug": "raspbian" }, - { "type": "sw.os", "slug": "alpine" } - ] - }, - { - "type": "sw.stack", - "slug": "java" - } - ] -} diff --git a/contracts/sw.variant/onbuild.json b/contracts/sw.variant/onbuild.json deleted file mode 100644 index e9ab34a8..00000000 --- a/contracts/sw.variant/onbuild.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "slug": "onbuild", - "version": "1", - "type": "sw.variant", - "name": "On Build", - "requires": [ - { - "or": [ - { "type": "sw.os", "slug": "fedora" }, - { "type": "sw.os", "slug": "debian" }, - { "type": "sw.os", "slug": "raspbian" }, - { "type": "sw.os", "slug": "alpine" } - ] - }, - { - "or": [ - { "type": "sw.stack", "slug": "go" }, - { "type": "sw.stack", "slug": "nodejs" }, - { "type": "sw.stack", "slug": "python" } - ] - } - ] -} diff --git a/contracts/sw.variant/slim.json b/contracts/sw.variant/slim.json deleted file mode 100644 index c8368a6b..00000000 --- a/contracts/sw.variant/slim.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "slug": "slim", - "version": "1", - "type": "sw.variant", - "name": "Slim", - "requires": [ - { - "or": [ - { "type": "sw.os", "slug": "fedora" }, - { "type": "sw.os", "slug": "debian" }, - { "type": "sw.os", "slug": "raspbian" }, - { "type": "sw.os", "slug": "alpine" } - ] - }, - { - "or": [ - { "type": "sw.stack", "slug": "go" }, - { "type": "sw.stack", "slug": "nodejs" }, - { "type": "sw.stack", "slug": "python" } - ] - } - ] -} diff --git a/scripts/check-contracts.js b/scripts/check-contracts.js index c411309f..7a61d752 100644 --- a/scripts/check-contracts.js +++ b/scripts/check-contracts.js @@ -16,17 +16,12 @@ 'use strict' +const path = require('path') const utils = require('./utils') - +const CONTRACTS_PATH = path.join(__dirname, '..', 'contracts') let success = true -for (const contract of utils.readContracts()) { - if (contract.source.slug !== contract.name) { - success = false - console.error(contract.path) - console.error(` The contract slug is ${contract.source.slug}, but the file name is ${contract.name}`) - } - +for (const contract of utils.readContracts(CONTRACTS_PATH)) { if (contract.source.type !== contract.type) { success = false console.error(contract.path) diff --git a/scripts/utils.js b/scripts/utils.js index 413ba019..62b0ba46 100644 --- a/scripts/utils.js +++ b/scripts/utils.js @@ -18,29 +18,26 @@ const fs = require('fs') const path = require('path') -const CONTRACTS_PATH = path.join(__dirname, '..', 'contracts') -const TYPES = fs.readdirSync(CONTRACTS_PATH) -exports.readContracts = () => { - return TYPES.reduce((accumulator, type) => { - const typeDirectory = path.join(CONTRACTS_PATH, type) - return accumulator.concat(fs.readdirSync(typeDirectory).map((fileName) => { - const contractPath = path.join(CONTRACTS_PATH, type, fileName) +const getAllFiles = dir => + fs.readdirSync(dir).reduce((files, file) => { + const name = path.join(dir, file) + const isDirectory = fs.statSync(name).isDirectory() + return isDirectory ? [...files, ...getAllFiles(name)] : [...files, name] + }, []) - let sourceObject = {} - try { - sourceObject = require(contractPath) - } catch (error) { - console.error(`Can't parse ${contractPath}`) - process.exit(1) - } +exports.readContracts = (dir) => { + const allFiles = getAllFiles(dir) + let contracts = [] - return { - type, - source: sourceObject, - path: contractPath, - name: path.basename(fileName, '.json') - } - })) - }, []) + allFiles.forEach((file) => { + if (path.extname(file) === '.json') { + contracts.push({ + type: path.basename(path.dirname(path.dirname(file))), + source: require(file), + path: file + }) + } + }) + return contracts }