1

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).

2
  • dpkg should not overwrite files in normal usage. I would expect it to exit with an error. Can you display the session? Feb 2, 2014 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, 2014 at 19:02

2 Answers 2

1

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.

1
  • That's a sensible observation. :-) Feb 19, 2014 at 19:42
0

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
2
  • 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, 2014 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, 2014 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.