From owner-freebsd-pkg@FreeBSD.ORG Mon Nov 24 14:38:47 2014 Return-Path: Delivered-To: freebsd-pkg@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 264F4318 for ; Mon, 24 Nov 2014 14:38:47 +0000 (UTC) Received: from smtp.infracaninophile.co.uk (smtp6.infracaninophile.co.uk [IPv6:2001:8b0:151:1:3cd3:cd67:fafa:3d78]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "smtp.infracaninophile.co.uk", Issuer "ca.infracaninophile.co.uk" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id A9511D44 for ; Mon, 24 Nov 2014 14:38:46 +0000 (UTC) Received: from ox-dell39.ox.adestra.com (no-reverse-dns.metronet-uk.com [85.199.232.226] (may be forged)) (authenticated bits=0) by smtp.infracaninophile.co.uk (8.14.9/8.14.9) with ESMTP id sAOEceof072325 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO); Mon, 24 Nov 2014 14:38:41 GMT (envelope-from matthew@freebsd.org) Authentication-Results: smtp.infracaninophile.co.uk; dmarc=none header.from=freebsd.org DKIM-Filter: OpenDKIM Filter v2.9.2 smtp.infracaninophile.co.uk sAOEceof072325 Authentication-Results: smtp.infracaninophile.co.uk/sAOEceof072325; dkim=none reason="no signature"; dkim-adsp=none; dkim-atps=neutral X-Authentication-Warning: lucid-nonsense.infracaninophile.co.uk: Host no-reverse-dns.metronet-uk.com [85.199.232.226] (may be forged) claimed to be ox-dell39.ox.adestra.com Message-ID: <547342F0.5000601@freebsd.org> Date: Mon, 24 Nov 2014 14:38:40 +0000 From: Matthew Seaman User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:31.0) Gecko/20100101 Thunderbird/31.2.0 MIME-Version: 1.0 To: Rick Miller Subject: Re: Create empty package catalog (feature request) References: <547331B1.2020000@freebsd.org> In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Virus-Scanned: clamav-milter 0.98.4 at lucid-nonsense.infracaninophile.co.uk X-Virus-Status: Clean X-Spam-Status: No, score=-0.9 required=5.0 tests=AWL,BAYES_00,RDNS_NONE, SPF_SOFTFAIL autolearn=no autolearn_force=no version=3.4.0 X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lucid-nonsense.infracaninophile.co.uk Cc: freebsd-pkg@freebsd.org X-BeenThere: freebsd-pkg@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Binary package management and package tools discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 24 Nov 2014 14:38:47 -0000 On 11/24/14 14:15, Rick Miller wrote: > On Mon, Nov 24, 2014 at 8:25 AM, Matthew Seaman wrote: > >> On 11/24/14 13:14, Rick Miller wrote: >>> Is it feasible to add a feature/command line argument to `pkg` permitting >>> the creation of an empty package catalog? >> >> What's the use-case for that? > > > In a nutshell... > > On the client-side, pkg(8) enforces uniqueness of packages within a single > repo introducing a scenario where multiple versions of the same package, > while the server can and does include these in the repo catalog, is > unsupported in a single repo. Consider, however, that a project has > explicit dependancies on a previous version of a particular package. `pkg > install` consistently chooses the most recent version of a package where > the catalog has multiple occurrences of it. > > A system consisting of consistent, yet limited quantity of package repos > implementing an algorithm to select a repo where to distribute newly > published packages was deployed. Target clients are pre-configured with > this repo set permitting them to specify a particular version of a > package. While working around the above limitation, it causes an error on > the client when encountering an empty repo citing: Have you tested pkg-devel with this scenario? There's a bug solved in 1.4.x to do with pkg(8) not applying any sort of preference ordering to repositories. > pkg: http://hostname.domain.com/repo_mirror/bsd-qa-local-repo8/meta.txz: > Not Found > pkg: repository bsd-qa-local-repo8 has no meta file, using default settings > > It's much more involved than this, however, and in the interest of brevity, > I attempted to describe it concisely. > So what you'ld really like is to have multiple different versions of the same package in the same repo, and have pkg(8) able to select the appropriate version based on the explicit dependencies you state? Having a facility to avoid some package versions is something that would be generally useful. At the moment we're just replicated the ports behaviour, which is to use the latest available version. Cheers, Matthew