LinuxQuestions.org
Download your favorite Linux distribution at LQ ISO.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Linux From Scratch
User Name
Password
Linux From Scratch This Forum is for the discussion of LFS.
LFS is a project that provides you with the steps necessary to build your own custom Linux system.

Notices


Reply
  Search this Thread
Old 07-12-2004, 10:14 AM   #1
Kroenecker
Member
 
Registered: May 2003
Location: The States
Distribution: Gentoo
Posts: 245

Rep: Reputation: 30
Checkinstall in 5.1.1


Ive just finished the LFS 5.1.1 book and want to use a package manager for blfs. Ive chosen to try a Slackware style management system.

Unfortunately, Checkinstall makes a foo.tgz which has the following in install/doinst.sh (at least when I run it as root in my new lfs environment ie properly chroot to the new location)

#
# doinst.sh, auto-generated by checkinstall-1.6.0beta3
#

echo
cat /install/description

sed '/PACKAGE LOCATION/r /install/description' < "/var/log/packages/jpeg-6b-i386-1" > description.tmp
mv description.tmp "/var/log/packages/jpeg-6b-i386-1"
rm /install/description

#!/bin/sh
#
# postinstall script, created by checkinstall-1.6.0beta3
#
echo
if ! egrep "^/usr/local/lib *$" /etc/ld.so.conf &> /dev/null; then
echo "Adding "/usr/local/lib" to /etc/ld.so.conf"
echo /usr/local/lib >> /etc/ld.so.conf
fi
ldconfig
( cd . ; rm -rf ibjpeg.so.62 )
( cd . ; ln -sf libjpeg.so.62.0.0 ibjpeg.so.62 )
( cd . ; rm -rf ibjpeg.so )
( cd . ; ln -sf libjpeg.so.62.0.0 ibjpeg.so )

Do you see what is funky about this? I end up with two soft links ibjpeg.so* at the base of my directory tree. I tried running checkinstall on another program (tiff) and ended up again with two soft links whose first letter is removed. Naturally when I ran installpkg, I ended up with these softlinks at the base of my file system.

I have been looking through the script for checkinstall, but it is still a little bit over my head. I did manage to edit one section which was causing the lib directory to have one too many / ie //usr/local/lib. That was simple. I havent been able to find the part of the script, however, that appends the last 4 lines...I guess I could write my own little script to try to edit those lines, but that seems really...well, I would rather fix checkinstall itself.

So if you have free time and want to try it out yourself. That would be appreciated.

Last edited by Kroenecker; 07-12-2004 at 10:22 AM.
 
Old 07-13-2004, 12:46 AM   #2
Cerbere
Member
 
Registered: Dec 2002
Location: California
Distribution: Slackware & LFS
Posts: 799

Rep: Reputation: 33
Have you checked out this hint?

It worked fine for me, but only if I stuck with the old versions of both pkgtools and checkinstall that were listed in the hint.

Check out this thread for more info.

Enjoy!
--- Cerbere
 
Old 07-13-2004, 04:24 AM   #3
Kroenecker
Member
 
Registered: May 2003
Location: The States
Distribution: Gentoo
Posts: 245

Original Poster
Rep: Reputation: 30
Oh that would probably be it. Thanks for reminding me not to hang myself on the bleeding edge

Will check it out.
 
Old 07-13-2004, 10:06 AM   #4
Kroenecker
Member
 
Registered: May 2003
Location: The States
Distribution: Gentoo
Posts: 245

Original Poster
Rep: Reputation: 30
Ahh well, even with a fresh install of checkinstall version 1.3.2, which is what is used in the LFS hint, I still get those stray simlinks at the base of my partition.

I guess that I will just have to edit that myself when I install packages (poor me, I know) since I still dont have the skills to figure our the shell script in checkinstall.

Again, if anyone can help me, that would be appreciated.

Thanks.

Just to show the message that is displayed when I remove a package:

