Categories: Development
TODO list for CRUX 3.7.1 (or 3.8)
Ports
core
- add an entry for 'sgx' in /etc/group to accommodate changes to the eudev default rules
- 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).
- consider moving linux-pam to opt, and adjusting the core ports that currently depend on it
- 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 (FS#1924)
- 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 from pkgmk 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
- add support for zstd compression of built packages (patch by stenur)
- fix the symlink handling in pkgadd (FS#15)
- decide how to address FS#1074 (files matching an UPGRADE NO rule in pkgadd.conf are deleted without warning, if they were owned by the previous version of the package but not by the new version). Should we let the old files remain in place, or stash them somewhere like /var/lib/pkg/rejected, forcing the user to deal with the altered footprint?
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?). See notes on FS#1843 for one possible solution.
- 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
General
- decide how to deal with upstream projects that no longer bundle pre-generated man-pages
- decide whether to regard libtool *.la files as junk (and ship a default pkgadd.conf that prevents them from being installed, as emmett1 did?)