Note that items with (!) have high priority.
-build-sys
----------
- - for example
- ./configure --disable-all-programs --enable-hwclock
+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
+
+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)
- enables only hwclock, unfortunately we have no --enable/disable for all programs.
- It would be nice to have generic --enable-programs <list>, for example:
+ - add support for stdin loggin -- separated log file with raw input and timing
+ records in the timing file
- ./configure --disable-all-programs --enable-programs hwclock,lsblk
+ - 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
-su/runuser
-----------
- - (!) implement pty container for all su/runuser session (something like
- script(1)) to separate user from the original terminal (see CVE-2016-2779)
-
-- add functions strtime_short(), strtime_iso(), strtime_ctime(), ...
-
-cleanup lib/path.c:
-------------------
- - 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)
-
lscpu
-----
btrfs specific code to provide a better output for FS based stacks. Not sure.
https://bugzilla.redhat.com/show_bug.cgi?id=1084453
-cfdisk
-------
- - (!) add auto-sort support (sort partitions automatically) and
- --sort={auto,never,always} command line option. This feature should be
- enabled by default for logical partitions if we created all container (extended
- partition) in the current session.
-
-
-agetty
------
- - support default issue (/etc/issue) output for agetty to make it agetty
- usable on systems with empty /etc.
-
- This change is little bit controversial, because now agetty prints nothing
- by default and it's probably used by admins to hide information about the
- system to unauthorized users. We already have --noissue to disable issue
- output. The question is if admins use this option, "rm /etc/issue" is
- probably easer than modify inittab (or systemd unit file).
-
- Maybe we can implement it by --enable-agetty-default-issue compile option and
- move the decision to downstream maintainers ;-)
-
nsenter(1)
----------
- read the default UID and GID from the target process.
libmount (mount/umount)
-----------------------
+ - 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
+ (... 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
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)
-
-
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
----
* 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 fro group password in
+ 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.
-libuuid
--------
- - add support for UUID v3 and v5 (Object IDs based UUIDs hashed by MD5/SHA1,
- see RFC 4122) https://github.com/karelzak/util-linux/issues/495
-
-
libblkid
--------
- - (!) don't use internally blkid_loff_t, rather use off_t, size_t, ssize_t,
- stdint.h types and so on...
-
- - add FSSIZE value -- filesystem size (klibc requirement)
+ - (!) 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)
- add support for Apple Partition Map (see libblkid/src/partitions/mac.c)
http://en.wikipedia.org/wiki/Apple_Partition_Map
+
misc
----