Blame etc/README

Lucio Andrés Illanes Albornoz (arab, vxp) d3b354
Lucio Andrés Illanes Albornoz (arab, vxp) d3b354
                  Obtaining and installing a Midipix distribution
Lucio Andrés Illanes Albornoz (arab, vxp) d3b354
Lucio Andrés Illanes Albornoz (arab, vxp) d3b354
A Midipix distribution consists of the following:
Lucio Andrés Illanes Albornoz (arab, vxp) d3b354
a) the native Midipix toolchain, consisting of perk, gcc, its dependencies,
Lucio Andrés Illanes Albornoz (arab, vxp) d3b354
   and binutils,
Lucio Andrés Illanes Albornoz (arab, vxp) d3b354
b) musl, a lightweight, fast, simple, and free libc[1] used by Midipix,
Lucio Andrés Illanes Albornoz (arab, vxp) d3b354
c) the Midipix runtime components that bridge the gap between the libc and the
Lucio Andrés Illanes Albornoz (arab, vxp) d3b354
   executive subsystems of all Windows NT-derived Windows OS starting with and
Lucio Andrés Illanes Albornoz (arab, vxp) d3b354
   including Windows XP, and
Lucio Andrés Illanes Albornoz (arab, vxp) d3b354
d) a steadily increasing number of 3rd party open source packages, as expected in
Lucio Andrés Illanes Albornoz (arab, vxp) d3b354
   any modern POSIX-compliant *nix environment, including GNU coreutils, shells,
Lucio Andrés Illanes Albornoz (arab, vxp) d3b354
   libraries such as ncurses, libressl, as well as Perl and Python.
Lucio Andrés Illanes Albornoz (arab, vxp) d3b354
Lucio Andrés Illanes Albornoz (arab, vxp) d3b354
Compressed Midipix distribution tarballs and, separately, source tarballs are,
Lucio Andrés Illanes Albornoz (arab, vxp) d3b354
at present, produced every four (4) hours UTC after each successful build and
Lucio Andrés Illanes Albornoz (arab, vxp) d3b354
subsequently signed. This process is fully automated by a portable Bourne shell
Lucio Andrés Illanes Albornoz (arab, vxp) d3b354
script; all of the above mentioned components are cross-compiled.
Lucio Andrés Illanes Albornoz (arab, vxp) d3b354
Lucio Andrés Illanes Albornoz (arab, vxp) d3b354
Thus, the most hassle-free way to get started with Midipix is to simply download
Lucio Andrés Illanes Albornoz (arab, vxp) d3b354
the most recent distribution tarball and follow the instructions below. It is,
Lucio Andrés Illanes Albornoz (arab, vxp) d3b354
however, recommended to anyone intending to use Midipix as a development platform
Lucio Andrés Illanes Albornoz (arab, vxp) d3b354
to familiarise themselves with the build process. Other reasons to prefer building
Lucio Andrés Illanes Albornoz (arab, vxp) d3b354
a Midipix distribution yourself include integrating new 3rd party software or local
Lucio Andrés Illanes Albornoz (arab, vxp) d3b354
runtime component patches. At present, a full build from scratch takes about 30
Lucio Andrés Illanes Albornoz (arab, vxp) d3b354
(thirty) minutes to finish on an 8-core host with eight simultaneous make jobs,
Lucio Andrés Illanes Albornoz (arab, vxp) d3b354
minus the generation of the tarballs. The build script can be obtained from the
Lucio Andrés Illanes Albornoz (arab, vxp) d3b354
following GitHub repository: <https://github.com/lalbornoz/midipix_build>.
Lucio Andrés Illanes Albornoz (arab, vxp) d3b354
Lucio Andrés Illanes Albornoz (arab, vxp) d3b354
If you obtained a Midipix distribution tarball, extract it into a directory and
Lucio Andrés Illanes Albornoz (arab, vxp) d3b354
drive of your choice, henceforth referred to as target directory; the drive can
Lucio Andrés Illanes Albornoz (arab, vxp) d3b354
be a network drive. Do _not_ use anything but a true UNIX environment tar(1), as
Lucio Andrés Illanes Albornoz (arab, vxp) d3b354
e.g. WinRAR or WinZip handle extracting hard links incorrectly.
Lucio Andrés Illanes Albornoz (arab, vxp) d3b354
If you built Midipix yourself, the target directory is equivalent to the ${PREFIX}
Lucio Andrés Illanes Albornoz (arab, vxp) d3b354
configured in build.vars, which defaults to ${HOME}/midipix.
Lucio Andrés Illanes Albornoz (arab, vxp) d3b354
Lucio Andrés Illanes Albornoz (arab, vxp) d3b354
At present, providing an interactive Midipix environment still requires the Cygwin
Lucio Andrés Illanes Albornoz (arab, vxp) d3b354
terminal emulator Mintty and a shell; this does not include pseudoterminals, which
Lucio Andrés Illanes Albornoz (arab, vxp) d3b354
are entirely handled by Midipix. Both can be installed via the 64-bit Cygwin setup
Lucio Andrés Illanes Albornoz (arab, vxp) d3b354
program at <https://www.cygwin.com/setup-x86_64.exe>.
Lucio Andrés Illanes Albornoz (arab, vxp) d3b354
Lucio Andrés Illanes Albornoz (arab, vxp) d3b354
Once installed, launching a Midipix shell is accomplished by the `midipix.sh' shell
Lucio Andrés Illanes Albornoz (arab, vxp) d3b354
script provided in the target directory from within a Cygwin shell prompt in Mintty
Lucio Andrés Illanes Albornoz (arab, vxp) d3b354
and the target directory. This may either simply be done manually each time, or
Lucio Andrés Illanes Albornoz (arab, vxp) d3b354
automated by a shortcut. As shortcuts cannot be distributed, it can be created by
Lucio Andrés Illanes Albornoz (arab, vxp) d3b354
either:
Lucio Andrés Illanes Albornoz (arab, vxp) d3b354
a) Opening (executing) the VBScript script in the target directory from within the
Lucio Andrés Illanes Albornoz (arab, vxp) d3b354
   latter cscript.exe, providing the fully qualified pathname to Mintty, if it differs
Lucio Andrés Illanes Albornoz (arab, vxp) d3b354
   from the default value of C:\cygwin64\bin\mintty.exe or
Lucio Andrés Illanes Albornoz (arab, vxp) d3b354
b) manually creating a shortcut to Mintty with `Start in:' set to the target directory
Lucio Andrés Illanes Albornoz (arab, vxp) d3b354
   and the following command line:
