Date: Mon, 4 Nov 2013 12:19:13 -0800 From: Adrian Chadd <adrian@freebsd.org> To: Paul Mather <paul@gromit.dlib.vt.edu> Cc: FreeBSD Stable <freebsd-stable@freebsd.org>, Mike Jakubik <mike.jakubik@intertainservices.com> Subject: Re: pkgng: how to upgrade a single port? Message-ID: <CAJ-Vmo=HE5%2BDHpHsEXTEK6Tnf4s7L-=XE_2xBcJ5%2B%2BnpwsZ-0g@mail.gmail.com> 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> <CA%2BdUSyoUQB%2BgLM8g70y6mz7c%2BHSb3DJpVFvaENgm45VwcYVjQA@mail.gmail.com> <5277E53A.4090208@intertainservices.com> <CAOjFWZ4r-gWHd9k8F-T9sE1_5Qa0VVbqzxwYVZGazFf2b0k8VQ@mail.gmail.com> <3884C60E-FFEC-413C-901E-631E2862984B@gromit.dlib.vt.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
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 <paul@gromit.dlib.vt.edu> wrote: > On Nov 4, 2013, at 1:56 PM, Freddie Cash <fjwcash@gmail.com> 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"
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ-Vmo=HE5%2BDHpHsEXTEK6Tnf4s7L-=XE_2xBcJ5%2B%2BnpwsZ-0g>