Skip to contentSkip to conversation

Correct tclConfig.sh in the sysroots

PATCH In review Peter Kjellerstedt 2 participants 3 messages May 31, 2016

lore
Share & tools
lore
#0 lore raw

cover Correct tclConfig.sh in the sysroots

Restore the contents of tclConfig.sh in the sysroots so that postgresql can build again.

//Peter

The following changes since commit fcc2c3c4b3ca08528722442c90acd27e89291405:

yocto-bsps: Update to 4.1 to include musb fixes (2016-05-30 15:58:16 +0100)

are available in the git repository at:

git://git.yoctoproject.org/poky-contrib pkj/tcl
http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=pkj/tcl

Peter Kjellerstedt (1):
tcl: Only set BINCONFIG_GLOB for target builds

 meta/recipes-devtools/tcltk/tcl_8.6.4.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Signature · 1 line
2.1.0
#1 lore raw

PATCH 1/1 tcl: Only set BINCONFIG_GLOB for target builds

The recent change of how ${bindir_crossscripts} is installed to the sysroot had the unforeseen effect that tclConfig.sh in the sysroot contained invalid paths, which caused postgresql to fail to build. The change in the contents of tclConfig.sh was due to that it was previously installed to the sysroot after binconfig had done its work, and was thus unaffected by it.

This change makes sure the contents of tclConfig.sh is the same as before, both in the sysroots and on target. This will make postgresql build again.

This also changes the BINCONFIG_GLOB to only match tclConfig.sh. Before it would also match itclConfig.sh, tclooConfig.sh and tdbcConfig.sh, which were consequently installed to the sysroots. However, that seems to have been accidentally introduced with the use of binconfig (based on what is installed in do_install()).

---
 meta/recipes-devtools/tcltk/tcl_8.6.4.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
meta/recipes-devtools/tcltk/tcl_8.6.4.bb +1 -1
index 61be81d..3a3fd83 100644
@@ -93,7 +93,7 @@ do_install_ptest() {
 }
 
 # Fix some paths that might be used by Tcl extensions
-BINCONFIG_GLOB = "*Config.sh"
+BINCONFIG_GLOB_class-target = "tclConfig.sh"
 
 # Fix the path in sstate
 SSTATE_SCAN_FILES += "*Config.sh"
Signature · 1 line
2.1.0
#2 lore raw

Re: [PATCH 1/1] tcl: Only set BINCONFIG_GLOB for target builds

Quoted 38 lines · Peter Kjellerstedt

The recent change of how ${bindir_crossscripts} is installed to the sysroot had the unforeseen effect that tclConfig.sh in the sysroot contained invalid paths, which caused postgresql to fail to build. The change in the contents of tclConfig.sh was due to that it was previously installed to the sysroot after binconfig had done its work, and was thus unaffected by it.

This change makes sure the contents of tclConfig.sh is the same as before, both in the sysroots and on target. This will make postgresql build again.

This also changes the BINCONFIG_GLOB to only match tclConfig.sh. Before it would also match itclConfig.sh, tclooConfig.sh and tdbcConfig.sh, which were consequently installed to the sysroots. However, that seems to have been accidentally introduced with the use of binconfig (based on what is installed in do_install()).

---
 meta/recipes-devtools/tcltk/tcl_8.6.4.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
meta/recipes-devtools/tcltk/tcl_8.6.4.bb +1 -2
index 61be81d..3a3fd83 100644
@@ -93,7 +93,7 @@ do_install_ptest() {
 }
 
 # Fix some paths that might be used by Tcl extensions
-BINCONFIG_GLOB = "*Config.sh"
+BINCONFIG_GLOB_class-target = "tclConfig.sh"
 
 # Fix the path in sstate
 SSTATE_SCAN_FILES += "*Config.sh"
--

2.1.0

Quoted 1 line

--

For me tclConfig.sh still contains absolute paths and postgresql still fails. I did ccleansstate for tcl and postgresql, applied this patch and tried to build postgresql.

Andreas