2016-01-04 4 views
0

Я заинтересован в клонировании содержимого частного git-репо, чтобы их можно было использовать в пользовательском рецепте BitBake. Я пытался адаптировать this technique из списков рассылки Yocto проекта и производится следующим образом:Как клонировать частный репортер git из рецепта BitBake?

SRC_URI = "git://www.example.com/path/to/repo;protocol=https;branch=master;name=commit;user=<username>:<password> 
SRCREV_commit = "9f8309bbdf0632191bec21fada2cb61a30bcf53e" 

Пароль Я использую содержит левые скобки. Я получаю эту ошибку:

/bin/sh: -c: line 0: syntax error near unexpected token `)' 

Можно ли каким-либо образом избежать этого специального символа или использовать какой-либо другой способ клонирования репо?

ответ

2

Как указано в другом комментарии, вы также можете использовать Git + SSH:

SRC_URI = "git://[email protected]/path/to/repo;protocol=ssh"

Затем вам нужно добавить открытый ключ пользователя, который работает BitBake на сервер мерзавца. Хороший способ отладки почему выборки не работает, состоит на самом деле использовать ssh -v для подключения:

ssh -v [email protected]

Остерегайтесь странных различий пути между реализациями мерзавец сервера (например, GitLab), например, нам нужно использовать что-то вроде этого (обратите внимание на тильду), чтобы сделать эту работу URI как с Bitbake, так и с Google Repo:

SRC_URI = "git://[email protected]:~/groupname/repo.git;protocol=ssh;branch=${BRANCH}"

2

Ну, может быть, не ответ, который вы ищете ...

Обычно, я использую SSH-аутентификации, и, таким образом, я просто использовать имя пользователя в SRC_URI; то ssh-agent позаботится об аутентичной части. Это также можно легко настроить на автобуйкере.

Другим подходом было бы добавить учетные данные до .netrc. В этом случае добавьте файл .netrc вам домашний каталог, с содержанием следующим образом:

machine stash1.mycompany.com 
login myusername 
password mypassword 

Это позволит вам опустить имя пользователя и пароль от SRC_URI.

В зависимости от ситуации, это может считаться преимуществом не хранить учетные данные в самом рецепте. Или это может не ...

Если вы хотите сохранить пароль (с символом ')') в своем рецепте, вам нужно найти способ избежать его или, возможно, окружить его «». (Это полностью непроверено, и у меня нет защищенного паролем git-репозитория, с которым можно поиграть).

 Смежные вопросы

  • Нет связанных вопросов^_^