NetBSD-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Upgrading software with pkgsrc



Greg Troxel <gdt%lexort.com@localhost> writes:

> Brad Spencer <brad%anduin.eldar.org@localhost> writes:
>
>> [An even older Ye Olde BSD take, perhaps]
>>
>> I don't ever do upgrades, the teeth are sharp on that alligator.
>>
>> I build the packages I want from source and put them in a local repo
>> that can be accessed via http (that is, /usr/pkgsrc/packages is
>> accessible via http).  I then delete ALL packages on the target system
>> (literally pkg_delete everything) and use pkg_add to add the new ones
>> back from the local repo.  To help this I use a local meta package for
>> each system type that I have that does the work of building the packages
>> for that system type and can be used with pkg_add to add them all back
>> (set PKG_PATH to the URL of the local http repo).  Aside from not having
>> packages available for a bit, there has never any breakage, conflicts or
>> etc....  I have seen all manor of breakage, conflicts and etc.. using
>> any other technique including pkgin (although that one is better than
>> most).
>>
>> Keep in mind that pkg_delete doesn't remove anything under /usr/pkg/etc
>> so the usual config files are left in place.
>>
>> I think of this as the "Shoot them all and let God sort them out"
>> technique for package updates.
>
> That is remarkably like
>
>   build the packages you need
>   create a summary file
>   point pkgin at that
>   pkgin up
>   pkgin fug
>
> except that the above trusts pkgin, but I find it does pretty well.


And..  you hope that the upgrade(s) actually work out.  I experienced
enough of that Not Working Out to want to avoid the entire situation on
NetBSD (I would also need separate summary files for each system type...
"pkg_add xen-server-packages" a local meta package which lists
everything that a Xen server should have seems a lot simpler and the
meta package can be used for compiling the packages on the build server
and installing them on the target).

Having said that I have used pkgin a lot on the system formally known as
Joyent Triton and it worked out fine enough there (most of the time),
even in an extreme case where the original packages were 10 years old or
more.


-- 
Brad Spencer - brad%anduin.eldar.org@localhost - KC8VKS - http://anduin.eldar.org


Home | Main Index | Thread Index | Old Index