
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).

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.

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.

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 newgrp(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
      newgrp(1) with su(1) code. The another way is to ask for group password in
      su --group too.
    * note that shadow-utils newgrp(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.


