[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: debdocker - A Debian docker-based personal builder



On Sun, 28 Jun 2020 09:27:09 +0200, Geert Stappers wrote:
> On Sun, Jun 28, 2020 at 08:29:22AM +0300, Tzafrir Cohen wrote:
> > On 27/06/2020 14:52, Mo Zhou wrote:
> > > Hi Samo,
> > > 
> > > I'm insterested in its differences compared to the following existing
> > > docker-based builders:
> > > 
> > > > 1. debocker https://people.debian.org/~tomasz/debocker.html
> > > 2. whalebuilder https://www.uhoreg.ca/programming/debian/whalebuilder
> > > 
> > > And there is a systemd-nspawn-based builder too:
> > > 3. debspawn https://github.com/lkorigin/debspawn
> > 
> > There is also the recent ITP of due:
> > https://bugs.debian.org/961371
> > that is a docker builder (Debian packages, or more generic)
> > 
> 
> Qouting that Intent To Package, ITP:
> <qoute>
> * Package name    : due
>   Programming Lang: Bash
>   Description     : Wrapper tool to create and run Docker container 
> software build environments.
> 
> Dedicated User Environment (DUE) is a framework for creating preconfigured
> build/development
> environments in Docker containers. It serves two primary purposes:
> 
> 1 - Maintains configurations for creating Docker images for any build 
> environment, using
> any architecture of any Debian based release it can find an image for.
>  For example, the Open Network Install Environment > (
https://github.com/opencomputeproject/onie)
>  currently builds on Debian 8 and 9, but requires some Backports packages,
> and a program that
>  isn't packaged for Debian. DUE maintains a configuration to get all of that
> added when the
>  Docker image is created so ONIE can 'just build'. Apart from not requiring
> the end user to
>  have to configure the build environment, it also allows all developers to use
> the same build
>  environment when debugging - regardless of where they happen to be.
> 
> 2 - It goes beyond 'just using a Dockerfile' by using a launcher application
> that supplies
> runtime configuration to Docker for the Docker images it has created.  Apart
> from reducing
> typing and being smart about the containers that it runs (ex: containers
> building Debian
> packages mount the host directory _above_ the build directory so the resulting
> .debs aren't
> stored in the container), DUE preserves the user's identity in the container
> by creating an account
> for them with their user ID, and mounting their home directory so they can
> access their .config files.
> This creates a less intrusive development environment when the user is in a
> build/test/debug
> cycle.
> 
> While the above are the most important features DUE provides, there are a lot
> more ways
> it makes using different development configurations easier, which are
> documented in
> the Readme.md (https://github.com/CumulusNetworks/DUE/blob/master/README.md)
> </qoute>
> 

The ITP for 'due' expresses exactly my sentiments in the Q&A section question,
if there are other packages providing similar functionality. 'debdocker' is
simply my modest result of that sentiment and i see no harm offering it to
others.

regards, Samo


Reply to: