1
0
mirror of https://git.FreeBSD.org/ports.git synced 2025-01-26 09:46:09 +00:00

mail/mboxgrep: update to 0.7.10

- switch to upstream's new hoster
 - remove lots of old hacks and patches
 - remove hacked in OpenSSL dependency
 - patch makefiles to enable staging
 - adopt this unmaintained port

Changelog: https://git.datatipp.se/dspiljar/mboxgrep/releases/tag/0.7.10

Approved by:	flo (mentor)
Differential Revision: https://reviews.freebsd.org/D38782
This commit is contained in:
Robert Clausecker 2023-02-25 00:17:07 +01:00
parent 6d46152a26
commit f74f218fb0
9 changed files with 76 additions and 235 deletions

View File

@ -1,42 +1,26 @@
PORTNAME= mboxgrep
PORTVERSION= 0.7.9
PORTREVISION= 5
DISTVERSION= 0.7.10
CATEGORIES= mail
MASTER_SITES= SF
MASTER_SITES= https://git.datatipp.se/dspiljar/mboxgrep/archive/
DISTNAME= ${DISTVERSION}
DIST_SUBDIR= ${PORTNAME}
MAINTAINER= ports@FreeBSD.org
MAINTAINER= fuz@FreeBSD.org
COMMENT= Utility to scan mailboxes for messages matching a regular expression
WWW= http://mboxgrep.sourceforge.net/
LICENSE= GPLv2+
LICENSE_FILE= ${WRKSRC}/COPYING
LICENSE_FILE= ${WRKSRC}/COPYING.md
USES= localbase ssl
USES= autoreconf localbase
GNU_CONFIGURE= yes
CFLAGS+= -I${OPENSSLINC}
LIBS+= -L${OPENSSLLIB}
WRKSRC= ${WRKDIR}/mboxgrep
INFO= mboxgrep
PLIST_FILES= bin/mboxgrep man/man1/mboxgrep.1.gz
PORTDOCS= ChangeLog NEWS README TODO
PLIST_FILES= bin/mboxgrep \
man/man1/mboxgrep.1.gz
OPTIONS_DEFINE= DOCS PCRE
OPTIONS_DEFINE= PCRE
PCRE_LIB_DEPENDS= libpcre.so:devel/pcre
pre-configure:
@${REINPLACE_CMD} -e 's,void \*tmpp,FILE \*tmpp,g' ${WRKSRC}/src/main.c
@${REINPLACE_CMD} -e 's,$$(mandir),$$(DESTDIR)$$(mandir),g' \
-e 's,$$(infodir),$$(DESTDIR)$$(infodir),g' \
${WRKSRC}/src/Makefile.in ${WRKSRC}/doc/Makefile.in
post-install-DOCS-on:
@${MKDIR} ${STAGEDIR}${DOCSDIR}
.for f in ${PORTDOCS}
${INSTALL_DATA} ${WRKSRC}/${f} ${STAGEDIR}${DOCSDIR}/
.endfor
PCRE_CONFIGURE_WITH= PCRE
.include <bsd.port.mk>

View File

@ -1,2 +1,3 @@
SHA256 (mboxgrep-0.7.9.tar.gz) = 78d375a05c3520fad4bca88509d4da0dbe9fba31f36790bd20880e212acd99d7
SIZE (mboxgrep-0.7.9.tar.gz) = 76067
TIMESTAMP = 1677278119
SHA256 (mboxgrep/0.7.10.tar.gz) = 396c1bae89540977abb23890bd9cdf68aa8048f68cf1abc061614fa9a0c465dc
SIZE (mboxgrep/0.7.10.tar.gz) = 76132

View File

@ -0,0 +1,16 @@
--- doc/Makefile.in.orig 2023-02-24 22:54:40 UTC
+++ doc/Makefile.in
@@ -33,9 +33,9 @@ distclean:
.PHONY: install
install: mboxgrep.1
- $(INSTALL) -d $(mandir)/man1
- $(INSTALL) -m 0644 $(MANPAGE) $(mandir)/man1
- $(INSTALL) -d $(infodir)
- $(INSTALL) -m 0644 mboxgrep.info $(infodir)
+ $(INSTALL) -d $(DESTDIR)/$(mandir)/man1
+ $(INSTALL) -m 0644 $(MANPAGE) $(DESTDIR)/$(mandir)/man1
+ $(INSTALL) -d $(DESTDIR)/$(infodir)
+ $(INSTALL) -m 0644 mboxgrep.info $(DESTDIR)/$(infodir)
.NOEXPORT:

View File

