Great Circle Associates Majordomo-Workers
(September 1996)
 

Indexed By Date: [Previous] [Next] Indexed By Thread: [Previous] [Next]

Subject: Preliminary patch to call beta 4.
From: Chan Wilson <cwilson @ slurp . neu . sgi . com>
Date: Wed, 25 Sep 1996 01:56:22 +0200
To: majordomo-workers @ greatcircle . com

These are all patches to Makefile, INSTALL, config-test, and
sample.cf.  

I'll spin another full beta (which includes man pages for bounce and
bounce-remind) in the morning.

--Chan
diff -c majordomo/INSTALL:1.5 majordomo/INSTALL:1.6
*** majordomo/INSTALL:1.5	Wed Sep 25 01:52:05 1996
--- majordomo/INSTALL	Wed Sep 25 01:52:05 1996
***************
*** 35,49 ****
     "daemon"), or it won't work.  The symptom of this is that Perl
     starts bitching about security violations and "unsafe usages".
  
! 4) Do a 'make wrapper' to verify that the wrapper program compiles
!    cleanly.  
  
! 5) Do a 'make install' to install the Majordomo programs.  
  
! 6) Read and edit the Majordomo configuration file, 'majordomo.cf', in
!    the Majordomo home directory (or as defined in the Makefile).
!    The .cf file is "eval"ed into majordomo (so it needs to be valid
!    PERL), and sets several things:
  
      $whereami		What machine am I on?
      $whoami		Who do users send requests to me as?
--- 35,46 ----
     "daemon"), or it won't work.  The symptom of this is that Perl
     starts bitching about security violations and "unsafe usages".
  
! 4) Edit majordomo.cf. 
  
!    If this is a new install, copy sample.cf to majordomo.cf first.
  
!    This .cf file is "eval"ed into majordomo, so it needs to be valid
!    Perl.  Here are the important variables to set:
  
      $whereami		What machine am I on?
      $whoami		Who do users send requests to me as?
***************
*** 50,60 ****
      $whoami_owner	Who is the owner of the above, for problems?
      $homedir		Where can I find my extra .pl files?
      $listdir		Where are the mailing lists?
-     $digest_work_dir	Where does digest do its work?
      $log		Where do I write my log?
-     $filedir		Where should I look for files for "get" and "index"?
-     $filedir_suffix	What suffix should I use for the file directory?
-     $index_command	What command should I use for "index" requests?
      $sendmail_command   Where the sendmail program resides.
      $mailer		What program and args do I use to send mail to the
                            lists?
--- 47,53 ----
***************
*** 61,76 ****
      $bounce_mailer      What program and args do I use to send administrative
                            messages?
  
!     If the following are set, Majordomo uses FTPMAIL to handle "get"
!     and "index" requests, rather than processing those requests
!     itself.  FTPMAIL will use the $filedir and $filedir_suffix
!     settings to determine where to look for the files on the host
!     specified by $ftpmail_location.
  
!     $ftpmail_address	What FTPMAIL server should I send requests to?
!     $ftpmail_location	What host should FTPMAIL look for my files on?
  
!     See the "sample.cf" file for examples.
  
  7) Chdir to the Majordomo home and run the configuration test script:
     # cd ~majordomo
--- 54,69 ----
      $bounce_mailer      What program and args do I use to send administrative
                            messages?
  
! 
!    If this is an upgrade, examine sample.cf for new configuration 
!    variables to place in your existing majordomo.cf.  Alternatively,
!    running config-test (as the majordomo user) will show all the 
!    variables that are missing.
  
! 5) Do a 'make wrapper' to verify that the wrapper program compiles
!    cleanly.  
  
! 6) Do a 'make install' to install the Majordomo programs.  
  
  7) Chdir to the Majordomo home and run the configuration test script:
     # cd ~majordomo
