Merge branch 'current' of github.com:vyos/vyos-build into current

This commit is contained in:
Daniil Baturin 2018-05-15 03:54:40 +02:00
commit a83e5139ed
2 changed files with 41 additions and 1 deletions

View File

@ -43,7 +43,16 @@ There are several directories with their own purpose:
## Prerequisites ## 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. 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. Individual packages may have other build dependencies. If some packages are missing, build scripts will tell you.

31
tools/get_latest_iso.py Executable file
View File

@ -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()