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>