|
@@ -18,21 +18,11 @@ def packages_debianoid(user)
|
|
usermod -a -G fuse #{user}
|
|
usermod -a -G fuse #{user}
|
|
chgrp fuse /dev/fuse
|
|
chgrp fuse /dev/fuse
|
|
chmod 666 /dev/fuse
|
|
chmod 666 /dev/fuse
|
|
- apt-get install -y fakeroot build-essential git
|
|
|
|
|
|
+ apt-get install -y fakeroot build-essential git curl
|
|
apt-get install -y python3-dev python3-setuptools
|
|
apt-get install -y python3-dev python3-setuptools
|
|
# for building python:
|
|
# for building python:
|
|
apt-get install -y zlib1g-dev libbz2-dev libncurses5-dev libreadline-dev liblzma-dev libsqlite3-dev libffi-dev
|
|
apt-get install -y zlib1g-dev libbz2-dev libncurses5-dev libreadline-dev liblzma-dev libsqlite3-dev libffi-dev
|
|
- # this way it works on older dists (like ubuntu 12.04) also:
|
|
|
|
- # for python 3.2 on ubuntu 12.04 we need pip<8 and virtualenv<14 as
|
|
|
|
- # newer versions are not compatible with py 3.2 any more.
|
|
|
|
- if which easy_install3 2> /dev/null; then
|
|
|
|
- # works up to xenial / stretch
|
|
|
|
- easy_install3 -i https://pypi.python.org/simple/ 'pip<8.0'
|
|
|
|
- pip3 install 'virtualenv<14.0'
|
|
|
|
- else
|
|
|
|
- # works on recent debian / ubuntu
|
|
|
|
- apt-get install -y python3-pip virtualenv python3-virtualenv
|
|
|
|
- fi
|
|
|
|
|
|
+ apt-get install -y python3-pip virtualenv python3-virtualenv
|
|
EOF
|
|
EOF
|
|
end
|
|
end
|
|
|
|
|
|
@@ -229,10 +219,9 @@ def install_pythons(boxname)
|
|
. ~/.bash_profile
|
|
. ~/.bash_profile
|
|
pyenv install 3.5.3 # tests, 3.5.3 is first to support openssl 1.1
|
|
pyenv install 3.5.3 # tests, 3.5.3 is first to support openssl 1.1
|
|
pyenv install 3.6.2 # tests
|
|
pyenv install 3.6.2 # tests
|
|
- pyenv install 3.7.0 # tests
|
|
|
|
|
|
+ pyenv install 3.7.9 # binary build, use latest 3.7.x release
|
|
pyenv install 3.8.0 # tests
|
|
pyenv install 3.8.0 # tests
|
|
pyenv install 3.9.0 # tests
|
|
pyenv install 3.9.0 # tests
|
|
- pyenv install 3.5.10 # binary build, use latest 3.5.x release
|
|
|
|
pyenv rehash
|
|
pyenv rehash
|
|
EOF
|
|
EOF
|
|
end
|
|
end
|
|
@@ -249,9 +238,9 @@ def build_pyenv_venv(boxname)
|
|
return <<-EOF
|
|
return <<-EOF
|
|
. ~/.bash_profile
|
|
. ~/.bash_profile
|
|
cd /vagrant/borg
|
|
cd /vagrant/borg
|
|
- # use the latest 3.5 release
|
|
|
|
- pyenv global 3.5.10
|
|
|
|
- pyenv virtualenv 3.5.10 borg-env
|
|
|
|
|
|
+ # use the latest 3.7 release
|
|
|
|
+ pyenv global 3.7.9
|
|
|
|
+ pyenv virtualenv 3.7.9 borg-env
|
|
ln -s ~/.pyenv/versions/borg-env .
|
|
ln -s ~/.pyenv/versions/borg-env .
|
|
EOF
|
|
EOF
|
|
end
|
|
end
|
|
@@ -288,7 +277,7 @@ def install_pyinstaller()
|
|
. borg-env/bin/activate
|
|
. borg-env/bin/activate
|
|
git clone https://github.com/thomaswaldmann/pyinstaller.git
|
|
git clone https://github.com/thomaswaldmann/pyinstaller.git
|
|
cd pyinstaller
|
|
cd pyinstaller
|
|
- git checkout v3.2.1
|
|
|
|
|
|
+ git checkout v4.0-maint
|
|
python setup.py install
|
|
python setup.py install
|
|
EOF
|
|
EOF
|
|
end
|
|
end
|
|
@@ -312,8 +301,8 @@ def run_tests(boxname)
|
|
. ../borg-env/bin/activate
|
|
. ../borg-env/bin/activate
|
|
if which pyenv 2> /dev/null; then
|
|
if which pyenv 2> /dev/null; then
|
|
# for testing, use the earliest point releases of the supported python versions:
|
|
# for testing, use the earliest point releases of the supported python versions:
|
|
- pyenv global 3.5.3 3.6.2 3.7.0 3.8.0 3.9.0
|
|
|
|
- pyenv local 3.5.3 3.6.2 3.7.0 3.8.0 3.9.0
|
|
|
|
|
|
+ pyenv global 3.5.3 3.6.2 3.7.9 3.8.0 3.9.0
|
|
|
|
+ pyenv local 3.5.3 3.6.2 3.7.9 3.8.0 3.9.0
|
|
fi
|
|
fi
|
|
# otherwise: just use the system python
|
|
# otherwise: just use the system python
|
|
if which fakeroot 2> /dev/null; then
|
|
if which fakeroot 2> /dev/null; then
|
|
@@ -403,18 +392,6 @@ Vagrant.configure(2) do |config|
|
|
b.vm.provision "run tests", :type => :shell, :privileged => false, :inline => run_tests("xenial64")
|
|
b.vm.provision "run tests", :type => :shell, :privileged => false, :inline => run_tests("xenial64")
|
|
end
|
|
end
|
|
|
|
|
|
- config.vm.define "trusty64" do |b|
|
|
|
|
- b.vm.box = "ubuntu/trusty64"
|
|
|
|
- b.vm.provider :virtualbox do |v|
|
|
|
|
- v.memory = 1024 + $wmem
|
|
|
|
- end
|
|
|
|
- b.vm.provision "fs init", :type => :shell, :inline => fs_init("vagrant")
|
|
|
|
- b.vm.provision "packages debianoid", :type => :shell, :inline => packages_debianoid("vagrant")
|
|
|
|
- b.vm.provision "build env", :type => :shell, :privileged => false, :inline => build_sys_venv("trusty64")
|
|
|
|
- b.vm.provision "install borg", :type => :shell, :privileged => false, :inline => install_borg(true)
|
|
|
|
- b.vm.provision "run tests", :type => :shell, :privileged => false, :inline => run_tests("trusty64")
|
|
|
|
- end
|
|
|
|
-
|
|
|
|
config.vm.define "buster64" do |b|
|
|
config.vm.define "buster64" do |b|
|
|
b.vm.box = "debian/buster64"
|
|
b.vm.box = "debian/buster64"
|
|
b.vm.provider :virtualbox do |v|
|
|
b.vm.provider :virtualbox do |v|
|
|
@@ -434,41 +411,13 @@ Vagrant.configure(2) do |config|
|
|
end
|
|
end
|
|
b.vm.provision "fs init", :type => :shell, :inline => fs_init("vagrant")
|
|
b.vm.provision "fs init", :type => :shell, :inline => fs_init("vagrant")
|
|
b.vm.provision "packages debianoid", :type => :shell, :inline => packages_debianoid("vagrant")
|
|
b.vm.provision "packages debianoid", :type => :shell, :inline => packages_debianoid("vagrant")
|
|
- b.vm.provision "build env", :type => :shell, :privileged => false, :inline => build_sys_venv("stretch64")
|
|
|
|
- b.vm.provision "install borg", :type => :shell, :privileged => false, :inline => install_borg(true)
|
|
|
|
- b.vm.provision "run tests", :type => :shell, :privileged => false, :inline => run_tests("stretch64")
|
|
|
|
- end
|
|
|
|
-
|
|
|
|
- config.vm.define "jessie32" do |b|
|
|
|
|
- b.vm.box = "debian8-i386"
|
|
|
|
- b.vm.provider :virtualbox do |v|
|
|
|
|
- v.memory = 768 + $wmem
|
|
|
|
- end
|
|
|
|
- b.vm.provision "fs init", :type => :shell, :inline => fs_init("vagrant")
|
|
|
|
- b.vm.provision "packages debianoid", :type => :shell, :inline => packages_debianoid("vagrant")
|
|
|
|
- b.vm.provision "install pyenv", :type => :shell, :privileged => false, :inline => install_pyenv("jessie32")
|
|
|
|
- b.vm.provision "install pythons", :type => :shell, :privileged => false, :inline => install_pythons("jessie32")
|
|
|
|
- b.vm.provision "build env", :type => :shell, :privileged => false, :inline => build_pyenv_venv("jessie32")
|
|
|
|
- b.vm.provision "install borg", :type => :shell, :privileged => false, :inline => install_borg(true)
|
|
|
|
- b.vm.provision "install pyinstaller", :type => :shell, :privileged => false, :inline => install_pyinstaller()
|
|
|
|
- b.vm.provision "build binary with pyinstaller", :type => :shell, :privileged => false, :inline => build_binary_with_pyinstaller("jessie32")
|
|
|
|
- b.vm.provision "run tests", :type => :shell, :privileged => false, :inline => run_tests("jessie32")
|
|
|
|
- end
|
|
|
|
-
|
|
|
|
- config.vm.define "jessie64" do |b|
|
|
|
|
- b.vm.box = "debian8-amd64"
|
|
|
|
- b.vm.provider :virtualbox do |v|
|
|
|
|
- v.memory = 1024 + $wmem
|
|
|
|
- end
|
|
|
|
- b.vm.provision "fs init", :type => :shell, :inline => fs_init("vagrant")
|
|
|
|
- b.vm.provision "packages debianoid", :type => :shell, :inline => packages_debianoid("vagrant")
|
|
|
|
- b.vm.provision "install pyenv", :type => :shell, :privileged => false, :inline => install_pyenv("jessie64")
|
|
|
|
- b.vm.provision "install pythons", :type => :shell, :privileged => false, :inline => install_pythons("jessie64")
|
|
|
|
- b.vm.provision "build env", :type => :shell, :privileged => false, :inline => build_pyenv_venv("jessie64")
|
|
|
|
|
|
+ b.vm.provision "install pyenv", :type => :shell, :privileged => false, :inline => install_pyenv("stretch64")
|
|
|
|
+ b.vm.provision "install pythons", :type => :shell, :privileged => false, :inline => install_pythons("stretch64")
|
|
|
|
+ b.vm.provision "build env", :type => :shell, :privileged => false, :inline => build_pyenv_venv("stretch64")
|
|
b.vm.provision "install borg", :type => :shell, :privileged => false, :inline => install_borg(true)
|
|
b.vm.provision "install borg", :type => :shell, :privileged => false, :inline => install_borg(true)
|
|
b.vm.provision "install pyinstaller", :type => :shell, :privileged => false, :inline => install_pyinstaller()
|
|
b.vm.provision "install pyinstaller", :type => :shell, :privileged => false, :inline => install_pyinstaller()
|
|
- b.vm.provision "build binary with pyinstaller", :type => :shell, :privileged => false, :inline => build_binary_with_pyinstaller("jessie64")
|
|
|
|
- b.vm.provision "run tests", :type => :shell, :privileged => false, :inline => run_tests("jessie64")
|
|
|
|
|
|
+ b.vm.provision "build binary with pyinstaller", :type => :shell, :privileged => false, :inline => build_binary_with_pyinstaller("stretch64")
|
|
|
|
+ b.vm.provision "run tests", :type => :shell, :privileged => false, :inline => run_tests("stretch64")
|
|
end
|
|
end
|
|
|
|
|
|
# OS X
|
|
# OS X
|