From owner-freebsd-stable@FreeBSD.ORG Mon Nov 4 18:56:10 2013 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id CF8C9472 for ; Mon, 4 Nov 2013 18:56:10 +0000 (UTC) (envelope-from fjwcash@gmail.com) Received: from mail-ob0-x233.google.com (mail-ob0-x233.google.com [IPv6:2607:f8b0:4003:c01::233]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 96DC12AD7 for ; Mon, 4 Nov 2013 18:56:10 +0000 (UTC) Received: by mail-ob0-f179.google.com with SMTP id uy5so7476618obc.38 for ; Mon, 04 Nov 2013 10:56:10 -0800 (PST) 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=D9rzZRzsnqlTIKlhsCcj7x3JDsnT8l+eyZtlkb4PvcA=; b=U++bsFtqNwpqBXB5PmSKWuM5uKnFFDf9NntRtTiVny4TrDKn/vYrVYJjqKijDr2LgP Q0UwlTGBf+31xIhOlvADnKBF9Zce+MlnOfe3/zGtuLezEVlXU1KPYweP15o5cs0tV9bd xwkXzGB9VhAMLoIYoWm1Qlal93J95ZzQ71wjxSCpw9cN0KTYd6OspX2PRuTaKmOar2rs yDIvFu3EWPlgDawb8rFmjKh1BT2fgmnvmQMz6v/5eFpIJA4emuKVXUGpf1TjK4iIOupl hU//xu4ODupS43Vqvc6VNaXuy/0F4gHt5aSiyumaKaAih82aTdtBel97F6ukCQfjK/gn i9Gw== MIME-Version: 1.0 X-Received: by 10.182.66.164 with SMTP id g4mr2955641obt.47.1383591369961; Mon, 04 Nov 2013 10:56:09 -0800 (PST) Received: by 10.76.132.9 with HTTP; Mon, 4 Nov 2013 10:56:09 -0800 (PST) In-Reply-To: <5277E53A.4090208@intertainservices.com> References: <527406D2.7010200@intertainservices.com> <1383336649.16326.41750369.298F8E9D@webmail.messagingengine.com> <1383337118.18823.41752849.2502EBFD@webmail.messagingengine.com> <5277E53A.4090208@intertainservices.com> Date: Mon, 4 Nov 2013 10:56:09 -0800 Message-ID: Subject: Re: pkgng: how to upgrade a single port? From: Freddie Cash To: Mike Jakubik Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.14 Cc: FreeBSD Stable X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 04 Nov 2013 18:56:10 -0000 On Mon, Nov 4, 2013 at 10:19 AM, Mike Jakubik < mike.jakubik@intertainservices.com> wrote: > On 11/03/13 17:24, George Kontostanos wrote: > >> You can alway lock a package or the packages that you don't need to >> upgrade. See: "pkg help lock" >> > > Thanks for the info but that would be very tedious to do. Is it just me o= r > is this a gross oversight of this new pkg system? Also the fact that with= a > pkg you can not choose any options for the port, you have to install with > options that the port maintainer chose. As it stands now if i do pkg > upgrade it wants to pull in a bunch of stuff that i do not want, also it > wants to re-install just about everything because of a "direct dependency > changed", im not sure this is correct as it wanted to re-install pkg itse= lf > just after I freshly installed it from ports. > It's not a limitation in the system; it's a disconnect between how things work and what you expect. :) The official packages are built using the default options for each port, and they are created in a single batch. They are designed to be upgraded all at once so that everything is from the same compilation run, using the same builds of dependencies, etc. It's expected that you will either never update the local repository file (ie, never run "pkg update" and add -U to all commands) so that everything is installed from the same repo version; or that you will specify a specific date in the repo path; or that you will upgrade everything in lock-step with the repo (always run "pkg update" before an install; always run a "pkg upgrade" after an update). If you want the most flexibility in how ports are configured, ability to install a single port, upgrade a single port, etc, then it's expected that you would use the ports tree directly, and compile everything yourself. If you want the best of both worlds (ability to configure ports however you want; ability to upgrade indibidual ports; not have to compile everything for every little change; etc) then you want to look into ports-mgmt/poudriere. That allows you to create local pkg repos of packages built however you like. And you control when a port gets upgraded in the pkg repo, and which dependencies get upgraded in the local pkg repo, etc. It sounds like poudriere is what you want, not the official pkg repo. =E2=80=8B=E2=80=8B --=20 Freddie Cash fjwcash@gmail.com