metabrainz / musicbrainz-docker

Docker Compose project for the MusicBrainz Server with replication, search, and development setup
https://musicbrainz.org/doc/MusicBrainz_Server/Setup
284 stars 72 forks source link

Build issues with v-2023-08-28 #255

Closed ashprice closed 10 months ago

ashprice commented 10 months ago
> git describe --always --broken --dirty --tags
v-2023-08-28-3-g4544332
docker-compose version --short
2.20.3
> sudo docker version -f 'Docker Client/Server: {{.Client.Version}}/{{.Server.Version}}'
Docker Client/Server: 24.0.5/24.0.5
> ./admin/configure show
COMPOSE_FILE is not defined, default file is used.

Referred-to compose file(s):
[HANDLE]   PATH:                DESCRIPTION
[default]  docker-compose.yml:  Default compose file, with host port for musicbrainz

docker-compose.yml is as it is on the master branch.

Here is the tail end of my build output:

 => [musicbrainz internal] load build context                                                                                                                                    0.0s
 => => transferring context: 33.49kB                                                                                                                                             0.0s
 => [indexer 2/4] RUN apt-get update     && apt-get install --no-install-recommends -qy       ca-certificates       cron       gcc       git       libc6-dev       libffi-dev   22.5s
 => [musicbrainz  2/11] RUN curl -sSLO --retry 5 https://github.com/jwilder/dockerize/releases/download/v0.6.1/dockerize-linux-amd64-v0.6.1.tar.gz &&     tar -C /usr/local/bin  2.2s
 => [musicbrainz  3/11] RUN mkdir -p /usr/local/share/keyrings &&     curl -sSL --retry 5 https://www.postgresql.org/media/keys/ACCC4CF8.asc > /tmp/postgres-key.asc &&     gp  28.0s
 => CANCELED [indexer 3/4] RUN git clone --depth=1 --branch "v3.0.1" https://github.com/metabrainz/sir.git /code     && cd /code     && pip install -r requirements.txt     &&  20.1s
 => [musicbrainz  4/11] RUN git clone --depth=1 --branch v-2023-08-28 https://github.com/metabrainz/musicbrainz-server.git musicbrainz-server                                    5.1s
 => [musicbrainz  5/11] WORKDIR /musicbrainz-server                                                                                                                              0.1s
 => ERROR [musicbrainz  6/11] RUN cp docker/yarn_pubkey.txt /tmp/yarn-key.asc &&     cd /tmp &&     gpg --no-default-keyring --keyring /tmp/yarn-keyring.gpg --import /tmp/yarn  2.0s
------
 > [musicbrainz  6/11] RUN cp docker/yarn_pubkey.txt /tmp/yarn-key.asc &&     cd /tmp &&     gpg --no-default-keyring --keyring /tmp/yarn-keyring.gpg --import /tmp/yarn-key.asc &&
      refreshed_keys='';     for pgp_server in $(tr ' ' '\n' <<<"keys.openpgp.org keyserver.ubuntu.com pgp.mit.edu"); do         for attempt in {1..3}; do             gpg --no-default-keyring --keyring /tmp/yarn-keyring.gpg --keyserver "$pgp_server" --refresh-keys Yarn 2>&1 &&             { refreshed_keys='yes'; break; } ||             echo "Temporary failure: gpg returned error code '$?' on attempt #$attempt to reach '$pgp_server'.";         done;         if [[ $refreshed_keys == yes ]]; then break; fi;     done;     if [[ $refreshed_keys
!= yes ]]; then         echo >&2 'Fatal error: Failed all attempts to refresh PGP keys.';         echo >&2 'Try passing a list of PGP servers that work for you as build argument:';
       echo >&2 '';         echo >&2 '    docker-compose build --build-arg PGP_SERVERS="LIST" musicbrainz';         echo >&2 '';         echo >&2 "Current LIST is "keys.openpgp.org keyserver.ubuntu.com pgp.mit.edu"";         EX_TEMPFAIL=75;         exit $EX_TEMPFAIL;     fi;     unset attempt pgp_server refreshed_keys;         gpg --no-default-keyring --keyring
