Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 30 Dec 2013 18:02:36 +0900
From:      Takefu <takefu@airport.fm>
Cc:        Doug Hardie <bc979@lafn.org>, freebsd-gnats-submit@freebsd.org
Subject:   ports/185285: [PATCH] mail/qpopper: fix StageDir
Message-ID:  <52C136AC.4040605@airport.fm>
Resent-Message-ID: <201312300910.rBU9A0eA031538@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         185285
>Category:       ports
>Synopsis:       [PATCH] mail/qpopper: fix StageDir
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Mon Dec 30 09:10:00 UTC 2013
>Closed-Date:
>Last-Modified:
>Originator:     Takefu
>Release:        FreeBSD 8.4-RELEASE-p4 i386
>Organization:
FOX Amateur Radio Club
>Environment:
System: FreeBSD RELENG84-ix86.localIPv4.airport.fm 8.4-RELEASE-p4 FreeBSD 8.4-RELEASE-p4 #0: Wed Sep 25 14:55:36 JST 2013
>Description:
fix StageDir
Remove use of pkg-req

Port maintainer (bc979@lafn.org) is cc'd.

Generated with FreeBSD Port Tools 0.99_11 (mode: change, diff: ports)
>How-To-Repeat:
>Fix:

--- qpopper-4.1.0_1.patch begins here ---
diff -ruN /usr/ports/mail/qpopper/GIDs ./GIDs
--- /usr/ports/mail/qpopper/GIDs	1970-01-01 09:00:00.000000000 +0900
+++ ./GIDs	2013-10-01 09:54:17.000000000 +0900
@@ -0,0 +1 @@
+daemon:*:1:
diff -ruN /usr/ports/mail/qpopper/Makefile ./Makefile
--- /usr/ports/mail/qpopper/Makefile	2013-09-21 04:59:12.000000000 +0900
+++ ./Makefile	2013-10-22 08:35:35.000000000 +0900
@@ -13,7 +13,6 @@
 COMMENT=	Berkeley POP 3 server (now maintained by Qualcomm)

 USE_AUTOTOOLS=	autoconf
-USE_OPENSSL=	yes
 CONFIGURE_ENV=	LIBS="-lcrypt -lmd -lutil -L${LOCALBASE}/lib" \
 		OS_DEFS="-DSETPROCTITLE ${OS_DEFS}"
 CONFIGURE_ARGS=	--enable-nonauth-file=${POPUSERS_FILE} \
@@ -21,8 +20,8 @@
 		--enable-keep-temp-drop

 PLIST_SUB=	EPOPPASSD=${EPOPPASSD} \
-		POP_USER=${POP_USER} \
-		POP_GROUP=${POP_GROUP} \
+		USERS=${USERS} \
+		GROUPS=${GROUPS} \
 		POP_MODE_DIR=${POP_MODE_DIR} \
 		POP_MODE_CONF=${POP_MODE_CONF} \
 		QPOPAUTH=${QPOPAUTH}
@@ -32,13 +31,14 @@
 SUB_FILES=	pkg-message

 # internal configuration
-POP_USER=	pop
-POP_GROUP=	daemon
+USERS?=		pop
+GROUPS?=	daemon
+GID_FILES+=	../../GIDs ${.CURDIR}/GIDs
 POP_MODE_DIR=	0711
 POP_MODE_CONF=	0444
 POPUSERS_FILE=	${ETCDIR}/popusers
 SAMPLE_EXT=	.sample
-#
+
 PKGDEINSTALL=	${PKGINSTALL}

 OPTIONS_DEFINE=	APOP_ONLY APOP DOCUMENTATION DRAC FULL_POPD_DEBUG PAM \
@@ -68,7 +68,7 @@
 QPOPAUTH=	"@comment "
 .else
 CONFIGURE_ARGS+=	--enable-apop=${ETCDIR}/pop.auth \
