svn commit: r301331 - in head/mail/quickml: . files
Steve Wills
swills at FreeBSD.org
Sun Jul 22 14:04:12 UTC 2012
Author: swills
Date: Sun Jul 22 14:04:11 2012
New Revision: 301331
URL: http://svn.freebsd.org/changeset/ports/301331
Log:
- Make patches for ruby19 environment
- Fix Makefile
- SUB_LIST: to work rc.d scripts proper.
- PLIST_SUB: to change pkg-plist based on Make variables.
PR: ports/169345
Submitted by: Masaki TAGAWA <masaki at club.kyutech.ac.jp>
Approved by: maintainer timeout (yaizawa at 2004.jukuin.keio.ac.jp, >3 weeks)
Added:
head/mail/quickml/files/extra-patch-limit-config.rb (contents, props changed)
head/mail/quickml/files/extra-patch-limit-core.rb (contents, props changed)
head/mail/quickml/files/extra-patch-limit-messages.ja (contents, props changed)
head/mail/quickml/files/extra-patch-limit-quickmlrc.sample.in (contents, props changed)
head/mail/quickml/files/extra-patch-ruby19-config.rb (contents, props changed)
head/mail/quickml/files/extra-patch-ruby19-core.rb (contents, props changed)
head/mail/quickml/files/extra-patch-ruby19-gettext.rb (contents, props changed)
head/mail/quickml/files/extra-patch-ruby19-mail.rb (contents, props changed)
head/mail/quickml/files/extra-patch-ruby19-messages.ja (contents, props changed)
head/mail/quickml/files/extra-patch-ruby19-quickml-analog.in (contents, props changed)
head/mail/quickml/files/extra-patch-ruby19-quickml.in (contents, props changed)
head/mail/quickml/files/extra-patch-ruby19-utils.rb (contents, props changed)
head/mail/quickml/files/extra-patch-woanalog-Makefile.in (contents, props changed)
Deleted:
head/mail/quickml/files/without_quickml-analog
Modified:
head/mail/quickml/Makefile (contents, props changed)
head/mail/quickml/files/extra-patch-ruby19-Makefile.in (contents, props changed)
head/mail/quickml/pkg-plist (contents, props changed)
Modified: head/mail/quickml/Makefile
==============================================================================
--- head/mail/quickml/Makefile Sun Jul 22 13:53:27 2012 (r301330)
+++ head/mail/quickml/Makefile Sun Jul 22 14:04:11 2012 (r301331)
@@ -7,60 +7,52 @@
PORTNAME= quickml
PORTVERSION= 0.7
-PORTREVISION= 12
+PORTREVISION= 13
CATEGORIES= mail
MASTER_SITES= http://0xcc.net/quickml/
MAINTAINER= yaizawa at 2004.jukuin.keio.ac.jp
COMMENT= An easy-to-use mailing list system
-OPTIONS+= ANALOG "Enable quickml-analog" on \
- LIMIT "Enable Creators and Members Limitation Patch" off
-
-USERS= quickml
-GROUPS= quickml
-
LICENSE= GPLv2
USE_AUTOTOOLS= autoconf
GNU_CONFIGURE= yes
USE_RUBY= yes
-
USE_RC_SUBR= ${PORTNAME}
-CONFIGURE_ARGS+= --datadir="${PREFIX}/share/quickml"
-CONFIGURE_ARGS+= --with-ruby="${RUBY}"
-CONFIGURE_ARGS+= --with-user="${USERS}"
-CONFIGURE_ARGS+= --with-group="${GROUPS}"
-CONFIGURE_ARGS+= --with-rubydir="${RUBY_LIBDIR}"
+USERS= quickml
+GROUPS= quickml
+
+CONFIGURE_ARGS= --datadir="${PREFIX}/share/quickml" \
+ --with-ruby="${RUBY}" \
+ --with-user="${USERS}" \
+ --with-group="${GROUPS}" \
+ --with-rubydir="${RUBY_LIBDIR}"
+
+SUB_LIST= RUBY=${RUBY}
+
+OPTIONS= ANALOG "Enable quickml-analog" on \
+ LIMIT "Enable Creators and Members Limitation Patch" off
.include <bsd.port.pre.mk>
.if ${RUBY_VER} == 1.9
-EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-ruby19-Makefile.in
-.endif
-
-.if !defined(WITHOUT_LIMIT)
-PATCH_DIST_STRIP= -p1
+EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-ruby19-*
.endif
.if !defined(WITHOUT_ANALOG)
USE_GHOSTSCRIPT_RUN= yes
RUN_DEPENDS+= gnuplot:${PORTSDIR}/math/gnuplot \
convert:${PORTSDIR}/graphics/ImageMagick
+PLIST_SUB+= ANALOG=""
+.else
+PLIST_SUB+= ANALOG="@comment "
+EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-woanalog-Makefile.in
.endif
-post-fetch:
.if !defined(WITHOUT_LIMIT)
- @ ( cd ${DISTDIR} && ${FETCH_CMD} -o ${PORTNAME}-${PORTVERSION}-limited.patch "http://linux.matchy.net/view.xcg?c=plugin;plugin=attach_download;p=QuickMLLimited;file_name=${PORTNAME}-${PORTVERSION}-limited.patch" )
-.endif
-
-post-patch:
-.if !defined(WITHOUT_LIMIT)
- @${PATCH} ${PATCH_DIST_ARGS} < ${DISTDIR}/${PORTNAME}-${PORTVERSION}-limited.patch
-.endif
-.if defined(WITHOUT_ANALOG)
- ${PATCH} ${PATCH_DIST_ARGS} < ${FILESDIR}/without_quickml-analog
+EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-limit-*
.endif
post-install:
Added: head/mail/quickml/files/extra-patch-limit-config.rb
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/mail/quickml/files/extra-patch-limit-config.rb Sun Jul 22 14:04:11 2012 (r301331)
@@ -0,0 +1,22 @@
+--- lib/quickml/config.rb.org 2004-06-07 17:50:59.000000000 +0900
++++ lib/quickml/config.rb 2012-06-21 15:55:28.000000000 +0900
+@@ -56,6 +56,19 @@
+ @group = (config[:group] or "root")
+ @use_qmail_verp = (config[:use_qmail_verp] or false)
+
++ @creator_check = (config[:creator_check] or false)
++ @creator_addresses = if config[:creator_addresses]
++ config[:creator_addresses]
++ else
++ [ @domain ]
++ end
++ @member_check = (config[:member_check] or false)
++ @member_addresses = if config[:member_addresses]
++ config[:member_addresses]
++ else
++ [ @domain ]
++ end
++
+ charset = @catalog.charset if @catalog
+ @content_type = "text/plain"
+
Added: head/mail/quickml/files/extra-patch-limit-core.rb
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/mail/quickml/files/extra-patch-limit-core.rb Sun Jul 22 14:04:11 2012 (r301331)
@@ -0,0 +1,144 @@
+--- lib/quickml/core.rb.org 2004-06-09 05:15:11.000000000 +0900
++++ lib/quickml/core.rb 2012-06-21 15:55:28.000000000 +0900
+@@ -17,6 +17,8 @@
+ class TooLargeMail < QuickMLException; end
+ class TooManyMembers < QuickMLException; end
+ class InvalidMLName < QuickMLException; end
++ class InvalidCreator < QuickMLException; end
++ class InvalidMembers < QuickMLException; end
+
+ # It preserves case information. but it accepts an
+ # address case-insensitively for member management.
+@@ -96,6 +98,10 @@
+ @logger = @config.logger
+ @catalog = @config.catalog
+
++ if newly_created? and @config.creator_check
++ raise InvalidCreator unless valid_members?(creator, @config.creator_addresses)
++ end
++
+ init_ml_config
+ init_members
+ init_count
+@@ -114,6 +120,13 @@
+ attr_reader :charset
+ attr_reader :max_members
+
++ def valid_members? (address, pat)
++ pat.each do |entry|
++ return true if /#{entry}/i =~ address
++ end
++ false
++ end
++
+ def self.valid_name? (name)
+ /^([0-9a-zA-Z_.-]+)(@[0-9a-zA-Z_.-]+)?$/ =~ name
+ end
+@@ -607,6 +620,7 @@
+ begin
+ add_member(address)
+ rescue TooManyMembers
++ rescue InvalidMembers
+ end
+ }
+ submit(mail)
+@@ -636,6 +650,9 @@
+ end
+
+ def add_member (address)
++ if @config.member_check
++ raise InvalidMembers unless valid_members?(address, @config.member_addresses)
++ end
+ if exclude?(address)
+ @logger.vlog "Excluded: #{address}"
+ return
+@@ -827,6 +844,29 @@
+ @logger.log "[#{ml.name}]: Too Many Members: #{address}"
+ end
+
++ def report_invalid_members (ml, invalid_members)
++ header = []
++ subject = Mail.encode_field(_("[QuickML] Error: %s", @mail["Subject"]))
++ header.push(["To", @mail.from],
++ ["From", ml.address],
++ ["Subject", subject],
++ ["Content-type", content_type])
++
++ body = _("The following addresses cannot be added because <%s> mailing list can join known members only.\n\n",
++ ml.address)
++ invalid_members.each {|address|
++ body << sprintf("<%s>\n", address)
++ }
++
++ body << generate_footer
++ Mail.send_mail(@config.smtp_host, @config.smtp_port, @logger,
++ :mail_from => '',
++ :recipient => @mail.from,
++ :header => header,
++ :body => body)
++ @logger.log "[#{ml.name}]: Invalid Members by #{@mail.from}"
++ end
++
+ def report_invalid_mladdress (mladdress)
+ header = []
+ subject = Mail.encode_field(_("[QuickML] Error: %s", @mail["Subject"]))
+@@ -846,6 +886,23 @@
+ @logger.log "Invalid ML Address: #{mladdress}"
+ end
+
++ def report_invalid_creator (mladdress)
++ header = []
++ subject = Mail.encode_field(_("[QuickML] Error: %s", @mail["Subject"]))
++ header.push(["To", @mail.from],
++ ["From", @config.postmaster],
++ ["Subject", subject],
++ ["Content-type", content_type])
++ body = _("Invalid Creator: <%s> by <%s>.\n", mladdress, @mail.from)
++ body << generate_footer
++ Mail.send_mail(@config.smtp_host, @config.smtp_port, @logger,
++ :mail_from => '',
++ :recipient => @mail.from,
++ :header => header,
++ :body => body)
++ @logger.log "Invalid Creator: #{mladdress} by #{@mail.from}"
++ end
++
+ def mail_log
+ @logger.vlog "MAIL FROM:<#{@mail.mail_from}>"
+ @mail.recipients.each {|recipient|
+@@ -868,6 +925,8 @@
+ ml.add_member(address)
+ rescue TooManyMembers
+ @unadded_addresses.push(address)
++ rescue InvalidMembers
++ @invalid_members.push(address)
+ end
+ end
+
+@@ -879,6 +938,7 @@
+
+ def submit_article (ml)
+ @unadded_addresses = []
++ @invalid_members = []
+ if ml_address_in_to?(ml)
+ add_member(ml, @mail.from)
+ @mail.collect_cc.each {|address|
+@@ -888,6 +948,9 @@
+ unless @unadded_addresses.empty?
+ report_too_many_members(ml, @unadded_addresses)
+ end
++ unless @invalid_members.empty?
++ report_invalid_members(ml, @invalid_members)
++ end
+ ml.submit(@mail)
+ end
+
+@@ -991,6 +1054,8 @@
+ }
+ rescue InvalidMLName
+ report_invalid_mladdress(mladdress)
++ rescue InvalidCreator
++ report_invalid_creator(mladdress)
+ end
+ end
+ end
Added: head/mail/quickml/files/extra-patch-limit-messages.ja
==============================================================================
Binary file. No diff available.
Added: head/mail/quickml/files/extra-patch-limit-quickmlrc.sample.in
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/mail/quickml/files/extra-patch-limit-quickmlrc.sample.in Sun Jul 22 14:04:11 2012 (r301331)
@@ -0,0 +1,17 @@
+--- quickmlrc.sample.in.org 2004-06-07 17:50:58.000000000 +0900
++++ quickmlrc.sample.in 2012-06-21 15:55:28.000000000 +0900
+@@ -31,4 +31,14 @@
+
+ # :message_catalog => nil # for English messages
+ :message_catalog => '%DATADIR%/messages.ja',
++
++ :creator_check => false,
++ :creator_addresses => [
++ '^.+ at example\.net$',
++ ],
++
++ :member_check => false,
++ :member_addresses => [
++ '^.+ at example\.net$',
++ ],
+ }
Modified: head/mail/quickml/files/extra-patch-ruby19-Makefile.in
==============================================================================
--- head/mail/quickml/files/extra-patch-ruby19-Makefile.in Sun Jul 22 13:53:27 2012 (r301330)
+++ head/mail/quickml/files/extra-patch-ruby19-Makefile.in Sun Jul 22 14:04:11 2012 (r301331)
@@ -5,7 +5,7 @@
quickml: quickml.in
for i in $(MESSAGES); do\
- $(RUBY) lib/quickml/gettext.rb $$i quickml.in lib/quickml/*.rb;\
-+ $(RUBY) -E Shift_JIS:UTF-16LE lib/quickml/gettext.rb $$i quickml.in lib/quickml/*.rb;\
++ $(RUBY) -Ke lib/quickml/gettext.rb $$i quickml.in lib/quickml/*.rb;\
done
rm -f quickml
sed -e 's!%RUBY%!$(RUBY)!g' \
Added: head/mail/quickml/files/extra-patch-ruby19-config.rb
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/mail/quickml/files/extra-patch-ruby19-config.rb Sun Jul 22 14:04:11 2012 (r301331)
@@ -0,0 +1,11 @@
+--- lib/quickml/config.rb.orig 2012-06-21 17:13:32.000000000 +0900
++++ lib/quickml/config.rb 2012-06-21 17:13:46.000000000 +0900
+@@ -62,7 +62,7 @@
+ @confirm_ml_creation = (config[:confirm_ml_creation] or false)
+
+ instance_variables.each {|name|
+- self.class.class_eval { attr_reader name.delete('@') }
++ self.class.class_eval { attr_reader name.to_s.delete('@') }
+ }
+ end
+
Added: head/mail/quickml/files/extra-patch-ruby19-core.rb
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/mail/quickml/files/extra-patch-ruby19-core.rb Sun Jul 22 14:04:11 2012 (r301331)
@@ -0,0 +1,15 @@
+--- lib/quickml/core.rb.orig 2004-06-09 05:15:11.000000000 +0900
++++ lib/quickml/core.rb 2012-06-21 16:08:14.000000000 +0900
+@@ -1,3 +1,4 @@
++#coding: euc-jp
+ #
+ # quickml/core - a part of quickml server
+ #
+@@ -8,7 +9,6 @@
+ # You can redistribute it and/or modify it under the terms of
+ # the GNU General Public License version 2.
+ #
+-$KCODE='e'
+ require 'quickml/utils'
+ require 'quickml/gettext'
+
Added: head/mail/quickml/files/extra-patch-ruby19-gettext.rb
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/mail/quickml/files/extra-patch-ruby19-gettext.rb Sun Jul 22 14:04:11 2012 (r301331)
@@ -0,0 +1,7 @@
+--- lib/quickml/gettext.rb.orig 2012-06-21 16:12:56.000000000 +0900
++++ lib/quickml/gettext.rb 2012-06-21 16:13:31.000000000 +0900
+@@ -1,3 +1,4 @@
++#coding: euc-jp
+ #
+ # quickml/gettext - a part of quickml server
+ #
Added: head/mail/quickml/files/extra-patch-ruby19-mail.rb
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/mail/quickml/files/extra-patch-ruby19-mail.rb Sun Jul 22 14:04:11 2012 (r301331)
@@ -0,0 +1,7 @@
+--- lib/quickml/mail.rb.orig 2012-06-21 16:10:20.000000000 +0900
++++ lib/quickml/mail.rb 2012-06-21 16:11:01.000000000 +0900
+@@ -1,3 +1,4 @@
++#coding: euc-jp
+ #
+ # quickml/mail - a part of quickml server
+ #
Added: head/mail/quickml/files/extra-patch-ruby19-messages.ja
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/mail/quickml/files/extra-patch-ruby19-messages.ja Sun Jul 22 14:04:11 2012 (r301331)
@@ -0,0 +1,7 @@
+--- messages.ja.orig 2012-06-21 16:22:16.000000000 +0900
++++ messages.ja 2012-06-21 16:22:45.000000000 +0900
+@@ -1,3 +1,4 @@
++#coding: euc-jp
+ # -*- mode: ruby -*-
+ Messages = {
+ "<%s> was removed from the mailing list:\n<%s>\n" =>
Added: head/mail/quickml/files/extra-patch-ruby19-quickml-analog.in
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/mail/quickml/files/extra-patch-ruby19-quickml-analog.in Sun Jul 22 14:04:11 2012 (r301331)
@@ -0,0 +1,11 @@
+--- quickml-analog.in.orig 2004-06-07 17:50:59.000000000 +0900
++++ quickml-analog.in 2012-06-21 15:52:24.000000000 +0900
+@@ -12,7 +12,7 @@
+ #
+
+ require 'getoptlong'
+-require 'ftools'
++require 'fileutils'
+ require 'time'
+ require 'cgi'
+
Added: head/mail/quickml/files/extra-patch-ruby19-quickml.in
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/mail/quickml/files/extra-patch-ruby19-quickml.in Sun Jul 22 14:04:11 2012 (r301331)
@@ -0,0 +1,16 @@
+--- quickml.in.orig 2004-06-07 17:50:58.000000000 +0900
++++ quickml.in 2012-06-21 16:05:07.000000000 +0900
+@@ -1,4 +1,5 @@
+ #! %RUBY%
++#coding: euc-jp
+ # -*- mode: ruby -*-
+ #
+ # quickml - an easy-to-use mailing list server
+@@ -11,7 +12,6 @@
+ # the GNU General Public License version 2.
+ #
+
+-$KCODE = "e"
+ require 'quickml'
+
+ def error (msg)
Added: head/mail/quickml/files/extra-patch-ruby19-utils.rb
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/mail/quickml/files/extra-patch-ruby19-utils.rb Sun Jul 22 14:04:11 2012 (r301331)
@@ -0,0 +1,19 @@
+--- lib/quickml/utils.rb.orig 2004-06-07 17:50:59.000000000 +0900
++++ lib/quickml/utils.rb 2012-06-21 16:06:07.000000000 +0900
+@@ -1,3 +1,4 @@
++#coding: euc-jp
+ #
+ # quickml/utils - a part of quickml server
+ #
+@@ -8,10 +9,9 @@
+ # You can redistribute it and/or modify it under the terms of
+ # the GNU General Public License version 2.
+ #
+-$KCODE = 'e'
+ require 'kconv'
+ require 'net/smtp'
+-require 'ftools'
++require 'fileutils'
+
+ class TooLongLine < Exception; end
+ class IO
Added: head/mail/quickml/files/extra-patch-woanalog-Makefile.in
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/mail/quickml/files/extra-patch-woanalog-Makefile.in Sun Jul 22 14:04:11 2012 (r301331)
@@ -0,0 +1,24 @@
+*** Makefile.in.with_analog Thu Jul 1 00:20:16 2004
+--- Makefile.in Thu Jul 1 00:22:28 2004
+***************
+*** 142,151 ****
+ RD = quickml.en.rd ml-usage.en.rd quickml.ja.rd with-mta.ja.rd
+ MESSAGES = messages.ja
+ EXTRA_DIST = $(RD) $(MESSAGES) quickml.in quickml-ctl.in \
+! quickmlrc.sample.in quickml-analog.in
+
+ CLEANFILES = quickml quickml-ctl quickmlrc.sample quickml-analog
+- bin_SCRIPTS = quickml-analog
+ sbin_SCRIPTS = quickml quickml-ctl
+ quickmlstatedir = $(localstatedir)/quickml
+ etcdir = $(sysconfdir)
+--- 142,150 ----
+ RD = quickml.en.rd ml-usage.en.rd quickml.ja.rd with-mta.ja.rd
+ MESSAGES = messages.ja
+ EXTRA_DIST = $(RD) $(MESSAGES) quickml.in quickml-ctl.in \
+! quickmlrc.sample.in
+
+ CLEANFILES = quickml quickml-ctl quickmlrc.sample quickml-analog
+ sbin_SCRIPTS = quickml quickml-ctl
+ quickmlstatedir = $(localstatedir)/quickml
+ etcdir = $(sysconfdir)
Modified: head/mail/quickml/pkg-plist
==============================================================================
--- head/mail/quickml/pkg-plist Sun Jul 22 13:53:27 2012 (r301330)
+++ head/mail/quickml/pkg-plist Sun Jul 22 14:04:11 2012 (r301331)
@@ -8,7 +8,7 @@
%%RUBY_LIBDIR%%/quickml/utils.rb
%%RUBY_LIBDIR%%/quickml/version.rb
%%RUBY_LIBDIR%%/quickml.rb
-bin/quickml-analog
+%%ANALOG%%bin/quickml-analog
sbin/quickml
sbin/quickml-ctl
@unexec if cmp -s %D/etc/quickmlrc %D/etc/quickmlrc.sample; then rm -f %D/etc/quickmlrc; fi
More information about the svn-ports-head
mailing list