Date: Wed, 02 Dec 2009 10:04:29 -0500 From: Lowell Gilbert <freebsd-questions-local@be-well.ilk.org> To: yuri@rawbw.com Cc: freebsd-questions@freebsd.org Subject: Re: Why there are so many binary packages missing? Message-ID: <44pr6xpgci.fsf@be-well.ilk.org> In-Reply-To: <4B158554.9090301@rawbw.com> (yuri@rawbw.com's message of "Tue, 01 Dec 2009 13:06:28 -0800") References: <4B1572D7.60700@rawbw.com> <4B157F7E.8050601@infracaninophile.co.uk> <4B158554.9090301@rawbw.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Yuri <yuri@rawbw.com> writes: > Matthew Seaman wrote: >> Yuri wrote: >>> I am seeing this for a long time. If I use 'portupgrade -aPP' >>> (packages only) there is a very large percentage of packages >>> missing. >>> Upgrading becomes many times faster when binary packages available >>> are available. >> >> Missing binary packages are due in the main to three reasons: >> >> * Restrictive licensing terms >> >> * Ports that through bugs, or otherwise, fail to successfully generate >> a binary package. Some ports (eg. sysutils/screen up until about 2 >> months ago >> (http://www.freebsd.org/cgi/cvsweb.cgi/ports/sysutils/screen/Makefile.diff?r1=1.77;r2=1.78)) >> >> just won't package successfully, even if they build, install and run >> perfectly well. >> >> * The port has a dependency on another port that failed for reason >> (2). Because the ports build cluster installs the dependencies >> of the port it >> is currently trying to build from binary packages, any lower >> level port >> that fails will prevent packages being built for anything that >> depends on >> it. >> > > Thank you for this information. > > Let's put aside #1. There are probably very few of those. Several hundred... > It still seems strange: on my system all of the ports that I need > build ok. Why would the port build successfully, but would fail to > generate a binary package? Isn't packaging just gzipping resulting > binaries with some minor additions? Pretty much. There are some ports, like the example given, which can be packaged, but won't necessarily work properly when the package is installed on a different system. Ports that depend on system source code (such as kernel modules) are a particularly notable other example. > Also why wouldn't the cluster build and install a port, once the > package fails? This way the #3 item is eliminated completely. Since it > looks like there is much more likely to build a port then a binary > package. You can do that; in fact, my home build server does exactly that, using portupgrade. But it's hard to be completely sure that the resulting package isn't legally encumbered by the port it depends on, so I don't make my built packages available to the public. However: the biggest reason people find packages missing is that they're working with the latest ports tree, and the ports cluster hasn't rebuilt the port since it was last updated. pointyhat.freebsd.org is the place to go to find out what's available. In particular, see http://pointyhat.freebsd.org/errorlogs/packagestats.html Good luck. -- Lowell Gilbert, embedded/networking software engineer, Boston area http://be-well.ilk.org/~lowell/
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?44pr6xpgci.fsf>