Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 316629 - app-emulation/ganeti-htools fails tests
Summary: app-emulation/ganeti-htools fails tests
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Lance Albertson (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-04-22 08:46 UTC by Diego Elio Pettenò (RETIRED)
Modified: 2012-03-07 17:57 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Build log (ganeti-htools-0.2.4:20100422-012223.log,8.30 KB, text/plain)
2010-04-22 08:46 UTC, Diego Elio Pettenò (RETIRED)
Details
ganeti-htools-0.2.8-use-QC-1.patch (ganeti-htools-0.2.8-use-QC-1.patch,526 bytes, patch)
2012-03-05 17:39 UTC, Sergei Trofimovich (RETIRED)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Diego Elio Pettenò (RETIRED) gentoo-dev 2010-04-22 08:46:15 UTC
I know haskell@g.o has nothing to do with the package, but since I have no clue on Haskell…

Portage 2.1.8.3 (default/linux/x86/10.0, gcc-4.4.3-asneeded, glibc-2.11-r1, 2.6.33.2 i686)
=================================================================
System uname: Linux-2.6.33.2-i686-Quad-Core_AMD_Opteron-tm-_Processor_2350-with-gentoo-2.0.1
Timestamp of tree: Wed, 21 Apr 2010 10:30:01 +0000
distcc 3.1 i686-pc-linux-gnu [disabled]
ccache version 2.4 [disabled]
app-shells/bash:     4.1_p5
dev-java/java-config: 1.3.7-r1, 2.1.10
dev-lang/python:     2.6.5-r1, 3.1.2-r2
dev-python/pycrypto: 2.1.0
dev-util/ccache:     2.4-r8
dev-util/cmake:      2.8.1-r1
sys-apps/baselayout: 2.0.1
sys-apps/openrc:     0.6.1-r1
sys-apps/sandbox:    2.2
sys-devel/autoconf:  2.13, 2.65
sys-devel/automake:  1.4_p6-r1, 1.5-r1, 1.6.3-r1, 1.7.9-r2, 1.8.5-r4, 1.9.6-r3, 1.10.3, 1.11.1
sys-devel/binutils:  2.20.1
sys-devel/gcc:       4.4.3
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.6b
virtual/os-headers:  2.6.33
ACCEPT_KEYWORDS="x86 ~x86"
ACCEPT_LICENSE="*"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /opt/openfire/resources/security/ /opt/openjms/config /usr/lib/fax /usr/share/X11/xkb /usr/share/bufrtables /usr/share/config /usr/share/qpsmtpd/plugins /var/bind /var/lib/hsqldb /var/phxd /var/spool/fax/etc /var/spool/torque /var/vpopmail/etc /var/yp/Makefile"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/eselect/postgresql /etc/fonts/fonts.conf /etc/games/angband/edit/ /etc/gconf /etc/gentoo-release /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/splash /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-O2 -pipe"
DISTDIR="/var/cache/distfiles"
FEATURES="assume-digests distlocks fixpackages news parallel-fetch protect-owned sandbox sfperms split-log strict test test-fail-continue unmerge-orphans userfetch userpriv usersandbox"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://ftp.uni-erlangen.de/pub/mirrors/gentoo"
LANG="en_US.utf8"
LDFLAGS="-Wl,-O1"
MAKEOPTS="-j14"
PKGDIR="/var/spool/portage/packages"
PORTAGE_COMPRESS=""
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/var/cache/portage/tree-tinderbox"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="acl berkdb bzip2 cli cracklib crypt cups cxx dri fortran gdbm gpm iconv ipv6 java5 java6 modules mudflap ncurses nls nostatic nptl nptlonly openmp pam pcre perl pppd python qt3support readline reflection ruby session spl ssl sysfs tcpd unicode vhosts x86 xorg zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias auth_digest" ELIBC="glibc" KERNEL="linux" LCD_DEVICES="lines 1-45
Comment 1 Diego Elio Pettenò (RETIRED) gentoo-dev 2010-04-22 08:46:36 UTC
Created attachment 228715 [details]
Build log
Comment 2 Ivan 2010-04-22 11:57:17 UTC
I have no idea what ganeti-tools is or where it comes from, but the problem appears to be that it wants dev-haskell/quickcheck:1 whereas you have two slots installed (and by default GHC chooses the higher version).

And the moral of the story is, kids, that if you use a "non-traditional" language then it might be a good idea to try using its own build tools/libraries (in this case, Cabal) rather than trying to do it yourself with plain 'ol make.
Comment 3 Diego Elio Pettenò (RETIRED) gentoo-dev 2010-04-22 12:01:19 UTC
Definitely amen for the moral, the same gets true for Ruby… and thanks for pointing us in the right direction :)
Comment 4 Lennart Kolmodin (RETIRED) gentoo-dev 2010-04-22 22:04:16 UTC
I talked to somebody earlier and helped get this ebuild started.
By looking at the makefile you can see that they are using 
 * haddock for api docs
 * HsColour for coloring the source
 * quickcheck for tests
 * hpc for code coverages of tests

