Back to Index

Zeppe-Lin v1.0 — Release Notes

Released Jan 18, 2025. 3rd Zeppe-Lin Release.

Artwork for v1.0 — The Maiden Voyage

1 Introduction

Zeppe-Lin v1.0 — The Maiden Voyage — marks the first stable major release of the project.

This release consolidates the work done throughout the 0.9x series into a coherent, usable base system. Core tooling is complete, system behavior is predictable, and the distribution is ready for sustained use and further development.

The accompanying artwork reflects this moment: a machine designed to endure, finally airborne.

If you are upgrading from an earlier release (for example v0.99), review the transitional notes in v0.99.1 before proceeding.

2 Upgrade & Compatibility

This release introduces several structural changes that may affect existing systems.

2.1 Kernel Ring Buffer Logging

The /etc/rc script now saves the kernel ring buffer to /var/log/dmesg instead of /var/log/boot.

This change is required for the new bootlogd(8) integration. Update any local scripts that rely on the old path.

2.2 libcrypt Transition

glibc no longer provides libcrypt. It has been replaced by libxcrypt.

Upgrade glibc before installing libxcrypt to avoid file conflicts.

2.3 c99 Split from gcc

The c99 wrapper is now shipped as a separate package.

Upgrade gcc first, then install c99.

3 What’s New

3.1 Binary Package Support

Zeppe-Lin v1.0 introduces prebuilt binary packages for pkgsrc-core alongside rootfs.

These packages simplify upgrades and reduce build time when needed to upgrade to new release. They can be installed using pkgadd(8).

See Binary Packages for download links.

3.2 Extended Attributes and Capabilities Support

pkgutils and pkgmk can now handle extended attributes (xattr(7) and acl(5)).

Zeppe-Lin enables only xattr(7) by default and uses pax as the archive format for the packages. This allows Linux capabilities to be set correctly for programs such as ping(8) during packaging, without post-install scripts or full root privileges.

See pkgmk(8) and pkgadd(8) for details.

3.3 Standard C Compiler Wrappers

The standard compiler wrappers c89, c99, and c17 are now shipped as separate packages.

This improves standards compliance and makes toolchain behavior more explicit. Manual pages are provided (courtesy of NetBSD).

3.4 dumb_runtime_dir PAM Module

Zeppe-Lin now uses the dumb-runtime-dir PAM module by default to manage XDG_RUNTIME_DIR.

This improves runtime directory handling for desktop and session-based applications.

See pam_dumb_runtime_dir(8) for details.

3.5 Additional Pkgsrc Collections

Two unofficial pkgsrc collections are now available:

3.6 Markdown README Support

pkgman now supports Markdown (.md) README files.

All package READMEs have been converted to Markdown for improved readability.

Example:

PAGER='<markdown_viewer>' pkgman readme dhcpcd

3.7 Configurable Device Manager

The DEVMGR variable in /etc/rc.conf allows selecting a device manager.

If unset, udevd remains the default.

See rc.conf(5) for details.

3.8 Configurable Boot Logging

The BOOTLOG variable in /etc/rc.conf allows selecting a boot logger.

If unset, bootlogd(8) is default.

sysvinit package provides /etc/rc.d/bootlogd. Boot logs are written to /var/log/boot.

See rc.conf(5) and bootlogd(8) for details.

3.9 Editor and Shell Enhancements

Vim syntax highlighting has been added for:

Bash completion is now available for Zeppe-Lin command-line tools.

3.10 Package Changes

3.10.1 pkgsrc-core

3.10.2 pkgsrc-system

3.10.3 pkgsrc-xorg

3.10.4 pkgsrc-desktop

3.11 System Components

3.11.1 Kernel

3.11.2 Toolchain

3.11.3 X11

4 Changelogs

Per-repository details:

5 Download

Consult the Handbook before downloading. Ensure hardware support and installation familiarity.

5.1 Root Filesystem

5.2 Binary Packages

5.3 Extras

6 Release Artwork


sighook // Until the next entry… Zeppe-Lin awaits.