On Fri, Jul 13, 2012 at 5:14 AM, Fbsd8 <fbsd8_at_a1poweruser.com> 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_at_wemm.org; peter_at_FreeBSD.org; peter_at_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 SewellReceived on Fri Jul 13 2012 - 18:41:32 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:29 UTC