Is Yahoo! moving from FreeBSD?

Julien Gabel jpeg at thilelli.net
Thu Feb 24 16:54:08 GMT 2005


>>> That doesen't mean of course that it's impossible to do it - you can for
>>> example use Solaris for a small company server - but the effort required
>>> to go against the grain is much higher. Solaris for example comes with
>>> no compiler and you must compile by hand all the applications you need,
>>> and often you must recompile the complier just before you can even start
>>> doing that.  It takes days - whereas the FreeBSD ports system takes a
>>> few hours for the largest and most complex packages.

>> Just as a side notes here:
>>
>> 1/ Solaris does come with 'gcc' on Compagnion CD as can be seen on a
>>    fresh Solaris 10 installation:
>>    # pkginfo -l SUNWgcc | egrep "PKGINST|NAME|VERSION|VENDOR|DESC"
>>       PKGINST:  SUNWgcc
>>          NAME:  gcc - The GNU C compiler
>>       VERSION:  11.10.0,REV=2005.01.08.05.16
>>        VENDOR:  Sun Microsystems, Inc.
>>          DESC:  GNU C - The GNU C compiler 3.4.3
>>
>> 2/ You can always use the pkgsrc (the NetBSD Packages Collection) as the
>>    FreeBSD ports system replacement for use on Sun Solaris.  We do it
>>    here already for some software for Solaris 2.6, 8, 9 and soon for 10.

> What possible benefit does that give for Solaris which already has
> it's own package manager?  Your certainly not advocating using the
> NetBSD presets for compiling packages on Solaris?

Yes, i do.  This is one of the aim of this initial fork of the FreeBSD
ports collection (pkgsrc) to be used on multiple plateform and operating
system (NetBSD, Solaris, Linux, AIX, etc.: a list of all the supported
OSes can be found at http://www.pkgsrc.org/).  Sure, it is not perfect,
but it is a valuable tool.

Because sunfreeware.com provide binary only packages for Solaris, it is
very convenient to be able to compile our own set of packages from source
(and use our particular settings) or be able to install a software not
provided on sunfreeware.com or not yet updated.

It can then be possible to track and keep a real personalized third party
software baseline on multiple release versions of one or more OSes (for
example, have the same version of compilation tools or web server on
Solaris 2.6, Solaris 9 and Linux).

I don't think _one_ tool can solve of all problems, but use both the
native and non-native (pkgsrc) tools/package manager can be a good
compromise.

The advantages i think of (at least :-))
  - As with the FreeBSD ports collection, we can use an existing base of
    packages building from source (generally well up-to-date) with our own
    settings;
  - Management of software (or tools) dependancies;
  - Automatic checking for security vulnerabilities in installed packages;
  - Can generate binary package from our own sets, either manually or
    automatically using the bulk builds (for deployment for example);
  - Although compiled from source, you can managed installed packages via
    the pkg_* tools which is more convenient than from hands in /usr/local;
  - Don't interfer with supported native packages (from Sun) or non-
    supported packages (from sunfreeware.com, etc.).

As a side note, it is interesting to note that although not considered part
of Solaris 10 you can found a _reference_ to the The NetBSD Packages
Collection on the Compagnion CD provided by Sun[1], among others.  It would
seems furthermore than there exists a specialized group in the NetBSD
Project to handle specific PRs on this plateform (solaris-pkg-people) and
that Sun will be using "some form of pkgsrc" for its contrib packages
extras in Solaris[2] (i have not yet verify this).  Last, Sun has
contributed
some hardware to help making bulk builds of pkgsrc on Solaris OS[3].

>> I don't say i disagree with your global point of view, just that the
>> last two points may be slightly... moderated :)

> Solaris 2.6, 8, 9, 10 don't run on EISA.  They also got rid of the
> alt-F keys for the multiple consoles.

Yes, right :(

> 2.6 also included it's own perl, and I think later versions did too.
> Blech on that if you needed a later version of perl on the system.

On Solaris 10 plateform, you can found Perl 5.8.4 and Perl 5.6.1.  The
default is to place Perl 5.8.4 as /usr/bin/perl.

> These Solaris versions were fine for big companies with lots of money to
> buy brand new Sun boxes (which ran them well).  They were hideous for not
> so big companies that didn't want to have to throw perfectly good quad
> Pentium 200 servers with EISA hardware raid controllers and big SCSI
> arrays on them in the garbage.

Maybe we can hope this will change in near future, with Solaris 10+.

> And try building something like ImageMagik on Solaris 10 I will bet
> that at least 1 of the collection of libraries that this conglomerate
> program requires will not build without tweaks.

Certainly.  (FYI: currently, it breaks on the graphics/jasper dependancy
on the 2004-Q4 branch)
So, if there is no native "solution" (binary packages or anything else),
and if the FreeBSD ports collection is the favorite answer, i think that
the pkgsrc answer may be a very good solution, even with local tweaking
(you can easily track and record the changes for example). And no doubt
that is better than do nothing or try to do it by hand ;-)

> We do use Solaris, it's stable, runs well, nice UNIX os.  But what
> a time sucking bitch to setup.

Ok, that is your point of view ;)

-- 
-jpeg.

[1] http://www.feyrer.de/NetBSD/blog.html#20050206_1835
[2] http://www.netbsd.org/Foundation/reports/2004.html#pkgsrc
[3] http://www.netbsd.org/Foundation/reports/2004.html#admins



More information about the freebsd-questions mailing list