LinuxQuestions.org
Welcome to the most active Linux Forum on the web.
Home Forums Tutorials Articles Register
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 03-20-2005, 01:17 PM   #1
dockpunk
Member
 
Registered: Dec 2004
Distribution: slackware 12
Posts: 67

Rep: Reputation: 15
package building


just curious on the best way to build my own packages. ive read the tutorial on linuxpackages and its seems simple enough, but what are the pros and cons of using either makepkg or checkinstall?
 
Old 03-20-2005, 03:47 PM   #2
mcd
Member
 
Registered: Aug 2003
Location: Denver, CO
Distribution: CentOS, Debian
Posts: 825

Rep: Reputation: 33
i swear by checkinstall. lets me compile source packages for my machine, but keep track of them easily since checkinstall puts an entry in /var/log/packages. honestly, it's brilliant.
 
Old 03-20-2005, 04:57 PM   #3
win32sux
LQ Guru
 
Registered: Jul 2003
Location: Los Angeles
Distribution: Ubuntu
Posts: 9,870

Rep: Reputation: 380Reputation: 380Reputation: 380Reputation: 380
this is an honest, non-sarcastic question:

what's the purpose of checkinstall?? is it like a "package creation made easy" sorta thing??

i'm just curious cuz i've never really needed anything besides makepkg and i actually enjoy making my own build scripts...
 
Old 03-20-2005, 05:31 PM   #4
mcd
Member
 
Registered: Aug 2003
Location: Denver, CO
Distribution: CentOS, Debian
Posts: 825

Rep: Reputation: 33
i've never used makepkg so i can't compare them. this is what i do to install a tar.gz

tar -xvzf package.tar.gz
./configure --prefix=/path/to/install
make
su
checkinstall

and it's done. the program is installed, i can see it listed with pkgtool or slackpkg search, or in /var/log/packages. i can uninstall it just like any other slack pack. and there's a .tgz in the build directory if i should want it for the future.
 
Old 03-20-2005, 05:48 PM   #5
cathectic
Member
 
Registered: Sep 2004
Location: UK, Europe
Distribution: Slackware64
Posts: 761

Rep: Reputation: 35
checkinstall is a combination of 'packages made easy' and 'what if it doesn't respect DESTDIR'

'makepkg' is still considered the proper way to build a package, as checkinstall doesn't always catch every file being installed. On the flip side, makepkg et al can be a bit OTT sometimes if it's for personal consumption and you just want a quick and dirty way to get rid of a piece of software in future. Also, some make install's don't respect DESTDIR, so checkinstall is very useful in those cases.
 
Old 03-20-2005, 05:55 PM   #6
tank728
Member
 
Registered: Sep 2003
Posts: 142

Rep: Reputation: 17
checkinstall is a great tool, but it was designed to keep track of
software that is compiled from source, not for package distrobution.
checkinstall will allow you to see all of your locally compiled software
through pkgtool, which as said before puts a file in /var/log/packages.

-tank
 
Old 03-20-2005, 08:34 PM   #7
win32sux
LQ Guru
 
Registered: Jul 2003
Location: Los Angeles
Distribution: Ubuntu
Posts: 9,870

Rep: Reputation: 380Reputation: 380Reputation: 380Reputation: 380
okay, i get it now... thanks for the explanations guys...

yeah, i've run into the DESTDIR issue a couple times in the past... i think what i did was use something called installwatch to tell me where everything went and then i manually moved everything into the package directory and undid anything that was done to the system... yeah, it's kinda sick... hehe...

but i'm the type of slackware user that only installs packages... and all non-patrick packages on my box are built by me personally... i script the download, configuration, compile, and packaging - and i make sure i explodepkg the package and go through it with a fine-tooth comb before i do the installpkg...

what i think would be great (for situations where DESTDIR doesn't work) is something that would go one step further than installwatch but not as far as checkinstall... something that would intercept the files, so that they land in the package directory right away without ever having had to hit the system's... that way i could continue using my home-made build scripts without having to manually do stuff when something isn't DESTDIR-compatible...

it's been a long time since i had to do that manual thing with installwatch, i can't even remember exactly what software i had to use it for... everything i've packaged since then has worked either with DESTDIR or some --installprefix configure option or something...
 
Old 03-20-2005, 09:28 PM   #8
egag
Senior Member
 
Registered: Jul 2004
Location: Netherlands
Distribution: Slackware
Posts: 2,721

Rep: Reputation: 53
hey win32sux,
why don't you post a little howto called :

From Tarball to Slackpkg.

?

..it would be very much appriciated ( well... by me for sure but i'm never alone )

egag
 
Old 03-20-2005, 10:51 PM   #9
xgreen
Member
 
Registered: Aug 2003
Distribution: Slackware,Arch
Posts: 389

Rep: Reputation: 30
Quote:
Originally posted by egag
hey win32sux,
why don't you post a little howto called :

From Tarball to Slackpkg.

?

..it would be very much appriciated ( well... by me for sure but i'm never alone )

egag
yes... it would be nice if you can post it here....might help others...
 
Old 03-22-2005, 04:23 PM   #10
urka58
Member
 
Registered: Nov 2003
Distribution: slackware 15
Posts: 546

Rep: Reputation: 43
makepkg is the "official" method and is not that hard.
When DESTDIR doesn't work you have good chance trying a "make prefix=/path/to/temp/dir install".
If the sources produce just a binary file and a couple of libraries is not that hard to create manually the required directories and copy there the necessary files (/usr/, usr/bin & /usr/lib), just take care of files permissions.
Another possibility is you edit the Makefile. A little experience at shell scripting is usually enough.
Linuxpackages web site offers good documentations and howto's.
Hope this helps
Ciao
 
Old 03-23-2005, 09:46 AM   #11
gnashley
Amigo developer
 
Registered: Dec 2003
Location: Germany
Distribution: Slackware
Posts: 4,928

Rep: Reputation: 612Reputation: 612Reputation: 612Reputation: 612Reputation: 612Reputation: 612
Checkinstall uses (and installs) the installwatch library. it's very handy, but unless you make a valid slack-desc file it will be uninstallable with pkgtool/removepkg.
checkinstall can intercept other commands as well.
I usally build packages manually, following the Makfile.
 
  


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
building a slack package? mrchaos Slackware 21 06-29-2005 11:07 AM
building rpm package question hct224 Linux - Newbie 2 09-02-2004 05:41 AM
Building a nagios package. Linux.tar.gz Slackware 3 07-02-2004 11:51 AM
building POSTFIX rpm package for Redhat hct224 Linux - Newbie 6 06-16-2004 01:32 AM
Building own RPM package hems Linux - Newbie 1 11-28-2002 03:16 AM

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

All times are GMT -5. The time now is 05:32 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