summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: db0e1f2c58b9105ba689f8347ea9e062d189c168 (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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
# $Id$
# Maintainer: Ido Rosen <ido@kernel.org>
#
# NOTE: To request changes to this package, please submit a pull request
#       to the GitHub repository at https://github.com/ido/packages-archlinux
#       Otherwise, open a GitHub issue.  Thank you! -Ido
#

#pkgbase=${pkgname%%-git}
pkgname=airflow-git
pkgver=1.7.1rc3.227.g635c97a
pkgrel=1
pkgdesc='The Apache Airflow workflow management system (formerly Airbnb Airflow).'
arch=('x86_64' 'i686')
url='http://github.com/apache/incubator-airflow/'
license=('Apache')
depends=('python2'
         #'python2-greenlet' 'python2-eventlet' 'python2-gevent' # async
         #'python2-celery' # celery, FIXME missing python2-flower
         #'python2-cryptography' # crypto
         #'python2-docker-py' # docker
         #'python2-httplib2' 'python2-google-api-python-client' 'python2-oauth2client' 'python2-pyopenssl' # gcp_api
         #'python2-psycopg2' # postgres
         #'python2-sqlalchemy' # sqlalchemy
         )
#makedepends=()
install=${pkgname%%-git}.install
options=('emptydirs')
provides=('airflow' 'python2-airflow')
conflicts=('airflow' 'python2-airflow')
source=("${pkgname%%-git}::git+https://github.com/apache/incubator-airflow.git#branch=master"
        "${pkgname%%-git}.install")
sha256sums=('SKIP'
            'SKIP')

pkgver() {
  cd "${srcdir}/${pkgname%%-git}"
  #printf "%s" "$(git describe --long --tags | sed 's/v//; s/-/./g')"
  git describe --long --tags | sed 's/^airbnb_//; s/-/./g'
}

prepare() {
  cd "${srcdir}/${pkgname%%-git}"
  git submodule sync
  git submodule update --init --recursive

  # fix python scripts to use python2
  find . -type f -exec sed -i 's,^#!/usr/bin/env python$,#!/usr/bin/env python2,g' {} \;

  # run setup.py script with python2
  find . -type f ! -name 'tox.ini' -exec sed -i 's,python setup.py,python2 setup.py,g' {} \;
}

build() {
  cd "${srcdir}/${pkgname%%-git}"
}

package() {
  cd "${srcdir}/${pkgname%%-git}"

  # Some python scripts are autogenerated. Fix those too.
  find . -type f -exec sed -i 's,^#!/usr/bin/env python$,#!/usr/bin/env python2,g' {} \;

  python2 setup.py install --prefix=/usr --root="${pkgdir}"

  # Systemd.
  install -dm755 "$pkgdir/etc/sysconfig"
  install -Dm644 "scripts/systemd/airflow" "$pkgdir/etc/sysconfig/airflow"
  install -dm755 "$pkgdir/usr/lib/tmpfiles.d"
  install -Dm644 "scripts/systemd/airflow.conf" "$pkgdir/usr/lib/tmpfiles.d/airflow.conf"
  install -dm755 "$pkgdir/usr/lib/systemd/system"
  install -Dm644 "scripts/systemd/airflow-"{flower,kerberos,webserver,scheduler,worker}.service "$pkgdir/usr/lib/systemd/system/"

  # License.
  install -Dm644 LICENSE.txt \
    "$pkgdir/usr/share/licenses/${pkgname%%-git}/LICENSE.txt"
}