Re: How does Mesos Debian packaging work?

2015-08-05 Thread Tomas Barton
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 (0x7f35be6b6000)
libcurl-nss.so.4 = /usr/lib/x86_64-linux-gnu/libcurl-nss.so.4
(0x7f35be44f000)
libz.so.1 = /lib/x86_64-linux-gnu/libz.so.1 (0x7f35be238000)
...

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 j...@jaytaylor.com 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 barton.to...@gmail.com
 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 outtat...@gmail.com 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






Re: How does Mesos Debian packaging work?

2015-08-05 Thread Cody Maloney
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 barton.to...@gmail.com 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 (0x7f35be6b6000)
 libcurl-nss.so.4 = /usr/lib/x86_64-linux-gnu/libcurl-nss.so.4
 (0x7f35be44f000)
 libz.so.1 = /lib/x86_64-linux-gnu/libz.so.1 (0x7f35be238000)
 ...

 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 j...@jaytaylor.com 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 barton.to...@gmail.com
 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 outtat...@gmail.com 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







Re: How does Mesos Debian packaging work?

2015-08-04 Thread Jay Taylor
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 barton.to...@gmail.com 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 outtat...@gmail.com 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





How does Mesos Debian packaging work?

2015-08-04 Thread Jay Taylor
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


Re: How does Mesos Debian packaging work?

2015-08-04 Thread Tomas Barton
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 outtat...@gmail.com 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