From owner-freebsd-ports@FreeBSD.ORG Fri Jul 13 20:41:32 2012 Return-Path: Delivered-To: ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1B4771065674 for ; Fri, 13 Jul 2012 20:41:32 +0000 (UTC) (envelope-from peter@wemm.org) Received: from mail-gg0-f182.google.com (mail-gg0-f182.google.com [209.85.161.182]) by mx1.freebsd.org (Postfix) with ESMTP id BA9E88FC17 for ; Fri, 13 Jul 2012 20:41:31 +0000 (UTC) Received: by ggnm2 with SMTP id m2so4633710ggn.13 for ; Fri, 13 Jul 2012 13:41:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=wemm.org; s=google; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=AEZAQ+/uILb+xjEDzi/og7DYZAM3nPhTGxx/WbEVrK0=; b=ZVKYbR6hUFGwZth+0+m4zjewooHj6AhflWCWwbQIblqJnDw1d6bH+Ir8EpX2PVjscK cixheGHLxi9B9V853pmAbs8GJ+fvtyhFXrn/rc2j38zo75uUVF/zPOqqGo2Jqxwylygj lWRfNlO9235HIYVc5iJHfh9iK30Cq+4QY6PTA= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:x-gm-message-state; bh=AEZAQ+/uILb+xjEDzi/og7DYZAM3nPhTGxx/WbEVrK0=; b=DMlAmfveYyKXfybFvUuZYIDvnDMfX4wh3nt3Bqv9ei2Z4GSCV/0xi6wT+bKiQD4pod C9mxiQ6nqVFf6hkGJ9I7hqwOCLRKyaHhq7G2Hxe89X8F2nxZ70IseEBrmNXTzVXkjIQE HQCV5u+gL027nYyBCZbR/c1Z7Zav2LY6lAMUb+xF0xpZaB4i5IEVePGMfIAP3JYU/uGZ z9nlFHTiSpAddg5VxEq+Ucm9Oi1OaKkv+cJ86ymuCm2Ef1XXq+8FQg3Tr/E27hGJAxL5 5WKez/ptZCeZvpZonw70dxQJnZEwKsGAmdP/r41AhELVqJUn8/+bAq/yDf5leZM/YzPr ydYA== MIME-Version: 1.0 Received: by 10.60.2.99 with SMTP id 3mr3622060oet.20.1342212091150; Fri, 13 Jul 2012 13:41:31 -0700 (PDT) Received: by 10.182.97.164 with HTTP; Fri, 13 Jul 2012 13:41:31 -0700 (PDT) In-Reply-To: <5000113D.2000004@a1poweruser.com> References: <20120712100110.GA34228@ithaqua.etoilebsd.net> <4FFF1C09.2020408@FreeBSD.org> <20120712220207.GD49382@ithaqua.etoilebsd.net> <4FFF5983.3010708@FreeBSD.org> <4FFFD944.1030005@ranner.eu> <5000113D.2000004@a1poweruser.com> Date: Fri, 13 Jul 2012 13:41:31 -0700 Message-ID: From: Peter Wemm To: Fbsd8 Content-Type: text/plain; charset=ISO-8859-1 X-Gm-Message-State: ALoCoQlVXBX7X6424MeF9Y+M1FHXPPKcw/sz/kkbcvkBdgA9l6oMC8nnyXL4s0z3WSSzcg2D903Q Cc: ports@freebsd.org, current@freebsd.org Subject: Re: [HEADSUP & CFT] pkg 1.0rc1 and schedule X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Jul 2012 20:41:32 -0000 On Fri, Jul 13, 2012 at 5:14 AM, Fbsd8 wrote: > What I want to know is this new pkg system going to remove the requirement > of having the complete ports tree on my system? > > What I am looking for in an port system, is to install a port and any files > needed for the parent port and its dependents to automatically be > downloaded. So in the end my system ports tree only contain the files used > to install the ports I use and their dependents. That is precisely what pkgng is for. At the risk of over-simplifying: * Generally eliminate the need for having /usr/ports installed for end user consumers of freebsd if you have no desire to compile ports with custom options. * Generally eliminate the need for layers over the top of pkg* like portupgrade/portmaster/portmanager for those people. * Play nicely with people who *are* building some (or all) of their packages from /usr/ports. * Provide enough look and feel compatibility with the old pkg_* tools so people will feel enough at home. * Assimilate an existing pkg_* machine. * Store complete metadata so that going foward we have much better support for package sets - eg: package repositories with custom options that play nicely with official packages. * Be extensible so that we can add to it as we go forward. In the new world order, things like portupgrade and portmanager tend to be used to manage interactions between personally build ports from /usr/ports and external binary packages. If you continue to build from /usr/ports, the only thing that changes is bsd.port.mk uses a different command to register a package and you still use portupgrade/portmaster/whatever to orchestrate your personal package rebuilding. (Well, portmaster does if you apply the simple patch to it). pkg-1.0 is primarily an infrastructure change. Instead of metadata being stored in discrete +FOO and +BAR files in a .tgz file, it is stored in a structured, extensible file. Instead of an incomplete set of metadata being stored in /var/db/pkg/* and having to be augmented by reaching over to /usr/ports/*, a full set of data is stored in a .sqlite file. Instead of version numbers being baked into the package name as an ascii string, the package system uses version numbers as first class metadata. In reality, not much will change at the switch throwing, except that of having good reason to be afraid of "pkg_add -r", you'll be able to reasonably expect it's replacement (pkg install) to work. And a bunch of people who have a /usr/ports tree will suddenly wonder why they even have it there at all. It becomes incredibly convenient and fast to use packages. -- Peter Wemm - peter@wemm.org; peter@FreeBSD.org; peter@yahoo-inc.com; KI6FJV "All of this is for nothing if we don't go to the stars" - JMS/B5 "If Java had true garbage collection, most programs would delete themselves upon execution." -- Robert Sewell