1

I have used checkinstall to replace the old version, but the other packages which depend on it report breaks or do not accept my new version.

My recompiled package is ppp(Point-to-Point Protocol Daemon), because of a security issue in a project I am working on that requires the package to be updated to 2.4.8. However precompiled-binary on ubuntu repo has not had that version yet. So I pull the source code, config, make and checkinstall. But since then apt complain me having umet dependencies.

Reading package lists... Done
Building dependency tree
Reading state information... Done
You might want to run 'apt --fix-broken install' to correct these.
The following packages have unmet dependencies:
 network-manager : Breaks: ppp (>= 2.4.7-3~) but 2.4.8-1 is to be installed
 network-manager-pptp : Depends: ppp (< 2.4.7-3~) but 2.4.8-1 is to be installed
E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).

I really don't want to uninstall network-manager and manually install it along with hundreds of dependencies just for one single package need to be different version.

My question is how can we tell the package manager to un-manage the packages and let me live with my sin?

1 Answers1

0

Not a direct solution, but here is what I did:

You can't by pass requirements of deb packages. So I end up remove/purge the repo's version of network-manager, then compile network-manager from source code along with some other libraries it needs. Then use checkinstall to generate the deb package of network-manager locally, store that deb package somewhere for house keeping.

The trick is install the most the the library which my new network-manger needs using apt, then mark the libs to hold using apt-mark so the apt will not think I am keeping the unnecessary library and autoremove will not remove them.

Of course, in the end I need to mark all locally built packages to hold otherwise apt upgrade in the future will break them.