Skip to contentSkip to conversation

procrank_linux: new package

PATCH New gustavo.zacarias at free-electrons.com 3 participants 7 messages Feb 23, 2016 – Mar 6, 2016

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 procrank_linux: new package

From: Gustavo Zacarias <[email protected]>

---
 package/Config.in                        |  3 +++
 package/procrank_linux/Config.in         |  7 +++++++
 package/procrank_linux/procrank_linux.mk | 21 +++++++++++++++++++++
 3 files changed, 31 insertions(+)
 create mode 100644 package/procrank_linux/Config.in
 create mode 100644 package/procrank_linux/procrank_linux.mk
package/Config.in +3 -0
index 00132df..c1be419 100644
@@ -1595,6 +1595,9 @@ endif
 	source "package/powerpc-utils/Config.in"
 if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
 	source "package/procps-ng/Config.in"
+endif
+	source "package/procrank_linux/Config.in"
+if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
 	source "package/psmisc/Config.in"
 endif
 	source "package/pwgen/Config.in"
package/procrank_linux/Config.in new file +7 -0
new file mode 100644
index 0000000..59d462b
@@ -0,0 +1,7 @@
+config BR2_PACKAGE_PROCRANK_LINUX
+	bool "procrank_linux"
+	help
+	  procrank is a tool commonly used by Android platform
+	  developers to find out how much memory is really being used.
+
+	  https://github.com/csimmonds/procrank_linux
package/procrank_linux/procrank_linux.mk new file +21 -0
new file mode 100644
index 0000000..7e74319
@@ -0,0 +1,21 @@
+################################################################################
+#
+# procrank_linux
+#
+################################################################################
+
+PROCRANK_LINUX_VERSION = 21c30ab4514a5b15ac6e813e21bee0d3d714cb08
+PROCRANK_LINUX_SITE = $(call github,csimmonds,procrank_linux,$(PROCRANK_LINUX_VERSION))
+PROCRANK_LINUX_LICENSE = Apache-2.0
+PROCRANK_LINUX_LICENSE_FILES = NOTICE
+
+define PROCRANK_LINUX_BUILD_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) CROSS_COMPILE="$(TARGET_CROSS)"
+endef
+
+define PROCRANK_LINUX_INSTALL_TARGET_CMDS
+	$(INSTALL) -m 0755 -D $(@D)/procrank \
+		$(TARGET_DIR)/usr/bin/procrank
+endef
+
+$(eval $(generic-package))
Signature · 1 line
2.4.10
#1 lore raw

PATCH 1/1 procrank_linux: new package

Quoted 7 lines · gustavo.zacarias at free-electrons.com

From: Gustavo Zacarias <[email protected]>

---
 package/Config.in                        |  3 +++
 package/procrank_linux/Config.in         |  7 +++++++
 package/procrank_linux/procrank_linux.mk | 21 +++++++++++++++++++++

You forgot to add a hash file.

Quoted 37 lines
 3 files changed, 31 insertions(+)
 create mode 100644 package/procrank_linux/Config.in
 create mode 100644 package/procrank_linux/procrank_linux.mk
package/Config.in +3 -0
index 00132df..c1be419 100644
@@ -1595,6 +1595,9 @@ endif
 	source "package/powerpc-utils/Config.in"
 if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
 	source "package/procps-ng/Config.in"
+endif
+	source "package/procrank_linux/Config.in"
+if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
 	source "package/psmisc/Config.in"
 endif
 	source "package/pwgen/Config.in"
package/procrank_linux/Config.in new file +7 -0
new file mode 100644
index 0000000..59d462b
@@ -0,0 +1,7 @@
+config BR2_PACKAGE_PROCRANK_LINUX
+	bool "procrank_linux"
+	help
+	  procrank is a tool commonly used by Android platform
+	  developers to find out how much memory is really being used.
+
+	  https://github.com/csimmonds/procrank_linux
package/procrank_linux/procrank_linux.mk new file +0 -0
new file mode 100644
index 0000000..7e74319

package/procrank_linux/procrank_linux.mk line 10

Quoted 10 lines
package/procrank_linux/procrank_linux.mk new file +10 -0
@@ -0,0 +1,21 @@
+################################################################################
+#
+# procrank_linux
+#
+################################################################################
+
+PROCRANK_LINUX_VERSION = 21c30ab4514a5b15ac6e813e21bee0d3d714cb08
+PROCRANK_LINUX_SITE = $(call github,csimmonds,procrank_linux,$(PROCRANK_LINUX_VERSION))
+PROCRANK_LINUX_LICENSE = Apache-2.0
+PROCRANK_LINUX_LICENSE_FILES = NOTICE

Check. There's a Makefile licensed GPLv2+ but I guess that's not relevant.

package/procrank_linux/procrank_linux.mk line 13

Quoted 3 lines
package/procrank_linux/procrank_linux.mk new file +3 -0
+
+define PROCRANK_LINUX_BUILD_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) CROSS_COMPILE="$(TARGET_CROSS)"

