Ubuntu: Correct protocol for requesting an update to a buggy package in ubuntu 14.04 LTS



Question:

I'm using Ubuntu 14.04.5 and for a long time there has been a very minor issue with emacs and dictionaries-common. In short, the version of dictionaries-common that ships with Ubuntu 14.04.5 is dictionaries-common 1.20.5, and when the version of emacs that ships with Ubuntu 14.04.5 starts, an error is generated in the emacs messages file:

Error while loading 50dictionaries-common: Symbol's value as variable is void: debian-aspell-only-dictionary-alist  

This is a known bug in dictionaries-common 1.20.5. However, this bug was fixed a while ago, in e.g. dictionaries-common 1.22.6 .

I (perhaps naively) suspect that upgrading dictionaries-common to a more recent stable version would be a relatively simple way of making the problem go away. However if I've understood correctly, the version of dictionaries-common in backports is still 1.20.5:

$ sudo apt-get install -t trusty-backports dictionaries-common  

reports

dictionaries-common is already the newest version.  

If I want to fix this issue, without upgrading my version of Ubuntu, what are my options? I feel like I should somehow report this to the Ubuntu devs because this is a (extremely low-priority) bug in a stable LTS version of ubuntu which is not mentioned (as far as I can see) in pending SRUs so in an ideal world I would somehow report the issue and it would be fixed. On the other hand at the end of the day I would imagine that a dictionaries package is hardly likely to break other packages (famous last words) and perhaps I should just take the bull by the horns and update dictionaries-common to 1.22.6 or later by myself. However I do not know how to do this and furthermore I do not know if it is wise behaviour. I downloaded a tar.gz file from Launchpad and I could go ahead and try and compile and install, but I am concerned that I would then actually be breaking the package manager system completely. Is this not advised? How is one supposed to proceed in this sort of situation?


Solution:1

Many thanks to muru for encouraging me not just to compile the source but to actually make a package. My understanding of the situation is that creating a package from source solves the problem I was worried about (breaking the package system) because (I think) the idea is that all the dependencies I need are dealt with by the system.

Here's exactly what I did in my case. As well as downloading dictionaries-common_1.22.6.tar.gz from launchpad I also downloaded the dsc file dictionaries-common_1.22.6.dsc, as muru suggested. I then followed the instructions here:

http://blog.riamaria.com/99/what-to-do-with-a-dsc-file-dpkg/

More precisely, the plan is to make a debian package

dictionaries-common_1.22.6_all.deb  

and then install this on my system.

Before I began I had to install dpkg-dev so I can make packages.

I then ran

dpkg-source -x dictionaries-common_1.22.6.dsc   

and this created a new directory dictionaries-common-1.22.6 which I cd'ed into. Within this directory I tried

dpkg-buildpackage -rfakeroot -b  

but the first time I ran this command it failed with the error

dpkg-checkbuilddeps: Unmet build dependencies: debhelper (>= 7) quilt (>= 0.40) docbook-dsssl jade w3m slice recode  dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting  

What's happening here is that I need to install some more packages on my system in order to build dictionaries-common. So I installed these packages using apt-get and then tried again. Of course this is not guaranteed to work -- perhaps the default versions of these packages in 14.04 wouldn't be enough. But I was lucky -- they were. The second time I tried the dpkg-buildpackage command it was successful. I was unable to sign the package as the package maintainer, unsurprisingly, because I am not the package maintainer and I don't know the package maintainer's secret key. But I don't think this bothers me.

The upshot was that now back in the directory where I was doing all this I had a new file

dictionaries-common_1.22.6_all.deb  

which I successfully installed with

$ sudo dpkg -i dictionaries-common_1.22.6_all.deb  

My error in emacs is gone!


Note:If u also have question or solution just comment us below or mail us on toontricks1994@gmail.com
Previous
Next Post »