GNU bug report logs - #41816
[PATCH 0/4] Fix busybox.

Previous Next

Package: guix-patches;

Reported by: Danny Milosavljevic <dannym <at> scratchpost.org>

Date: Thu, 11 Jun 2020 21:07:01 UTC

Severity: normal

Tags: patch

Done: Danny Milosavljevic <dannym <at> scratchpost.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 41816 in the body.
You can then email your comments to 41816 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#41816; Package guix-patches. (Thu, 11 Jun 2020 21:07:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Danny Milosavljevic <dannym <at> scratchpost.org>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Thu, 11 Jun 2020 21:07:01 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Danny Milosavljevic <dannym <at> scratchpost.org>
To: guix-patches <at> gnu.org
Cc: Danny Milosavljevic <dannym <at> scratchpost.org>
Subject: [PATCH 0/4] Fix busybox.
Date: Thu, 11 Jun 2020 23:05:40 +0200
Danny Milosavljevic (4):
  gnu: busybox: Make build reproducible.
  gnu: busybox: Update to 1.31.1.
  gnu: busybox: Fix build with new glibc.
  gnu: busybox: Fix test.

 gnu/local.mk                                  |  1 +
 gnu/packages/busybox.scm                      | 14 +++-
 ...box-1.31.1-fix-build-with-glibc-2.31.patch | 68 +++++++++++++++++++
 3 files changed, 81 insertions(+), 2 deletions(-)
 create mode 100644 gnu/packages/patches/busybox-1.31.1-fix-build-with-glibc-2.31.patch





Information forwarded to guix-patches <at> gnu.org:
bug#41816; Package guix-patches. (Thu, 11 Jun 2020 21:09:01 GMT) Full text and rfc822 format available.

Message #8 received at 41816 <at> debbugs.gnu.org (full text, mbox):

From: Danny Milosavljevic <dannym <at> scratchpost.org>
To: 41816 <at> debbugs.gnu.org
Cc: Danny Milosavljevic <dannym <at> scratchpost.org>
Subject: [PATCH 1/4] gnu: busybox: Make build reproducible.
Date: Thu, 11 Jun 2020 23:08:45 +0200
* gnu/packages/busybox.scm (busybox)[arguments]<#:phases>[disable-timestamps]:
New phase.
---
 gnu/packages/busybox.scm | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/gnu/packages/busybox.scm b/gnu/packages/busybox.scm
