LinuxQuestions.org
Latest LQ Deal: Latest LQ Deals
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices


Reply
  Search this Thread
Old 10-29-2007, 05:19 PM   #1
gnashley
Amigo developer
 
Registered: Dec 2003
Location: Germany
Distribution: Slackware
Posts: 4,897

Rep: Reputation: 578Reputation: 578Reputation: 578Reputation: 578Reputation: 578Reputation: 578
Why you should not use checkinstall


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!
 
Old 10-29-2007, 07:31 PM   #2
onebuck
Moderator
 
Registered: Jan 2005
Location: Summer Midwest USA, Central Illinois, Winter Central Florida
Distribution: SlackwareŽ
Posts: 13,500
Blog Entries: 32

Rep: Reputation: 2673Reputation: 2673Reputation: 2673Reputation: 2673Reputation: 2673Reputation: 2673Reputation: 2673Reputation: 2673Reputation: 2673Reputation: 2673Reputation: 2673
Hi,

Thanks gnashley for the heads up and for src2pkg!
 
Old 10-30-2007, 05:02 AM   #3
H_TeXMeX_H
LQ Guru
 
Registered: Oct 2005
Location: $RANDOM
Distribution: slackware64
Posts: 12,928
Blog Entries: 2

Rep: Reputation: 1292Reputation: 1292Reputation: 1292Reputation: 1292Reputation: 1292Reputation: 1292Reputation: 1292Reputation: 1292Reputation: 1292
Thanks, this is indeed important info. I personally use paco, and it is well maintained as well.
 
Old 10-30-2007, 11:18 AM   #4
pbhj
Member
 
Registered: Dec 2002
Location: UK
Distribution: Slackware 12; Ubuntu 7.10
Posts: 358

Rep: Reputation: 31
Incidentally if you're wanting to hunt him down he's been paying his domain name renewals (clearly) and there's address and phone info on whois (Network Solutions) which says he's in Guadalajara. Could be wrong of course. Or try http://www.asic-linux.com.mx/asic_hp/contacto.html.

Also http://asic-linux.com.mx/~izto/checkinstall/ says that a new version is due so perhaps you should try and get in touch to merge your edits?

No judgement on my behalf I've never coded anything worth fudge.
 
Old 10-30-2007, 11:59 AM   #5
shadowsnipes
Senior Member
 
Registered: Sep 2005
Distribution: Slackware
Posts: 1,442

Rep: Reputation: 73
Thanks for the info! I count myself lucky since I've only used checkinstall (1.6.1) for a couple of smaller packages thus far (I typically use Slackbuilds or manually make packages the old fashioned way). If I had tested it out more extensively as you have I'm sure my system would be mucked up.

removepkg checkinstall-1.6.1-i386-1 right now!

I'll look into src2pkg for those special cases that I used to use checkinstall for.
 
Old 10-30-2007, 01:35 PM   #6
eelriver
Member
 
Registered: May 2004
Location: san francisco
Distribution: Slackware 10.2 kernel 2.6.13, Gentoo amd64, Some mish-mash of programs that started with slack 9.0
Posts: 165

Rep: Reputation: 30
Have you presented this to Pat so he can look into replacing checkinstall with src2pkg? Many people consider the packages included with Slackware as being well tested and proven to work with. I'm sure he'd look into it if asked.
 
Old 10-30-2007, 01:54 PM   #7
H_TeXMeX_H
LQ Guru
 
Registered: Oct 2005
Location: $RANDOM
Distribution: slackware64
Posts: 12,928
Blog Entries: 2

Rep: Reputation: 1292Reputation: 1292Reputation: 1292Reputation: 1292Reputation: 1292Reputation: 1292Reputation: 1292Reputation: 1292Reputation: 1292
checkinstall is included with slackware ? are you sure ? I don't see it on here.
 
Old 10-30-2007, 02:18 PM   #8
BCarey
Senior Member
 
Registered: Oct 2005
Location: New Mexico
Distribution: Slackware
Posts: 1,639

Rep: Reputation: Disabled
Quote:
Originally Posted by H_TeXMeX_H View Post
checkinstall is included with slackware ? are you sure ? I don't see it on here.
It's in /extra

Brian
 
Old 10-30-2007, 02:22 PM   #9
acummings
Member
 
Registered: Jul 2004
Distribution: Slackware
Posts: 615

Rep: Reputation: 50
http://slackware.mirrors.tds.net/pub.../checkinstall/

The folder remains. But not checkinstall, thus:

http://slackware.mirrors.tds.net/pub.../ChangeLog.txt

(the 2nd or middle listing below)

Sat Jun 30 16:06:18 CDT 2007
n/inetd-1.79s-i486-8.tgz: Fixed a couple /opt/kde/ paths in inetd.conf.
Thanks to Stas Boukarev for pointing them out.
extra/checkinstall/: This had to be removed because it does not work with the
latest coreutils. There is a readme in this directory with the URL to
checkinstall's homepage, so if you must use checkinstall poll the site
periodically to see if a version comes out that fixes this issue.
extra/slacktrack/slacktrack-1.32-i486-1.tgz: Merged the newest version. Note
that this works, but must touch all the files on the system. This is because
installwatch.so does not work with the newest coreutils. However, a new
version will probably be created soon that does, so check the slacktrack
page (or here, on ftp sites) for possible full-functionality upgrades.
 
Old 10-30-2007, 02:22 PM   #10
pwc101
Senior Member
 
Registered: Oct 2005
Location: UK
Distribution: Slackware
Posts: 1,847

Rep: Reputation: 128Reputation: 128
Quote:
Originally Posted by H_TeXMeX_H View Post
checkinstall is included with slackware ? are you sure ? I don't see it on here.
It seems it was in /extra in Slack 11, but it seems to have been dropped in 12. At least, I found no mention of it in any of the PACKAGES.TXT files in either /extra, /pasture or the main package directory.

edit: beaten to it!

Last edited by pwc101; 10-30-2007 at 02:23 PM. Reason: comment
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Does anyone have checkinstall?? Synt4x_3rr0r Linux - Software 3 01-15-2006 02:08 PM
Checkinstall in 5.1.1 Kroenecker Linux From Scratch 5 07-13-2004 12:37 PM
checkinstall... marsques Linux - Software 3 05-25-2004 01:56 PM
Using 'checkinstall' gonzalo76 Slackware 20 05-20-2004 07:09 PM
Checkinstall ... durden2.0 Linux - Software 1 07-02-2003 03:01 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware

All times are GMT -5. The time now is 03:25 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration