0

primary issue as below:

how to modify the control file dh_make produces for covering low version package ?

the cause of this issue as below:

I use ubuntu 14.04 version for compiling gstreamer 1.6.2,but this version of ubuntu bring its own gstreamer 1.2.4 package .I use dpkg -r or aptitude remove commands to no remove this gstreamer 1.2.4 version, because this package exists many other dependence of relevance.I have no way,so I think to merely make gstreamer 1.6.2 version package to conveniently install to cover gstreamer 1.2.4 version. by dh_make and dpkg-buildpackage command I make this 1.6.2 package .

I construct commands of gstreamer 1.6.2 install package as below:

(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

but when I use dpkg -i command to install it my terminal window returns a error as below:

root@ubuntu:~/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

I don't understand that why this manipulation doesn't cover low version of gstreamer 1.2.4 package? I want to know that after dh_make produce the control file How to modify parameter or property in it for covering low version of 1.2.4 package?

if anybody have any idea for me,thank you in advance very much.

4

1 回答 1

0

从错误消息的外观来看,问题在于您的新 gstreamer 包不仅替换了 gstreamer,而且还替换了 gstreamer1.0-tools。

就 dpkg 和 apt 而言,gstreamer1.0-tools 是一个完全不同的软件包,因此需要在 debian/control 文件中明确列出冲突和替换依赖项。如果任何其他软件包依赖于 gstreamer1.0-tools,您可能还需要添加提供依赖项,以便他们可以将您的软件包视为其未替换的一个或两个软件包的有效替代品。

我所期望的最初原因是 debian 和/或 ubuntu 选择将大型 gstreamer 包拆分为多个较小的 deb 包,这些包可以独立安装,而您的设置将其构建为一个整体 deb 包。

如果是这种情况,另一种选择可能是查看您是否可以将上游软件包的新版本合并到用于在存储库中构建版本的 debian 补丁和控制文件中,因为这将具有相同的结构存储库中的那些。

于 2016-04-15T08:04:12.400 回答