I'm running kubuntu 14.04 and don't plan on upgrading until at least these summer holidays. The libav packages provided are somewhat outdated (two major versions behind) and produce unsatisfying output for some of my use-case. For this reason, I tried building and installing from source, which proved to solve the issues I had. I wish to keep it that way (I'm fairly experienced with git and shouldn't have problems updating my snapshot and keeping the deps up to date), and now I want to uninstall the several libav packages I have in order to do a bit of cleanup and prevent weird conflicts.
When I try to do that, apt-get wants to remove a whole bunch of other (meta)-packages, because they rely on libav (vlc, dolphin, kubuntu-desktop (!), etc).
How can I rebind all those applications to the new libav executables I built (I guess it should be fairly direct if install them globally with sudo make install
), and how can I then safely uninstall the out of date packages without breaking my setup?
Edit: following @MoonSweep advice, I tried building an equivs package, but I have issues getting it done: here's the ouput if I try to remove the libav packages with no equivs package to fullfill the deps:
$sudo apt-get remove libavcodec-* libavformat* libavutil*
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'libavcodec-dev' for regex 'libavcodec-*'
[...more regex gibberish...]
The following packages were automatically installed and are no longer required:
libechonest2.1 libftgl2 libglew1.10 libprojectm2 libprotobuf8 libqxt-core0
libqxt-gui0 projectm-data
Use 'apt-get autoremove' to remove them.
The following packages will be REMOVED:
baloo clementine dolphin gstreamer1.0-libav gstreamer1.0-plugins-bad
kubuntu-desktop libavcodec-dev libavcodec-extra libavcodec-extra-54
libavformat-dev libavformat54 libavutil-dev libavutil52 libbaloowidgets4
libchromaprint-dev libchromaprint0 libk3b6-extracodecs libkfilemetadata4
libopencv-contrib2.4 libopencv-highgui2.4 libopencv-legacy2.4
libopencv-objdetect2.4 libswscale-dev libswscale2
nepomuk-core-ffmpegextractor phonon-backend-vlc vlc vlc-nox
vlc-plugin-notify vlc-plugin-samba
0 upgraded, 0 newly installed, 30 to remove and 0 not upgraded.
After this operation, 64.2 MB disk space will be freed.
Do you want to continue? [Y/n]
Here's the equivs package I installed
### Commented entries have reasonable defaults.
### Uncomment to edit them.
# Source: <source package name; defaults to package name>
Section: misc
Priority: optional
# Homepage: <enter URL here; no default>
Standards-Version: 3.9.2
Package: libav-source
# Version: <enter version here; defaults to 1.0>
# Maintainer: Your Name <[email protected]>
# Pre-Depends: <comma-separated list of packages>
# Depends: <comma-separated list of packages>
# Recommends: <comma-separated list of packages>
# Suggests: <comma-separated list of packages>
Provides: libavcodec-extra,libavcodec-extra-54,libavformat,libavformat54,libavutil52,libswscale2,libswscale2,gstreamer1.0-libav,libavcodec-dev,libavformat-dev,libavutil-dev,libswscale-dev
# Replaces: <comma-separated list of packages>
# Architecture: all
# Copyright: <copyright file; defaults to GPL2>
# Changelog: <changelog file; defaults to a generic changelog>
# Readme: <README.Debian file; defaults to a generic one>
# Extra-Files: <comma-separated list of additional files for the doc directory>
# Files: <pair of space-separated paths; First is file to include, second is destination>
# <more pairs, if there's more than one file to include. Notice the starting space>
Description: <short description; defaults to some wise words>
long description and info
.
second paragraph
But it doesn't seem to provide enough, as the previous remove command has the exact same result. What am I doing wrong?
ldd /usr/lib/vlc/plugins/codec/libavcodec_plugin.so |grep libavcodec
What's listed on the left is what it has to find to use/work. So in a nut shell any source that uses libav libs would have to be rebuilt. Right now the only thing using your libav11 shared libs are binaries you built like avconv, avplay, ect.