Improve powerpc-utils with librtas
v3 cover Improve powerpc-utils with librtas
Many useful functions are missing from powerpc-utils when built by buildroot, because they depend on librtas which is not included.
This set adds the librtas package, a small patch to fix a problem with it's make install target, and tweaks the powerpc-utils config to include it. This makes the following additional programs available from powerpc-utils:
* uesensor
* set_poweron_time
* drmgr
* lsslot
* activate_firmware
* rtas_ibm_get_vpd
* serv_config
* rtas_event_decode
* sys_ident
Changes v2 -> v3:
Patch 2/2: powerpc-utils: optionally use librtas
Group "with" and "without" clauses.
Changes v1 -> v2:
Patch 1/2: librtas: new package
Remove redundant INSTALL_TARGET=yes.
Add patch description and patch signed-off-by.
Rename patch with correct prefix (0001-).
Patch 2/2: powerpc-utils: optionally use librtas
Make librtas support in powerpc-utils optional due to size concerns.
Sam Bobroff (2):
librtas: new package
powerpc-utils: optionally use librtas
package/Config.in | 1 + ...0001-librtas-install-librtas.so.1-symlink.patch | 31 ++++++++++++++++++++ package/librtas/Config.in | 9 ++++++ package/librtas/librtas.mk | 26 ++++++++++++++++ package/powerpc-utils/Config.in | 18 ++++++++++++ package/powerpc-utils/powerpc-utils.mk | 8 ++++- 6 files changed, 92 insertions(+), 1 deletion(-) create mode 100644 package/librtas/0001-librtas-install-librtas.so.1-symlink.patch create mode 100644 package/librtas/Config.in create mode 100644 package/librtas/librtas.mk
Signature · 1 line
1.7.10.4
PATCH v3 1/2 librtas: new package
---
v2:
Remove redundant INSTALL_TARGET=yes.
Add patch description and patch signed-off-by.
Rename patch with correct prefix (0001-).
package/Config.in | 1 + ...0001-librtas-install-librtas.so.1-symlink.patch | 31 ++++++++++++++++++++ package/librtas/Config.in | 9 ++++++ package/librtas/librtas.mk | 26 ++++++++++++++++ 4 files changed, 67 insertions(+) create mode 100644 package/librtas/0001-librtas-install-librtas.so.1-symlink.patch create mode 100644 package/librtas/Config.in create mode 100644 package/librtas/librtas.mk
package/Config.in +1 -0
@@ -832,6 +832,7 @@ menu "Hardware handling" source "package/libphidget/Config.in" source "package/libqmi/Config.in" source "package/libraw1394/Config.in" + source "package/librtas/Config.in" source "package/librtlsdr/Config.in" source "package/libserial/Config.in" source "package/libserialport/Config.in"
package/librtas/0001-librtas-install-librtas.so.1-symlink.patch new file +31 -0
@@ -0,0 +1,31 @@ +Add a line to the librtas Makefile to create librtas.so.1 when +performing "make install". + +Without this patch programs linked with librtas will fail at run time: + +error while loading shared libraries: librtas.so.1: cannot open shared +object file: No such file or directory + +A patch has been submitted upstream so it is likely that this patch +can be dropped after the next release of librtas. + +Signed-off-by: Sam Bobroff <[email protected]> +--- + librtas_src/Makefile | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/librtas_src/Makefile b/librtas_src/Makefile +index 3a10222..deba29d 100644 +--- a/librtas_src/Makefile ++++ b/librtas_src/Makefile +@@ -33,6 +33,7 @@ install: + @$(call install_lib,$(LIBRTAS),$(DESTDIR)) + @$(call install_inc,$(HEADERS),$(DESTDIR)) + @ln -sf $(LIBRTAS) $(DESTDIR)/$(LIB_DIR)$(call is_lib64,$(LIBRTAS))/$(LIBRTAS_SONAME) ++ @ln -sf $(LIBRTAS) $(DESTDIR)/$(LIB_DIR)$(call is_lib64,$(LIBRTAS))/$(LIBRTAS_SONAME).1 + + uninstall: + @$(call uninstall_lib,$(LIBRTAS),$(DESTDIR)) +-- +1.7.10.4 +
package/librtas/Config.in new file +9 -0
@@ -0,0 +1,9 @@ +config BR2_PACKAGE_LIBRTAS + bool "librtas" + depends on BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le + help + The librtas package provides an interface for Run-Time Abstraction + Services (RTAS) calls on PAPR platforms. The libraries allow users to + examine and manipulate hardware, and parse RTAS events. + + http://librtas.sourceforge.net/
package/librtas/librtas.mk new file +26 -0
@@ -0,0 +1,26 @@ +################################################################################ +# +# librtas +# +################################################################################ + +LIBRTAS_VERSION = 1.3.13 +LIBRTAS_SITE = http://downloads.sourceforge.net/project/librtas +LIBRTAS_LICENSE = Common Public License Version 1.0 +LIBRTAS_LICENSE_FILES = COPYRIGHT +LIBRTAS_INSTALL_STAGING = YES + +define LIBRTAS_BUILD_CMDS + $(MAKE) -C $(@D) CC="$(TARGET_CC)" LD="$(TARGET_LD)" +endef + +define LIBRTAS_INSTALL_STAGING_CMDS + $(MAKE) -C $(@D) DESTDIR=$(STAGING_DIR) install +endef + +define LIBRTAS_INSTALL_TARGET_CMDS + $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) install +endef + + +$(eval $(generic-package))
Signature · 1 line
1.7.10.4
PATCH v3 1/2 librtas: new package
Hi Sam,
Le 19/05/2015 07:59, Sam Bobroff a ?crit :
Quoted 17 lines
Signed-off-by Sam Bobroff <[email protected]>---
v2:Remove redundant INSTALL_TARGET=yes.
Add patch description and patch signed-off-by.
Rename patch with correct prefix (0001-).package/Config.in | 1 + ...0001-librtas-install-librtas.so.1-symlink.patch | 31 ++++++++++++++++++++ package/librtas/Config.in | 9 ++++++ package/librtas/librtas.mk | 26 ++++++++++++++++ 4 files changed, 67 insertions(+) create mode 100644 package/librtas/0001-librtas-install-librtas.so.1-symlink.patch create mode 100644 package/librtas/Config.in create mode 100644 package/librtas/librtas.mk
[snip]
package/librtas/Config.in line 3
Quoted 9 lines
package/librtas/Config.in new file +3
-0@@ -0,0 +1,9 @@ +config BR2_PACKAGE_LIBRTAS + bool "librtas" + depends on BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le
Have you tested this package with uClibc-ng or musl ?
I tried to build with an experimental musl 1.1.6 based toolchain but it won't build (lot of build errors).
Then I tried to build with a uClibc-ng powerpc toolchain used in autobuilder [1] and powerpc-utils fail to build when librtas support is enabled.
src/drmgr/common.c:17:22: fatal error: execinfo.h No such file or directory.
But it build fine with a glibc based toolchain (build tested with the CS powerpc 2011.03 toolchain). For now, it's ok if librtas can be available on glibc toolchains.
Also, the package should depends on !BR2_STATIC_LIBS since librtas build unconditionally a shared library.
Otherwise, you patch looks ok.
Best regards,
Romain Naour
[1] http://autobuild.buildroot.net/toolchains/configs/br-powerpc-e500mc-full.config
Quoted 39 lines
package/librtas/Config.in new file +6
-0+ help + The librtas package provides an interface for Run-Time Abstraction + Services (RTAS) calls on PAPR platforms. The libraries allow users to + examine and manipulate hardware, and parse RTAS events. + + http://librtas.sourceforge.net/package/librtas/librtas.mk new file +26
-0@@ -0,0 +1,26 @@ +################################################################################ +# +# librtas +# +################################################################################ + +LIBRTAS_VERSION = 1.3.13 +LIBRTAS_SITE = http://downloads.sourceforge.net/project/librtas +LIBRTAS_LICENSE = Common Public License Version 1.0 +LIBRTAS_LICENSE_FILES = COPYRIGHT +LIBRTAS_INSTALL_STAGING = YES + +define LIBRTAS_BUILD_CMDS + $(MAKE) -C $(@D) CC="$(TARGET_CC)" LD="$(TARGET_LD)" +endef + +define LIBRTAS_INSTALL_STAGING_CMDS + $(MAKE) -C $(@D) DESTDIR=$(STAGING_DIR) install +endef + +define LIBRTAS_INSTALL_TARGET_CMDS + $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) install +endef + + +$(eval $(generic-package))
PATCH v3 1/2 librtas: new package
Hi Sam,
Le 13/07/2015 17:32, Romain Naour a ?crit :
Quoted 86 lines
Hi Sam,
Le 19/05/2015 07:59, Sam Bobroff a ?crit :
Quoted 17 lines
Signed-off-by Sam Bobroff <[email protected]>---
v2:Remove redundant INSTALL_TARGET=yes.
Add patch description and patch signed-off-by.
Rename patch with correct prefix (0001-).package/Config.in | 1 + ...0001-librtas-install-librtas.so.1-symlink.patch | 31 ++++++++++++++++++++ package/librtas/Config.in | 9 ++++++ package/librtas/librtas.mk | 26 ++++++++++++++++ 4 files changed, 67 insertions(+) create mode 100644 package/librtas/0001-librtas-install-librtas.so.1-symlink.patch create mode 100644 package/librtas/Config.in create mode 100644 package/librtas/librtas.mk[snip]
package/librtas/Config.in line 3
Quoted 9 lines
package/librtas/Config.in new file +3
-0@@ -0,0 +1,9 @@ +config BR2_PACKAGE_LIBRTAS + bool "librtas" + depends on BR2_powerpc || BR2_powerpc64 || BR2_powerpc64leHave you tested this package with uClibc-ng or musl ?
I tried to build with an experimental musl 1.1.6 based toolchain but it won't build (lot of build errors).
Then I tried to build with a uClibc-ng powerpc toolchain used in autobuilder [1] and powerpc-utils fail to build when librtas support is enabled.
src/drmgr/common.c:17:22: fatal error:execinfo.hNo such file or directory.But it build fine with a glibc based toolchain (build tested with the CS powerpc 2011.03 toolchain). For now, it's ok if librtas can be available on glibc toolchains.
Also, the package should depends on !BR2_STATIC_LIBS since librtas build unconditionally a shared library.
Otherwise, you patch looks ok.
Best regards,
Romain Naour[1] http://autobuild.buildroot.net/toolchains/configs/br-powerpc-e500mc-full.config
Quoted 29 lines
package/librtas/Config.in new file +6
-0+ help + The librtas package provides an interface for Run-Time Abstraction + Services (RTAS) calls on PAPR platforms. The libraries allow users to + examine and manipulate hardware, and parse RTAS events. + + http://librtas.sourceforge.net/package/librtas/librtas.mk new file +17
-0@@ -0,0 +1,26 @@ +################################################################################ +# +# librtas +# +################################################################################ + +LIBRTAS_VERSION = 1.3.13 +LIBRTAS_SITE = http://downloads.sourceforge.net/project/librtas +LIBRTAS_LICENSE = Common Public License Version 1.0 +LIBRTAS_LICENSE_FILES = COPYRIGHT +LIBRTAS_INSTALL_STAGING = YES + +define LIBRTAS_BUILD_CMDS + $(MAKE) -C $(@D) CC="$(TARGET_CC)" LD="$(TARGET_LD)" +endef + +define LIBRTAS_INSTALL_STAGING_CMDS
Quoted 8 lines
package/librtas/librtas.mk line 25
Quoted 8 lines
package/librtas/librtas.mk new file +8
-0+ $(MAKE) -C $(@D) DESTDIR=$(STAGING_DIR) install +endef + +define LIBRTAS_INSTALL_TARGET_CMDS + $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) install +endef + +
Extra new line.
Otherwise, with my previous comment taken into account:
Best regards,
Romain Naour
Quoted 8 lines
package/librtas/librtas.mk line 26
Quoted 2 lines
package/librtas/librtas.mk new file +1
-0+$(eval $(generic-package))_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
PATCH v3 1/2 librtas: new package
In reply to Sam BobroffDear Sam Bobroff,
Quoted 3 lines · Sam Bobroff
Signed-off-by Sam Bobroff <[email protected]>---
v2:
Applied after the following changes:
[Thomas:
- make the package depend on glibc, since it needs execinfo.h
- use TARGET_CONFIGURE_OPTS instead of defining manually CC and LD
- add hash file
- remove useless empty newline.
Thanks to Romain Naour for the review!]
Thanks for the contribution!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH v3 2/2 powerpc-utils: optionally use librtas
In reply to Sam BobroffNow that librtas is available, optionally use it with powerpc-utils to enable it's RTAS dependant functionality. It is used by default, as most distros do, but made optional because it adds several new programs and significantly increases the size of the installed package.
---
v3:
Group "with" and "without" clauses.
v2:
Make librtas support in powerpc-utils optional due to size concerns.
package/powerpc-utils/Config.in | 18 ++++++++++++++++++ package/powerpc-utils/powerpc-utils.mk | 8 +++++++- 2 files changed, 25 insertions(+), 1 deletion(-)
package/powerpc-utils/Config.in +18 -0
@@ -6,3 +6,21 @@ config BR2_PACKAGE_POWERPC_UTILS System utilities for PowerPC machines. http://sourceforge.net/projects/powerpc-utils/ + +if BR2_PACKAGE_POWERPC_UTILS + +config BR2_PACKAGE_POWERPC_UTILS_RTAS + bool "RTAS support" + select BR2_PACKAGE_LIBRTAS + default y + help + Enable support for functions that require RTAS. + + This adds a dependency on librtas and provides the following + additional features at the cost of increasing the installed package + size from about 0.5MB to about 2MB: + ppc64_cpu --run-mode, uesensor, set_poweron_time, drmgr, lsslot, + activate_firmware, rtas_ibm_get_vpd, serv_config, + rtas_event_decode, sys_ident. + +endif
package/powerpc-utils/powerpc-utils.mk +7 -1
@@ -10,8 +10,14 @@ POWERPC_UTILS_DEPENDENCIES = zlib POWERPC_UTILS_LICENSE = Common Public License Version 1.0 POWERPC_UTILS_LICENSE_FILES = COPYRIGHT -POWERPC_UTILS_CONF_OPTS = --without-librtas POWERPC_UTILS_CONF_ENV = \ ax_cv_check_cflags___fstack_protector_all=$(if $(BR2_TOOLCHAIN_HAS_SSP),yes,no) +ifeq ($(BR2_PACKAGE_POWERPC_UTILS_RTAS),y) +POWERPC_UTILS_DEPENDENCIES += librtas +POWERPC_UTILS_CONF_OPTS = --with-librtas +else +POWERPC_UTILS_CONF_OPTS = --without-librtas +endif + $(eval $(autotools-package))
Signature · 1 line
1.7.10.4
PATCH v3 2/2 powerpc-utils: optionally use librtas
Le 19/05/2015 07:59, Sam Bobroff a ?crit :
Quoted 24 lines
Now that librtas is available, optionally use it with powerpc-utils to enable it's RTAS dependant functionality. It is used by default, as most distros do, but made optional because it adds several new programs and significantly increases the size of the installed package.
Signed-off-by Sam Bobroff <[email protected]>---
v3:Group "with" and "without" clauses.
v2:
Make librtas support in powerpc-utils optional due to size concerns.
package/powerpc-utils/Config.in | 18 ++++++++++++++++++ package/powerpc-utils/powerpc-utils.mk | 8 +++++++- 2 files changed, 25 insertions(+), 1 deletion(-)package/powerpc-utils/Config.in +0
-0
package/powerpc-utils/Config.in config BR2_PACKAGE_POWERPC_UTILS · line 14
Quoted 9 lines
package/powerpc-utils/Config.in +6
-0@@ -6,3 +6,21 @@ config BR2_PACKAGE_POWERPC_UTILS System utilities for PowerPC machines. http://sourceforge.net/projects/powerpc-utils/ + +if BR2_PACKAGE_POWERPC_UTILS + +config BR2_PACKAGE_POWERPC_UTILS_RTAS + bool "RTAS support" + select BR2_PACKAGE_LIBRTAS
The librtas reverse dependencies should be added here (glibc toolchain only and !static build)
Best regards,
Romain Naour
Quoted 33 lines
package/powerpc-utils/Config.in +12
-0+ default y + help + Enable support for functions that require RTAS. + + This adds a dependency on librtas and provides the following + additional features at the cost of increasing the installed package + size from about 0.5MB to about 2MB: + ppc64_cpu --run-mode, uesensor, set_poweron_time, drmgr, lsslot, + activate_firmware, rtas_ibm_get_vpd, serv_config, + rtas_event_decode, sys_ident. + +endifpackage/powerpc-utils/powerpc-utils.mk +7
-1@@ -10,8 +10,14 @@ POWERPC_UTILS_DEPENDENCIES = zlib POWERPC_UTILS_LICENSE = Common Public License Version 1.0 POWERPC_UTILS_LICENSE_FILES = COPYRIGHT -POWERPC_UTILS_CONF_OPTS = --without-librtas POWERPC_UTILS_CONF_ENV = \ ax_cv_check_cflags___fstack_protector_all=$(if $(BR2_TOOLCHAIN_HAS_SSP),yes,no) +ifeq ($(BR2_PACKAGE_POWERPC_UTILS_RTAS),y) +POWERPC_UTILS_DEPENDENCIES += librtas +POWERPC_UTILS_CONF_OPTS = --with-librtas +else +POWERPC_UTILS_CONF_OPTS = --without-librtas +endif + $(eval $(autotools-package))
PATCH v3 2/2 powerpc-utils: optionally use librtas
In reply to Sam BobroffDear Sam Bobroff,
Quoted 8 lines · Sam Bobroff
Now that librtas is available, optionally use it with powerpc-utils to enable it's RTAS dependant functionality. It is used by default, as most distros do, but made optional because it adds several new programs and significantly increases the size of the installed package.
Signed-off-by Sam Bobroff <[email protected]>---
v3:
Applied after propagating the glibc dependency of librtas, as noted by Romain Naour.
Thanks!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH v3 2/2 powerpc-utils: optionally use librtas
Quoted 12 lines · Thomas Petazzoni
Dear Sam Bobroff,
Quoted 8 lines · Sam Bobroff
Now that librtas is available, optionally use it with powerpc-utils to enable it's RTAS dependant functionality. It is used by default, as most distros do, but made optional because it adds several new programs and significantly increases the size of the installed package.
Signed-off-by Sam Bobroff <[email protected]>---
v3:
Quoted 6 lines
Applied after propagating the glibc dependency of librtas, as noted by Romain Naour.
Thanks!
Thomas
Baruch, Romain and Thomas,
Thanks for the reviews and improvements!
Cheers,
Sam.
v3 cover Improve powerpc-utils with librtas
In reply to Sam BobroffHi Baruch,
Thanks again for the reviews. I think I've addressed all of the issues. Is there anything else I need to do?
Sam.
Quoted 60 lines · Sam Bobroff
Many useful functions are missing from powerpc-utils when built by buildroot, because they depend on librtas which is not included.
This set adds the librtas package, a small patch to fix a problem with it's make install target, and tweaks the powerpc-utils config to include it. This makes the following additional programs available from powerpc-utils:
* uesensor
*set_poweron_time
* drmgr
* lsslot
*activate_firmware
*rtas_ibm_get_vpd
*serv_config
*rtas_event_decode
*sys_identChanges v2 -> v3:
Patch 2/2: powerpc-utils: optionally use librtasGroup "with" and "without" clauses.
Changes v1 -> v2:
Patch 1/2: librtas: new packageRemove redundant INSTALL_TARGET=yes.
Add patch description and patch signed-off-by.
Rename patch with correct prefix (0001-).Patch 2/2: powerpc-utils: optionally use librtas
Make librtas support in powerpc-utils optional due to size concerns.
Sam Bobroff (2):
librtas: new package
powerpc-utils: optionally use librtaspackage/Config.in | 1 + ...0001-librtas-install-librtas.so.1-symlink.patch | 31 ++++++++++++++++++++ package/librtas/Config.in | 9 ++++++ package/librtas/librtas.mk | 26 ++++++++++++++++ package/powerpc-utils/Config.in | 18 ++++++++++++ package/powerpc-utils/powerpc-utils.mk | 8 ++++- 6 files changed, 92 insertions(+), 1 deletion(-) create mode 100644 package/librtas/0001-librtas-install-librtas.so.1-symlink.patch create mode 100644 package/librtas/Config.in create mode 100644 package/librtas/librtas.mkSignature · 6 lines
1.7.10.4 _______________________________________________ buildroot mailing list buildroot at busybox.net http://lists.busybox.net/mailman/listinfo/buildroot
v3 cover Improve powerpc-utils with librtas
Hi Sam,
Quoted 2 lines · Sam Bobroff
Thanks again for the reviews. I think I've addressed all of the issues. Is there anything else I need to do?
Just wait for the maintainers to review/apply your patches. The backlog of patches is visible at http://patchwork.ozlabs.org/project/buildroot/list/, and as you can see it is quite long. You may help shortening this list by reviewing other patches from that list. As the list shortens your contribution will be considered sooner.
baruch
Quoted 49 lines · Sam Bobroff
Quoted 48 lines
Many useful functions are missing from powerpc-utils when built by buildroot, because they depend on librtas which is not included.
This set adds the librtas package, a small patch to fix a problem with it's make install target, and tweaks the powerpc-utils config to include it. This makes the following additional programs available from powerpc-utils:
* uesensor
*set_poweron_time
* drmgr
* lsslot
*activate_firmware
*rtas_ibm_get_vpd
*serv_config
*rtas_event_decode
*sys_identChanges v2 -> v3:
Patch 2/2: powerpc-utils: optionally use librtasGroup "with" and "without" clauses.
Changes v1 -> v2:
Patch 1/2: librtas: new packageRemove redundant INSTALL_TARGET=yes.
Add patch description and patch signed-off-by.
Rename patch with correct prefix (0001-).Patch 2/2: powerpc-utils: optionally use librtas
Make librtas support in powerpc-utils optional due to size concerns.
Sam Bobroff (2):
librtas: new package
powerpc-utils: optionally use librtaspackage/Config.in | 1 + ...0001-librtas-install-librtas.so.1-symlink.patch | 31 ++++++++++++++++++++ package/librtas/Config.in | 9 ++++++ package/librtas/librtas.mk | 26 ++++++++++++++++ package/powerpc-utils/Config.in | 18 ++++++++++++ package/powerpc-utils/powerpc-utils.mk | 8 ++++- 6 files changed, 92 insertions(+), 1 deletion(-) create mode 100644 package/librtas/0001-librtas-install-librtas.so.1-symlink.patch create mode 100644 package/librtas/Config.in create mode 100644 package/librtas/librtas.mk
Signature · 3 lines
http://baruch.siach.name/blog/ ~. .~ Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
- baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -