Upgrade to 3.4.

PR:		24599
Originally Submitted by:	Noritoshi Atsumi <atsumi@agusa.nuie.nagoya-u.ac.jp>
This commit is contained in:
Masafumi Max NAKANE 2001-11-04 13:43:29 +00:00
parent a83079d363
commit b7e3a35027
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=49570
13 changed files with 171 additions and 441 deletions

View file

@ -6,26 +6,20 @@
#
PORTNAME= youbin
PORTVERSION= 2.13
PORTVERSION= 3.4
CATEGORIES= mail
MASTER_SITES= ftp://ftp.nuie.nagoya-u.ac.jp/pub/nagoya-u/ \
ftp://ftp.kyoto.wide.ad.jp/pub/net/
MASTER_SITES= http://www.agusa.nuie.nagoya-u.ac.jp/software/agusalab/youbin/archive/
DISTNAME= ${PORTNAME}${PORTVERSION}-unix
MAINTAINER= max@FreeBSD.org
USE_IMAKE= yes
USE_XPM= yes
#PREFIX?= ${LOCALBASE}
#MTREE_FILE?= /etc/mtree/BSD.local.dist
USE_IMAKE= yes
USE_X_PREFIX= no
USE_XPM= yes
WRKSRC= ${WRKDIR}/Youbin-Unix
NO_INSTALL_MANPAGES= yes
MAN1= youbin.1
MAN3= youbin_sub.3
MAN8= youbind.8
STARTUP_SCRIPT= ${PREFIX}/etc/rc.d/youbind.sh.sample
post-extract:
(cd ${WRKSRC}; ${CP} -p Doc/*.man .)
SAMPLE_SCRIPTS= youbind.sh.sample xyoubin.sh
pre-build:
@${SETENV} ${SCRIPTS_ENV} ${SH} ${PKGREQ} ${PKGNAME} BUILD
@ -34,12 +28,17 @@ pre-install:
@${SETENV} ${SCRIPTS_ENV} ${SH} ${PKGREQ} ${PKGNAME} INSTALL
post-install:
@if [ ! -f ${STARTUP_SCRIPT} ]; then \
${ECHO} "Creating startup script '${STARTUP_SCRIPT}'" ; \
${SED} s:@PREFIX@:${PREFIX}: ${FILESDIR}/youbind.sh.sample \
> ${STARTUP_SCRIPT} ; \
${CHMOD} 755 ${STARTUP_SCRIPT} ; \
fi
.if !defined(NOPORTDOCS)
${MKDIR} ${PREFIX}/share/doc/youbin
${INSTALL_DATA} ${WRKSRC}/Doc/* ${PREFIX}/share/doc/youbin
.endif
${MKDIR} ${PREFIX}/share/examples/youbin/Bitmap
${INSTALL_DATA} ${WRKSRC}/Bitmap/* ${PREFIX}/share/examples/youbin/Bitmap
.for f in ${SAMPLE_SCRIPTS}
${SED} s:@PREFIX@:${PREFIX}: ${FILESDIR}/$f \
> ${PREFIX}/share/examples/youbin/$f
${CHMOD} 755 ${PREFIX}/share/examples/youbin/$f
.endfor
@${SETENV} PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL
.include <bsd.port.mk>

View file

@ -1 +1 @@
MD5 (youbin-2.13.tar.gz) = 23ebf3275a7b8511719aa7313625446e
MD5 (youbin3.4-unix.tar.gz) = 234223775792e003c12e4f52efa97e75

View file

@ -1,161 +1,90 @@
*** Imakefile.orig Sat Apr 8 20:47:18 1995
--- Imakefile Fri Nov 3 00:51:09 2000
***************
*** 17,31 ****
*/
/* Directory for server. */
! SERVER_BINDIR = /etc
/* Directory for clients. */
! BINDIR = /usr/local/bin
/* Select one of them.
! * If you want to use on-line manual written in Japanese, use DOCDIR_JP. */
! MANSRC_DIR = $(DOCDIR)
! /* MANSRC_DIR = $(DOCDIR_JP) */
/*
* Architectur depedent configurations.
--- 17,32 ----
*/
/* Directory for server. */
! SERVER_BINDIR = ${PREFIX}/sbin
/* Directory for clients. */
! BINDIR = ${PREFIX}/bin
/* Select one of them.
! * If you want to use on-line manual written in Japanese, use YOUBIN_DOCDIR_JP. */
! MANSRC_DIR = $(YOUBIN_DOCDIR)
! /* MANSRC_DIR = $(YOUBIN_DOCDIR_JP) */
! MANPATH = ${PREFIX}/man
/*
* Architectur depedent configurations.
***************
*** 47,53 ****
* If your machine is SVR4, default MAIL_SPOOL is "/usr/mail/".
* In other environments, default MAIL_SPOOL is "/usr/spool/mail/".
* Select one of them, if you don't like these default values. */
! /* MAIL_SPOOL = -DMAIL_SPOOL=\"/usr/mail/\" */
/* MAIL_SPOOL = -DMAIL_SPOOL=\"/usr/spool/mail/\" */
/* Syslog: Comment following lines, if you don't want to use syslog. */
--- 48,54 ----
* If your machine is SVR4, default MAIL_SPOOL is "/usr/mail/".
* In other environments, default MAIL_SPOOL is "/usr/spool/mail/".
* Select one of them, if you don't like these default values. */
! MAIL_SPOOL = -DMAIL_SPOOL=\"/var/mail/\"
/* MAIL_SPOOL = -DMAIL_SPOOL=\"/usr/spool/mail/\" */
/* Syslog: Comment following lines, if you don't want to use syslog. */
***************
*** 65,73 ****
UNIT_TIME = 180
/* XPM: Uncomment following lines, if you want to use pixmap. */
! /* XPM_DEFS = -DUSE_XPM */
! /* XPM_LIBS = str_to_pixmap.o locate_pixmap.o */
! /* XPM_FLAGS = -lXpm */
/*
* Other configurations.
--- 66,74 ----
UNIT_TIME = 180
/* XPM: Uncomment following lines, if you want to use pixmap. */
! XPM_DEFS = -DUSE_XPM
! XPM_LIBS = str_to_pixmap.o locate_pixmap.o
! XPM_FLAGS = -lXpm
/*
* Other configurations.
***************
*** 90,96 ****
* USE_VARARGS Use UNIX's native routines.
*/
! /* SPECIAL_DEFS = */
/* SPECIAL_LIBS = */
/*
--- 91,97 ----
* USE_VARARGS Use UNIX's native routines.
*/
! SPECIAL_DEFS =-DUSE_STDARG -DUSE_POSIX_WAIT
/* SPECIAL_LIBS = */
/*
***************
*** 112,124 ****
XYOUBIN_OBJS = base.o sound.o xyoubin.o $(XPM_LIBS)
YOUBIN_OBJS = base.o client.o youbin_sub.o
! DOCDIR = Doc
! DOCDIR_JP = Doc.Japanese
! MANS = $(DOCDIR)/youbin.man $(DOCDIR)/youbind.man \
! $(DOCDIR)/youbin_sub.man
! MANS_JP = $(DOCDIR_JP)/youbin.man $(DOCDIR_JP)/youbind.man \
! $(DOCDIR_JP)/youbin_sub.man
/* BITMAPS = */
--- 113,125 ----
XYOUBIN_OBJS = base.o sound.o xyoubin.o $(XPM_LIBS)
YOUBIN_OBJS = base.o client.o youbin_sub.o
! YOUBIN_DOCDIR = Doc
! YOUBIN_DOCDIR_JP = Doc.Japanese
! MANS = $(YOUBIN_DOCDIR)/youbin.man $(YOUBIN_DOCDIR)/youbind.man \
! $(YOUBIN_DOCDIR)/youbin_sub.man
! MANS_JP = $(YOUBIN_DOCDIR_JP)/youbin.man $(YOUBIN_DOCDIR_JP)/youbind.man \
! $(YOUBIN_DOCDIR_JP)/youbin_sub.man
/* BITMAPS = */
***************
*** 151,157 ****
* Target entries.
*/
! all: $(TARGETS)
SingleProgramTarget(youbind,$(YOUBIND_OBJS),,)
SingleProgramTarget(sendto,$(SENDTO_OBJS),,)
--- 152,158 ----
* Target entries.
*/
! all:: $(TARGETS)
SingleProgramTarget(youbind,$(YOUBIND_OBJS),,)
SingleProgramTarget(sendto,$(SENDTO_OBJS),,)
***************
*** 166,177 ****
/* InstallAppDefaults(XYoubin) */
! install.man::
! csh -c "cp $(MANSRC_DIR)/*.man ."
!
! InstallManPage(youbin,$(MANDIR))
! InstallManPage(youbin_sub,$(MANDIR))
! InstallManPage(youbind,$(MANDIR))
DependTarget()
LintTarget()
--- 167,175 ----
/* InstallAppDefaults(XYoubin) */
! InstallGenManPage(youbin,$(MANPATH)/man1,1)
! InstallGenManPage(youbin_sub,$(MANPATH)/man3,3)
! InstallGenManPage(youbind,$(MANPATH)/man8,8)
DependTarget()
LintTarget()
--- Imakefile.orig Sat Apr 21 01:01:08 2001
+++ Imakefile Sun Nov 4 07:31:58 2001
@@ -15,12 +15,14 @@
/*
* Directories.
*/
+/* Installation prefix */
+PREFIX ?= /usr/local
/* Directory for server. */
-SERVER_BINDIR = /usr/local/sbin
+SERVER_BINDIR = ${PREFIX}/sbin
/* Directory for clients. */
-BINDIR = /usr/local/bin
+BINDIR = ${PREFIX}/bin
/* Select one of them.
* If you want to use on-line manual written in Japanese, use DOCDIR_JP. */
@@ -49,6 +51,7 @@
* Select one of them, if you don't like these default values. */
/* MAIL_SPOOL = -DMAIL_SPOOL=\"/usr/mail/\" */
/* MAIL_SPOOL = -DMAIL_SPOOL=\"/usr/spool/mail/\" */
+MAIL_SPOOL = -DMAIL_SPOOL=\"/var/mail/\"
/* Syslog: Comment following lines, if you don't want to use syslog. */
SYSLOG = -DSYSLOG
@@ -65,9 +68,9 @@
UNIT_TIME = 180
/* XPM: Uncomment following lines, if you want to use pixmap. */
-/*XPM_DEFS = -DUSE_XPM*/
-/*XPM_LIBS = str_to_pixmap.o locate_pixmap.o*/
-/*XPM_FLAGS = -lXpm*/
+XPM_DEFS = -DUSE_XPM
+XPM_LIBS = str_to_pixmap.o locate_pixmap.o
+XPM_FLAGS = -lXpm
/*
* Other configurations.
@@ -90,15 +93,15 @@
* USE_VARARGS Use UNIX's native routines.
*/
-/* SPECIAL_DEFS = */
+SPECIAL_DEFS =-DUSE_STDARG -DUSE_POSIX_WAIT
/* SPECIAL_LIBS = */
/*
* Files.
*/
-/* TARGETS = $(SERVER) $(CLIENTS) */
-TARGETS = $(CLIENTS)
+TARGETS = $(SERVER) $(CLIENTS)
+/* TARGETS = $(CLIENTS) */
SERVER = youbind
CLIENTS = sendto xyoubin youbin
@@ -156,24 +159,26 @@
all:: $(TARGETS)
-/* SingleProgramTarget(youbind,$(YOUBIND_OBJS),$(LDFLAGS),) */
-/* SingleProgramTarget(sendto,$(SENDTO_OBJS),,) */
+SingleProgramTarget(youbind,$(YOUBIND_OBJS),$(LDFLAGS),)
+SingleProgramTarget(sendto,$(SENDTO_OBJS),,)
SingleProgramTarget(xyoubin,$(XYOUBIN_OBJS),$(EXT_LIBS),)
SingleProgramTarget(youbin,$(YOUBIN_OBJS),,)
-/* InstallProgram(youbind,$(SERVER_BINDIR)) */
-/* InstallProgram(sendto,$(BINDIR)) */
+InstallProgram(youbind,$(SERVER_BINDIR))
+InstallProgram(sendto,$(BINDIR))
InstallProgram(xyoubin,$(BINDIR))
InstallProgramWithFlags(youbin,$(BINDIR),$(INSTUIDFLAGS))
/* InstallAppDefaults(XYoubin) */
+/*
install.man::
csh -c "cp $(MANSRC_DIR)/*.man ."
InstallManPage(youbin,$(MANDIR))
InstallManPage(youbin_sub,$(MANDIR))
InstallManPage(youbind,$(MANDIR))
+*/
DependTarget()
LintTarget()

View file

@ -1,20 +0,0 @@
diff -c Makefile.dist.orig Makefile.dist
*** Makefile.dist.orig Fri Jul 8 17:51:25 1994
--- Makefile.dist Fri Aug 9 13:39:57 1996
***************
*** 70,76 ****
CC = cc
# CC = gcc
! CFLAGS = $(OPTIMIZE) $(DEFINITIONS) $(PB_CFLAGS)
# For MIPS.
# CFLAGS = -systype bsd43 $(OPTIMIZE) $(DEFINITIONS)
--- 70,76 ----
CC = cc
# CC = gcc
! CFLAGS += $(OPTIMIZE) $(DEFINITIONS) $(PB_CFLAGS)
# For MIPS.
# CFLAGS = -systype bsd43 $(OPTIMIZE) $(DEFINITIONS)

View file

@ -1,33 +0,0 @@
diff -c log.c.orig log.c
*** log.c.orig Sun Mar 26 20:33:04 1995
--- log.c Wed Aug 7 13:31:29 1996
***************
*** 31,36 ****
--- 31,37 ----
#include <sys/types.h>
#include <netinet/in.h>
#include <stdio.h>
+ #include <sys/param.h>
#include "youbin.h"
#include "server.h"
***************
*** 90,97 ****
static int flag_console = ON; /* Always true. */
extern int errno;
extern char *sys_errlist[];
!
/*
* Initialize.
*/
--- 91,99 ----
static int flag_console = ON; /* Always true. */
extern int errno;
+ #if !(defined(BSD) && (BSD >= 199306))
extern char *sys_errlist[];
! #endif
/*
* Initialize.
*/

View file

@ -1,20 +0,0 @@
diff -c sendto.c.orig sendto.c
*** sendto.c.orig Mon Aug 1 21:59:07 1994
--- sendto.c Wed Aug 7 13:48:46 1996
***************
*** 107,113 ****
int len;
len = strlen(message);
! if (sendto(sockid, message, len, 0, &sa, sizeof(sa)) != len) {
sprintf(err_msg, "Error in sending packet");
return (err_msg);
}
--- 107,113 ----
int len;
len = strlen(message);
! if (sendto(sockid, message, len, 0, (struct sockaddr *)&sa, sizeof(sa)) != len) {
sprintf(err_msg, "Error in sending packet");
return (err_msg);
}

View file

@ -1,83 +1,28 @@
*** server.c.orig Sun Mar 26 20:33:31 1995
--- server.c Wed Oct 9 21:29:25 1996
***************
*** 48,53 ****
--- 48,56 ----
#include <pwd.h> /* For getpwuid(). */
#include <signal.h>
#include <stdio.h>
+ #ifdef __FreeBSD__
+ #include <stdlib.h>
+ #endif
#include "youbin.h"
#include "server.h"
***************
*** 154,159 ****
--- 157,171 ----
dummy.tv_sec = (long)(UNIT_TIME * 10);
dummy.tv_usec = 0L;
+ /*Go to background. This part was modified locally by Masafumi NAKANE
+ <max@wide.ad.jp>, and is used only on FreeBSD.*/
+ #ifdef __FreeBSD__
+ if (daemon(1, 1) == -1) {
+ perror("daemon");
+ kill(getpid(), SIGTERM);
+ }
+ #endif
+
/* Dive into main loop. Don't use setjmp() and longjmp(),
because list maintenance routines are in critical section. */
alarm(UNIT_TIME);
***************
*** 244,250 ****
char buff[MESS_LEN + 1];
int len, flen = sizeof(ca);
! if ((len = recvfrom(fid, buff, MESS_LEN, 0, &ca, &flen)) < 0) {
if (errno != EINTR) {
warn_log("Error in receiving packet\n");
}
--- 256,262 ----
char buff[MESS_LEN + 1];
int len, flen = sizeof(ca);
! if ((len = recvfrom(fid, buff, MESS_LEN, 0, (struct sockaddr *)&ca, &flen)) < 0) {
if (errno != EINTR) {
warn_log("Error in receiving packet\n");
}
***************
*** 543,549 ****
saddr->sin_family = hp->h_addrtype;
saddr->sin_addr.s_addr = htonl(INADDR_ANY);
saddr->sin_port = sp->s_port;
! if (bind(id, saddr, sizeof(*saddr)) < 0) {
sys_error_log("bind");
exit(EXIT_FAILURE);
}
--- 555,561 ----
saddr->sin_family = hp->h_addrtype;
saddr->sin_addr.s_addr = htonl(INADDR_ANY);
saddr->sin_port = sp->s_port;
! if (bind(id, (struct sockaddr *)saddr, sizeof(*saddr)) < 0) {
sys_error_log("bind");
exit(EXIT_FAILURE);
}
***************
*** 586,592 ****
debug_log("Send: %s [%ld]: \"%.*s\"\n",
((sp == CA_ADDR) ? "" : sp->parent->name), (long)sp,
MAX_DEBUG_COLUMN, mess);
! if (sendto(sockid, mess, strlen(mess), 0, saddr, sizeof(*saddr)) < 0) {
warn_log("Error in sending packet: %s\n", mess);
}
}
--- 598,604 ----
debug_log("Send: %s [%ld]: \"%.*s\"\n",
((sp == CA_ADDR) ? "" : sp->parent->name), (long)sp,
MAX_DEBUG_COLUMN, mess);
! if (sendto(sockid, mess, strlen(mess), 0, (struct sockaddr *)saddr, sizeof(*saddr)) < 0) {
warn_log("Error in sending packet: %s\n", mess);
}
}
--- server.c.orig Sun Apr 15 23:17:13 2001
+++ server.c Tue May 15 12:26:12 2001
@@ -48,6 +48,9 @@
#include <pwd.h> /* For getpwuid(). */
#include <signal.h>
#include <stdio.h>
+#ifdef __FreeBSD__
+#include <stdlib.h>
+#endif
#include "youbin.h"
#include "server.h"
@@ -148,6 +151,15 @@
signal(SIGTERM, sig_quit);
signal(SIGHUP, sig_hup);
signal(SIGALRM, sig_alarm);
+
+ /*Go to background. This part was modified locally by Masafumi NAKANE
+ <max@FreeBSD.org>, and is used only on FreeBSD.*/
+#ifdef __FreeBSD__
+ if (daemon(1, 1) == -1) {
+ perror("daemon");
+ kill(getpid(), SIGTERM);
+ }
+#endif
/* Dive into main loop. Don't use setjmp() and longjmp(),
because list maintenance routines are in critical section. */

View file

@ -1,33 +0,0 @@
diff -c xyoubin.c.orig xyoubin.c
*** xyoubin.c.orig Sat Apr 8 19:58:20 1995
--- xyoubin.c Fri Aug 9 12:50:03 1996
***************
*** 285,291 ****
}
if (!app_data.pipe) {
! signal(SIGCLD, sig_cld);
sprintf(child_process, "exec %s/%s -s %s",
BINDIR, CHILD_PROGRAM_NAME, app_data.server);
if ((pfile = popen(child_process, "r")) == NULL) {
--- 285,291 ----
}
if (!app_data.pipe) {
! signal(SIGCHLD, sig_cld);
sprintf(child_process, "exec %s/%s -s %s",
BINDIR, CHILD_PROGRAM_NAME, app_data.server);
if ((pfile = popen(child_process, "r")) == NULL) {
***************
*** 386,390 ****
if (0 < pid) {
exit(EXIT_FAILURE); /* Should print child status? */
}
! signal(SIGCLD, sig_cld);
}
--- 386,390 ----
if (0 < pid) {
exit(EXIT_FAILURE); /* Should print child status? */
}
! signal(SIGCHLD, sig_cld);
}

View file

@ -1,66 +0,0 @@
diff -c youbin_sub.c.orig youbin_sub.c
*** youbin_sub.c.orig Sun Mar 26 22:39:04 1995
--- youbin_sub.c Fri Aug 9 11:59:58 1996
***************
*** 336,342 ****
SockAddr fa;
int len, flen = sizeof(fa);
! if ((len = recvfrom(sockid, mess, buflen, 0, &fa, &flen)) < 0) {
perror("recvfrom");
return (FALSE);
}
--- 336,342 ----
SockAddr fa;
int len, flen = sizeof(fa);
! if ((len = recvfrom(sockid, mess, buflen, 0, (struct sockaddr *)&fa, &flen)) < 0) {
perror("recvfrom");
return (FALSE);
}
***************
*** 367,373 ****
len = strlen(mess);
debug("%s: [%s]: Send: \"%s\"\n", LIB_NAME, my_id, mess);
! if (sendto(sockid, mess, len, 0, &sa, sizeof(sa)) != len) {
fprintf(stderr, "%s: Error in sending packet: %s\n", LIB_NAME, mess);
}
}
--- 367,373 ----
len = strlen(mess);
debug("%s: [%s]: Send: \"%s\"\n", LIB_NAME, my_id, mess);
! if (sendto(sockid, mess, len, 0, (struct sockaddr *)&sa, sizeof(sa)) != len) {
fprintf(stderr, "%s: Error in sending packet: %s\n", LIB_NAME, mess);
}
}
***************
*** 426,438 ****
for (i = (IPPORT_RESERVED - 1); (IPPORT_RESERVED / 2) <= i; i--) {
/* Try to find reserved port. */
ca->sin_port = htons(i);
! if (bind(sockid, ca, sizeof(*ca)) == 0) {
return;
}
}
} else { /* Try to find ordinary port. */
ca->sin_port = htons(0);
! if (bind(sockid, ca, sizeof(*ca)) == 0) {
return;
}
}
--- 426,438 ----
for (i = (IPPORT_RESERVED - 1); (IPPORT_RESERVED / 2) <= i; i--) {
/* Try to find reserved port. */
ca->sin_port = htons(i);
! if (bind(sockid, (struct sockaddr *)ca, sizeof(*ca)) == 0) {
return;
}
}
} else { /* Try to find ordinary port. */
ca->sin_port = htons(0);
! if (bind(sockid, (struct sockaddr *)ca, sizeof(*ca)) == 0) {
return;
}
}

