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.

zhang007z
  • 115
  • 7

1 Answers1

0

From the looks of the error message the issue is that your new gstreamer package doesn't just replace gstreamer but gstreamer1.0-tools too.

As far as dpkg and apt are concerned gstreamer1.0-tools is a completely different package and so would need explicitly listing as both a conflicts and replaces dependency in the debian/control file. If any other packages depend on gstreamer1.0-tools you may also need to add a provides depenancy so they can see your package as a valid replacement for either or both packages it's not replacing.

What I expect is the original cause is that debian and/or ubuntu have chosen to split the large gstreamer package into multiple smaller deb packages which can be installed independently, where as your setup is building it into one monolithic deb package.

If this is the case another option would possibly be to see if you can combine the new version of the upstream package into the debian patches and control files that are used for the building the version in the repositories as this would then have the same structure as ones in the repositories.

staircase27
  • 267
  • 3
  • 12