From owner-freebsd-ports-bugs@FreeBSD.ORG Fri May 27 20:20:11 2011 Return-Path: Delivered-To: freebsd-ports-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 84DE2106566C for ; Fri, 27 May 2011 20:20:11 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 5B1388FC0A for ; Fri, 27 May 2011 20:20:11 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.4/8.14.4) with ESMTP id p4RKKB5s096663 for ; Fri, 27 May 2011 20:20:11 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.4/8.14.4/Submit) id p4RKKB7r096662; Fri, 27 May 2011 20:20:11 GMT (envelope-from gnats) Date: Fri, 27 May 2011 20:20:11 GMT Message-Id: <201105272020.p4RKKB7r096662@freefall.freebsd.org> To: freebsd-ports-bugs@FreeBSD.org From: "Mikhail T." Cc: Subject: Re: ports/157330: [MAINTAINER] databases/sqlite3: modified dependency X-BeenThere: freebsd-ports-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: "Mikhail T." List-Id: Ports bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 May 2011 20:20:11 -0000 The following reply was made to PR ports/157330; it has been noted by GNATS. From: "Mikhail T." To: Baptiste Daroussin Cc: Pavel Volkov , bug-followup@freebsd.org Subject: Re: ports/157330: [MAINTAINER] databases/sqlite3: modified dependency Date: Fri, 27 May 2011 16:15:39 -0400 On 27.05.2011 15:18, Baptiste Daroussin wrote: > Not all only the default one. ? > So basically sqlite will always be linked to .so.46 so why removing > this from the ports? Here is the scenario, that my campaign for eliminating the explicit shared library versions from most LIB_DEPENDS aims to prevent (icudata is used as an example -- other examples abound: jpeg, png, expat...) 1. Update the ports tree. 2. Build foo, that depends on icudata. 3. Wait two weeks. 4. Update the ports tree. 5. Build bar, that depends on icudata. If the icudata happened to get upgraded during these two weeks, building bar becomes impossible until one upgrades icu, which requires upgrade of foo... When foo is one's entire desktop, this becomes prohibitive... portupgrade helps here by shoveling old version of libicudata into a special directory, but that means waste of diskspace and run-time RAM -- because instances of bar and of foo will be using different versions of libicudata at runtime. And for what? To help icu-maintainer keep track of ports, that depend on his own? > this is the way we have always work for library dependency, Not "always". Look inside Mk/ for examples -- shared libraries installed by some frequently-changed ports don't have explicit version requirements already. I don't think, a particular version should be required at all -- unless there is a known good reason for it, such as when the older versions have an important bug or lack a feature needed by the depending port. > Changing this will bring nothing has if icu is bumped sqlite will need > to be bumped because it will be linked to .so.46 which will be away. Yes, PORTREVISION will need bumping (under the current rules). But the dependent ports can still be built on all machines, where libicudata of older (but still perfectly acceptable) version is already installed. Yours, -mi