Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 480478 - net-libs/czmq-9999 - add live ebuild
Summary: net-libs/czmq-9999 - add live ebuild
Status: RESOLVED WONTFIX
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Library (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Justin Lecher (RETIRED)
URL:
Whiteboard:
Keywords: EBUILD
Depends on: 339416
Blocks:
  Show dependency tree
 
Reported: 2013-08-10 10:36 UTC by lalebarde
Modified: 2015-02-11 10:40 UTC (History)
0 users

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


Attachments
czmq-9999.ebuild (czmq-9999.ebuild,1.32 KB, text/plain)
2013-08-10 10:36 UTC, lalebarde
Details
czmq-9999.ebuild (czmq-9999.ebuild,699 bytes, text/plain)
2013-08-12 08:28 UTC, lalebarde
Details
build output with autotools.eclass (autotools.txt,2.94 KB, text/plain)
2013-08-12 15:10 UTC, lalebarde
Details
build output with autotools-utils.eclass (autotools-utils.txt,2.55 KB, text/plain)
2013-08-12 15:23 UTC, lalebarde
Details
czmq-9999.ebuild (czmq-9999.ebuild,702 bytes, text/plain)
2013-08-13 10:03 UTC, lalebarde
Details

Note You need to log in before you can comment on or make changes to this bug.
Description lalebarde 2013-08-10 10:36:29 UTC
Created attachment 355602 [details]
czmq-9999.ebuild

Live ebuild for net-libs/czmq fetched from the git repository.
Compatible with the release ebuild to ease maintenance.
Simplifications with EAPI=5 (I let the src_install commented).

Tests passed :
=============
1 test passed
=============

qlist :
/usr/lib64/libczmq.la
/usr/lib64/pkgconfig/libczmq.pc
/usr/lib64/libczmq.so
/usr/lib64/libczmq.so.1
/usr/lib64/libczmq.so.1.0.0
+ lot of docs
/usr/include/zloop.h
/usr/include/ztree.h
/usr/include/zstr.h
/usr/include/zctx.h
/usr/include/zhash.h
/usr/include/zfile.h
/usr/include/zbeacon.h
/usr/include/zclock.h
/usr/include/zsys.h
/usr/include/czmq_prelude.h
/usr/include/zsockopt.h
/usr/include/zsocket.h
/usr/include/zmutex.h
/usr/include/czmq.h
/usr/include/zmsg.h
/usr/include/zlist.h
/usr/include/zconfig.h
/usr/include/zframe.h
/usr/include/zthread.h
/usr/bin/czmq_selftest
Comment 1 Justin Lecher (RETIRED) gentoo-dev 2013-08-11 13:13:46 UTC
Comment on attachment 355602 [details]
czmq-9999.ebuild

># Copyright 1999-2013 Gentoo Foundation
># Distributed under the terms of the GNU General Public License v2
># $Header: /var/cvsroot/gentoo-x86/net-libs/czmq/czmq-1.2.0.ebuild,v 1.3 2013/06/27 18:09:26 ago Exp $
>
>EAPI=5
>
>inherit autotools

Please use autotools-utils.eclass

>
>DESCRIPTION="CZMQ - High-level C Binding for ZeroMQ"
>HOMEPAGE="http://czmq.zeromq.org"
>if [[ ${PV} == *9999* ]]; then
>	EGIT_REPO_URI="git://github.com/zeromq/czmq.git"
>	DOCS=( NEWS AUTHORS COPYING )
>	inherit git-2 autotools
>else
>	SRC_URI="http://download.zeromq.org/${P}.tar.gz"
>	DOCS=( NEWS README AUTHORS ChangeLog COPYING )
>fi

I seriously dislike this approach. Please drop everything which isn't needed for the live ebuild.

>
>RESTRICT="mirror"

not needed for a live ebuild.

>
>LICENSE="LGPL-3"
>SLOT="0"
>KEYWORDS="amd64 x86"

no stable KEYWORDS here.

>IUSE="doc static-libs test"
>
>RDEPEND=""
>DEPEND="doc? (
>			app-text/asciidoc
>			app-text/xmlto
>		)"
>if [[ ${PV} == *9999* ]]; then
>	DEPEND="$DEPEND
>		=net-libs/zeromq-9999"
>else
>	DEPEND="$DEPEND
>		>=net-libs/zeromq-2.1"
>fi
>
>src_prepare() {
>	if [[ ${PV} == *9999* ]]; then
>		eautoreconf
>	fi
>}
>
>src_configure() {
>	econf $(use_enable static-libs static test)
>}
>
>#src_install() {
>#	emake DESTDIR="${D}" install || die "emake install failed"
>#	dodoc NEWS README AUTHORS ChangeLog || die "dodoc failed"
>#	doman doc/*.[1-9] || die "doman failed"
>
>	# remove useless .la files
>#	find "${D}" -name '*.la' -delete
>
>	# remove useless .a (only for non static compilation)
>#	use static-libs || find "${D}" -name '*.a' -delete
>#}
Comment 2 lalebarde 2013-08-12 08:28:05 UTC
Created attachment 355746 [details]
czmq-9999.ebuild

