OpenPKG CVS Repository http://cvs.openpkg.org/ ____________________________________________________________________________
Server: cvs.openpkg.org Name: Ralf S. Engelschall Root: /e/openpkg/cvs Email: [EMAIL PROTECTED] Module: openpkg-web, openpkg-src Date: 06-Dec-2002 14:22:35 Branch: HEAD Handle: 2002120613223400 Added files: openpkg-src/majordomo users.config Modified files: openpkg-src/majordomo majordomo.spec openpkg-web news.txt Log: finally finish packaging this beast ;-) Summary: Revision Changes Path 1.19 +120 -9 openpkg-src/majordomo/majordomo.spec 1.1 +391 -0 openpkg-src/majordomo/users.config 1.2207 +1 -0 openpkg-web/news.txt ____________________________________________________________________________ Index: openpkg-src/majordomo/majordomo.spec ============================================================ $ cvs diff -u -r1.18 -r1.19 majordomo.spec --- openpkg-src/majordomo/majordomo.spec 13 Aug 2002 12:48:49 -0000 1.18 +++ openpkg-src/majordomo/majordomo.spec 6 Dec 2002 13:22:34 -0000 1.19 @@ -29,20 +29,21 @@ URL: http://www.greatcircle.com/majordomo/ Vendor: Great Circle Associates Packager: The OpenPKG Project -Distribution: OpenPKG [JUNK] +Distribution: OpenPKG [EVAL] Group: Mail License: Majordomo License Agreement Version: 1.94.5 -Release: 20020206 +Release: 20021206 # list of sources Source0: http://www.greatcircle.com/majordomo/%{version}/majordomo-%{version}.tar.gz +Source1: users.config # build information Prefix: %{l_prefix} BuildRoot: %{l_buildroot} BuildPreReq: OpenPKG, openpkg >= 20020206, perl, gcc -PreReq: OpenPKG, openpkg >= 20020206, perl, bash +PreReq: OpenPKG, openpkg >= 20020206, perl, bash, MTA AutoReq: no AutoReqProv: no @@ -56,22 +57,132 @@ %{l_shtool} subst \ -e 's;^\(PERL =\).*;\1 %{l_prefix}/bin/perl;' \ -e 's;^\(CC =\).*;\1 %{l_prefix}/bin/gcc;' \ - -e 's;^\(W_HOME =\).*;\1 %{l_prefix};' \ - -e 's;^\(W_USER =\).*;\1 %{l_muid};' \ - -e 's;^\(W_GROUP =\).*;\1 %{l_mgid};' \ + -e 's;^\(W_HOME =\).*;\1 %{l_prefix}/libexec/majordomo;' \ + -e 's;^\(W_MAJORDOMO_CF =\).*;\1 %{l_prefix}/etc/majordomo/majordomo.cf;' \ + -e 's;^\(MAN =\).*;\1 %{l_prefix}/man;' \ + -e 's;^\(W_USER =\).*;\1 %{l_ruid};' \ + -e 's;^\(W_GROUP =\).*;\1 %{l_rgid};' \ -e 's;^\(W_SHELL =\).*;\1 %{l_prefix}/bin/bash;' \ + -e 's;^\(W_PATH =\).*;\1 %{l_prefix}/bin:/bin:/usr/bin;' \ -e 's;^\(TMPDIR =\).*;\1 %{l_prefix}/var/majordomo/tmp;' \ Makefile + %{l_shtool} subst \ + -e 's|"Majordomo-Owner|"majordomo-owner|' \ + -e 's|"Majordomo|"majordomo|' \ + -e 's|\(\$homedir *= *"\)[^"]*\(";\)|\1%{l_prefix}/libexec/majordomo\2|' \ + -e 's|\(\$listdir *= *"\)[^"]*\(";\)|\1%{l_prefix}/var/majordomo/list\2|' \ + -e 's|\(\$log *= *"\)[^"]*\(";\)|\1%{l_prefix}/var/majordomo/log/majordomo.log\2|' \ + -e 's|\(\$sendmail_command *= *"\)[^"]*\(";\)|\1%{l_prefix}/sbin/sendmail\2|' \ + -e 's|\(\$whereami *= *"\)[^"]*\(";\)|\1example.com\2|' \ + -e 's|"/usr/tmp";|"%{l_prefix}/var/majordomo/tmp";|' \ + sample.cf + %{l_shtool} subst \ + -e 's;/usr/lib/sendmail;%{l_prefix}/sbin/sendmail;g' \ + `find . -type f -print` %{l_make} %{l_mflags -O} wrapper %install rm -rf $RPM_BUILD_ROOT - %{l_shtool} mkdir -p $RPM_BUILD_ROOT%{l_prefix} - %{l_make} %{l_mflags} install MAKEFLAGS="W_HOME=$RPM_BUILD_ROOT%{l_prefix}" - %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std} + %{l_shtool} mkdir -f -p -m 755 \ + $RPM_BUILD_ROOT%{l_prefix}/bin \ + $RPM_BUILD_ROOT%{l_prefix}/etc/majordomo \ + $RPM_BUILD_ROOT%{l_prefix}/libexec/majordomo \ + $RPM_BUILD_ROOT%{l_prefix}/var/majordomo/tmp \ + $RPM_BUILD_ROOT%{l_prefix}/var/majordomo/log \ + $RPM_BUILD_ROOT%{l_prefix}/var/majordomo/list + %{l_make} %{l_mflags} install install-wrapper \ + W_HOME=$RPM_BUILD_ROOT%{l_prefix}/libexec/majordomo \ + W_MAJORDOMO_CF=$RPM_BUILD_ROOT%{l_prefix}/etc/majordomo/majordomo.cf \ + MAN=$RPM_BUILD_ROOT%{l_prefix}/man \ + TMPDIR=$RPM_BUILD_ROOT%{l_prefix}/var/majordomo/tmp \ + W_USER=`%{l_shtool} echo -e %u` \ + W_GROUP=`%{l_shtool} echo -e %g` \ + WRAPPER_OWNER=`%{l_shtool} echo -e %u` \ + WRAPPER_GROUP=`%{l_shtool} echo -e %g` + mv $RPM_BUILD_ROOT%{l_prefix}/libexec/majordomo/majordomo.cf \ + $RPM_BUILD_ROOT%{l_prefix}/etc/majordomo/ + rm -f $RPM_BUILD_ROOT%{l_prefix}/libexec/majordomo/sample.cf + mv $RPM_BUILD_ROOT%{l_prefix}/libexec/majordomo/archive2.pl \ + $RPM_BUILD_ROOT%{l_prefix}/libexec/majordomo/archive + mv $RPM_BUILD_ROOT%{l_prefix}/libexec/majordomo/wrapper \ + $RPM_BUILD_ROOT%{l_prefix}/bin/majordomo-wrapper + mv $RPM_BUILD_ROOT%{l_prefix}/libexec/majordomo/bin/approve \ + $RPM_BUILD_ROOT%{l_prefix}/bin/majordomo-approve + mv $RPM_BUILD_ROOT%{l_prefix}/libexec/majordomo/bin/bounce \ + $RPM_BUILD_ROOT%{l_prefix}/bin/majordomo-bounce + mv $RPM_BUILD_ROOT%{l_prefix}/libexec/majordomo/bin/medit \ + $RPM_BUILD_ROOT%{l_prefix}/bin/majordomo-medit + for man in bounce-remind digest approve bounce resend; do + mv $RPM_BUILD_ROOT%{l_prefix}/man/man1/$man.1 \ + $RPM_BUILD_ROOT%{l_prefix}/man/man1/majordomo-$man.1 + done + rm -rf $RPM_BUILD_ROOT%{l_prefix}/libexec/majordomo/bin + rm -rf $RPM_BUILD_ROOT%{l_prefix}/libexec/majordomo/Tools + %{l_shtool} install -c -m 600 \ + %{SOURCE users.config} \ + $RPM_BUILD_ROOT%{l_prefix}/var/majordomo/list/ + echo "User Support Mailing List <[EMAIL PROTECTED]>" >users.info + %{l_shtool} install -c -m 600 \ + users.info $RPM_BUILD_ROOT%{l_prefix}/var/majordomo/list/users.info + %{l_shtool} install -c -m 600 \ + /dev/null $RPM_BUILD_ROOT%{l_prefix}/var/majordomo/list/users.aliases + %{l_shtool} install -c -m 600 \ + /dev/null $RPM_BUILD_ROOT%{l_prefix}/var/majordomo/list/users.archive + %{l_shtool} install -c -m 600 \ + /dev/null $RPM_BUILD_ROOT%{l_prefix}/var/majordomo/list/users + %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \ + %{l_files_std} \ + '%attr(4755,%{l_susr},%{l_rgrp}) %{l_prefix}/bin/majordomo-wrapper' \ + '%config %{l_prefix}/etc/majordomo/majordomo.cf' \ + '%attr(-,%{l_rusr},%{l_rgrp}) %{l_prefix}/var/majordomo/list' \ + '%config %attr(-,%{l_rusr},%{l_rgrp}) %{l_prefix}/var/majordomo/list/*' \ + '%attr(-,%{l_rusr},%{l_rgrp}) %{l_prefix}/var/majordomo/log' \ + '%attr(-,%{l_rusr},%{l_rgrp}) %{l_prefix}/var/majordomo/tmp' %files -f files %clean rm -rf $RPM_BUILD_ROOT + +%post + # add hook into MTA configuration + if [ ".$1" = .1 ]; then + aliases_file=`$RPM_INSTALL_PREFIX/etc/rc --query mta_aliases_file` + update_command=`$RPM_INSTALL_PREFIX/etc/rc --query mta_aliases_update` + if [ ".$aliases_file" != . ]; then + ( echo "# Majordomo Common Interface" + echo "majordomo: \"|$RPM_INSTALL_PREFIX/bin/majordomo-wrapper majordomo\"" + echo "majordomo-master: nobody" + echo "owner-majordomo: majordomo-master" + echo "owner-owner: majordomo-master" + echo "" + echo "# Majordomo Mailing List" + echo "users: \"|$RPM_INSTALL_PREFIX/bin/majordomo-wrapper resend -l users -h example.com users-L\"" + echo "users-L: :include:$RPM_INSTALL_PREFIX/var/majordomo/list/users," + echo " \"|$RPM_INSTALL_PREFIX/bin/majordomo-wrapper archive -a -f $RPM_INSTALL_PREFIX/var/majordomo/list/users.archive\"" + echo "users-request: \"|$RPM_INSTALL_PREFIX/bin/majordomo-wrapper request-answer users\"" + echo "users-approval: nobody" + echo "owner-users: nobody" + ) |\ + $RPM_INSTALL_PREFIX/lib/openpkg/rpmtool config \ + -a -i "$RPM_INSTALL_PREFIX:majordomo" $aliases_file + fi + if [ ".$update_command" != . ]; then + eval $update_command + fi + fi + +%postun + # remove hook from MTA configuration + if [ ".$1" = .0 ]; then + aliases_file=`$RPM_INSTALL_PREFIX/etc/rc --query mta_aliases_file` + update_command=`$RPM_INSTALL_PREFIX/etc/rc --query mta_aliases_update` + if [ ".$aliases_file" != . ]; then + $RPM_INSTALL_PREFIX/lib/openpkg/rpmtool config \ + -r -i "$RPM_INSTALL_PREFIX:majordomo" $aliases_file + fi + if [ ".$update_command" != . ]; then + eval $update_command + fi + fi Index: openpkg-src/majordomo/users.config ============================================================ $ cvs update -p -r1.1 users.config # The configuration file for a majordomo mailing list. # Comments start with the first # on a line, and continue to the end # of the line. There is no way to escape the # character. The file # uses either a key = value for simple (i.e. a single) values, or uses # a here document # key << END # value 1 # value 2 # [ more values 1 per line] # END # for installing multiple values in array types. Note that the here # document delimiter (END in the example above) must be the same at the end # of the list of entries as it is after the << characters. # Within a here document, the # sign is NOT a comment character. # A blank line is allowed only as the last line in the here document. # # The values can have multiple forms: # # absolute_dir -- A root anchored (i.e begins with a /) directory # absolute_file -- A root anchored (i.e begins with a /) file # bool -- choose from: yes, no, y, n # enum -- One of a list of possible values # integer -- an integer (string made up of the digits 0-9, # no decimal point) # float -- a floating point number with decimal point. # regexp -- A perl style regular expression with # leading and trailing /'s. # restrict_post -- a series of space or : separated file names in which # to look up the senders address # (restrict-post should go away to be replaced by an # array of files) # string -- any text up until a \n stripped of # leading and trailing whitespace # word -- any text with no embedded whitespace # # A blank value is also accepted, and will undefine the corresponding keyword. # The character Control-A may not be used in the file. # # A trailing _array on any of the above types means that that keyword # will allow more than one value. # # Within a here document for a string_array, the '-' sign takes on a special # significance. # # To embed a blank line in the here document, put a '-' as the first # and ONLY character on the line. # # To preserve whitespace at the beginning of a line, put a - on the # line before the whitespace to be preserved # # To put a literal '-' at the beginning of a line, double it. # # # The default if the keyword is not supplied is given in ()'s while the # type of value is given in [], the subsystem the keyword is used in is # listed in <>'s. (undef) as default value means that the keyword is not # defined or used. # admin_passwd [word] (users.admin) <majordomo> # The password for handling administrative tasks on the list. admin_passwd = users.admin # administrivia [bool] (yes) <resend> # Look for administrative requests (e.g. subscribe/unsubscribe) and # forward them to the list maintainer instead of the list. administrivia = yes # advertise [regexp_array] (undef) <majordomo> # If the requestor email address matches one of these regexps, then # the list will be listed in the output of a lists command. Failure # to match any regexp excludes the list from the output. The # regexps under noadvertise override these regexps. advertise << END END # announcements [bool] (yes) <majordomo> # If set to yes, comings and goings to the list will be sent to the # list owner. These SUBSCRIBE/UNSUBSCRIBE event announcements are # informational only (no action is required), although it is highly # recommended that they be monitored to watch for list abuse. announcements = yes # approve_passwd [word] (users.pass) <resend> # Password to be used in the approved header to allow posting to # moderated list, or to bypass resend checks. approve_passwd = users.pass # archive_dir [absolute_dir] (undef) <majordomo> # The directory where the mailing list archive is kept. This item # does not currently work. Leave it blank. archive_dir = # comments [string_array] (undef) <config> # Comment string that will be retained across config file rewrites. comments << END END # date_info [bool] (yes) <majordomo> # Put the last updated date for the info file at the top of the # info file rather than having it appended with an info command. # This is useful if the file is being looked at by some means other # than majordomo (e.g. finger). date_info = yes # date_intro [bool] (yes) <majordomo> # Put the last updated date for the intro file at the top of the # intro file rather than having it appended with an intro command. # This is useful if the file is being looked at by some means other # than majordomo (e.g. finger). date_intro = yes # debug [bool] (no) <resend> # Don't actually forward message, just go though the motions. debug = no # description [string] (undef) <majordomo> # Used as description for mailing list when replying to the lists # command. There is no quoting mechanism, and there is only room # for 50 or so characters. description = User Support Mailing List # digest_archive [absolute_dir] (undef) <digest> # The directory where the digest archive is kept. This item does # not currently work. Leave it blank. digest_archive = # digest_issue [integer] (1) <digest> # The issue number of the next issue digest_issue = 1 # digest_maxdays [integer] (undef) <digest> # automatically generate a new digest when the age of the oldest # article in the queue exceeds this number of days. digest_maxdays = # digest_maxlines [integer] (undef) <digest> # automatically generate a new digest when the size of the digest # exceeds this number of lines. digest_maxlines = # digest_name [string] (users) <digest> # The subject line for the digest. This string has the volume and # issue appended to it. digest_name = users # digest_rm_footer [word] (undef) <digest> # The value is the name of the list that applies the header and # footers to the messages that are received by digest. This allows # the list supplied headers and footers to be stripped before the # messages are included in the digest. This keyword is currently # non operative. digest_rm_footer = # digest_rm_fronter [word] (undef) <digest> # Works just like digest_rm_footer, except it removes the front # material. Just like digest_rm_footer, it is also non-operative. digest_rm_fronter = # digest_volume [integer] (1) <digest> # The current volume number digest_volume = 1 # digest_work_dir [absolute_dir] (undef) <digest> # The directory used as scratch space for digest. Don't change # this unless you know what you are doing digest_work_dir = # get_access [enum] (list) <majordomo> /open;closed;list/ # One of three values: open, list, closed. Open allows anyone # access to this command and closed completely disables the command # for everyone. List allows only list members access, or if # restrict_post is defined, only the addresses in those files are # allowed access. get_access = open # index_access [enum] (open) <majordomo> /open;closed;list/ # One of three values: open, list, closed. Open allows anyone # access to this command and closed completely disables the command # for everyone. List allows only list members access, or if # restrict_post is defined, only the addresses in those files are # allowed access. index_access = open # info_access [enum] (open) <majordomo> /open;closed;list/ # One of three values: open, list, closed. Open allows anyone # access to this command and closed completely disables the command # for everyone. List allows only list members access, or if # restrict_post is defined, only the addresses in those files are # allowed access. info_access = open # intro_access [enum] (list) <majordomo> /open;closed;list/ # One of three values: open, list, closed. Open allows anyone # access to this command and closed completely disables the command # for everyone. List allows only list members access, or if # restrict_post is defined, only the addresses in those files are # allowed access. intro_access = list # maxlength [integer] (40000) <resend,digest> # The maximum size of an unapproved message in characters. When # used with digest, a new digest will be automatically generated if # the size of the digest exceeds this number of characters. maxlength = 50000 # message_footer [string_array] (undef) <resend,digest> # Text to be appended at the end of all messages posted to the # list. The text is expanded before being used. The following # expansion tokens are defined: $LIST - the name of the current # list, $SENDER - the sender as taken from the from line, $VERSION, # the version of majordomo. If used in a digest, no expansion # tokens are provided message_footer << END ______________________________________________________________________ User Support Mailing List [EMAIL PROTECTED] Automated List Manager (Majordomo) [EMAIL PROTECTED] END # message_fronter [string_array] (undef) <resend,digest> # Text to be prepended to the beginning of all messages posted to # the list. The text is expanded before being used. The following # expansion tokens are defined: $LIST - the name of the current # list, $SENDER - the sender as taken from the from line, $VERSION, # the version of majordomo. If used in a digest, only the expansion # token _SUBJECTS_ is available, and it expands to the list of # message subjects in the digest message_fronter << END END # message_headers [string_array] (undef) <resend,digest> # These headers will be appended to the headers of the posted # message. The text is expanded before being used. The following # expansion tokens are defined: $LIST - the name of the current # list, $SENDER - the sender as taken from the from line, $VERSION, # the version of majordomo. message_headers << END X-Sender: $SENDER X-List-Name: $LIST List-Server: Majordomo [version $VERSION] List-Owner: <mailto:[EMAIL PROTECTED]> List-Post: <mailto:[EMAIL PROTECTED]> List-Help: <mailto:[EMAIL PROTECTED]?body=help> List-Subscribe: <mailto:[EMAIL PROTECTED]?body=subscribe%20users> List-Unsubscribe: <mailto:[EMAIL PROTECTED]?body=unsubscribe%20users> END # moderate [bool] (no) <resend> # If yes, all postings to the list must be approved by the # moderator. moderate = no # moderator [word] (undef) <resend> # Send bounces to moderator instead of owner-<listname> moderator = # mungedomain [bool] (no) <majordomo> # If set to yes, a different method is used to determine a matching # address. When set to yes, addresses of the form [EMAIL PROTECTED] # are considered equivalent to addresses of the form [EMAIL PROTECTED] # This allows a user to subscribe to a list using the domain # address rather than the address assigned to a particular machine # in the domain. This keyword affects the interpretation of # addresses for subscribe, unsubscribe, and all private options. mungedomain = no # noadvertise [regexp_array] (undef) <majordomo> # If the requestor name matches one of these regexps, then the list # will not be listed in the output of a lists command. Noadvertise # overrides advertise. noadvertise << END END # precedence [word] (bulk) <resend,digest> # Put a precedence header with value <value> into the outgoing # message. precedence = bulk # purge_received [bool] (no) <resend> # Remove all received lines before resending the message. purge_received = no # reply_to [word] () <resend,digest> # Put a reply-to header with value <value> into the outgoing # message. If the token $SENDER is used, then the address of the # sender is used as the value of the reply-to header. This is the # value of the reply-to header for digest lists. reply_to = [EMAIL PROTECTED] # resend_host [word] (undef) <resend> # The host name that is appended to all address strings specified # for resend. resend_host = # restrict_post [restrict_post] (undef) <resend> # If defined, only addresses listed in these files (colon or space # separated) can post to the mailing list. By default, these files # are relative to the lists directory. These files are also checked # when get_access, index_access, info_access, intro_access, # which_access, or who_access is set to 'list'. This is less useful # than it seems it should be since there is no way to create these # files if you do not have access to the machine running resend. # This mechanism will be replaced in a future version of # majordomo/resend. restrict_post = users users.aliases # sender [word] (owner-sw-nps) <majordomo,resend,digest> # The envelope and sender address for the resent mail. This string # has "@" and the value of resend_host appended to it to make a # complete address. For majordomo, it provides the sender address # for the welcome mail message generated as part of the subscribe # command. sender = owner-users # strip [bool] (yes) <majordomo> # When adding address to the list, strip off all comments etc, and # put just the raw address in the list file. In addition to the # keyword, if the file <listname>.strip exists, it is the same as # specifying a yes value. That yes value is overridden by the value # of this keyword. strip = yes # subject_prefix [word] (undef) <resend> # This word will be prefixed to the subject line, if it is not # already in the subject. The text is expanded before being used. # The following expansion tokens are defined: $LIST - the name of # the current list, $SENDER - the sender as taken from the from # line, $VERSION, the version of majordomo. subject_prefix = # subscribe_policy [enum] (open+confirm) <majordomo> /open;closed # One of three values: open, closed, auto; plus an optional # modifier: '+confirm'. Open allows people to subscribe themselves # to the list. Auto allows anybody to subscribe anybody to the list # without maintainer approval. Closed requires maintainer approval # for all subscribe requests to the list. Adding '+confirm', ie, # 'open+confirm', will cause majordomo to send a reply back to the # subscriber which includes a authentication number which must be # sent back in with another subscribe command. subscribe_policy = open+confirm # taboo_body [regexp_array] (undef) <resend> # If any line of the body matches one of these regexps, then the # message will be bounced for review. taboo_body << END END # taboo_headers [regexp_array] (undef) <resend> # If any of the headers matches one of these regexps, then the # message will be bounced for review. taboo_headers << END END # unsubscribe_policy [enum] (open) <majordomo> /open;closed;auto/ # One of three values: open, closed, auto. Open allows people to # unsubscribe themselves from the list. Auto allows anybody to # unsubscribe anybody to the list without maintainer approval. The # existence of the file <listname>.auto is the same as specifying # the value auto. Closed requires maintainer approval for all # unsubscribe requests to the list. In addition to the keyword, if # the file <listname>.closed exists, it is the same as specifying # the value closed. The value of this keyword overrides the value # supplied by any existent files. unsubscribe_policy = open # welcome [bool] (yes) <majordomo> # If set to yes, a welcome message (and optional 'intro' file) will # be sent to the newly subscribed user. welcome = yes # which_access [enum] (open) <majordomo> /open;closed;list/ # One of three values: open, list, closed. Open allows anyone # access to this command and closed completely disables the command # for everyone. List allows only list members access, or if # restrict_post is defined, only the addresses in those files are # allowed access. which_access = closed # who_access [enum] (open) <majordomo> /open;closed;list/ # One of three values: open, list, closed. Open allows anyone # access to this command and closed completely disables the command # for everyone. List allows only list members access, or if # restrict_post is defined, only the addresses in those files are # allowed access. who_access = closed Index: openpkg-web/news.txt ============================================================ $ cvs diff -u -r1.2206 -r1.2207 news.txt --- openpkg-web/news.txt 6 Dec 2002 10:50:30 -0000 1.2206 +++ openpkg-web/news.txt 6 Dec 2002 13:22:34 -0000 1.2207 @@ -1,3 +1,4 @@ +06-Dec-2002: Upgraded package: P<majordomo-1.94.5-20021206> 06-Dec-2002: New package: P<xerces-c-2.1.0-20021206> 06-Dec-2002: Upgraded package: P<mozilla-1.2.1-20021206> 06-Dec-2002: Upgraded package: P<openssl-0.9.6h-20021206> ______________________________________________________________________ The OpenPKG Project www.openpkg.org CVS Repository Commit List [EMAIL PROTECTED]