Return-Path: X-Original-To: apmail-mesos-user-archive@www.apache.org Delivered-To: apmail-mesos-user-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 5EB5918509 for ; Wed, 5 Aug 2015 17:51:12 +0000 (UTC) Received: (qmail 90004 invoked by uid 500); 5 Aug 2015 17:51:11 -0000 Delivered-To: apmail-mesos-user-archive@mesos.apache.org Received: (qmail 89949 invoked by uid 500); 5 Aug 2015 17:51:11 -0000 Mailing-List: contact user-help@mesos.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@mesos.apache.org Delivered-To: mailing list user@mesos.apache.org Received: (qmail 89938 invoked by uid 99); 5 Aug 2015 17:51:11 -0000 Received: from Unknown (HELO spamd4-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 05 Aug 2015 17:51:11 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd4-us-west.apache.org (ASF Mail Server at spamd4-us-west.apache.org) with ESMTP id 26742C0045 for ; Wed, 5 Aug 2015 17:51:11 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd4-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 2.901 X-Spam-Level: ** X-Spam-Status: No, score=2.901 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=3, URIBL_BLOCKED=0.001] autolearn=disabled Authentication-Results: spamd4-us-west.apache.org (amavisd-new); dkim=pass (1024-bit key) header.d=mesosphere.io Received: from mx1-us-west.apache.org ([10.40.0.8]) by localhost (spamd4-us-west.apache.org [10.40.0.11]) (amavisd-new, port 10024) with ESMTP id vQK9b8vH8f2x for ; Wed, 5 Aug 2015 17:50:57 +0000 (UTC) Received: from mail-ob0-f198.google.com (mail-ob0-f198.google.com [209.85.214.198]) by mx1-us-west.apache.org (ASF Mail Server at mx1-us-west.apache.org) with ESMTPS id 6563D2104D for ; Wed, 5 Aug 2015 17:50:57 +0000 (UTC) Received: by obbjx5 with SMTP id jx5so62331057obb.2 for ; Wed, 05 Aug 2015 10:50:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mesosphere.io; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :content-type; bh=iUkE5QGotct77N6FNRYnSuC39XNzZHGRApawxHN1lsY=; b=JxDK5UOKolp81w+BICMjyl/G6lpE8taojME1KD46+ZVYHkzzmhAQEBs7MIlsR4pkc9 a8/wOewkkY1uwLddz/b+3gTmqfG6N5C9b9FIkenlLNpN5Q+a2RznJBtf4R1Y88c4zH0L D1bGBzzScr+wvN7FUHWGd+WBSuuYdKVUElZQM= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:content-type; bh=iUkE5QGotct77N6FNRYnSuC39XNzZHGRApawxHN1lsY=; b=XLLRkYmM7rbZF4HPbpQo0l1c4bzwEjIcG90rhksKyqjOXT5JWUXjxQlWI6Q52/H1yy 4MWZSIJ7vrPPmJvLSwdz1RpJJwW2ASGcMytZ+gHfleBG9df1tTqYjYDn3a+cMuZHAVjw 140yb8XU9LAUUxCum80dwA3lTYvvqAQR/MeMjcZk4VpEgAoxitDvo5TG0P2iBIJihq/v fcUUpE9o8MlwLmOD2EDGBdr19B501ZSTVTDF7l7/AhOe4lypmVz9HN252U7ayX4VlOh6 Zwdoh8uGt1ER+zB4RMqchO8DO1X8ZEM2Qgm1r4B6+bKTiz90f8aUDU7OLw/wqtZoQCtv 4Qxw== X-Gm-Message-State: ALoCoQk6NbPy001KhWyvl2ZAJYzMEZ2W3YeMiW9ogXW6oS+tvuv3WKYmJJBFEj4fI2IfZjUsntYl X-Received: by 10.60.136.131 with SMTP id qa3mr9014075oeb.34.1438797050815; Wed, 05 Aug 2015 10:50:50 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Cody Maloney Date: Wed, 05 Aug 2015 17:50:41 +0000 Message-ID: Subject: Re: How does Mesos Debian packaging work? To: user@mesos.apache.org, Jay Taylor Content-Type: multipart/alternative; boundary=047d7b414f2a1e3b3b051c940bc2 --047d7b414f2a1e3b3b051c940bc2 Content-Type: text/plain; charset=UTF-8 The Mesosphere packages use mesos-deb-packaging to build them, currently at commit 4897858c4d93d3c6be1cad23bdea40c13d60e3bc. The only additional piece that is added is some wrapper scripts to spin up AWS machines, install the necessary dependencies, then run the build in those VMs, then do a basic install / test of the packages. On Wed, Aug 5, 2015 at 1:04 AM Tomas Barton wrote: > Some dependencies ended up in the script historically, others are added > incrementally (like libsvn1 is required since 0.21). libunwind* could be > removed, the libcurl-dev dependency can't be removed. You can easily check > this with ldd: > > $ ldd /usr/lib/libmesos-0.22.1.so > > ... > libapr-1.so.0 => /usr/lib/libapr-1.so.0 (0x00007f35be6b6000) > libcurl-nss.so.4 => /usr/lib/x86_64-linux-gnu/libcurl-nss.so.4 > (0x00007f35be44f000) > libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f35be238000) > ... > > In this case the package was built with libcurl4-nss-dev installed, and > therefore libmesos.so requires libcurl-nss.so.4 > > Another dependency that is missing, is for example python 2.7 which is > somehow expected to be present on your system if you wanna use Mesos CLI > tools. This should be moved to a separate package, so that you don't have > to install python and java when you need just libmesos.so. > > I've started working on a proper Debian packaging a while ago, however I > didn't have time to finish that. If you're interested in, any help would be > appreciated. > > > On 5 August 2015 at 02:11, Jay Taylor wrote: > >> I see, thank you Tomas for that updated mesos-deb-packaging link. >> Helpful information to be sure. >> >> I'm am still curious about why mesosphere-hosted deb's end up with less >> dependencies than the builds done by the mesos-deb-packaging scripts. Is >> there really no way to generate a roughly equivalent build? >> >> The hopeful dream I have is to be able to build (then distribute and >> install across my cluster) a `.deb` containing my own modifications. Then >> if/when it explodes to be able to just revert back to the official >> releases; __ideally not having to install extra libraries along the way, >> change configurations, or inflict other [unnecessary] system mutations__. >> >> Is this asking too much of mesos/mesosphere in their present forms? >> >> On Tue, Aug 4, 2015 at 4:42 PM, Tomas Barton >> wrote: >> >>> Hi Jay, >>> >>> as long as the libcurl-dev dependency is concerned you can use any of >>> libcurl4-openssl-dev, libcurl4-gnutls-dev or libcurl4-nss-dev. Just make >>> sure one of these libraries is installed on all of your worker (slave) >>> nodes. If you don't need any modification of the mesos packaging, you can >>> use pre-built packages from Mesosphere: >>> http://open.mesosphere.com/downloads/mesos >>> >>> If you need some modification, you should fork >>> https://github.com/mesosphere/mesos-deb-packaging which is far more >>> maintained. Anyway none of these packaging is close to an ideal solution. A >>> proper Debian package would distinguish between a mesos-master, >>> mesos-slave, libmesos, java and python binding etc. >>> >>> Regards, >>> Tomas >>> >>> On 4 August 2015 at 22:36, Jay Taylor wrote: >>> >>>> Greetings Mesonians, >>>> >>>> What is the procedure for creating debian/ubuntu .deb distribution >>>> builds of Mesos? >>>> >>>> I am currently using https://github.com/deric/mesos-deb-packaging, but >>>> it seems to add some dependencies (libunwind* and libcurl4-nss-dev) that >>>> the mesosphere-hosted distributions do not, and I strongly prefer creating >>>> artifacts comparable to what is emitted in the official builds. >>>> >>>> Thanks, >>>> Jay >>>> >>> >>> >> > --047d7b414f2a1e3b3b051c940bc2 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
The Mesosphere packages use mesos-deb-packaging to build t= hem, currently at commit 4897858c4d93d3c6be1cad23bdea40c13d60e3bc.=C2=A0
The only additional piece that is added is some wrapper sc= ripts to spin up AWS machines, install the necessary dependencies, then run= the build in those VMs, then do a basic install / test of the packages.

