by Americastestkitchen

GitHub Readme.md

ATK's heroku-buildpack-apt

Adds support for apt-based dependencies during both compile and runtime.

This repo (originally forked from ddollar/heroku-buildpack-apt ), was used to install dependencies during the Heroku build process for migrating The Feed app from Heroku's Cedar-10 to Cedar-14 stack. The following apache dependencies were absent in Cedar-14 (see Heroku's list of Ubuntu Packages on Cedar and Cedar-14) so apache wouldn't run until these dependencies could be installed & found when starting the app:

libssl0.9.8 (which includes a dependency, libcrypto.so.0.9.8)


This buildpack works in conjuction with ATK's heroku-buildpack-multi buildpack.

heroku-buildpack-multi loads on your app's buildpacks that are specified inside its .buildpacks file, such as https://github.com/Americastestkitchen/heroku-buildpack-apt and https://github.com/Americastestkitchen/heroku-wordpress-php as in the ATK's Feed app

I removed the original test folder which contained Aptfile & .buildpacks files to avoid confusion about how and where they are used as they are located on app's code base in the root of the project folder: see them in ATK's Feed app

Original examples

The following is from original repo instructions from ddollar/heroku-buildpack-apt. KEEP IN MIND that they had originally included samples of test/Aptfile & test/.buildpacks just for explanatory purposes which do not actually operate from within THIS buildpack's codebase, ie you still need an app that calls on this buildpack to install dependencies.






source "https://rubygems.org"
gem "pg"

Compile with Anvil

$ heroku plugins:install https://github.com/ddollar/heroku-build

$ heroku create apt-pg-test

$ heroku build . -b ddollar/multi -r

Checking for app files to sync... done, 2 files needed
Uploading: 100.0%
Launching build process... done
Preparing app for compilation... done
Fetching buildpack... done
Detecting buildpack... done, Multipack
Fetching cache... done
Compiling app...
=====> Downloading Buildpack: https://github.com/ddollar/heroku-buildpack-apt
=====> Detected Framework: Apt
  Updating apt caches
  Installing libpq-dev_8.4.17-0ubuntu10.04_amd64.deb
  Installing libpq5_8.4.17-0ubuntu10.04_amd64.deb
  Writing profile script
=====> Downloading Buildpack: https://github.com/heroku/heroku-buildpack-ruby
=====> Detected Framework: Ruby
  Installing dependencies using Bundler version 1.3.2
Putting cache... done
Creating slug... done
Uploading slug... done
Success, slug is https://api.anvilworks.org/slugs/00000000-0000-0000-0000-0000000000.tgz

Check out the PG library version

$ heroku run bash -a apt-pg-test
~ $ irb
irb(main):001:0> require "pg"
=> true
irb(main):002:0> PG::version_string
=> "PG 0.15.1"