From owner-freebsd-gnome@FreeBSD.ORG Thu Aug 30 22:10:15 2012 Return-Path: Delivered-To: gnome@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 91D3A106566C for ; Thu, 30 Aug 2012 22:10:15 +0000 (UTC) (envelope-from mezz.freebsd@gmail.com) Received: from mail-ob0-f182.google.com (mail-ob0-f182.google.com [209.85.214.182]) by mx1.freebsd.org (Postfix) with ESMTP id 4F45B8FC1A for ; Thu, 30 Aug 2012 22:10:15 +0000 (UTC) Received: by obbun3 with SMTP id un3so5697044obb.13 for ; Thu, 30 Aug 2012 15:10:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=E79HCHMX3UH4oZcDGzr7gOdMphTOsv97frAFUlpB2Nc=; b=fjux7zeX/cq3zlYLga2Bpu64ofoI+unWRxrr0snRfA8JHcRLx4E26KYhKtL8g1Z/eg t5rh26OJfkfag337BaDNtH2qVmTDkBjj+jMUSjwDiu15Ih/pZZtrQ7AkKyMjpi08HXKt BjLSlNaKeoix6WvbebyA8Qt6Nb1DwoMTc1fNbt9kU13y8eod3PiLO1Q65v7kS7QolzDg lTklEKluhr3uyfr9NPbhIpeLL55jwhZaLIkuEiYMYmX/bKy/Vm60v1KTyF2HzGya6k4z TFY31/1ytM1pwRNo5g+OqVeZP++J1pbCJeIdWBCe+HLwNCkfL6DDIeoprJ0vSu4Z72vQ 9ZMw== MIME-Version: 1.0 Received: by 10.60.3.106 with SMTP id b10mr6088224oeb.119.1346364614511; Thu, 30 Aug 2012 15:10:14 -0700 (PDT) Received: by 10.76.97.168 with HTTP; Thu, 30 Aug 2012 15:10:14 -0700 (PDT) In-Reply-To: <20120830214321.GD31703@nanocomputer.nanoman.ca> References: <20120830182257.GC31703@nanocomputer.nanoman.ca> <20120830214321.GD31703@nanocomputer.nanoman.ca> Date: Thu, 30 Aug 2012 17:10:14 -0500 Message-ID: From: Jeremy Messenger To: nanoman@nanoman.ca Content-Type: text/plain; charset=ISO-8859-1 Cc: gnome@freebsd.org Subject: Re: WANT_GNOME Causes Automatic Dependencies X-BeenThere: freebsd-gnome@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: GNOME for FreeBSD -- porting and maintaining List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Aug 2012 22:10:15 -0000 On Thu, Aug 30, 2012 at 4:43 PM, A.J. Kehoe IV (Nanoman) wrote: > Jeremy Messenger wrote: >> >> On Thu, Aug 30, 2012 at 1:22 PM, A.J. Kehoe IV (Nanoman) >> wrote: >>> >>> WANT_GNOME causes automatic dependencies. This causes problems for port >>> and >>> package management, as described in the FreeBSD Porter's Handbook on the >>> "Dependencies" page under "Problems Caused by Automatic Dependencies": >>> >>> >>> http://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/makefile-depend.html >> >> >> I agree, I have got rid of it in bsd.mate.mk. > > > Awesome! Automatic dependencies have been causing me grief for about a > decade, so this makes me happy. I wanted to clean up all of issues for long time and finally did it in the bsd.mate.mk (copied from bsd.gnome.mk). Here's what I did. I have removed the features: -HAVE:Mfoo, A lot of users don't know, hide and lacking OPTIONS stuff. It's not difficult to add autocheck in the Makefile without that HAVE:Mfoo anyway if configure doesn't provide option to disable. -foo_USE_GNOME_IMPL, we do not maintain it very well. Also it was not easy to track it down for the other maintainers to figure where the dependencies come from. I think it's best to put a complete dependencies in the ports rather than having IMPL doing it for you. -Remove the gnomeprefix and replace it to something like GCONFPREFIX=--gconf=...., so you can put ${GCONFPREFIX} in the Makefile's CONFIGURE_ARGS. Because not all ports have the same flags. -Remove the referencehack, yes it works great but it's ugly in the every Makefile. I think that's all. Only a feature that has been added is :build and :run. If anyone have something in mind to improvement or else, let me know and I will see what I can do. I plan to copy all of improvement from bsd.mate.mk to bsd.gnome.mk, which I already did with :build and :run and will doing more later when I have time permit. Unless someone can help me with it. >>> To solve this problem, I'm creating a new port called >>> misc/gnome-components. >>> This "meta-port" will define all the optional dependencies from >>> Mk/bsd.gnome.mk as OPTIONS. In Mk/bsd.gnome.mk, the whole automatic >>> dependencies section will be replaced with one line: >>> >>> RUN_DEPENDS+= gnome-components:${PORTSDIR}/misc/gnome-components >>> >>> I hope to have this finished by tomorrow (2012-08-31). If anyone has any >>> suggestions or alternative solutions, I'm very interested to hear what >>> you >>> have to say. >> >> >> But.. I disagree with the method you are doing there. You can't just >> do a sweep, because there is actually a few that do not provide flag >> option to disable it. You need to do it by manual and remove the >> HAVE_GNOME or convert it to OPTIONS if it allows you to. I prefer >> anyone to do a real fix/clean instead of band-aid >> (misc/gnome-components). >> >> Cheers, >> Mezz > > > I'm not fond of my misc/gnome-components method either, so any alternative > ideas are very welcome. All I've done thus far is created a Makefile with > an OPTIONS list for the 97 components from bsd.gnome.mk. > > What do you suggest for a real fix/clean? Based on your response, the ideal > fix has at least two attributes: > > 1. No automatic dependencies. > > 2. An option to disable specific components. I meant by remove the HAVE_GNOME from port Makefile then switch to either: 1) automatic dependency by using exists() or 2) OPTIONS if the port's configure provides flag to disable. It is unnecessary to make it complicates with gnome-components when the standard solution available in our ports tree. As for the #1, yes, it has to be there because a few configure files do that without option to disable (blame it on upstream). > I'm trying to get this issue resolved as quickly as possible, but I want the > fix to be done well. Again, any suggestions or alternative solutions are > welcome. I don't see why you are in such of hurry when we have that issue for years (longer than I became committer). When doing it in hurry always make messy, complicate or whatever. Hences for gnome-components. Cheers, Mezz > -- > A.J. Kehoe IV (Nanoman) | /"\ ASCII Ribbon Campaign > Nanoman's Company | \ / - No HTML/RTF in E-mail > E-mail: nanoman@nanoman.ca | X - No proprietary attachments > WWW: http://www.nanoman.ca/ | / \ - Respect for open standards -- mezz.freebsd@gmail.com - mezz@FreeBSD.org FreeBSD GNOME Team http://www.FreeBSD.org/gnome/ - gnome@FreeBSD.org