On Wed, Aug 5, 201= 5 at 1:04 AM Tomas Barton <bar= ton.tomas@gmail.com> wrote:
=
Some dependencies ended up in the script historically, oth= ers are added incrementally (like libsvn1 is required since 0.21).=C2=A0libunwind* could be removed, the libcurl-dev depen= dency can't be removed. You can easily check this with ldd:
=
$ ldd /usr/lib/libmesos-0.22.1.so
=

=C2=A0 =C2=A0 =C2=A0 =C2=A0 ...
=C2=A0 =C2=A0 =C2=A0 =C2=A0 libapr-1.so.0 =3D> /usr/lib/libapr-1.so.0= (0x00007f35be6b6000)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 libcurl-nss.so.= 4 =3D> /usr/lib/x86_64-linux-gnu/libcurl-nss.so.4 (0x00007f35be44f000)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 libz.so.1 =3D> /lib/x86_64-linux-gn= u/libz.so.1 (0x00007f35be238000)
=C2=A0 =C2=A0 =C2=A0= =C2=A0 ...

In this case the package was built wit= h libcurl4-nss-dev installed, and therefore libmesos.so requires libcurl-ns= s.so.4

Another dependency that is missing, is for = example python 2.7 which is somehow expected to be present on your system i= f you wanna use Mesos CLI tools. This should be moved to a separate package= , so that you don't have to install python and java when you need just= =C2=A0libmesos.so.