Lucio Andrés Illanes Albornoz (arab, vxp) d3b354
   [ ... ]\mintty.exe -i /Cygwin-Terminal.ico -e sh midipix.sh, or
Lucio Andrés Illanes Albornoz (arab, vxp) d3b354
Lucio Andrés Illanes Albornoz (arab, vxp) d3b354
References:
Lucio Andrés Illanes Albornoz (arab, vxp) d3b354
Sun, 24 Apr 2016 09:04:08 +0000 [1] musl FAQ <http://www.musl-libc.org/faq.html>
Lucio Andrés Illanes Albornoz (arab, vxp) d3b354
Lucio Andrés Illanes Albornoz (arab, vxp) a8abe3
                        Linux distribution-related errata
Lucio Andrés Illanes Albornoz (arab, vxp) a8abe3
Lucio Andrés Illanes Albornoz (arab, vxp) a8abe3
Busybox based distributions need the gawk, gsed, and coreutils packages to build perl.
Lucio Andrés Illanes Albornoz (arab, vxp) a8abe3
Lucio Andrés Illanes Albornoz (arab, vxp) d3b354
                  Midipix status report
Lucio Andrés Illanes Albornoz (arab, vxp) d3b354
                   Last update: Tue, 26 Apr 2016 10:16:16 +0000
