2012-03-29 58 views
1

我已經創建了一個包含可執行文件的目錄結構。以下是樹的輸出:創建具有依賴關係的.deb文件的問題

program-5 
├── debian 
│   ├── DEBIAN 
│   │   ├── changelog 
│   │   ├── compat 
│   │   ├── control 
│   │   ├── copyright 
│   │   ├── docs 
│   │   ├── emacsen-install.ex 
│   │   ├── emacsen-remove.ex 
│   │   ├── emacsen-startup.ex 
│   │   ├── init.d.ex 
│   │   ├── manpage.1.ex 
│   │   ├── manpage.sgml.ex 
│   │   ├── manpage.xml.ex 
│   │   ├── menu.ex 
│   │   ├── postinst.ex 
│   │   ├── postrm.ex 
│   │   ├── preinst.ex 
│   │   ├── prerm.ex 
│   │   ├── program.cron.d.ex 
│   │   ├── program.debhelper.log 
│   │   ├── program.default.ex 
│   │   ├── program.doc-base.EX 
│   │   ├── README.Debian 
│   │   ├── README.source 
│   │   ├── rules 
│   │   └── watch.ex 
│   └── usr 
│    └── local 
│     └── include 
│      └── myprog 
│       ├── file.txt 
└── program *(executable)* 

然而,這是不是與「file.txt的」工作。我希望這個文件進入/ usr/local/include/myprog /但是沒有發生。它給我的錯誤:

(Reading database ... 
(Reading database ... 5% 
... 
(Reading database ... 100% 
(Reading database ... 204105 files and directories currently installed.) 
Unpacking program-v5 (from .../program-5_1.4.2_i386.deb) ... 
dpkg: error processing /tmp/program-5/debian/program-5_1.4.2_i386.deb (--install): 
trying to overwrite '/usr/local/include/myprog/file.txt', which is also in package program2 20120329-1 
dpkg-deb (subprocess): data: internal gzip write error: Broken pipe 
dpkg-deb: error: subprocess <decompress> returned error exit status 2 
dpkg-deb (subprocess): failed in write on buffer copy for failed to write to pipe in copy: Broken pipe 
Errors were encountered while processing: 
/tmp/program-5/debian/program-5_1.4.2_i386.deb 

任何人都可以提供任何建議嗎?

+0

非常感謝您。 – 2012-03-29 14:50:57

回答

4

錯誤很明顯:您嘗試安裝program-v5,它會嘗試覆蓋已存在並由包program2所有的文件。

所以,你需要或者

  • 手動安裝program-v5,或

  • 之前卸載program2添加所需Conflicts:Provides:Replaces:debian/control - 請參閱該文檔。

最後,對於包,/usr是一種更自然的選擇,然後/usr/local

2

從錯誤消息:

trying to overwrite '/usr/local/include/myprog/file.txt', which is also in package program2

它看起來像你有一個包program2已經安裝在系統中已經安裝了此文件usr/local/include/myprog/file.txt上。

您應該先卸載該軟件包dpkg -r program2