Buildpacks ending lucid64 stack support


Mike Dalessio
 

Hi everyone,

The Buildpacks team just cut a series of releases removing lucid64 binaries
from the buildpacks.

*Background*

As announced earlier this year, the lucid64 stack ("rootfs") reached End of
Life on 20 April 2015
<http://fridge.ubuntu.com/2015/03/18/ubuntu-10-04-lucid-lynx-reaches-end-of-life-on-april-30-2015/>,
meaning that it no longer receives security updates after that date.

cf-release v211, released on 4 June 2014, removed the lucid64 stack from
Cloud Foundry, and Dieu's email from 6 June 2015
<http://lists.cloudfoundry.org/pipermail/cf-dev/2015-June/000348.html>
contains links
to application migration instructions.

During the Cloud Foundry Advisory Board meeting on 12 June 2015
<https://www.activestate.com/blog/2015/06/cloud-foundry-advisory-board-meeting-2015-june>,
it was noted that lucid64 support would be removed from the buildpacks in
the next few weeks.

*Releases*

The following Buildpacks were very recently released with lucid64 binary
support removed:

- go: 1.4.0
<https://github.com/cloudfoundry/go-buildpack/releases/tag/v1.4.0>
- nodejs: 1.4.0
<https://github.com/cloudfoundry/nodejs-buildpack/releases/tag/v1.4.0>
- php: 3.3.0
<https://github.com/cloudfoundry/php-buildpack/releases/tag/v3.3.0>
- python: 1.4.0
<https://github.com/cloudfoundry/python-buildpack/releases/tag/v1.4.0>
- ruby: 1.5.0
<https://github.com/cloudfoundry/ruby-buildpack/releases/tag/v1.5.0>
- staticfile: 1.2.0
<https://github.com/cloudfoundry/staticfile-buildpack/releases/tag/v1.2.0>

As a result, the php, python, ruby, and staticfile buildpacks are
significantly smaller than their previous versions.

We expect these versions will likely be in the next version of cf-release,
v213.

*Tooling to Package lucid64 Binaries*

Many CF operators may still be running the lucid64 stack. The same tooling
used to generate official buildpacks may be used by these operators to
package lucid64 binaries into their site-specific buildpacks to continue to
support lucid64 applications.

Each of these buildpacks' github repositories contains a file named
manifest-including-unsupported.yml, which contains metadata about Every
Version Of Everything, Ever. An example entry from the Ruby buildpack looks
like:

```

- name: ruby
version: 2.2.0
uri: https://pivotal-buildpacks.s3.amazonaws.com/ruby/binaries/lucid64/ruby-2.2.0.tgz
md5: 47e892bbaa2b08cf3c522a38c4c6755c
cf_stacks:
- lucid64

```

Copying the desired lucid64 entries from manifest-including-unsupported.yml
into manifest.yml and then running buildpack-packager with the
--use-custom-manifest argument will generate a buildpack that contains
lucid64 binaries.

Operators may also modify and use the Buildpack Runtime Acceptance Test
Suite <https://github.com/cloudfoundry/brats> ("BRATS") to test their
custom buildpacks. Instructions for doing this are out of scope for this
email, but feel free to contact me directly if you'd like to do so.