diff -c majordomo/Makefile:1.45 majordomo/Makefile:1.46
*** majordomo/Makefile:1.45	Wed Sep 25 01:52:05 1996
--- majordomo/Makefile	Wed Sep 25 01:52:05 1996
***************
*** 1,9 ****
! #$Modified: Mon Sep 23 20:05:00 1996 by cwilson $
  #
  # $Source: /usr/people/cwilson/work/src/cvsrepos/majordomo/Makefile,v $
! # $Revision: 1.45 $
! # $Date: 1996/09/23 18:06:48 $
! # $Header: /usr/people/cwilson/work/src/cvsrepos/majordomo/Makefile,v 1.45 1996/09/23 18:06:48 cwilson Exp $
  # 
  
  #  This is the Makefile for Majordomo.  
--- 1,9 ----
! #$Modified: Wed Sep 25 01:20:04 1996 by cwilson $
  #
  # $Source: /usr/people/cwilson/work/src/cvsrepos/majordomo/Makefile,v $
! # $Revision: 1.46 $
! # $Date: 1996/09/24 23:49:43 $
! # $Header: /usr/people/cwilson/work/src/cvsrepos/majordomo/Makefile,v 1.46 1996/09/24 23:49:43 cwilson Exp $
  # 
  
  #  This is the Makefile for Majordomo.  
***************
*** 116,124 ****
  	@echo "    wrapper: only make wrapper."
  
  install: wrapper install-scripts install-cf install-man
! 	@echo "\nTo finish the installation, 'su' to root and type: \n\
! 	    make install-wrapper\nor if not installing the wrapper, do \n\
! 	    cd $(W_HOME); ./wrapper config-test\nto verify the installation."
  
  
  install-wrapper: wrapper
--- 116,124 ----
  	@echo "    wrapper: only make wrapper."
  
  install: wrapper install-scripts install-cf install-man
! 	@echo "\nTo finish the installation, 'su' to root and type: \n\n\
! 	    make install-wrapper\n\nIf not installing the wrapper, type\n\n\
! 	    cd $(W_HOME); ./wrapper config-test\n\n(no 'su' necessary) to verify the installation."
  
  
  install-wrapper: wrapper
***************
*** 126,133 ****
  	@cp wrapper       $(W_BIN)/wrapper
  	$(CHOWN) $(WRAPPER_CHOWN) $(W_BIN)/wrapper
  	chmod $(WRAPPER_CHMOD) $(W_BIN)/wrapper
! 	@echo "\nTo verify that all the permissions and etc are correct,\n \
! 		run the command\n     ./wrapper config-test"
  
  # fix where perl lives.
  # Create a tmp directory to stuff all the files in, so we 
--- 126,134 ----
  	@cp wrapper       $(W_BIN)/wrapper
  	$(CHOWN) $(WRAPPER_CHOWN) $(W_BIN)/wrapper
  	chmod $(WRAPPER_CHMOD) $(W_BIN)/wrapper
! 	@echo "\nTo verify that all the permissions and etc are correct,\n\
! 	run the command\n\n\
! 	     cd $(W_HOME); ./wrapper config-test"
  
  # fix where perl lives.
  # Create a tmp directory to stuff all the files in, so we 
***************
*** 149,167 ****
  install-scripts: config-scripts
  	@test -d $(W_HOME) || mkdir $(W_HOME)
  	@-$(CHOWN) $(W_CHOWN) $(W_HOME) || \
! 		( echo "\nHmmm, if $(W_HOME) doesn't have permissions of\n\
  	$(W_USER) $(W_GROUP), do a \n\
! 		$(CHOWN) $(W_CHOWN) $(W_HOME)\n"; \
  		ls -lLnd $(W_HOME); echo "")
! 	@test -d $(W_BIN)/bin || mkdir $(W_BIN)/bin
  
  	@echo "Copying tools to $(W_BIN)/bin"
  
  	@for file in $(BINBIN); do \
  		chmod +x tmp/$$file ; \
- 		$(CHOWN) $(W_CHOWN) tmp/$$file ; \
  		rm -f $(W_BIN)/bin/$$file; \
  		mv tmp/$$file $(W_BIN)/bin ; \
  	done
  
  	@echo "Copying Majordomo files to $(W_BIN)"
