Gentoo Archives: gentoo-commits

From: "Patrick McLean (chutzpah)" <chutzpah@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in app-emulation/ganeti: ganeti-2.12.1-r1.ebuild ChangeLog ganeti-2.12.1.ebuild
Date: Fri, 06 Mar 2015 18:27:48
Message-Id: 20150306182743.F1DC4132E4@oystercatcher.gentoo.org
1 chutzpah 15/03/06 18:27:43
2
3 Modified: ChangeLog
4 Added: ganeti-2.12.1-r1.ebuild
5 Removed: ganeti-2.12.1.ebuild
6 Log:
7 Revision bump, the haskell dependencies are runtime deps as well as build time.
8
9 (Portage version: 2.2.18/cvs/Linux x86_64, signed Manifest commit with key 0xE3F69979BB4B8928DA78E3D17CBF44EF)
10
11 Revision Changes Path
12 1.98 app-emulation/ganeti/ChangeLog
13
14 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-emulation/ganeti/ChangeLog?rev=1.98&view=markup
15 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-emulation/ganeti/ChangeLog?rev=1.98&content-type=text/plain
16 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-emulation/ganeti/ChangeLog?r1=1.97&r2=1.98
17
18 Index: ChangeLog
19 ===================================================================
20 RCS file: /var/cvsroot/gentoo-x86/app-emulation/ganeti/ChangeLog,v
21 retrieving revision 1.97
22 retrieving revision 1.98
23 diff -u -r1.97 -r1.98
24 --- ChangeLog 6 Mar 2015 01:25:05 -0000 1.97
25 +++ ChangeLog 6 Mar 2015 18:27:43 -0000 1.98
26 @@ -1,6 +1,13 @@
27 # ChangeLog for app-emulation/ganeti
28 # Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
29 -# $Header: /var/cvsroot/gentoo-x86/app-emulation/ganeti/ChangeLog,v 1.97 2015/03/06 01:25:05 chutzpah Exp $
30 +# $Header: /var/cvsroot/gentoo-x86/app-emulation/ganeti/ChangeLog,v 1.98 2015/03/06 18:27:43 chutzpah Exp $
31 +
32 +*ganeti-2.12.1-r1 (06 Mar 2015)
33 +
34 + 06 Mar 2015; Patrick McLean <chutzpah@g.o> +ganeti-2.12.1-r1.ebuild,
35 + -ganeti-2.12.1.ebuild:
36 + Revision bump, the haskell dependencies are runtime deps as well as build
37 + time.
38
39 *ganeti-2.11.6-r2 (06 Mar 2015)
40 *ganeti-2.10.5-r4 (06 Mar 2015)
41
42
43
44 1.1 app-emulation/ganeti/ganeti-2.12.1-r1.ebuild
45
46 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-emulation/ganeti/ganeti-2.12.1-r1.ebuild?rev=1.1&view=markup
47 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-emulation/ganeti/ganeti-2.12.1-r1.ebuild?rev=1.1&content-type=text/plain
48
49 Index: ganeti-2.12.1-r1.ebuild
50 ===================================================================
51 # Copyright 1999-2015 Gentoo Foundation
52 # Distributed under the terms of the GNU General Public License v2
53 # $Header: /var/cvsroot/gentoo-x86/app-emulation/ganeti/ganeti-2.12.1-r1.ebuild,v 1.1 2015/03/06 18:27:43 chutzpah Exp $
54
55 EAPI=5
56 PYTHON_COMPAT=(python2_7)
57 use test && PYTHON_REQ_USE="ipv6"
58
59 inherit eutils user confutils autotools bash-completion-r1 python-single-r1 versionator pax-utils
60
61 MY_PV="${PV/_rc/~rc}"
62 #MY_PV="${PV/_beta/~beta}"
63 MY_P="${PN}-${MY_PV}"
64 SERIES="$(get_version_component_range 1-2)"
65
66 if [[ ${PV} == "9999" ]] ; then
67 EGIT_REPO_URI="git://git.ganeti.org/ganeti.git"
68 inherit git-2
69 KEYWORDS=""
70 # you will need to pull in the haskell overlay for pandoc
71 GIT_DEPEND="app-text/pandoc
72 dev-python/docutils
73 dev-python/sphinx
74 media-libs/gd[fontconfig,jpeg,png,truetype]
75 media-gfx/graphviz
76 media-fonts/urw-fonts"
77 else
78 SRC_URI="http://downloads.ganeti.org/releases/${SERIES}/${P}.tar.gz"
79 KEYWORDS="~amd64 ~x86"
80 fi
81
82 DESCRIPTION="Ganeti is a virtual server management software tool"
83 HOMEPAGE="http://code.google.com/p/ganeti/"
84
85 LICENSE="GPL-2"
86 SLOT="0"
87 IUSE="drbd haskell-daemons htools ipv6 kvm lxc monitoring multiple-users rbd syslog test xen"
88 REQUIRED_USE="|| ( kvm xen lxc )"
89
90 USER_PREFIX="${GANETI_USER_PREFIX:-"gnt-"}"
91 GROUP_PREFIX="${GANETI_GROUP_PREFIX:-"${USER_PREFIX}"}"
92
93 # the haskell less-than atoms list are resolver hints, they aren't actual
94 # direct dependencies, just hints to help the resolver fufill the dependency
95 # on an older transformer.
96 # these need to stay until 2.14.0
97 DEPEND="
98 dev-libs/openssl:0
99 dev-python/paramiko[${PYTHON_USEDEP}]
100 dev-python/pyopenssl[${PYTHON_USEDEP}]
101 dev-python/pyparsing[${PYTHON_USEDEP}]
102 dev-python/pycurl[${PYTHON_USEDEP}]
103 dev-python/pyinotify[${PYTHON_USEDEP}]
104 dev-python/simplejson[${PYTHON_USEDEP}]
105 dev-python/ipaddr[${PYTHON_USEDEP}]
106 dev-python/bitarray[${PYTHON_USEDEP}]
107 net-analyzer/arping
108 net-analyzer/fping
109 net-misc/bridge-utils
110 net-misc/curl[ssl]
111 net-misc/openssh
112 net-misc/socat
113 sys-apps/iproute2
114 sys-fs/lvm2
115 >=sys-apps/baselayout-2.0
116 >=dev-lang/ghc-7.6.0:0=
117 >=dev-haskell/json-0.9:0=
118 <dev-haskell/monad-control-1.0.0.0:0=
119 <dev-haskell/transformers-0.4.0:0=
120 dev-haskell/curl:0=
121 dev-haskell/network:0=
122 dev-haskell/parallel:3=
123 >=dev-haskell/hslogger-1.2.6:0=
124 dev-haskell/snap-server:0=
125 dev-haskell/utf8-string:0=
126 dev-haskell/deepseq:0=
127 dev-haskell/attoparsec:0=
128 dev-haskell/crypto:0=
129 dev-haskell/vector:0=
130 dev-haskell/hinotify:0=
131 dev-haskell/regex-pcre-builtin:0=
132 dev-haskell/zlib:0=
133 >=dev-haskell/lifted-base-0.2.3.3:0=
134 <dev-haskell/lens-3.10:0=
135 dev-haskell/base64-bytestring:0=
136 <dev-haskell/mtl-2.2
137 <dev-haskell/contravariant-0.6
138 <dev-haskell/profunctors-4.3
139 <dev-haskell/distributive-0.4
140 <dev-haskell/comonad-4.2.2
141 <dev-haskell/transformers-compat-0.3
142 <dev-haskell/transformers-base-0.4.4
143 <dev-haskell/semigroupoids-4.0
144 <dev-haskell/semigroupoid-extras-4.0
145 <dev-haskell/groupoids-4.0
146 xen? ( >=app-emulation/xen-3.0 )
147 kvm? ( app-emulation/qemu )
148 lxc? ( app-emulation/lxc )
149 drbd? ( <sys-cluster/drbd-8.5 )
150 rbd? ( sys-cluster/ceph )
151 ipv6? ( net-misc/ndisc6 )
152 haskell-daemons? ( dev-haskell/text:0= )
153 ${PYTHON_DEPS}
154 ${GIT_DEPEND}"
155 RDEPEND="${DEPEND}
156 !app-emulation/ganeti-htools"
157 DEPEND+="sys-devel/m4
158 test? (
159 dev-python/mock
160 dev-python/pyyaml
161 dev-haskell/haddock:0=
162 dev-haskell/test-framework:0=
163 dev-haskell/test-framework-hunit:0=
164 dev-haskell/test-framework-quickcheck2:0=
165 dev-haskell/temporary:0=
166 sys-apps/fakeroot
167 net-misc/socat
168 dev-util/shelltestrunner
169 )"
170
171 PATCHES=(
172 "${FILESDIR}/${PN}-2.12-start-stop-daemon-args.patch"
173 "${FILESDIR}/${PN}-2.11-add-pgrep.patch"
174 "${FILESDIR}/${PN}-2.12-daemon-util.patch"
175 "${FILESDIR}/${PN}-2.7-fix-tests.patch"
176 "${FILESDIR}/${PN}-2.9-disable-root-tests.patch"
177 "${FILESDIR}/${PN}-2.11-regex-builtin.patch"
178 "${FILESDIR}/${PN}-2.9-skip-cli-test.patch"
179 "${FILESDIR}/${PN}-2.10-rundir.patch"
180 "${FILESDIR}/${PN}-2.12-qemu-enable-kvm.patch"
181 "${FILESDIR}/${PN}-2.11-tests.patch"
182 "${FILESDIR}/${PN}-lockdir.patch"
183 "${FILESDIR}/${PN}-2.11-useradd.patch"
184 "${FILESDIR}/${PN}-2.11-dont-nest-libdir.patch"
185 "${FILESDIR}/${PN}-2.11-dont-print-man-help.patch"
186 "${FILESDIR}/${PN}-2.11-daemon-util-tests.patch"
187 "${FILESDIR}/${PN}-2.12-tests.patch"
188 )
189
190 REQUIRED_USE="kvm? ( || ( amd64 x86 ) )"
191
192 S="${WORKDIR}/${MY_P}"
193
194 pkg_setup () {
195 local user
196 confutils_use_depend_all haskell-daemons htools
197 python-single-r1_pkg_setup
198
199 if use multiple-users; then
200 for user in gnt-{masterd,confd,luxid,rapi,daemons,admin}; do
201 enewgroup ${user}
202 enewuser ${user} -1 -1 -1 ${user}
203 done
204 fi
205 }
206
207 src_prepare() {
208 local testfile
209 epatch "${PATCHES[@]}"
210
211 # not sure why these tests are failing
212 # should remove this on next version bump if possible
213 for testfile in test/py/import-export_unittest.bash; do
214 printf '#!/bin/bash\ntrue\n' > "${testfile}"
215 done
216
217 [[ ${PV} == "9999" ]] && ./autogen.sh
218 rm autotools/missing
219 eautoreconf
220 }
221
222 src_configure () {
223 # this is kind of a hack to work around the removal of the qemu-kvm wrapper
224 local kvm_arch
225
226 if use amd64; then
227 kvm_arch=x86_64
228 elif use x86; then
229 kvm_arch=i386
230 elif use kvm; then
231 die "Could not determine qemu system to use for kvm"
232 fi
233
234 econf --localstatedir=/var \
235 --sharedstatedir=/var \
236 --disable-symlinks \
237 --docdir=/usr/share/doc/${P} \
238 --with-ssh-initscript=/etc/init.d/sshd \
239 --with-export-dir=/var/lib/ganeti-storage/export \
240 --with-os-search-path=/usr/share/${PN}/os \
241 $(usex multiple-users "--with-user-prefix=" "" "${USER_PREFIX}" "") \
242 $(usex multiple-users "--with-group-prefix=" "" "${GROUP_PREFIX}" "") \
243 $(use_enable syslog) \
244 $(use_enable monitoring) \
245 $(usex kvm '--with-kvm-path=' '' "/usr/bin/qemu-system-${kvm_arch}" '') \
246 $(usex haskell-daemons "--enable-confd=haskell" '' '' '')
247 }
248
249 src_install () {
250 emake V=1 DESTDIR="${D}" install || die "emake install failed"
251
252 newinitd "${FILESDIR}"/ganeti.initd-r3 ${PN}
253 newconfd "${FILESDIR}"/ganeti.confd-r2 ${PN}
254
255 if use kvm; then
256 newinitd "${FILESDIR}"/ganeti-kvm-poweroff.initd ganeti-kvm-poweroff
257 newconfd "${FILESDIR}"/ganeti-kvm-poweroff.confd ganeti-kvm-poweroff
258 fi
259
260 # ganeti installs it's own docs in a generic location
261 rm -rf "${D}"/{usr/share/doc/${PN},run}
262
263 newbashcomp doc/examples/bash_completion ganeti
264
265 dodoc INSTALL UPGRADE NEWS README doc/*.rst
266 dohtml -r doc/html/* doc/css/*.css
267
268 docinto examples
269 dodoc doc/examples/{ganeti.cron,gnt-config-backup} doc/examples/*.ocf
270
271 docinto examples/hooks
272 dodoc doc/examples/hooks/{ipsec,ethers}
273
274 insinto /etc/cron.d
275 newins doc/examples/ganeti.cron ${PN}
276
277 insinto /etc/logrotate.d
278 newins doc/examples/ganeti.logrotate ${PN}
279
280 keepdir /var/{lib,log}/${PN}/
281 keepdir /usr/share/${PN}/${SERIES}/os/
282 keepdir /var/lib/ganeti-storage/{export,file,shared}/
283
284 dosym ${SERIES} "/usr/share/${PN}/default"
285 dosym ${SERIES} "/usr/$(get_libdir)/${PN}/default"
286
287 python_fix_shebang "${ED}" "${D}"/usr/"$(get_libdir)"/${PN}/${SERIES}
288 }
289
290 pkg_postinst() {
291 if use multiple-users; then
292 elog "You have enable multiple user support, the users for this must"
293 elog "be created. You can use the provided tool for this, which is"
294 elog "located at:"
295 elog " /usr/$(get_libdir)/${PN}/tools/users-setup"
296 fi
297 }
298
299 src_test () {
300 PATH="${S}/scripts:${S}/src:${PATH}" \
301 TMPDIR="/tmp" \
302 emake check || die "emake check failed"
303 }