--> Deleting symlink /./ibjpeg.so
--> Deleting symlink /./ibjpeg.so.62
--> Deleting /usr/doc/jpeg-6b/README
--> Deleting /usr/local/bin/cjpeg
--> Deleting /usr/local/bin/djpeg
--> Deleting /usr/local/bin/jpegtran
--> Deleting /usr/local/bin/rdjpgcom
--> Deleting /usr/local/bin/wrjpgcom
--> Deleting /usr/local/include/jconfig.h
--> Deleting /usr/local/include/jerror.h
--> Deleting /usr/local/include/jmorecfg.h
--> Deleting /usr/local/include/jpeglib.h
--> Deleting /usr/local/lib/libjpeg.a
--> Deleting /usr/local/lib/libjpeg.la
--> Deleting /usr/local/lib/libjpeg.so.62.0.0
more...etc etc

What is important is that the two top symlinks are making me frustrated!

GRRRR!

How are those created in the foo.tgz package? What is up???

Are symlinks just no good with checkinstall when doing slackware package management? If so, please let me know so that I dont continue to get frustrated over this.

Onegaishimasu!


Last edited by Kroenecker; 07-13-2004 at 10:45 AM.
 
Old 07-13-2004, 10:56 AM   #5
Kroenecker
Member
 
Registered: May 2003
Location: The States
Distribution: Gentoo
Posts: 245

Original Poster
Rep: Reputation: 30
Ok. Im thinking that what is wrong has to do with the makepkg script. I may figure this out just yet!
 
Old 07-13-2004, 11:37 AM   #6
Kroenecker
Member
 
Registered: May 2003
Location: The States
Distribution: Gentoo
Posts: 245

Original Poster
Rep: Reputation: 30
Ok. When I do a regular old make install with the libjpeg-6b package I get the following:

stuff....

./libtool --mode=install /bin/install -c libjpeg.la /sources/beyond/1/lib/libjpeg.la
/bin/install -c .libs/libjpeg.so.62.0.0 /sources/beyond/1/lib/libjpeg.so.62.0.0
rm -f /sources/beyond/1/lib/libjpeg.so.62 /sources/beyond/1/lib/libjpeg.so
(cd /sources/beyond/1/lib && ln -s libjpeg.so.62.0.0 libjpeg.so.62)
(cd /sources/beyond/1/lib && ln -s libjpeg.so.62.0.0 libjpeg.so)
/bin/install -c libjpeg.la /sources/beyond/1/lib/libjpeg.la
/bin/install -c .libs/libjpeg.a /sources/beyond/1/lib/libjpeg.a
ranlib /sources/beyond/1/lib/libjpeg.a
chmod 644 /sources/beyond/1/lib/libjpeg.a
PATH="/bin:/usr/bin/:/sbin:/usr/sbin:/sbin" ldconfig -n /sources/beyond/1/lib

more stuff...

Well, the relavent bit (I think) is the lines:

(cd /sources/beyond/1/lib && ln -s libjpeg.so.62.0.0 libjpeg.so.62)
(cd /sources/beyond/1/lib && ln -s libjpeg.so.62.0.0 libjpeg.so)

which is the softlinks that are made in the /dir/to/libs

Now, makepkg uses the following:

make_install_script() {
COUNT=1
LINE="`sed -n "$COUNT p" $1`"
while [ ! "$LINE" = "" ]; do
LINKGOESIN="`echo "$LINE" | cut -f 1 -d " "`"
LINKGOESIN="`dirname $LINKGOESIN`"
LINKNAMEIS="`echo "$LINE" | cut -f 1 -d ' '`"
LINKNAMEIS="`basename "$LINKNAMEIS"`"
LINKPOINTSTO="`echo "$LINE" | cut -f 3 -d ' '`"
echo "( cd $LINKGOESIN ; rm -rf $LINKNAMEIS )"
echo "( cd $LINKGOESIN ; ln -sf $LINKPOINTSTO $LINKNAMEIS )"
COUNT=`expr $COUNT + 1`
LINE="`sed -n "$COUNT p" $1`"
done
}

Oh well, Im tired. Get back to it later.
 
  


Reply



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
Checkinstall error kater Slackware 6 01-08-2005 02:12 AM
Checkinstall and descriptions jrdioko Slackware 6 06-14-2004 03:14 PM
checkinstall... marsques Linux - Software 3 05-25-2004 12:56 PM
Using 'checkinstall' gonzalo76 Slackware 20 05-20-2004 06:09 PM
Checkinstall ... durden2.0 Linux - Software 1 07-02-2003 02:01 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Linux From Scratch

All times are GMT -5. The time now is 06:07 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
Open Source Consulting | Domain Registration