summaryrefslogtreecommitdiff
path: root/news/suck
diff options
context:
space:
mode:
authoragc <agc>1999-10-21 16:17:04 +0000
committeragc <agc>1999-10-21 16:17:04 +0000
commitb2d61601eebdd901d37b1c1c94ce7ad97e4f10d2 (patch)
tree28cfaa295c7f0099d0724f2f95347439cd10aab4 /news/suck
parent65c7fe0ec6c9a01f4a9fc2f99905b3cca390af34 (diff)
downloadpkgsrc-b2d61601eebdd901d37b1c1c94ce7ad97e4f10d2.tar.gz
Update this package to version 4.2.2, provided by David Rankin
<drankin@bohemians.lexington.ky.us>, and reworked by me to include socks support where necessary, and to use pkgsrc standards for GNU_CONFIGURE, etc. Also fixed the PLIST to reflect reality. Changes since previous pkgsrc version: * lmove.c match_group(), move_msgs(), scan_args() - Re-wrote for new options -h and -s to create hard or symbolic links to files crossposted to multiple groups. Re-wrote code to handle malformed header with spaces either before or after the newsgroup names. load_active() - added test for duplicate group line. * suck.c - do_one_group() - changed command from "xhdr 111-" to "xhdr 111-2222" for brain-dead servers that don't follow the proposed standard and treat 111- correctly. * xover.c - do_xover(), do_group_xover() - changed command from "xover 111-" to "xover 111-222". * rpost.c - do_perl() - fixed bug where infile was being lost due to FREETMPS, causing failed posting. * suck.c - restart_yn() - fixed bug where if prior to restart, we had sent command for an article, but not received it, then on restart, we would skip article. So I have to set sentcmd to false if we haven't downloaded it. * xover.c - chk_a_group() - rewrote into one loop, to get rid of segfaults on NULL field, and to speed things up for complicated xover files. * active.c - get_msgids() - added new option, -i, to set the default number of articles to download when using the -A or -AL option and a new group is added. See man page for usage. do_one_group() - changed handling of return from do_group_xover() so handle new error code. parse_args(), main() - added code to handle -i option. get_articles() - fixed bug in handling of pause and reconnect after X nr of articles. Wasn't taken into account 0 articles correctly. * killfile.c - moved xoverview pointer out of master killfile and into master struct, so can use independently of killfiles (for -Z option). parse_killfile() - changed to passed which argument to various setup routines, so can distinguish between XOVER and regular killfiles. * killprg.c - killprg_forkit(), killperl_setup() - added test for which, so if XOVER killfiles we don't point the killfile functions to killprg stuff. - killprg_sendoverview(), killprg_sendxover, killperl_sendxover() - created. These routines handle the sending of the overview.fmt and each overview line to a child program or perl subroutine for matching. * suck.c - main() - added code to handle retreival and freeing up of memory used by overview.fmt. Added call to free up xoverp killfile.u - do_one_group() - added code to handle new option, -Z, to use XOVER vice XHDR to get message-ids, in case the remote server doesn't support the XHDR command. * xover.c - do_group_xover() - changed the error code returned if server can't do xover command, so can recover gracefully from other errors (such as too long msgid) get_xover(), find_msgid() - created. These routines use the XOVER command to get the Message-ID and alloc it for the -Z option. Moved xoverview pointer out of master killfile and into master struct, so can use for -Z option. - do_one_line() - added code so if we have a program or perl subroutine to do the checking, it gets called * suck.c -- do_supplemental() - added call to do_sup_bynr(). do_sup_bynr() - created. Handles lines in suckothermsgs that specify a group name and article number for retreival. * suck.c - get_one_article() - fixed bug in sending command for the second article, was resending first article command. * killfile.c - get_one_article_kill() - added code to handle new option, -g, to get only the headers of articles. See man pages for details. * suck.c - get_one_article() - added code to handle new option -g, to get only the headers of articles. * xover.c - chk_a_group() - fix bug in counting of Xref line, causing inaccurate count. do_one_line(), get_xoverview() - fixed handling of :full flag in overview.fmt. * reworked restart code. Got rid of suck.restart and suck.sorted, replaced with suck.db, which contains the records of all messages. All of this code is now contained in db.c. Cleaned up the use of the Mandatory field by creating separate delete and sentcmd fields. * chkhistory.c chkhistory() - fixed bug which caused no articles to be checked, I wasn't passing the current article to my_bsearch(). chkhistory() - changed HISTORY_FILE to a run time option vice the constant defined in the Makefile. * chkhistory_db.c chkhistory(), open_history() - changed HISTORY_FILE to a run_time option. * killfile.c - added code to handle new killfile option NRXREF. This works the same as NRGRPS, but on the Xref line instead of the Newsgroups line. killfile_done() - fixed bug in freeing perl_int. check_a_group() - fixed bug in counting nr of groups. pass_two() - fix bug if groupline didn't have group name, we could core dump when trying to nuke nl. * ssort.c - changed params that my_bsearch is called with, to make chkhistory faster. Changed second param to string vice struct. * suck.c - do_cleanup() - fixed a bug with moving suck.newrc to sucknewsrc. If we're restarted with -R, no suck.newrc would exist, and we'd move sucknewsrc to sucknewsrc.old, and fail on the move of suck.newrc to sucknewsrc. Now if suck.newrc doesn't exist, we don't move sucknewsrc either. parse_args() - added code to handle history file option (HF). * xover.c - added code to handle to option NRXREF, like above. Also added code to handle new option XOVER_LOG_LONG, which causes suck to format xover kills so that they look like message headers, instead of printing just the Xover line. * active.c - get_message_index_active() - added code to handle -F option, reconnect after reading the active file. This is in case of a large active file, and the remote end times out while reading it. * killprg.c - tweaked the #ifdef for the Perl 5.004 stuff * lmove.c - move_msg(), scan_args() - Added test to see if article exists in new location before I move it. This is to avoid overwriting articles if another process adds articles to directory without changing the active file. If an article already exists, I abort UNLESS you use the -A option. See man page for more details. main() - rewrote tests for msgdir and basedir, to avoid segfaults if not defined. * suck.c - main(), scan_args() - added code to handle -F option. * xover.c - get_xoverview() - fixed bug in parsing of xoverview, not stripping the blanks and nls correctly. Also fixed bug in allocing of memory (had POverview vice Overview). * batch.c - do_post_filter() - created, allows you to edit all articles downloaded. *batch.c - do_lmove_patch() *killprg.c - killprg_forkit() *rpost.c - do_filter - added exit(-1) so that if child doesn't execl, we don't have both parent and child running. * chkhistory.c - chkhistory() - changed error_log() call to MyPerror() for open of history file, so get more descriptive error msg. * suck.c - main(), parse_args() - added arg handling for do_post_filter(). get_articles(), restart_yn() - re-worked the handling of restarts, to avoid downloading same article twice, or not downloading an article, due to the de-duping process when I did a rescan for new articles, so I had the same MsgId twice, then deleted the first one already downloaded, and then downloaded it again. * dedupe.c - dedupe_list() - added code so that if one of a set of dupes is marked as downloaded, or a dupe, I delete the other one instead, to help avoid the scenario above.
Diffstat (limited to 'news/suck')
-rw-r--r--news/suck/Makefile31
-rw-r--r--news/suck/files/md54
-rw-r--r--news/suck/files/patch-sum4
-rw-r--r--news/suck/patches/patch-aa17
-rw-r--r--news/suck/pkg/PLIST10
5 files changed, 34 insertions, 32 deletions
diff --git a/news/suck/Makefile b/news/suck/Makefile
index 43618d3a740..804dea6f43a 100644
--- a/news/suck/Makefile
+++ b/news/suck/Makefile
@@ -1,22 +1,31 @@
-# $NetBSD: Makefile,v 1.6 1999/02/20 22:48:38 hubertf Exp $
+# $NetBSD: Makefile,v 1.7 1999/10/21 16:17:04 agc Exp $
#
-DISTNAME= suck-3.10.1
+DISTNAME= suck-4.2.2
CATEGORIES= news
-MASTER_SITES= http://home.att.net/~bobyetman/
-MASTER_SITES+= ftp://sunsite.unc.edu/pub/Linux/system/news/transport/
-MASTER_SITES+= ftp://tsx-11.mit.edu/pub/linux/sources/sbin/
+MASTER_SITES= http://home.att.net/~bobyetman/ \
+ ftp://sunsite.unc.edu/pub/Linux/system/news/transport/ \
+ ftp://tsx-11.mit.edu/pub/linux/sources/sbin/
-MAINTAINER= root@garbled.net
+MAINTAINER= drankin@bohemians.lexington.ky.us
HOMEPAGE= http://home.att.net/~bobyetman/
-HAS_CONFIGURE= yes
-CONFIGURE_ARGS= --prefix=${LOCALBASE}
+GNU_CONFIGURE= yes
+
+.include "../../mk/bsd.prefs.mk"
+
+# Include SOCKS firewall support
+.if defined(USE_SOCKS) && (${USE_SOCKS} == 4 || ${USE_SOCKS} == 5)
+.if ${USE_SOCKS} == 4
+DEPENDS+= socks4-2.2:../../net/socks4
+.else
+DEPENDS+= socks5-1.0.2:../../net/socks5
+.endif
+.endif
post-patch:
- @${CAT} ${WRKSRC}/Makefile.in | ${SED} \
- -e 's+%%%HISTORY%%%+'${LOCALBASE}'/etc/news/history+g' \
- >${WRKSRC}/Makefile.tmp
+ ${SED} -e 's|%%%HISTORY%%%|${LOCALBASE}/etc/news/history|g' \
+ ${WRKSRC}/Makefile.in >${WRKSRC}/Makefile.tmp
@${MV} ${WRKSRC}/Makefile.tmp ${WRKSRC}/Makefile.in
post-install:
diff --git a/news/suck/files/md5 b/news/suck/files/md5
index 566cd2074a4..700c1972643 100644
--- a/news/suck/files/md5
+++ b/news/suck/files/md5
@@ -1,3 +1,3 @@
-$NetBSD: md5,v 1.4 1998/10/16 21:08:26 frueauf Exp $
+$NetBSD: md5,v 1.5 1999/10/21 16:17:05 agc Exp $
-MD5 (suck-3.10.1.tar.gz) = e5890fd4c6909ec8fbc21144d690a40b
+MD5 (suck-4.2.2.tar.gz) = 047e53a837b2c7534960f389b4284d61
diff --git a/news/suck/files/patch-sum b/news/suck/files/patch-sum
index 5cf834b113e..eb933f98ffc 100644
--- a/news/suck/files/patch-sum
+++ b/news/suck/files/patch-sum
@@ -1,3 +1 @@
-$NetBSD: patch-sum,v 1.1 1999/07/09 14:12:34 agc Exp $
-
-MD5 (patch-aa) = 459e410836beafcc6948a7edc398019c
+MD5 (patch-aa) = 89ba5fbd68e18e20c4e9e8ffdde2ca5d
diff --git a/news/suck/patches/patch-aa b/news/suck/patches/patch-aa
index 08533705c3a..4f19749ae2c 100644
--- a/news/suck/patches/patch-aa
+++ b/news/suck/patches/patch-aa
@@ -1,17 +1,8 @@
-$NetBSD: patch-aa,v 1.3 1998/08/07 11:11:13 agc Exp $
+$NetBSD: patch-aa,v 1.4 1999/10/21 16:17:05 agc Exp $
---- Makefile.in.orig Fri Jul 24 06:45:32 1998
-+++ Makefile.in Sat Aug 1 18:43:54 1998
-@@ -6,7 +6,7 @@
- ############################################################################
-
- # Step1: Define the location of the History file(s)
--HISTORYF=/usr/news/db/history
-+HISTORYF=%%%HISTORY%%%
-
- # Step 2: Define ONE of the CHKHISTORY
- CHKHISTORY=chkhistory.o # use flat file history routine
-@@ -131,7 +131,7 @@
+--- Makefile.in.orig Sun Jul 25 15:09:33 1999
++++ Makefile.in Tue Sep 21 10:00:34 1999
+@@ -167,7 +167,7 @@
install_bin: suck rpost testhost lmove
- mkdir -p $(bindir)
diff --git a/news/suck/pkg/PLIST b/news/suck/pkg/PLIST
index ea668c8c29e..2970c992363 100644
--- a/news/suck/pkg/PLIST
+++ b/news/suck/pkg/PLIST
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.2 1998/10/16 21:08:27 frueauf Exp $
+@comment $NetBSD: PLIST,v 1.3 1999/10/21 16:17:06 agc Exp $
bin/suck
bin/rpost
bin/testhost
@@ -7,12 +7,16 @@ man/man1/rpost.1
man/man1/suck.1
man/man1/testhost.1
man/man1/lmove.1
-share/examples/suck/get.news.innxmit
-share/examples/suck/get.news.rnews
+share/examples/suck/get.news.inn
+share/examples/suck/get.news.generic
share/examples/suck/killprg_child.c
+share/examples/suck/killxover_child.c
share/examples/suck/perl_kill.pl
+share/examples/suck/perl_xover.pl
+share/examples/suck/post_filter.pl
share/examples/suck/put.news
share/examples/suck/put.news.pl
+share/examples/suck/put.news.sm
share/examples/suck/suckkillfile.sample
share/examples/suck/sucknewsrc.sample
share/examples/suck/suckothermsgs.sample