Bug#955368: marked as done (busybox FTBFS with glibc 2.31 (references to obsolete 'stime'))

2020-07-13 Thread Debian Bug Tracking System
Your message dated Mon, 13 Jul 2020 21:18:55 +
with message-id 
and subject line Bug#955368: fixed in busybox 1:1.30.1-5
has caused the Debian Bug report #955368,
regarding busybox FTBFS with glibc 2.31 (references to obsolete 'stime')
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
955368: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=955368
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Package: busybox
Version: 1:1.30.1-4
Severity: important
Tags: patch
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu focal ubuntu-patch

Dear maintainers,

In Ubuntu, the busybox package has begun to FTBFS because Ubuntu has moved
to glibc 2.31, which has obsoleted the stime() function and busybox still
calls this function.

The attached patch has been uploaded to Ubuntu, replacing the calls to
stime() with clock_settime(), per the glibc upstream documentation.

This is not a serious bug today in Debian because glibc 2.31 is only in
experimental, but at some point it will become a serious FTBFS.

Thanks,
-- 
Steve Langasek   Give me a lever long enough and a Free OS
Debian Developer   to set it on, and I can move the world.
Ubuntu Developer   https://www.debian.org/
slanga...@ubuntu.com vor...@debian.org
diff -Nru busybox-1.30.1/debian/patches/series 
busybox-1.30.1/debian/patches/series
--- busybox-1.30.1/debian/patches/series2019-05-23 06:37:05.0 
-0700
+++ busybox-1.30.1/debian/patches/series2020-03-30 07:43:36.0 
-0700
@@ -14,3 +14,4 @@
 temp-deb-installer-hack.patch
 install-readlink-in-bin.patch
 ignore-ip-valid_lft.patch
+stime-is-clock_settime.patch
diff -Nru busybox-1.30.1/debian/patches/stime-is-clock_settime.patch 
busybox-1.30.1/debian/patches/stime-is-clock_settime.patch
--- busybox-1.30.1/debian/patches/stime-is-clock_settime.patch  1969-12-31 
16:00:00.0 -0800
+++ busybox-1.30.1/debian/patches/stime-is-clock_settime.patch  2020-03-30 
08:37:00.0 -0700
@@ -0,0 +1,46 @@
+Description: stime is obsolete, use clock_settime instead
+Author: Steve Langasek 
+Last-Update: 2020-03-30
+
+Index: busybox-1.30.1/util-linux/rdate.c
+===
+--- busybox-1.30.1.orig/util-linux/rdate.c
 busybox-1.30.1/util-linux/rdate.c
