# Maintainer: Christer Edwards <christer.edwards@gmail.com>
pkgname=salt-git
_gitname="salt"
pkgver=v0.15.0.1086.gfaf0bcf
pkgrel=1
pkgdesc="A remote execution and communication system built on zeromq"
arch=('any')
url="https://github.com/saltstack/salt"
license=('APACHE')
groups=()
depends=('python2'
         'python2-yaml'
         'python2-jinja'
         'python2-pyzmq'
         'python2-crypto'
         'python2-psutil'
         'python2-msgpack'
         'python2-m2crypto'
         'logrotate'
         'bash-completion')

backup=('etc/salt/master'
        'etc/salt/minion')

makedepends=('git')
conflicts=('salt')
provides=('salt' 'bash-completion-salt')
install="salt.install"

# makepkg 4.1 knows about git and will pull main branch
source=("git://github.com/saltstack/salt.git")

# makepkg knows it's a git repo because the url starts with 'git'
# it then knows to checkout the branch upon cloning, expediating versioning.
#branch="develop"
#source=("git://github.com/saltstack/salt.git#branch=$branch")

# makepkg also knows about tags
#tags="v0.14.1"
#source=("git://github.com/saltstack/salt.git#tag=$tag")

# because the sources are not static, skip checksums
md5sums=('SKIP')

pkgver() {
  cd "$srcdir/$_gitname"
  echo $(git describe --always | sed 's/-/./g')
  # for git, if the repo has no tags, comment out the above and uncomment the next line:
  #echo "0.$(git rev-list --count $branch).$(git describe --always)"
  # This will give you a count of the total commits and the hash of the commit you are on.
  # Useful if you're making a repository with git packages so that they can have sequential
  # version numbers. (Else a pacman -Syu may not update the package)
}

#build() {
#  cd "${srcdir}/${_gitname}"
#  python2 setup.py build
   # no need to build setup.py install will do this
#}

package() {
  cd "${srcdir}/${_gitname}"

  ## build salt
  python2 setup.py install --root=${pkgdir}/ --optimize=1

  ## install salt systemd service files
  install -Dm644 ${srcdir}/salt/pkg/arch/salt-master.service ${pkgdir}/usr/lib/systemd/system/salt-master.service
  install -Dm644 ${srcdir}/salt/pkg/arch/salt-syndic.service ${pkgdir}/usr/lib/systemd/system/salt-syndic.service
  install -Dm644 ${srcdir}/salt/pkg/arch/salt-minion.service ${pkgdir}/usr/lib/systemd/system/salt-minion.service

  ## install salt config files
  mkdir -p ${pkgdir}/etc/salt/master.d
  mkdir -p ${pkgdir}/etc/salt/minion.d
  cp ${srcdir}/salt/conf/master ${pkgdir}/etc/salt/
  cp ${srcdir}/salt/conf/minion ${pkgdir}/etc/salt/

  ## install logrotate:
  mkdir -p ${pkgdir}/etc/logrotate.d/
  install -Dm644 ${srcdir}/salt/pkg/salt-common.logrotate ${pkgdir}/etc/logrotate.d/salt

  ## install bash-completion
  mkdir -p ${pkgdir}/usr/share/bash-completion/completion/
  install -Dm644 ${srcdir}/salt/pkg/salt.bash ${pkgdir}/usr/share/bash-completion/completion/salt

  # remove vcs leftovers
  find "$pkgdir" -type d -name .git -exec rm -r '{}' +
}
