view package @ 60:97b7706bdda2

Work around bogus 7c.b5 blocks in some messages that have been read. They appear to have attachments, but of some unknown format. Before the message was read, it did not have any attachments. Use autoscan to cleanup our autoconf system. Use autoconf to detect when we need to use our XGetopt files and other header files. More fields, including BCC. Fix missing LE32_CPU byte swapping for FILETIME types.
author Carl Byington <carl@five-ten-sg.com>
date Sat, 16 Feb 2008 12:26:35 -0800
parents 7d5c637aaafb
children b4f025d95441
line wrap: on
line source

#!/bin/bash

find . -name '*~' | while read a; do rm -f "$a"; done

# setup environment
T=`grep AC_INIT configure.in | cut -d'(' -f2`
NAME=`echo $T | cut -d, -f1`
VER=`echo $T | cut -d, -f2`
BALL=$NAME-$VER.tar.gz
web=/home/httpd/html/510sg/$NAME
distlog=/tmp/distcheck
repo=/usr/hg-repository/$NAME

# check for uncommitted changes
a=$(hg status)
if [ -n "$a" ]; then
    hg status
    echo "fix those first with 'hg commit'"
    exit 0
fi

# check for changesets pending push to global repository
hg outgoing $repo | grep 'no changes found' >/dev/null
if [ $? -ne 0 ]; then
    hg outgoing $repo
    echo "fix those first with 'hg push $repo'"
    exit 0
fi

# get a new clean copy from source control
orig=$(pwd)
pack=$orig/../$NAME-package
[ -d "$pack" ] && rm -rf "$pack"
mkdir "$pack"
cd "$pack"
hg clone $repo
cd $NAME

# build the package
mkdir -p $web
chown --recursive root:root *
make -f *cvs
./configure >/dev/null
(cd xml; make; make distclean)
cp -a html/*html $web
make distcheck >$distlog 2>&1

if [ $? -eq 0 ]; then
    if [ -f $BALL ]; then
        # expand locally to see the tarball
        rm -rf junk
        mkdir junk
        cd junk
            tar xfz ../$BALL
            cd $NAME-$VER
                ./configure >/dev/null
                make >/dev/null
            cd ..
        cd ..

        # build rpm on target
        target5=pmg2
        scp $BALL $target5:/tmp
        ssh $target5 "cd /tmp; rpmbuild -ta $BALL"

        # build rpm on target
        target4=host62
        scp $BALL $target4:/tmp
        ssh $target4 "cd /tmp; rpmbuild -ta $BALL"

        # add packages to the web site
        wp=$web/packages
        wp4=$wp/centos4
        wp5=$wp/centos5
        mkdir -p $wp4 $wp5
        rp=/usr/src/redhat
        mv -f $BALL $wp
        scp $target4:$rp/SRPMS/$NAME-$VER*rpm $wp
        scp $target4:$rp/RPMS/i386/$NAME-$VER*rpm $wp4
        scp $target5:$rp/RPMS/i386/$NAME-$VER*rpm $wp5
        (cd $web; chown --recursive web:web *; ls -alR)
        rpm -ql -p $wp4/$NAME-$VER*6.rpm
        rpm -ql -p $wp5/$NAME-$VER*6.rpm
    fi
else
    tail -10 $distlog
fi
chown --recursive carl:carl *

# throw away the packaging directory
cd "$pack/.."
rm -rf $NAME-package
cd "$orig"