What a horrible Makefile... There is no way to pass CFLAGS and LDFLAGS.
Fortunately, with the toolchain wrapper, this shouldn't be a problem anymore. Well, except for LDFLAGS. This _is_ going to be a problem on e.g. Blackfin FLAT. I guess a patch adding CFLAGS and LDFLAGS to the Makefiles would be upstreamable?

Regards,
Arnout

Quoted 9 lines
package/procrank_linux/procrank_linux.mk new file +8 -0
+endef
+
+define PROCRANK_LINUX_INSTALL_TARGET_CMDS
+	$(INSTALL) -m 0755 -D $(@D)/procrank \
+		$(TARGET_DIR)/usr/bin/procrank
+endef
+
+$(eval $(generic-package))
Signature · 6 lines
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
#2 lore raw

PATCH 1/1 procrank_linux: new package

Quoted 1 line · Arnout Vandecappelle

You forgot to add a hash file.

Are github pull hashes stable? (i.e. not tagged)

Quoted 1 line

Check. There's a Makefile licensed GPLv2+ but I guess that's not relevant.

I've used the same logic, in the end it's the code that matters.

Quoted 4 lines

What a horrible Makefile... There is no way to pass CFLAGS and LDFLAGS.
Fortunately, with the toolchain wrapper, this shouldn't be a problem anymore. Well, except for LDFLAGS. This _is_ going to be a problem on e.g. Blackfin FLAT. I guess a patch adding CFLAGS and LDFLAGS to the Makefiles would be upstreamable?

Actually bfin flat builds fine, it's on my testing rotation for static builds when there's no need for mmu since it uses an old gcc and it's quick to catch "newer version required" scenarios (everything quite old and funky).
That being said i had a previous version that i wasn't quick enough to submit that had a patch which was removed since upstream was quick enough accepting the pull (musl build fix).
Regards.

#3 lore raw

PATCH 1/1 procrank_linux: new package

Gustavo,

Quoted 5 lines · Gustavo Zacarias
Quoted 1 line · Arnout Vandecappelle

You forgot to add a hash file.

Are github pull hashes stable? (i.e. not tagged)

Yes, at least from our experience of the last months adding hashes for Github-sourced packages.

Thanks,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#4 lore raw

PATCH 1/1 procrank_linux: new package

In reply to Gustavo Zacarias
Quoted 5 lines · Gustavo Zacarias
Quoted 1 line · Arnout Vandecappelle

You forgot to add a hash file.

Are github pull hashes stable? (i.e. not tagged)

Looks like it. git has been updated a while ago to generate stable archives,
and github seems to have caught on. We've slowly been introducing hashes for github packages and up to now no autobuilder complaints.

Quoted 10 lines
Quoted 2 lines

Check. There's a Makefile licensed GPLv2+ but I guess that's not relevant.

I've used the same logic, in the end it's the code that matters.

Quoted 4 lines

What a horrible Makefile... There is no way to pass CFLAGS and LDFLAGS.
Fortunately, with the toolchain wrapper, this shouldn't be a problem anymore. Well, except for LDFLAGS. This _is_ going to be a problem on e.g. Blackfin FLAT. I guess a patch adding CFLAGS and LDFLAGS to the Makefiles would be upstreamable?

Quoted 6 lines

Actually bfin flat builds fine, it's on my testing rotation for static builds when there's no need for mmu since it uses an old gcc and it's quick to catch "newer version required" scenarios (everything quite old and funky). That being said i had a previous version that i wasn't quick enough to submit that had a patch which was removed since upstream was quick enough accepting the pull (musl build fix).

Well, it _builds_ file, but are you sure it's still generating a
flat/sep/shared binary?

Regards,
Arnout

Quoted 2 lines

Regards.

Signature · 6 lines
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
#5 lore raw

PATCH 1/1 procrank_linux: new package

Arnout,

Quoted 9 lines · Arnout Vandecappelle
Quoted 6 lines

Actually bfin flat builds fine, it's on my testing rotation for static builds when there's no need for mmu since it uses an old gcc and it's quick to catch "newer version required" scenarios (everything quite old and funky). That being said i had a previous version that i wasn't quick enough to submit that had a patch which was removed since upstream was quick enough accepting the pull (musl build fix).

Well, it _builds_ file, but are you sure it's still generating a
flat/sep/shared binary?

I've just tested, and:

$ file output/target/usr/bin/procrank 
output/target/usr/bin/procrank: BFLT executable - version 4 ram

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#6 lore raw

PATCH 1/1 procrank_linux: new package

In reply to gustavo.zacarias at free-electrons.com

Gustavo,

Quoted 10 lines · gustavo.zacarias at free-electrons.com

From: Gustavo Zacarias <[email protected]>

---
 package/Config.in                        |  3 +++
 package/procrank_linux/Config.in         |  7 +++++++
 package/procrank_linux/procrank_linux.mk | 21 +++++++++++++++++++++
 3 files changed, 31 insertions(+)
 create mode 100644 package/procrank_linux/Config.in
 create mode 100644 package/procrank_linux/procrank_linux.mk

Applied to master after adding a hash file. Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com