Boa pergunta.
Embora você não possa fazer a detecção de arquitetura no YAML, é possível dizer aos plug-ins para usar um subdiretório da origem em vez da raiz. Então, contanto que você esteja bem mudando esse subdiretório manualmente dependendo da arquitetura para a qual você está construindo, você é bom.
Vamos supor que o layout do projeto que você está clonando tem esta aparência:
/:
subdir1:
Makefile
subdir2:
Makefile
Vamos supor também que você esteja interessado apenas em criar subdir1
. Aqui está um trecho de snapcraft help sources
:
source-subdir:
(string)
Um diretório de origem dentro de um repositório ou tarfile para entrar e construir de.
Então você pode usar o Snapcraft com o YAML assim:
parts:
base:
plugin: make
source: git://github.com/myproject.git
source-type: git
source-subdir: subdir1
Isso fará com que make
/ make install
seja executado a partir do subdir1. Observe que isso se aplica a qualquer plug-in que suporte as opções source
.
EDITAR:
De fato, como a sergiusens aponta nos comentários, snapcraft help make
é útil para ler e aponta outra possível resposta aqui:
parts:
base:
plugin: make
source: git://github.com/myproject.git
source-type: git
makefile: subdir1/Makefile
Isso faz com que make
/ make install
seja chamado com -f subdir1/Makefile