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 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114
|
#! /bin/bash
#
# addpatch - generates src/version.h
#
# Copyright (C) 2002 - 2025 Eggheads Development Team
# Copyright (C) 2000 Fabian Knittel <fknittel@gmx.de>
#
# This file 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, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
show_usage() {
echo "Usage: `basename $0` [-hs] <patchname>"
echo ""
echo " patchname - Name of patch to add."
echo " * Use 'none' as patchname to remove existing patch"
echo ""
echo " -h, --help - Print this help and exit."
echo " -s, --show - Print current patch name and exit."
exit 1
}
if test "x${1}" = "x" || test "x${1}" = "x-h" || test "x${1}" = "x--help"; then
show_usage
else
patch_name=$1
fi
if test ! -f src/main.c; then
echo "You are not in the Eggdrop root directory."
exit 1
fi
oldpatch_name=$(grep -E '^#define EGG_PATCH.*' src/version.h|cut -d "\"" -f 2
)
if test "x${oldpatch_name}" = "x"; then
oldpatch_name='stable'
fi
if test "x${1}" = "x-s" || test "x${1}" = "x--show"; then
echo ${oldpatch_name}
exit
fi
stringver=$(grep -E '^#define EGG_STRINGVER.*' src/version.h|cut -d "\"" -f 2)
old_numver=$(grep -E '^#define EGG_NUMVER.*' src/version.h|cut -d " " -f 3)
foo=${old_numver: -2}
if [ $foo -lt 99 ]; then
new_numver=$((old_numver + 1))
else
echo "Patch level has exceeded 99- you *really* need to release a new version."
exit
fi
echo "Current version: ${stringver}"
echo "Current numerical version: ${old_numver}"
echo "Current patch: ${oldpatch_name}"
echo ""
echo "New numerical version ${new_numver}"
echo "New patch: ${patch_name}"
cat <<EOS > src/version.h
/*
* version.h
* include file controlling version strings used by Eggdrop
*
* should contain something similar to only the following 3 lines:
* #define EGG_STRINGVER "1.8.0"
* #define EGG_NUMVER 1080000
* #define EGG_PATCH "patchstring"
*/
/*
* Copyright (C) 1997 Robey Pointer
* Copyright (C) 1999 - 2025 Eggheads Development Team
*
* 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, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
EOS
echo "#define EGG_STRINGVER \"$stringver\"" >> src/version.h
echo "#define EGG_NUMVER $new_numver" >> src/version.h
if [ $patch_name != "none" ]; then
echo "#define EGG_PATCH \"$patch_name\"" >> src/version.h
fi
|