From owner-freebsd-questions@FreeBSD.ORG Wed Jun 25 21:07:19 2014 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id C2E58CA7 for ; Wed, 25 Jun 2014 21:07:19 +0000 (UTC) Received: from mx01.qsc.de (mx01.qsc.de [213.148.129.14]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 85F1E2592 for ; Wed, 25 Jun 2014 21:07:18 +0000 (UTC) Received: from r56.edvax.de (port-92-195-64-166.dynamic.qsc.de [92.195.64.166]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx01.qsc.de (Postfix) with ESMTPS id 23D593CD81; Wed, 25 Jun 2014 23:07:09 +0200 (CEST) Received: from r56.edvax.de (localhost [127.0.0.1]) by r56.edvax.de (8.14.5/8.14.5) with SMTP id s5PL79S1005088; Wed, 25 Jun 2014 23:07:09 +0200 (CEST) (envelope-from freebsd@edvax.de) Date: Wed, 25 Jun 2014 23:07:09 +0200 From: Polytropon To: Walter Hurry Subject: Re: pkg: Can't install pgAdmin3 Message-Id: <20140625230709.38754fa2.freebsd@edvax.de> In-Reply-To: References: Reply-To: Polytropon Organization: EDVAX X-Mailer: Sylpheed 3.1.1 (GTK+ 2.24.5; i386-portbld-freebsd8.2) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: freebsd-questions@freebsd.org X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Jun 2014 21:07:19 -0000 On Wed, 25 Jun 2014 20:46:48 +0000 (UTC), Walter Hurry wrote: > But my question remains: What is lacking in the architecture of > pkg that it cannot cope with this? It's not possible to create and continuously update a repository for all imaginable combinations of possible options and required dependencies concluded from those options. Just imagine you have a program "foo" with those options: "bar": requires "baz" (default: on) "qux": requires "moo" (default: off) (dependency: "cluck") dependencies: "meow" So the "foo" binary package will install with the "bar" functionality and add the "meow" dependency. But if "moo" set for "foo", will also require the "cluck" dependency. This would result in the following packages: "foo" with "bar", without "moo", dependency "meow" "foo" without "bar", without "moo", dependency "meow" "foo" without "bar", with "moo", dependencies "meow", "cluck" "foo" with "bar", with "moo", dependencies "meow", "cluck" What kind of naming scheme should be applied to identify the various available packages? Is maintaining 2^n packages for n options actually possible? What if side effect to otherwise unrelated ports occur? And now imagine a port like mplayer with its dozens of options for various codecs and the possibility of additional settings and compile time options. It would be nonsense to provide a precompiled binary package for each, so the developers chose to be careful to define the "most common and most usable" set of default options which is used for building the packages. If you need anything that's _not_ mapped to the default options, you still need to compile your stuff - either with "poudriere" or using the classic "make config && make install" approach (while you can partially combine them with pkg, for example by first running "make missing" and have pkg install binary packages for most dependencies, then running the actual compiling for the port in question). Binary packages can do a lot, but they can't do magic. :-) In combination with such "customized" ports, pkg will still correctly update the system database in regards of used options and caused dependencies so updates are possible. A "poudriere" installation can be very helpful in the updating process if you have a lot of ports where you cannot use the default options. A problem as described above does not exist when using "bare" ports. -- Polytropon Magdeburg, Germany Happy FreeBSD user since 4.0 Andra moi ennepe, Mousa, ...