]> git.ipfire.org Git - thirdparty/util-linux.git/blob - Documentation/TODO
docs: update TODO (libblkid)
[thirdparty/util-linux.git] / Documentation / TODO
1
2 Note that items with (!) have high priority.
3
4 cal
5 ---
6 - add option to print calendar in vertical way
7 https://github.com/karelzak/util-linux/issues/604
8 - support another --reforms, see for example freebsd version
9 https://github.com/freebsd/freebsd/blob/master/usr.bin/ncal/ncal.c#L72
10
11 choom
12 -----
13 - add new tool to set/get process OOM setting
14 https://github.com/karelzak/util-linux/issues/609
15
16 column
17 ------
18 - add option to NOT ignore empty lines
19 https://github.com/karelzak/util-linux/issues/593
20
21 script
22 ------
23 - (!) add terminal type ($TERM), columns and lines to the header line, something like:
24
25 Script started on 2018-03-05 13:02:08+0100 [term="xterm-256color", lines=53, columns=190]
26
27 see https://github.com/karelzak/util-linux/issues/583
28
29 - think about optional "event" records in timing file to save information
30 about non-data changes like signals (SIGWINCH, SIGSTOP, SIGCONT, etc.)
31 in format:
32
33 <time> 0 <name>[: var=data, ...]
34
35 for example:
36
37 0.001296 256
38 0.001297 0 SIGWINCH: columns=50, lines=20
39 0.000010 275
40
41 lsblk
42 -----
43 - rewrite lsblk to read all devices tree to memory to make it more extendable. Now
44 it always keep in memory just one device (only final output is buffered by
45 libsmartcols, but this stuff are output strings, nothing else).
46
47 See fopr example: https://github.com/karelzak/util-linux/issues/616
48
49
50 cleanup lib/path.c: [Karel Zak for v2.33]
51 ------------------
52 - always return rc from all functions
53 - introduce control struct and use openat() from top-level path
54 (e.g. top-level is /proc, etc)
55 - use lib/path.c as low-level API for lib/sysfs.c
56 - now we duplicate code in functions like {path,sysfs}_read_u32, etc.
57 - it would be also nice to have a way how to redirect sysfs.c functions
58 to /sys snapshots (e.g. lsblk regression tests)
59
60
61 lscpu
62 -----
63 - read cpuid and uname information from file if --sysroot is specified, then
64 we can prepare regression tests completely independent on hw and architecture.
65
66 lsblk
67 -----
68 - currently it does not show mountpoint for all devices in btrfs RAID. It's because
69 /proc/#/mountinfo contains reference to the one device only. Maybe we can add some
70 btrfs specific code to provide a better output for FS based stacks. Not sure.
71 https://bugzilla.redhat.com/show_bug.cgi?id=1084453
72
73 nsenter(1)
74 ----------
75 - read the default UID and GID from the target process.
76 http://thread.gmane.org/gmane.linux.utilities.util-linux-ng/9553/focus=9585
77
78 hwlock
79 ------
80 - use /var/lib/hwclock/drift to store hw-clock drift numbers.
81 - use /etc/adjtime as read-only for UTC/LOCAL information only
82 - the /var/lib/hwclock/drift should be implemented backwardly compatible,
83 it means use the file only if exists, otherwise follow /etc/adjtime
84
85 bash completion
86 ---------------
87 - Optional argument handling requires user to press backspace to get
88 argument completion.
89 - Comma separated value, e.g., --output 'value1,value2', are not
90 completed for users.
91
92 libmount (mount/umount)
93 -----------------------
94
95 - remount all filesystems given their type, for example:
96 mount -a -t tmpfs -o remount
97 It should be probably enough to add remount_all() to mount(8) in way we
98 already have mount_all(). https://github.com/karelzak/util-linux/issues/589
99
100 - add --onlyonce to force mount(8) to check if mountpoint is already used. Now
101 "already mounted" detection is used for --all only. The problem is if you
102 call "mount <mountpoint>" more than once for in fstab defined tmpfs (or network
103 filesystem etc.). In this case kernel does not return EBUSY, but a new instance
104 of the FS is created. https://github.com/karelzak/util-linux/issues/448
105 (... just idea, maybe wrong idea)
106
107 - support CAP_SYS_ADMIN; for mount(2) syscall the CAP_SYS_ADMIN is good
108 enough. Unfortunately, mount(8) does more things like check for filesystem
109 type (but it's usually done by udev, so root perms are unnecessary), create
110 loop devices, write to /run/mount/utab or /etc/mtab, etc.
111
112 It would be nice to improve libmount to check for CAP_SYS_ADMIN if suid not
113 set and allow to use it for simple tasks where no another operation is
114 necessary.
115
116 - allow to execute mount(2) in another namespace, something like:
117 mount --namespace=/proc/$n/ns/mnt /dev/sda2 /bar
118 see https://bugzilla.redhat.com/show_bug.cgi?id=1199554 for more details.
119
120 - add options to control fstab/mtab mount options usage, something like:
121
122 --options-mode={ignore,append,prepend,replace} MNT_OMODE_{IGNORE, ...}
123 --options-source={fstab,mtab,disable} MNT_OMODE_{FSTAB,MTAB,NOTAB}
124 --options-source-force MNT_OMODE_FORCE
125
126 (all this already supported by libmount)
127
128
129 partx
130 -----
131
132 - support mapping by device-mapper if argv[0] is "kpartx" or --dm option is used.
133
134
135 docs
136 ----
137
138 - (!) use something better than gtk-doc for libmount and libblkid (doxyden?)
139
140 - (!) add API documentation to libuuid
141
142 exit codes
143 ----------
144
145 - we need coreutils-like exit codes for failed exec(). See:
146 https://www.spinics.net/lists/util-linux-ng/msg12776.html
147 and original attempt:
148 https://github.com/karelzak/util-linux/pull/311
149
150 login-utils:
151 -----------
152
153 - consolidate newgrp(1)
154 * we have "su --group/--supp-group" to switch between groups, newgrp(1) in
155 util-linux and shadow-utils (and sg(1) alias in shadow-utils)
156 * the unique functionality provided by newgpr(1) is support for group
157 passwords [/etc/gshadow] -- do we really need this functionality?
158 * maybe we can mark group-passwords as deprecated, and replace sg(1) and
159 newgpr(1) with su(1) code. The another way is to ask for group password in
160 su --group too.
161 * note that shadow-utils newgpr(1) provides support for syslog and audit log.
162
163
164 libblkid
165 --------
166
167 - (!) add support for BitLocker Drive Encryption
168 https://github.com/karelzak/util-linux/issues/617
169 https://github.com/libyal/libbde/blob/master/documentation/BitLocker%20Drive%20Encryption%20(BDE)%20format.asciidoc
170
171 - (!) add support for dasd PT (used for example on s390)
172
173 libfdisk
174 --------
175
176 - add support for Apple Partition Map (see libblkid/src/partitions/mac.c)
177 http://en.wikipedia.org/wiki/Apple_Partition_Map
178
179 misc
180 ----
181
182 - add mllockall() and SCHED_FIFO to hwclock,
183 see http://lkml.org/lkml/2008/10/12/132
184
185
186 ---------------
187 exotic requests
188 ---------------
189
190 - add SELinux security contexts support to the 'ipcs' utility
191 http://bugzilla.redhat.com/show_bug.cgi?id=225342
192
193 Would be great to list the current system IPC Objects with their respective
194 security labels (where allowed) with something like 'ipcs -Z' - following the
195 way other tools reports those.
196
197