Date: Mon, 9 Jul 2018 06:27:47 -0600 From: Adam Weinberger <adamw@adamw.org> To: se@freebsd.org Cc: meta@freebsd.org, w.schwarzenfeld@utanet.at, ruby@freebsd.org, freebsd-ports@freebsd.org Subject: Re: rubgem update to 3.2.7 Message-ID: <CAP7rwcgaqwzZa-d_3d4UPWQTBAmn3LbQkUe5Vci8VpEQdaKULA@mail.gmail.com> In-Reply-To: <731bb6c1-a673-2f9d-37c6-17cdc96c2214@freebsd.org> References: <6b43fe62-daac-a4f8-89a0-66cec1f6d933@utanet.at> <20180709030456.mvwdam3gzofvv45d@icepick.vmeta.jp> <731bb6c1-a673-2f9d-37c6-17cdc96c2214@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Jul 9, 2018 at 1:13 AM Stefan Esser <se@freebsd.org> wrote: > > 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. That doesn't seem right. That is the reverse of a run dependency. If vim/Makefile: RUN_DEPENDS= ncurses then ncurses cannot possibly depend on vim as a BUILD_DEPENDS. poudriere builds RUN_DEPENDS in advance, and RUN_DEPENDS should be rebuilt in advance as well. > 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. This doesn't seem right either. Unless a ruby gem is compiling C or C++ modules, its dependencies are only needed at runtime. > 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. I suspect this might actually be a portmaster issue. # Adam -- Adam Weinberger adamw@adamw.org https://www.adamw.org
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAP7rwcgaqwzZa-d_3d4UPWQTBAmn3LbQkUe5Vci8VpEQdaKULA>