-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Apt - Minimum Viable Buildpack - 03 - Installed Packages Layer #7
Conversation
b87ecab
to
4563fe7
Compare
In case it helps you plan - I'm not going to have time to review this today unfortunately. I might be able to tomorrow. If you were otherwise blocked and didn't have something to work on - one of the questions I'll have during the review (either to ask or to look into myself), is whether there are any parts of the deb downloading/extracting strategy from the classic APT buildpack that can be done a more elegant way (ie: not using dpkg) - eg researching if in the last N years |
@edmorley so the situation with |
c244ebb
to
8fb2955
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks a ton for working on this. I made some suggestions, comments and requests. See individual comments for more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A few real quick suggestions. I'm not done reviewing the new commit
292e640
to
ec0777d
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for incorporating prior changes. I think this looks good. I've moved over to 04
I hadn't reviewed this :-( |
Sorry, I didn't realize I was still waiting on you here @edmorley. |
The Debian packages that we download need to be extracted into a target folder. This folder can be cached and several environment variables will refer to this location so that downloaded libraries and tools can be made available to subsequent buildpacks. So, for this, we'll introduce two layers:
InstalledPackagesLayer
- the cacheable folder where all packages will be installed.EnvironmentLayer
- a layer which sets the environment variables pointing to the installed packages which is always recreated.Caching
Caching for the
InstalledPackagesLayer
is controlled by two values:Aptfile
(parsed, not raw)os
andarch
of the system the buildpack is executing inEnvironment Variables
The
EnvironmentLayer
prepends the following paths to their respective environment variables:PATH
<layer_dir>/bin
<layer_dir>/usr/bin
<layer_dir>/usr/sbin
LD_LIBRARY_PATH
/LIBARY_PATH
<layer_dir>/usr/lib/x86_64-linux-gnu
(if the arch isamd64
)<layer_dir>/usr/lib
<layer_dir>/lib/x86_64-linux-gnu
(if the arch isamd64
)<layer_dir>/lib
INCLUDE_PATH
/CPATH
/CPPPATH
<layer_dir>/usr/include/x86_64-linux-gnu
(if the arch isamd64
)<layer_dir>/usr/include
PKG_CONFIG_PATH
<layer_dir>/usr/lib/x86_64-linux-gnu/pkgconfig
(if the arch isamd64
)<layer_dir>/usr/lib/pkgconfig