Date: Sat, 04 Apr 2009 15:13:22 +0100 From: Chris Whitehouse <cwhiteh@onetel.com> To: User Questions <freebsd-questions@freebsd.org> Subject: new package system proposal Message-ID: <49D76B02.4060201@onetel.com>
next in thread | raw e-mail | index | archive | help
Hi all I was thinking about the waste of energy and time involved in lots of people around the world all compiling the same code such as openoffice, firefox, kde etc and wondering how the package system could be improved. Ports is rightly a flagship element of FreeBSD. The benefit is configureability and consistency. The obvious downside is it takes so long to update a desktop machine with a normal set of ports installed, particularly lower spec hardware or laptops. pkg_add somewhat addresses this but it doesn't work quite as well as ports because of possible version mismatches. The suggestion below is not aimed at servers because they have completely different requirements. My suggestion is to start with a ports tree that is fixed in time. Make that ports tree available as part of this package system and compile a typical desktop set of ports, particularly choosing ones which are large or have many dependencies. When it is all complete release it and start again. Surely quite a wide selection of desktops, wm's and apps could be compiled in a couple of weeks? Modify pkg_add so that it can be told to use this 'snapshot' including downloading the fixed ports tree that was used. Some benefits to this system are - much easier for lower power or laptop users to keep their desktop machine up to date - problems with particular ports can be centrally fixed by knowledgeable people, possibly reducing time on lists. - reduced energy use for everyone. - the ports system is still available for those who do want to change the config options - ports which are not included in the snapshot are still available - since this system has already provided the larger ports as packages, the remaining ones would be less onerous to install - ports that are installed with make install would maintain compatibility with the other installed packages. - don't need to mess with portupgrade etc. - it could (I think) be fitted fairly well into the existing package building process. - it generally increases the useability of FreeBSD as a desktop system. I think this could work because I think the default config options are probably suitable for most desktop users so it wouldn't be necessary to create loads of different binaries for the same port, and security considerations are not so important as for server admins. I would probably limit it to i386 architecture initially as that is probably by far the most common desktop system. It might be possible to distribute the actual compiling to users with spare cpu cycles, a bit like the SETI@home projects etc. Chris
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?49D76B02.4060201>