I was finding that net-p2p/rtorrent wouldnt build in a jail using poudriere, the error in the output being ====>> Cleaning the build queue [: /usr/local/poudriere_data/packages/83amd64-default/All/libsigc++-2.2.10: unexpected operator ====>> Cleaning up wrkdir the attached patch quotes this so + (and presumable other special characters) will not break the build. Fix: apply the attached patch (quote the list so + characters aren't treated as operators) Patch attached with submission follows: How-To-Repeat: use a standard poudriere setup to build libtorrent (or rtorrent which requires libtorrent) C devel/libsigc++20 will build fine but isnt listed correctly as existing in the package list
On Mon, 23 Jul 2012 14:15:33 GMT Vincent Hoffman-Kazlauskas <vince@unsane.co.uk> wrote: > > >Number: 170087 > >Category: ports > >Synopsis: [Patch] [poudriere] fix quoting for poudriere > >Confidential: no > >Severity: non-critical > >Priority: low > >Responsible: freebsd-ports-bugs > >State: open > >Quarter: > >Keywords: > >Date-Required: > >Class: sw-bug > >Submitter-Id: current-users > >Arrival-Date: Mon Jul 23 14:20:11 UTC 2012 > >Closed-Date: > >Last-Modified: > >Originator: Vincent Hoffman-Kazlauskas > >Release: 9.0-RELEASE-p3 > >Organization: > >Environment: > FreeBSD fbsd9vm 9.0-RELEASE-p3 FreeBSD 9.0-RELEASE-p3 #0: Tue Jun 12 02:52:29 UTC 2012 root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC amd64 > > >Description: > I was finding that net-p2p/rtorrent wouldnt build in a jail using poudriere, the error in the output being > ====>> Cleaning the build queue > [: /usr/local/poudriere_data/packages/83amd64-default/All/libsigc++-2.2.10: unexpected operator > ====>> Cleaning up wrkdir > > the attached patch quotes this so + (and presumable other special characters) will not break the build. > >How-To-Repeat: > use a standard poudriere setup to build libtorrent (or rtorrent which requires libtorrent) C > devel/libsigc++20 will build fine but isnt listed correctly as existing in the package list > >Fix: > apply the attached patch (quote the list so + characters aren't treated as operators) > > > > --- common.sh.orig 2012-07-23 14:28:12.000000000 +0100 > +++ common.sh 2012-07-23 14:28:59.000000000 +0100 > @@ -635,7 +635,7 @@ > export LOCALBASE=${MYBASE:-/usr/local} > while read p; do > pn=$(awk -v o=${p} ' { if ($1 == o) {print $2} }' ${cache}) > - [ ! -f ${PKGDIR}/All/${pn}.${EXT} ] && queue="${queue} $p" > + [ ! -f "${PKGDIR}/All/${pn}.${EXT}" ] && queue="${queue} $p" > done < ${tmplist2} > > rm -f ${tmplist2} ${deplist} ${tmplist} > It's wrong patch I think. Because ${cache} already contain broken data in this moment. See attachment for correct patch. > > >Release-Note: > >Audit-Trail: > >Unformatted: > _______________________________________________ > freebsd-ports-bugs@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-ports-bugs > To unsubscribe, send any mail to "freebsd-ports-bugs-unsubscribe@freebsd.org" -- Denis Generalov <gd@powernet.ru>
On 23/07/2012 15:32, Denis Generalov wrote: > --- src/poudriere.d/common.sh.orig 2012-07-23 17:48:32.000000000 +0400 > +++ src/poudriere.d/common.sh 2012-07-23 17:49:00.000000000 +0400 > @@ -610,7 +610,7 @@ > local pn > msg "Caching missing port versions" > while read port; do > - if ! egrep -q "^${port} " ${cache}; then > + if ! grep -q "^${port} " ${cache}; then > pn=$(injail make -C /usr/ports/${port} -VPKGNAME) > echo "${port} ${pn}" >> ${cache} > fi This does not fix it for me. Using this patch I get the following Building new INDEX files... done. ====>> Mounting devfs ====>> Mounting /proc ====>> Mounting linuxfs /etc/resolv.conf -> /usr/local/poudriere/jails/90andtest/etc/resolv.conf ====>> Starting jail 90andtest ====>> Populating LOCALBASE ====>> Calculating ports order and dependencies ====>> Caching missing port versions ====>> Sanity checking the repository ====>> Deleting stale symlinks ====>> Cleaning the build queue [: /usr/local/poudriere_data/packages/90andtest-default/All/libsigc++-2.2.10: unexpected operator ====>> Cleaning up wrkdir ====>> Building lang/perl5.14 ===> Cleaning for perl-5.14.2_2 Please note that /usr/local/poudriere_data/packages/90andtest-default/All/libsigc++-2.2.10 doesnt currently exist. root@fbsd9vm ~/portlist]# ls /usr/local/poudriere_data/packages/90andtest-default/All/ [root@fbsd9vm ~/portlist]# Vince
Responsible Changed From-To: freebsd-ports-bugs->bapt Over to maintainer (via the GNATS Auto Assign Tool)
Author: bapt Date: Tue Jul 24 09:04:13 2012 New Revision: 301447 URL: http://svn.freebsd.org/changeset/ports/301447 Log: Fix some missing quoting PR: ports/170087 Submitted by: Vincent Hoffman-Kazlauskas <vince@unsane.co.uk>, Denis Generalov <gd@powernet.ru> Added: head/ports-mgmt/poudriere/files/ head/ports-mgmt/poudriere/files/patch-src__poudriere.d__common.sh (contents, props changed) Modified: head/ports-mgmt/poudriere/Makefile (contents, props changed) Modified: head/ports-mgmt/poudriere/Makefile ============================================================================== --- head/ports-mgmt/poudriere/Makefile Tue Jul 24 08:50:17 2012 (r301446) +++ head/ports-mgmt/poudriere/Makefile Tue Jul 24 09:04:13 2012 (r301447) @@ -7,6 +7,7 @@ PORTNAME= poudriere PORTVERSION= 1.5.4 +PORTREVISION= 1 CATEGORIES= ports-mgmt MASTER_SITES= http://files.etoilebsd.net/poudriere/ Added: head/ports-mgmt/poudriere/files/patch-src__poudriere.d__common.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/ports-mgmt/poudriere/files/patch-src__poudriere.d__common.sh Tue Jul 24 09:04:13 2012 (r301447) @@ -0,0 +1,20 @@ +--- ./src/poudriere.d/common.sh.orig 2012-07-04 12:38:06.000000000 +0200 ++++ ./src/poudriere.d/common.sh 2012-07-24 10:58:57.289711665 +0200 +@@ -610,7 +610,7 @@ + local pn + msg "Caching missing port versions" + while read port; do +- if ! egrep -q "^${port} " ${cache}; then ++ if ! grep -q "^${port} " ${cache}; then + pn=$(injail make -C /usr/ports/${port} -VPKGNAME) + echo "${port} ${pn}" >> ${cache} + fi +@@ -635,7 +635,7 @@ + export LOCALBASE=${MYBASE:-/usr/local} + while read p; do + pn=$(awk -v o=${p} ' { if ($1 == o) {print $2} }' ${cache}) +- [ ! -f ${PKGDIR}/All/${pn}.${EXT} ] && queue="${queue} $p" ++ [ ! -f "${PKGDIR}/All/${pn}.${EXT}" ] && queue="${queue} $p" + done < ${tmplist2} + + rm -f ${tmplist2} ${deplist} ${tmplist} _______________________________________________ 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: open->closed committed thanks!