@ -1,28 +1,24 @@
--- src/Makefile.in.orig 2003-03-30 23:07:10 UTC
--- src/Makefile.in.orig 2023-02-23 11:59:33 UTC
+++ src/Makefile.in
@@ -21,12 +21,12 @@ srcdir = @srcdir@
@@ -21,9 +21,9 @@ srcdir = @srcdir@
CC = @CC@
OBJS = info.o main.o mh.o scan.o maildir.o mbox.o misc.o \
- wrap.o getopt.o getopt1.o md5.o
+ wrap.o
- wrap.o getopt.o getopt1.o md5.o re.o
+ wrap.o md5.o re.o
SRCS = info.c main.c mh.c scan.c maildir.c mbox.c misc.c \
- wrap.c getopt.c getopt1.c md5.c
+ wrap.c
- wrap.c getopt.c getopt1.c md5.c re.c
+ wrap.c md5.c re.c
TARGET = mboxgrep
CFLAGS = @CFLAGS@
-LIBS = @LIBS@
+LIBS = @LIBS@ -lcrypto
INSTALL = @INSTALL@
prefix = @prefix@
SHELL = /bin/sh
LIBS = @LIBS@
@@ -51,7 +51,7 @@ distclean:
.PHONY: install
install: mboxgrep
- $(INSTALL) -d $(prefix)/bin
- $(INSTALL) -s $(TARGET) $(prefix)/bin
+ $(INSTALL) -d $(DESTDIR)$(prefix)/bin
+ $(INSTALL) -s $(TARGET) $(DESTDIR)$(prefix)/bin
+ $(INSTALL) -d $(DESTDIR)/$(prefix)/bin
+ $(INSTALL) -s $(TARGET) $(DESTDIR)/$(prefix)/bin
.NOEXPORT:

View File

@ -1,23 +0,0 @@
--- src/main.c.orig 2003-08-24 19:23:50 UTC
+++ src/main.c
@@ -55,8 +55,9 @@ pcre_extra *hints;
char *boxname, *outboxname, *pipecmd, *tmpfilename;
int maildir_count = 0;
int count = 0;
-void *tmpp;
+FILE *tmpp;
checksum_t *cs;
+option_t config;
int
main (int argc, char **argv)
@@ -238,8 +239,7 @@ main (int argc, char **argv)
config.pid = (int) getpid ();
}
- cs = (checksum_t *) xmalloc (sizeof (checksum_t));
- cs->md5 = (char **) xcalloc (1, sizeof (char **));
+ cs = xmalloc (sizeof (checksum_t));
cs->n = 0;
if (optind < argc && ! haveregex)

View File

@ -1,35 +0,0 @@
--- src/mboxgrep.h.orig 2003-04-06 21:01:49 UTC
+++ src/mboxgrep.h
@@ -28,6 +28,7 @@
#define HOST_NAME_SIZE 256
#include <config.h>
+#include <stdint.h>
#include <time.h> /* for tm structure */
@@ -99,10 +100,15 @@ typedef struct
}
folder_t;
+typedef union {
+ uint64_t halves[2];
+ unsigned char bytes[16];
+} md5_t;
+
typedef struct
{
- char **md5;
int n;
+ md5_t md5s[];
}
checksum_t;
@@ -129,6 +135,6 @@ typedef struct
}
option_t;
-option_t config;
+extern option_t config;
#endif /* MBOXGREP_H */

View File

@ -0,0 +1,37 @@
--- src/md5.c.orig 2023-02-24 22:59:50 UTC
+++ src/md5.c
@@ -26,32 +26,15 @@
#include <sys/types.h>
-#if STDC_HEADERS || defined _LIBC
# include <stdlib.h>
# include <string.h>
-#else
-# ifndef HAVE_MEMCPY
-# define memcpy(d, s, n) bcopy ((s), (d), (n))
-# endif
-#endif
#include "md5.h"
-#ifdef _LIBC
-# include <endian.h>
-# if __BYTE_ORDER == __BIG_ENDIAN
+#include <sys/endian.h>
+# if _BYTE_ORDER == _BIG_ENDIAN
# define WORDS_BIGENDIAN 1
# endif
-/* We need to keep the namespace clean so define the MD5 function
- protected using leading __ . */
-# define md5_init_ctx __md5_init_ctx
-# define md5_process_block __md5_process_block
-# define md5_process_bytes __md5_process_bytes
-# define md5_finish_ctx __md5_finish_ctx
-# define md5_read_ctx __md5_read_ctx
-# define md5_stream __md5_stream
-# define md5_buffer __md5_buffer
-#endif
#ifdef WORDS_BIGENDIAN
# define SWAP(n) \

