Problems running pkgdb -fF

Danny Pansters danny at ricin.com
Thu Mar 22 22:25:59 UTC 2007


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 at freebsd.org> wrote:
> > Andrew Pantyukhin wrote:
> > > On 3/19/07, Joe Marcus Clarke <marcus at 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 at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-ports
> To unsubscribe, send any mail to "freebsd-ports-unsubscribe at freebsd.org"




More information about the freebsd-ports mailing list