Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 22 Mar 2007 23:25:42 +0100
From:      Danny Pansters <danny@ricin.com>
To:        freebsd-ports@freebsd.org
Subject:   Re: Problems running pkgdb -fF
Message-ID:  <200703222325.43113.danny@ricin.com>
In-Reply-To: <cb5206420703201106j7bc724e1vc8f7a99ecd3fa021@mail.gmail.com>
References:  <1174330341.26866.32.camel@shumai.marcuscom.com> <46001864.8050005@FreeBSD.org> <cb5206420703201106j7bc724e1vc8f7a99ecd3fa021@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
There should be single (or escaped double) quotes inside the "" for the sed 
argument. Seems to be caused by the combination of [ ] with \t. Observe:

desktop# cat /COPYRIGHT | sed s/[ \t]//
sed: 1: "s/[": unbalanced brackets ([])

But cat /COPYRIGHT | sed 's/[ \t]//' is OK. 
So "s|^\\(@comment[ \t][ \t]*ORIGIN:\\).*$|\\1#{origin}|" should be replaced 
by "'s|^\\(@comment[ \t][ \t]*ORIGIN:\\).*$|\\1#{origin}|'"

Not tested as I'm not in sync with latest portstree and I don't know Ruby.

Dan


On Tuesday 20 March 2007 19:06:06 Andrew Pantyukhin wrote:
> On 3/20/07, Sergey Matveychuk <sem@freebsd.org> wrote:
> > Andrew Pantyukhin wrote:
> > > On 3/19/07, Joe Marcus Clarke <marcus@marcuscom.com> wrote:
> > >> Running pkgdb -Ff today gives me the following error:
> > >
> > > Just a "me too" here, and this problem appears during
> > > portupgrade runs, too.
> >
> > Try the patch please. I could not find a box where I can reproduce the
> > error, so it's not tested. Just a obvious quick fix.
> >
> > Index: pkgtools.rb
> > ===================================================================
> > RCS file: /cvsroot/portupgrade/pkgtools/lib/pkgtools.rb,v
> > retrieving revision 1.16.2.4
> > diff -u -r1.16.2.4 pkgtools.rb
> > --- pkgtools.rb 27 Feb 2007 11:34:59 -0000      1.16.2.4
> > +++ pkgtools.rb 20 Mar 2007 17:18:35 -0000
> > @@ -790,8 +790,7 @@
> >    contents_file = $pkgdb.pkg_contents(pkgname)
> >
> >    if grep_q_file(/^@comment[ \t]+ORIGIN:/, contents_file)
> > -    command = shelljoin('sed',
> > -                       "s|^\\(@comment[ \t][
> > \t]*ORIGIN:\\).*$|\\1#{origin}|")
> > +    command = "sed s|^\\(@comment[ \t][ \t]*ORIGIN:\\).*$|\\1#{origin}|"
> >    else
> >      command = "(cat; echo '@comment ORIGIN:#{origin}')"
> >    end
>
> Stale origin: 'x11-wm/fluxbox-devel': perhaps moved or obsoleted.
> -> The port 'x11-wm/fluxbox-devel' was moved to 'x11-wm/fluxbox' on
> 2007-03-19 because:
>         "Merged into x11-wm/fluxbox"
> 1x11-wm/fluxbox: not found
> ^(@comment[: not found
> sed: 1: "s": substitute pattern can not be delimited by newline or
> backslash Fixed. (-> x11-wm/fluxbox)
>
> At least the error is shorter now. I can make my
> /var/db/pkg available if you want.
> _______________________________________________
> freebsd-ports@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-ports
> To unsubscribe, send any mail to "freebsd-ports-unsubscribe@freebsd.org"





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