1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
|
#! @SH@
#
# -*-sh-*-
#
# Copyright (C) 1999-2025 Roland Rosenfeld <roland@spinnaker.de>
# Copyright (C) 2007 Yaroslav Halchenko <debian@onerussian.com>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, see <https://www.gnu.org/licenses/>.
LBDB_VERSION=@LBDB_VERSION@
umask 077
prefix=@prefix@
exec_prefix=@exec_prefix@
dotlock=@DOTLOCK@
[ -n "$USE_LOCAL_LIB" ] && [ -x $USE_LOCAL_LIB/lbdb_dotlock ] && dotlock=$USE_LOCAL_LIB/lbdb_dotlock
db=$M_INMAIL_DB
munge=${USE_LOCAL_LIB:-@libexecdir@}/munge
if [ ! -f $db.dirty ]
then
# Nothing to do
exit 0
fi
if [ "$SORT_OUTPUT" = "false" -o "$SORT_OUTPUT" = "no" ]
then
munge_options="keeporder=1"
fi
if [ -z "$MUNGE_LIMITCOUNT" ]
then
munge_options="$munge_options limitcount=1"
else
munge_options="$munge_options limitcount=$MUNGE_LIMITCOUNT"
fi
if [ ! -z "$MUNGE_LIMITDATE" ]
then
munge_options="$munge_options limitdate='$MUNGE_LIMITDATE'"
fi
if $dotlock -r 10 -f $db
then
: # okay, do nothing
else
echo "Can't lock $db [dotlock returned $?]." >&2
exit 1
fi
if $munge ${munge_options} < $db > $db.$$.tmp
then
# only move, if munge successful:
mv -f $db.$$.tmp $db
rm -f $db.dirty
else
rm -f $db.$$.tmp
# maybe write a debug log here...
fi
$dotlock -u $db
|