Date: Sun, 28 Jul 2002 10:47:04 -0400 (EDT) From: Andrew &urger <arensb@ooblick.com> To: FreeBSD-gnats-submit@FreeBSD.org Subject: ports/41085: palm/coldsync broken under FreeBSD 4.5 and above Message-ID: <200207281447.g6SEl4R19756@baa.ooblick.com>
next in thread | raw e-mail | index | archive | help
>Number: 41085 >Category: ports >Synopsis: palm/coldsync broken under FreeBSD 4.5 and above >Confidential: no >Severity: serious >Priority: low >Responsible: freebsd-ports >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Sun Jul 28 08:00:05 PDT 2002 >Closed-Date: >Last-Modified: >Originator: Andrew &urger >Release: FreeBSD 4.4-RELEASE i386 >Organization: >Environment: FreeBSD 4.6 (sorry, I don't have access to a machine that explicitly exhibits the problem). REINPLACE_CMD in ports Makefiles should be 'sed' (not Perl). >Description: I just got the following message: From: Derik van Zuetphen <dvanzuetphen@pironet-ndh.com> To: arensb+freebsd-ports@ooblick.com Subject: FreeBSD Port: coldsync-2.1.3_3 Hello, I just noticed that your Coldsync Port is broken on FreeBSD 4.6. Error message after make: Extracting for coldsync-2.1.3_3 >> Checksum OK for coldsync-2.1.3.tar.gz. ===> coldsync-2.1.3_3 depends on shared library: intl.2 - found ===> Patching for coldsync-2.1.3_3 ===> Applying FreeBSD patches for coldsync-2.1.3_3 /usr/bin/sed -i.bak -e 's,udi\.(\S+),udi.udi_\1,g;' -e 's,ur\.(\S+),ur.ucr_\1,g;' /usr/ports/palm/coldsync/work/coldsync-2.1.3/configure /usr/ports/palm/coldsync/work/coldsync-2.1.3/libpconn/PConnection_usb.c sed: 1: "s,udi\.(\S+),udi.udi_\1 ...": \1 not defined in the RE *** Error The problem lies in the post-patch target in the Makefile. The relevant lines are: ${REINPLACE_CMD} -e 's,udi\.(\S+),udi.udi_\1,g;' \ -e 's,ur\.(\S+),ur.ucr_\1,g;' \ I've confirmed under FreeBSD 4.4 that if REINPLACE_CMD is 'sed', then this will not work as expected, since by default sed wants "\(" and "\)" instead of "(" and ")", and doesn't understand "\S". This target does work as expected if REINPLACE_CMD is 'perl -p'. >How-To-Repeat: % cd /usr/ports/palm/coldsync % make >Fix: From the original message: To fix: Add a -E after the sed call in Makefile: % diff Makefile Makefile.orig 41c41 < ${REINPLACE_CMD} -E -e 's,udi\.(\S+),udi.udi_\1,g;' \ --- > ${REINPLACE_CMD} -e 's,udi\.(\S+),udi.udi_\1,g;' \ >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ports" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200207281447.g6SEl4R19756>