summaryrefslogtreecommitdiffstats
path: root/meta/classes/xmlcatalog.bbclass
blob: e805e7b7b4e0274916bb5df2040b78ede4aee71f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# A whitespace-separated list of XML catalogs to be registered, for example
# "${sysconfdir}/xml/docbook-xml.xml".
XMLCATALOGS ?= ""

SYSROOT_PREPROCESS_FUNCS_append = " xmlcatalog_sstate_postinst"

xmlcatalog_complete() {
	# In case of eSDK, build-sysroot does not have xmlcatalog in its staging directory.
	[ "`which xmlcatalog`" = "" ] && exit 0
	ROOTCATALOG="${STAGING_ETCDIR_NATIVE}/xml/catalog"
	if [ ! -f $ROOTCATALOG ]; then
		mkdir --parents $(dirname $ROOTCATALOG)
		xmlcatalog --noout --create $ROOTCATALOG
	fi
	for CATALOG in ${XMLCATALOGS}; do
		xmlcatalog --noout --add nextCatalog unused file://$CATALOG $ROOTCATALOG
	done
}

xmlcatalog_sstate_postinst() {
	mkdir -p ${SYSROOT_DESTDIR}${bindir}
	dest=${SYSROOT_DESTDIR}${bindir}/postinst-${PN}-xmlcatalog
	echo '#!/bin/sh' > $dest
	echo '${xmlcatalog_complete}' >> $dest
	chmod 0755 $dest
}