konfligierende Parts¶
Die snap Parts sind wiederverwendbare Komponenten, beim Bau kann es zu
Konflikten kommen. Hier im Beispiel wird parts.gnu-bash
hinzugefügt, dessen
info-dir mit dem von parts.gnu-hello
in Konflikt steht. Dazu Folgendes in
die .yaml
Datei einfügen:
apps:
[..]
bash:
command: bash
parts:
[..]
gnu-bash:
source: http://ftp.gnu.org/gnu/bash/bash-4.3.tar.gz
plugin: autotools
Und danach den Build neu starten:
~/hello$ snapcraft prime
Parts 'gnu-bash' and 'gnu-hello' have the following file
paths in common which have different contents:
share/info/dir
[..]
Die Fehlermeldung meint: gnu-hello
und gnu-bash
legen ihre info-Dateien
im selben Ordner ab, was einen Konflikt darstellt. Diesen kann man lösen, indem
man beispielsweise den Konfgurationsschalter --infodir=
bei den autotools
bzw. beim configure des gnu-bash
anwendet:
gnu-bash:
source: http://ftp.gnu.org/gnu/bash/bash-4.3.tar.gz
plugin: autotools
configflags: ["--infodir=/var/bash/info"]
Der Build des gnu-bash
ist jetzt nicht mehr aktuell:
~/hello$ snapcraft prime
Skipping pull gnu-hello (already ran)
Skipping build gnu-hello (already ran)
Skipping pull gnu-bash (already ran)
The 'build' step of 'gnu-bash' is out of date:
The 'configflags' part property appears to have changed.
In order to continue, please clean that part's 'build' step by \
running: snapcraft clean gnu-bash -s build
Um nur den Build abzuräumen:
~/hello$ snapcraft clean gnu-bash -s build
[..]
~/hello$ snapcraft prime
[..]
Staging gnu-bash
Staging gnu-hello
Priming gnu-bash
Priming gnu-hello
~/hello$ sudo -H snap try --devmode prime/