Why I have to compile every dependency

138 views
Skip to first unread message

Gaston Ramos

unread,
Dec 2, 2013, 7:20:08 AM12/2/13
to bosh-...@cloudfoundry.org
Hello, is there any document that explains why
bosh require to compile every dependency instead
of just use the package system of the OS like apt-get?
If not could someone explain me the reason? IMO
this way require a lot of work and I can't find reasonable benefits.

Another important point is, as far as I know, there is no way
to share packages between the community, so if I make a bosh package
lets say for git I can "upload it" to some repo and every person
that needs to use this package can do it and don't have to spend time
building a package that other person has already done.

Thanks.
--
“Any fool can write code that a computer can understand. Good
programmers write code that humans can understand. ” - Martin Fowler


+-------------------------------------+
Gastón Ramos
http://gastonramos.com.ar/
GNU/Linux Counter user #450312

James Bayer

unread,
Dec 2, 2013, 11:02:13 AM12/2/13
to bosh-...@cloudfoundry.org

the reason to build from source is a philosophical belief deeply ingrained into the original architects of bosh that you must be able to reliably rebuild a system without relying on external dependencies. as soon as you rely on something from the outside world, you are subject to their availability and making sure they do not change things behind the black box of their dependency chain.

bosh recently added support to import/export compiled packages. compiled packages will be tied to a particular release/stemcell combination. as a bosh release author, if you make the compiled packages available with your release and stemcell, then compiling packages can now be avoided completely.

$ bosh help export compiled_packages
export compiled_packages <release> <stemcell> <download_dir>
    Download compiled packages for a specific release and stemcell combination

import compiled_packages <exported_tar_path>
    Import compiled packages for a specific release and stemcell combination
$ bosh help import compiled_packages
import compiled_packages <exported_tar_path>
    Import compiled packages for a specific release and stemcell combination

export compiled_packages <release> <stemcell> <download_dir>
    Download compiled packages for a specific release and stemcell combination


To unsubscribe from this group and stop receiving emails from it, send an email to bosh-users+...@cloudfoundry.org.



--
Thank you,

James Bayer

Wayne E. Seguin

unread,
Dec 2, 2013, 11:12:24 AM12/2/13
to bosh-...@cloudfoundry.org
This is insanely useful, thanks for sharing this information James!

Gaston Ramos

unread,
Dec 2, 2013, 11:33:12 AM12/2/13
to bosh-...@cloudfoundry.org
El Mon, 02 de Dec de 2013, a las 08:02:13AM -0800, James Bayer dijo:
> the reason to build from source is a philosophical belief deeply ingrained
> into the original architects of bosh that you must be able to reliably
> rebuild a system without relying on external dependencies. as soon as you
> rely on something from the outside world, you are subject to their
> availability and making sure they do not change things behind the black box
> of their dependency chain.
>
> bosh recently added support to import/export compiled packages. compiled
> packages will be tied to a particular release/stemcell combination. as a
> bosh release author, if you make the compiled packages available with your
> release and stemcell, then compiling packages can now be avoided completely.
>
> $ bosh help export compiled_packages
> export compiled_packages <release> <stemcell> <download_dir>
> Download compiled packages for a specific release and stemcell combination
>
> import compiled_packages <exported_tar_path>
> Import compiled packages for a specific release and stemcell combination
> $ bosh help import compiled_packages
> import compiled_packages <exported_tar_path>
> Import compiled packages for a specific release and stemcell combination
>
> export compiled_packages <release> <stemcell> <download_dir>
> Download compiled packages for a specific release and stemcell combination

Thanks a lot for sharing this James! I don't agree with "you must be
able to reliably rebuild a system without relying on external dependencies"
since it adds a lot of extra work and at end of the story we are always relying
in some external dependency, OS packages has a lot of work upon them and
always are the best option for me since they are strongly tested by the
community.
Is there a way to configure bosh to use apt instead of bosh packages?

Cheers.

Dr Nic Williams

unread,
Dec 2, 2013, 11:37:42 AM12/2/13
to bosh-...@cloudfoundry.org
Gaston, you can do anything you like (including apt-get install) inside your monit control script during "monit start" phase.


Gaston Ramos

unread,
Dec 2, 2013, 12:06:04 PM12/2/13
to bosh-...@cloudfoundry.org
El Mon, 02 de Dec de 2013, a las 08:37:42AM -0800, Dr Nic Williams dijo:
> Gaston, you can do anything you like (including apt-get install) inside your monit control script during "monit start" phase.
Sounds bizarre for me but I'll try it. Thanks!
Reply all
Reply to author
Forward
0 new messages