-			--with-apopuid=pop
+			--with-popuid=${USERS}
 MAN8+=		qpopauth.8
 QPOPAUTH=	""
 # If WITH_APOP_ONLY variable present in the environment, qpopper builds
@@ -81,7 +81,7 @@
 # Do not install documentation since it is in pdf format and normally
 # not used unless user wants it.
 .if empty(PORT_OPTIONS:MDOCUMENTATION)
-NOPORTDOCS=	yes
+OPTIONS_UNSET+=	DOCS
 .endif

 # If WITH_DRAC variable present in the environment, qpopper builds
@@ -128,6 +128,7 @@

 # The default is to build without SSL/TLS support.
 .if ${PORT_OPTIONS:MSSL}
+USE_OPENSSL=	yes
 CONFIGURE_ARGS+=	--with-openssl=${OPENSSLBASE}
 .endif

@@ -139,11 +140,11 @@
 	@${REINPLACE_CMD} -e \
 		's|\$${sbindir}/sendmail|${LOCALBASE}/sbin/sendmail|g' \
 		${WRKSRC}/configure.in
-.if defined(WITH_POPPASSD)
+.if ${PORT_OPTIONS:MPOPPASSD}
 	@${REINPLACE_CMD} -e 's|/usr/bin/smbpasswd|${LOCALBASE}/bin/smbpasswd|' \
 		${WRKSRC}/password/poppassd.c
 .endif
-.if defined(WITHOUT_U_OPTION)
+.if empty(PORT_OPTIONS:MU_OPTION)
 	@${REINPLACE_CMD} -E -e 's|(getopt \(.+)u|\1|' \
 		${WRKSRC}/popper/main.c
 .endif
@@ -152,13 +153,13 @@
 	@(cd ${WRKSRC}; ${CHMOD} u+w configure*)

 do-install:
-.if !defined(WITHOUT_APOP)
+.if ${PORT_OPTIONS:MAPOP}
 	@${INSTALL_PROGRAM} ${WRKSRC}/popper/popauth ${PREFIX}/bin/qpopauth
 # If WITHOUT_QPOPAUTH_SETUID variable present in the environment,
 # qpopper does not install qpopauth setuid to pop user so that
 # anyone can access the pop.auth database.
-.if !defined(WITHOUT_QPOPAUTH_SETUID)
-	@${CHOWN} pop ${PREFIX}/bin/qpopauth
+.if ${PORT_OPTIONS:MQPOPAUTH_SETUID}
+	@${CHOWN} ${USERS} ${PREFIX}/bin/qpopauth
 	@${CHMOD} u+s ${PREFIX}/bin/qpopauth
 .endif
 	@${INSTALL_MAN} ${WRKSRC}/man/popauth.8 ${MANPREFIX}/man/man8/qpopauth.8
@@ -166,35 +167,44 @@
 .endif
 	@${INSTALL_PROGRAM} ${WRKSRC}/popper/popper ${PREFIX}/libexec/qpopper
 	@${INSTALL_MAN} ${WRKSRC}/man/popper.8 ${MANPREFIX}/man/man8/qpopper.8
-.if defined(WITH_POPPASSD)
+.if ${PORT_OPTIONS:MPOPPASSD}
 	@${INSTALL_PROGRAM} ${WRKSRC}/password/poppassd ${PREFIX}/libexec/qpoppassd
 .endif
-	@${INSTALL} -d -o ${POP_USER} -g ${POP_GROUP} -m ${POP_MODE_DIR} \
+	@${INSTALL} -d -o ${USERS} -g ${GROUPS} -m ${POP_MODE_DIR} \
 		${ETCDIR}
-.if !defined(NOPORTDOCS)
+.if ${PORT_OPTIONS:MDOCS}
 	@${MKDIR} ${DOCSDIR}
 	@${INSTALL_DATA} ${WRKSRC}/GUIDE.pdf ${DOCSDIR}
 .endif

 post-install: install-conf-file
 	@${CAT} ${PKGMESSAGE}
