diff options
author | Robert Yang <liezhi.yang@windriver.com> | 2014-03-18 15:54:34 +0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2014-03-19 14:42:43 +0000 |
commit | a0c83577cc108aaae8632fe44f0c1bd46995b264 (patch) | |
tree | 3f4b257f14d4381fe2da68994a431e8e5d9a9303 /meta/recipes-devtools/openjade/openjade-native_1.3.2.bb | |
parent | 779f5936f18c1c974cde477c68e775e95668cb08 (diff) | |
download | poky-a0c83577cc108aaae8632fe44f0c1bd46995b264.tar.gz |
sgml-common-native: fix the generation of sgml-docbook.cat
There would be build errors if multiple builds use the same SSTATE_DIR,
and the builds use the different versions' docbook-sgml-dtd-native, the
problems are: we have multiple versions docbook-sgml-dtd-native:
docbook-sgml-dtd-3.1-native
docbook-sgml-dtd-4.1-native
docbook-sgml-dtd-4.5-native
And they depend on sgml-common-native which installs the file
sysroot/etc/sgml/sgml-docbook.cat, this file is also included in the
sstate cache file (.tar.gz), but both the 3 versions
docbook-sgml-dtd-native may update the
sysroot/ect/sgml/sgml-docbook.cat, and it is a hardlink to
SYSROOT_DESTDIR/etc/sgml/sgml-docbook.cat, so the sgml-docbook.cat in
the sstate cache file may contain the
docbook-sgml-dtd-<version>-native's info, and there would be errors when
we mirror the sstate-cache to another build which uses a different
version.
Now we exclude the sgml-docbook.cat from the ${D}, and generate
sysroot/ect/sgml/sgml-docbook.cat dynamically will fix the problem, both
the sgml-common-native and docbook-sgml-dtd-<version>-native can update
it it correctly.
The similar to docbook-dsssl-stylesheets-native and openjade-native.
[YOCTO #5994]
(From OE-Core rev: 50683df81e1605ad7c03bc633aa55da7e97cfe62)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools/openjade/openjade-native_1.3.2.bb')
-rw-r--r-- | meta/recipes-devtools/openjade/openjade-native_1.3.2.bb | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/meta/recipes-devtools/openjade/openjade-native_1.3.2.bb b/meta/recipes-devtools/openjade/openjade-native_1.3.2.bb index ccce421cf3..fa7aa62eb3 100644 --- a/meta/recipes-devtools/openjade/openjade-native_1.3.2.bb +++ b/meta/recipes-devtools/openjade/openjade-native_1.3.2.bb | |||
@@ -40,6 +40,7 @@ CFLAGS =+ "-I${S}/include" | |||
40 | 40 | ||
41 | SSTATEPOSTINSTFUNCS += "openjade_sstate_postinst" | 41 | SSTATEPOSTINSTFUNCS += "openjade_sstate_postinst" |
42 | SYSROOT_PREPROCESS_FUNCS += "openjade_sysroot_preprocess" | 42 | SYSROOT_PREPROCESS_FUNCS += "openjade_sysroot_preprocess" |
43 | CLEANFUNCS += "openjade_sstate_clean" | ||
43 | 44 | ||
44 | # configure.in needs to be reloacted to trigger reautoconf | 45 | # configure.in needs to be reloacted to trigger reautoconf |
45 | do_extraunpack () { | 46 | do_extraunpack () { |
@@ -97,3 +98,11 @@ openjade_sysroot_preprocess () { | |||
97 | install -m 755 ${STAGING_BINDIR_NATIVE}/install-catalog ${SYSROOT_DESTDIR}${bindir_crossscripts}/install-catalog-openjade | 98 | install -m 755 ${STAGING_BINDIR_NATIVE}/install-catalog ${SYSROOT_DESTDIR}${bindir_crossscripts}/install-catalog-openjade |
98 | } | 99 | } |
99 | 100 | ||
101 | openjade_sstate_clean () { | ||
102 | # Ensure that the catalog file sgml-docbook.cat is properly | ||
103 | # updated when the package is removed from sstate cache. | ||
104 | files="${sysconfdir}/sgml/sgml-docbook.bak ${sysconfdir}/sgml/sgml-docbook.cat" | ||
105 | for f in $files; do | ||
106 | [ ! -f $f ] || sed -i '/\/sgml\/openjade-${PV}.cat/d' $f | ||
107 | done | ||
108 | } | ||