changed debian/source/format to native

This commit is contained in:
openKylinBot 2022-05-14 03:14:50 +08:00
parent e22d7b9def
commit 83a3d58e79
10 changed files with 1 additions and 453 deletions

View File

@ -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;

View File

@ -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

View File

@ -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)) {

View File

@ -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;

View File

@ -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

View File

@ -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

View File

@ -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)

View File

@ -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);

View File

@ -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

View File

@ -1 +1 @@
3.0 (quilt)
3.0 (native)