1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
|
See also:
https://github.com/util-linux/util-linux/issues?q=is%3Aissue+is%3Aopen+label%3ATODO
all
---
- use gettext() for column names on output in libsmartcols based tools and
accept trantated as well as original names on command line (lsblk -o NAME,SIZE).
https://github.com/util-linux/util-linux/issues/1291
tests
-----
- add MacOS to GitHub Actions (.github/workflows/cibuild.yml). Note, we have used
Mac in Travis-CI (see .travis.yml).
- add Coverity to GitHub Actions (see for example .github/workflows/coverity.yml
in systemd repo).
agetty
------
- follow LOGIN_PLAIN_PROMPT from /etc/login.defs as alternative to --nohostname
fstrim
------
- "fstrim --fstab" uses root= from /proc/cmdline to get root FS when it's missing
in fstab file. This is fragile (due to missing root= or the root FS is not
accessible). The best seems to parse mountinfo and use mnt_table_get_root_fs()
as a fallback solution. https://github.com/util-linux/util-linux/issues/1266.
script (lib/pty-session.c)
--------------------------
- (!) add #ifdefs and optional code for non-signalfd() systems
docs
----
- use terminal hyperlinks (for example for --help)
try on terminal: printf 'For more details see \e]8;;man:fdisk(8)\e\\fdisk(8)\e]8;;\e\\.\n'
https://gist.github.com/egmontkob/eb114294efbcd5adb1944c9f3cb5feda
rev
---
- support huge input lines (for example read input by small fixed buffer
rather than try allocate all buffer for a whole line)
see: https://github.com/util-linux/util-linux/issues/972
col
---
- use unsigned sizes for columns and lines
- check for limits to avoid segfaults
- make it more robust
https://github.com/util-linux/util-linux/issues/749
cal
---
- support another --reforms, see for example freebsd version
https://github.com/freebsd/freebsd/blob/master/usr.bin/ncal/ncal.c#L72
lscpu
-----
- add "Boost/Turbo: true|false" based on /sys/devices/system/cpu/intel_pstate/no_turbo and
/sys/devices/system/cpu/cpufreq/boost
- add --freq output to visualise CPU use, see https://github.com/util-linux/util-linux/issues/1314
- read cpuid and uname information from file if --sysroot is specified, then
we can prepare regression tests completely independent on hw and architecture.
nsenter(1)
----------
- read the default UID and GID from the target process.
http://thread.gmane.org/gmane.linux.utilities.util-linux-ng/9553/focus=9585
hwclock
------
- use /var/lib/hwclock/drift to store hw-clock drift numbers.
- use /etc/adjtime as read-only for UTC/LOCAL information only
- the /var/lib/hwclock/drift should be implemented backwardly compatible,
it means use the file only if exists, otherwise follow /etc/adjtime
- see topic/hwclock-drift-file branch
bash completion
---------------
- Optional argument handling requires user to press backspace to get
argument completion.
- Comma separated value, e.g., --output 'value1,value2', are not
completed for users.
libmount (mount/umount)
-----------------------
- mnt_context_get_excode() does not return error messages from /sbin/[u]mount.<type>
external helpers. It is disadvantages in same cases (non-terminal programs).
The solution is to use pipe(), keep output from helper in memory and return it later
by mnt_context_get_excode() (or mnt_context_get_helper_output(), etc.). This feature
should be optional and disabled by default.
see: https://github.com/util-linux/util-linux/issues/1208
- add --onlyonce to force mount(8) to check if mountpoint is already used. Now
"already mounted" detection is used for --all only. The problem is if you
call "mount <mountpoint>" more than once for in fstab defined tmpfs (or network
filesystem etc.). In this case kernel does not return EBUSY, but a new instance
of the FS is created. https://github.com/util-linux/util-linux/issues/448
(... just idea, maybe wrong idea)
- Extend mount(8) command line for mount flags modification without remount:
"mount modify --clear noexec --set nodev,private,ro /mnt"
This functionality should be implemented by mount_setattr() syscall.
partx
-----
- support mapping by device-mapper if argv[0] is "kpartx" or --dm option is used.
getopt
------
It would be great if getopt could optionally ignore unknown options.
Currently, it outputs -- for every option it doesn't recognize but leaving the
option as it is could beneficial wrapper scripts which could then pass the
options they don't recognize as they are to the command they are wrapping.
https://github.com/util-linux/util-linux/issues/701
docs
----
- (!) use something better than gtk-doc for libmount and libblkid (doxygen?)
- (!) add API documentation to libuuid
- Improve line breaks in man pages and review markup
login-utils:
-----------
- consolidate newgrp(1)
* we have "su --group/--supp-group" to switch between groups, newgrp(1) in
util-linux and shadow-utils (and sg(1) alias in shadow-utils)
* the unique functionality provided by newgpr(1) is support for group
passwords [/etc/gshadow] -- do we really need this functionality?
* maybe we can mark group-passwords as deprecated, and replace sg(1) and
newgpr(1) with su(1) code. The another way is to ask for group password in
su --group too.
* note that shadow-utils newgpr(1) provides support for syslog and audit log.
libsmartcols / column -t
------------------------
- add column --table-header-color
- add support for border of table
* extend 'struct libscols_symbols', use box-drawing chars UTF8/ASCII
* add scols_table_enable_border()
column(1):
- add "--output-width unlimited" and no call cols_table_set_termwidth() and
cols_table_set_termforce() in this case. See https://github.com/util-linux/util-linux/issues/1618
libblkid
--------
- extend ZFS proper to scan for more uberblocks if BLKID_SUBLKS_MAGIC flag is set.
This solution will make wipefs(8) more usable as ZFS is extremely variable with
additional root blocks locations. See https://github.com/util-linux/util-linux/issues/1228
- (!) add support for BitLocker Drive Encryption
https://github.com/util-linux/util-linux/issues/617
https://github.com/libyal/libbde/blob/master/documentation/BitLocker%20Drive%20Encryption%20(BDE)%20format.asciidoc
- (!) add support for dasd PT (used for example on s390)
libfdisk
--------
- add support for Apple Partition Map (see libblkid/src/partitions/mac.c)
http://en.wikipedia.org/wiki/Apple_Partition_Map
- add support for nested PT (e.g. hybrid MBR) to scripts
* add "nested-label:" block to sfdisk --dump
* add "nested-partitiontable" to sfdisk --JSON
* support nested labels parsing from dump
see https://github.com/util-linux/util-linux/issues/850
misc
----
- add mllockall() and SCHED_FIFO to hwclock,
see http://lkml.org/lkml/2008/10/12/132
---------------
exotic requests
---------------
- add SELinux security contexts support to the 'ipcs' utility
http://bugzilla.redhat.com/show_bug.cgi?id=225342
Would be great to list the current system IPC Objects with their respective
security labels (where allowed) with something like 'ipcs -Z' - following the
way other tools reports those.
|