reproduce-devel
[Top][All Lists]
Advanced

[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/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]