[pkg-go] Bug#820466: Bug#820466: golang-github-shirou-gopsutil: diff for NMU version 2.1-2.1

Martín Ferrari tincho at tincho.org
Tue Nov 15 12:21:27 UTC 2016


Hi Breno,

Thanks for the patch!

I was going to merge all this and reupload after merging the new
upstream release, but I have noticed these patches are already in upstream.

So, does it make sense to merge this instead of just upgrading?

And one question about the patches: when you say "all currently
supported architectures" does this include gccgo? Or would that patch
break it?

Thanks!

On 07/11/16 13:04, Breno Leitao wrote:
> Control: tags 820466 + patch
> Control: tags 820466 + pending
> 
> Dear maintainer,
> 
> I've prepared an NMU for golang-github-shirou-gopsutil (versioned as 2.1-2.1) and
> uploaded it to DELAYED/10. Please feel free to tell me if I should delay it longer.
> 
> Regards.
> diff -Nru golang-github-shirou-gopsutil-2.1/debian/changelog golang-github-shirou-gopsutil-2.1/debian/changelog
> --- golang-github-shirou-gopsutil-2.1/debian/changelog	2016-07-14 03:23:30.000000000 -0400
> +++ golang-github-shirou-gopsutil-2.1/debian/changelog	2016-11-03 08:57:27.000000000 -0400
> @@ -1,3 +1,12 @@
> +golang-github-shirou-gopsutil (2.1-2.1) unstable; urgency=medium
> +
> +  * Non-maintainer upload.
> +
> +  [ Breno Leitao ]
> +  * Fix FTBFS and add support for ppc64el. (Closes: #820466)
> +
> + -- Fernando Seiti Furusato <ferseiti at linux.vnet.ibm.com>  Thu, 03 Nov 2016 10:57:27 -0200
> +
>  golang-github-shirou-gopsutil (2.1-2) unstable; urgency=medium
>  
>    * Extend "01-Disable_failing_tests.patch" to disable failing
> diff -Nru golang-github-shirou-gopsutil-2.1/debian/patches/0001-Improve-CPU-identification-for-POWER-processors.patch golang-github-shirou-gopsutil-2.1/debian/patches/0001-Improve-CPU-identification-for-POWER-processors.patch
> --- golang-github-shirou-gopsutil-2.1/debian/patches/0001-Improve-CPU-identification-for-POWER-processors.patch	1969-12-31 19:00:00.000000000 -0500
> +++ golang-github-shirou-gopsutil-2.1/debian/patches/0001-Improve-CPU-identification-for-POWER-processors.patch	2016-11-03 08:34:51.000000000 -0400
> @@ -0,0 +1,47 @@
> +From 286927a039eb369b9ef12a0578df7bd4bdf91a12 Mon Sep 17 00:00:00 2001
> +From: Breno Leitao <breno.leitao at gmail.com>
> +Date: Mon, 24 Oct 2016 14:00:37 -0400
> +Subject: [PATCH] Improve CPU identification for POWER processors
> +
> +Currently gopsutils fails to indentify the POWER processors family,
> +returning an almost empty Info() structure.
> +
> +This patch improves the POWER identification without changing what is
> +available for x86.
> +---
> + cpu/cpu_linux.go | 18 +++++++++++++++---
> + 1 file changed, 15 insertions(+), 3 deletions(-)
> +
> +diff --git a/cpu/cpu_linux.go b/cpu/cpu_linux.go
> +index 3537b2d..1979ebc 100644
> +--- a/cpu/cpu_linux.go
> ++++ b/cpu/cpu_linux.go
> +@@ -144,10 +144,22 @@ func Info() ([]InfoStat, error) {
> + 			c.Family = value
> + 		case "model":
> + 			c.Model = value
> +-		case "model name":
> ++		case "model name", "cpu":
> + 			c.ModelName = value
> +-		case "stepping":
> +-			t, err := strconv.ParseInt(value, 10, 64)
> ++			if strings.Contains(value, "POWER8") ||
> ++			   strings.Contains(value, "POWER7") {
> ++				c.Model = strings.Split(value, " ")[0]
> ++				c.Family = "POWER"
> ++				c.VendorID = "IBM"
> ++			}
> ++		case "stepping", "revision":
> ++			val := value
> ++
> ++			if key == "revision" {
> ++				val = strings.Split(value, ".")[0]
> ++			}
> ++
> ++			t, err := strconv.ParseInt(val, 10, 64)
> + 			if err != nil {
> + 				return ret, err
> + 			}
> +-- 
> +2.9.3
> +
> diff -Nru golang-github-shirou-gopsutil-2.1/debian/patches/0001-process-determine-page-sizes-via-function.patch golang-github-shirou-gopsutil-2.1/debian/patches/0001-process-determine-page-sizes-via-function.patch
> --- golang-github-shirou-gopsutil-2.1/debian/patches/0001-process-determine-page-sizes-via-function.patch	1969-12-31 19:00:00.000000000 -0500
> +++ golang-github-shirou-gopsutil-2.1/debian/patches/0001-process-determine-page-sizes-via-function.patch	2016-11-03 08:34:51.000000000 -0400
> @@ -0,0 +1,86 @@
> +From eb4a57117f5b734246226c9b6d6b1f9edca2e4f2 Mon Sep 17 00:00:00 2001
> +From: Thomas Hipp <thipp at suse.de>
> +Date: Fri, 16 Sep 2016 09:04:52 +0200
> +Subject: [PATCH] process: determine page sizes via function
> +
> +Instead of hard-coding the page size for linux systems, use Go's
> +`Getpagesize` function.
> +
> +This resolves #258.
> +
> +Signed-off-by: Thomas Hipp <thipp at suse.de>
> +---
> + process/process_linux.go       | 5 ++++-
> + process/process_linux_386.go   | 3 +--
> + process/process_linux_amd64.go | 3 +--
> + process/process_linux_arm.go   | 3 +--
> + process/process_linux_arm64.go | 3 +--
> + 5 files changed, 8 insertions(+), 9 deletions(-)
> +
> +diff --git a/process/process_linux.go b/process/process_linux.go
> +index 158cb04..9eb4f44 100644
> +--- a/process/process_linux.go
> ++++ b/process/process_linux.go
> +@@ -20,7 +20,10 @@ import (
> + 	"github.com/shirou/gopsutil/net"
> + )
> + 
> +-var ErrorNoChildren = errors.New("process does not have children")
> ++var (
> ++	ErrorNoChildren = errors.New("process does not have children")
> ++	PageSize        = uint64(os.Getpagesize())
> ++)
> + 
> + const (
> + 	PrioProcess = 0 // linux/resource.h
> +diff --git a/process/process_linux_386.go b/process/process_linux_386.go
> +index 541b854..c4df213 100644
> +--- a/process/process_linux_386.go
> ++++ b/process/process_linux_386.go
> +@@ -4,6 +4,5 @@
> + package process
> + 
> + const (
> +-	ClockTicks = 100  // C.sysconf(C._SC_CLK_TCK)
> +-	PageSize   = 4096 // C.sysconf(C._SC_PAGE_SIZE)
> ++	ClockTicks = 100 // C.sysconf(C._SC_CLK_TCK)
> + )
> +diff --git a/process/process_linux_amd64.go b/process/process_linux_amd64.go
> +index b4a4ce8..99b6659 100644
> +--- a/process/process_linux_amd64.go
> ++++ b/process/process_linux_amd64.go
> +@@ -4,6 +4,5 @@
> + package process
> + 
> + const (
> +-	ClockTicks = 100  // C.sysconf(C._SC_CLK_TCK)
> +-	PageSize   = 4096 // C.sysconf(C._SC_PAGE_SIZE)
> ++	ClockTicks = 100 // C.sysconf(C._SC_CLK_TCK)
> + )
> +diff --git a/process/process_linux_arm.go b/process/process_linux_arm.go
> +index c6123a4..8aef44c 100644
> +--- a/process/process_linux_arm.go
> ++++ b/process/process_linux_arm.go
> +@@ -4,6 +4,5 @@
> + package process
> + 
> + const (
> +-	ClockTicks = 100  // C.sysconf(C._SC_CLK_TCK)
> +-	PageSize   = 4096 // C.sysconf(C._SC_PAGE_SIZE)
> ++	ClockTicks = 100 // C.sysconf(C._SC_CLK_TCK)
> + )
> +diff --git a/process/process_linux_arm64.go b/process/process_linux_arm64.go
> +index 529aeaa..493197c 100644
> +--- a/process/process_linux_arm64.go
> ++++ b/process/process_linux_arm64.go
> +@@ -4,6 +4,5 @@
> + package process
> + 
> + const (
> +-	ClockTicks = 100  // C.sysconf(C._SC_CLK_TCK)
> +-	PageSize   = 4096 // C.sysconf(C._SC_PAGE_SIZE)
> ++	ClockTicks = 100 // C.sysconf(C._SC_CLK_TCK)
> + )
> +-- 
> +2.9.3
> +
> diff -Nru golang-github-shirou-gopsutil-2.1/debian/patches/0001-process-make-ClockTicks-arch-independent.patch golang-github-shirou-gopsutil-2.1/debian/patches/0001-process-make-ClockTicks-arch-independent.patch
> --- golang-github-shirou-gopsutil-2.1/debian/patches/0001-process-make-ClockTicks-arch-independent.patch	1969-12-31 19:00:00.000000000 -0500
> +++ golang-github-shirou-gopsutil-2.1/debian/patches/0001-process-make-ClockTicks-arch-independent.patch	2016-11-03 08:34:51.000000000 -0400
> @@ -0,0 +1,97 @@
> +From 68ad8d603c624c5f4dc986b333303da565570aa3 Mon Sep 17 00:00:00 2001
> +From: Thomas Hipp <thomashipp at gmail.com>
> +Date: Sat, 17 Sep 2016 18:06:07 +0200
> +Subject: [PATCH] process: make `ClockTicks` arch-independent
> +
> +The value for `ClockTicks` is defined as `100` by the Linux kernel for
> +all currently supported architectures in Go. Therefore, there is no need
> +to define this constant for each architecture separately.
> +
> +This fixes #260.
> +
> +Signed-off-by: Thomas Hipp <thomashipp at gmail.com>
> +---
> + process/process_linux.go       | 3 ++-
> + process/process_linux_386.go   | 8 --------
> + process/process_linux_amd64.go | 8 --------
> + process/process_linux_arm.go   | 8 --------
> + process/process_linux_arm64.go | 8 --------
> + 5 files changed, 2 insertions(+), 33 deletions(-)
> + delete mode 100644 process/process_linux_386.go
> + delete mode 100644 process/process_linux_amd64.go
> + delete mode 100644 process/process_linux_arm.go
> + delete mode 100644 process/process_linux_arm64.go
> +
> +diff --git a/process/process_linux.go b/process/process_linux.go
> +index 9eb4f44..19c6655 100644
> +--- a/process/process_linux.go
> ++++ b/process/process_linux.go
> +@@ -26,7 +26,8 @@ var (
> + )
> + 
> + const (
> +-	PrioProcess = 0 // linux/resource.h
> ++	PrioProcess = 0   // linux/resource.h
> ++	ClockTicks  = 100 // C.sysconf(C._SC_CLK_TCK)
> + )
> + 
> + // MemoryInfoExStat is different between OSes
> +diff --git a/process/process_linux_386.go b/process/process_linux_386.go
> +deleted file mode 100644
> +index c4df213..0000000
> +--- a/process/process_linux_386.go
> ++++ /dev/null
> +@@ -1,8 +0,0 @@
> +-// +build linux
> +-// +build 386
> +-
> +-package process
> +-
> +-const (
> +-	ClockTicks = 100 // C.sysconf(C._SC_CLK_TCK)
> +-)
> +diff --git a/process/process_linux_amd64.go b/process/process_linux_amd64.go
> +deleted file mode 100644
> +index 99b6659..0000000
> +--- a/process/process_linux_amd64.go
> ++++ /dev/null
> +@@ -1,8 +0,0 @@
> +-// +build linux
> +-// +build amd64
> +-
> +-package process
> +-
> +-const (
> +-	ClockTicks = 100 // C.sysconf(C._SC_CLK_TCK)
> +-)
> +diff --git a/process/process_linux_arm.go b/process/process_linux_arm.go
> +deleted file mode 100644
> +index 8aef44c..0000000
> +--- a/process/process_linux_arm.go
> ++++ /dev/null
> +@@ -1,8 +0,0 @@
> +-// +build linux
> +-// +build armXX
> +-
> +-package process
> +-
> +-const (
> +-	ClockTicks = 100 // C.sysconf(C._SC_CLK_TCK)
> +-)
> +diff --git a/process/process_linux_arm64.go b/process/process_linux_arm64.go
> +deleted file mode 100644
> +index 493197c..0000000
> +--- a/process/process_linux_arm64.go
> ++++ /dev/null
> +@@ -1,8 +0,0 @@
> +-// +build linux
> +-// +build arm64
> +-
> +-package process
> +-
> +-const (
> +-	ClockTicks = 100 // C.sysconf(C._SC_CLK_TCK)
> +-)
> +-- 
> +2.9.3
> +
> diff -Nru golang-github-shirou-gopsutil-2.1/debian/patches/series golang-github-shirou-gopsutil-2.1/debian/patches/series
> --- golang-github-shirou-gopsutil-2.1/debian/patches/series	2016-06-19 23:21:58.000000000 -0400
> +++ golang-github-shirou-gopsutil-2.1/debian/patches/series	2016-11-03 08:34:51.000000000 -0400
> @@ -1 +1,4 @@
>  01-Disable_failing_tests.patch
> +0001-process-determine-page-sizes-via-function.patch
> +0001-process-make-ClockTicks-arch-independent.patch
> +0001-Improve-CPU-identification-for-POWER-processors.patch
> 
> _______________________________________________
> Pkg-go-maintainers mailing list
> Pkg-go-maintainers at lists.alioth.debian.org
> http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-go-maintainers
> 


-- 
Martín Ferrari (Tincho)



More information about the Pkg-go-maintainers mailing list