2016-01-09 8 views
0

первичный выпуск, как указано ниже:Я использую dpkg-buildpackage, чтобы сделать пакет ubuntu, но когда dpkg -i install не распространяется на предыдущий пакет с низкой версией, возвращайте ошибку, почему?

Как изменить файл управления dh_make производит для покрытия пакета с низкой версией?

причина этой проблемы, как показано ниже:

Я использую Ubuntu 14,04 версии для компиляции GStreamer 1.6.2, но эта версия убунта принести свой собственный GStreamer 1.2.4 пакета .I использовать DPKG -r или способности удалите команды, чтобы не удалить эту версию gstreamer 1.2.4, потому что в этом пакете существует много других зависимостей релевантности. У меня нет способа, поэтому я просто хочу сделать пакет версии gstreamer 1.6.2 для удобной установки для покрытия версии gstreamer 1.2.4. командой dh_make и dpkg-buildpackage Я делаю этот пакет 1.6.2.

я строй команды GStreamer 1.6.2 пакета установки, как показано ниже:

(1)dh_make -e [my_email_address] -f ../gstreamer-1.6.2.tar.gz 
(2)dpkg-buildpackage 
(3)dpkg -i ../gstreamer_1.6.2-1_amd64.deb 

, но когда я использую Dpkg -i команды, чтобы установить его мое терминальное окно возвращает ошибку, как показано ниже:

[email protected]:~/gstreamer_1.6.2/gstreamer-1.6.2# dpkg -i ../gstreamer_1.6.2-1_amd64.deb 
Selecting previously unselected package gstreamer. 
(Reading database ... 172213 files and directories currently installed.) 
Preparing to unpack ../gstreamer_1.6.2-1_amd64.deb ... 
Unpacking gstreamer (1.6.2-1) ... 
dpkg: error processing archive ../gstreamer_1.6.2-1_amd64.deb (--install): 
trying to overwrite '/usr/bin/gst-typefind-1.0', which is also in package gstreamer1.0-tools 1.2.4-0ubuntu1 
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe) 
Errors were encountered while processing: 
../gstreamer_1.6.2-1_amd64.deb 

Я не понимаю, почему эта манипуляция не покрывает низкую версию пакета gstreamer 1.2.4? Я хочу знать, что после того, как dh_make создаст файл управления Как изменить параметр или свойство в нем для покрытия низкой версии пакета 1.2.4?

Если у кого-нибудь есть идеи для меня, спасибо заранее.

ответ

0

Из-за внешнего вида сообщения об ошибке проблема заключается в том, что ваш новый пакет gstreamer не просто заменяет gstreamer, а gstreamer1.0-tools.

Что касается dpkg и apt, то gstreamer1.0-tools - это совершенно другой пакет, поэтому ему необходимо явно указать как конфликты, так и заменить зависимость в файле debian/control. Если какие-либо другие пакеты зависят от gstreamer1.0-tools, вам также может потребоваться добавить задержка обеспечения, чтобы они могли видеть ваш пакет как действительную замену для одного или обоих пакетов, которые он не заменяет.

Я думаю, что первоначальная причина заключается в том, что debian и/или ubuntu решили разделить пакет большого gstreamer на несколько небольших пакетов deb, которые могут быть установлены независимо, где, когда ваша установка создает его в один монолитный пакет deb.

Если это так, возможно, другой вариант заключается в том, чтобы увидеть, можно ли комбинировать новую версию восходящего пакета с патчами debian и управляющими файлами, которые используются для сборки версии в репозиториях, та же структура, что и в репозиториях.