Thanks for the ideas everyone.  I actually figured out the
umask option after I sent a message to the list.  I also
made some changes to "mhopt.pl" to automatically create
a new directory if it didn't exist.  Here's my outdir option:

-outdir /www/listname/`/usr/bin/date '+%Y-%m'`

Here's what I added to the "mhopt.pl":

if (!opendir(OUTDIR, $OUTDIR)) {
        `mkdir -m 755 $OUTDIR`;
}

Probably not the best way to do this, but it works for me.

Rick

-----Original Message-----
From: Earl Hood <[EMAIL PROTECTED]>
To: Rick McMillin <[EMAIL PROTECTED]>
Cc: [EMAIL PROTECTED] <[EMAIL PROTECTED]>
Date: Thursday, February 18, 1999 2:58 PM
Subject: Re: Ezmlm and MHonArc permissions problem


>On February 18, 1999 at 10:37, "Rick McMillin" wrote:
>
>> The problem I'm having is when I test this out by creating
>> the "1999-02" directory and posting my first message to the
>> list, it will automatically create all of files fine, but the permissions
>> are wrong on all of the files.  Instead of being set to 644, they
>> end up being set to 600.
>
>This has to do with the current umask setting of the process.  You
>can use the UMASK resource in MHonArc to explicit set have mhonarc
>set its umask before processing.
>
>
>> Also, does anyone have any ideas as to how I can set this up
>> to automatically create my "YYYY-MM" directories when the first
>> message for the month gets posted to the list so I don't have to
>> go in and create all of them by hand?
>
>There is more than one way to do it.  Probably the most efficient
>method is to create your own derivative of mhonarc to precreate
>the directory beforehand.  You can use the mhonarc program source
>as a base.  Example program:
>
>--CUT-HERE--
>#!/usr/local/bin/perl
>## Description:
>## Custom version of MHonArc to create monthly-based archives.
>## It is assumed that this program will be called from an MTA
>## (or similiar program) as message arrive.
>
>## Change the following pathname to location of MHonArc libraries on your
>## system.
>use lib qw( /path/to/MHonArc/lib );
>
>MAIN: {
>    ## Set umask here since we will be doing some of our own stuff.
>    umask 022;
>
>    ## Load main MHonArc library
>    require 'mhamain.pl' || die qq/ERROR: Unable to require
"mhamain.pl"\n/;
>    mhonarc::initialize();
>
>    ## Figure out archive location.  Note, there can be a slight
descrepency
>    ## on the archive month and the actual month of the added message.  To
>    ## be more accurate, the message date should be extracted, but this
>    ## would require more work.
>    my($month, $year) = (gmtime(time))[4,5]; # use localtime() if desired
>    ++month;  $year+=1900;
>    my $dir = sprintf("/www/outdir/%4d-%02d", $year, $month);
>    mkdir $dir, 0777; # Ignore return since directory may already exist.
>
>    ## Call MHonArc functions to add message.  We just specify all the
>    ## options we want here since this is a custom version and not intended
>    ## to be called interactively.
>    mhonarc::process_input(
> '-add',
> '-quiet',
> '-outdir, $dir'
>    ) ? exit(0) : exit($mhonarc::CODE);
>}
>--CUT-HERE--
>
>Assume we call this program "ezmlm-mhonarc".  Then change the line in your
>ezmlm editor file that invokes mhonarc to the following:
>
>|ezmlm-mhonarc
>
>
>Note, the above program has not been tested, so test it first if plan
>to use it.
>
> --ewh
>
>----
>             Earl Hood              | University of California: Irvine
>      [EMAIL PROTECTED]      |      Electronic Loiterer
>http://www.oac.uci.edu/indiv/ehood/ | Dabbler of SGML/WWW/Perl/MIME
>
>

Reply via email to