blob: fbe703214aa617bdc1d6a6fd28a96e42e60118af (
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
|
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-util/buildbot/buildbot-0.8.7_p1.ebuild,v 1.2 2013/01/26 16:36:44 hwoarang Exp $
EAPI="5"
PYTHON_DEPEND="2"
SUPPORT_PYTHON_ABIS="1"
RESTRICT_PYTHON_ABIS="3.* *-jython"
DISTUTILS_SRC_TEST="trial"
DISTUTILS_DISABLE_TEST_DEPENDENCY="1"
inherit distutils user
MY_PV="${PV/_p/p}"
MY_P="${PN}-${MY_PV}"
DESCRIPTION="BuildBot build automation system"
HOMEPAGE="http://trac.buildbot.net/ http://code.google.com/p/buildbot/ http://pypi.python.org/pypi/buildbot"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${MY_P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-interix ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris"
IUSE="doc examples irc mail manhole test"
# sqlite3 module of Python 2.5 is not supported.
RDEPEND=">=dev-python/jinja-2.1
|| ( dev-lang/python:2.7 dev-lang/python:2.6 dev-python/simplejson )
|| ( dev-lang/python:2.7[sqlite] dev-lang/python:2.6[sqlite] dev-python/pysqlite:2 )
>=dev-python/twisted-8.0.0
dev-python/twisted-web
dev-python/sqlalchemy
dev-python/sqlalchemy-migrate
irc? ( dev-python/twisted-words )
mail? ( dev-python/twisted-mail )
manhole? ( dev-python/twisted-conch )"
DEPEND="${DEPEND}
dev-python/setuptools
doc? ( sys-apps/texinfo )
test? (
dev-python/mock
dev-python/twisted-mail
dev-python/twisted-web
dev-python/twisted-words
)"
S="${WORKDIR}/${MY_P}"
pkg_setup() {
python_pkg_setup
enewuser buildbot
}
src_compile() {
distutils_src_compile
if use doc; then
einfo "Generation of documentation"
pushd docs > /dev/null
emake buildbot.html buildbot.info
popd > /dev/null
fi
}
src_install() {
distutils_src_install
doman docs/buildbot.1
if use doc; then
dohtml -r docs/buildbot.html docs/images
doinfo docs/buildbot.info
fi
if use examples; then
insinto /usr/share/doc/${PF}
doins -r contrib docs/examples
fi
newconfd "${FILESDIR}/buildmaster.confd" buildmaster
newinitd "${FILESDIR}/buildmaster.initd" buildmaster
# In case of multiple masters, it's possible to edit web files
# so all master can share the changes. So protect them!
# If something else need to be protected, please open a bug
# on http://bugs.gentoo.org
local cp
add_config_protect() {
cp+=" $(python_get_sitedir)/${PN}/status/web"
}
python_execute_function -q add_config_protect
echo "CONFIG_PROTECT=\"${cp}\"" \
> 85${PN} || die
doenvd 85${PN}
}
pkg_postinst() {
distutils_pkg_postinst
elog "The \"buildbot\" user and the \"buildmaster\" init script has been added"
elog "to support starting buildbot through Gentoo's init system. To use this,"
elog "set up your build master following the documentation, make sure the"
elog "resulting directories are owned by the \"buildbot\" user and point"
elog "\"${EROOT}etc/conf.d/buildmaster\" at the right location. The scripts can"
elog "run as a different user if desired. If you need to run more than one"
elog "build master, just copy the scripts."
elog
elog "Upstream recommends the following when upgrading:"
elog "Each time you install a new version of Buildbot, you should run the"
elog "\"buildbot upgrade-master\" command on each of your pre-existing build masters."
elog "This will add files and fix (or at least detect) incompatibilities between"
elog "your old config and the new code."
}
|