--- 150,169 ----
  install-scripts: config-scripts
  	@test -d $(W_HOME) || mkdir $(W_HOME)
  	@-$(CHOWN) $(W_CHOWN) $(W_HOME) || \
! 		( echo "\nHmmm, if $(W_HOME) doesn't have an owner and group of\n\
  	$(W_USER) $(W_GROUP), do a \n\
! 		$(CHOWN) $(W_CHOWN) $(W_HOME)\n(as root.)\n"; \
  		ls -lLnd $(W_HOME); echo "")
! 	@test -d $(W_BIN)/bin || (mkdir $(W_BIN)/bin; \
! 		$(CHOWN) $(W_CHOWN) $(W_BIN)/bin)
  
  	@echo "Copying tools to $(W_BIN)/bin"
  
  	@for file in $(BINBIN); do \
  		chmod +x tmp/$$file ; \
  		rm -f $(W_BIN)/bin/$$file; \
  		mv tmp/$$file $(W_BIN)/bin ; \
+ 		$(CHOWN) $(W_CHOWN) $(W_BIN)/bin/$$file ; \
  	done
  
  	@echo "Copying Majordomo files to $(W_BIN)"
***************
*** 168,186 ****
  
  	@for file in $(BIN); do \
  		chmod +x tmp/$$file ; \
- 		$(CHOWN) $(W_CHOWN) tmp/$$file ; \
  		rm -f $(W_BIN)/$$file ; \
  		mv tmp/$$file $(W_BIN) ; \
  	done
  
  	@echo "Copying archiving and other tools to $(W_BIN)/Tools"
  
! 	@test -d $(W_BIN)/Tools || mkdir $(W_BIN)/Tools
  	@for file in $(TOOLS); do \
  		chmod +x tmp/$$file ; \
- 		$(CHOWN) $(W_CHOWN) tmp/$$file ; \
  		rm -f $(W_BIN)/Tools/$$file ; \
  		mv tmp/$$file $(W_BIN)/Tools ; \
  	done
  
  	@rm -rf tmp	
--- 170,189 ----
  
  	@for file in $(BIN); do \
  		chmod +x tmp/$$file ; \
  		rm -f $(W_BIN)/$$file ; \
  		mv tmp/$$file $(W_BIN) ; \
+ 		$(CHOWN) $(W_CHOWN) $(W_BIN)/$$file ; \
  	done
  
  	@echo "Copying archiving and other tools to $(W_BIN)/Tools"
  
! 	@test -d $(W_BIN)/Tools || (mkdir $(W_BIN)/Tools; \
! 		$(CHOWN) $(W_CHOWN) $(W_BIN)/Tools)
  	@for file in $(TOOLS); do \
  		chmod +x tmp/$$file ; \
  		rm -f $(W_BIN)/Tools/$$file ; \
  		mv tmp/$$file $(W_BIN)/Tools ; \
+ 		$(CHOWN) $(W_CHOWN) $(W_BIN)/Tools/$$file ; \
  	done
  
  	@rm -rf tmp	
***************
*** 203,223 ****
  	else \
  	   echo "Using installed majordomo.cf"; \
  	fi;
! 	@rm -f $(W_BIN)/sample.cf; cp sample.cf $(W_BIN)
  	@-$(CHOWN) $(W_CHOWN) $(W_BIN)/majordomo.cf  || \
! 		( echo "\nHmmm, if $(W_HOME) doesn't have permissions of\n\
  	$(W_USER) $(W_GROUP), do a \n\
! 		$(CHOWN) $(W_CHOWN) $(W_HOME)\n";  ls -lLnd $(W_HOME); echo "")
  
  
  install-man:
  	@echo "Copying manual pages to $(W_BIN)/man/man[18]"
