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