Я вытягиваю проект от GitHub, который имеет несколько src папок для различных экземпляров (для различных целевых архитектур) в подпапках. Это создает с, делают, когда выполнено в подпапке экземпляра, которую Вы хотите.
Как я добираюсь, snapcraft для выполнения делают в корректном каталоге (я не могу только выпадающий что каталог, поскольку существуют общие src файлы на верхнем уровне также),
Текущий yaml:
parts:
base:
plugin: make
source: git://github.com/myproject.git
Хороший вопрос.
В то время как Вы не сможете сделать обнаружение архитектуры в YAML, можно сказать плагинам использовать подкаталог источника, а не корня. Так, пока Вы хорошо изменяетесь, что подкаталог вручную в зависимости от архитектуры, для которой Вы создаете, Вы хороши.
Давайте примем расположение проекта, который Вы клонируете, похож на это:
/:
subdir1:
Makefile
subdir2:
Makefile
Давайте также предположим, что Вы только интересуетесь зданием subdir1
. Вот отрывок от snapcraft help sources
:
источник-subdir:
(строка)
Исходный каталог в репозитории или tarfile, чтобы войти и создать из.
Таким образом, Вы можете Snapcraft, что Вы хотите с YAML как это:
parts:
base:
plugin: make
source: git://github.com/myproject.git
source-type: git
source-subdir: subdir1
Это вызовет make
/make install
быть выполненным от subdir1. Обратите внимание, что это относится к любому плагину, который поддерживает source
опции.
Править:
Действительно, поскольку sergiusens указывает в комментариях, snapcraft help make
полезно в чтение и указывает на другой потенциальный ответ здесь:
parts:
base:
plugin: make
source: git://github.com/myproject.git
source-type: git
makefile: subdir1/Makefile
Это вызывает make
/make install
быть названным с -f subdir1/Makefile