- Note that items with (!) have high priority.
+See also:
+ https://github.com/util-linux/util-linux/issues?q=is%3Aissue+is%3Aopen+label%3ATODO
-cal
+all
---
- - add option to print calendar in vertical way
- https://github.com/karelzak/util-linux/issues/604
- - support another --reforms, see for example freebsd version
- https://github.com/freebsd/freebsd/blob/master/usr.bin/ncal/ncal.c#L72
-column
-------
- - add option to NOT ignore empty lines
- https://github.com/karelzak/util-linux/issues/593
+ - use gettext() for column names on output in libsmartcols based tools and
+ accept trantated as well as original names on command line (lsblk -o NAME,SIZE).
+ https://github.com/util-linux/util-linux/issues/1291
-script
-------
- - think about optional "event" records in timing file to save information
- about non-data changes like signals (SIGWINCH, SIGSTOP, SIGCONT, etc.)
- in format:
+tests
+-----
+ - add MacOS to GitHub Actions (.github/workflows/cibuild.yml). Note, we have used
+ Mac in Travis-CI (see .travis.yml).
- <time> 0 <name>[: var=data, ...]
+ - add Coverity to GitHub Actions (see for example .github/workflows/coverity.yml
+ in systemd repo).
- for example:
+fstrim
+------
+ - "fstrim --fstab" uses root= from /proc/cmdline to get root FS when it's missing
+ in fstab file. This is fragile (due to missing root= or the root FS is not
+ accessible). The best seems to parse mountinfo and use mnt_table_get_root_fs()
+ as a fallback solution. https://github.com/util-linux/util-linux/issues/1266.
- 0.001296 256
- 0.001297 0 SIGWINCH: columns=50, lines=20
- 0.000010 275
+script (lib/pty-session.c)
+--------------------------
+ - (!) add #ifdefs and optional code for non-signalfd() systems
-lsblk
------
- - rewrite lsblk to read all devices tree to memory to make it more extendable. Now
- it always keep in memory just one device (only final output is buffered by
- libsmartcols, but this stuff are output strings, nothing else).
+docs
+----
+ - use terminal hyperlinks (for example for --help)
+ try on terminal: printf 'For more details see \e]8;;man:fdisk(8)\e\\fdisk(8)\e]8;;\e\\.\n'
+ https://gist.github.com/egmontkob/eb114294efbcd5adb1944c9f3cb5feda
- See fopr example: https://github.com/karelzak/util-linux/issues/616
+rev
+---
+ - support huge input lines (for example read input by small fixed buffer
+ rather than try allocate all buffer for a whole line)
+ see: https://github.com/util-linux/util-linux/issues/972
+col
+---
+ - use unsigned sizes for columns and lines
+ - check for limits to avoid segfaults
+ - make it more robust
+ https://github.com/util-linux/util-linux/issues/749
-cleanup lib/path.c: [Karel Zak for v2.33]
-------------------
- - always return rc from all functions
- - introduce control struct and use openat() from top-level path
- (e.g. top-level is /proc, etc)
- - use lib/path.c as low-level API for lib/sysfs.c
- - now we duplicate code in functions like {path,sysfs}_read_u32, etc.
- - it would be also nice to have a way how to redirect sysfs.c functions
- to /sys snapshots (e.g. lsblk regression tests)
-
+cal
+---
+ - support another --reforms, see for example freebsd version
+ https://github.com/freebsd/freebsd/blob/master/usr.bin/ncal/ncal.c#L72
lscpu
-----
- - read cpuid and uname information from file if --sysroot is specified, then
- we can prepare regression tests completely independent on hw and architecture.
+ - add "Boost/Turbo: true|false" based on /sys/devices/system/cpu/intel_pstate/no_turbo and
+ /sys/devices/system/cpu/cpufreq/boost
-lsblk
------
- - currently it does not show mountpoint for all devices in btrfs RAID. It's because
- /proc/#/mountinfo contains reference to the one device only. Maybe we can add some
- btrfs specific code to provide a better output for FS based stacks. Not sure.
- https://bugzilla.redhat.com/show_bug.cgi?id=1084453
+ - add --freq output to visualise CPU use, see https://github.com/util-linux/util-linux/issues/1314
-nsenter(1)
-----------
- - read the default UID and GID from the target process.
- http://thread.gmane.org/gmane.linux.utilities.util-linux-ng/9553/focus=9585
+ - read cpuid and uname information from file if --sysroot is specified, then
+ we can prepare regression tests completely independent on hw and architecture.
-hwlock
+hwclock
------
- use /var/lib/hwclock/drift to store hw-clock drift numbers.
- use /etc/adjtime as read-only for UTC/LOCAL information only
- the /var/lib/hwclock/drift should be implemented backwardly compatible,
- it means use the file only if exists, otherwise follow /etc/adjtime
+ it means use the file only if exists, otherwise follow /etc/adjtime
+ - see topic/hwclock-drift-file branch
bash completion
---------------
libmount (mount/umount)
-----------------------
- - remount all filesystems given their type, for example:
- mount -a -t tmpfs -o remount
- It should be probably enough to add remount_all() to mount(8) in way we
- already have mount_all(). https://github.com/karelzak/util-linux/issues/589
+ - mnt_context_get_excode() does not return error messages from /sbin/[u]mount.<type>
+ external helpers. It is disadvantages in same cases (non-terminal programs).
+ The solution is to use pipe(), keep output from helper in memory and return it later
+ by mnt_context_get_excode() (or mnt_context_get_helper_output(), etc.). This feature
+ should be optional and disabled by default.
+ see: https://github.com/util-linux/util-linux/issues/1208
- add --onlyonce to force mount(8) to check if mountpoint is already used. Now
"already mounted" detection is used for --all only. The problem is if you
call "mount <mountpoint>" more than once for in fstab defined tmpfs (or network
filesystem etc.). In this case kernel does not return EBUSY, but a new instance
- of the FS is created. https://github.com/karelzak/util-linux/issues/448
+ of the FS is created. https://github.com/util-linux/util-linux/issues/448
(... just idea, maybe wrong idea)
- - support CAP_SYS_ADMIN; for mount(2) syscall the CAP_SYS_ADMIN is good
- enough. Unfortunately, mount(8) does more things like check for filesystem
- type (but it's usually done by udev, so root perms are unnecessary), create
- loop devices, write to /run/mount/utab or /etc/mtab, etc.
-
- It would be nice to improve libmount to check for CAP_SYS_ADMIN if suid not
- set and allow to use it for simple tasks where no another operation is
- necessary.
-
- - allow to execute mount(2) in another namespace, something like:
- mount --namespace=/proc/$n/ns/mnt /dev/sda2 /bar
- see https://bugzilla.redhat.com/show_bug.cgi?id=1199554 for more details.
-
- - add options to control fstab/mtab mount options usage, something like:
-
- --options-mode={ignore,append,prepend,replace} MNT_OMODE_{IGNORE, ...}
- --options-source={fstab,mtab,disable} MNT_OMODE_{FSTAB,MTAB,NOTAB}
- --options-source-force MNT_OMODE_FORCE
-
- (all this already supported by libmount)
-
+ - Extend mount(8) command line for mount flags modification without remount:
+ "mount modify --clear noexec --set nodev,private,ro /mnt"
+ This functionality should be implemented by mount_setattr() syscall.
partx
-----
- support mapping by device-mapper if argv[0] is "kpartx" or --dm option is used.
-
+
+
+getopt
+------
+ It would be great if getopt could optionally ignore unknown options.
+ Currently, it outputs -- for every option it doesn't recognize but leaving the
+ option as it is could beneficial wrapper scripts which could then pass the
+ options they don't recognize as they are to the command they are wrapping.
+ https://github.com/util-linux/util-linux/issues/701
docs
----
- - (!) use something better than gtk-doc for libmount and libblkid (doxyden?)
+ - (!) use something better than gtk-doc for libmount and libblkid (doxygen?)
- (!) add API documentation to libuuid
-exit codes
-----------
+ - Improve line breaks in man pages and review markup
- - we need coreutils-like exit codes for failed exec(). See:
- https://www.spinics.net/lists/util-linux-ng/msg12776.html
- and original attempt:
- https://github.com/karelzak/util-linux/pull/311
login-utils:
-----------
* note that shadow-utils newgpr(1) provides support for syslog and audit log.
+libsmartcols / column -t
+------------------------
+ - add column --table-header-color
+ - add support for border of table
+ * extend 'struct libscols_symbols', use box-drawing chars UTF8/ASCII
+ * add scols_table_enable_border()
+
+
+column(1):
+ - add "--output-width unlimited" and no call cols_table_set_termwidth() and
+ cols_table_set_termforce() in this case. See https://github.com/util-linux/util-linux/issues/1618
+
+
libblkid
--------
- - (!) add support for BitLocker Drive Encryption
- https://github.com/karelzak/util-linux/issues/617
+ - extend ZFS proper to scan for more uberblocks if BLKID_SUBLKS_MAGIC flag is set.
+ This solution will make wipefs(8) more usable as ZFS is extremely variable with
+ additional root blocks locations. See https://github.com/util-linux/util-linux/issues/1228
+
+ - (!) add support for BitLocker Drive Encryption
+ https://github.com/util-linux/util-linux/issues/617
https://github.com/libyal/libbde/blob/master/documentation/BitLocker%20Drive%20Encryption%20(BDE)%20format.asciidoc
- (!) add support for dasd PT (used for example on s390)
- add support for Apple Partition Map (see libblkid/src/partitions/mac.c)
http://en.wikipedia.org/wiki/Apple_Partition_Map
+ - add support for nested PT (e.g. hybrid MBR) to scripts
+ * add "nested-label:" block to sfdisk --dump
+ * add "nested-partitiontable" to sfdisk --JSON
+ * support nested labels parsing from dump
+ see https://github.com/util-linux/util-linux/issues/850
+
misc
----
- add mllockall() and SCHED_FIFO to hwclock,
see http://lkml.org/lkml/2008/10/12/132
-
+
---------------
exotic requests