Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 9 Jul 2018 09:13:11 +0200
From:      Stefan Esser <se@freebsd.org>
To:        Koichiro Iwao <meta@FreeBSD.org>, Walter Schwarzenfeld <w.schwarzenfeld@utanet.at>
Cc:        freebsd-ports@freebsd.org, ruby@freebsd.org
Subject:   Re: rubgem update to 3.2.7
Message-ID:  <731bb6c1-a673-2f9d-37c6-17cdc96c2214@freebsd.org>
In-Reply-To: <20180709030456.mvwdam3gzofvv45d@icepick.vmeta.jp>
References:  <6b43fe62-daac-a4f8-89a0-66cec1f6d933@utanet.at> <20180709030456.mvwdam3gzofvv45d@icepick.vmeta.jp>

next in thread | previous in thread | raw e-mail | index | archive | help
Am 09.07.18 um 05:04 schrieb Koichiro Iwao:
> On Mon, Jul 09, 2018 at 12:02:22AM +0200, Walter Schwarzenfeld via freebsd-ports wrote:
>> Portmaster tries to build the update in the wrong order.
>>
>> Right order for me was (depend on which packages are installed):
>>
>> rubygem-glib2
>> rubygem-gobject-introspection
>> rubygem-gio2
>> rubygem-gdk_pixbuf2
>> rubygem-pango
>> rubygem-gdk3
>>
>> rubygem-gtk3
>>
>> rubygem-atk
> 
> I can also confirm the issue. I always perform portmaster in order that
> you shown by hand when rubygem-gtk ports updated. portmaster needs to be fixed.

A quick check shows that this is a problem with the port, which obviously
declares actual build dependencies as run dependencies.

Please open a PR and let the ruby maintainers fix this issue.

E.g. in x11-toolkits/rubygem-gtk3/Makefile:

RUN_DEPENDS=    rubygem-atk>=${PORTVERSION}:accessibility/rubygem-atk \
                rubygem-gdk3>=${PORTVERSION}:x11-toolkits/rubygem-gdk3 \
                rubygem-gdk_pixbuf2>=${PORTVERSION}:graphics/rubygem-gdk_pixbuf2 \
                rubygem-gio2>=${PORTVERSION}:devel/rubygem-gio2 \
                rubygem-glib2>=${PORTVERSION}:devel/rubygem-glib2 \

rubygem-gobject-introspection>=${PORTVERSION}:devel/rubygem-gobject-introspection
\
                rubygem-pango>=${PORTVERSION}:x11-toolkits/rubygem-pango

Run dependencies are generally built after the port that needs them, since
they may themselves depend on resources provided by the respective port.

Build dependencies OTOH provide those files that need to be updated before
building a port. They may also be run dependencies (and often are), and in
that case they need to be in both the BUILD_DEPENDS and RUND_DEPENDS lists.

I cannot modify the behavior of portmaster (i.e. build run dependencies
before the port that needs them, since this would break quite a number of
other ports with correct dependency specifications: Then portmaster would
try to build run dependencies before their prerequisites are available).

So, I'm sorry, but portmaster will not be able to upgrade the rubygem ports
in the correct order, unless the port dependencies are fixed.

Regards, STefan



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?731bb6c1-a673-2f9d-37c6-17cdc96c2214>