Categories: Development
TODO list for CRUX 3.7.1 (or 3.8)
Ports
core
- reconsider the default Mail Transport Agent: something more lightweight than exim will satisfy the majority of use cases. Or don't include any MTA in core, since our default cron daemon has the -M switch to obviate the need for /usr/sbin/sendmail (but this feature needs to be documented if we ship crontabs with our core ports).
- in '/etc/rc' use a better algorithm to seed /dev/urandom
- in '/etc/rc' consider protecting all mount commands behind a /bin/mountpoint test, for users who configure a multi-stage boot process
- in '/etc/rc.conf' consider introducing a variable for the screen blanking time
- toolchain updates: gcc 13, binutils, glibc, python3
opt
- drop python2
- formulate a better definition of what belongs in opt, and what should be moved to contrib
xorg
- move xorg-libpixman to the opt collection, for easier setup of a headless machine with the xorg collection deactivated
- build mesa with dynamically-configured value for
vulkan-drivers
(currently hard-coded as amd,intel
), similar to how PKGMK_MESA_GALLIUM and PKGMK_MESA_PLATFORMS are defined
Pkgutils
- remove the code that handles md5 checksums
- settle on a single, more elegant method to prevent tarballs from being extracted automatically (the
renames
array is almost as cumbersome as redefining unpack_source
)
- verify the signature of Pkgfile before sourcing it
- consider the possibility to handle git sources natively
- fix the symlink handling in pkgadd
prt-get
- allow transactions to use the Optional line in the Pkgfile header (current behaviour is to consider only hard dependencies)
- improve the argument parsing when a mix of installed and not-installed ports is given (merging 'install' and 'update', perhaps?)
- consider enabling dependency resolution by default, and letting the user disable it with the --nodeps switch (in June 2008 jw provided some historical notes about managing dependencies to justify such a change)
- update the man-page: drop all references to nonexistent ports, and show practical examples of pipelines
- ensure that whitespace separates the port name from the version, when 'diff' detects version differences in ports of more than 20 characters (FS#1930)
- respect --install-root when pre- or post-install scripts are enabled (bug report by emmett1)
Iso
- bump Linux to 6.1 and ship a corresponding modular kernel config
- edit the init script so that crux media is detected when booting from ventoy
Documentation
- decide how to deal with upstream projects that no longer bundle pre-generated man-pages
- Option 1: never side-load from a third-party source (which might be out of sync with upstream), but generate man-pages from the provided formats if the necessary software is present
- Option 2: side-load third-party man-pages from Arch or Void (which have a reputation of staying up-to-date) in case the conversion software (pandoc, python3-sphinx) is not present
- Option 3: ??