+@@ -79,11 +79,13 @@
+ int rdate_main(int argc UNUSED_PARAM, char **argv)
+ {
+   time_t remote_time;
++  struct timespec remote_timespec = { 0, 0 };
+   unsigned flags;
+ 
+   flags = getopt32(argv, "^" "sp" "\0" "-1");
+ 
+   remote_time = askremotedate(argv[optind]);
++  remote_timespec.tv_sec = remote_time;
+ 
+   /* Manpages of various Unixes are confusing. What happens is:
+* (no opts) set and print time
+@@ -96,7 +98,7 @@
+   if (time(NULL) == remote_time)
+   bb_error_msg("current time matches remote time");
+   else
+-  if (stime(_time) < 0)
++  if (clock_settime(CLOCK_REALTIME, _timespec) < 0)
+   bb_perror_msg_and_die("can't set time of day");
+   }
+ 
+Index: busybox-1.30.1/coreutils/date.c
+===
+--- busybox-1.30.1.orig/coreutils/date.c
 busybox-1.30.1/coreutils/date.c
+@@ -303,7 +303,9 @@
+   ts.tv_sec = validate_tm_time(date_str, _time);
+ 
+   /* if setting time, set it */
+-  if ((opt & OPT_SET) && stime(_sec) < 0) {
++  if ((opt & OPT_SET)
++  && clock_settime(CLOCK_REALTIME, _sec) < 0)
++  {
+   bb_perror_msg("can't set date");
+   }
+   }
--- End Message ---
--- Begin Message ---
Source: busybox
Source-Version: 1:1.30.1-5
Done: Aurelien Jarno 

We believe that the bug you reported is fixed in the latest version of
busybox, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 955...@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Aurelien Jarno  (supplier of updated busybox package)

(This message was generated automatically at their re

Re: busybox FTBFS with glibc 2.31 (references to obsolete 'stime')

2020-07-13 Thread Aurelien Jarno
Hi,

On 2020-03-30 09:17, Steve Langasek wrote:
> Package: busybox
> Version: 1:1.30.1-4
> Severity: important
> Tags: patch
> User: ubuntu-de...@lists.ubuntu.com
> Usertags: origin-ubuntu focal ubuntu-patch
> 
> Dear maintainers,
> 
> In Ubuntu, the busybox package has begun to FTBFS because Ubuntu has moved
> to glibc 2.31, which has obsoleted the stime() function and busybox still
> calls this function.
> 
> The attached patch has been uploaded to Ubuntu, replacing the calls to
> stime() with clock_settime(), per the glibc upstream documentation.
> 
> This is not a serious bug today in Debian because glibc 2.31 is only in
> experimental, but at some point it will become a serious FTBFS.

It would be nice if this bug could be fixed as it is currently blocking
the glibc 2.31 transition.

Thanks,
Aurelien

-- 
Aurelien Jarno  GPG: 4096R/1DDD8C9B
aurel...@aurel32.net http://www.aurel32.net



Bug#955368: busybox FTBFS with glibc 2.31 (references to obsolete 'stime')

2020-03-30 Thread Steve Langasek
Package: busybox
Version: 1:1.30.1-4
Severity: important
Tags: patch
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu focal ubuntu-patch

Dear maintainers,

In Ubuntu, the busybox package has begun to FTBFS because Ubuntu has moved
to glibc 2.31, which has obsoleted the stime() function and busybox still
calls this function.

The attached patch has been uploaded to Ubuntu, replacing the calls to
stime() with clock_settime(), per the glibc upstream documentation.

This is not a serious bug today in Debian because glibc 2.31 is only in
experimental, but at some point it will become a serious FTBFS.

Thanks,
-- 
Steve Langasek   Give me a lever long enough and a Free OS
Debian Developer   to set it on, and I can move the world.
Ubuntu Developer   https://www.debian.org/
slanga...@ubuntu.com vor...@debian.org
diff -Nru busybox-1.30.1/debian/patches/series 
busybox-1.30.1/debian/patches/series
--- busybox-1.30.1/debian/patches/series2019-05-23 06:37:05.0 
-0700
+++ busybox-1.30.1/debian/patches/series2020-03-30 07:43:36.0 
-0700
@@ -14,3 +14,4 @@
 temp-deb-installer-hack.patch
 install-readlink-in-bin.patch
 ignore-ip-valid_lft.patch
+stime-is-clock_settime.patch
diff -Nru busybox-1.30.1/debian/patches/stime-is-clock_settime.patch 
busybox-1.30.1/debian/patches/stime-is-clock_settime.patch
--- busybox-1.30.1/debian/patches/stime-is-clock_settime.patch  1969-12-31 
16:00:00.0 -0800
+++ busybox-1.30.1/debian/patches/stime-is-clock_settime.patch  2020-03-30 
08:37:00.0 -0700
@@ -0,0 +1,46 @@
+Description: stime is obsolete, use clock_settime instead
+Author: Steve Langasek 
+Last-Update: 2020-03-30
+
+Index: busybox-1.30.1/util-linux/rdate.c
+===
+--- busybox-1.30.1.orig/util-linux/rdate.c
 busybox-1.30.1/util-linux/rdate.c
+@@ -79,11 +79,13 @@
+ int rdate_main(int argc UNUSED_PARAM, char **argv)
+ {
+   time_t remote_time;
++  struct timespec remote_timespec = { 0, 0 };
+   unsigned flags;
+ 
+   flags = getopt32(argv, "^" "sp" "\0" "-1");
+ 
+   remote_time = askremotedate(argv[optind]);
++  remote_timespec.tv_sec = remote_time;
+ 
+   /* Manpages of various Unixes are confusing. What happens is:
+* (no opts) set and print time
+@@ -96,7 +98,7 @@
+   if (time(NULL) == remote_time)
+   bb_error_msg("current time matches remote time");
+   else
+-  if (stime(_time) < 0)
++  if (clock_settime(CLOCK_REALTIME, _timespec) < 0)
+   bb_perror_msg_and_die("can't set time of day");
+   }
+ 
+Index: busybox-1.30.1/coreutils/date.c
+===
+--- busybox-1.30.1.orig/coreutils/date.c
 busybox-1.30.1/coreutils/date.c
+@@ -303,7 +303,9 @@
+   ts.tv_sec = validate_tm_time(date_str, _time);
+ 
+   /* if setting time, set it */
+-  if ((opt & OPT_SET) && stime(_sec) < 0) {
++  if ((opt & OPT_SET)
++  && clock_settime(CLOCK_REALTIME, _sec) < 0)
++  {
+   bb_perror_msg("can't set date");
+   }
+   }