]> git.ipfire.org Git - thirdparty/util-linux.git/blob - Documentation/TODO
Merge branch 'master' of https://github.com/smvoss/util-linux
[thirdparty/util-linux.git] / Documentation / TODO
1
2 Note that items with (!) have high priority.
3
4 col
5 ---
6 - use unsigned sizes for columns and lines
7 - check for limits to avoid segfaults
8 - make it more robust
9 https://github.com/karelzak/util-linux/issues/749
10
11 cal
12 ---
13 - add option to print calendar in vertical way
14 https://github.com/karelzak/util-linux/issues/604
15 - support another --reforms, see for example freebsd version
16 https://github.com/freebsd/freebsd/blob/master/usr.bin/ncal/ncal.c#L72
17
18 lscpu
19 -----
20 - read cpuid and uname information from file if --sysroot is specified, then
21 we can prepare regression tests completely independent on hw and architecture.
22
23 lsblk
24 -----
25 - currently it does not show mountpoint for all devices in btrfs RAID. It's because
26 /proc/#/mountinfo contains reference to the one device only. Maybe we can add some
27 btrfs specific code to provide a better output for FS based stacks. Not sure.
28 https://bugzilla.redhat.com/show_bug.cgi?id=1084453
29
30 nsenter(1)
31 ----------
32 - read the default UID and GID from the target process.
33 http://thread.gmane.org/gmane.linux.utilities.util-linux-ng/9553/focus=9585
34
35 hwclock
36 ------
37 - use /var/lib/hwclock/drift to store hw-clock drift numbers.
38 - use /etc/adjtime as read-only for UTC/LOCAL information only
39 - the /var/lib/hwclock/drift should be implemented backwardly compatible,
40 it means use the file only if exists, otherwise follow /etc/adjtime
41
42 bash completion
43 ---------------
44 - Optional argument handling requires user to press backspace to get
45 argument completion.
46 - Comma separated value, e.g., --output 'value1,value2', are not
47 completed for users.
48
49 libmount (mount/umount)
50 -----------------------
51
52 - add --onlyonce to force mount(8) to check if mountpoint is already used. Now
53 "already mounted" detection is used for --all only. The problem is if you
54 call "mount <mountpoint>" more than once for in fstab defined tmpfs (or network
55 filesystem etc.). In this case kernel does not return EBUSY, but a new instance
56 of the FS is created. https://github.com/karelzak/util-linux/issues/448
57 (... just idea, maybe wrong idea)
58
59 - support CAP_SYS_ADMIN; for mount(2) syscall the CAP_SYS_ADMIN is good
60 enough. Unfortunately, mount(8) does more things like check for filesystem
61 type (but it's usually done by udev, so root perms are unnecessary), create
62 loop devices, write to /run/mount/utab or /etc/mtab, etc.
63
64 It would be nice to improve libmount to check for CAP_SYS_ADMIN if suid not
65 set and allow to use it for simple tasks where no another operation is
66 necessary.
67
68 partx
69 -----
70
71 - support mapping by device-mapper if argv[0] is "kpartx" or --dm option is used.
72
73
74 getopt
75 ------
76 It would be great if getopt could optionally ignore unknown options.
77 Currently, it outputs -- for every option it doesn't recognize but leaving the
78 option as it is could beneficial wrapper scripts which could then pass the
79 options they don't recognize as they are to the command they are wrapping.
80 https://github.com/karelzak/util-linux/issues/701
81
82 docs
83 ----
84
85 - (!) use something better than gtk-doc for libmount and libblkid (doxyden?)
86
87 - (!) add API documentation to libuuid
88
89
90 login-utils:
91 -----------
92
93 - consolidate newgrp(1)
94 * we have "su --group/--supp-group" to switch between groups, newgrp(1) in
95 util-linux and shadow-utils (and sg(1) alias in shadow-utils)
96 * the unique functionality provided by newgpr(1) is support for group
97 passwords [/etc/gshadow] -- do we really need this functionality?
98 * maybe we can mark group-passwords as deprecated, and replace sg(1) and
99 newgpr(1) with su(1) code. The another way is to ask for group password in
100 su --group too.
101 * note that shadow-utils newgpr(1) provides support for syslog and audit log.
102
103
104 libblkid
105 --------
106
107 - (!) add support for BitLocker Drive Encryption
108 https://github.com/karelzak/util-linux/issues/617
109 https://github.com/libyal/libbde/blob/master/documentation/BitLocker%20Drive%20Encryption%20(BDE)%20format.asciidoc
110
111 - (!) add support for dasd PT (used for example on s390)
112
113 libfdisk
114 --------
115
116 - add support for Apple Partition Map (see libblkid/src/partitions/mac.c)
117 http://en.wikipedia.org/wiki/Apple_Partition_Map
118
119 - add support for nested PT (e.g. hybrid MBR) to scripts
120 * add "nested-label:" block to sfdisk --dump
121 * add "nested-partitiontable" to sfdisk --JSON
122 * support nested labels parsing from dump
123 see https://github.com/karelzak/util-linux/issues/850
124
125 sfdisk
126 ------
127
128 - don't backup PT in interactive mode before write to the devices is requested,
129 see https://github.com/karelzak/util-linux/issues/852
130
131 misc
132 ----
133
134 - add mllockall() and SCHED_FIFO to hwclock,
135 see http://lkml.org/lkml/2008/10/12/132
136
137
138 ---------------
139 exotic requests
140 ---------------
141
142 - add SELinux security contexts support to the 'ipcs' utility
143 http://bugzilla.redhat.com/show_bug.cgi?id=225342
144
145 Would be great to list the current system IPC Objects with their respective
146 security labels (where allowed) with something like 'ipcs -Z' - following the
147 way other tools reports those.
148
149