make_deb.sh 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. #!/bin/sh
  2. mkdir -p /root/gravitl/netclient_0.VERSION_amd64/sbin
  3. mkdir -p /root/gravitl/netclient_0.VERSION_amd64/var/lib/systemd/system
  4. mkdir -p /root/gravitl/netclient_0.VERSION_amd64/DEBIAN
  5. mkdir -p /root/gravitl/netclient_0.VERSION_arm64/sbin
  6. mkdir -p /root/gravitl/netclient_0.VERSION_arm64/var/lib/systemd/system
  7. mkdir -p /root/gravitl/netclient_0.VERSION_arm64/DEBIAN
  8. cat << EOF > /root/gravitl/netclient_0.VERSION_amd64/DEBIAN/control
  9. Package: netclient
  10. Version: VERSION
  11. Maintainer: [email protected]
  12. Depends: wireguard-tools
  13. Architecture: amd64
  14. Homepage: https://github.com/gravitl/netmaker
  15. Description: netclient daemon - a platform for modern, blazing fast virtual networks
  16. EOF
  17. cat << EOF > /root/gravitl/netclient_0.VERSION_arm64/DEBIAN/control
  18. Package: netclient
  19. Version: VERSION
  20. Maintainer: [email protected]
  21. Depends: wireguard-tools
  22. Architecture: arm64
  23. Homepage: https://github.com/gravitl/netmaker
  24. Description: netclient daemon - a platform for modern, blazing fast virtual networks
  25. EOF
  26. wget https://github.com/gravitl/netmaker/releases/download/vVERSION/netclient -O /root/gravitl/netclient_0.VERSION_amd64/sbin/netclient
  27. wget https://github.com/gravitl/netmaker/releases/download/vVERSION/netclient-arm64 -O /root/gravitl/netclient_0.VERSION_arm64/sbin/netclient
  28. wget https://raw.githubusercontent.com/gravitl/netmaker/master/netclient/build/netclient.service -O /root/gravitl/netclient_0.VERSION_amd64/var/lib/systemd/system/netclient.service
  29. cp /root/gravitl/netclient_0.VERSION_amd64/var/lib/systemd/system/netclient.service /root/gravitl/netclient_0.VERSION_arm64/var/lib/systemd/system/netclient.service
  30. dpkg --build /root/gravitl/netclient_0.VERSION_amd64
  31. dpkg --build /root/gravitl/netclient_0.VERSION_arm64
  32. mkdir -p /var/apt-repo/pool/main
  33. mkdir -p /var/apt-repo/dists/stable/main/binary-amd64
  34. mkdir -p /var/apt-repo/dists/stable/main/binary-arm64
  35. cp /root/gravitl/netclient_0.VERSION_amd64.deb /var/apt-repo/pool/main
  36. cp /root/gravitl/netclient_0.VERSION_arm64.deb /var/apt-repo/pool/main
  37. cd /var/apt-repo
  38. dpkg-scanpackages --arch amd64 -m pool/ > dists/stable/main/binary-amd64/Packages
  39. dpkg-scanpackages --arch arm64 -m pool/ > dists/stable/main/binary-arm64/Packages
  40. cat dists/stable/main/binary-amd64/Packages | gzip -9 > dists/stable/main/binary-amd64/Packages.gz
  41. cat dists/stable/main/binary-arm64/Packages | gzip -9 > dists/stable/main/binary-arm64/Packages.gz
  42. cd dists/stable
  43. /root/generate_release.sh > Release
  44. cat /var/apt-repo/dists/stable/Release | gpg --default-key gravitl -abs > /var/apt-repo/dists/stable/Release.gpg
  45. cat /var/apt-repo/dists/stable/Release | gpg --default-key gravitl -abs --clearsign > /var/apt-repo/dists/stable/InRelease
  46. if test -f /var/apt-repo/gpg.key ; then
  47. rm /var/apt-repo/gpg.key
  48. fi
  49. gpg --export -a --output /var/apt-repo/gpg.key gravitl
  50. cat <<EOF > /var/apt-repo/debian.deb.txt
  51. # Source: netclient
  52. # Site: https://github.com/gravitl/netmaker
  53. # Repository: Netmaker / stable
  54. # Description: a platform for modern, blazing fast virtual networks
  55. deb [arch=amd64] https:apt.clustercat.com stable main
  56. EOF