changed debian/source/format to native
This commit is contained in:
parent
e22d7b9def
commit
83a3d58e79
|
@ -1,161 +0,0 @@
|
|||
From: J William Piggott <elseifthen@gmx.com>
|
||||
Date: Fri, 21 Feb 2020 20:03:47 -0500
|
||||
Subject: [PATCH] hwclock: make glibc 2.31 compatible
|
||||
|
||||
______________________________________________________
|
||||
GNU C Library NEWS -- history of user-visible changes.
|
||||
Version 2.31
|
||||
Deprecated and removed features, and other changes affecting compatibility:
|
||||
|
||||
* The settimeofday function can still be used to set a system-wide time
|
||||
zone when the operating system supports it. This is because the Linux
|
||||
kernel reused the API, on some architectures, to describe a system-wide
|
||||
time-zone-like offset between the software clock maintained by the kernel,
|
||||
and the "RTC" clock that keeps time when the system is shut down.
|
||||
|
||||
However, to reduce the odds of this offset being set by accident,
|
||||
settimeofday can no longer be used to set the time and the offset
|
||||
simultaneously. If both of its two arguments are non-null, the call
|
||||
will fail (setting errno to EINVAL).
|
||||
|
||||
Callers attempting to set this offset should also be prepared for the call
|
||||
to fail and set errno to ENOSYS; this already happens on the Hurd and on
|
||||
some Linux architectures. The Linux kernel maintainers are discussing a
|
||||
more principled replacement for the reused API. After a replacement
|
||||
becomes available, we will change settimeofday to fail with ENOSYS on all
|
||||
platforms when its 'tzp' argument is not a null pointer.
|
||||
|
||||
settimeofday itself is obsolescent according to POSIX. Programs that set
|
||||
the system time should use clock_settime and/or the adjtime family of
|
||||
functions instead. We may cease to make settimeofday available to newly
|
||||
linked binaries after there is a replacement for Linux's time-zone-like
|
||||
offset API.
|
||||
______________________________________________________
|
||||
|
||||
hwclock(8) had one settimeofday(2) call where both args were set for
|
||||
--hctosys when the RTC was ticking UTC. This allowed setting the system
|
||||
time, timezone, and locking the warp_clock function with a single call.
|
||||
That operation now takes 3 calls of settimeofday(2).
|
||||
|
||||
Although this common operation now takes three calls, the overall logic
|
||||
for the set_system_clock() function was simplified.
|
||||
|
||||
Co-Author: Karel Zak <kzak@redhat.com>
|
||||
Signed-off-by: J William Piggott <elseifthen@gmx.com>
|
||||
---
|
||||
sys-utils/hwclock.c | 71 ++++++++++++++++++++++++++++-------------------------
|
||||
1 file changed, 37 insertions(+), 34 deletions(-)
|
||||
|
||||
diff --git a/sys-utils/hwclock.c b/sys-utils/hwclock.c
|
||||
index 95ce643..c39d680 100644
|
||||
--- a/sys-utils/hwclock.c
|
||||
+++ b/sys-utils/hwclock.c
|
||||
@@ -638,28 +638,28 @@ display_time(struct timeval hwctime)
|
||||
* tz.tz_minuteswest argument and sets PCIL (see below). At boot settimeofday(2)
|
||||
* has one-shot access to this function as shown in the table below.
|
||||
*
|
||||
- * +-------------------------------------------------------------------+
|
||||
- * | settimeofday(tv, tz) |
|
||||
- * |-------------------------------------------------------------------|
|
||||
- * | Arguments | System Time | PCIL | | warp_clock |
|
||||
- * | tv | tz | set | warped | set | firsttime | locked |
|
||||
- * |---------|---------|---------------|------|-----------|------------|
|
||||
- * | pointer | NULL | yes | no | no | 1 | no |
|
||||
- * | pointer | pointer | yes | no | no | 0 | yes |
|
||||
- * | NULL | ptr2utc | no | no | no | 0 | yes |
|
||||
- * | NULL | pointer | no | yes | yes | 0 | yes |
|
||||
- * +-------------------------------------------------------------------+
|
||||
+ * +-------------------------------------------------------------------------+
|
||||
+ * | settimeofday(tv, tz) |
|
||||
+ * |-------------------------------------------------------------------------|
|
||||
+ * | Arguments | System Time | TZ | PCIL | | warp_clock |
|
||||
+ * | tv | tz | set | warped | set | set | firsttime | locked |
|
||||
+ * |---------|---------|---------------|-----|------|-----------|------------|
|
||||
+ * | pointer | NULL | yes | no | no | no | 1 | no |
|
||||
+ * | NULL | ptr2utc | no | no | yes | no | 0 | yes |
|
||||
+ * | NULL | pointer | no | yes | yes | yes | 0 | yes |
|
||||
+ * +-------------------------------------------------------------------------+
|
||||
* ptr2utc: tz.tz_minuteswest is zero (UTC).
|
||||
* PCIL: persistent_clock_is_local, sets the "11 minute mode" timescale.
|
||||
* firsttime: locks the warp_clock function (initialized to 1 at boot).
|
||||
+ * Since glibc v2.31 settimeofday() will fail if both args are non NULL
|
||||
*
|
||||
* +---------------------------------------------------------------------------+
|
||||
* | op | RTC scale | settimeofday calls |
|
||||
* |---------|-----------|-----------------------------------------------------|
|
||||
* | systz | Local | 1) warps system time*, sets PCIL* and kernel tz |
|
||||
* | systz | UTC | 1st) locks warp_clock* 2nd) sets kernel tz |
|
||||
- * | hctosys | Local | 1st) sets PCIL* 2nd) sets system time and kernel tz |
|
||||
- * | hctosys | UTC | 1) sets system time and kernel tz |
|
||||
+ * | hctosys | Local | 1st) sets PCIL* & kernel tz 2nd) sets system time |
|
||||
+ * | hctosys | UTC | 1st) locks warp* 2nd) sets tz 3rd) sets system time |
|
||||
* +---------------------------------------------------------------------------+
|
||||
* * only on first call after boot
|
||||
*/
|
||||
@@ -670,42 +670,45 @@ set_system_clock(const struct hwclock_control *ctl,
|
||||
struct tm broken;
|
||||
int minuteswest;
|
||||
int rc = 0;
|
||||
- const struct timezone tz_utc = { 0 };
|
||||
|
||||
localtime_r(&newtime.tv_sec, &broken);
|
||||
minuteswest = -get_gmtoff(&broken) / 60;
|
||||
|
||||
if (ctl->verbose) {
|
||||
- if (ctl->hctosys && !ctl->universal)
|
||||
- printf(_("Calling settimeofday(NULL, %d) to set "
|
||||
- "persistent_clock_is_local.\n"), minuteswest);
|
||||
- if (ctl->systz && ctl->universal)
|
||||
+ if (ctl->universal) {
|
||||
puts(_("Calling settimeofday(NULL, 0) "
|
||||
- "to lock the warp function."));
|
||||
+ "to lock the warp_clock function."));
|
||||
+ if (!( ctl->universal && !minuteswest ))
|
||||
+ printf(_("Calling settimeofday(NULL, %d) "
|
||||
+ "to set the kernel timezone.\n"),
|
||||
+ minuteswest);
|
||||
+ } else
|
||||
+ printf(_("Calling settimeofday(NULL, %d) to warp "
|
||||
+ "System time, set PCIL and the kernel tz.\n"),
|
||||
+ minuteswest);
|
||||
+
|
||||
if (ctl->hctosys)
|
||||
- printf(_("Calling settimeofday(%ld.%06ld, %d)\n"),
|
||||
- newtime.tv_sec, newtime.tv_usec, minuteswest);
|
||||
- else {
|
||||
- printf(_("Calling settimeofday(NULL, %d) "), minuteswest);
|
||||
- if (ctl->universal)
|
||||
- puts(_("to set the kernel timezone."));
|
||||
- else
|
||||
- puts(_("to warp System time."));
|
||||
- }
|
||||
+ printf(_("Calling settimeofday(%ld.%06ld, NULL) "
|
||||
+ "to set the System time.\n"),
|
||||
+ newtime.tv_sec, newtime.tv_usec);
|
||||
}
|
||||
|
||||
if (!ctl->testing) {
|
||||
+ const struct timezone tz_utc = { 0 };
|
||||
const struct timezone tz = { minuteswest };
|
||||
|
||||
- if (ctl->hctosys && !ctl->universal) /* set PCIL */
|
||||
- rc = settimeofday(NULL, &tz);
|
||||
- if (ctl->systz && ctl->universal) /* lock warp_clock */
|
||||
+ /* If UTC RTC: lock warp_clock and PCIL */
|
||||
+ if (ctl->universal)
|
||||
rc = settimeofday(NULL, &tz_utc);
|
||||
- if (!rc && ctl->hctosys)
|
||||
- rc = settimeofday(&newtime, &tz);
|
||||
- else if (!rc)
|
||||
+
|
||||
+ /* Set kernel tz; if localtime RTC: warp_clock and set PCIL */
|
||||
+ if (!rc && !( ctl->universal && !minuteswest ))
|
||||
rc = settimeofday(NULL, &tz);
|
||||
|
||||
+ /* Set the System Clock */
|
||||
+ if ((!rc || errno == ENOSYS) && ctl->hctosys)
|
||||
+ rc = settimeofday(&newtime, NULL);
|
||||
+
|
||||
if (rc) {
|
||||
warn(_("settimeofday() failed"));
|
||||
return EXIT_FAILURE;
|
|
@ -1,29 +0,0 @@
|
|||
From: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
|
||||
Date: Sat, 14 May 2022 03:14:50 +0800
|
||||
Subject: hwclock_fix_audit_status
|
||||
|
||||
hwclock: fix audit exit status
|
||||
|
||||
According to audit_log_user_message(3) result 1 is "success" and 0 is
|
||||
"failed", we use standard EXIT_{SUCCESS,FAILURE} macros with reverse
|
||||
status.
|
||||
|
||||
Addresses: https://github.com/karelzak/util-linux/issues/966
|
||||
Signed-off-by: Karel Zak <kzak@redhat.com>
|
||||
---
|
||||
sys-utils/hwclock.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/sys-utils/hwclock.c b/sys-utils/hwclock.c
|
||||
index a2c5cc2..95ce643 100644
|
||||
--- a/sys-utils/hwclock.c
|
||||
+++ b/sys-utils/hwclock.c
|
||||
@@ -1442,7 +1442,7 @@ hwclock_exit(const struct hwclock_control *ctl
|
||||
if (ctl->hwaudit_on && !ctl->testing) {
|
||||
audit_log_user_message(hwaudit_fd, AUDIT_USYS_CONFIG,
|
||||
"op=change-system-time", NULL, NULL, NULL,
|
||||
- status);
|
||||
+ status == EXIT_SUCCESS ? 1 : 0);
|
||||
}
|
||||
close(hwaudit_fd);
|
||||
#endif
|
|
@ -1,42 +0,0 @@
|
|||
From: Mauricio Faria de Oliveira <mfo@canonical.com>
|
||||
Date: Tue, 7 Jan 2020 18:53:51 -0300
|
||||
Subject: [PATCH] libblkid: (xfs) external log: check for regular xfs on more
|
||||
sectors
|
||||
|
||||
The xfs external log probe only checks for regular xfs on sector zero,
|
||||
but then checks for valid log record headers on all first 512 sectors.
|
||||
|
||||
This can incorrectly detect an xfs external log if a regular xfs (i.e.
|
||||
with internal log) is shifted by up to 512 sectors; it may happen with
|
||||
bcache and LVM1 for example, as the regular xfs is found later in disk.
|
||||
|
||||
This results in ambivalent filesystem detection, thus no UUID for udev.
|
||||
|
||||
Fix this problem by checking for regular xfs on all sectors considered
|
||||
by the xfs external log probe.
|
||||
|
||||
Test-case with bcache:
|
||||
---
|
||||
libblkid/src/superblocks/xfs.c | 7 ++++---
|
||||
1 file changed, 4 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/libblkid/src/superblocks/xfs.c b/libblkid/src/superblocks/xfs.c
|
||||
index 99848f9..7e87020 100644
|
||||
--- a/libblkid/src/superblocks/xfs.c
|
||||
+++ b/libblkid/src/superblocks/xfs.c
|
||||
@@ -252,11 +252,12 @@ static int probe_xfs_log(blkid_probe pr,
|
||||
if (!buf)
|
||||
return errno ? -errno : 1;
|
||||
|
||||
- if (memcmp(buf, "XFSB", 4) == 0)
|
||||
- return 1; /* this is regular XFS, ignore */
|
||||
-
|
||||
/* check the first 512 512-byte sectors */
|
||||
for (i = 0; i < 512; i++) {
|
||||
+ /* this is regular XFS (maybe with some sectors shift), ignore */
|
||||
+ if (memcmp(&buf[i*512], "XFSB", 4) == 0)
|
||||
+ return 1;
|
||||
+
|
||||
rhead = (struct xlog_rec_header *)&buf[i*512];
|
||||
|
||||
if (xlog_valid_rec_header(rhead)) {
|
|
@ -1,29 +0,0 @@
|
|||
From: Karel Zak <kzak@redhat.com>
|
||||
Date: Thu, 27 Jun 2019 09:22:18 +0200
|
||||
Subject: lsblk: force to print PKNAME for partition
|
||||
|
||||
PKNAME (parent kernel device name) is based on printed tree according
|
||||
to parent -> child relationship. The tree is optional and not printed
|
||||
if partition specified (.e.g "lsblk -o+PKNAME /dev/sda1"), but old
|
||||
versions print the PKNAME also in this case.
|
||||
|
||||
Addresses: https://github.com/karelzak/util-linux/issues/813
|
||||
Signed-off-by: Karel Zak <kzak@redhat.com>
|
||||
---
|
||||
misc-utils/lsblk.c | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/misc-utils/lsblk.c b/misc-utils/lsblk.c
|
||||
index e95af7a..3ce6da7 100644
|
||||
--- a/misc-utils/lsblk.c
|
||||
+++ b/misc-utils/lsblk.c
|
||||
@@ -1019,6 +1019,9 @@ static void device_to_scols(
|
||||
DBG(DEV, ul_debugobj(dev, "add '%s' to scols", dev->name));
|
||||
ON_DBG(DEV, if (ul_path_isopen_dirfd(dev->sysfs)) ul_debugobj(dev, " %s ---> is open!", dev->name));
|
||||
|
||||
+ if (!parent && dev->wholedisk)
|
||||
+ parent = dev->wholedisk;
|
||||
+
|
||||
/* Do not print device more than one in --list mode */
|
||||
if (!(lsblk->flags & LSBLK_TREE) && dev->is_printed)
|
||||
return;
|
|
@ -1,51 +0,0 @@
|
|||
From: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
|
||||
Date: Sat, 14 May 2022 03:14:50 +0800
|
||||
Subject: fstrim shouldn't run inside a container
|
||||
|
||||
Container type implies the following products:
|
||||
openvz OpenVZ/Virtuozzo
|
||||
lxc Linux container implementation by LXC
|
||||
lxc-libvirt Linux container implementation by libvirt
|
||||
systemd-nspawn systemd's minimal container implementation, see systemd-nspawn(1)
|
||||
docker Docker container manager
|
||||
podman Podman container manager
|
||||
rkt rkt app container runtime
|
||||
wsl Windows Subsystem for Linux
|
||||
References:
|
||||
https://www.freedesktop.org/software/systemd/man/systemd.unit.html
|
||||
https://www.freedesktop.org/software/systemd/man/systemd-detect-virt.html#
|
||||
|
||||
Fix: #840
|
||||
Author: Eric Desrochers <eric.desrochers@canonical.com>
|
||||
Origin: upstream, https://github.com/karelzak/util-linux/commit/0280d31a2bd6292acd9a4b86d0f6b5feb275a618
|
||||
Bug: https://github.com/karelzak/util-linux/issues/840
|
||||
Bug-Ubuntu: https://launchpad.net/bugs/1589289
|
||||
---
|
||||
sys-utils/fstrim.service.in | 1 +
|
||||
sys-utils/fstrim.timer | 1 +
|
||||
2 files changed, 2 insertions(+)
|
||||
|
||||
diff --git a/sys-utils/fstrim.service.in b/sys-utils/fstrim.service.in
|
||||
index 516023e..c0090e1 100644
|
||||
--- a/sys-utils/fstrim.service.in
|
||||
+++ b/sys-utils/fstrim.service.in
|
||||
@@ -1,6 +1,7 @@
|
||||
[Unit]
|
||||
Description=Discard unused blocks on filesystems from /etc/fstab
|
||||
Documentation=man:fstrim(8)
|
||||
+ConditionVirtualization=!container
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
diff --git a/sys-utils/fstrim.timer b/sys-utils/fstrim.timer
|
||||
index 3a3762d..563dd45 100644
|
||||
--- a/sys-utils/fstrim.timer
|
||||
+++ b/sys-utils/fstrim.timer
|
||||
@@ -1,6 +1,7 @@
|
||||
[Unit]
|
||||
Description=Discard unused blocks once a week
|
||||
Documentation=man:fstrim
|
||||
+ConditionVirtualization=!container
|
||||
|
||||
[Timer]
|
||||
OnCalendar=weekly
|
|
@ -1,8 +0,0 @@
|
|||
sulogin-fallback-static-sh.patch
|
||||
sulogin-lockedpwd.patch
|
||||
prevent-fstrim-inside-container.patch
|
||||
umount-completion.patch
|
||||
libblkid-xfs-log-check-for-reg-xfs-on-more-sectors.patch
|
||||
lsblk-force-to-print-PKNAME-for-partition.patch
|
||||
hwclock_fix_audit_status.patch
|
||||
hwclock-make-glibc-2.31-compatible.patch
|
|
@ -1,26 +0,0 @@
|
|||
From: Michael Vogt <michael.vogt@ubuntu.com>
|
||||
Date: Sat, 14 May 2022 03:14:50 +0800
|
||||
Subject: Add support for /bin/static-sh as fallback if the regular shell
|
||||
fails to execute
|
||||
|
||||
Bug-Ubuntu: https://launchpad.net/bugs/505887
|
||||
---
|
||||
login-utils/sulogin.c | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/login-utils/sulogin.c b/login-utils/sulogin.c
|
||||
index 9091caf..2341cff 100644
|
||||
--- a/login-utils/sulogin.c
|
||||
+++ b/login-utils/sulogin.c
|
||||
@@ -795,6 +795,11 @@ static void sushell(struct passwd *pwd)
|
||||
xsetenv("SHELL", "/bin/sh", 1);
|
||||
execl("/bin/sh", profile ? "-sh" : "sh", NULL);
|
||||
warn(_("failed to execute %s"), "/bin/sh");
|
||||
+
|
||||
+ /* Fall back to static shell */
|
||||
+ setenv("SHELL", "/bin/static-sh", 1);
|
||||
+ execl("/bin/static-sh", profile ? "-sh" : "sh", NULL);
|
||||
+ warn(_("failed to execute %s"), "/bin/static-sh");
|
||||
}
|
||||
|
||||
static void usage(void)
|
|
@ -1,24 +0,0 @@
|
|||
From: Martin Pitt <martin.pitt@ubuntu.com>
|
||||
Date: Sat, 14 May 2022 03:14:50 +0800
|
||||
Subject: Make sure file systems can be fixed on machines with locked root
|
||||
accounts (as Ubuntu does by default). Don't require --force for sulogin.
|
||||
|
||||
Bug-Debian: https://bugs.debian.org/326678
|
||||
---
|
||||
login-utils/sulogin.c | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/login-utils/sulogin.c b/login-utils/sulogin.c
|
||||
index 2341cff..eb2c2a0 100644
|
||||
--- a/login-utils/sulogin.c
|
||||
+++ b/login-utils/sulogin.c
|
||||
@@ -983,7 +983,8 @@ int main(int argc, char **argv)
|
||||
const char *passwd = pwd->pw_passwd;
|
||||
const char *answer;
|
||||
int doshell = 0;
|
||||
- int deny = !opt_e && locked_account_password(pwd->pw_passwd);
|
||||
+ /* Ubuntu's root account is locked by default allow access without --force */
|
||||
+ int deny = 0;
|
||||
|
||||
doprompt(passwd, con, deny);
|
||||
|
|
@ -1,82 +0,0 @@
|
|||
From: =?utf-8?q?=C3=89tienne_Mollier?= <etienne.mollier@mailoo.org>
|
||||
Date: Sat, 14 May 2022 03:14:50 +0800
|
||||
Subject: Reimplement umount completion to not use gawk's gensub.
|
||||
|
||||
---
|
||||
bash-completion/umount | 61 ++++++++++++++++++++++++++++++--------------------
|
||||
1 file changed, 37 insertions(+), 24 deletions(-)
|
||||
|
||||
diff --git a/bash-completion/umount b/bash-completion/umount
|
||||
index 7fc2bd3..55d3102 100644
|
||||
--- a/bash-completion/umount
|
||||
+++ b/bash-completion/umount
|
||||
@@ -1,3 +1,33 @@
|
||||
+_umount_points_list()
|
||||
+{
|
||||
+ # List of characters to escape, shamelessly stolen from "scp" comp.
|
||||
+ local escape_chars='[][(){}<>\",:;^&!$=?`|\\'\'' \t\f\n\r\v]'
|
||||
+
|
||||
+ # This is most odd, but we are adding artifically a space after the
|
||||
+ # file name because, somehow, it enables proper escaping of dangerous
|
||||
+ # characters, e.g. "|" -> "\|". Without space, it is possible to get
|
||||
+ # either 0 "|" or 2 "\\|" backslashes, but 1 does not work. Also,
|
||||
+ # sticking to sub() and gsub(), instead of gensub(), allows to be AWK
|
||||
+ # implementation agnostic.
|
||||
+ findmnt -lno TARGET | awk '{
|
||||
+ if ($0 ~ "^"ENVIRON["HOME"]) {
|
||||
+ homeless = $0
|
||||
+ sub("^"ENVIRON["HOME"], "~", homeless)
|
||||
+ gsub("'"$escape_chars"'", "\\\\&", homeless)
|
||||
+ print homeless " "
|
||||
+ }
|
||||
+ if ($0 ~ "^"ENVIRON["PWD"]) {
|
||||
+ reldir = $0
|
||||
+ sub("^"ENVIRON["PWD"]"/?", "", reldir)
|
||||
+ gsub("'"$escape_chars"'", "\\\\&", reldir)
|
||||
+ print "./" reldir " "
|
||||
+ print reldir " "
|
||||
+ }
|
||||
+ gsub("'"$escape_chars"'", "\\\\&")
|
||||
+ print $0 " "
|
||||
+ }'
|
||||
+}
|
||||
+
|
||||
_umount_module()
|
||||
{
|
||||
local cur prev OPTS
|
||||
@@ -48,28 +78,11 @@ _umount_module()
|
||||
return 0
|
||||
;;
|
||||
esac
|
||||
-
|
||||
- local oldifs=$IFS
|
||||
- IFS=$'\n'
|
||||
- COMPREPLY=( $( compgen -W "$(findmnt -lno TARGET | awk \
|
||||
- '{
|
||||
- if ($0 ~ ENVIRON["HOME"]) {
|
||||
- homeless = $0
|
||||
- homeless = gensub(ENVIRON["HOME"], "\\\\~", "g", homeless)
|
||||
- homeless = gensub(/(\s)/, "\\\\\\1", "g", homeless)
|
||||
- print homeless
|
||||
- }
|
||||
- if ($0 ~ ENVIRON["PWD"]) {
|
||||
- reldir = $0
|
||||
- reldir = gensub(ENVIRON["PWD"]"/", "", "g", reldir)
|
||||
- reldir = gensub(/(\s)/, "\\\\\\1", "g", reldir)
|
||||
- print "./" reldir
|
||||
- print reldir
|
||||
- }
|
||||
- gsub(/\s/, "\\\\&")
|
||||
- print $0
|
||||
- }'
|
||||
- )" -- "$cur" ) )
|
||||
- IFS=$oldifs
|
||||
+ local IFS=$'\n'
|
||||
+ COMPREPLY=( $( compgen -W '$( _umount_points_list )' -- "$cur" ) )
|
||||
}
|
||||
-complete -F _umount_module umount
|
||||
+
|
||||
+# counteract the artificial addition of " " in _gen_mount_points() by
|
||||
+# disabling spaces automatically appended to the end of the file name
|
||||
+# completion via "-o nospace".
|
||||
+complete -F _umount_module -o nospace umount
|
|
@ -1 +1 @@
|
|||
3.0 (quilt)
|
||||
3.0 (native)
|
||||
|
|
Loading…
Reference in New Issue