Skip to content
Extra non-ON software required for Illumos
C Makefile Perl Assembly C++ DIGITAL Command Language Other
Latest commit 3fd6827 Jun 22, 2016 @jclulow jclulow OS-5447 upgrade wget to 1.18
Reviewed by: Robert Mustacchi <rm@joyent.com>
Failed to load latest commit information.
bash OS-5434 Update bash to version 4.3.30 Jun 1, 2016
bind OS-3760 Update bind9 Jan 26, 2015
binutils OS-1639 illumos-extra should build with -zassert-deflib Oct 23, 2012
bzip2 OS-1639 illumos-extra should build with -zassert-deflib Oct 23, 2012
coreutils smartos-live#67 Support compiling cpp with gcc. Jun 20, 2012
cpp OS-1639 illumos-extra should build with -zassert-deflib Oct 23, 2012
curl OS-4219 deal with 201504 curl advisories Apr 22, 2015
dialog smartos-live#67 Support compiling cpp with gcc. Jun 20, 2012
g11n OS-3034 want iconv modules for inverse of OS-422 May 19, 2014
gcc4 OS-2559 illumos-extra should provide native node in proto.strap Oct 22, 2013
gnupg smartos-live#67 Support compiling cpp with gcc. Jun 20, 2012
gtar smartos-live#67 Support compiling cpp with gcc. Jun 20, 2012
gzip smartos-live#67 Support compiling cpp with gcc. Jun 20, 2012
ipmitool OS-3013 SEL entries do not match silkscreen May 9, 2014
less smartos-live#67 Support compiling cpp with gcc. Jun 20, 2012
libexpat smartos-live#67 Support compiling cpp with gcc. Jun 20, 2012
libidn OS-2658 wget spews incorrect errors about iconv Dec 12, 2013
libxml OS-1331 libxml2 build system needs conversion Jan 16, 2013
libz OS-2559 illumos-extra should provide native node in proto.strap Oct 22, 2013
make OS-2173 libmakestate shenanigans are janky Apr 26, 2013
ncurses OS-3208 illumos-extra must not consume $ROOT/usr/bin Jul 15, 2014
node.js OS-2909 fix illumos-extra build of node 0.10 caused by improper inden… Apr 11, 2014
nss-nspr OS-3208 illumos-extra must not consume $ROOT/usr/bin Jul 15, 2014
ntp OS-5093 upgrade NTP to ntp-4.2.8p5 Jan 15, 2016
openldap OS-2257 unusable SSL libraries should have different names in the pla… Jun 6, 2013
openlldp OS-3330 NTP should ship with CTF data Sep 9, 2014
openssh OS-5232 need to update OpenSSH to 7.2p2 for XAuth vulnerability (amen… Apr 13, 2016
openssl OS-4416 Update OpenSSL for recent CVEs Jun 12, 2015
openssl1x OS-5379 Update OpenSSL to 1.0.1t for CVE-2016-2107/8 May 3, 2016
pbzip2 illumos-extra#7 pbzip2 filesize limited to 2GB Sep 27, 2012
perl OS-2548 want emergency workaround for OS-1828 (fix other targets) Oct 11, 2013
rsync smartos-live#67 Support compiling cpp with gcc. Jun 20, 2012
rsyslog OS-2511 Rsyslog Must include imfile Plugin Oct 4, 2013
screen OS-4054 screen should be compiled with 256 colour support Mar 17, 2015
socat smartos-live#67 Support compiling cpp with gcc. Jun 20, 2012
tools OS-4901 upgrade NTP to ntp-4.2.8p4 Nov 3, 2015
tun OS-1462 running openvpn can reliably crash smartos joyent_20120726T18… Aug 13, 2012
uuid smartos-live#67 Support compiling cpp with gcc. Jun 20, 2012
vim smartos-live#67 Support compiling cpp with gcc. Jun 20, 2012
wget OS-5447 upgrade wget to 1.18 Jun 22, 2016
xz OS-4155 xz build should remove files before copying them Apr 3, 2015
.gitignore OS-5447 upgrade wget to 1.18 Jun 22, 2016
COPYING added full license file Dec 3, 2010
Makefile OS-4901 upgrade NTP to ntp-4.2.8p4 Nov 3, 2015
Makefile.defs OS-3360 would like environment variable to set to enable low-memory b… Sep 12, 2014
Makefile.targ OS-3330 NTP should ship with CTF data Sep 9, 2014
Makefile.targ.autoconf smartos-live#67 Support compiling cpp with gcc. Jun 20, 2012
README.md 693 Opensource replacement of sunwlibm Oct 18, 2014
install.subr OS-2032 bind should find nm in /usr/bin Mar 17, 2013
mancheck.conf OS-4220 mancheck is a flag day machine Apr 24, 2015
manifest OS-4853 OpenSSH default dh moduli file should be used if not overridd… Oct 16, 2015

README.md

illumos-extra: extra software for illumos distributions

Overview

This repository, illumos-extra, is a collection of software which falls into two categories: either it is an illumos build and/or run-time dependency or it is a piece of additional software that SmartOS uses. For example, the gcc and binutils directories are examples of illumos dependencies, while node.js and lldp are examples of extra pieces of software that SmartOS uses to form its core ram-disk. illumos-extra is a fundamental part of the SmartOS build process; however, it may be used outside of building SmartOS itself.

Building is broken down into two different phases. The first phase is the strap phase, short for bootstrap. It builds all of build-time dependencies for illumos and the rest of the SmartOS build. This is a minimal subset of the software. The core guiding principle of this phase to eliminate the dependencies for building illumos and thus SmartOS from the build system itself. This allows the build system to evolve independently of the requirements of building the system itself.

The second phase of the build occurs after illumos has been built. While the first phase uses libraries from the build system, the second phase only uses the headers and libraries from the proto area of the illumos build. This adds an important and necessary constraint: software built against the proto area cannot be run on the build system itself, it must be thought of and treated like a cross-compilation environment.

Architecture

Every directory in illumos-extra contains a source tarball, a GNU compatible makefile, and optionally, a series of patches that should be applied to the source code. illumos-extra uses recursive gmake to build each component directory. As most of these projects are based around the ecosystem of GNU autoconf, a preset series of Makefiles are provided to take care of building and installing the software. Additional autoconf options and patches are specified in these per-directory makefiles.

The top-level makefiles, Makefile.defs, Makefile.targ, and Makefile.targ.autconf ensure that the proper directories, prefixes, and compilers are used based on whether the strap build is running or not.

Known Issues

  • binutils does not always properly perform incremental builds. (OS-3122)

  • Various pieces of software run programs from the proto area as part of their build.

Future directions

The following components live in illumos-extra that should more likely be a part of illumos itself:

  • g11n - Provides iconv modules for internationalization
  • make - Provides Sun parallel make, the dmake binary

They will not be removed until the projects have been integrated upstream.

Bugs and Contributing

If you encounter any issues with the build process, please reach out to us and file a bug on http://github.com/joyent/illumos-extra/issues. Bug fixes and other contributions are accepted, they should be submitted to the illumos-extra github repository.

Something went wrong with that request. Please try again.