! 	@test -w $(W_BIN)/man || mkdir $(W_BIN)/man
! 	@test -w $(W_BIN)/man/man1 || mkdir $(W_BIN)/man/man1
! 	@test -w $(W_BIN)/man/man8 || mkdir $(W_BIN)/man/man8
  	@cp Doc/man/approve.1 $(W_BIN)/man/man1
  	@cp Doc/man/digest.1 $(W_BIN)/man/man1
  	@cp Doc/man/majordomo.8 $(W_BIN)/man/man8
  
  
  install-shared: install-wrapper-shared install-scripts
--- 206,231 ----
  	else \
  	   echo "Using installed majordomo.cf"; \
  	fi;
! 	@rm -f $(W_BIN)/sample.cf; cp sample.cf $(W_BIN); \
! 		$(CHOWN) $(W_CHOWN) $(W_BIN)/sample.cf
  	@-$(CHOWN) $(W_CHOWN) $(W_BIN)/majordomo.cf  || \
! 		( echo "\nHmmm, if $(W_HOME) doesn't have an owner and group of\n\
  	$(W_USER) $(W_GROUP), do a \n\
! 		$(CHOWN) $(W_CHOWN) $(W_HOME)\n(as root.)\n";  ls -lLnd $(W_HOME); echo "")
  
  
  install-man:
  	@echo "Copying manual pages to $(W_BIN)/man/man[18]"
! 	@test -w $(W_BIN)/man || (mkdir $(W_BIN)/man; \
! 		$(CHOWN) $(W_CHOWN) $(W_BIN)/man)
! 	@test -w $(W_BIN)/man/man1 || (mkdir $(W_BIN)/man/man1; \
! 		$(CHOWN) $(W_CHOWN) $(W_BIN)/man/man1)
! 	@test -w $(W_BIN)/man/man8 || (mkdir $(W_BIN)/man/man8; \
! 		$(CHOWN) $(W_CHOWN) $(W_BIN)/man/man8)
  	@cp Doc/man/approve.1 $(W_BIN)/man/man1
  	@cp Doc/man/digest.1 $(W_BIN)/man/man1
  	@cp Doc/man/majordomo.8 $(W_BIN)/man/man8
