summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 65a672454eff84cf33e0c53618c2e754d87d7ba8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# $Id$
# Maintainer: Philipp Marmet
# Contributor: Joe Julian

pkgname=mgmt
pkgver=0.0.19
pkgrel=1
epoch=1
pkgdesc='Next generation config management.'
arch=('x86_64' 'i686' 'armv6h' 'armv7h')
pkggopath='github.com/purpleidea/mgmt'
url="https://${pkggopath}"
license=('GPL3')
makedepends=('augeas' 'go' 'go-md2man' 'go-tools' 'libpcap' 'libvirt')
depends=('augeas' 'libvirt')
# don't strip binaries! A sha1 is used to check binary consistency.
options=('!strip')
backup=("etc/${pkgname}/${pkgname}.conf")

source=("git+${url}.git"
        'mgmt.service')
sha1sums=('SKIP'
          'ef0ecdb4d1c4441b884c7084b93806b52ec567c6')

prepare() {
    # extract tarball to path expected by go
    mkdir -p "${srcdir}/src/${pkggopath}"
    cd "${srcdir}/${pkgname}"

    git submodule --quiet update --init --recursive
    git archive --prefix="${pkggopath}/" --format="tar" HEAD | tar xf - -C "${srcdir}/src"
    git submodule foreach 'git archive --prefix="${path}/" --format="tar" HEAD | tar xvf - -C "'${srcdir}'/src/'${pkggopath}'"'

    # fetch dependencies
    export GOPATH="${srcdir}"
    export PATH=${GOPATH}/bin:${PATH}
    cd "${srcdir}/src/${pkggopath}"
    msg2 'installing go dependencies'
    go install github.com/blynn/nex@latest
}

build() {
    export GOPATH="${srcdir}"
    export PATH=${GOPATH}/bin:${PATH}
    msg2 'building misc'
    cd "${srcdir}/src/${pkggopath}"
    PATH=$PATH:/usr/lib/go/pkg/tool/linux_amd64 \
        make build VERSION="${pkgver}" SVERSION="${pkgver}" PROGRAM="${pkgname}"
}

package() {
    msg2 'installing files'
    install -Dm644 "mgmt.service" "${pkgdir}/usr/lib/systemd/system/mgmt.service"

    cd "${srcdir}/src/${pkggopath}"
    install -Dm755 "${pkgname}" "${pkgdir}/usr/bin/${pkgname}"
    install -Dm644 "misc/bashrc.sh" "${pkgdir}/usr/share/bash-completion/completions/${pkgname}"
    install -Dm644 "misc/example.conf" "${pkgdir}/etc/${pkgname}/${pkgname}.conf"
}