I'm using checkinstall (1.6.2) to create a Debian package from compiled binaries. "make install" copies two files as follows:

install -m 0755 gmediarenderer /etc/init.d
install -m 0644 -T gmediarenderer.conf /etc/default/gmediarenderer

Both of these files are correctly incorporated into the .deb package created by checkinstall. The standard behaviour for files to be installed in /etc is for files installed here not to be overwritten when changed by the user. However, dpkg always overwrites them with the files from the package, and "dpkg -r" always removes the customised files.

Can anyone explain why this is happening, and how I might make it stop?

Edit: Changing the "install" commands to raw "cp" commands makes no difference (not that I really expected it to).

  • dpkg should not overwrite files in normal usage. I would expect it to exit with an error. Can you display the session? – Faheem Mitha Feb 2 '14 at 18:54
  • Checkinstall isn't marking the package as a conffile during the build. See the conffile section of debian policy – jordanm Feb 2 '14 at 19:02

I think the answer here is that packages created with checkinstall are hacks, and shouldn't be expected to behave in the same way as proper Debian packages. When I went away and created the package properly using debhelper, this was no longer a problem.

  • That's a sensible observation. :-) – Faheem Mitha Feb 19 '14 at 19:42

checkinstall belongs not to distribution packages and does not respect dependencies, or in your case it does not ask before overwriting. However there are some switches like interactive install, that could help.

Possible workaround is to configure your package with a different prefix:

 ./configure --prefix=/yourpath
  • The problem is not that checkinstall packages are overwriting files from other packages. It's overwriting config files which it installed, in a way that Debian packages aren't really supposed to. In any case, I decided to do it the correct way and created a real Debian package using debhelper instead, and the problem (and several others) went away. – Christi Feb 19 '14 at 19:33
  • Therefore I wrote does not respect dependencies. It's good for you if you did a proper Debian package. This is way better for most uses. – user55518 Feb 19 '14 at 20:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.