Skip to content

Extra non-ON software required for Illumos

License

Notifications You must be signed in to change notification settings

erigones/illumos-extra

This branch is 6 commits ahead of, 98 commits behind TritonDataCenter/illumos-extra:master.

Folders and files

NameName
Last commit message
Last commit date
Jun 1, 2016
Jan 26, 2015
Mar 30, 2020
May 26, 2020
Jun 20, 2012
May 26, 2020
Nov 10, 2016
Jun 20, 2012
May 26, 2020
Mar 16, 2020
May 28, 2020
Oct 17, 2018
Jun 20, 2012
Jun 20, 2012
Dec 1, 2018
Apr 23, 2020
Jun 20, 2012
Jun 20, 2012
Dec 12, 2013
Nov 11, 2016
Jan 16, 2013
May 26, 2020
May 26, 2020
Oct 17, 2018
Jun 9, 2020
May 26, 2020
Jul 30, 2019
Jun 6, 2013
Apr 2, 2019
Jul 30, 2019
May 26, 2020
May 26, 2020
May 26, 2020
May 26, 2020
Jan 17, 2018
Jul 30, 2019
May 13, 2020
Jun 20, 2012
May 26, 2020
Oct 22, 2019
Mar 11, 2019
Jun 20, 2012
May 20, 2020
Feb 12, 2019
Apr 3, 2015
Apr 29, 2020
Dec 3, 2010
Mar 10, 2020
May 28, 2020
May 26, 2020
May 26, 2020
May 26, 2020
Jun 20, 2012
Oct 17, 2018
Mar 17, 2013
Apr 24, 2015
Apr 29, 2020

Repository files navigation

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.

About

Extra non-ON software required for Illumos

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 75.4%
  • Makefile 5.1%
  • Perl 4.7%
  • C++ 2.9%
  • Objective-C 2.5%
  • Assembly 1.8%
  • Other 7.6%