Upstream release 0.2

Asked by JoseStefan

Why is this package trailing behind so much in debian/ubuntu?

opus-tools 0.2 was released on 2018-09-18

This was before any of the freeze timeline for Buster, which was "testing" at the time and now is "stable":
2019-01-12 Transition freeze
2019-02-12 Soft-freeze
2019-03-12 Full-freeze
2019-07-06 Initial release

We missed that cycle, but we are still in time for the current "testing", Bullseye.

I tried to make my own deb package by downloading the source and replacing the matching files, but was unsuccessful. I think the dependencies changed and I had a problem with that.

Question information

Language:
English Edit question
Status:
Solved
For:
Ubuntu opus-tools Edit question
Assignee:
No assignee Edit question
Solved by:
JoseStefan
Solved:
Last query:
Last reply:
Revision history for this message
Manfred Hampl (m-hampl) said :
#1

Ubuntu is following Debian, and Debian also has only version 0.1.10

There is already a bug report in Debian - https://bugs.debian.org/910261 - and when that is completed, Ubuntu will follow.

Revision history for this message
JoseStefan (josestefan) said :
#2

Thanks for the response. One of the replies there gave me more insight on why my compile failed. I don't have that much experience compiling and the dependencies seem to have in fact changed:

"In this release the Opus decoder opusdec has been converted to use the opusfile library, and the Opus encoder opusenc has been converted to use the libopusenc library."

Revision history for this message
JoseStefan (josestefan) said :
#3

I've managed to compile my own. In case this answer can help someone else, I'll summarize.

I got the sources from 20.04 lts, using apt-get source. Made the changes I wanted (continued below), and last I used:
debuild -b -uc -us

These were the changes:
For libopusfile0 which exists in Ubuntu, I simply downloaded the Ubuntu sources with auto-extraction disabled. Then extract the source of the new release instead. Finally add the patch from Ubuntu to get the deb control files, etc.

You can do something like:
dch -n "Updated to upstream version 0.11"

To update the changelog and add a minor versioning difference so package version numbers don't match and conflict. It will look like 0.9* to ubuntu so when 0.11 is officially out it would update your package.

Finally do the debuild command.

For libopusenc0, which doesn't exist in ubuntu. I based the whole structure on libopusfile and hoped for the best. I replaced any occurence of the following strings:
"s/libopusfile/libopusenc/g"
"s/opusfile/libopusenc/g"
(Order is important)

I updated the changelog manually. Which I don't even know if it matters much. I based it one the oldest entry of the opusfile changelog, and removed all the other entries. And then used the debuild command.

You install the corresponding -dev packages and base packages, before proceeding to do opus-tools.

And then for opus-tools the steps are very similar to what I did with libopusfile0. which is use the source in ubuntu, replace all the files. and do the changelog and small versioning. This one doesn't need the text replacements like libopusenc does.

Finally install the generated .deb

And alternate method would be to use make. But I find using debs cleaner.

Output of commands:
$ opusinfo -V
opusinfo from opus-tools 0.2
$ opusenc -V
opusenc opus-tools 0.2 (using libopus 1.3.1)
Copyright (C) 2008-2018 Xiph.Org Foundation
$ opusdec -V
opusdec opus-tools 0.2 (using libopus 1.3.1)
Copyright (C) 2008-2018 Xiph.Org Foundation
$ opusrtp -V
opusrtp opus-tools 0.2
Copyright (C) 2012-2018 Xiph.Org Foundation