You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

59 lines
1.9 KiB

  1. #!/bin/sh
  2. # Copyright 2017 Roger Shimizu <rogershimizu@gmail.com>
  3. #
  4. # This is free software; you can redistribute it and/or modify
  5. # it under the terms of the GNU General Public License as published by
  6. # the Free Software Foundation; either version 3 of the License, or
  7. # (at your option) any later version.
  8. # Please add xenial-backports repo to your apt source list
  9. # Because we use debhelper 10 in that repo
  10. DEPS="git-buildpackage equivs"
  11. DEPS_BPO="debhelper dh-systemd"
  12. BPO=xenial-backports
  13. sudo apt-get install -y $DEPS
  14. sudo apt-get install -y -t $BPO $DEPS_BPO
  15. gbp_build() {
  16. REPO=$1
  17. BRANCH=$2
  18. PROJECT_NAME=$(basename $1|sed s/\.git$//)
  19. gbp clone --pristine-tar $REPO
  20. cd $PROJECT_NAME
  21. git checkout $BRANCH
  22. mk-build-deps --root-cmd sudo --install --tool "apt-get -o Debug::pkgProblemResolver=yes --no-install-recommends -y"
  23. rm ${PROJECT_NAME}-build-deps_*.deb
  24. gbp buildpackage -us -uc --git-ignore-branch --git-pristine-tar
  25. cd -
  26. }
  27. dsc_build() {
  28. DSC=$1
  29. DSC_FILE=$(basename $1)
  30. dget -ux $DSC
  31. PROJECT_NAME=$(grep ^Source: $DSC_FILE|cut -d" " -f2)
  32. echo cd ${PROJECT_NAME}-*
  33. cd ${PROJECT_NAME}-*
  34. mk-build-deps --root-cmd sudo --install --tool "apt-get -o Debug::pkgProblemResolver=yes --no-install-recommends -y"
  35. rm ${PROJECT_NAME}-build-deps_*.deb
  36. dpkg-buildpackage -us -uc
  37. cd -
  38. }
  39. # Build libcork deb if you don't have
  40. gbp_build https://github.com/rogers0/libcork debian
  41. sudo dpkg -i libcork-dev_*.deb libcork16_*.deb
  42. # Build libcorkipset deb if you don't have
  43. gbp_build https://github.com/rogers0/libcorkipset debian
  44. sudo dpkg -i libcorkipset-dev_*.deb libcorkipset1_*.deb
  45. # Build shadowsocks-libev
  46. gbp_build https://anonscm.debian.org/git/collab-maint/shadowsocks-libev.git master
  47. sudo dpkg -i shadowsocks-libev_*.deb
  48. sudo apt-get install -fy
  49. # Cleanup
  50. sudo apt-get purge -y libcork-build-deps libcorkipset-build-deps shadowsocks-libev-build-deps \
  51. $DEPS $DEPS_BPO libcork-dev libcorkipset-dev
  52. sudo apt-get autoremove -y