Added --version option. Added install.sh.
authorFrederic Jolliton <frederic@jolliton.com>
Thu, 11 Nov 2004 12:26:54 +0000 (12:26 +0000)
committerFrederic Jolliton <frederic@jolliton.com>
Thu, 11 Nov 2004 12:26:54 +0000 (12:26 +0000)
* Added --version option.
* Added install.sh to install mail.filter.
* Makefile now just call install.sh for rule 'install'
  (and copying mailfilter.py was missing from the previous Makefile.)
git-archimport-id: frederic@jolliton.com--2004-private/mail-filter--main--0.1.1--patch-2

Makefile
install.sh [new file with mode: 0755]
mailfilter.py

index 03ab928..aa99d7e 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,5 +1,3 @@
-INSTALL_DIR=/opt/tuxeenet/mail-filter/
-
 usage:
        @echo 'make [clean|install]'
 
@@ -7,11 +5,4 @@ clean:
        rm -f *.pyc
 
 install:
-       @echo "Creating /opt/tuxeenet/mail-filter"
-       @mkdir -p /opt/tuxeenet/mail-filter
-       @echo "Copying mail.filter to ${INSTALL_DIR}"
-       @install -o root -g root -m 755 mail.filter ${INSTALL_DIR}
-       @for module in confparser basicparser basicvalidator; do\
-echo "Copying $$module.py to ${INSTALL_DIR}"; \
-install -o root -g root -m 644 "$$module.py" ${INSTALL_DIR};\
-done
+       sh install.sh
diff --git a/install.sh b/install.sh
new file mode 100755 (executable)
index 0000000..6b6315b
--- /dev/null
@@ -0,0 +1,22 @@
+PREFIX=/usr
+INSTALL_DIR=/opt/tuxeenet/mail-filter
+
+cat <<EOT
+
+ Installing mail.filter into $INSTALL_DIR
+
+EOT
+
+echo "Ensuring /opt/tuxeenet/mail-filter exist"
+mkdir -p "$INSTALL_DIR" || exit 1
+
+install -v -o root -g root -m 755 mail.filter "$INSTALL_DIR" || exit 1
+
+for module in mailfilter confparser basicparser basicvalidator; do
+       install -v -o root -g root -m 644 "$module.py" "$INSTALL_DIR" || exit 1
+done
+
+ln -sfv "$INSTALL_DIR/mail.filter" "$PREFIX/sbin/" || exit 1
+
+echo
+echo "Success."
index b04d927..15653f7 100644 (file)
@@ -34,6 +34,9 @@
 #   [ ] Define precisely what return code use for each possible case.
 #
 
+myName = 'mail.filter'
+myVersion = '0.1.1'
+
 import sys
 import os
 import time
@@ -881,6 +884,15 @@ def checkConfiguration( filename ) :
 
 #-----------------------------------------------------------------------------
 
+def version() :
+
+       print '''%s %s
+
+Copyright (C) 2004, Frederic Jolliton <frederic@jolliton.com>
+This is free software; see the source for copying conditions.  There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.''' \
+       % ( myName , myVersion )
+
 def usage() :
 
        print '''Usage: mail.filter [OPTIONS] username < EMAIL
@@ -895,6 +907,7 @@ def usage() :
                            Check syntax and structure of configuration file
                            FILENAME.
      --disable-backup      Disable backup.
+     --version             Output version information and exit.
 '''
 
        print 'Current paths are:\n'
@@ -929,7 +942,8 @@ def main() :
                options , parameters = \
                        _getopt( sys.argv[ 1 : ] ,
                                'hvtl:r:c:' ,
-                               ( 'help' , 'verbose' , 'test' , 'log=' , 'rules=' , 'check-config=' , 'disable-backup' ) )
+                               ( 'help' , 'verbose' , 'test' , 'log=' , 'rules=' ,
+                                       'check-config=' , 'disable-backup' , 'version' ) )
        except getopt.GetoptError , e :
                myName = sys.argv[ 0 ].split( '/' )[ -1 ]
                print '%s: %s' % ( myName , e[ 0 ] )
@@ -953,6 +967,9 @@ def main() :
                        sys.exit( 0 )
                elif option in [ '--disable-backup' ] :
                        g_backupDisabled = True
+               elif option in [ '--version' ] :
+                       version()
+                       sys.exit( 0 )
 
        #
        # At most one parameter expected.