2016-08-23 32 views
0

我想與Spotify的dh-virtualenv debian包助手建立一個deb包。如何用dh-virtualenv構建Debian軟件包?規則文件不工作與fakeroot

錯誤消息我得到: 在運行dpkg-buildpackage -us -uc

(venv) $ dpkg-buildpackage -us -uc 
dpkg-buildpackage: source package ese-xlr8r 
dpkg-buildpackage: source version 1.4.7 
dpkg-buildpackage: source distribution UNRELEASED 
dpkg-buildpackage: source changed by Special Characters <[email protected]> 
dpkg-buildpackage: host architecture amd64 
dpkg-source --before-build active 
fakeroot debian/rules clean 
: No such file or directory 
'. Stop. No rule to make target ` 
dpkg-buildpackage: error: fakeroot debian/rules clean gave error exit status 2 

我不知道爲什麼它不會找到規則文件。我可以毫不fakeroot的手動運行該文件,它的工作原理(或至少它傳遞的是初始誤差):

: command not found 
: no such job 
    dh_testdir 
    dh_auto_clean 
pyversions: missing X(S)-Python-Version in control file, fall back to debian/pyversions 
pyversions: missing debian/pyversions file, fall back to supported versions 
/home/echostar/projects/XLR8R/active/venv/local/lib/python2.7/site-packages/setuptools/dist.py:364: UserWarning: Normalizing '1.4.10 
' to '1.4.10' 
    normalized_version, 
running clean 
'build/lib.linux-x86_64-2.7' does not exist -- can't clean it 
'build/bdist.linux-x86_64' does not exist -- can't clean it 
'build/scripts-2.7' does not exist -- can't clean it 
    dh_clean 

正如你沒有看到「沒有這樣的文件或目錄」錯誤。我可以重現錯誤與fakeroot的

(venv) $ fakeroot debian/rules 
: No such file or directory 
'. Stop. No rule to make target ` 

這裏是我的規則文件:

(venv) $ cat debian/rules 
#!/usr/bin/make -f 

%: 
     dh [email protected] --with python-virtualenv 

我缺少的東西?

注意:'venv'是我的virtualenv的名稱,並且處於活動狀態。

UPDATE 2016年8月23日 我複製我的代碼到另一個虛擬機在數據中心我們與年齡稍大的Ubuntu和重新安裝了一切,並運行buildpackage命令。這一次它使得它更進一步,但最後還是類似的錯誤。我不會發布整體buildpackage日誌,但這裏的最終要點:

New python executable in debian/ese-xlr8r/usr/share/python/ese-xlr8r/bin/python 
Installing setuptools, pip...done. 
Downloading/unpacking behave==1.2.5 (from -r ./requirements.txt (line 1)) 
    Cannot fetch index base URL https://pypi.python.org/simple/ 
    Could not find any downloads that satisfy the requirement behave==1.2.5 (from -r ./requirements.txt (line 1)) 
Cleaning up... 
No distributions at all found for behave==1.2.5 (from -r ./requirements.txt (line 1)) 
Storing debug log for failure in /home/echostar/.pip/pip.log 
Traceback (most recent call last): 
    File "/usr/bin/dh_virtualenv", line 106, in <module> 
    sys.exit(main() or 0) 
    File "/usr/bin/dh_virtualenv", line 86, in main 
    deploy.install_dependencies() 
    File "/usr/lib/python2.7/dist-packages/dh_virtualenv/deployment.py", line 172, in install_dependencies 
    subprocess.check_call(self.pip('-r', requirements_path)) 
    File "/usr/lib/python2.7/subprocess.py", line 540, in check_call 
    raise CalledProcessError(retcode, cmd) 
subprocess.CalledProcessError: Command '['/home/echostar/dan/xlr8r/debian/ese-xlr8r/usr/share/python/ese-xlr8r/bin/python', '/home/echostar/dan/xlr8r/debian/ese-xlr8r/usr/share/python/ese-xlr8r/bin/pip', 'install', '--log=/tmp/tmpNybuqh', '-r', './requirements.txt']' returned non-zero exit status 1 
make: *** [binary] Error 1 
dpkg-buildpackage: error: debian/rules binary gave error exit status 2 

我不知道它爲什麼叫PIP與像蟒蛇前綴: 蟒蛇PIP安裝-r ./requirements.txt

Pip不是像這樣調用的python文件。 dh-virtualenv中可能存在的錯誤?

+0

我的fules文件包含空格,但我用一個選項卡替換它,但錯誤仍然存​​在,所以它與此無關。在嘗試從github穩定版本編譯dh-virtualenv本身的更新版本時,我實際上遇到了同樣的錯誤。所以這讓我有信心,這與我的系統有關。我正在運行Ubuntu 14 jessie – dlite922

+0

爲什麼這個標記爲python和flask?您的帖子中沒有Python或Flask代碼。 –

+0

我試圖debianize燒瓶應用程序。也許我不是唯一一個這樣做的人,那些有debianized python flask應用的人可以說點什麼。 – dlite922

回答

2

在構建的Python的virtualenv,PIP無法滿足項目的依賴關係之一:

沒有在所有發現的行爲==分佈1.2.5

這將有列在該項目的requirements.txt文件中。