[gnome-continuous-yocto/gnomeostree-3.28-rocko: 2473/8267] openjade/sgml-common: Add sstate postrm commands
- From: Emmanuele Bassi <ebassi src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-continuous-yocto/gnomeostree-3.28-rocko: 2473/8267] openjade/sgml-common: Add sstate postrm commands
- Date: Sat, 16 Dec 2017 23:16:47 +0000 (UTC)
commit 2a2634e10debd81bb95fe7be5df92f89d67f80e2
Author: Richard Purdie <richard purdie linuxfoundation org>
Date: Thu Sep 15 11:48:39 2016 +0100
openjade/sgml-common: Add sstate postrm commands
If you bump the PR of sgml-common and openjade-native but not sgml-
common-native, you will see a failure as files were removed from the
sysroot but still referenced by the sgml docbook catalog.
To properly handle this, the clean function needs to run at sstate
removal time, the problem is that this sstate removal can happen when
the metadata isn't present, so the correct removal commands are
unknown.
To avoid this, we need to write the commands into a "postrm" script
when we install the files, this can then be executed at sstate removal
time.
[YOCTO #8273]
(From OE-Core rev: cdae3e76232110903d124195b036e4e70fb28aa4)
Signed-off-by: Richard Purdie <richard purdie linuxfoundation org>
.../openjade/openjade-native_1.3.2.bb | 19 +++++++++----------
.../sgml-common/sgml-common-native_0.6.3.bb | 17 ++++++++---------
2 files changed, 17 insertions(+), 19 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 afcb8ca..8b15b0c 100644
--- a/meta/recipes-devtools/openjade/openjade-native_1.3.2.bb
+++ b/meta/recipes-devtools/openjade/openjade-native_1.3.2.bb
@@ -48,7 +48,6 @@ CXXFLAGS += "-fno-tree-dse"
SSTATEPOSTINSTFUNCS += "openjade_sstate_postinst"
SYSROOT_PREPROCESS_FUNCS += "openjade_sysroot_preprocess"
-CLEANFUNCS += "openjade_sstate_clean"
# configure.in needs to be reloacted to trigger reautoconf
do_extraunpack () {
@@ -104,6 +103,15 @@ openjade_sstate_postinst() {
${SYSROOT_DESTDIR}${bindir_crossscripts}/install-catalog-openjade \
--add ${sysconfdir}/sgml/sgml-docbook.cat \
${sysconfdir}/sgml/openjade-${PV}.cat
+ cat << EOF > ${SSTATE_INST_POSTRM}
+#!/bin/sh
+# Ensure that the catalog file sgml-docbook.cat is properly
+# updated when the package is removed from sstate cache.
+files="${sysconfdir}/sgml/sgml-docbook.bak ${sysconfdir}/sgml/sgml-docbook.cat"
+for f in \$files; do
+ [ ! -f \$f ] || sed -i '/\/sgml\/openjade-${PV}.cat/d' \$f
+done
+EOF
fi
}
@@ -111,12 +119,3 @@ openjade_sysroot_preprocess () {
install -d ${SYSROOT_DESTDIR}${bindir_crossscripts}/
install -m 755 ${STAGING_BINDIR_NATIVE}/install-catalog
${SYSROOT_DESTDIR}${bindir_crossscripts}/install-catalog-openjade
}
-
-openjade_sstate_clean () {
- # Ensure that the catalog file sgml-docbook.cat is properly
- # updated when the package is removed from sstate cache.
- files="${sysconfdir}/sgml/sgml-docbook.bak ${sysconfdir}/sgml/sgml-docbook.cat"
- for f in $files; do
- [ ! -f $f ] || sed -i '/\/sgml\/openjade-${PV}.cat/d' $f
- done
-}
diff --git a/meta/recipes-devtools/sgml-common/sgml-common-native_0.6.3.bb
b/meta/recipes-devtools/sgml-common/sgml-common-native_0.6.3.bb
index 5975365..97b308a 100644
--- a/meta/recipes-devtools/sgml-common/sgml-common-native_0.6.3.bb
+++ b/meta/recipes-devtools/sgml-common/sgml-common-native_0.6.3.bb
@@ -22,8 +22,6 @@ S = "${WORKDIR}/sgml-common-${PV}"
SYSROOT_PREPROCESS_FUNCS += "sgml_common_native_mangle"
SSTATEPOSTINSTFUNCS += "sgml_common_sstate_postinst"
-CLEANFUNCS += "sgml_common_sstate_clean"
-
do_install_append() {
# install-catalog script contains hard-coded references to
@@ -59,13 +57,14 @@ sgml_common_sstate_postinst() {
fi
done
fi
- fi
-}
+ cat << EOF > ${SSTATE_INST_POSTRM}
+#!/bin/sh
-sgml_common_sstate_clean () {
- # Ensure that the catalog file sgml-docbook.cat is properly
- # updated when the package is removed from sstate cache.
- if [ -f ${sysconfdir}/sgml/sgml-docbook.cat ]; then
- sed -i '/\/sgml\/sgml-ent.cat/d' ${sysconfdir}/sgml/sgml-docbook.cat
+# Ensure that the catalog file sgml-docbook.cat is properly
+# updated when the package is removed from sstate cache.
+if [ -f ${sysconfdir}/sgml/sgml-docbook.cat ]; then
+ sed -i '/\/sgml\/sgml-ent.cat/d' ${sysconfdir}/sgml/sgml-docbook.cat
+fi
+EOF
fi
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]