[Xapian-devel] Omega 1.2.4 build questions

xapian at catcons.co.uk xapian at catcons.co.uk
Mon Dec 27 17:16:27 GMT 2010


> Thanks Olly :-)
> 
> The list of files at 
> http://packages.debian.org/lenny-backports/amd64/xapian-omega/
filelist gave the information I need.
> 
> Best
> 
> Charles

Hello :-)

Here's the list of files now generated by the automated build (for sanity
checking) and the build script (in case it is any use for evolving the build
system).  Incidentally, is there any documentation on using the .png files?

=== file list begins ===
etc/omega.conf
usr/bin/omindex
usr/bin/scriptindex
usr/doc/xapian-omega-1.2.4/AUTHORS
usr/doc/xapian-omega-1.2.4/COPYING
usr/doc/xapian-omega-1.2.4/ChangeLog
usr/doc/xapian-omega-1.2.4/INSTALL
usr/doc/xapian-omega-1.2.4/NEWS
usr/doc/xapian-omega-1.2.4/README
usr/doc/xapian-omega-1.2.4/TODO
usr/doc/xapian-omega-1.2.4/cgiparams.html
usr/doc/xapian-omega-1.2.4/examples/
usr/doc/xapian-omega-1.2.4/examples/dbi2omega
usr/doc/xapian-omega-1.2.4/examples/htdig2omega
usr/doc/xapian-omega-1.2.4/examples/htdig2omega.script
usr/doc/xapian-omega-1.2.4/examples/mbox2omega
usr/doc/xapian-omega-1.2.4/examples/mbox2omega.script
usr/doc/xapian-omega-1.2.4/examples/outlookmsg2html
usr/doc/xapian-omega-1.2.4/examples/templates/
usr/doc/xapian-omega-1.2.4/examples/templates/godmode
usr/doc/xapian-omega-1.2.4/examples/templates/inc/
usr/doc/xapian-omega-1.2.4/examples/templates/inc/anyalldropbox
usr/doc/xapian-omega-1.2.4/examples/templates/inc/anyallradio
usr/doc/xapian-omega-1.2.4/examples/templates/inc/toptermsjs
usr/doc/xapian-omega-1.2.4/examples/templates/opensearch
usr/doc/xapian-omega-1.2.4/examples/templates/query
usr/doc/xapian-omega-1.2.4/examples/templates/topterms
usr/doc/xapian-omega-1.2.4/examples/templates/xml
usr/doc/xapian-omega-1.2.4/omegascript.html
usr/doc/xapian-omega-1.2.4/overview.html
usr/doc/xapian-omega-1.2.4/quickstart.html
usr/doc/xapian-omega-1.2.4/scriptindex.html
usr/doc/xapian-omega-1.2.4/termprefixes.html
usr/lib64/xapian-omega/cgi-bin/omega
usr/man/man1/omindex.1.gz
usr/man/man1/scriptindex.1.gz
usr/share/vim/vim72/syntax/omegascript.vim
usr/share/xapian-omega-1.2.4/images/next.png
usr/share/xapian-omega-1.2.4/images/nextoff.png
usr/share/xapian-omega-1.2.4/images/page-1.png
usr/share/xapian-omega-1.2.4/images/page-10.png
usr/share/xapian-omega-1.2.4/images/page-10s.png
usr/share/xapian-omega-1.2.4/images/page-11.png
usr/share/xapian-omega-1.2.4/images/page-11s.png
usr/share/xapian-omega-1.2.4/images/page-1s.png
usr/share/xapian-omega-1.2.4/images/page-2.png
usr/share/xapian-omega-1.2.4/images/page-2s.png
usr/share/xapian-omega-1.2.4/images/page-3.png
usr/share/xapian-omega-1.2.4/images/page-3s.png
usr/share/xapian-omega-1.2.4/images/page-4.png
usr/share/xapian-omega-1.2.4/images/page-4s.png
usr/share/xapian-omega-1.2.4/images/page-5.png
usr/share/xapian-omega-1.2.4/images/page-5s.png
usr/share/xapian-omega-1.2.4/images/page-6.png
usr/share/xapian-omega-1.2.4/images/page-6s.png
usr/share/xapian-omega-1.2.4/images/page-7.png
usr/share/xapian-omega-1.2.4/images/page-7s.png
usr/share/xapian-omega-1.2.4/images/page-8.png
usr/share/xapian-omega-1.2.4/images/page-8s.png
usr/share/xapian-omega-1.2.4/images/page-9.png
usr/share/xapian-omega-1.2.4/images/page-9s.png
usr/share/xapian-omega-1.2.4/images/previous.png
usr/share/xapian-omega-1.2.4/images/prevoff.png
usr/share/xapian-omega-1.2.4/images/score-0.png
usr/share/xapian-omega-1.2.4/images/score-1.png
usr/share/xapian-omega-1.2.4/images/score-10.png
usr/share/xapian-omega-1.2.4/images/score-2.png
usr/share/xapian-omega-1.2.4/images/score-3.png
usr/share/xapian-omega-1.2.4/images/score-4.png
usr/share/xapian-omega-1.2.4/images/score-5.png
usr/share/xapian-omega-1.2.4/images/score-6.png
usr/share/xapian-omega-1.2.4/images/score-7.png
usr/share/xapian-omega-1.2.4/images/score-8.png
usr/share/xapian-omega-1.2.4/images/score-9.png
var/lib/omega/cdb/
var/lib/omega/data/
var/lib/omega/templates/
var/lib/omega/templates/godmode
var/lib/omega/templates/inc/
var/lib/omega/templates/inc/anyalldropbox
var/lib/omega/templates/inc/anyallradio
var/lib/omega/templates/inc/toptermsjs
var/lib/omega/templates/opensearch
var/lib/omega/templates/query
var/lib/omega/templates/topterms
var/lib/omega/templates/xml
var/log/
var/log/omega/
=== file list ends ===