View file

@ -0,0 +1,12 @@
#!/bin/sh
#
# Sample startup script for xyoubin.
#
xyoubin=@PREFIX@/bin/xyoubin
mailserver=localhost
bitmapdir=@PREFIX@/share/examples/youbin/Bitmap
if [ -x ${xyoubin} ]; then
${xyoubin} -server ${mailserver} -full ${bitmapdir}/youbinFull.xpm -empty ${bitmapdir}/youbinEmpty.xpm
fi

View file

@ -5,6 +5,8 @@
# If this program is used on your system, great care must be taken
# to avoid any security problem.
#
# Copy this script into /usr/local/etc/rc.d/youbind.sh to start yubind
# automatically at boot time.
case "$1" in
start)

View file

@ -12,5 +12,5 @@ Since youbin is designed with event driven, the user is promptly
informed of status change of mail spool caused by arrival of new
message and/or reading messages.
WWW: http://www.agusa.nuie.nagoya-u.ac.jp/software/youbin/youbin-e.html
WWW: http://www.agusa.nuie.nagoya-u.ac.jp/software/agusalab/youbin/youbin-e.html
- Max

View file

@ -2,5 +2,20 @@ bin/youbin
bin/xyoubin
bin/sendto
sbin/youbind
etc/rc.d/youbind.sh.sample
@dirrm sbin
share/examples/youbin/youbind.sh.sample
share/examples/youbin/xyoubin.sh
share/examples/youbin/Bitmap/mail.xpm
share/examples/youbin/Bitmap/nomail.xpm
share/examples/youbin/Bitmap/youbinEmpty.1.5.xpm
share/examples/youbin/Bitmap/youbinEmpty.2.xpm
share/examples/youbin/Bitmap/youbinEmpty.xpm
share/examples/youbin/Bitmap/youbinFull.1.5.xpm
share/examples/youbin/Bitmap/youbinFull.2.xpm
share/examples/youbin/Bitmap/youbinFull.xpm
share/examples/youbin/Bitmap/youbinKita.xbm
share/examples/youbin/Bitmap/youbinNai.xbm
share/doc/youbin/README
share/doc/youbin/Spec_3
share/doc/youbin/protocol.tex
share/doc/youbin/state.eps
share/doc/youbin/youbinrc.doc