summaryrefslogtreecommitdiffstats
path: root/Documentation/TODO
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 14:30:35 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 14:30:35 +0000
commit378c18e5f024ac5a8aef4cb40d7c9aa9633d144c (patch)
tree44dfb6ca500d32cabd450649b322a42e70a30683 /Documentation/TODO
parentInitial commit. (diff)
downloadutil-linux-upstream.tar.xz
util-linux-upstream.zip
Adding upstream version 2.38.1.upstream/2.38.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'Documentation/TODO')
-rw-r--r--Documentation/TODO204
1 files changed, 204 insertions, 0 deletions
diff --git a/Documentation/TODO b/Documentation/TODO
new file mode 100644
index 0000000..e1ee613
--- /dev/null
+++ b/Documentation/TODO
@@ -0,0 +1,204 @@
+
+See also:
+ https://github.com/util-linux/util-linux/issues?q=is%3Aissue+is%3Aopen+label%3ATODO
+
+all
+---
+
+ - 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
+
+tests
+-----
+ - add MacOS to GitHub Actions (.github/workflows/cibuild.yml). Note, we have used
+ Mac in Travis-CI (see .travis.yml).
+
+ - add Coverity to GitHub Actions (see for example .github/workflows/coverity.yml
+ in systemd repo).
+
+agetty
+------
+ - follow LOGIN_PLAIN_PROMPT from /etc/login.defs as alternative to --nohostname
+
+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.
+
+script (lib/pty-session.c)
+--------------------------
+ - (!) add #ifdefs and optional code for non-signalfd() systems
+
+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
+
+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
+
+cal
+---
+ - support another --reforms, see for example freebsd version
+ https://github.com/freebsd/freebsd/blob/master/usr.bin/ncal/ncal.c#L72
+
+lscpu
+-----
+ - add "Boost/Turbo: true|false" based on /sys/devices/system/cpu/intel_pstate/no_turbo and
+ /sys/devices/system/cpu/cpufreq/boost
+
+ - add --freq output to visualise CPU use, see https://github.com/util-linux/util-linux/issues/1314
+
+ - read cpuid and uname information from file if --sysroot is specified, then
+ we can prepare regression tests completely independent on hw and architecture.
+
+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
+
+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
+ - see topic/hwclock-drift-file branch
+
+bash completion
+---------------
+- Optional argument handling requires user to press backspace to get
+ argument completion.
+- Comma separated value, e.g., --output 'value1,value2', are not
+ completed for users.
+
+libmount (mount/umount)
+-----------------------
+
+ - 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/util-linux/util-linux/issues/448
+ (... just idea, maybe wrong idea)
+
+ - 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 (doxygen?)
+
+ - (!) add API documentation to libuuid
+
+ - Improve line breaks in man pages and review markup
+
+
+login-utils:
+-----------
+
+ - consolidate newgrp(1)
+ * we have "su --group/--supp-group" to switch between groups, newgrp(1) in
+ util-linux and shadow-utils (and sg(1) alias in shadow-utils)
+ * the unique functionality provided by newgpr(1) is support for group
+ passwords [/etc/gshadow] -- do we really need this functionality?
+ * maybe we can mark group-passwords as deprecated, and replace sg(1) and
+ newgpr(1) with su(1) code. The another way is to ask for group password in
+ su --group too.
+ * 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
+--------
+
+ - 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)
+
+libfdisk
+--------
+
+ - 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
+---------------
+
+ - add SELinux security contexts support to the 'ipcs' utility
+ http://bugzilla.redhat.com/show_bug.cgi?id=225342
+
+ Would be great to list the current system IPC Objects with their respective
+ security labels (where allowed) with something like 'ipcs -Z' - following the
+ way other tools reports those.
+
+