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 <[email protected]> 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 <[email protected]> > +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 <[email protected]> > +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 <[email protected]> > +--- > + 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 <[email protected]> > +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 <[email protected]> > +--- > + 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 > [email protected] > http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-go-maintainers > -- Martín Ferrari (Tincho)