+.if ${PORT_OPTIONS:MPOPPASSD}
+	@${ECHO_MSG}	""
+	@${ECHO_MSG}	"==============================================================================="
+	@${ECHO_MSG}	"It adds for myself"
+	@${ECHO_MSG}	"/etc/devfs.conf:"
+	@${ECHO_MSG}	"link	/dev/pts/0 pty0"
+	@${ECHO_MSG}	"==============================================================================="
+	@${ECHO_MSG}	""
+.endif

 # based on original from op port, written by Cyrille Lefevre
 # <clefevre@citeweb.net>.
 install-conf-file:
 	@if [ ! -f ${CONF_DIR}/${CONF_FILE}${SAMP_SUFX} ]; then \
-		if [ -f /etc/ftpusers ] && [ -n "${WITH_SAMPLE_POPUSERS}" ]; then \
-			${INSTALL} -c -o ${POP_USER} -g ${POP_GROUP} -m ${POP_MODE_CONF} \
+		if [ -f /etc/ftpusers ] && [ -n "${PORT_OPTIONS:MSAMPLE_POPUSERS}" ]; then \
+			${INSTALL} -c -o ${USERS} -g ${GROUPS} -m ${POP_MODE_CONF} \
 				/etc/ftpusers ${POPUSERS_FILE}${SAMPLE_EXT} ; \
 		else \
 			${CP} /dev/null ${POPUSERS_FILE}${SAMPLE_EXT} ; \
-			${CHOWN} ${POP_USER}:${POP_GROUP} ${POPUSERS_FILE}${SAMPLE_EXT} ; \
+			${CHOWN} ${USERS}:${GROUPS} ${POPUSERS_FILE}${SAMPLE_EXT} ; \
 			${CHMOD} ${POP_MODE_CONF} ${POPUSERS_FILE}${SAMPLE_EXT} ; \
 		fi ; \
 	fi
-	@${INSTALL} -c -m 0640 \
+	@${INSTALL} -c -o ${USERS} -g ${GROUPS} -m 0640 \
 		${WRKSRC}/samples/qpopper.config ${PREFIX}/etc/qpopper.config${SAMPLE_EXT}
 	@${SETENV} PKG_PREFIX=${PREFIX} ${SH} \
-		${PKGINSTALL} ${PKGNAME} POST-INSTALL
+		${PKGINSTALL} ${PKGNAME} POST-INSTALL ${USERS} ${GROUPS}

 .include <bsd.port.post.mk>
