I started to post this in another thread where still another person was talking about using checkinstall and having no problems -I suppose after building one or two packages. I thought it better to just make a separate thread so that those who still want to use it can see more about what is (not) happening with checkinstall and the installwatch libraries.
checkinstall is still broken. See the homepage for a clue:
http://checkinstall.izto.org/
The last update there to the webpage was in August and nothing has been done about the problems. Actually both checkinstall (the script) and installwatch (the library) are broken. the broken code in the all-important installwatch library actually goes back over 5 years and even with several patches(see checkinstall-1.6.0beta1 through checkinstall-1.6.0beta5 it has never been fixed. This is the part that can be avoided by using the --fstrans=no option with checkinstall. checkinstall(the script) includes some code which is incompatible with later versions of bash and coreutils. The problesm don't always show up, depending on what options you use.
src2pkg uses the installwatch libraries and I did considerable work to 'update' src2pkg to use the newer installwatch libraries. But under extensive testing I found some well-known problems and others which I never found any reference to anywhere. I found that building some packages with the newer libraries would actually remove your compiler and crt.o libraries! Not pretty... So i promptly dropped that revision of src2pkg and reverted to the former code using the old libraries which have been very stable and worked well for quite a long time.
Anyway, I recently went through all the patches, including the ones that brought in the new features. They are all by contributors and all but one were partial fixes to the broken code. Still not fixed since 2002. Here's the lines in the installwatch ChangeLog.
20061101 --
* getwcd() patch from David Brown
* utimes() support from David Brown
* access() support from David Brown
* Makefile patch from Felipe Sateler
20040613 -- version 0.7.0beta4
* _init() patch
20031214 -- version 0.7.0beta3
* fopen64() patch
20030312 -- version 0.7.0beta2 -- Thomas Rausch
* Small patch for correct symlink call reporting
20021125 -- version 0.7.0beta1 -- olivier fleurigeon
* Added translation fs support
20011122 -- version 0.6.3 -- olivier fleurigeon <olivier.fleurigeon@cegedim.fr>
* Fixed the test-installwatch test program.
20011118 -- version 0.6.2 -- Felipe Sanchez
* Fixed two other descriptor leaks that were causing the "Too many open files" problem when tracing large installations.
The entry just above was the last time the author of checkinstall(and maintainer of installwatch) made any changes himself to the installwatch libs. And in fact, the changes made in checkinstall-1.6.0xxx specifically for Slackware will leave orphaned man-pages on your system.
I recently culled through the changes and fixed a couple of other minor things in the installwatch libs since they are essential to the functioning of src2pkg. the next version of src2pkg will include the new libs -I mean the old libs with the relevant fixes. I still haven't declared it a fork yet, but I probably will before long to avoid any bad association with installwatch.
If you feel adventurous, try building libbonobo-2.14.xx and libbonobui-2.14.xxx with checkinstall and see if you lose your compiler like I did(they get moved into your package). One of the patches shown above tried to address some of the linking problems which cause this, but didsn't succeed. I'm not sure if using --fstrans=no completely avoids the problems with installwatch. The feature, when added, more than doubles the amount of code in the library. I just can't see the point of having to disable the added feature and still be unsure of the correctness of what it is doing.
I ran into some e-mails the maintainer had exchanged with the original author of installwatch where he said he was going travelling. Apparently he hasn't come back.
Since I stake my reputation on src2pkg and use it nearly everyday I have done my best to always keep it running very dependably. Knock on wood -I've never had a single report of someone's system getting whacked or locked up or anything. I went to very long lengths to include code which tries to leave your system exactly as it was before running the program -even when compiling programs or libraries which are in use at the time.
If you download the sources for checkinstall-1.6.1 you can see the ChangeLog for both checkinstall and installwatch to verify what I've written and the lack of interest of the maintainer.
Don't get me wrong -If I could, I'd go travelling myself. And I don't really care if you whack your system or not -as long as you are using checkinstall and not src2pkg. But if you are using src2pkg I care very much! I usually find problems long before releasing a version. I have used it tens of thousands of times on my machine and only twice has anything 'strange' happened. I usually run any changed code here at home for several weeks before releasing a new version, so the chances of anyone finding a serious, or much less, dangerous bug are pretty low.
I don't really care about bashing checkinstall either, since src2pkg has earned a lot of respect from quite a few in-the-know slackers. I do get tired of seeing people blindly trust someone else's software without knowing anything about it, especially in the face of total inattention from the developer.
I've made this a separate thread so that those who are interested in checkinstall or installwatch can be a little better informed when deciding whether or not to use them. If you really want to use checkinstall without any problems or orphaned files on your system, you should use checkinstal-1.5.3 as long as it will run on Slackware. The only problems you may have are related to Slackware moving towards POSIX-conformant versions of coreutils and bash -most problems which might show up have to do with syntax changes with a couple of commands like 'head' and maybe 'rm'. The old version does not compress the man-pages, but it doesn't leave orphaned files on your system, either. Be sure you understand the difference between the 'checkinstall' script, the installwatch.so library and the 'installwatch' wrapper, if you really care about these things. And make a few hundred packages, read the changelogs, diff the files and compare them with what I use and how I use them before you come around here saying 'no problems' with checkinstall. I wasn't the one who reported it broken, but I'm sure no one else has looked into the matter as much as I have...
Thanks to all who have been using src2pkg, giving feedback, reporting their results and problems and to those who recommend that others use it. Look for a new release soon!