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