Manually remove a broken package in Ubuntu/Debian

Recently I’ve had a problem with one of the packages (“deployment-daemon-zend-server”) that went broken after system upgrade, so that no updates or even new software could be installed. Here’s an error message I kept getting:
dpkg: error processing deployment-daemon-zend-server (--remove):
subprocess installed pre-removal script returned error exit status 127

That’s a nasty problem cause it has to be solved per hand – no automatic fixes via update manager and software center worked for me, I also tried the force removal of the package this way:
sudo dpkg --remove --force-remove-reinstreq PACKAGE_NAME
And it didn’t work either. So the solution here is to find all the package files, move them to a temporary directory and then force-remove the package. Following code did the job (replace PACKAGE_NAME with the name of the broken package):
sudo mv /var/lib/dpkg/info/PACKAGE_NAME.* /tmp/
sudo dpkg --remove --force-remove-reinstreq PACKAGE_NAME

How To Use Contao Search Engine

Don’t get me wrong, I think that Contao is a great system, it’s just some of its functions are kinda counterintuitive and search engine is one of them. Furthermore it’s not easy to find clear information as to how it works in later versions of the CMS (in this case I used Contao 2.10.1).

So you have a Contao website that needs search and you know Contao has built-in search engine, you just have to “turn it on”. You check out the official docs and see that there is only one module called Search engine that “Adds a search form to a page”.

Sounds simple, you create the module, put it into your layout or article, go to your website and voila, it works. One problem though, search results are shown right near your search box, which is in most cases not what you want. What you probably want, is a search box on all your pages and a search results page that shows, well, search results – that’s what Google, or say WordPress do.

Obviously Search engine module doesn’t just add a search form to a page, it also shows results, so what we need to do is manually divide the “form showing” and “results showing” parts. Here is how it’s done: Continue reading