]> git.ipfire.org Git - thirdparty/util-linux.git/blobdiff - Documentation/TODO
lib/pty-session: initialize timevals [-Werror=maybe-uninitialized]
[thirdparty/util-linux.git] / Documentation / TODO
index a4a8d789045e77e1062562a9f1ab34e4df007eff..d229dd329280e39558dd2bf0d5cff0041804a82a 100644 (file)
@@ -1,62 +1,74 @@
 
- Note that items with (!) have high priority.
+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/karelzak/util-linux/issues/749
+  https://github.com/util-linux/util-linux/issues/749
 
 cal
 ---
-   - 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
 
-script
-------
-   - introduce a new timing file format to record information about multiple
-     streams (stdout, stdin) and events (signals)
-
-   - add support for stdin loggin -- separated log file with raw input and timing
-     records in the timing file
-
-   - for example timing file format:
-              
-             <type> <timestamp> [<offset> | <signal> ...]
-
-            O 0.001296 256
-            S 0.001297 SIGWINCH: columns=50, lines=20
-            I 0.000010 10
-
-     O - output, S - signal, I - input
-
-
 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
 ---------------
@@ -68,27 +80,29 @@ bash completion
 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/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.
+ - 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
 ------
@@ -96,15 +110,17 @@ getopt
   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/karelzak/util-linux/issues/701
+  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
 
+ - Improve line breaks in man pages and review markup
+
 
 login-utils:
 -----------
@@ -120,11 +136,28 @@ 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)
@@ -135,13 +168,18 @@ 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