/tmp/yarn-keyring.gpg --export --output /usr/local/share/keyrings/dl.yarnpkg.com.gpg &&     rm -f /tmp/yarn-key.asc /tmp/yarn-keyring.gpg &&     echo "deb [signed-by=/usr/local/share/keyrings/dl.yarnpkg.com.gpg] https://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarnpkg.list &&     apt-get update -o Dir::Etc::sourcelist="sources.list.d/yarnpkg.list" -o Dir::Etc::sourceparts="-" -o APT::Get::List-Cleanup="0" &&     curl -sSLO --retry 5 https://deb.nodesource.com/node_16.x/pool/main/n/nodejs/nodejs_16.16.0-deb-1nodesource1_amd64.deb &&     dpkg -i nodejs_16.16.0-deb-1nodesource1_amd64.deb &&     apt-get purge -qy cmdtest &&     apt-get install --no-install-recommends -qy         yarn &&     rm /tmp/* &&     rm -rf /var/lib/apt/lists/*:
0.489 gpg: keybox '/tmp/yarn-keyring.gpg' created
0.492 gpg: key 1646B01B86E50310: public key "Yarn Packaging <yarn@dan.cx>" imported
0.496 gpg: Total number processed: 1
0.496 gpg:               imported: 1
0.516 gpg: refreshing 1 key from hkp://keys.openpgp.org
0.930 gpg: key 1646B01B86E50310: "Yarn Packaging <yarn@dan.cx>" not changed
0.930 gpg: Total number processed: 1
0.930 gpg:              unchanged: 1
1.023 Get:1 https://dl.yarnpkg.com/debian stable InRelease [17.1 kB]
1.092 Get:2 https://dl.yarnpkg.com/debian stable/main all Packages [11.1 kB]
1.113 Get:3 https://dl.yarnpkg.com/debian stable/main amd64 Packages [11.1 kB]
1.120 Fetched 39.2 kB in 0s (228 kB/s)
1.120 Reading package lists...
1.711 dpkg-deb: error: 'nodejs_16.16.0-deb-1nodesource1_amd64.deb' is not a Debian format archive
1.711 dpkg: error processing archive nodejs_16.16.0-deb-1nodesource1_amd64.deb (--install):
1.711  dpkg-deb --control subprocess returned error exit status 2
1.739 Errors were encountered while processing:
1.739  nodejs_16.16.0-deb-1nodesource1_amd64.deb
------
failed to solve: process "/bin/bash -o pipefail -c cp docker/yarn_pubkey.txt /tmp/yarn-key.asc &&     cd /tmp &&     gpg --no-default-keyring --keyring /tmp/yarn-keyring.gpg --import /tmp/yarn-key.asc &&         refreshed_keys='';     for pgp_server in $(tr ' ' '\\n' <<<\"$PGP_SERVERS\"); do         for attempt in {1..3}; do             gpg --no-default-keyring
--keyring /tmp/yarn-keyring.gpg --keyserver \"$pgp_server\" --refresh-keys Yarn 2>&1 &&             { refreshed_keys='yes'; break; } ||             echo \"Temporary failure: gpg returned error code '$?' on attempt #$attempt to reach '$pgp_server'.\";         done;         if [[ $refreshed_keys == yes ]]; then break; fi;     done;     if [[ $refreshed_keys != yes ]]; then         echo >&2 'Fatal error: Failed all attempts to refresh PGP keys.';         echo >&2 'Try passing a list of PGP servers that work for you as build argument:';
 echo >&2 '';         echo >&2 '    docker-compose build --build-arg PGP_SERVERS=\"LIST\" musicbrainz';         echo >&2 '';         echo >&2 \"Current LIST is \\\"$PGP_SERVERS\\\"\";         EX_TEMPFAIL=75;         exit $EX_TEMPFAIL;     fi;     unset attempt pgp_server refreshed_keys;         gpg --no-default-keyring --keyring /tmp/yarn-keyring.gpg --export --output /usr/local/share/keyrings/dl.yarnpkg.com.gpg &&     rm -f /tmp/yarn-key.asc /tmp/yarn-keyring.gpg &&     echo \"deb [signed-by=/usr/local/share/keyrings/dl.yarnpkg.com.gpg] https://dl.yarnpkg.com/debian/ stable main\" > /etc/apt/sources.list.d/yarnpkg.list &&     apt-get update -o Dir::Etc::sourcelist=\"sources.list.d/yarnpkg.list\" -o Dir::Etc::sourceparts=\"-\" -o APT::Get::List-Cleanup=\"0\" &&     curl -sSLO --retry 5 https://deb.nodesource.com/node_16.x/pool/main/n/nodejs/nodejs_${NODE_VERSION}-deb-1nodesource1_amd64.deb &&
dpkg -i nodejs_${NODE_VERSION}-deb-1nodesource1_amd64.deb &&     apt-get purge -qy cmdtest &&     apt-get install --no-install-recommends -qy         yarn &&     rm /tmp/* &&     rm
-rf /var/lib/apt/lists/*" did not complete successfully: exit code: 1

Not sure what to try from here, any help or pointers is gratefully accepted.

yvanzo commented 10 months ago

Thanks for reporting this issue which I confirm and is new as it was still working fine very recently. It seems that Nodesource removed this version of Nodejs from its downloads. So we are now looking into replacing it with a newer version, which should have happened soon anyway.

yvanzo commented 10 months ago

In the meantime, here is a workaround to build the image for the musicbrainz service:

sudo docker-compose build --build-arg NODE_VERSION=16.20.2 musicbrainz
yvanzo commented 10 months ago

It is now fixed in the latest release v-2023-08-31. Thanks again for having reported it.