lilypond-devel
[Top][All Lists]
Advanced

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

GUB bug in package dependencies determination?


From: Hans Aikema
Subject: GUB bug in package dependencies determination?
Date: Fri, 23 Dec 2016 16:16:41 +0100

Hello developers,

another topic in my quest for building a minimal dockerized GUB. A first look 
on the following error message makes me suspect that GUB’s package dependency 
management is somewhat broken. The error was obtained by trying to run a make 
lilypond in a succesfully bootstrapped GUB running in my ubuntu:xenial 
container.

The container was built from the official ubuntu:xenial container by using the 
following Dockerfile:

# Lilypond GUB build environment as a Docker container
FROM ubuntu:xenial

# Install prerequisites for GUB
RUN apt-get update && \
    apt-get --no-install-recommends install -y \
        g++-multilib  \
        git  \
        ca-certificates  \
        zip  \
        unzip  \
        make  \
        python  \
        file  \
        xz-utils  \
        gettext  \
        curl  \
        p7zip-full  \
        texlive-xetex \
        && \
    apt-get clean && \
    rm -rf /var/lib/apt/lists/* && \
    useradd -ms /bin/bash gub

#Switch to gub user
USER gub
WORKDIR /home/gub

# Clone current GUB
#RUN git clone git://github.com/gperciva/gub.git
RUN git clone git://github.com/aikebah/gub.git &&\
# Bootstrap the GUB environment
    cd gub && make bootstrap &&\
    mkdir -p /home/gub/gub/regtests && \
    curl 
http://download.linuxaudio.org/lilypond/binaries/test-output/lilypond-${REGTESTS_CURRENT}.test-output.tar.bz2
 -o regtests/lilypond-${REGTESTS_CURRENT}.test-output.tar.bz2 && \ 
    touch regtests/ignore


It appears to me that the error will be triggered by the 
--no-install-recommends option of apt-get install, which leaves out the 
recommended packages (and thus among others the documentation packages of glibc 
in the environment on top of which GUB is being run. Something which most 
developers will not do, as they likely want the glibc doc at hand; but for a 
docker container you’d rather leave out all optional files to keep 
containersize at a minimum (will also likely move GUB out to a mounted volume 
later on, as I suspect it will trigger lots of useless ‘copy-on-write’ space 
consumption when using such a container in practice, but that’s an excercise 
for later when the base container is working fine)

I will look into this further as well, but maybe someone with active knowledge 
of GUB is faster in spotting where the decision stems from to try and uninstall 
a not present glibc-doc package (I still have to find my way in both Python and 
GUB, using my generic programming skills learned in university Computer Science)

(This dockerfile would result in a broken test later on in any case since I 
accidentally removed an environment setting REGTESTS_CURRENT) that makes the 
‘downloaded regtests’ be the text of an http-404 response stored as 
lilypond-.test-output.tar.bz2; but that part has nothing to do with the current 
package-dependencies induced failure of GUB to do a build)

Attachment: gub.log.gz
Description: GNU Zip compressed data


reply via email to

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