summaryrefslogtreecommitdiff
path: root/news/hellanzb
diff options
context:
space:
mode:
authorbjs <bjs@pkgsrc.org>2008-07-30 13:26:39 +0000
committerbjs <bjs@pkgsrc.org>2008-07-30 13:26:39 +0000
commit8d05f8b9410a4b43fcbb254b4bfd483e5919219f (patch)
tree3992cdddf2160600f8ada5a38d17bcd11c954af9 /news/hellanzb
parent87c03d4e9633e75a8d3e2ee6f4dd9314be743527 (diff)
downloadpkgsrc-8d05f8b9410a4b43fcbb254b4bfd483e5919219f.tar.gz
Import hellanzb-0.14, SVN revision 1087 (there were significant bug-fixes
after the least release). Hellanzb is a Python application designed for UNIX0-like environments that retrieves nzb files and fully processes them; the goal is getting files from USENET as convenient and painless as possible. All that's required is moving an nzb file to the queue directory. The rest, i.e. fetching, par-checking, un-raring, etc. is handled by hellanzb. it also comes with this fantastic ASCII art (behold!): ;;;; . . ... :liil ...........:..: ,._ ,._ ................... : l$$$: _.,._ _..,,._ "$$$b. "$$$b. `_..,,._ ::: : $$$$.d$$$$$$L .d$$$$$$$$L $$$$: $$$$: .d$$$$$$$$$; ::: : :$$$$P` T$$$$: :$$$$` 7$$F:$$$$ :$$$$ :$$$$: `$$$$ __ _ |_ : l$$$F :$$$$$ 8$$$l"""""` l$$$l l$$$l l$$$l $$$L | ) /_ |_) : $$$$: l$$$$$L `4$$$bcmang;ACID$::$$$88:`4$$$bmm$$$$;. ... : ``` ```"" ``` ``` . ```. ..:::.. :..............................................: v 0 . 1 4 `:::` `
Diffstat (limited to 'news/hellanzb')
-rw-r--r--news/hellanzb/DESCR5
-rw-r--r--news/hellanzb/Makefile44
-rw-r--r--news/hellanzb/Makefile.version4
-rw-r--r--news/hellanzb/PLIST101
-rw-r--r--news/hellanzb/distinfo6
-rw-r--r--news/hellanzb/files/hellanzb.conf245
-rw-r--r--news/hellanzb/patches/patch-aa15
7 files changed, 420 insertions, 0 deletions
diff --git a/news/hellanzb/DESCR b/news/hellanzb/DESCR
new file mode 100644
index 00000000000..bcc37646252
--- /dev/null
+++ b/news/hellanzb/DESCR
@@ -0,0 +1,5 @@
+Hellanzb is a Python application designed for UNIX-like environments that
+retrieves nzb files and fully processes them; the goal is getting
+files from USENET as convenient and painless as possible. All that's
+required is moving an nzb file to the queue directory. The rest, i.e.
+fetching, par-checking, un-raring, etc. is handled by hellanzb.
diff --git a/news/hellanzb/Makefile b/news/hellanzb/Makefile
new file mode 100644
index 00000000000..c5a4fca9923
--- /dev/null
+++ b/news/hellanzb/Makefile
@@ -0,0 +1,44 @@
+# $NetBSD: Makefile,v 1.1.1.1 2008/07/30 13:26:39 bjs Exp $
+#
+.include "../../news/hellanzb/Makefile.version"
+
+DISTNAME= hellanzb-${HELLANZB_VERSION}.${HELLANZB_SVN_REV}
+CATEGORIES= news
+MASTER_SITES= ${MASTER_SITE_LOCAL}
+
+MAINTAINER= bjs@NetBSD.org
+HOMEPAGE= http://www.hellanzb.com:8080/trac
+COMMENT= Command line nntp file grabber
+
+PKG_DESTDIR_SUPPORT= user-destdir
+
+DEPENDS+= ${PYPKGPREFIX}-twisted>=1.3:../../net/py-twisted
+DEPENDS+= par2>=0.4:../../archivers/par2
+DEPENDS+= unrar>=3.5.4:../../archivers/unrar
+
+PYDISTUTILSPKG= yes
+
+PYTHON_VERSIONS_ACCEPTED= 25 24
+
+EGDIR= ${PREFIX}/share/examples/${PKGBASE}
+WRKSRC= ${WRKDIR}/hellanzb-${HELLANZB_VERSION}-trunk
+
+CONF_FILES= ${EGDIR}/hellanzb.conf ${PKG_SYSCONFDIR}/hellanzb.conf
+
+SUBST_CLASSES+= conf
+SUBST_FILES.conf= ${WRKDIR}/hellanzb.conf
+SUBST_MESSAGE.conf= Performing pathname substitutions in hellanzb.conf.
+SUBST_STAGE.conf= pre-install
+SUBST_VARS.conf= PREFIX
+
+post-extract:
+ ${CP} ${FILESDIR}/hellanzb.conf ${WRKDIR}
+
+post-install:
+ ${INSTALL_DATA_DIR} ${DESTDIR}${EGDIR}
+ ${INSTALL_DATA} ${WRKDIR}/hellanzb.conf ${DESTDIR}${EGDIR}
+
+.include "../../lang/python/extension.mk"
+.include "../../textproc/py-xml/buildlink3.mk"
+
+.include "../../mk/bsd.pkg.mk"
diff --git a/news/hellanzb/Makefile.version b/news/hellanzb/Makefile.version
new file mode 100644
index 00000000000..d366283792e
--- /dev/null
+++ b/news/hellanzb/Makefile.version
@@ -0,0 +1,4 @@
+# $NetBSD: Makefile.version,v 1.1.1.1 2008/07/30 13:26:39 bjs Exp $
+
+HELLANZB_VERSION= 0.14
+HELLANZB_SVN_REV= 1087
diff --git a/news/hellanzb/PLIST b/news/hellanzb/PLIST
new file mode 100644
index 00000000000..ecceb602ff9
--- /dev/null
+++ b/news/hellanzb/PLIST
@@ -0,0 +1,101 @@
+@comment $NetBSD: PLIST,v 1.1.1.1 2008/07/30 13:26:39 bjs Exp $
+bin/hellanzb.py
+${PYSITELIB}/Hellanzb/Core.py
+${PYSITELIB}/Hellanzb/Core.pyc
+${PYSITELIB}/Hellanzb/Core.pyo
+${PYSITELIB}/Hellanzb/Daemon.py
+${PYSITELIB}/Hellanzb/Daemon.pyc
+${PYSITELIB}/Hellanzb/Daemon.pyo
+${PYSITELIB}/Hellanzb/Elite.py
+${PYSITELIB}/Hellanzb/Elite.pyc
+${PYSITELIB}/Hellanzb/Elite.pyo
+${PYSITELIB}/Hellanzb/Growl.py
+${PYSITELIB}/Hellanzb/Growl.pyc
+${PYSITELIB}/Hellanzb/Growl.pyo
+${PYSITELIB}/Hellanzb/HellaReactor.py
+${PYSITELIB}/Hellanzb/HellaReactor.pyc
+${PYSITELIB}/Hellanzb/HellaReactor.pyo
+${PYSITELIB}/Hellanzb/HellaXMLRPC/HtPasswdAuth.py
+${PYSITELIB}/Hellanzb/HellaXMLRPC/HtPasswdAuth.pyc
+${PYSITELIB}/Hellanzb/HellaXMLRPC/HtPasswdAuth.pyo
+${PYSITELIB}/Hellanzb/HellaXMLRPC/__init__.py
+${PYSITELIB}/Hellanzb/HellaXMLRPC/__init__.pyc
+${PYSITELIB}/Hellanzb/HellaXMLRPC/__init__.pyo
+${PYSITELIB}/Hellanzb/HellaXMLRPC/xmlrpc.py
+${PYSITELIB}/Hellanzb/HellaXMLRPC/xmlrpc.pyc
+${PYSITELIB}/Hellanzb/HellaXMLRPC/xmlrpc.pyo
+${PYSITELIB}/Hellanzb/Log.py
+${PYSITELIB}/Hellanzb/Log.pyc
+${PYSITELIB}/Hellanzb/Log.pyo
+${PYSITELIB}/Hellanzb/Logging.py
+${PYSITELIB}/Hellanzb/Logging.pyc
+${PYSITELIB}/Hellanzb/Logging.pyo
+${PYSITELIB}/Hellanzb/NZBDownloader.py
+${PYSITELIB}/Hellanzb/NZBDownloader.pyc
+${PYSITELIB}/Hellanzb/NZBDownloader.pyo
+${PYSITELIB}/Hellanzb/NZBLeecher/ArticleDecoder.py
+${PYSITELIB}/Hellanzb/NZBLeecher/ArticleDecoder.pyc
+${PYSITELIB}/Hellanzb/NZBLeecher/ArticleDecoder.pyo
+${PYSITELIB}/Hellanzb/NZBLeecher/DupeHandler.py
+${PYSITELIB}/Hellanzb/NZBLeecher/DupeHandler.pyc
+${PYSITELIB}/Hellanzb/NZBLeecher/DupeHandler.pyo
+${PYSITELIB}/Hellanzb/NZBLeecher/NZBLeecherUtil.py
+${PYSITELIB}/Hellanzb/NZBLeecher/NZBLeecherUtil.pyc
+${PYSITELIB}/Hellanzb/NZBLeecher/NZBLeecherUtil.pyo
+${PYSITELIB}/Hellanzb/NZBLeecher/NZBModel.py
+${PYSITELIB}/Hellanzb/NZBLeecher/NZBModel.pyc
+${PYSITELIB}/Hellanzb/NZBLeecher/NZBModel.pyo
+${PYSITELIB}/Hellanzb/NZBLeecher/NZBParser.py
+${PYSITELIB}/Hellanzb/NZBLeecher/NZBParser.pyc
+${PYSITELIB}/Hellanzb/NZBLeecher/NZBParser.pyo
+${PYSITELIB}/Hellanzb/NZBLeecher/NZBSegmentQueue.py
+${PYSITELIB}/Hellanzb/NZBLeecher/NZBSegmentQueue.pyc
+${PYSITELIB}/Hellanzb/NZBLeecher/NZBSegmentQueue.pyo
+${PYSITELIB}/Hellanzb/NZBLeecher/Protocol.py
+${PYSITELIB}/Hellanzb/NZBLeecher/Protocol.pyc
+${PYSITELIB}/Hellanzb/NZBLeecher/Protocol.pyo
+${PYSITELIB}/Hellanzb/NZBLeecher/__init__.py
+${PYSITELIB}/Hellanzb/NZBLeecher/__init__.pyc
+${PYSITELIB}/Hellanzb/NZBLeecher/__init__.pyo
+${PYSITELIB}/Hellanzb/NZBLeecher/nntp.py
+${PYSITELIB}/Hellanzb/NZBLeecher/nntp.pyc
+${PYSITELIB}/Hellanzb/NZBLeecher/nntp.pyo
+${PYSITELIB}/Hellanzb/NZBQueue.py
+${PYSITELIB}/Hellanzb/NZBQueue.pyc
+${PYSITELIB}/Hellanzb/NZBQueue.pyo
+${PYSITELIB}/Hellanzb/NewzbinDownloader.py
+${PYSITELIB}/Hellanzb/NewzbinDownloader.pyc
+${PYSITELIB}/Hellanzb/NewzbinDownloader.pyo
+${PYSITELIB}/Hellanzb/PostProcessor.py
+${PYSITELIB}/Hellanzb/PostProcessor.pyc
+${PYSITELIB}/Hellanzb/PostProcessor.pyo
+${PYSITELIB}/Hellanzb/PostProcessorUtil.py
+${PYSITELIB}/Hellanzb/PostProcessorUtil.pyc
+${PYSITELIB}/Hellanzb/PostProcessorUtil.pyo
+${PYSITELIB}/Hellanzb/SmartPar.py
+${PYSITELIB}/Hellanzb/SmartPar.pyc
+${PYSITELIB}/Hellanzb/SmartPar.pyo
+${PYSITELIB}/Hellanzb/Util.py
+${PYSITELIB}/Hellanzb/Util.pyc
+${PYSITELIB}/Hellanzb/Util.pyo
+${PYSITELIB}/Hellanzb/__init__.py
+${PYSITELIB}/Hellanzb/__init__.pyc
+${PYSITELIB}/Hellanzb/__init__.pyo
+${PYSITELIB}/Hellanzb/external/__init__.py
+${PYSITELIB}/Hellanzb/external/__init__.pyc
+${PYSITELIB}/Hellanzb/external/__init__.pyo
+${PYSITELIB}/Hellanzb/external/elementtree/SimpleXMLWriter.py
+${PYSITELIB}/Hellanzb/external/elementtree/SimpleXMLWriter.pyc
+${PYSITELIB}/Hellanzb/external/elementtree/SimpleXMLWriter.pyo
+${PYSITELIB}/Hellanzb/external/elementtree/__init__.py
+${PYSITELIB}/Hellanzb/external/elementtree/__init__.pyc
+${PYSITELIB}/Hellanzb/external/elementtree/__init__.pyo
+share/doc/hellanzb/README
+share/examples/hellanzb/hellanzb.conf
+@dirrm share/examples/hellanzb
+@dirrm share/doc/hellanzb
+@dirrm ${PYSITELIB}/Hellanzb/external/elementtree
+@dirrm ${PYSITELIB}/Hellanzb/external
+@dirrm ${PYSITELIB}/Hellanzb/NZBLeecher
+@dirrm ${PYSITELIB}/Hellanzb/HellaXMLRPC
+@dirrm ${PYSITELIB}/Hellanzb
diff --git a/news/hellanzb/distinfo b/news/hellanzb/distinfo
new file mode 100644
index 00000000000..79ba6df1578
--- /dev/null
+++ b/news/hellanzb/distinfo
@@ -0,0 +1,6 @@
+$NetBSD: distinfo,v 1.1.1.1 2008/07/30 13:26:39 bjs Exp $
+
+SHA1 (hellanzb-0.14.1087.tar.gz) = ddc698fa53ff0e9c2ef0499bd9e6ce53c3c504d7
+RMD160 (hellanzb-0.14.1087.tar.gz) = dde0eec93172c18226e91d2bfdcd8c36f56be1f4
+Size (hellanzb-0.14.1087.tar.gz) = 164628 bytes
+SHA1 (patch-aa) = 71c5766f5198898a2e957e82db195e81479477c1
diff --git a/news/hellanzb/files/hellanzb.conf b/news/hellanzb/files/hellanzb.conf
new file mode 100644
index 00000000000..56b13c3bc1a
--- /dev/null
+++ b/news/hellanzb/files/hellanzb.conf
@@ -0,0 +1,245 @@
+# $NetBSD: hellanzb.conf,v 1.1.1.1 2008/07/30 13:26:39 bjs Exp $
+#
+# hellanzb.conf - sample hellanzb configuration file
+#
+# To quickly get started, change the default defineServer() call and the
+# Hellanzb.PREFIX_DIR directory
+#
+# This is actually interpreted python code: strings must be surrounded by
+# quotes, numbers and the 'None' keyword should not
+#
+
+# Log output to this file, set to None (no single quotes) for no logging
+Hellanzb.LOG_FILE = os.path.expanduser('~') + '/.hellanzb/log'
+
+# Uncomment this line to log DEBUG messages to the specified file
+#Hellanzb.DEBUG_MODE = os.path.expanduser('~') + '/.hellanzb/log-debug'
+
+# Automatically roll over both log files when they reach LOG_FILE_MAX_BYTES
+# size
+Hellanzb.LOG_FILE_MAX_BYTES = 0
+
+# Save LOG_FILE_BACKUP_COUNT of those rolled over log files
+Hellanzb.LOG_FILE_BACKUP_COUNT = 0
+
+
+# Define server connections. Servers can have multiple hosts, hellanzb will
+# persist the number of connections to each specified server. There may be
+# multiple defineServer lines.
+
+# Set both the username and password to 'None' (without the quotes) if your
+# usenet server does not require authorization
+defineServer(id = 'MyId1',
+ hosts = [ 'nntp.changeme.com:119' ],
+ username = 'changeme',
+ password = 'changeme',
+ connections = 10,
+ antiIdle = 4.5 * 60,
+ enabled = False,
+ ssl = False
+ );
+
+#defineServer(id = 'MyId2',
+ #hosts = [ 'news.changeme.com', 'morenews.changeme.com:8000' ],
+
+
+ #username = 'changeme',
+ #password = 'hella',
+ #username = None, # no auth
+ #password = None,
+
+ #connections = 3,
+ #antiIdle = 4.5 * 60, # 4 minutes, 30 seconds, 0 to disable
+ #bindTo = '204.31.33.7', # connect FROM this ip address
+ #enabled = False, # disable this server
+ #skipGroupCmd = True, # skip sending nntp GROUP commands
+ #fillserver = 0, # defaults to 0 (a main server).
+ # fillservers must have values > 0
+ # (priority)
+ #ssl = False
+ #)
+
+# Uncomment this line to limit all server connections to the specified KB/s
+# bandwidth
+#Hellanzb.MAX_RATE = 150 # limit to 150kB/s
+
+
+# Important locations
+Hellanzb.PREFIX_DIR = os.path.expanduser('~') + '/.hellanzb/'
+
+# Where to put queued .nzb files
+Hellanzb.QUEUE_DIR = Hellanzb.PREFIX_DIR + 'nzb/daemon.queue/'
+
+# Where the fully processed archives go
+Hellanzb.DEST_DIR = Hellanzb.PREFIX_DIR + 'done/'
+
+# The .nzb currently being downloaded is stored here
+Hellanzb.CURRENT_DIR = Hellanzb.PREFIX_DIR + 'nzb/daemon.current/'
+
+# The archive currently being downloaded is stored here
+Hellanzb.WORKING_DIR = Hellanzb.PREFIX_DIR + 'nzb/daemon.working/'
+
+# Archives interrupted in the middle of downloading are stored here temporarily
+Hellanzb.POSTPONED_DIR = Hellanzb.PREFIX_DIR + 'nzb/daemon.postponed/'
+
+# Archives currently being processed. May contains archive directories, or
+# symbolic links to archive directories
+Hellanzb.PROCESSING_DIR = Hellanzb.PREFIX_DIR + 'nzb/daemon.processing/'
+
+# Temp storage
+Hellanzb.TEMP_DIR = Hellanzb.PREFIX_DIR + 'nzb/daemon.temp/'
+
+# Filename to store hellanzb state in between CTRL-Cs. The state (includes the
+# order of the queue, and smart par recovery information) is intermittently
+# written out as XML to this file
+Hellanzb.STATE_XML_FILE = Hellanzb.PREFIX_DIR + 'nzb/hellanzbState.xml'
+
+
+# _Sub directory within the nzb archive dir_ to move processed files to
+Hellanzb.PROCESSED_SUBDIR = 'processed'
+
+# Remove the PROCESSED_SUBDIR if the archive was successfully post processed.
+# Warning: The normal Hellanzb.LOG_FILE should be enabled with this option --
+# for a record of what hellanzb deletes
+Hellanzb.DELETE_PROCESSED = True
+
+
+# Maximum amount of memory used to cache encoded Article data segments.
+# hellanzb will write article data to disk when this cache is exceeded
+# Available settings:
+# -1: Unlimited size
+# 0: Disable cache (only cache to disk)
+# >0: Limit cache to this size, in bytes, KB, MB, e.g.:
+# 1024 '1024KB' '100MB' '1GB'
+#Hellanzb.CACHE_LIMIT = 0
+
+
+# Save archives into a sub directory of DEST_DIR named after their newzbin.com
+# category (when queued using the enqueuenewzbin XMLRPC call); e.g. Apps,
+# Movies, Music
+Hellanzb.CATEGORIZE_DEST = True
+
+# Disable SMART_PAR (download all PAR files)
+#Hellanzb.SMART_PAR = False
+
+# Supply a path to the (un)rar command
+Hellanzb.UNRAR_CMD = '@PREFIX@/bin/unrar'
+
+# Supply a path to the par2 command
+Hellanzb.PAR2_CMD = '@PREFIX@/bin/par2'
+
+# Skip unraring during post processing
+# Hellanzb.SKIP_UNRAR = True
+
+# Supply a path to the optional macbinconv command (for converting MacBinary
+# files)
+#Hellanzb.MACBINCONV_CMD = None
+
+# hellanzb inherits the umask from the current user's environment (unless it's
+# running in daemon mode). The umask can be forced with this option
+#Hellanzb.UMASK = 0022
+
+
+# Supported music types (case insensitive) and optionally their decompression
+# executables
+# and the file type that executable will decompress to (case insensitive). The
+# exes must be in the PATH.
+#
+# <FILE> will be replaced with the name of music file
+# optional <DESTFILE> is <FILE> with the specified extension
+#
+# None means these files don't need to be decompressed
+defineMusicType('wav', None, None)
+defineMusicType('mp3', None, None)
+#defineMusicType('ape', 'mac <FILE> <DESTFILE> -d', 'wav')
+#defineMusicType('flac', 'flac -d -- <FILE>', 'wav')
+#defineMusicType('shn', 'shorten -x < <FILE> > <DESTFILE>', 'wav')
+
+# Max files we should decompress at the same time
+Hellanzb.MAX_DECOMPRESSION_THREADS = 2
+
+
+# Enable Mac OS X Growl notifications
+Hellanzb.GROWL_NOTIFY = False
+
+# The growl notification server, in the format 'hostname'
+Hellanzb.GROWL_SERVER = 'IP'
+
+# The growl password
+Hellanzb.GROWL_PASSWORD = 'password'
+
+
+# Enable libNotify Daemon notifications
+Hellanzb.LIBNOTIFY_NOTIFY = False
+
+
+# Disable ANSI color codes in the main screen (preserves the in place scroller)
+#Hellanzb.DISABLE_COLORS = False
+
+# Disable ALL ANSI color codes in the main screen (for terminals that don't
+# support ANY ANSI codes
+#Hellanzb.DISABLE_ANSI = False
+
+
+# Hostname for the XMLRPC client to connect to. By default, localhost
+Hellanzb.XMLRPC_SERVER = 'localhost'
+
+# IP address on which the XMLRPC Server will be binded to.
+# Type '0.0.0.0' for any interfaces, '127.0.0.1' will disable remote access
+Hellanzb.XMLRPC_SERVER_BIND = '127.0.0.1'
+
+# Port number the XML RPC server will listen on, and the client will connect to.
+# Set to 'None' (without the quotes!) for no XML RPC server
+Hellanzb.XMLRPC_PORT = 8760
+
+# Password for the XML RPC server. You might probably never use this, but the
+# command line XML RPC calls do -- it should definitely be changed from its
+# default value. The XML RPC username is hardcoded as 'hellanzb' -- E.g. URL:
+# http://hellanzb:changeme@localhost:8760
+Hellanzb.XMLRPC_PASSWORD = 'changeme'
+
+
+# Username/Password to http://www.newzbin.com for automatic NZB downloading
+Hellanzb.NEWZBIN_USERNAME = None
+Hellanzb.NEWZBIN_PASSWORD = None
+
+
+# If any of the following file types are missing from the archive and cannot be
+# repaired, continue processing because they're unimportant (case insensitive)
+Hellanzb.NOT_REQUIRED_FILE_TYPES = [ 'log', 'm3u', 'nfo', 'nzb', 'sfv', 'txt' ]
+
+# Don't get rid of (move into the PROCESSED dir) the following file types when
+# finished post processing (case insensitive)
+#Hellanzb.KEEP_FILE_TYPES = [ 'log', 'm3u', 'nfo', 'nzb', 'sfv', 'txt' ]
+Hellanzb.KEEP_FILE_TYPES = [ 'nfo', 'txt' ]
+
+
+# List of alternative file extensions matched as NZB files in the QUEUE_DIR.
+# The 'nzb' file extension is always matched
+#Hellanzb.OTHER_NZB_FILE_TYPES = [ 'xml' ]
+
+# Support extracting NZBs from ZIP files with this suffix (case insensitive) in
+# QUEUE_DIR. Defaults to '.nzb.zip'. Set to False to disable.
+#Hellanzb.NZB_ZIPS = '.nzb.zip'
+
+# Support extracting NZBs from GZIP files with this suffix (case insensitive)
+# in QUEUE_DIR. Defaults to '.nzb.gz'. Set to False to disable.
+#Hellanzb.NZB_GZIPS = '.nzb.gz'
+
+# Delay enqueueing new, recently modified NZB files added to the QUEUE_DIR until
+# this many seconds have passed since the NZB's last modification time (defaults
+# to 10 seconds)
+#Hellanzb.NZBQUEUE_MDELAY = 10
+
+# Optional external handler script. hellanzb will run this script after post
+# processing an archive, with the following arguments:
+#
+# handler_script type archiveName destDir elapsedTime parMessage
+#
+# type: post processing result, either 'SUCCESS' or 'ERROR'
+# archiveName: name of the archive, e.g. 'Usenet_Post5'
+# destDir: where the archive ended up, e.g. '/ext2/usenet/Usenet_Post5'
+# elapsedTime: a pretty string showing how long post processing took, e.g.
+# '10m 37s'
+# parMessage: optional post processing message. e.g. '(No Pars)'
+#Hellanzb.EXTERNAL_HANDLER_SCRIPT = '~/bin/post_hellanzb.sh'
diff --git a/news/hellanzb/patches/patch-aa b/news/hellanzb/patches/patch-aa
new file mode 100644
index 00000000000..2dc66a600f5
--- /dev/null
+++ b/news/hellanzb/patches/patch-aa
@@ -0,0 +1,15 @@
+$NetBSD: patch-aa,v 1.1.1.1 2008/07/30 13:26:39 bjs Exp $
+
+--- setup.py.orig 2008-07-30 08:30:03.000000000 -0400
++++ setup.py
+@@ -38,9 +38,7 @@ def runSetup():
+ packages = [ 'Hellanzb', 'Hellanzb.NZBLeecher', 'Hellanzb.HellaXMLRPC',
+ 'Hellanzb.external', 'Hellanzb.external.elementtree' ],
+ scripts = [ 'hellanzb.py' ],
+- data_files = [ ( 'etc', [ 'etc/hellanzb.conf.sample' ] ),
+- ( 'share/doc/hellanzb', [ 'CHANGELOG', 'CREDITS', 'README', 'LICENSE' ] ) ],
+- )
++ data_files = [ ( 'share/doc/hellanzb', [ 'README' ] ) ] )
+ py2app_options = dict(
+ app = [ 'hellanzb.py' ],
+ options = dict(py2app = dict(