I've started working on a p= roper Debian packaging a while ago, however I didn't have time to finis= h that. If you're interested in, any help would be appreciated.


On 5 August 2015 at 02:11, Jay Taylor <jay@jaytaylor.com> = wrote:
I see, thank you = Tomas for that updated mesos-deb-packaging link.=C2=A0 Helpful information = to be sure.

I'm am still curious about why mesospher= e-hosted deb's end up with less dependencies than the builds done by th= e mesos-deb-packaging scripts.=C2=A0 Is there really no way to generate a r= oughly equivalent build?

The hopeful dream I have = is to be able to build (then distribute and install across my cluster) a `.= deb` containing my own modifications.=C2=A0 Then if/when it explodes to be = able to just revert back to the official releases; __ideally not having to = install extra libraries along the way, change configurations, or inflict ot= her [unnecessary] system mutations__.

Is this aski= ng too much of mesos/mesosphere in their present forms?

On Tue, Aug 4, = 2015 at 4:42 PM, Tomas Barton <barton.tomas@gmail.com> = wrote:
Hi Jay,

<= /div>
as long as the libcurl-dev dependency is concerned you can use an= y of libcurl4-openssl-dev, libcurl4-gnutls-dev or libcurl4-nss-dev. Just ma= ke sure one of these libraries is installed on all of your worker (slave) n= odes. If you don't need any modification of the mesos packaging, you ca= n use pre-built packages from Mesosphere: http://open.mesosphere.com/download= s/mesos

If you need some modification, you sho= uld fork=C2=A0https://github.com/mesosphere/mesos-deb-packaging wh= ich is far more maintained. Anyway none of these packaging is close to an i= deal solution. A proper Debian package would distinguish between a mesos-ma= ster, mesos-slave, libmesos, java and python binding etc.

Regards,
Tomas

On 4 August 2015 at 22:36, Jay Taylor = <outtatime@gmail.com> wrote:
Greetings Mesonians,

What is the p= rocedure for creating debian/ubuntu .deb distribution builds of Mesos?

I am currently using=C2=A0https://github.com/deric/mes= os-deb-packaging, but it seems to add some dependencies (libunwind* and= =C2=A0libcurl4-nss-dev) that the mesosphere-hosted distributions do not, an= d I strongly prefer creating artifacts comparable to what is emitted in the= official builds.

Thanks,
Jay



--047d7b414f2a1e3b3b051c940bc2--