LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (http://www.linuxquestions.org/questions/slackware-14/)
-   -   package building (http://www.linuxquestions.org/questions/slackware-14/package-building-303964/)

dockpunk 03-20-2005 01:17 PM

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?

mcd 03-20-2005 03:47 PM

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.

win32sux 03-20-2005 04:57 PM

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

mcd 03-20-2005 05:31 PM

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.

cathectic 03-20-2005 05:48 PM

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.

tank728 03-20-2005 05:55 PM

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

win32sux 03-20-2005 08:34 PM

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

egag 03-20-2005 09:28 PM

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

xgreen 03-20-2005 10:51 PM

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

urka58 03-22-2005 04:23 PM

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

gnashley 03-23-2005 09:46 AM

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.


All times are GMT -5. The time now is 12:56 PM.