Lucio Andrés Illanes Albornoz (arab, vxp) d3b354
Lucio Andrés Illanes Albornoz (arab, vxp) d3b354
The following build status codes are defined:
Lucio Andrés Illanes Albornoz (arab, vxp) d3b354
C -- Complete build w/ at least the default configuration,
Lucio Andrés Illanes Albornoz (arab, vxp) d3b354
B -- Broken, e.g. doesn't work at all or only minimally,
Lucio Andrés Illanes Albornoz (arab, vxp) d3b354
I -- Integrated (e.g. linked against) with other packages,
Lucio Andrés Illanes Albornoz (arab, vxp) d3b354
E -- Extensively tested and confirmed to work by multiple sources, possibly via a testsuite,
Lucio Andrés Illanes Albornoz (arab, vxp) d3b354
P -- Patches needed to build that haven't been committed upstream yet, and
Lucio Andrés Illanes Albornoz (arab, vxp) d3b354
U -- Update to latest stable version or HEAD pending.
Lucio Andrés Illanes Albornoz (arab, vxp) d3b354
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
Component type      Name                Version          Status  Comments
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
Host toolchain      binutils            2.24.51          C--EPU
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
Host toolchain      file                5.28             C-----
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
Host toolchain      gcc                 4.6.4            ---EPU  Excludes libstdc++
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
Host toolchain      musl                1.1.12           C-IEPU
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
Host toolchain      perk                HEAD             C-IE--
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
Host toolchain      pkgconf             0.28             C--E--
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
Host toolchain      slibtool            0.5.7            C--E--
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
Native toolchain    binutils            2.24.51          C--EPU
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
Native toolchain    gcc                 4.6.4            ---EPU  Excludes libstdc++
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
Native toolchain    gmp                 5.1.3            C-IEPU
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
Native toolchain    libelf              0.8.13           C-IEP-
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
Native toolchain    mpc                 1.0.1            C-IE-U
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
Native toolchain    mpfr                3.1.2            C-IE-U
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
Native toolchain    musl                1.1.12           C-IEPU
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
Native toolchain    perk                HEAD             C-IE--
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
Native toolchain    pkgconf             0.28             C-IE--
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
Runtime components  dalist              HEAD             C-IE--
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
Runtime components  ntapi               HEAD             C-IE--
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
Runtime components  ntcon               HEAD             C-IE--
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
Runtime components  ntctty              HEAD             C-IE--
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
Runtime components  pemagine            HEAD             C-IE--
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
Runtime components  psxscl              HEAD             C-IE--  Excludes clone(2) and dlopen(3)
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
Runtime components  psxtypes            HEAD             C-IE--
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
Runtime components  ptycon              HEAD             C-IE--
Lucio Andrés Illanes Albornoz (arab, vxp) 59765f
3rd party libraries bzip2               1.0.6            C-IE--
Lucio Andrés Illanes Albornoz (arab, vxp) 59765f
3rd party libraries curl                7.47.1           C---P-
Lucio Andrés Illanes Albornoz (arab, vxp) 59765f
3rd party libraries expat               2.2.0            C-----
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
3rd party libraries gdbm                1.12             C-I---
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
3rd party libraries glib                2.46.2           C-I-P-  Shared object not built
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
3rd party libraries gzip                1.2.4            C-IE--
Lucio Andrés Illanes Albornoz (arab, vxp) 59765f
3rd party libraries inputproto          2.3.2            C-----
Lucio Andrés Illanes Albornoz (arab, vxp) 59765f
3rd party libraries kbproto             1.0.7            C-----
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
3rd party libraries libarchive          3.1.2            C-I-P-
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
3rd party libraries libassuan           2.4.3            C-I---
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
3rd party libraries libevent            2.0.22-stable    C-I---
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
3rd party libraries libfetch            2.33             C-I-P-
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
3rd party libraries libffi              3.2.1            C-I-P-
Lucio Andrés Illanes Albornoz (arab, vxp) bcbe15
3rd party libraries libfirm             HEAD             C-I-P-
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
3rd party libraries libgcrypt           1.7.3            C-I---
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
3rd party libraries libgpg_error        1.24             C-I-P-
Lucio Andrés Illanes Albornoz (arab, vxp) 59765f
3rd party libraries libICE              1.0.9            C-----
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
3rd party libraries libksba             1.3.5            C-I-P-
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
3rd party libraries libpipeline         1.4.1            C-I---
Lucio Andrés Illanes Albornoz (arab, vxp) 59765f
3rd party libraries libpthread-stubs    0.3              C-----
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
3rd party libraries libressl            2.2.6            C-I-P-
Lucio Andrés Illanes Albornoz (arab, vxp) 59765f
3rd party libraries libSM               1.2.2            C-----
Lucio Andrés Illanes Albornoz (arab, vxp) 59765f
3rd party libraries libX11              1.6.3            C-----
Lucio Andrés Illanes Albornoz (arab, vxp) 59765f
3rd party libraries libXau              1.0.8            C-----
Lucio Andrés Illanes Albornoz (arab, vxp) 59765f
3rd party libraries libXaw              1.0.13           C-----
Lucio Andrés Illanes Albornoz (arab, vxp) 59765f
3rd party libraries libXext             1.3.3            C-----
Lucio Andrés Illanes Albornoz (arab, vxp) 59765f
3rd party libraries libxkbfile          1.0.9            C-----
Lucio Andrés Illanes Albornoz (arab, vxp) 59765f
3rd party libraries libXmu              1.1.2            C-----
Lucio Andrés Illanes Albornoz (arab, vxp) 59765f
3rd party libraries libXpm              3.5.11           C-----
Lucio Andrés Illanes Albornoz (arab, vxp) 59765f
3rd party libraries libXt               1.1.5            C-----
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
3rd party libraries libz                1.2.8.2015.05.20 C-I---
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
3rd party libraries lua                 5.3.3            C---P-
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
3rd party libraries ncurses             6.0              C-IEP-  ncurses, ncursestw, and ncursesw built
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
3rd party libraries npth                1.2              C-I---
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
3rd party libraries pcre                8.39             C-I---
Lucio Andrés Illanes Albornoz (arab, vxp) 59765f
3rd party libraries renderproto         0.11.1           C-----
Lucio Andrés Illanes Albornoz (arab, vxp) 59765f
3rd party libraries xcb                 1.12             C-----  Needs pthreads / clone(2)
Lucio Andrés Illanes Albornoz (arab, vxp) 59765f
3rd party libraries xcb-proto           1.12             C-----
Lucio Andrés Illanes Albornoz (arab, vxp) 59765f
3rd party libraries xextproto           7.3.0            C-----
Lucio Andrés Illanes Albornoz (arab, vxp) 59765f
3rd party libraries xproto              7.0.29           C-----
Lucio Andrés Illanes Albornoz (arab, vxp) 59765f
3rd party libraries Xrender             0.9.9            C-----
Lucio Andrés Illanes Albornoz (arab, vxp) 59765f
3rd party libraries xtrans              1.1              C-----
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
3rd party libraries xz                  5.2.2            C-IE--
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
3rd party packages  apk_tools           2.6.6            C---P-
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
3rd party packages  bash                4.3              C-I-P-  Linked against ncursesw
Lucio Andrés Illanes Albornoz (arab, vxp) fabcdd
3rd party packages  cmake               3.6.3            C-I---
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
3rd party packages  coreutils           8.23             C---P-  Needs extensive testing
Lucio Andrés Illanes Albornoz (arab, vxp) bcbe15
3rd party packages  cparser             HEAD             C-I-P-
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
3rd party packages  cron                HEAD             C---P-
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
3rd party packages  dash                0.5.8            C-----  Provides /bin/sh
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
3rd party packages  diffutils           3.3              C-----
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
3rd party packages  dos2unix            7.3.4            C-----
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
3rd party packages  ed                  1.13             C-----
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
3rd party packages  file                5.28             C-----
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
3rd party packages  findutils           4.5.14           C---P-
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
3rd party packages  gawk                4.1.3            C-----
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
3rd party packages  git                 2.7.1            C-----  Needs clone(2)
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
3rd party packages  gnupg               2.1.15           C-----  Needs /dev/[u]random, extensive testing
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
3rd party packages  grep                2.22             C-----
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
3rd party packages  hexcurse            1.60.0           C-I-P-  Linked against ncursesw
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
3rd party packages  htop                2.0.1            C-I-P-  Linked against ncursesw
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
3rd party packages  inetutils           1.9.4            C-----
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
3rd party packages  infounzip           6.0              C-----
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
3rd party packages  infozip             3.0              C-----
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
3rd party packages  irssi               0.8.18           CB--P-  DNS and /EXEC require clone(2) due to pthreads (see psxscl;) no Perl support
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
3rd party packages  john                1.8.0            C---P-
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
3rd party packages  less                481              C-I---  Linked against ncursesw
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
3rd party packages  lynx                2.8.8rel2        C-----
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
3rd party packages  make                3.81             C-----
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
3rd party packages  man_db              2.7.5            C-----
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
3rd party packages  mc                  4.8.17           C-----
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
3rd party packages  mksh                R52c             C-----
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
3rd party packages  nano                2.5.3            C-I---  Linked against ncursesw
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
3rd party packages  netcat              110              C---P-
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
3rd party packages  openssh             7.1p2            C-I---  Linked against libressl
Lucio Andrés Illanes Albornoz (arab, vxp) 59765f
3rd party packages  p7zip               HEAD             C-----
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
3rd party packages  pacman              5.0.1            C---P-
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
3rd party packages  patch               2.7              C-----
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
3rd party packages  perl                5.22.1           ------  No dlopen(3) (see psxscl,) modules missing
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
3rd party packages  procps-ng           3.3.12           C-----
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
3rd party packages  python              3.5.1            -B--P-  No dlopen(3) (see psxscl,) modules missing
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
3rd party packages  rsync               3.1.2            C-----
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
3rd party packages  rxvt-unicode        9.22             C-I---  No Perl support
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
3rd party packages  sed                 4.2.2            C-----
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
3rd party packages  tar                 1.28             C-----
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
3rd party packages  tcsh                6.19.00          C-I-P-
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
3rd party packages  the silver searcher 0.32.0           C-----
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
3rd party packages  tmux                2.2              C---P-
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
3rd party packages  util_linux          2.27.1           C-----  Needs extensive testing
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
3rd party packages  vim                 7.4.1952         C-----  Provides /bin/vi
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
3rd party packages  weechat             1.6              C-----
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
3rd party packages  which               2.21             C-----
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
3rd party packages  whois               5.2.12           C-----
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
3rd party packages  xeyes               1.1.1            C-I---
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
3rd party packages  xwd                 1.0.6            C-I---
Lucio Andrés Illanes Albornoz (arab, vxp) 3351d0
3rd party packages  zsh                 5.2              C-I---  Linked against ncursesw