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