View File

@ -1,122 +0,0 @@
--- src/scan.c.orig 2003-04-06 21:01:49 UTC
+++ src/scan.c
@@ -59,7 +59,7 @@
#include "mh.h"
#include "maildir.h"
#include "wrap.h"
-#include "md5.h"
+#include <openssl/md5.h>
#ifdef HAVE_FTS_OPEN
# include <sys/stat.h>
# include <fts.h>
@@ -73,7 +73,10 @@
#include <dmalloc.h>
#endif /* HAVE_LIBDMALLOC */
-void scan_mailbox (char path[])
+static int md5_check_message (const char *body, size_t bbytes);
+
+void
+scan_mailbox (const char path[])
/* {{{ */
{
static FILE *outf;
@@ -95,7 +98,6 @@ void scan_mailbox (char path[])
int isdup = 0;
time_t tt;
struct tm *ct;
- extern checksum_t *cs;
extern option_t config;
@@ -144,12 +146,12 @@ void scan_mailbox (char path[])
if ((config.format == MBOX) || (config.format == ZMBOX) ||
(config.format == BZ2MBOX))
- msg = (message_t *) mbox_read_message (mbox);
+ msg = mbox_read_message (mbox);
else if ((config.format == MH) || (config.format == NNMH) ||
(config.format == NNML))
- msg = (message_t *) mh_read_message (boxd);
+ msg = mh_read_message (boxd);
else if (config.format == MAILDIR)
- msg = (message_t *) maildir_read_message (maildird);
+ msg = maildir_read_message (maildird);
if (msg == NULL) break;
@@ -178,7 +180,7 @@ void scan_mailbox (char path[])
}
if (config.dedup)
- isdup = md5_check_message (msg->body, cs);
+ isdup = md5_check_message (msg->body, msg->bbytes);
if (((res1 == 0) | (res2 == 0)) ^ ((config.invert ^ delete)) &&
((config.dedup && !isdup) || !config.dedup))
@@ -281,7 +283,8 @@ void scan_mailbox (char path[])
}
/* }}} */
-void recursive_scan (char path[])
+void
+recursive_scan (const char path[])
/* {{{ */
{
@@ -312,37 +315,41 @@ void recursive_scan (char path[])
fts_close (ftsfoo);
}
#else
- ftw (path, (void *) scan_mailbox, 1);
+ ftw (path, (int (*)(const char *, const struct *, int))scan_mailbox, 1);
#endif /* HAVE_FTS_OPEN */
}
/* }}} */
-int md5_check_message (char *body, checksum_t *chksum)
+static int
+md5_check_message (const char *body, size_t bbytes)
/* {{{ */
{
- struct md5_ctx a;
- unsigned char b[16];
+ MD5_CTX a;
+ md5_t b;
int i;
+ extern checksum_t *cs;
- md5_init_ctx (&a);
+ MD5_Init(&a);
if (body == NULL)
- md5_process_bytes ("", 0, &a);
+ MD5_Update(&a, "", 0);
else
- md5_process_bytes (body, strlen(body), &a);
- md5_finish_ctx(&a, b);
+ MD5_Update(&a, body, bbytes);
+ MD5_Final(b.bytes, &a);
- for (i = 0; i < chksum->n; i++)
+ for (i = 0; i < cs->n; i++)
{
- if (0 == strncmp (chksum->md5[i], b, 16))
+ if (b.halves[0] == cs->md5s[i].halves[0] &&
+ b.halves[1] == cs->md5s[i].halves[1])
return 1;
}
- chksum->md5 =
- (char **) xrealloc (chksum->md5, (1 + chksum->n) * sizeof (char *));
- chksum->md5[chksum->n] = xstrdup (b);
+ cs =
+ xrealloc (cs, sizeof(checksum_t) + (i + 1) * sizeof (md5_t));
+ cs->md5s[i].halves[0] = b.halves[0];
+ cs->md5s[i].halves[1] = b.halves[1];
- (chksum->n)++;
+ cs->n++;
return 0;
}

View File

@ -1,13 +0,0 @@
--- src/scan.h.orig 2003-03-30 23:07:10 UTC
+++ src/scan.h
@@ -23,8 +23,7 @@
#include "mboxgrep.h"
-void scan_mailbox (char path[]);
-void recursive_scan (char path[]);
-int md5_check_message (char *body, checksum_t *chksum);
+void scan_mailbox(const char path[]);
+void recursive_scan(const char path[]);
#endif /* SCAN_H */