index e3431aa31b..0d692c6586 100644
--- a/gnu/packages/busybox.scm
+++ b/gnu/packages/busybox.scm
@@ -45,6 +45,10 @@
     (arguments
      '(#:phases
        (modify-phases %standard-phases
+         (add-before 'configure 'disable-timestamps
+           (lambda _
+             (setenv "KCONFIG_NOTIMESTAMP" "1")
+             #t))
          (add-before 'configure 'disable-taskset
            ;; This feature fails its tests in the build environment,
            ;; was default 'n' until after 1.26.2.




Information forwarded to guix-patches <at> gnu.org:
bug#41816; Package guix-patches. (Thu, 11 Jun 2020 21:09:02 GMT) Full text and rfc822 format available.

Message #11 received at 41816 <at> debbugs.gnu.org (full text, mbox):

From: Danny Milosavljevic <dannym <at> scratchpost.org>
To: 41816 <at> debbugs.gnu.org
Cc: Danny Milosavljevic <dannym <at> scratchpost.org>
Subject: [PATCH 2/4] gnu: busybox: Update to 1.31.1.
Date: Thu, 11 Jun 2020 23:08:46 +0200
* gnu/packages/busybox.scm (busybox): Update to 1.31.1.
---
 gnu/packages/busybox.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/busybox.scm b/gnu/packages/busybox.scm
index 0d692c6586..61a382e854 100644
--- a/gnu/packages/busybox.scm
+++ b/gnu/packages/busybox.scm
@@ -32,7 +32,7 @@
 (define-public busybox
   (package
     (name "busybox")
-    (version "1.29.3")
+    (version "1.31.1")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -40,7 +40,7 @@
                     version ".tar.bz2"))
               (sha256
                (base32
-                "1dzg45vgy2w1xcd3p6h8d76ykhabbvk1h0lf8yb24ikrwlv8cr4p"))))
+                "1659aabzp8w4hayr4z8kcpbk2z1q2wqhw7i1yb0l72b45ykl1yfh"))))
     (build-system gnu-build-system)
     (arguments
      '(#:phases




Information forwarded to guix-patches <at> gnu.org:
bug#41816; Package guix-patches. (Thu, 11 Jun 2020 21:09:02 GMT) Full text and rfc822 format available.

Message #14 received at 41816 <at> debbugs.gnu.org (full text, mbox):

From: Danny Milosavljevic <dannym <at> scratchpost.org>
To: 41816 <at> debbugs.gnu.org
Cc: Danny Milosavljevic <dannym <at> scratchpost.org>
Subject: [PATCH 4/4] gnu: busybox: Fix test.
Date: Thu, 11 Jun 2020 23:08:48 +0200
* gnu/packages/busybox.scm (busybox)[arguments]<#:phases>[check]: Fix test.
---
 gnu/packages/busybox.scm | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/gnu/packages/busybox.scm b/gnu/packages/busybox.scm
index dce5ccf766..305a61f40b 100644
--- a/gnu/packages/busybox.scm
+++ b/gnu/packages/busybox.scm
@@ -82,6 +82,9 @@
              (substitute* "testsuite/date/date-works-1"
                (("/bin/date") (which "date")))
 
+             (substitute* "testsuite/start-stop-daemon.tests"
+              (("/bin/false") (which "false")))
+
              ;; The pidof tests assume that pid 1 is called "init" but that is not
              ;; true in guix build environment
              (substitute* "testsuite/pidof.tests"




Information forwarded to guix-patches <at> gnu.org:
bug#41816; Package guix-patches. (Thu, 11 Jun 2020 21:10:02 GMT) Full text and rfc822 format available.

Message #17 received at 41816 <at> debbugs.gnu.org (full text, mbox):

From: Danny Milosavljevic <dannym <at> scratchpost.org>
To: 41816 <at> debbugs.gnu.org
Cc: Danny Milosavljevic <dannym <at> scratchpost.org>
Subject: [PATCH 3/4] gnu: busybox: Fix build with new glibc.
Date: Thu, 11 Jun 2020 23:08:47 +0200
* gnu/packages/patches/busybox-1.31.1-fix-build-with-glibc-2.31.patch: New
file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/busybox.scm (busybox)[source]: Use it.
---
 gnu/local.mk                                  |  1 +
 gnu/packages/busybox.scm                      |  5 +-
 ...box-1.31.1-fix-build-with-glibc-2.31.patch | 68 +++++++++++++++++++
 3 files changed, 73 insertions(+), 1 deletion(-)
 create mode 100644 gnu/packages/patches/busybox-1.31.1-fix-build-with-glibc-2.31.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 76d6b5deba..221e3b12e4 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -805,6 +805,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/blender-2.79-newer-ffmpeg.patch		\
   %D%/packages/patches/blender-2.79-python-3.7-fix.patch	\
   %D%/packages/patches/bluez-CVE-2020-0556.patch		\
+  %D%/packages/patches/busybox-1.31.1-fix-build-with-glibc-2.31.patch \
   %D%/packages/patches/byobu-writable-status.patch		\
   %D%/packages/patches/calibre-msgpack-compat.patch		\
   %D%/packages/patches/calibre-no-updates-dialog.patch		\
diff --git a/gnu/packages/busybox.scm b/gnu/packages/busybox.scm
index 61a382e854..dce5ccf766 100644
--- a/gnu/packages/busybox.scm
+++ b/gnu/packages/busybox.scm
@@ -40,7 +40,10 @@
                     version ".tar.bz2"))
               (sha256
                (base32
-                "1659aabzp8w4hayr4z8kcpbk2z1q2wqhw7i1yb0l72b45ykl1yfh"))))
+                "1659aabzp8w4hayr4z8kcpbk2z1q2wqhw7i1yb0l72b45ykl1yfh"))
+              (patches
+               (search-patches
+                "busybox-1.31.1-fix-build-with-glibc-2.31.patch"))))
     (build-system gnu-build-system)
     (arguments
      '(#:phases
diff --git a/gnu/packages/patches/busybox-1.31.1-fix-build-with-glibc-2.31.patch b/gnu/packages/patches/busybox-1.31.1-fix-build-with-glibc-2.31.patch
new file mode 100644
index 0000000000..1518df067f
--- /dev/null
+++ b/gnu/packages/patches/busybox-1.31.1-fix-build-with-glibc-2.31.patch
@@ -0,0 +1,68 @@
+See: https://bugs.gentoo.org/708350
+Author: Patrick McLean <patrick.mclean <at> sony.com>
+Date: 2020-02-06 23:06:22 +0000
+diff --git a/coreutils/date.c b/coreutils/date.c
+index 3414d38ae..4ade6abb4 100644
+--- a/coreutils/date.c
++++ b/coreutils/date.c
+@@ -279,6 +279,9 @@ int date_main(int argc UNUSED_PARAM, char **argv)
+ 		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, char **argv)
+ 		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");
+ 		}
+ 	}
+diff --git a/libbb/missing_syscalls.c b/libbb/missing_syscalls.c
+index 87cf59b3d..dc40d9155 100644
+--- a/libbb/missing_syscalls.c
++++ b/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);
+diff --git a/util-linux/rdate.c b/util-linux/rdate.c
+index 70f829e7f..878375d78 100644
+--- a/util-linux/rdate.c
++++ b/util-linux/rdate.c
+@@ -95,9 +95,13 @@ int rdate_main(int argc UNUSED_PARAM, char **argv)
+ 	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 */




