Re: Bug in portupgrade

From: KOMATSU Shinichiro (koma2_at_lovepeers.org)
Date: 07/31/05

  • Next message: Allan Fields: "Kernel Source Divergence, Security (was: booting gbde-encrypted filesystem)"
    Date: Sun, 31 Jul 2005 11:34:49 +0900
    To: Olivier Certner <olivier.certner@free.fr>
    
    

    Hello.

    Olivier Certner wrote:
    > Le Mardi 12 Juillet 2005 19:39, Florent Thoumie a écrit :
    >
    >>Le Mardi 12 juillet 2005 à 12:55 -0400, Kris Kennaway a écrit :
    >>
    >>>On Sun, Jul 10, 2005 at 11:13:12PM +0200, Olivier Certner wrote:
    >>>
    >>>> Hi,
    >>>>
    >>>> There is a bug with portupgrade when it is used to upgrade already
    >>>>compiled and installed ports for which some dependencies have been
    >>>>deleted in the package database. This causes a crash in the function
    >>>>'deorigin' in pkgdb.rb.
    >>>>
    >>>> Since I don't know the internals of portupgrade, I don't know if it's
    >>>>normal to call 'deorigin' with its argument set to nil. If it is, then
    >>>>the patch below might be useful (beware, I don't know any ruby, I've
    >>>>just tried something and it works), if it is not, I only can provide
    >>>>the stack (see below) in order for maintainers to seek the faulty
    >>>>callers.
    >>>
    >>>Please talk to the port maintainer.
    >>
    >> Yeah, and good luck :)
    >>
    >> Otherwise, he can try to pkgdb -F or remove pkgdb.rb and re-run
    >> portupgrade.
    >
    >
    > This doesn't work in fact. I'm forwarding these mails to the maintainer.

    Sorry for my late reply, but would you try out the following patch?

    Index: lib/portsdb.rb
    ===================================================================
    --- lib/portsdb.rb (revision 37)
    +++ lib/portsdb.rb (revision 38)
    @@ -846,7 +846,7 @@

        def all_depends_list(origin, before_args = nil, after_args = nil)
          if !before_args && !after_args && i = port(origin)
    - i.all_depends.map { |n| origin(n) }
    + i.all_depends.map { |n| origin(n) }.compact
          else
            all_depends_list!(origin, before_args, after_args)
          end
    _______________________________________________
    freebsd-hackers@freebsd.org mailing list
    http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
    To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org"


  • Next message: Allan Fields: "Kernel Source Divergence, Security (was: booting gbde-encrypted filesystem)"