[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[task #15818] Debian-slim container and specific GCC .deb file on Zenodo
From: |
Mohammad Akhlaghi |
Subject: |
[task #15818] Debian-slim container and specific GCC .deb file on Zenodo |
Date: |
Sun, 22 Nov 2020 16:02:27 -0500 (EST) |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:83.0) Gecko/20100101 Firefox/83.0 |
URL:
<https://savannah.nongnu.org/task/?15818>
Summary: Debian-slim container and specific GCC .deb file on
Zenodo
Project: Reproducible paper template
Submitted by: makhlaghi
Submitted on: Sun 22 Nov 2020 09:02:25 PM UTC
Should Start On: Sun 22 Nov 2020 12:00:00 AM UTC
Should be Finished on: Sun 22 Nov 2020 12:00:00 AM UTC
Category: None
Priority: 5 - Normal
Status: None
Privacy: Public
Percent Complete: 0%
Assigned to: None
Open/Closed: Open
Discussion Lock: Any
Effort: 0.00
_______________________________________________________
Details:
Building Maneage within a Docker image can simplify moving a built project
from one computer to another immediately without having to built it from
scratch. Therefore README.md
<http://git.maneage.org/project.git/tree/README.md> has a special section to
build the project in a Docker image.
However, currently README.md recommends to use the 'debian:stable-slim' image
as its base. As mentioned throughout the Maneage paper, this changes all the
frequently. Ideally that change should not cause any problem for Maneage,
because Maneage builds everything itself (except for the C library, which will
be done in task #15390).
The actual file that gets downloaded for the slim Debian is very small (27.11
Mb right now). So instead of relying on Dockerhub and its links to Debian's
servers, we can just keep that file ourselves on Zenodo. That file can then be
the recommended base image for building Maneage in a container. We can update
it every few years (when Debian stable gets updated).
But to be able to build Maneage, we also need the Debian 'gcc', 'g++' and
'wget' packages. So the very top of our recommended Dockerfile looks something
like this:
FROM debian:stable-slim
RUN apt-get update && apt-get install -y gcc g++ wget
I see two ways to do this:
1. In our archival, we can also store all the '.deb' files of these packages
and their dependencies and use them instead of Debian's own server.
2. We build a new custom Docker image that blends in the slim image and the
image with the compilers and wget into one core image and archives that on
Zenodo (it shouldn't be larger than 300 Mb, and can be updated every 2
years!). I just had a fast search and apparently Docker supports this with its
multistaged builds
<https://docs.docker.com/develop/develop-images/multistage-build/>.
I currently prefer the second one because it is more simpler/cleaner for
ourselves and the users (we will store the Dockerfile that is used to create
it with the image). But please let me know what you think.
_______________________________________________________
Reply to this item at:
<https://savannah.nongnu.org/task/?15818>
_______________________________________________
Message sent via Savannah
https://savannah.nongnu.org/
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [task #15818] Debian-slim container and specific GCC .deb file on Zenodo,
Mohammad Akhlaghi <=