Information forwarded to guix-patches <at> gnu.org:
bug#41816; Package guix-patches. (Sun, 14 Jun 2020 10:33:02 GMT) Full text and rfc822 format available.

Message #20 received at 41816 <at> debbugs.gnu.org (full text, mbox):

From: Efraim Flashner <efraim <at> flashner.co.il>
To: Danny Milosavljevic <dannym <at> scratchpost.org>
Cc: 41816 <at> debbugs.gnu.org
Subject: Re: [bug#41816] [PATCH 0/4] Fix busybox.
Date: Sun, 14 Jun 2020 13:31:28 +0300
[Message part 1 (text/plain, inline)]
On Thu, Jun 11, 2020 at 11:05:40PM +0200, Danny Milosavljevic wrote:
> Danny Milosavljevic (4):
>   gnu: busybox: Make build reproducible.
>   gnu: busybox: Update to 1.31.1.
>   gnu: busybox: Fix build with new glibc.
>   gnu: busybox: Fix test.
> 
>  gnu/local.mk                                  |  1 +
>  gnu/packages/busybox.scm                      | 14 +++-
>  ...box-1.31.1-fix-build-with-glibc-2.31.patch | 68 +++++++++++++++++++
>  3 files changed, 81 insertions(+), 2 deletions(-)
>  create mode 100644 gnu/packages/patches/busybox-1.31.1-fix-build-with-glibc-2.31.patch

It looks like patches 2-4 should all be combined, since without patch 3
or 4 the update to 1.31.1 doesn't produce a working package at the end.

-- 
Efraim Flashner   <efraim <at> flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#41816; Package guix-patches. (Sun, 14 Jun 2020 10:38:02 GMT) Full text and rfc822 format available.

Message #23 received at 41816 <at> debbugs.gnu.org (full text, mbox):

From: Mathieu Othacehe <othacehe <at> gnu.org>
To: Danny Milosavljevic <dannym <at> scratchpost.org>
Cc: 41816 <at> debbugs.gnu.org
Subject: Re: [bug#41816] [PATCH 0/4] Fix busybox.
Date: Sun, 14 Jun 2020 12:37:29 +0200
Hello Danny,

>  gnu/local.mk                                  |  1 +
>  gnu/packages/busybox.scm                      | 14 +++-
>  ...box-1.31.1-fix-build-with-glibc-2.31.patch | 68 +++++++++++++++++++
>  3 files changed, 81 insertions(+), 2 deletions(-)
>  create mode 100644 gnu/packages/patches/busybox-1.31.1-fix-build-with-glibc-2.31.patch

You may want to merge patches 2-4 as Efraim noted, otherwise this looks
fine to me :)

Thanks,

Mathieu




Reply sent to Danny Milosavljevic <dannym <at> scratchpost.org>:
You have taken responsibility. (Sun, 14 Jun 2020 11:07:02 GMT) Full text and rfc822 format available.

Notification sent to Danny Milosavljevic <dannym <at> scratchpost.org>:
bug acknowledged by developer. (Sun, 14 Jun 2020 11:07:02 GMT) Full text and rfc822 format available.

Message #28 received at 41816-done <at> debbugs.gnu.org (full text, mbox):

From: Danny Milosavljevic <dannym <at> scratchpost.org>
To: 41816-done <at> debbugs.gnu.org
Subject: [PATCH 0/4] Fix busybox.
Date: Sun, 14 Jun 2020 13:06:20 +0200
[Message part 1 (text/plain, inline)]
Patchset squashed and merged as commits c37dc30e61c56de1815750e52186c6de5be38ee9
and 4fdf3a2e6ef0d635e79aaf912c6997d2cd978835.
[Message part 2 (application/pgp-signature, inline)]

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sun, 12 Jul 2020 11:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 3 years and 301 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.