Nekoware SDK: Difference between revisions

From TechPubs Wiki

Created page with "The '''Nekoware SDK''' is a bootstrap kit for the Nekoware environment. It addresses several limitations of building software on IRIX and provides a foundation for independent development. == '''Purpose''' == * Provides a set of tools for building Nekoware without relying on the limited native IRIX environment. * Avoids circular dependencies, allowing Nekoware to be built mostly without depending on itself. * Includes an independent test harness for GCC. == ''..."
 
(No difference)

Latest revision as of 08:04, 29 November 2025

The Nekoware SDK is a bootstrap kit for the Nekoware environment. It addresses several limitations of building software on IRIX and provides a foundation for independent development.

Purpose

  • Provides a set of tools for building Nekoware without relying on the limited native IRIX environment.
  • Avoids circular dependencies, allowing Nekoware to be built mostly without depending on itself.
  • Includes an independent test harness for GCC.

Contents

  • Downloading tools: ncftp (ncurses FTP client), swipe (supports HTTPS, FTP, Gopher, and Gemini).
  • Autotools and related utilities: automake, autoconf, perl, gmake, bash.
  • Parsing and lexing tools: flex, bsdyacc.
  • Archiving tools: star, bzip2, gunzip, pigz, zcat.
  • Text processing tools: awk, sed, perl.
  • Tauthon: Python 2.x continuation.
  • Miscellaneous utilities: GNU bash, screen, dropbear ssh.

The SDK provides a standardized, independent environment for building and testing Nekoware software.

Notes on products included

Dropbear

The Nekoware SDK includes Dropbear, a lightweight SSH server and client. Dropbear ships without host keys. Default host keys must be generated and placed in /etc/dropbear/ using the dropbearkey utility. Note that the -R option may not function correctly.

No initialization script is included with the SDK. An init script from the Nekoware package may be used if automated startup is desired. Otherwise, Dropbear can be started manually on port 22 via the command line.

The Dropbear client is installed as /usr/sdk/bin/dbclient. The decision to provide a symbolic link or rename it as /usr/sdk/bin/ssh is left to the discretion of the user.

Dropbear provides a reliable and fast SSH setup for IRIX.

schily tar (star)

The Nekoware SDK includes a statically linked build of schily tar (star). This implementation provides enhanced POSIX and GNU-compatible archive handling and includes built-in support for gzip and bzip2 compression formats. Support for xz compression is not included in the static build.

The native IRIX tar utility is unsuitable for building or distributing many contemporary software packages. The IRIX implementation is limited to handling path names no longer than 255 characters, which prevents extraction or creation of archives containing long file names or deeply nested directory structures. Additionally, IRIX tar does not provide integrated support for compressed archives and cannot read .tar.gz or .tar.bz2 files directly.

Schily tar avoids these limitations and offers consistent behavior across extraction, creation, and packaging tasks within the Nekoware SDK environment. Please package using either star or libarchive.

Swipe

Swipe is a minimalist downloader included in the Nekoware SDK. It supports the HTTP, HTTPS, FTP, Gemini, and Gopher protocols. Swipe is written in strict C89 for maximal portability and is continuously tested and maintained on BSD and IRIX platforms, with additional support for GNU/Linux.

Swipe uses mbedTLS for its TLS functionality and is built as a static executable to simplify deployment in minimal or early-bootstrap environments.

Rationale for Inclusion

Why Use Swipe Instead of cURL

Several characteristics make Swipe suitable for early-stage bootstrap environments:

  • It can be built quickly with minimal dependencies.
  • It is statically linked and does not require shared libraries.
  • It is lightweight and fast for simple retrieval operations.
  • Its codebase is small, direct, and easily auditable.

These properties make Swipe advantageous in situations where a fully featured networking client such as curl is unnecessary or impractical.

Limitations

Swipe has a minimal design and therefore includes a number of technical constraints:

  • TLS certificates are not verified; all certificates are implicitly trusted.
  • Support for HTTP chunked transfer encoding is limited.
  • Redirect handling is incomplete and may fail on sites using redirect-heavy distribution systems, such as SourceForge and GitHub.

Despite these constraints, Swipe remains useful as a compact, reliable downloader for the Nekoware SDK’s bootstrap workflow.