[Kst] beta3-2

D. V. Wiebe dvw at ketiltrout.net
Fri Oct 9 23:54:13 CEST 2009


Okay, I've successfully managed to make a package for slackware-current.
It installs to /usr and runs fine.  I detect no staging directory
contamination.

The process was complicated by the fact that my package build system
requires the build of the package to happen outside the directory
hiearchy of the source tarball.  As a result, I can't use ./install-kst
and friends to build it.  Nevertheless, here's a cartoon of my process:

1) Upack the source in /tmp/kst-source:

$ cd /tmp/kst-source
$ tar -zxvf $UPSTREAMDIR/kst-2.0.0-beta3-2.tgz

2) Build the package in /tmp/kst-build/, and stage the resulting file
hiearchy in /tmp/kst-package/, for later installation in /usr:

$ cd /tmp/kst-build
$ export OUTPUT_DIR=$PWD                     # build dir
$ exprot INSTALL_PREFIX=/tmp/kst-package/usr # staging-dir/prefix-dir
$ export INSTALL_LIBDIR=lib                  # libdir under prefix
$ export KST_DEBUG_MODE=0                    # non-debug build
$ qmake -r /tmp/kst-source/kst/kst-2.0.0-beta3-2/kst.pro
$ make
$ make install

Which resulted in a properly staged package hiearchy in /tmp/kst-package,
after which it can be tar'd/cpio'd/ar'd/what-have-you'd into a package.

This process would be made more easy if the INSTALL docuement were
modified to:

- explain that OUTPUT_DIR should be the *build* directory of the package.
  In fact, since ./install-kst hard-codes the build directory to ./build,
  you might want to explain when passing OUTPUT_DIR to install-kst is
  useful.  (I can't see the instance, myself.)
- for packagers who are used to the common "./configure; make; make
  install" deal, explicitly point out that, if desired, INSTALL_PREFIX
  may include a staging directory (what autotools would call DESTDIR), in
  addition to the installation prefix itself (what autotools would call
  PREFIX), ie. "$DESTDIR/$PREFIX"
- add an explicit example for distro package maintainers, along the
  lines of:

      Create a package staged in /tmp/package/ for later installation
      in /usr:

      1. Follow Linux build steps 1-3
      2. ./install-kst release /tmp/package/usr

  (This is probably sufficient to take care of the point about
  INSTALL_PREFIX above).
- And as a minor nitpick: wrap lines longer than 80 characters.  The
  current run-on lines do not make it easier to read the document,
  especially since some of the >80 character lines are in paragraphs
  which are left-indented.

Cheers,
-dvw
PS. Regarding the kst2/kst name debate: I just had the package create a
symlink kst -> kst2 in the bin directory upon install.  This prevents
installing both kst1 and kst2 side-by-side, but the operation could be
made more clever to support that (by, for instance, not creating the
symlink if kst1 exists).
-- 
Don Wiebe                                   dvw at physics.ubc.ca
Department of Physics and Astronomy
University of British Columbia
6224 Agricultural Road                      Tele: +1-604-822-2585
University Endowment Lands, BC
Canada   V6T 1Z1                            http://ketiltrout.net/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: not available
Url : http://mail.kde.org/pipermail/kst/attachments/20091009/0596bb18/attachment.sig 


More information about the Kst mailing list