Note that items with (!) have high priority. 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: [ | ...] 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. lsblk ----- - re-write the way how lsblk internally holds info about devices. Now we compose only output (by libsmartcols). It would be better to have in memory complete tree of the devices and generate the output from this tree. It will make code more readable and allow to generate output in more ways -- for example for RAIDs (https://github.com/karelzak/util-linux/issues/616) - 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 - think about free/used space columns; the problem is that such info is about FS and it may be confusing for end-users when FS to DEV mapping is not 1:1 (RAIDs, btrfs, ...) 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 hwlock ------ - 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 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) ----------------------- - 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 - 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 " 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 (... 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. 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/karelzak/util-linux/issues/701 docs ---- - (!) use something better than gtk-doc for libmount and libblkid (doxyden?) - (!) add API documentation to libuuid 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. libblkid -------- - (!) add support for BitLocker Drive Encryption https://github.com/karelzak/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 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.