=== build script begins ===
#!/bin/sh

# Slackware build script for xapian-omega

# Written by Charles (SlackBuilds at catcons.co.uk)

#   Permission to use, copy, modify, and distribute this software for
#   any purpose with or without fee is hereby granted, provided that
#   the above copyright notice and this permission notice appear in all
#   copies.
#
#   THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
#   WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
#   MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
#   IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
#   CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
#   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
#   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
#   USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
#   ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
#   OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
#   OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
#   SUCH DAMAGE.

PRGNAM=xapian-omega
VERSION=${VERSION:-1.2.4}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}

if [ -z "$ARCH" ]; then
  case "$( uname -m )" in
    i?86) ARCH=i486 ;;
    arm*) ARCH=arm ;;
       *) ARCH=$( uname -m ) ;;
  esac
fi

CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}

if [ "$ARCH" = "i486" ]; then
  SLKCFLAGS="-O2 -march=i486 -mtune=i686"
  LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
  SLKCFLAGS="-O2 -march=i686 -mtune=i686"
  LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
  SLKCFLAGS="-O2 -fPIC"
  LIBDIRSUFFIX="64"
else
  SLKCFLAGS="-O2"
  LIBDIRSUFFIX=""
fi

set -e

rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
cd $PRGNAM-$VERSION
chown -R root:root .
find . \
 \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
 -exec chmod 755 {} \; -o \
 \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm
400 \) \
 -exec chmod 644 {} \;

CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
  --prefix=/usr \
  --libdir=/usr/lib${LIBDIRSUFFIX} \
  --sysconfdir=/etc \
  --localstatedir=/var \
  --mandir=/usr/man \
  --docdir=/usr/doc/$PRGNAM-$VERSION \
  --disable-static \
  --build=$ARCH-slackware-linux

make
make install DESTDIR=$PKG

find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF
\
  | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true

find $PKG/usr/man -type f -exec gzip -9 {} \;
for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz
; rm $i ; done

mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION/examples
cp -a \
  AUTHORS COPYING ChangeLog INSTALL NEWS README TODO \
  $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild >
$PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
cp -a \
  templates \
  $PKG/usr/doc/$PRGNAM-$VERSION/examples

# Don't know why the three directories populated below are not populated by
the 
# standard make (and do not know enough about make to fix the Makefiles)

# These templates are essential for the omega CGI script
mkdir -p $PKG/var/lib/omega/templates
cp -a -r \
  $TMP/$PRGNAM-$VERSION/templates/* \
  $PKG/var/lib/omega/templates

# This Vim syntax file is nice to have
mkdir -p $PKG/usr/share/vim/vim72/syntax
cp -a \
  $TMP/$PRGNAM-$VERSION/extra/omegascript.vim \
  $PKG/usr/share/vim/vim72/syntax

# .png files
mkdir -p $PKG/usr/share/xapian-omega-1.2.4/images
cp -a \
  $TMP/$PRGNAM-$VERSION/images/* \
  $PKG/usr/share/xapian-omega-1.2.4/images

# Create the otherwise missing directories listed in /etc/omega
mkdir -p $PKG/var/lib/omega/cdb $PKG/var/lib/omega/data $PKG/var/log/omega

# Adjustments to harmonise with the Debian package created by Xapian 
# developer Olly; files listed at 
# http://packages.debian.org/lenny-backports/amd64/xapian-omega/filelist
mv $PKG/usr/bin/dbi2omega $PKG/usr/bin/htdig2omega $PKG/usr/bin/mbox2omega \
  $PKG/usr/doc/$PRGNAM-$VERSION/examples
mv $PKG/usr/share/omega/* \
  $PKG/usr/doc/$PRGNAM-$VERSION/examples
rmdir $PKG/usr/share/omega

# Extra example (not in Olly's Debian package)
mv $PKG/usr/lib64/xapian-omega/bin/outlookmsg2html
$PKG/usr/doc/$PRGNAM-$VERSION/examples

# Cosmetic adjustment
mv $PKG/usr/lib64/xapian-omega/bin $PKG/usr/lib64/xapian-omega/cgi-bin

mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc

cd $PKG
/sbin/makepkg -l y -c n
$OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
=== build script ends ===

Best

Charles




More information about the Xapian-devel mailing list