+ 	@-$(CHOWN) $(W_CHOWN) $(W_BIN)/man/man[18]/*
  
  
  install-shared: install-wrapper-shared install-scripts
***************
*** 231,238 ****
  	@echo 'run make permissions-shared' as root to set permissions
  
  permissions-shared:
! 	$(CHOWN) $(W_CHOWN) $(W_BIN)/wrappers/$(W_GROUP)/wrapper.$(ARCHCMD)
! 	$(CHOWN) $(W_CHOWN) $(W_BIN)/.
  	chmod $(W_CHMOD) $(W_BIN)/wrappers/$(W_GROUP)/wrapper.$(ARCHCMD)
  
  wrapper: wrapper.c
--- 239,246 ----
  	@echo 'run make permissions-shared' as root to set permissions
  
  permissions-shared:
! 	@$(CHOWN) $(W_CHOWN) $(W_BIN)/wrappers/$(W_GROUP)/wrapper.$(ARCHCMD)
! 	@$(CHOWN) $(W_CHOWN) $(W_BIN)/.
  	chmod $(W_CHMOD) $(W_BIN)/wrappers/$(W_GROUP)/wrapper.$(ARCHCMD)
  
  wrapper: wrapper.c
diff -c majordomo/config-test:1.6 majordomo/config-test:1.7
*** majordomo/config-test:1.6	Wed Sep 25 01:52:05 1996
--- majordomo/config-test	Wed Sep 25 01:52:05 1996
***************
*** 1,5 ****
  #!/bin/perl
! # $Id: config-test,v 1.6 1996/09/23 00:49:43 cwilson Exp $
  # configuration test for majordomo
  # provided with majordomo, modifications by darren stalder <torin@daft.com>
  # more mods by Vince Skahan <vince@atc.boeing.com>
--- 1,5 ----
  #!/bin/perl
! # $Id: config-test,v 1.7 1996/09/24 23:50:18 cwilson Exp $
  # configuration test for majordomo
  # provided with majordomo, modifications by darren stalder <torin@daft.com>
  # more mods by Vince Skahan <vince@atc.boeing.com>
***************
*** 119,125 ****
  	&bad("list directory $listdir has bad permissions");
      }
  } else {
!     &bad("list directory $listdir doesn't exist or isn't a directory.");
  }
  
  &header("log");
--- 119,131 ----
  	&bad("list directory $listdir has bad permissions");
      }
  } else {
!     print "Hmmm, list directory $listdir doesn't exist or isn't a directory.";
!     print "Let me try to make it for you...\n";
!     if ( mkdir( $listdir, 0777) ) {
! 	&good("list directory $listdir created.\n");
!     } else {
! 	&bad("Couldn't create $listdir, $!");
!     }
  }
  
  &header("log");
***************
*** 126,136 ****
  
  if ( ! -e $log ) {
      print "Logfile $log didn't exist, trying to create...";
!     if (open(A, ">$log")) {
! 	print "okay.\n";
! 	chmod (A, 664) || &bad( "but chown on $log failed, $!");
      } else {
! 	print "nope!\n";
      }
  }
  
--- 132,142 ----
  
  if ( ! -e $log ) {
      print "Logfile $log didn't exist, trying to create...";
!     if (open(A, ">$log") && close(A) ) { # sesame
! 	print "okay, now chmod'ing\n";
! 	chmod (664, $log) || &bad( "chmod on $log failed, $!");
      } else {
! 	&bad("Couldn't create logfile $log, $!\n");
      }
  }
  
diff -c majordomo/majordomo_version.pl:1.14 majordomo/majordomo_version.pl:1.15
*** majordomo/majordomo_version.pl:1.14	Wed Sep 25 01:52:05 1996
--- majordomo/majordomo_version.pl	Wed Sep 25 01:52:05 1996
***************
*** 1,5 ****
! # $Header: /usr/people/cwilson/work/src/cvsrepos/majordomo/majordomo_version.pl,v 1.14 1996/09/20 19:47:48 cwilson Exp $
  
! $majordomo_version = "1.94-beta2";
  1;
  
--- 1,5 ----
! # $Header: /usr/people/cwilson/work/src/cvsrepos/majordomo/majordomo_version.pl,v 1.15 1996/09/24 23:52:01 cwilson Exp $
  
! $majordomo_version = "1.94-beta4";
  1;
  
diff -c majordomo/sample.cf:1.20 majordomo/sample.cf:1.21
*** majordomo/sample.cf:1.20	Wed Sep 25 01:52:05 1996
--- majordomo/sample.cf	Wed Sep 25 01:52:06 1996
***************
*** 21,27 ****
  
  # $listdir -- Where are the mailing lists?
  #
! $listdir = "/usr/test/majordomo/lists";
  
  # $digest_work_dir -- the parent directory for digest's queue area
  # Each list must have a subdirectory under this directory in order for
--- 21,27 ----
  
  # $listdir -- Where are the mailing lists?
  #
! $listdir = "$homedir/lists";
  
  # $digest_work_dir -- the parent directory for digest's queue area
  # Each list must have a subdirectory under this directory in order for
***************
*** 40,46 ****
  #                      seem to prefer /usr/sbin/sendmail
  #
  $sendmail_command = "/usr/lib/sendmail";
! #$sendmail_command = "/usr/sbin/sendmail";
  
  # $mailer -- What program and args do I use to send mail to the list?
  # $bounce_mailer -- What is used to send mail anywhere else?
--- 40,46 ----
  #                      seem to prefer /usr/sbin/sendmail
  #
  $sendmail_command = "/usr/lib/sendmail";
! # $sendmail_command = "/usr/sbin/sendmail";
  
  # $mailer -- What program and args do I use to send mail to the list?
  # $bounce_mailer -- What is used to send mail anywhere else?
***************
*** 56,69 ****
  # You can special case the mailer used to deliver outbound mail as follows:
  #
  # To use TLB and use no outgoing alias:
! #if ($main'program_name eq 'mj_resend' && $opt_l eq 'test-list') {
! #  $mailer = "/usr/local/majordomo/tlb /usr/local/lists/${opt_l}.tlb";
! #}
  #
  # To use a different Sendmail queue for this list's mail:
! #if ($main'program_name eq 'mj_resend' && $opt_l eq 'test-list') {
! #  $mailer = "$sendmail_command -oQ /var/spool/listq -f\$sender";
! #}
  
  # Set the default subscribe policy for new lists here.  
  # If not defined, defaults to "open", but in today's increasingly
--- 56,69 ----
  # You can special case the mailer used to deliver outbound mail as follows:
  #
  # To use TLB and use no outgoing alias:
! # if ($main'program_name eq 'mj_resend' && $opt_l eq 'test-list') {
! #   $mailer = "/usr/local/majordomo/tlb /usr/local/lists/${opt_l}.tlb";
! # }
  #
  # To use a different Sendmail queue for this list's mail:
! # if ($main'program_name eq 'mj_resend' && $opt_l eq 'test-list') {
! #   $mailer = "$sendmail_command -oQ /var/spool/listq -f\$sender";
! # }
  
  # Set the default subscribe policy for new lists here.  
  # If not defined, defaults to "open", but in today's increasingly
***************
*** 72,77 ****
--- 72,81 ----
  #
  # $config'default_subscribe_policy = "open+confirm";
  
+ #--------------------------------------------------------------------
+ #    Stuff below here isn't commonly changed....
+ #--------------------------------------------------------------------
+ #
  # Majordomo will look for "get" and "index" files related to $list in
  # directory "$filedir/$list$filedir_suffix", so set $filedir and
  # $filedir_suffix appropriately.  For instance, to look in
***************
*** 135,143 ****
  # Directory where resend temporarily puts its rewritten output message.
  # For the paranoid, this could be changed to a directory that only
  # majordomo has r/w permission to.
! #  Uses the environment variable TMPDIR, since that's pretty common
  #
! $TMPDIR = $ENV{'TMPDIR'} ? $ENV{'TMPDIR'} : '/usr/tmp';
  
  # Tune the number of retries that shlock does before aborting.
  # This defaults to 600, with a random sleep from 1-10 seconds between
--- 139,147 ----
  # Directory where resend temporarily puts its rewritten output message.
  # For the paranoid, this could be changed to a directory that only
  # majordomo has r/w permission to.
! # Uses the environment variable TMPDIR, since that's pretty common
  #
! $TMPDIR = $ENV{'TMPDIR'} || '/usr/tmp';
  
  # Tune the number of retries that shlock does before aborting.
  # This defaults to 600, with a random sleep from 1-10 seconds between
***************
*** 252,255 ****
  END
  
  1;
! # $Header: /usr/people/cwilson/work/src/cvsrepos/majordomo/sample.cf,v 1.20 1996/09/22 21:55:44 cwilson Exp $
--- 256,259 ----
  END
  
  1;
! # $Header: /usr/people/cwilson/work/src/cvsrepos/majordomo/sample.cf,v 1.21 1996/09/24 23:50:31 cwilson Exp $


	 Chan Wilson  ---  cwilson@sgi.com  ---  +4138-433-760
	      Silicon Graphics, SA.  Cortaillod, Switzerland.
     "Network Analyst"  &&  Irix Guru  &&  Gravitational Engineer
Indexed By Date Previous: Re: Majordomo 1.94 Beta 3, whee!!
From: "Randall S. Winchester" <rsw@Glue.umd.edu>
Next: Re: quoted address becomes useless
From: Christopher Samuel <chris@rivers.dra.hmg.gb>
Indexed By Thread Previous: Re: Majordomo Bombing
From: Jason L Tibbitts III <tibbs@hpc.uh.edu>
Next: Documentation Ideas
From: Robb Shecter <rshecter@fieldrep.ed.umuc.edu>

Google
 
Search Internet Search www.greatcircle.com