From 2c863f31f7626bd8df60efafc065eea9b76ebb73ea27795f421ded553b4e5ffe Mon Sep 17 00:00:00 2001 From: Thorsten Kukuk Date: Mon, 10 Feb 2020 11:27:06 +0000 Subject: [PATCH] Accepting request 772350 from home:dimstar:Factory - Update to version 1.31.1: NOTE: There are a few new config parameters I added as 'unset' to the various .config files. They might need to be tweaked a bit This version, together with the patch added, builds successfully against glibc 2.31 (Staging_B) - so would be quite important to get submitted to Factory soon OBS-URL: https://build.opensuse.org/request/show/772350 OBS-URL: https://build.opensuse.org/package/show/Base:System/busybox?expand=0&rev=59 --- busybox-1.30.1.tar.bz2 | 3 -- busybox-1.31.1.tar.bz2 | 3 ++ busybox-container.config | 7 ++++ busybox-no-stime.patch | 90 ++++++++++++++++++++++++++++++++++++++++ busybox-static.config | 8 ++++ busybox.changes | 11 +++++ busybox.config | 8 ++++ busybox.spec | 13 +++--- 8 files changed, 135 insertions(+), 8 deletions(-) delete mode 100644 busybox-1.30.1.tar.bz2 create mode 100644 busybox-1.31.1.tar.bz2 create mode 100644 busybox-no-stime.patch diff --git a/busybox-1.30.1.tar.bz2 b/busybox-1.30.1.tar.bz2 deleted file mode 100644 index 4dae371..0000000 --- a/busybox-1.30.1.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3d1d04a4dbd34048f4794815a5c48ebb9eb53c5277e09ffffc060323b95dfbdc -size 7793781 diff --git a/busybox-1.31.1.tar.bz2 b/busybox-1.31.1.tar.bz2 new file mode 100644 index 0000000..278d331 --- /dev/null +++ b/busybox-1.31.1.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d0f940a72f648943c1f2211e0e3117387c31d765137d92bd8284a3fb9752a998 +size 2430221 diff --git a/busybox-container.config b/busybox-container.config index ea5bbd7..be1d886 100644 --- a/busybox-container.config +++ b/busybox-container.config @@ -1175,3 +1175,10 @@ CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE=0 # CONFIG_FEATURE_IPC_SYSLOG is not set CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=0 # CONFIG_FEATURE_KMSG_SYSLOG is not set + +# CONFIG_FEATURE_SYSLOG_INFO is not set +# CONFIG_FEATURE_MDEV_DAEMON is not set +# CONFIG_I2CTRANSFER is not set +# CONFIG_TS is not set +# CONFIG_FEATURE_TFTP_HPA_COMPAT is not set +# CONFIG_FEATURE_SH_MATH_BASE is not set diff --git a/busybox-no-stime.patch b/busybox-no-stime.patch new file mode 100644 index 0000000..b55f70d --- /dev/null +++ b/busybox-no-stime.patch @@ -0,0 +1,90 @@ +From d3539be8f27b8cbfdfee460fe08299158f08bcd9 Mon Sep 17 00:00:00 2001 +From: Alistair Francis +Date: Tue, 19 Nov 2019 13:06:40 +0100 +Subject: Remove stime() function calls + +stime() has been deprecated in glibc 2.31 and replaced with +clock_settime(). Let's replace the stime() function calls with +clock_settime() in preperation. + +function old new delta +rdate_main 197 224 +27 +clock_settime - 27 +27 +date_main 926 941 +15 +stime 37 - -37 +------------------------------------------------------------------------------ +(add/remove: 2/2 grow/shrink: 2/0 up/down: 69/-37) Total: 32 bytes + +Signed-off-by: Alistair Francis +Signed-off-by: Denys Vlasenko +--- + coreutils/date.c | 6 +++++- + libbb/missing_syscalls.c | 8 -------- + util-linux/rdate.c | 8 ++++++-- + 3 files changed, 11 insertions(+), 11 deletions(-) + +Index: busybox-1.31.1/coreutils/date.c +=================================================================== +--- busybox-1.31.1.orig/coreutils/date.c ++++ busybox-1.31.1/coreutils/date.c +@@ -279,6 +279,9 @@ int date_main(int argc UNUSED_PARAM, cha + time(&ts.tv_sec); + #endif + } ++#if !ENABLE_FEATURE_DATE_NANO ++ ts.tv_nsec = 0; ++#endif + localtime_r(&ts.tv_sec, &tm_time); + + /* If date string is given, update tm_time, and maybe set date */ +@@ -301,9 +304,10 @@ int date_main(int argc UNUSED_PARAM, cha + if (date_str[0] != '@') + tm_time.tm_isdst = -1; + ts.tv_sec = validate_tm_time(date_str, &tm_time); ++ ts.tv_nsec = 0; + + /* if setting time, set it */ +- if ((opt & OPT_SET) && stime(&ts.tv_sec) < 0) { ++ if ((opt & OPT_SET) && clock_settime(CLOCK_REALTIME, &ts) < 0) { + bb_perror_msg("can't set date"); + } + } +Index: busybox-1.31.1/libbb/missing_syscalls.c +=================================================================== +--- busybox-1.31.1.orig/libbb/missing_syscalls.c ++++ busybox-1.31.1/libbb/missing_syscalls.c +@@ -15,14 +15,6 @@ pid_t getsid(pid_t pid) + return syscall(__NR_getsid, pid); + } + +-int stime(const time_t *t) +-{ +- struct timeval tv; +- tv.tv_sec = *t; +- tv.tv_usec = 0; +- return settimeofday(&tv, NULL); +-} +- + int sethostname(const char *name, size_t len) + { + return syscall(__NR_sethostname, name, len); +Index: busybox-1.31.1/util-linux/rdate.c +=================================================================== +--- busybox-1.31.1.orig/util-linux/rdate.c ++++ busybox-1.31.1/util-linux/rdate.c +@@ -95,9 +95,13 @@ int rdate_main(int argc UNUSED_PARAM, ch + if (!(flags & 2)) { /* no -p (-s may be present) */ + if (time(NULL) == remote_time) + bb_error_msg("current time matches remote time"); +- else +- if (stime(&remote_time) < 0) ++ else { ++ struct timespec ts; ++ ts.tv_sec = remote_time; ++ ts.tv_nsec = 0; ++ if (clock_settime(CLOCK_REALTIME, &ts) < 0) + bb_perror_msg_and_die("can't set time of day"); ++ } + } + + if (flags != 1) /* not lone -s */ diff --git a/busybox-static.config b/busybox-static.config index 28030cc..8c26c61 100644 --- a/busybox-static.config +++ b/busybox-static.config @@ -1182,3 +1182,11 @@ CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE=256 # CONFIG_FEATURE_IPC_SYSLOG is not set CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=0 CONFIG_FEATURE_KMSG_SYSLOG=y + +# CONFIG_FEATURE_SYSLOG_INFO is not set +# CONFIG_FEATURE_MDEV_DAEMON is not set +# CONFIG_I2CTRANSFER is not set +# CONFIG_TS is not set +# CONFIG_FEATURE_TFTP_HPA_COMPAT is not set +# CONFIG_FEATURE_SH_MATH_BASE is not set + diff --git a/busybox.changes b/busybox.changes index ea1cda8..5442d05 100644 --- a/busybox.changes +++ b/busybox.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Sat Feb 8 14:38:51 UTC 2020 - Dominique Leuenberger + +- Update to version 1.31.1: + + Bug fix release. 1.30.1 has fixes for dc, ash (PS1 expansion + fix), hush, dpkg-deb, telnet and wget. +- Changes from version 1.31.0: + + many bugfixes and new features. +- Add busybox-no-stime.patch: stime() has been deprecated in glibc + 2.31 and replaced with clock_settime(). + ------------------------------------------------------------------- Wed Oct 23 22:35:14 CEST 2019 - kukuk@suse.de diff --git a/busybox.config b/busybox.config index 4a3c655..32d590a 100644 --- a/busybox.config +++ b/busybox.config @@ -1182,3 +1182,11 @@ CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE=256 # CONFIG_FEATURE_IPC_SYSLOG is not set CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=0 CONFIG_FEATURE_KMSG_SYSLOG=y + +# CONFIG_FEATURE_SYSLOG_INFO is not set +# CONFIG_FEATURE_MDEV_DAEMON is not set +# CONFIG_I2CTRANSFER is not set +# CONFIG_TS is not set +# CONFIG_FEATURE_TFTP_HPA_COMPAT is not set +# CONFIG_FEATURE_SH_MATH_BASE is not set + diff --git a/busybox.spec b/busybox.spec index f979109..d64d93a 100644 --- a/busybox.spec +++ b/busybox.spec @@ -1,7 +1,7 @@ # # spec file for package busybox # -# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2020 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,20 +17,22 @@ Name: busybox -Version: 1.30.1 +Version: 1.31.1 Release: 0 Summary: Minimalist variant of UNIX utilities linked in a single executable License: GPL-2.0-or-later Group: System/Base -Url: http://www.busybox.net/ +URL: http://www.busybox.net/ Source: http://busybox.net/downloads/%{name}-%{version}.tar.bz2 Source1: BusyBox.1 Source2: busybox.config Source3: busybox-static.config Source4: busybox-container.config Source5: man.conf +# Upstream patches +Patch0: busybox-no-stime.patch # other patches -Patch: busybox.install.patch +Patch100: busybox.install.patch Provides: useradd_or_adduser_dep BuildRequires: glibc-devel-static BuildRequires: libtirpc-devel @@ -64,7 +66,8 @@ makes sense in a container. %prep %setup -q -%patch -p0 +%patch0 -p1 +%patch100 -p0 cp -a %{SOURCE1} docs/ find "(" -name CVS -o -name .cvsignore -o -name .svn -o -name .gitignore ")" \ -exec rm -Rf {} +