Question about buildpack deps

Question about buildpack deps, at:
https://docs.resin.io/reference/base-images/base-images/#resin-io-library-images-

There is the following statement:

A collection of common build dependencies used for installing various modules, e.g., gems. it has 2 variants which are:```

And then goes on have two bullet points (curl, scm) and a table with three variants (curl, scm, buildpack-deps). Is it two or three?

And then goes on to define docker-node, python, golang, openjdk. Do these fit into the 2 or 3 above in some way or not?

When I go to hub.docker.com and search for "resin intel-nuc" and then sort the results by name:

1. resin/intel-nuc-alpine
2. resin/intel-nuc-alpine-buildpack-deps
3. resin/intel-nuc-alpine-golang
4. resin/intel-nuc-alpine-node
5. resin/intel-nuc-alpine-openjdk
6. resin/intel-nuc-alpine-python
7. resin/intel-nuc-buildpack-deps
8. resin/intel-nuc-debian
9. resin/intel-nuc-fedora
10. resin/intel-nuc-fedora-buildpack-deps
11. resin/intel-nuc-fedora-golang
12. resin/intel-nuc-fedora-node
13. resin/intel-nuc-fedora-openjdk
14. resin/intel-nuc-fedora-python
15. resin/intel-nuc-golang
16. resin/intel-nuc-node
17. resin/intel-nuc-openjdk
18. resin/intel-nuc-python
19. resin/intel-nuc-ubuntu
20. resin/intel-nuc-ubuntu-buildpack-deps
21. resin/intel-nuc-ubuntu-golang
22. resin/intel-nuc-ubuntu-node
23. resin/intel-nuc-ubuntu-python

Questions:
- Q: is there a way to combine these, or do I have to use apt-get to add python to resin/intel-nuc-ubuntu-node?
- Q: why is there no resin/intel-nuc-ubuntu-openjdk?
- Q: what is alpine? And should it be added to the documentation?

Hello @jason10

There are two “variants” and the default version of buildpack-deps base images, each corresponding to an entry in the table you are referring to:

  1. curl [expressed as tag]
  2. scm [expressed as tag]
  3. buildpack-deps [default with latest or plain OS tag]
    Note these are additive, in that the scm variant is based on the curl variant, and the buildpack-deps default is based on the scm variant.
    You can start with any base image you like (OS and programming language, or agnostic), but you will have to install anything else that’s missing. As an example, if you want to run both Node.js and Python, you will either want to install Python from the Node.js image or vice versa.

I am not quite sure why there is not a resin/intel-nuc-ubuntu-openjdk base image, but I am chasing down an answer for you.

Alpine Linux is a common distribution for lightweight use cases, tantamount to Debian or Fedora in the context of base image OSes.

I hope this helps, please let us know if you have any other questions!

Hi again @jason10,

To close the loop here, there is no resin/intel-nuc-ubuntu-openjdk base image because we have only recently added them after our name change. That image is available here, the balenalib namespace.

Thank you!