Table of Contents

Cucumber Linux 2.0 Roadmap

Task Status Key

For simplicity and cleanliness sake, please use the following abbreviations for the status of tasks:

If the status is 'HW', that means we are seeking developers to help with it. If you would like to help with a task that is not listed as HW (Help Wanted) or already has a developer assigned, please contact that developer directly (see https://cucumberlinux.com/developers.php for developer contact info). Otherwise, please contact Scott (scott@cucumberlinux.com).

Release Timeline

This is a rough, working release timeline. It will be update become more detailed as the 2.0 development/release cycle progresses.

Major Changes

Packages to Add and Remove in 2.0

New Packages to Build and Add

Package Package Group Packager Status Details
LibreSSL net-base/libressl Scott Court DONE We will be replacing OpenSSL with LibreSSL in Cucumber Linux 2.0 due to LibreSSL's superior security.
Meson dev-general/meson Scott Court NS, HW This was added in LFS 8.1 and some packages have hinted that they will be transitioning to the ninja/meson build system. Xorg will be switching to ninja/meson in the next release, so this will be necessary to build future X servers.
Ninja dev-general/ninja Scott Court NS, HW This was added in LFS 8.1 and some packages have hinted that they will be transitioning to the ninja/meson build system. Xorg will be switching to ninja/meson in the next release, so this will be necessary to build future X servers.
i3 x-general/i3 Maarten Hendrickx NS Why not? Everyone loves i3!
OpenBox x-general/openbox Scott Court NS, HW This will complete our goal of adding three window managers: one that can completely stand alone well (WindowMaker), one basic windowing manager (OpenBox) and one tiling manager (i3).
Neovim base/neovim Scott Court DONE We will be replacing Vim with Neovim in Cucumber Linux 2.0 since Neovim is more functional, modern and secure than Vim (and Neovim still maintains backwards compatibility with Vim).
qt5 x-general/qt5 Scott Court NS, HW More and more stuff is coming to depend on qt5 specifically, so we'll add it to satisfy those packages.
rustc dev-general/rustc Scott Court DONE Firefox 60 ESR requires a Rust compiler to build.

New Features to Add to Existing Packages

Package Package Group Developer Status Details
GCC dev-base/gcc None HW Enable Go support
LLVM dev-general/llvm None WIP Enable the Clang & Clang++ front ends

Packages to Import from the Extra or Testing groups

These packages have already been built (or will have already been built) by the time we start building 2.0; however, they are not included in a base or general package group and are therefore not included on the installer and are not installed by default. This is a list of packages that will be moved into a mainline base or general group come Cucumber Linux 2.0.

Package New Package Group Old Package Group
Pale Moon xapps-general/palemoon xapps-extra/palemoon
Dovecot net-general/dovecot net-extra/dovecot
OpenSMTPD net-general/opensmtpd net-extra/opensmtpd
VSFTPD net-general/vsftpd net-extra/vsftpd
mailx net-general/mailx net-extra/mailx
libasr lib-general/libasr lib-extra/libasr
libevent lib-general/libevent lib-extra/libevent

Packages to Remove

Package Package Group Rationale
OpenSSL net-base/openssl We will be replacing OpenSSL with LibreSSL.
Vim base/vim We will be replacing Vim with Neovim.
Python 2 lang-base/python2 Python 2 will cease being supported at the end of 2019.

Core Package Updates

Package Old Version (1.1) New Version (2.0)
Kernel
base/linux 4.9 4.14
kernel/linux-source 4.9 4.14
Toolchain
base/glibc 2.23 2.27
dev-base/binutils 2.26 2.30
dev-base/gcc 5.3.0 7.3.0
Daemons
net-general/dovecot 2.2 2.3
net-general/mariadb 10.1 10.3
net-general/rsync 3.1.2 3.1.3
Scripting Language Interpreters
lang-base/perl 5.26 5.28
lang-general/php 7.2 7.3
lang-base/python3 3.6 3.7
Libraries
base/ncurses 6.0 6.1
base/readline 6.3 7.0
net-base/libressl N/A 2.7.3
Utilities
base/coreutils 8.25 8.29
net-base/gnupg 2.1 2.2

The rationale for these decisions is explained at https://cucumberlinux.com/~scott/release_proposals/.

The full list of core packages can be found at the Core Packages page.

Minor Changes/To Do List

How to Read These Tables

Here is a brief guide on how to read the tables below:

Miscellaneous To Do List

This is the to do list for miscellaneous development tasks for Cucumber Linux 2.0. For the general Cucumber Linux to do list, see the To Do Page.

# Status Developer(s) Description
1 NS, HW Scott Court Add multilingual support to the installer.
2 NS, HW Scott Court Neaten up the installer and move configuration tasks into setup scripts.
3 NS Maarten Hendrickx Translate the installer into French.
4 NS Maarten Hendrickx Translate the installer into Dutch.
5 NS Scott Court Add optional dependency resolution to Pickle.
6 NS Scott Court Maybe add some way to do automatic updates?
7 NS Scott Court Rewrite Pickle.
8 NS, HW Scott Court Add file checksum and post installation package integrity verification to the package management system .
9 NS, HW Scott Court Add support for doinstonly.sh and doupgradeonly.sh to pkgtools. Also make installpkg/upgradepkg run the setup.* scripts.
10 DONE Scott Court Make a 4.14 kernel configuration and update the kernel to 4.14.
11 DONE Maarten Hendrickx Update the toolchain and test it.
12 DONE Maarten Hendrickx Make an automated system for building the Linux from Scratch chapter 5 environment.
13 WIP Everyone Convert the Cucumber 1.x buildscript to Cucumber 2.x buildinfo files. See assignments/progress here.
14 WIP Everyone Update packages to new versions. See assignments/progress here.