build.sh 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. #!/bin/bash
  2. export PATH=/bin:/usr/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/sbin
  3. if [ $# = 0 ]; then
  4. echo 'Usage: ./build.sh <distribution-name> [<distribution-name>] ...'
  5. exit 1
  6. fi
  7. if [ ! -d ./ubuntu-trusty ]; then
  8. echo 'Must run from linux-build-farm subfolder.'
  9. exit 1
  10. fi
  11. rm -f zt1-src.tar.gz
  12. cd ..
  13. git archive --format=tar.gz --prefix=ZeroTierOne/ -o linux-build-farm/zt1-src.tar.gz HEAD
  14. cd linux-build-farm
  15. # Note that --privileged is used so we can bind mount VM shares when building in a VM.
  16. # It has no other impact or purpose, but probably doesn't matter here in any case.
  17. for distro in $*; do
  18. cd $distro
  19. rm -f *.deb
  20. cd x64
  21. mv ../../zt1-src.tar.gz .
  22. docker build -t zt1-build-${distro}-x64 .
  23. mv zt1-src.tar.gz ../..
  24. cd ..
  25. # docker run --rm -v `pwd`:/artifacts --privileged -it zt1-build-${distro}-x64 /bin/bash -c 'cd /ZeroTierOne ; make `[ -f /etc/debian_version ] && echo debian || echo redhat` ; cd .. ; cp *.deb /artifacts ; ls -l /artifacts'
  26. cd x86
  27. mv ../../zt1-src.tar.gz .
  28. docker build -t zt1-build-${distro}-x86 .
  29. mv zt1-src.tar.gz ../..
  30. cd ..
  31. # docker run --rm -v `pwd`:/artifacts --privileged -it zt1-build-${distro}-x86 /bin/bash -c 'cd /ZeroTierOne ; make `[ -f /etc/debian_version ] && echo debian || echo redhat` ; cd .. ; cp *.deb /artifacts ; ls -l /artifacts'
  32. cd ..
  33. done
  34. rm -f zt1-src.tar.gz