It's clear they know their way around in the haskell ecosystem.
The remaining stuff can be done by custom Setup.hs files (which with bad luck will break when upgrading cabal version);
 * building docs with rst2html
 * the "make dist" can more or lest be kept, or maybe replaced with "cabal sdist".

It shouldn't be too hard to move to using Cabal, and if still required keep the makefile for some utility functions.
Comment 5 Lance Albertson (RETIRED) gentoo-dev 2010-05-07 20:36:08 UTC
(In reply to comment #4)
> I talked to somebody earlier and helped get this ebuild started.
> By looking at the makefile you can see that they are using 
>  * haddock for api docs
>  * HsColour for coloring the source
>  * quickcheck for tests
>  * hpc for code coverages of tests
> 
> It's clear they know their way around in the haskell ecosystem.
> The remaining stuff can be done by custom Setup.hs files (which with bad luck
> will break when upgrading cabal version);
>  * building docs with rst2html
>  * the "make dist" can more or lest be kept, or maybe replaced with "cabal
> sdist".
> 
> It shouldn't be too hard to move to using Cabal, and if still required keep the
> makefile for some utility functions.

If someone would like to provide a patch that fixes this properly, I can submit it upstream to get it fixed. This tool is used with ganeti to deal with calculating where to deploy a new virtual machine.
Comment 6 Paweł Hajdan, Jr. (RETIRED) gentoo-dev 2012-03-05 10:31:42 UTC
>>> Test phase [check]: app-emulation/ganeti-htools-0.2.8
ghc --make -O2 -Wall -fwarn-monomorphism-restriction -fwarn-tabs -fhpc -Wwarn -fno-warn-missing-signatures -fno-warn-monomorphism-restriction -fno-warn-orphans -fno-warn-missing-methods -fno-warn-unused-imports test

Ganeti/HTools/QC.hs:40:7:
    Could not find module `Test.QuickCheck.Batch':
      Use -v to see a list of the files searched for.
make: *** [test] Error 1
 * ERROR: app-emulation/ganeti-htools-0.2.8 failed (test phase):
 *   Make check failed. See above for details.

However, I do have quickcheck installed:

[ebuild   R    ] dev-haskell/quickcheck-2.1.0.3  USE="-doc* -profile" 0 kB
Comment 7 Sergei Trofimovich (RETIRED) gentoo-dev 2012-03-05 16:41:53 UTC
(In reply to comment #6)
> >>> Test phase [check]: app-emulation/ganeti-htools-0.2.8
> ghc --make -O2 -Wall -fwarn-monomorphism-restriction -fwarn-tabs -fhpc
> -Wwarn -fno-warn-missing-signatures -fno-warn-monomorphism-restriction
> -fno-warn-orphans -fno-warn-missing-methods -fno-warn-unused-imports test
> 
> Ganeti/HTools/QC.hs:40:7:
>     Could not find module `Test.QuickCheck.Batch':
>       Use -v to see a list of the files searched for.

Test.QuickCheck.Batch is available only in quickcheck:1. Depends in .cabal
file are specified incorrectly.

Dep on QC in .ebuild is missing too.
And QC-1 is old, it should be ported to QC-2.

Does ~arch ganeti-htools happen to work? I'll look at it.
Comment 8 Sergei Trofimovich (RETIRED) gentoo-dev 2012-03-05 17:39:38 UTC
Created attachment 304319 [details, diff]
ganeti-htools-0.2.8-use-QC-1.patch

ganeti-htools-0.2.8-use-QC-1.patch - the way to pick proper QC.

.ebuild would also need DEPEND+="test? ( dev-haskell/quickcheck:1 ).

I'll commit it if you are not against it.

Thanks!
Comment 9 Sergei Trofimovich (RETIRED) gentoo-dev 2012-03-07 17:57:55 UTC
Pushed the tweak as:

> 07 Mar 2012; Sergei Trofimovich <slyfox@gentoo.org>
> +files/ganeti-htools-0.2.8-use-QC-1.patch, ganeti-htools-0.2.8.ebuild,
> ganeti-htools-0.3.0.ebuild, ganeti-htools-0.3.1.ebuild, metadata.xml:
> Fixed USE=test to use QuickCheck-1.* (fixes bug #316629 by Diego Elio Pettenò
> and others). Added package to haskell herd as well.

Thanks guys!