Aren't they just shell scripts? Last time I looked inside one anyway. Heroku makes a big deal about them, but most Unix people have similar things floating around in ~/bin.
Nothing is new under the sun and any Turing complete system can do what any other Turing complete system can do.
There's more than "can it run a command?" here. For example, I find that vanishly few operators managing fleets with tens of thousands of containers are prepared to go along with "just run this random bash script on the VM; I promise to keep it up to date".
Yes, Buildpacks are trusted maintained bash scripts. In that way, as you mention, they're better than random bash scripts. That doesn't make them novel. I know you said nothing is new, and I presume you mean completely new, but there's not a single novel thing about this.
Another poster on this thread is using the term 'invented'. Another is describing them as a 'technology' that needs to be understood. Describing a bootstrap script this way sets an incredibly low bar for DevOps.
I think you're dramatically underestimating what a buildpack is.
The Java buildpack is a Ruby application with a modular dependency download/caching subsystem to enable both internet-connected and air-gapped enviroments, hundreds of unit and integration tests, support for runtime injection and configuration modification for TLS certificates, support for several languages including Scala , Groovy, Clojure, support for several package types, several app runtimes, etc. https://github.com/cloudfoundry/java-buildpack
The PHP buildpack is a Python application with a modular dependency download/caching subsystem to enable both internet-connected and air-gapped environments, hundreds of unit and integration tests, support for easily configuring many different PHP extensions, libraries and modules, and extension points to customize the container staging behavior. https://github.com/cloudfoundry/php-buildpack
For developers, this saves a lot of time, effort, and variance for staging their containers.
For operators, this enables a control point that simplifies CI/CD pipelines dramatically and standardizes a means of containerization across projects.
It might not be for everyone, but I think it's a useful alternative to Dockerfiles.
They can be written in any language. I have personally worked on buildpacks written in bash, golang, ruby, python and I forget what else.
> Heroku makes a big deal about them, but most Unix people have similar things floating around in ~/bin.
I don't know that I agree. Could you elaborate a bit?