ebuild modified according to #1, except the use of autotools-utils.eclass instead of autotools.eclass. emerge with autotools-utils.eclass fails for reasons out of my expertise :

>>> Compiling source in /var/tmp/portage/net-libs/czmq-9999/work/czmq-9999 ...
>>> Working in BUILD_DIR: "/var/tmp/portage/net-libs/czmq-9999/work/czmq-9999_build"
/var/tmp/portage/net-libs/czmq-9999/temp/environment: ligne 627 : pushd: /var/tmp/portage/net-libs/czmq-9999/work/czmq-9999_build: No file nor directory of this type (original message : "Aucun fichier ou dossier de ce type")
 * ERROR: net-libs/czmq-9999 failed (compile phase):
Comment 3 Justin Lecher (RETIRED) gentoo-dev 2013-08-12 08:49:00 UTC
Comment on attachment 355746 [details]
czmq-9999.ebuild

># Copyright 1999-2013 Gentoo Foundation
># Distributed under the terms of the GNU General Public License v2
># $Header: /var/cvsroot/gentoo-x86/net-libs/czmq/czmq-9999.ebuild,v 0.2 2013/08/12 18:09:26 ago Exp $
>
>EAPI=5
>
>inherit autotools

do 

AUTOTOOLS_AUTORECONF=true

inherit autotools-utils

>
>DESCRIPTION="CZMQ - High-level C Binding for ZeroMQ"
>HOMEPAGE="http://czmq.zeromq.org"
>EGIT_REPO_URI="git://github.com/zeromq/czmq.git"
>DOCS=( NEWS AUTHORS COPYING )
>inherit git-2 autotools

remove this line.

>
>LICENSE="LGPL-3"
>SLOT="0"
>KEYWORDS="~amd64 ~x86"
>IUSE="doc static-libs test"
>
>RDEPEND=""
>DEPEND="doc? (
>			app-text/asciidoc
>			app-text/xmlto
>		)
>		=net-libs/zeromq-9999"
>
>src_prepare() {
>	eautoreconf

remove the src_prepare() and simply set AUTOTOOLS_ATUORECONF=true before the inherit line.

>}
>
>src_configure() {
>	econf $(use_enable static-libs static test)
>}
src_configure can be removed completely as it is covert in the default function of the eclass.
Comment 4 lalebarde 2013-08-12 09:20:27 UTC
With :
-----------------------------------------------------------------------
EAPI=5

AUTOTOOLS_AUTORECONF=true
inherit autotools-utils git-2

DESCRIPTION="CZMQ - High-level C Binding for ZeroMQ"
HOMEPAGE="http://czmq.zeromq.org"
EGIT_REPO_URI="git://github.com/zeromq/czmq.git"
DOCS=( NEWS AUTHORS COPYING )

LICENSE="LGPL-3"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="doc static-libs test"

RDEPEND=""
DEPEND="doc? (
			app-text/asciidoc
			app-text/xmlto
		)
		=net-libs/zeromq-9999"
-----------------------------------------------------------------------

The package builds well, but the autotest fails :

make -j9 --load-average=8 check 
Making check in src
make[1] : on entre dans le répertoire « /var/tmp/portage/net-libs/czmq-9999/work/czmq-9999_build/src »
make  check-TESTS
make[2] : on entre dans le répertoire « /var/tmp/portage/net-libs/czmq-9999/work/czmq-9999_build/src »
Running czmq self tests...
 * zclock: OK
