On Tue, 30 Aug 2005 09:31:41 -0400, Bryan E. Boone
Post by Bryan E. BooneI'm a new user to Slackware (Slax) but not Linux. I currently run
Debian. I am however new to Slackware's packaging system. Basically,
I'm looking for a good resource on how to build my own Slackware
packages. For me to do useful things on a key drive;) I need to
create a JDK package and a NetBeans package. From what I can gather,
the packages are some sort of compressed file, that stays compressed
on the system until needed?
I *think* that if I can wrestle these into slackware packages, then I
can modify them to fit on my Slax liveCD (USB). I've checked Slax's
forums. There's a mention that someone's done it for JDK 1.5 (but no
mention how) and I'd like to know how so I can build packages for the
JDK 1.6 mustang releases.
Hopefully, I can build Slackware packages using a Debian system;)
Thanks for any help.
-Bryan
First, Slax is not Slackware. I can't speak to how similar it may be -
if Slax is what used to be Slackware Live, I tried it awhile back and
the packaging was similar, but the system as a whole diverged from
Slack in a lot of ways. It's an unofficial variant.
With that in mind, the standard procedure for building a Slackware
package is to write a SlackBuild script (which is just './configure &&
make && makepkg' with a lot of elaboration) and then run it. It should
unpack the tarball, build the package, placing what will be the actual
package files in /tmp/package-$NAME, and the last line should run the
Slackware script 'makepkg' on it. A finished Slackware package is
simply an ordinary tarball with a filename of a particular format
(NAME-VER-ARCH-BUILD.tgz) and a directory alongside the directory
mirror called 'install' with a 'slack-desc' file in it and possibly a
'doinst.sh' script. Slack-desc is a plain text file describing the
program which is prepended to the filelist which is entered into the
'package database' (the collection of plain text files in
/var/log/packages) and the doinst.sh is a (generally generated) script
that recreates any symlinks that were in the package and (optionally)
any other work that needs to be done besides just unpacking it. In
other words, the only tools needed are the standard build tools,
tar/gzip, and the Slackware pkgtools. So adapting those last to a
Debian system might be difficult or more than difficult.
Another alternative is to do './configure && make && checkinstall'
which produces slack-descs of slightly non-standard format and may have
problems with statically compiled apps and has other idiosyncrasies,
but generally does a reasonable job of producing packages. It can
produce rpms, slack packages, and deb packages but, to produce
Slackware packages, it relies on Slack tools just the same, so that
won't help building on Debian.
You might be better off posting to alt.os.linux.slackware or joining
##slackware at irc.freenode.net (I'm often there) to get more
discussion/answers. Also, check the /source directory of your nearest
Slackware mirror and look at Patrick's actual build scripts to get an
idea of how it's done. Lastly, although I don't recommend it in
general, and they may not be compatible with Slax, you can check out
3rd party packages at www.userlocal.com/www.linuxpackages.com
(something like that, Google for the right address) and they may
already have what you need. And Slackware itself comes with JDK in the
standard packages and the SDK in /extra (IIRC), though I don't recall
which versions.
Lastly, I apologize for the long post - and for however it may be
screwed up. I'm playing around with a new newsreader (etc.) and
probably haven't figured it out yet.
No sweat... Thanks for the info. (both package info and Slax/Slackware