diff -ruN /usr/ports/mail/qpopper/files/extra-patch-password::auth_user.c ./files/extra-patch-password::auth_user.c
--- /usr/ports/mail/qpopper/files/extra-patch-password::auth_user.c	2012-07-14 22:54:48.000000000 +0900
+++ ./files/extra-patch-password::auth_user.c	1970-01-01 09:00:00.000000000 +0900
@@ -1,10 +0,0 @@
---- password/auth_user.c.orig	Fri Mar 14 00:39:42 2003
-+++ password/auth_user.c	Fri Mar 14 00:40:02 2003
-@@ -41,6 +41,7 @@
-
-
-
-+#undef SPEC_POP_AUTH
-
-
- static const char *ERRMSG_PW = "Password mismatch for user \"%s\"";
diff -ruN /usr/ports/mail/qpopper/files/extra-patch-password::poppassd.c ./files/extra-patch-password::poppassd.c
--- /usr/ports/mail/qpopper/files/extra-patch-password::poppassd.c	2012-07-14 22:54:48.000000000 +0900
+++ ./files/extra-patch-password::poppassd.c	1970-01-01 09:00:00.000000000 +0900
@@ -1,28 +0,0 @@
---- password/poppassd.c.orig	Sat May  5 18:50:05 2001
-+++ password/poppassd.c	Sat May  5 18:52:59 2001
-@@ -284,6 +284,8 @@
-
- static char *P1[] =
-    {
-+     "changing local password for *\nold password: ",  /* FreeBSD */
-+     "changing nis password for *\nold password: ",    /* FreeBSD NIS */
-      "changing password for *\nold password: ",  /* shadow */
-      "enter login password: ",                   /* Solaris */
-      "old smb password: ",                       /* smb */
-@@ -301,6 +303,7 @@
-
- static char *P3[] =
-    {
-+     "retype new password: ",                    /* FreeBSD */
-      "re-enter new password:*",                  /* shadow */
-      "re-enter new password: ",
-      "retype new smb password: ",                /* smb */
-@@ -309,6 +312,8 @@
-
- static char *P4[] =
-    {
-+     "passwd: updating the database...\npasswd: done ", /* FreeBSD */
-+     "nis password has been changed * ", /* FreeBSD NIS */
-      "password changed. ", /* shadow */
-      "password changed ",  /* smb */
-      ""
diff -ruN /usr/ports/mail/qpopper/files/extra-patch-password__auth_user.c ./files/extra-patch-password__auth_user.c
--- /usr/ports/mail/qpopper/files/extra-patch-password__auth_user.c	1970-01-01 09:00:00.000000000 +0900
+++ ./files/extra-patch-password__auth_user.c	2010-07-21 16:56:52.000000000 +0900
@@ -0,0 +1,10 @@
+--- password/auth_user.c.orig	Fri Mar 14 00:39:42 2003
++++ password/auth_user.c	Fri Mar 14 00:40:02 2003
+@@ -41,6 +41,7 @@
+
+
+
++#undef SPEC_POP_AUTH
+
+
+ static const char *ERRMSG_PW = "Password mismatch for user \"%s\"";
diff -ruN /usr/ports/mail/qpopper/files/extra-patch-password__poppassd.c ./files/extra-patch-password__poppassd.c
--- /usr/ports/mail/qpopper/files/extra-patch-password__poppassd.c	1970-01-01 09:00:00.000000000 +0900
+++ ./files/extra-patch-password__poppassd.c	2012-07-14 22:54:48.000000000 +0900
@@ -0,0 +1,28 @@
+--- password/poppassd.c.orig	Sat May  5 18:50:05 2001
++++ password/poppassd.c	Sat May  5 18:52:59 2001
+@@ -284,6 +284,8 @@
+
+ static char *P1[] =
+    {
++     "changing local password for *\nold password: ",  /* FreeBSD */
++     "changing nis password for *\nold password: ",    /* FreeBSD NIS */
+      "changing password for *\nold password: ",  /* shadow */
+      "enter login password: ",                   /* Solaris */
+      "old smb password: ",                       /* smb */
+@@ -301,6 +303,7 @@
+
+ static char *P3[] =
+    {
++     "retype new password: ",                    /* FreeBSD */
+      "re-enter new password:*",                  /* shadow */
+      "re-enter new password: ",
+      "retype new smb password: ",                /* smb */
+@@ -309,6 +312,8 @@
+
+ static char *P4[] =
+    {
++     "passwd: updating the database...\npasswd: done ", /* FreeBSD */
++     "nis password has been changed * ", /* FreeBSD NIS */
+      "password changed. ", /* shadow */
+      "password changed ",  /* smb */
+      ""
diff -ruN /usr/ports/mail/qpopper/files/patch-popper::pop_pass.c ./files/patch-popper::pop_pass.c
--- /usr/ports/mail/qpopper/files/patch-popper::pop_pass.c	2012-07-14 22:54:48.000000000 +0900
+++ ./files/patch-popper::pop_pass.c	1970-01-01 09:00:00.000000000 +0900
@@ -1,21 +0,0 @@
---- popper/pop_pass.c.orig	Sat Jun  2 02:24:13 2001
-+++ popper/pop_pass.c	Sat Sep  8 00:26:27 2001
-@@ -1226,6 +1226,18 @@
-         return ( pop_msg ( p, POP_FAILURE, HERE, ERRMSG_PW, p->user ) );
-     }
-
-+#    ifdef FREEBSD
-+
-+    /*
-+     * Nor from expired accounts
-+     */
-+    if (pw->pw_expire != 0 && pw->pw_expire <= time(NULL)) {
-+        sleep  ( SLEEP_SECONDS );
-+	return ( pop_msg ( p, POP_FAILURE, HERE, ERRMSG_ACEXP, p->user ) );
-+    }
-+
-+#    endif /* FreeBSD */
-+
-     return ( POP_SUCCESS );
- }
-
diff -ruN /usr/ports/mail/qpopper/files/patch-popper__pop_pass.c ./files/patch-popper__pop_pass.c
--- /usr/ports/mail/qpopper/files/patch-popper__pop_pass.c	1970-01-01 09:00:00.000000000 +0900
+++ ./files/patch-popper__pop_pass.c	2010-07-21 16:56:52.000000000 +0900
@@ -0,0 +1,21 @@
+--- popper/pop_pass.c.orig	Sat Jun  2 02:24:13 2001
++++ popper/pop_pass.c	Sat Sep  8 00:26:27 2001
+@@ -1226,6 +1226,18 @@
+         return ( pop_msg ( p, POP_FAILURE, HERE, ERRMSG_PW, p->user ) );
+     }
+
++#    ifdef FREEBSD
++
++    /*
++     * Nor from expired accounts
++     */
++    if (pw->pw_expire != 0 && pw->pw_expire <= time(NULL)) {
++        sleep  ( SLEEP_SECONDS );
++	return ( pop_msg ( p, POP_FAILURE, HERE, ERRMSG_ACEXP, p->user ) );
++    }
++
++#    endif /* FreeBSD */
++
+     return ( POP_SUCCESS );
+ }
+
diff -ruN /usr/ports/mail/qpopper/files/qpopper.in ./files/qpopper.in
--- /usr/ports/mail/qpopper/files/qpopper.in	2012-07-14 22:54:48.000000000 +0900
+++ ./files/qpopper.in	2013-10-02 17:54:17.000000000 +0900
@@ -1,23 +1,21 @@
 #!/bin/sh

-# $FreeBSD: /tmp/pcvs/ports/mail/qpopper/files/qpopper.in,v 1.1 2012-02-14 21:35:43 dougb Exp $
-#
 # PROVIDE: qpopper
-# REQUIRE: SERVERS
+# REQUIRE: DAEMON
 # KEYWORD: shutdown
-#
-# Add the following lines to /etc/rc.conf to enable qpopper:
-# qpopper_enable="YES"
+
+# qpopper_enable (bool):	Set to NO by default.
+#				Set it to YES to enable qpopper.
+# qpopper_flags (str):		Set to "-f %%PREFIX%%/etc/qpopper.config" by default.

 . /etc/rc.subr

 name=qpopper
 rcvar=qpopper_enable

-load_rc_config $name
-
-qpopper_enable=${qpopper_enable:-"NO"}
-
-command=%%PREFIX%%/libexec/qpopper
+load_rc_config ${name}
+: ${qpopper_enable:="NO"}
+: ${qpopper_flags:="110 -S -f %%PREFIX%%/etc/${name}.config"}

+command="%%PREFIX%%/libexec/${name}"
 run_rc_command "$1"
diff -ruN /usr/ports/mail/qpopper/pkg-descr ./pkg-descr
--- /usr/ports/mail/qpopper/pkg-descr	2012-07-14 22:54:48.000000000 +0900
+++ ./pkg-descr	2013-09-25 19:20:21.000000000 +0900
@@ -3,4 +3,4 @@

 Don't forget to edit /etc/inetd.conf to enable the server after installation.

-WWW:	http://www.eudora.com/products/unsupported/qpopper/
+WWW: http://www.eudora.com/products/unsupported/qpopper/
diff -ruN /usr/ports/mail/qpopper/pkg-install ./pkg-install
--- /usr/ports/mail/qpopper/pkg-install	2012-07-14 22:54:48.000000000 +0900
+++ ./pkg-install	2013-10-01 09:29:10.000000000 +0900
@@ -4,15 +4,15 @@
 # based on original from op port, written by Cyrille Lefevre
 # <clefevre@citeweb.net>

-[ $# != 2 ] && exit 1
+[ ! $# = 2 -a ! $# = 4 ] && exit 1
 PKGNAME=$1
 ACTION=$2

 CONF_DIR=${PKG_PREFIX}/etc/qpopper

 CONF_FILE=popusers
-CONF_OWN=pop
-CONF_GRP=daemon
+CONF_OWN=$3
+CONF_GRP=$4
 CONF_MODE=444

 SAMP_SUFX=.sample
diff -ruN /usr/ports/mail/qpopper/pkg-plist ./pkg-plist
--- /usr/ports/mail/qpopper/pkg-plist	2012-07-14 22:54:48.000000000 +0900
+++ ./pkg-plist	2013-10-01 09:00:59.000000000 +0900
@@ -3,7 +3,7 @@
 %%QPOPAUTH%%@exec ln -sf %D/bin/qpopauth %D/bin/qapopauth
 libexec/qpopper
 %%EPOPPASSD%%libexec/qpoppassd
-@exec mkdir -p %%ETCDIR%% && chown %%POP_USER%%:%%POP_GROUP%% %%ETCDIR%% && chmod %%POP_MODE_DIR%% %%ETCDIR%%
+@exec mkdir -p %%ETCDIR%% && chown %%USERS%%:%%GROUPS%% %%ETCDIR%% && chmod %%POP_MODE_DIR%% %%ETCDIR%%
 %%ETCDIR%%/popusers.sample
 etc/qpopper.config.sample
 %%PORTDOCS%%%%DOCSDIR%%/GUIDE.pdf
diff -ruN /usr/ports/mail/qpopper/pkg-req ./pkg-req
--- /usr/ports/mail/qpopper/pkg-req	2012-07-14 22:54:48.000000000 +0900
+++ ./pkg-req	1970-01-01 09:00:00.000000000 +0900
@@ -1,13 +0,0 @@
-if [ "$2" != "INSTALL" ]; then
-  exit 0
-fi
-if ! id -u pop > /dev/null 2>&1; then
-  echo "You need an account \"pop\" to install this package."
-  echo "Please add it by hand (try \"man vipw\") and try again."
-  echo ""
-  echo "An example passwd entry is:"
-  echo "pop:*:68:6::0:0:Post Office Owner:/nonexistent:/nonexistent"
-  echo ""
-  exit 1
-fi
-exit 0
diff -ruN /usr/ports/mail/qpopper/scripts/pre-install ./scripts/pre-install
--- /usr/ports/mail/qpopper/scripts/pre-install	2012-07-14 22:54:48.000000000 +0900
+++ ./scripts/pre-install	1970-01-01 09:00:00.000000000 +0900
@@ -1,16 +0,0 @@
-#!/bin/sh
-if ! id -u pop > /dev/null 2>&1; then
-  echo "You need an account \"pop\" to install this package."
-  echo "Please add it by hand (try \"man vipw\") and try again."
-  echo ""
-  echo "An example passwd entry is:"
-  echo "pop:*:68:6::0:0:Post Office Owner:/nonexistent:/nonexistent"
-  echo ""
-  exit 1
-fi
-usrdir=${PREFIX}/etc/qpopper
-if [ ! -d $usrdir ]; then
-  mkdir -p $usrdir
-fi
-chown pop:daemon $usrdir
-chmod 700 $usrdir
--- qpopper-4.1.0_1.patch ends here ---

>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?52C136AC.4040605>