Summary: | [PATCH] mail/fetchmail: update to 6.3.24 | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | Ports & Packages | Reporter: | Po-Chien Lin <linpc> | ||||||
Component: | Individual Port(s) | Assignee: | Matthias Andree <mandree> | ||||||
Status: | Closed FIXED | ||||||||
Severity: | Affects Only Me | CC: | chalpin | ||||||
Priority: | Normal | ||||||||
Version: | Latest | ||||||||
Hardware: | Any | ||||||||
OS: | Any | ||||||||
Attachments: |
|
Description
Po-Chien Lin
2013-01-01 00:10:00 UTC
Maintainer of mail/fetchmail, Please note that PR ports/174873 has just been submitted. If it contains a patch for an upgrade, an enhancement or a bug fix you agree on, reply to this email stating that you approve the patch and a committer will take care of it. The full text of the PR can be found at: http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/174873 -- Edwin Groothuis via the GNATS Auto Assign Tool edwin@FreeBSD.org State Changed From-To: open->feedback Awaiting maintainers feedback (via the GNATS Auto Assign Tool) Responsible Changed From-To: freebsd-ports-bugs->mandree I'll take it. State Changed From-To: feedback->open feedback received Po-Chien and Corey, thanks for the submission and the work with the port, clean-up, review, feedback. There are new issues with the port regarding the Python option, resulting from its auto-detection in the ./configure. This is a case similar to <http://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/book.html#AEN2780>, but not quite the same because the override is more subtle. The failure-inducing change is the removal of PYTHON=: from the CONFIGURE_ARGS command line that forced Python to "off" unless told otherwise. Note that fetchmailconf.py is installed to libexec no matter if the X11 option is set or not. The overzealous CONFIGURE_ARGS cleanup has these consequences: - on systems that do have Python, the ./configure picks it up in spite of an unset USE_PYTHON, and installs and compiles fetchmailconf.py to the Python site directory, rather than libexec/fetchmailconf.py. It also leaves three files behind on deinstallation. This is with "port test" (it will not show up in Tinderboxes, but only on builds in real systems): ===> Deinstalling fetchmail-6.3.24 ==> You should manually remove the "fetchmail" user. ===> Extra files and directories check lib/python2.7/site-packages/fetchmailconf.py lib/python2.7/site-packages/fetchmailconf.pyc lib/python2.7/site-packages/fetchmailconf.pyo - on systems that do not have python, fetchmailconf.py etc. are not built/installed outside libexec/, but the port seems fine. I have not checked behaviour with the X11 option set. I have not checked how the end-user would use the lib/python2.7/site-packages/fetchmailconf.pyc rather than the one from libexec. One approach to fix this is to add PYTHON=: back to CONFIGURE_ARGS if the X11 option is unset. It comes at the cost of running fetchmailconf in an uncompiled version. Can the two of you please sort this out and submit a followup? Thank you. Best regards, Matthias State Changed From-To: open->feedback more feedback required from submitter and maintainer It's my fault not double-checking the README.packaging file. The attached patch is modified after Corey's version, and make the following changes: - Add PYTHON=: back to CONFIGURE_ARGS if X11 option is unset. - Set USE_PYTHON_RUN only if X11 option is set. - Rename files/fetchmailconf to files/fetchmailconf.in, add it into SUB_FILES, and make the corresponding change in pre-patch target. - The `fetchmailconf' wrapper will only be installed when X11 option is unset, otherwise we use the native wrapper which will directly call the script under PYTHON_SITELIBDIR. - Add %%X11%% and %%NOX11%% prefix to PLIST_SUB. On Mon, Jan 07, 2013 at 11:13:09PM +0000, mandree@FreeBSD.org wrote: > Synopsis: [PATCH] mail/fetchmail: update to 6.3.24 > > State-Changed-From-To: open->feedback > State-Changed-By: mandree > State-Changed-When: Mon Jan 7 23:13:01 UTC 2013 > State-Changed-Why: > more feedback required from submitter and maintainer > > http://www.freebsd.org/cgi/query-pr.cgi?pr=174873 Corey, do you approve? On 2013-01-10, Matthias Andree wrote:
> Corey, do you approve?
Yes, I do.
~crh
Author: mandree Date: Thu Jan 10 01:36:21 2013 New Revision: 310167 URL: http://svnweb.freebsd.org/changeset/ports/310167 Log: Changes by Po-Chien Lin: - Update to 6.3.24 - Switch to OptionsNG - Remove unused variables: PATCH_STRIP, MAKE_ENV - Rearrange ordering of some sections - Use PORTDOCS to handle document list instead of pkg-plist - Alter pkg-plst to make portlint(1) happier - Cleanup TABs - Set USE_PYTHON_RUN only if X11 option is set. - Rename files/fetchmailconf to files/fetchmailconf.in, add it into SUB_FILES, and make the corresponding change in pre-patch target. - The `fetchmailconf' wrapper will only be installed when X11 option is unset, otherwise we use the native wrapper which will directly call the script under PYTHON_SITELIBDIR. - Add %%X11%% and %%NOX11%% prefix to PLIST_SUB. Changes by Corey Halpin (maintainer): - Update MASTER_SITES PR: 174873 Submitted by: Po-Chien Lin <linpc@cs.nctu.edu.tw> Approved by: Corey Halpin (maintainer) Added: head/mail/fetchmail/files/fetchmailconf.in (contents, props changed) Deleted: head/mail/fetchmail/files/fetchmailconf Modified: head/mail/fetchmail/Makefile head/mail/fetchmail/distinfo (contents, props changed) head/mail/fetchmail/pkg-plist Modified: head/mail/fetchmail/Makefile ============================================================================== --- head/mail/fetchmail/Makefile Thu Jan 10 00:27:02 2013 (r310166) +++ head/mail/fetchmail/Makefile Thu Jan 10 01:36:21 2013 (r310167) @@ -1,7 +1,4 @@ -# New ports collection makefile for: fetchmail -# Date created: 25 Feb 2000 -# Whom: Ville Eerola <ve@sci.fi> -# +# Created by: Ville Eerola <ve@sci.fi> # $FreeBSD$ # # NOTE: The fetchmailconf program (an interactive program for @@ -11,12 +8,10 @@ # want fetchmailconf to work, define the X11 option. PORTNAME= fetchmail -PORTVERSION= 6.3.22 +PORTVERSION= 6.3.24 CATEGORIES= mail ipv6 -MASTER_SITES= BERLIOS/${PORTNAME}/ \ - SF/${PORTNAME}/branch_6.3/ \ - http://mandree.home.pages.de/${PORTNAME}/ \ - SUNSITE/system/mail/pop/${PORTNAME}/ +MASTER_SITES= SF/${PORTNAME}/branch_6.3/ \ + http://mandree.home.pages.de/${PORTNAME}/ MAINTAINER= chalpin@cs.wisc.edu COMMENT= Batch mail retrieval utility for IMAP/POP3/ETRN/ODMR @@ -24,61 +19,63 @@ COMMENT= Batch mail retrieval utility fo RUN_DEPENDS= ${LOCALBASE}/share/certs/ca-root-nss.crt:${PORTSDIR}/security/ca_root_nss # Note USERS can only contain a single word as parts below rely on that. -USERS= ${PORTNAME} -GROUPS= ${USERS} +USERS= ${PORTNAME} +GROUPS= ${USERS} USE_RC_SUBR= fetchmail FETCHMAILRC= ${PREFIX}/etc/fetchmailrc SUB_FILES= pkg-message -PATCH_STRIP= -p1 -USE_XZ= yes +USE_XZ= yes USE_GMAKE= yes MAKE_JOBS_SAFE= yes GNU_CONFIGURE= yes USE_OPENSSL= yes CONFIGURE_ARGS= --enable-opie --enable-RPA --enable-SDPS \ - --with-hesiod=no --enable-fallback=no PYTHON=: -# bsd.openssl.mk will add the LDFLAGS to CONFIGURE_ENV: + --without-hesiod --enable-fallback=no \ + --with-ssl=${OPENSSLBASE} + LDFLAGS+= -L${LOCALBASE}/lib -MAKE_ENV+= ${CONFIGURE_ENV} -MAN1= fetchmail.1 -MLINKS= fetchmail.1 fetchmailconf.1 - -OPTIONS= X11 "Python/Tkinter dependencies for fetchmailconf" off \ - NLS "National language support (NLS)." on \ - NTLM "Build in support for NTLM/MSN authentication." off \ - GSSAPI "Build GSSAPI/Kerberos 5 support" on +MAN1= fetchmail.1 +MLINKS= fetchmail.1 fetchmailconf.1 -.include <bsd.port.options.mk> +OPTIONS_DEFINE= X11 NLS NTLM GSSAPI +OPTIONS_DEFAULT= GSSAPI +X11_DESC= Python/Tkinter dependencies for ``fetchmailconf'' +NTLM_DESC= Build in support for NTLM/MSN authentication +GSSAPI_DESC= Build GSSAPI/Kerberos 5 support -.if defined(WITH_X11) -USE_PYTHON= yes -RUN_DEPENDS+= ${LOCALBASE}/lib/${PYTHON_VERSION}/site-packages/_tkinter.so:${PORTSDIR}/x11-toolkits/py-tkinter -.endif +PORTDOCS= FAQ FEATURES NEWS NOTES README README.SSL \ + design-notes.html fetchmail-FAQ.html fetchmail-features.html \ + esrs-design-notes.html -.include <bsd.port.pre.mk> +.include <bsd.port.options.mk> # Pop2 is obsolete .if defined(WITH_POP2) -CONFIGURE_ARGS+=--enable-POP2 +CONFIGURE_ARGS+= --enable-POP2 .endif -CONFIGURE_ARGS+= --with-ssl=${OPENSSLBASE} - -DOCS= FAQ FEATURES NEWS NOTES README README.SSL \ - design-notes.html fetchmail-FAQ.html fetchmail-features.html \ - esrs-design-notes.html +.if ${PORT_OPTIONS:MX11} +USE_PYTHON_RUN= yes +RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}tkinter>=0:${PORTSDIR}/x11-toolkits/py-tkinter +PLIST_SUB+= X11="" NOX11="@comment " +.else +CONFIGURE_ARGS+= PYTHON=: +SUB_FILES+= fetchmailconf +PLIST_SUB+= X11="@comment " NOX11="" +.endif -.if !defined(WITHOUT_NLS) +.if ${PORT_OPTIONS:MNLS} CONFIGURE_ARGS+= --enable-nls -PLIST_SUB+= NLS="" -USE_GETTEXT= yes +PLIST_SUB+= NLS="" +USE_GETTEXT= yes .else CONFIGURE_ARGS+= --disable-nls -PLIST_SUB+= NLS="@comment " +PLIST_SUB+= NLS="@comment " .endif +.if ${PORT_OPTIONS:MGSSAPI} .if !defined(KRB5_HOME) .if exists(${LOCALBASE}/lib/libkrb5.a) KRB5_HOME= ${LOCALBASE} @@ -88,42 +85,36 @@ KRB5_HOME= /usr .endif .if defined(KRB5_HOME) && !exists(${KRB5_HOME}/lib/libkrb5.a) -BROKEN= KRB5_HOME is set but doesn't provide lib/libkrb5.a +BROKEN= KRB5_HOME is set but doesn\'t provide lib/libkrb5.a .endif -.if defined(WITH_GSSAPI) .if defined(KRB5_HOME) && exists(${KRB5_HOME}/lib/libkrb5.a) -CONFIGURE_ARGS += --with-gssapi=${KRB5_HOME} +CONFIGURE_ARGS+= --with-gssapi=${KRB5_HOME} .endif .endif -.if defined(WITH_NTLM) -CONFIGURE_ARGS += --enable-NTLM -DOCS+= README.NTLM -PLIST_SUB+= NTLMDOCS="%%PORTDOCS%%" -.else -PLIST_SUB+= NTLMDOCS="%%PORTDOCS%%@comment " +.if ${PORT_OPTIONS:MNTLM} +CONFIGURE_ARGS+= --enable-NTLM +PORTDOCS+= README.NTLM .endif pre-patch: @${REINPLACE_CMD} -e "s,^#!/usr/bin/env python,#!${LOCALBASE}/bin/python,g" \ ${WRKSRC}/fetchmailconf.py - @${CP} ${FILESDIR}/fetchmailconf ${WRKDIR}/fetchmailconf - @${REINPLACE_CMD} -e "s,@LOCALBASE@,${LOCALBASE},g" \ - ${WRKDIR}/fetchmailconf post-build: - @cd ${WRKSRC} && ${MAKE} check + @${MAKE} -C ${WRKSRC} check post-install: -.if !defined(NOPORTDOCS) - ${INSTALL} -d -m 555 -o ${DOCOWN} -g ${DOCGRP} ${DOCSDIR} - cd ${WRKSRC} && ${INSTALL_DATA} ${DOCS} ${DOCSDIR} +.if ${PORT_OPTIONS:MDOCS} + ${MKDIR} ${DOCSDIR} + cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${DOCSDIR} .endif +.if empty(PORT_OPTIONS:MX11) ${INSTALL_SCRIPT} ${WRKDIR}/fetchmailconf ${PREFIX}/bin ${INSTALL_SCRIPT} ${WRKSRC}/fetchmailconf.py ${PREFIX}/libexec - +.endif ${MKDIR} -m 0755 "/var/run/${PORTNAME}" ${CHOWN} "${USERS}:${GROUPS}" "/var/run/${PORTNAME}" ${INSTALL} -m 644 -o ${USERS} -g ${GROUPS} ${FILESDIR}/fetchmailrc.sample ${PREFIX}/etc/fetchmailrc.sample @@ -136,4 +127,4 @@ post-install: @${CAT} ${PKGMESSAGE} @${ECHO_CMD} "" -.include <bsd.port.post.mk> +.include <bsd.port.mk> Modified: head/mail/fetchmail/distinfo ============================================================================== --- head/mail/fetchmail/distinfo Thu Jan 10 00:27:02 2013 (r310166) +++ head/mail/fetchmail/distinfo Thu Jan 10 01:36:21 2013 (r310167) @@ -1,2 +1,2 @@ -SHA256 (fetchmail-6.3.22.tar.xz) = 9ab51a851f79e16258f068e791c39e3e378a99927f70c9635132f4295d70b1a4 -SIZE (fetchmail-6.3.22.tar.xz) = 1260296 +SHA256 (fetchmail-6.3.24.tar.xz) = f6882f00f0d69bbabaa4fbdaccb9231c7c441781fcb95ff763f75589f2328daf +SIZE (fetchmail-6.3.24.tar.xz) = 1263156 Added: head/mail/fetchmail/files/fetchmailconf.in ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/mail/fetchmail/files/fetchmailconf.in Thu Jan 10 01:36:21 2013 (r310167) @@ -0,0 +1,44 @@ +#!/bin/sh +# +# Wrapper for the real fetchmailconf. Checks whether Python and Tkinter are +# installed, and runs the real fetchmailconf or alerts the user, as appropriate. +# +# $FreeBSD$ + +LOCALBASE=%%LOCALBASE%% + +if [ -x $LOCALBASE/bin/python ] ; then + PYTHON_VERSION=python$(${LOCALBASE}/bin/python -c 'import sys; print sys.version[:3]' 2>/dev/null) + if [ -e ${LOCALBASE}/lib/${PYTHON_VERSION}/site-packages/_tkinter.so ]; then + exec ${LOCALBASE}/libexec/fetchmailconf.py "$@" + fi +fi +cat <<EOF +The fetchmailconf program requires Python with Tkinter, which does +not appear to be installed on this system. Python can be found in +the FreeBSD Ports Collection in lang/python, and Tkinter for Python +can be found in x11-toolkits/py-tkinter. +EOF +exit 1 +#!/bin/sh +# +# Wrapper for the real fetchmailconf. Checks whether Python and Tkinter are +# installed, and runs the real fetchmailconf or alerts the user, as appropriate. +# +# $FreeBSD$ + +LOCALBASE=%%LOCALBASE%% + +if [ -x $LOCALBASE/bin/python ] ; then + PYTHON_VERSION=python$(${LOCALBASE}/bin/python -c 'import sys; print sys.version[:3]' 2>/dev/null) + if [ -e ${LOCALBASE}/lib/${PYTHON_VERSION}/site-packages/_tkinter.so ]; then + exec ${LOCALBASE}/libexec/fetchmailconf.py "$@" + fi +fi +cat <<EOF +The fetchmailconf program requires Python with Tkinter, which does +not appear to be installed on this system. Python can be found in +the FreeBSD Ports Collection in lang/python, and Tkinter for Python +can be found in x11-toolkits/py-tkinter. +EOF +exit 1 Modified: head/mail/fetchmail/pkg-plist ============================================================================== --- head/mail/fetchmail/pkg-plist Thu Jan 10 00:27:02 2013 (r310166) +++ head/mail/fetchmail/pkg-plist Thu Jan 10 01:36:21 2013 (r310167) @@ -1,19 +1,7 @@ @comment $FreeBSD$ bin/fetchmail bin/fetchmailconf -libexec/fetchmailconf.py -%%PORTDOCS%%%%DOCSDIR%%/FAQ -%%PORTDOCS%%%%DOCSDIR%%/FEATURES -%%PORTDOCS%%%%DOCSDIR%%/NEWS -%%PORTDOCS%%%%DOCSDIR%%/NOTES -%%PORTDOCS%%%%DOCSDIR%%/README -%%PORTDOCS%%%%NTLMDOCS%%%%DOCSDIR%%/README.NTLM -%%PORTDOCS%%%%DOCSDIR%%/README.SSL -%%PORTDOCS%%%%DOCSDIR%%/design-notes.html -%%PORTDOCS%%%%DOCSDIR%%/esrs-design-notes.html -%%PORTDOCS%%%%DOCSDIR%%/fetchmail-FAQ.html -%%PORTDOCS%%%%DOCSDIR%%/fetchmail-features.html -%%PORTDOCS%%@dirrm %%DOCSDIR%% +%%NOX11%%libexec/fetchmailconf.py %%NLS%%share/locale/ca/LC_MESSAGES/fetchmail.mo %%NLS%%share/locale/cs/LC_MESSAGES/fetchmail.mo %%NLS%%share/locale/da/LC_MESSAGES/fetchmail.mo @@ -37,9 +25,13 @@ libexec/fetchmailconf.py %%NLS%%share/locale/tr/LC_MESSAGES/fetchmail.mo %%NLS%%share/locale/vi/LC_MESSAGES/fetchmail.mo %%NLS%%share/locale/zh_CN/LC_MESSAGES/fetchmail.mo +%%X11%%%%PYTHON_SITELIBDIR%%/fetchmailconf.py +%%X11%%%%PYTHON_SITELIBDIR%%/fetchmailconf.pyc +%%X11%%%%PYTHON_SITELIBDIR%%/fetchmailconf.pyo @exec /usr/bin/install -d -m 755 -o fetchmail -g fetchmail /var/run/fetchmail @unexec if cmp -s %D/etc/fetchmailrc.sample %D/etc/fetchmailrc; then rm -f %D/etc/fetchmailrc; fi etc/fetchmailrc.sample @exec if [ ! -f %D/etc/fetchmailrc ] ; then cp -p %D/%F %B/fetchmailrc; fi -@unexec rm -f /var/run/fetchmail/fetchmail.pid 2>/dev/null || true -@unexec rmdir /var/run/fetchmail 2>/dev/null || true +@cwd /var/run +@unexec rm -f %D/fetchmail/fetchmail.pid 2>/dev/null || true +@dirrmtry fetchmail _______________________________________________ svn-ports-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-ports-all To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org" State Changed From-To: feedback->closed Committed. Thanks! |