2010-10-21 91 views
3

我有一個關於OpenEmbedded/bitbake的svn fetcher的問題。當我使用:如何使用bitbake簽出密碼保護的Subversion存儲庫?

svn://PATH/;proto=https;module=trunk 

svn://PATH/;proto=https;module=trunk;username=ABC;password=XYZ 
bitbake的

不會做任何事情。它只是等待後:

NOTE: Fetch 
svn://DOMAIN/svn/src/www/home/trunk/resources/tree/src/metadata-input/trunk/;proto=https;module=trunk 
Authentication realm: <https://DOMAIN.de:443> svn/src/www 

我試着輸入我的密碼或用戶名,然後密碼,但沒有任何反應。 後,我與Control-C取消我得到的命令行提示:

Password for 'USERNAME': 

可有人請給我一個提示解決呢?切換到httpsvn+ssh不是我公司的選擇。

回答

1

嘗試在您的主目錄中設置一個.netrc文件,其中包含服務器的用戶名和密碼。 Bitbake使用wget來獲取文件,而這些文件又讀取密碼.netrc

例如,您可以添加到您的~/.netrc文件的單行:

machine example.com login john.smith password ABC123 

通知wget登錄到example.com使用用戶名john.smith和密碼ABC123

2

的參數應該是用戶=和PSWD =,如:

svn://PATH/;proto=https;module=trunk;user=bob;pswd=password 
0

在提供yoctobitbake新版本,你會做一個配方,看起來像這樣(換行符爲清楚起見):

SRC_URI= "svn://svn.example.com/svnreponame/trunk/;\ 
module=HelloWorld;\ 
protocol=https;\ 
user=jrandom;\ 
pswd= \ 
" 

請注意,「模塊」只是從subversion的角度來檢查的目錄的名稱。

我已經把密碼關掉了,所以它並沒有存儲在你的源代碼控制系統和配方的其餘部分。如果您在配方中提供沒有密碼的用戶名,則Subversion將查找緩存的憑據in its usual places。使用構建用戶檢出機器上其他地方的工作副本應足以觸發顛覆,詢問緩存憑證。