From owner-freebsd-stable@FreeBSD.ORG Mon Nov 4 20:19:14 2013 Return-Path: Delivered-To: freebsd-stable@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 ESMTP id 9A012953 for ; Mon, 4 Nov 2013 20:19:14 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: from mail-qa0-x22f.google.com (mail-qa0-x22f.google.com [IPv6:2607:f8b0:400d:c00::22f]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 586B02FCA for ; Mon, 4 Nov 2013 20:19:14 +0000 (UTC) Received: by mail-qa0-f47.google.com with SMTP id w8so530952qac.6 for ; Mon, 04 Nov 2013 12:19:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type:content-transfer-encoding; bh=YFvZyi3W6v9yPLwqixtBYEFL4DZ66hlOrl57LnLTOms=; b=PT1HthmUGlv2fTbr996EtNkIEcfLd33abL8UWCLzCyF2awIldm3uYXz0jlDSDC5yeN PEVuA/A3c7JKHrcZRfrNEU6yPRQ3S9hHp/6zc5aIUGINuPcUb5zCFUAwidkLd+S56Xcd PGB9q/QyhNPY0DRTVglsXiQjY0/Rz5TIhdG+udSaHF+T0PmAcUDOMH3ety9u1QbZ+NWh 1XUIQBeLpU9BxPgV05rGyy74t9ws1ItJwOngw7H/UQqlz57XiPOpI9f4XW+/HKykecCa oFa1R0PZ27nrnEhU/0X/EeF+W5Pgq4EYeATp7v+E1VasrBANKMO8Oq5LEBfw6O6UvAOC Pniw== MIME-Version: 1.0 X-Received: by 10.224.113.199 with SMTP id b7mr24641724qaq.4.1383596353430; Mon, 04 Nov 2013 12:19:13 -0800 (PST) Sender: adrian.chadd@gmail.com Received: by 10.224.207.66 with HTTP; Mon, 4 Nov 2013 12:19:13 -0800 (PST) In-Reply-To: <3884C60E-FFEC-413C-901E-631E2862984B@gromit.dlib.vt.edu> References: <527406D2.7010200@intertainservices.com> <1383336649.16326.41750369.298F8E9D@webmail.messagingengine.com> <1383337118.18823.41752849.2502EBFD@webmail.messagingengine.com> <5277E53A.4090208@intertainservices.com> <3884C60E-FFEC-413C-901E-631E2862984B@gromit.dlib.vt.edu> Date: Mon, 4 Nov 2013 12:19:13 -0800 X-Google-Sender-Auth: ekN6yVSMhUeEraGKra1Kn5BKHU0 Message-ID: Subject: Re: pkgng: how to upgrade a single port? From: Adrian Chadd To: Paul Mather Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: FreeBSD Stable , Mike Jakubik 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 20:19:14 -0000 Hi, Just please keep in mind that when it claims the same version package needs to be reinstalled, it seems to be for a good reason. Eg, the base system library dependencies have changed. Since there's no "stable" package snapshot, various package versions get upgraded all the time. A package update to fix a security vulnerability may have occured whilst its dependencies got updated, so you have to upgrade the dependencies. And their dependencies. etc, etc. -adrian On 4 November 2013 11:37, Paul Mather wrote: > On Nov 4, 2013, at 1:56 PM, Freddie Cash wrote: > >> 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= or >>> is this a gross oversight of this new pkg system? Also the fact that wi= th a >>> pkg you can not choose any options for the port, you have to install wi= th >>> 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 i= t >>> wants to re-install just about everything because of a "direct dependen= cy >>> changed", im not sure this is correct as it wanted to re-install pkg it= self >>> just after I freshly installed it from ports. >>> >> >> It's not a limitation in the system; it's a disconnect between how thing= s >> 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 upgrade= d >> all at once so that everything is from the same compilation run, using t= he >> same builds of dependencies, etc. >> >> It's expected that you will either never update the local repository fil= e >> (ie, never run "pkg update" and add -U to all commands) so that everythi= ng >> 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; alwa= ys >> 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 th= at >> 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 everythin= g >> 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 upgra= ded >> in the pkg repo, and which dependencies get upgraded in the local pkg re= po, >> etc. >> >> It sounds like poudriere is what you want, not the official pkg repo. > > > I use poudriere but I also want to be able to update individual packages.= (Sort of "yum update foo" rather than just "yum update".) The main scena= rio is that a package gets a security vulnerability (and so has high priori= ty for me to update) and I want to be able to update that package on a mach= ine (and packages that depend on it) but not others that are also updated i= n the repo (which might need more local testing and changes before I want t= o install the updated version). I could achieve this by locking the packag= es I don't want updated, but locking the majority of packages I don't want = to update rather than just updating the minority of packages I want to seem= s inconvenient to me. > > However, it seems like "pkg install foo" will behave like "yum update foo= " for installed package "foo" (this is from the man page for "pkg install")= : > > Any already installed but out of date packages, either named on the = com- > mand line or from the sum of all their dependencies are added to the= work > list as upgrade jobs. The work list is sorted into dependency order= and > pkg install will present it to the user for approval before proceedi= ng, > unless overridden by the -y option or the ASSUME_ALWAYS_YES setting = in > pkg.conf. > > > So, you can apparently update individual packages, even though you use th= e somewhat confusingly named mechanism of "pkg install" to do so. (It woul= d be nice if "pkg upgrade foo" was a synonym for "pkg install foo" where "f= oo" is already installed.) > > Cheers, > > Paul. > _______________________________________________ > freebsd-stable@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-stable > To unsubscribe, send any mail to "freebsd-stable-unsubscribe@freebsd.org"