2012-03-29 3 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

Спасибо вам обоим очень много. –

ответ

4

Ошибка довольно ясна: вы пытаетесь установить program-v5 и пытаетесь перезаписать файл, уже существующий и принадлежащий пакету program2.

Так что вам нужно либо

  • вручную удалить program2 перед установкой program-v5 или

  • добавить требуемое 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

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