czmq_selftest: /var/tmp/portage/net-libs/czmq-9999/work/czmq-9999/src/zconfig.c:681: zconfig_test: Assertion `config' failed.
 * zconfig: /bin/sh : ligne 5 : 14442 Abandon                 ${dir}$tst
FAIL: czmq_selftest
============================================
1 of 1 test failed
Please report to zeromq-dev@lists.zeromq.org
============================================
make[2]: *** [check-TESTS] Erreur 1


Over things have not changed. I retried my previous ebuild and it works. Is my new ebuild correct ? If yes, is there something different in autotools-utils.eclass that might make it fail ?
Comment 5 Justin Lecher (RETIRED) gentoo-dev 2013-08-12 09:42:16 UTC
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/net-libs/czmq/czmq-9999.ebuild,v 0.2 2013/08/12 18:09:26 ago Exp $

EAPI=5

AUTOTOOLS_AUTORECONF=true

inherit autotools-utils git-2

DESCRIPTION="High-level C Binding for ZeroMQ"
HOMEPAGE="http://czmq.zeromq.org"
EGIT_REPO_URI="git://github.com/zeromq/czmq.git"

LICENSE="LGPL-3"
SLOT="0"
KEYWORDS=""
IUSE="doc static-libs test"

RDEPEND="=net-libs/zeromq-9999"
DEPEND="${RDEPEND}
	doc? (
		app-text/asciidoc
		app-text/xmlto
		)"

DOCS=( NEWS AUTHORS COPYING )

src_test() {
	cp "${S}"/src/selftest.cfg "${BUILD_DIR}"/src/ || die
	autotools-utils_src_test
}
Comment 6 Justin Lecher (RETIRED) gentoo-dev 2013-08-12 09:47:05 UTC
We need the live ebuild for zeromq itself.
Comment 7 lalebarde 2013-08-12 09:48:26 UTC
Here it is : https://bugs.gentoo.org/show_bug.cgi?id=339416
I will modify it according to your remarks.
Comment 8 lalebarde 2013-08-12 09:53:17 UTC
Your ebuild correction works, but the portage log is not generated anymore and I cannot check what it did and especially if the test was runned.
Comment 9 Justin Lecher (RETIRED) gentoo-dev 2013-08-12 09:56:39 UTC
(In reply to lalebarde from comment #8)
> Your ebuild correction works, but the portage log is not generated anymore
> and I cannot check what it did and especially if the test was runned.

What do you mean by "portage log is not generated"?
Comment 10 lalebarde 2013-08-12 09:59:01 UTC
The last log I have is :
/var/log/portage/net-libs:czmq-9999:20130812-094829.log

Normally, I have a new log everytime I emerge something, either it passed or it failed. With the new ebuild, I have no new log.
Comment 11 Justin Lecher (RETIRED) gentoo-dev 2013-08-12 10:58:38 UTC
okay, that another problem unrelated to the ebuild.
Comment 12 lalebarde 2013-08-12 12:10:53 UTC
Moreover than not producing a log, your proposed version prevent another application that depends on czmq to build successfuly, while it works with the existing one. But the czmq's emerge looks successful otherwise.

The only hypothesis I can foresee is if upstream uses an autotool version compatible with the autotools.eclass, but not with the autotools-utils.eclass. Does it make sense ?
Comment 13 Justin Lecher (RETIRED) gentoo-dev 2013-08-12 12:18:54 UTC
(In reply to lalebarde from comment #12)
> The only hypothesis I can foresee is if upstream uses an autotool version
> compatible with the autotools.eclass, but not with the
> autotools-utils.eclass. Does it make sense ?

Not at all. What is the build error? What is the difference in the installed files (autotools.eclass vs autotools-utils.eclass)?
Comment 14 lalebarde 2013-08-12 15:10:53 UTC
Created attachment 355776 [details]
build output with autotools.eclass

Here are the build differencies, built as follows :
file name + path, size, md5sum

  - For autotools :
qlist czmq | xargs md5sum | awk '{print $2 "\t" $1}' | sort > autotools1.txt
qlist czmq | xargs ls -l | awk '{print $9 "\t" $5}' | sort > autotools2.txt
join autotools2.txt autotools1.txt > autotools.txt

  - For autotools-utils :
qlist czmq | xargs md5sum | awk '{print $2 "\t" $1}' | sort > autotools-utils1.txt
qlist czmq | xargs ls -l | awk '{print $9 "\t" $5}' | sort > autotools-utils2.txt
join autotools-utils2.txt autotools-utils1.txt > autotools-utils.txt
Comment 15 lalebarde 2013-08-12 15:23:35 UTC
Created attachment 355782 [details]
build output with autotools-utils.eclass

Result :

1) All files are smaller with autotools-utils.eclass (of course, the hashes are useless, but I let them to keep track of my procedure).
2) Some files are lacking with autotools-utils.eclass : 
  - /usr/include/zconfig.h               (issue)
  - /usr/include/ztree.h                 (issue)
  - /usr/lib64/libczmq.la                (ok, nice)
  - /usr/share/doc/czmq-9999/COPYING.bz2 (expected)
  - /usr/share/man/man3/zconfig.3.bz2    (problem)
  - /usr/share/man/man3/ztree.3.bz2      (problem)

For the application which uses the czmq lib and fails when czmq is built with autotools-utils.eclass, the application is https://bugs.gentoo.org/show_bug.cgi?id=480496, built manually, not with this ebuild (BTW, if you can throw an eye into my problem there, you are welcome). The error is :

curvezmq_codec.c: In function 's_process_message':
curvezmq_codec.c:625:5: error: implicit declaration of function 'zframe_set_more'
make[2]: *** [curvezmq_codec.lo] Erreur 1
Comment 16 Justin Lecher (RETIRED) gentoo-dev 2013-08-13 05:59:48 UTC
its probably an out-of-source build problem which is a problem of upstreams buildsystem. Please attach the autotools version of the eubild so that I can test it.
Comment 17 Justin Lecher (RETIRED) gentoo-dev 2013-08-13 09:09:11 UTC
I see no difference.

Here what I get with my version:

/var/tmp/portage/net-libs/czmq-9999/image/
/var/tmp/portage/net-libs/czmq-9999/image/usr
/var/tmp/portage/net-libs/czmq-9999/image/usr/lib
/var/tmp/portage/net-libs/czmq-9999/image/usr/lib/debug
/var/tmp/portage/net-libs/czmq-9999/image/usr/lib/debug/usr
/var/tmp/portage/net-libs/czmq-9999/image/usr/lib/debug/usr/bin
/var/tmp/portage/net-libs/czmq-9999/image/usr/lib/debug/usr/bin/czmq_selftest.debug
/var/tmp/portage/net-libs/czmq-9999/image/usr/lib/debug/usr/lib64
/var/tmp/portage/net-libs/czmq-9999/image/usr/lib/debug/usr/lib64/libczmq.so.1.0.0.debug
/var/tmp/portage/net-libs/czmq-9999/image/usr/share
/var/tmp/portage/net-libs/czmq-9999/image/usr/share/doc
/var/tmp/portage/net-libs/czmq-9999/image/usr/share/doc/czmq-9999
/var/tmp/portage/net-libs/czmq-9999/image/usr/share/doc/czmq-9999/README.md.xz
/var/tmp/portage/net-libs/czmq-9999/image/usr/share/doc/czmq-9999/README.txt.xz
/var/tmp/portage/net-libs/czmq-9999/image/usr/share/doc/czmq-9999/AUTHORS.xz
/var/tmp/portage/net-libs/czmq-9999/image/usr/share/doc/czmq-9999/NEWS.xz
/var/tmp/portage/net-libs/czmq-9999/image/usr/share/man
/var/tmp/portage/net-libs/czmq-9999/image/usr/share/man/man3
/var/tmp/portage/net-libs/czmq-9999/image/usr/share/man/man3/zbeacon.3.xz
/var/tmp/portage/net-libs/czmq-9999/image/usr/share/man/man3/zclock.3.xz
/var/tmp/portage/net-libs/czmq-9999/image/usr/share/man/man3/zconfig.3.xz
/var/tmp/portage/net-libs/czmq-9999/image/usr/share/man/man3/zctx.3.xz
/var/tmp/portage/net-libs/czmq-9999/image/usr/share/man/man3/zfile.3.xz
/var/tmp/portage/net-libs/czmq-9999/image/usr/share/man/man3/zframe.3.xz
/var/tmp/portage/net-libs/czmq-9999/image/usr/share/man/man3/zhash.3.xz
/var/tmp/portage/net-libs/czmq-9999/image/usr/share/man/man3/zlist.3.xz
/var/tmp/portage/net-libs/czmq-9999/image/usr/share/man/man3/zloop.3.xz
/var/tmp/portage/net-libs/czmq-9999/image/usr/share/man/man3/zmsg.3.xz
/var/tmp/portage/net-libs/czmq-9999/image/usr/share/man/man3/zmutex.3.xz
/var/tmp/portage/net-libs/czmq-9999/image/usr/share/man/man3/zsocket.3.xz
/var/tmp/portage/net-libs/czmq-9999/image/usr/share/man/man3/zsockopt.3.xz
/var/tmp/portage/net-libs/czmq-9999/image/usr/share/man/man3/zstr.3.xz
/var/tmp/portage/net-libs/czmq-9999/image/usr/share/man/man3/zsys.3.xz
/var/tmp/portage/net-libs/czmq-9999/image/usr/share/man/man3/zthread.3.xz
/var/tmp/portage/net-libs/czmq-9999/image/usr/share/man/man3/ztree.3.xz
/var/tmp/portage/net-libs/czmq-9999/image/usr/share/man/man7
/var/tmp/portage/net-libs/czmq-9999/image/usr/share/man/man7/czmq.7.xz
/var/tmp/portage/net-libs/czmq-9999/image/usr/bin
/var/tmp/portage/net-libs/czmq-9999/image/usr/bin/czmq_selftest
/var/tmp/portage/net-libs/czmq-9999/image/usr/include
/var/tmp/portage/net-libs/czmq-9999/image/usr/include/ztree.h
/var/tmp/portage/net-libs/czmq-9999/image/usr/include/zthread.h
/var/tmp/portage/net-libs/czmq-9999/image/usr/include/zsys.h
/var/tmp/portage/net-libs/czmq-9999/image/usr/include/zstr.h
/var/tmp/portage/net-libs/czmq-9999/image/usr/include/zsockopt.h
/var/tmp/portage/net-libs/czmq-9999/image/usr/include/zsocket.h
/var/tmp/portage/net-libs/czmq-9999/image/usr/include/zmutex.h
/var/tmp/portage/net-libs/czmq-9999/image/usr/include/zmsg.h
/var/tmp/portage/net-libs/czmq-9999/image/usr/include/zloop.h
/var/tmp/portage/net-libs/czmq-9999/image/usr/include/zlist.h
/var/tmp/portage/net-libs/czmq-9999/image/usr/include/zhash.h
/var/tmp/portage/net-libs/czmq-9999/image/usr/include/zframe.h
/var/tmp/portage/net-libs/czmq-9999/image/usr/include/zfile.h
/var/tmp/portage/net-libs/czmq-9999/image/usr/include/zctx.h
/var/tmp/portage/net-libs/czmq-9999/image/usr/include/zconfig.h
/var/tmp/portage/net-libs/czmq-9999/image/usr/include/zclock.h
/var/tmp/portage/net-libs/czmq-9999/image/usr/include/zbeacon.h
/var/tmp/portage/net-libs/czmq-9999/image/usr/include/czmq_prelude.h
/var/tmp/portage/net-libs/czmq-9999/image/usr/include/czmq.h
/var/tmp/portage/net-libs/czmq-9999/image/usr/lib64
/var/tmp/portage/net-libs/czmq-9999/image/usr/lib64/libczmq.so.1.0.0
/var/tmp/portage/net-libs/czmq-9999/image/usr/lib64/libczmq.so
/var/tmp/portage/net-libs/czmq-9999/image/usr/lib64/libczmq.so.1
/var/tmp/portage/net-libs/czmq-9999/image/usr/lib64/pkgconfig
/var/tmp/portage/net-libs/czmq-9999/image/usr/lib64/pkgconfig/libczmq.pc
Comment 18 lalebarde 2013-08-13 09:15:50 UTC
Here is the information requested from upstream :

        host-triplet: x86_64-pc-linux-gnu
        shell: /bin/bash
        compiler: gcc
        compiler flags: -Wall -g -O2
        linker: /usr/bin/ld -m elf_x86_64 (gnu? yes)
        libtool: (GNU libtool) 2.4.2 Debian-2.4.2-1.2ubuntu1
        automake: automake (GNU automake) 1.11.6
        autoconf: autoconf (GNU Autoconf) 2.69
Comment 19 lalebarde 2013-08-13 09:20:55 UTC
(In reply to Justin Lecher from comment #17)
> I see no difference.

So, what did you do exactly, just emerge with your ebuild on comment #5 ? Is it a problem then with my system ? It is up-to-date, except the kernel : 2.6.37-tuxonice
Comment 20 lalebarde 2013-08-13 09:22:58 UTC
No, sorry, my update does not include the dependencies and libtool is one. I have only sys-devel/libtool-2.4-r1 !!!

I am updating and retrying now.....
Comment 21 lalebarde 2013-08-13 10:03:06 UTC
Created attachment 355858 [details]
czmq-9999.ebuild

This time, it works (thanks to the update of libtool to version 2.4.2). I have all the files, with the same size and hash for all .h and manuals, except 3 manuals over 18, and same size for all .so but not the same hash. No files are missing, the portage log is generated, and the autotest has passed.

Thanks deeply for your help Justin.
Comment 22 Justin Lecher (RETIRED) gentoo-dev 2013-08-13 10:08:34 UTC
Still we need the live ebuild for =net-libs/zeromq-9999
Comment 23 lalebarde 2013-08-13 10:16:36 UTC
It is here : https://bugs.gentoo.org/show_bug.cgi?id=339416
I am going to update it from your remarks on czmq.
Comment 24 Justin Lecher (RETIRED) gentoo-dev 2015-02-11 10:40:05 UTC
WE don't have the necessary dependencies.