Bug#916111: ruby-sigar FTBFS with glibc 2.28

2019-12-16 Thread Sebastien Bacher
tags 916111 patch
user 916111 ubuntu-de...@lists.ubuntu.com
usertags 916111 origin-ubuntu focal ubuntu-patch

thank you

The attached patch fixes the issue


diff -Nru ruby-sigar-0.7.3/debian/changelog ruby-sigar-0.7.3/debian/changelog
--- ruby-sigar-0.7.3/debian/changelog	2015-09-09 17:59:41.0 +0200
+++ ruby-sigar-0.7.3/debian/changelog	2019-12-16 15:39:55.0 +0100
@@ -1,3 +1,11 @@
+ruby-sigar (0.7.3-2) UNRELEASED; urgency=medium
+
+  * debian/patches/github-glibc-buildfix.patch:
+- build fix for glibc 2.28, backported upstream proposed fix from
+  https://github.com/hyperic/sigar/pull/127 (Closes: #916111)
+
+ -- Sebastien Bacher   Mon, 16 Dec 2019 15:31:01 +0100
+
 ruby-sigar (0.7.3-1) unstable; urgency=medium
 
   * Team upload.
diff -Nru ruby-sigar-0.7.3/debian/control ruby-sigar-0.7.3/debian/control
--- ruby-sigar-0.7.3/debian/control	2015-09-09 17:59:41.0 +0200
+++ ruby-sigar-0.7.3/debian/control	2018-03-01 10:36:16.0 +0100
@@ -1,7 +1,8 @@
 Source: ruby-sigar
 Section: ruby
 Priority: optional
-Maintainer: Debian Ruby Extras Maintainers 
+Maintainer: Ubuntu Developers 
+XSBC-Original-Maintainer: Debian Ruby Extras Maintainers 
 Uploaders: Pirate Praveen 
 Build-Depends: debhelper (>= 7.0.50~), gem2deb (>= 0.7.4~)
 Standards-Version: 3.9.6
diff -Nru ruby-sigar-0.7.3/debian/patches/github-glibc-buildfix.patch ruby-sigar-0.7.3/debian/patches/github-glibc-buildfix.patch
--- ruby-sigar-0.7.3/debian/patches/github-glibc-buildfix.patch	1970-01-01 01:00:00.0 +0100
+++ ruby-sigar-0.7.3/debian/patches/github-glibc-buildfix.patch	2019-12-16 15:30:29.0 +0100
@@ -0,0 +1,28 @@
+From b4e27b0b3167aac9a0f3f08dd2b2a0c0c9c4d797 Mon Sep 17 00:00:00 2001
+From: Logan Rosen 
+Date: Fri, 11 Jan 2019 22:52:21 -0500
+Subject: [PATCH] Fix build with glibc 2.28
+https://github.com/hyperic/sigar/pull/127
+---
+ src/os/linux/linux_sigar.c | 5 +
+ 1 file changed, 5 insertions(+)
+
+diff --git a/src/os/linux/linux_sigar.c b/src/os/linux/linux_sigar.c
+index a3fd2301..de9c960c 100644
+--- a/src/os/linux/linux_sigar.c
 b/src/os/linux/linux_sigar.c
+@@ -23,8 +23,13 @@
+ #include 
+ #include 
+ #include 
++#include 
+ #include 
+ 
++#ifdef __GNU_LIBRARY__
++#include 
++#endif
++
+ #include "sigar.h"
+ #include "sigar_private.h"
+ #include "sigar_util.h"
+
diff -Nru ruby-sigar-0.7.3/debian/patches/series ruby-sigar-0.7.3/debian/patches/series
--- ruby-sigar-0.7.3/debian/patches/series	2015-09-09 17:59:41.0 +0200
+++ ruby-sigar-0.7.3/debian/patches/series	2019-12-16 14:24:50.0 +0100
@@ -1,2 +1,3 @@
 mips-TIOCGETC-undeclared.patch
 gnu89-inline.diff
+github-glibc-buildfix.patch


Bug#916111: ruby-sigar FTBFS with glibc 2.28

2018-12-10 Thread Adrian Bunk
Source: ruby-sigar
Version: 0.7.3-1
Severity: serious
Tags: ftbfs buster sid

https://tests.reproducible-builds.org/debian/rb-pkg/unstable/amd64/ruby-sigar.html

...
linux_sigar.c: In function 'get_iostat_proc_dstat':
linux_sigar.c:1177:22: warning: implicit declaration of function 'major' 
[-Wimplicit-function-declaration]
 #define ST_MAJOR(sb) major((sb).st_rdev)
  ^
linux_sigar.c:1253:26: note: in expansion of macro 'ST_MAJOR'
  ST_MAJOR(sb), ST_MINOR(sb));
  ^~~~
linux_sigar.c:1178:22: warning: implicit declaration of function 'minor'; did 
you mean 'mknod'? [-Wimplicit-function-declaration]
 #define ST_MINOR(sb) minor((sb).st_rdev)
  ^
linux_sigar.c:1253:40: note: in expansion of macro 'ST_MINOR'
  ST_MAJOR(sb), ST_MINOR(sb));
^~~~
linux_sigar.c:1177:22: error: called object 'major' is not a function or 
function pointer
 #define ST_MAJOR(sb) major((sb).st_rdev)
  ^
linux_sigar.c:1266:23: note: in expansion of macro 'ST_MAJOR'
 if ((major == ST_MAJOR(sb)) &&
   ^~~~
linux_sigar.c:1261:23: note: declared here
 unsigned long major, minor;
   ^
linux_sigar.c:1178:22: error: called object 'minor' is not a function or 
function pointer
 #define ST_MINOR(sb) minor((sb).st_rdev)
  ^
linux_sigar.c:1267:24: note: in expansion of macro 'ST_MINOR'
 ((minor == ST_MINOR(sb)) || (minor == 0)))
^~~~
linux_sigar.c:1261:30: note: declared here
 unsigned long major, minor;
  ^
linux_sigar.c:1178:22: error: called object 'minor' is not a function or 
function pointer
 #define ST_MINOR(sb) minor((sb).st_rdev)
  ^
linux_sigar.c:1318:26: note: in expansion of macro 'ST_MINOR'
 if (minor == ST_MINOR(sb)) {
  ^~~~
linux_sigar.c:1261:30: note: declared here
 unsigned long major, minor;
  ^
linux_sigar.c: In function 'get_iostat_procp':
linux_sigar.c:1177:22: error: called object 'major' is not a function or 
function pointer
 #define ST_MAJOR(sb) major((sb).st_rdev)
  ^
linux_sigar.c:1369:23: note: in expansion of macro 'ST_MAJOR'
 if ((major == ST_MAJOR(sb)) && (minor == ST_MINOR(sb))) {
   ^~~~
linux_sigar.c:1364:23: note: declared here
 unsigned long major, minor;
   ^
linux_sigar.c:1178:22: error: called object 'minor' is not a function or 
function pointer
 #define ST_MINOR(sb) minor((sb).st_rdev)
  ^
linux_sigar.c:1369:50: note: in expansion of macro 'ST_MINOR'
 if ((major == ST_MAJOR(sb)) && (minor == ST_MINOR(sb))) {
  ^~~~
linux_sigar.c:1364:30: note: declared here
 unsigned long major, minor;
  ^