summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniil Baturin <daniil@baturin.org>2018-05-15 03:54:40 +0200
committerDaniil Baturin <daniil@baturin.org>2018-05-15 03:54:40 +0200
commita83e5139eda1d4f2cb77f9b06da42f84aa5d7fc0 (patch)
tree50f40ffd62ab65b94246798867c42e61de208d5e
parent10fc439940f5f2e8ab5053d1587b8bd256944492 (diff)
parent135fb07d959741dbe9a3a4e5e1919de0e7c5bc44 (diff)
downloadvyos-build-a83e5139eda1d4f2cb77f9b06da42f84aa5d7fc0.tar.gz
vyos-build-a83e5139eda1d4f2cb77f9b06da42f84aa5d7fc0.zip
Merge branch 'current' of github.com:vyos/vyos-build into current
-rw-r--r--README.md11
-rwxr-xr-xtools/get_latest_iso.py31
2 files changed, 41 insertions, 1 deletions
diff --git a/README.md b/README.md
index 2b1f5a12..3e7c713a 100644
--- a/README.md
+++ b/README.md
@@ -43,7 +43,16 @@ There are several directories with their own purpose:
## Prerequisites
-To build a VyOS image, you need a machine that runs Debian Jessie. Other build hosts are not supported.
+To build a VyOS image, you need Debian8 "Jessie" environment (with jessie-backports repository). You can create it with [debootstrap](https://wiki.debian.org/Debootstrap) on Debian, Ubuntu and many distributions. To create Debian8 "Jessie" environment under vyos-chroot directory, run below commands.
+
+```
+$ sudo apt install debootstrap (Note: This is on Debian/Ubuntu, adjust it with your favorite distro package manager)
+$ sudo debootstrap jessie vyos-chroot
+$ sudo chroot vyos-chroot
+
+# echo "deb http://deb.debian.org/debian jessie-backports main" >> /etc/apt/sources.list
+# apt update
+```
Several packages are required for building the ISO and all packages, namely python3, live-build, pbuilder, python3-pystache and devscripts.
Individual packages may have other build dependencies. If some packages are missing, build scripts will tell you.
diff --git a/tools/get_latest_iso.py b/tools/get_latest_iso.py
new file mode 100755
index 00000000..4a2ea9a8
--- /dev/null
+++ b/tools/get_latest_iso.py
@@ -0,0 +1,31 @@
+#!/usr/bin/env python3
+
+import os
+import sys
+from lxml import html
+from urllib.parse import unquote
+import requests
+
+BASE_URL = 'https://downloads.vyos.io/'
+PAGE_URL = BASE_URL+'?dir=rolling/current/amd64'
+
+
+def download():
+ page = requests.get(PAGE_URL)
+ tree = html.fromstring(page.content)
+ path = '//*[@id="directory-listing"]/li/a[1]/@href'
+ isos = [x for x in tree.xpath(path) if os.path.splitext(x)[1] == '.iso']
+ latest_iso_url = os.path.join(BASE_URL, isos[-1])
+ filename = unquote(os.path.basename(latest_iso_url))
+ print(filename)
+ if os.path.exists(filename):
+ print("{} already exists".format(filename))
+ sys.exit(0)
+ r = requests.get(latest_iso_url)
+ with open(filename, 'wb') as fd:
+ for chunk in r.iter_content(chunk_size=128):
+ fd.write(chunk)
+
+
+if __name__ == '__main__':
+ download()