mirror of
https://github.com/flatcar/scripts.git
synced 2025-08-16 01:16:59 +02:00
eclass/sgml-catalog-r1: Add from gentoo
It's from gentoo commit 8729279eb1e48f171f86e484610a1fbbd904d67d.
This commit is contained in:
parent
6e177757d5
commit
3a273f1fcd
76
sdk_container/src/third_party/portage-stable/eclass/sgml-catalog-r1.eclass
vendored
Normal file
76
sdk_container/src/third_party/portage-stable/eclass/sgml-catalog-r1.eclass
vendored
Normal file
@ -0,0 +1,76 @@
|
||||
# Copyright 2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
# @ECLASS: sgml-catalog-r1.eclass
|
||||
# @MAINTAINER:
|
||||
# Michał Górny <mgorny@gentoo.org>
|
||||
# @AUTHOR:
|
||||
# Michał Górny <mgorny@gentoo.org>
|
||||
# @SUPPORTED_EAPIS: 7
|
||||
# @BLURB: Functions for installing SGML catalogs
|
||||
# @DESCRIPTION:
|
||||
# This eclass regenerates /etc/sgml/catalog, /etc/sgml.{,c}env
|
||||
# and /etc/env.d/93sgmltools-lite as necessary for the DocBook tooling.
|
||||
# This is done via exported pkg_postinst and pkg_postrm phases.
|
||||
|
||||
case ${EAPI:-0} in
|
||||
7) ;;
|
||||
*) die "Unsupported EAPI=${EAPI} for ${ECLASS}";;
|
||||
esac
|
||||
|
||||
EXPORT_FUNCTIONS pkg_postinst pkg_postrm
|
||||
|
||||
if [[ ! ${_SGML_CATALOG_R1} ]]; then
|
||||
|
||||
if [[ ${CATEGORY}/${PN} != app-text/sgml-common ]]; then
|
||||
RDEPEND=">=app-text/sgml-common-0.6.3-r7"
|
||||
fi
|
||||
|
||||
# @FUNCTION: sgml-catalog-r1_update_catalog
|
||||
# @DESCRIPTION:
|
||||
# Regenerate /etc/sgml/catalog to include all installed catalogs.
|
||||
sgml-catalog-r1_update_catalog() {
|
||||
local shopt_save=$(shopt -p nullglob)
|
||||
shopt -s nullglob
|
||||
local cats=( "${EROOT}"/etc/sgml/*.cat )
|
||||
${shopt_save}
|
||||
|
||||
if [[ ${#cats[@]} -gt 0 ]]; then
|
||||
ebegin "Updating ${EROOT}/etc/sgml/catalog"
|
||||
printf 'CATALOG "%s"\n' "${cats[@]}" > "${T}"/catalog &&
|
||||
mv "${T}"/catalog "${EROOT}"/etc/sgml/catalog
|
||||
eend "${?}"
|
||||
else
|
||||
ebegin "Removing ${EROOT}/etc/sgml/catalog"
|
||||
rm "${EROOT}"/etc/sgml/catalog &&
|
||||
{ rmdir "${EROOT}"/etc/sgml &>/dev/null || :; }
|
||||
eend "${?}"
|
||||
fi
|
||||
}
|
||||
|
||||
# @FUNCTION: sgml-catalog-r1_update_env
|
||||
# @DESCRIPTION:
|
||||
# Regenerate environment variables and copy them to env.d.
|
||||
sgml-catalog-r1_update_env() {
|
||||
# gensgmlenv doesn't support overriding root
|
||||
if [[ -z ${ROOT} && -x "${EPREFIX}/usr/bin/gensgmlenv" ]]; then
|
||||
ebegin "Regenerating SGML environment variables"
|
||||
gensgmlenv &&
|
||||
grep -v export "${EPREFIX}/etc/sgml/sgml.env" > "${T}"/93sgmltools-lite &&
|
||||
mv "${T}"/93sgmltools-lite "${EPREFIX}/etc/env.d/93sgmltools-lite"
|
||||
eend "${?}"
|
||||
fi
|
||||
}
|
||||
|
||||
sgml-catalog-r1_pkg_postinst() {
|
||||
sgml-catalog-r1_update_catalog
|
||||
sgml-catalog-r1_update_env
|
||||
}
|
||||
|
||||
sgml-catalog-r1_pkg_postrm() {
|
||||
sgml-catalog-r1_update_catalog
|
||||
sgml-catalog-r1_update_env
|
||||
}
|
||||
|
||||
_SGML_CATALOG_R1=1
|
||||
fi
|
Loading…
Reference in New Issue
Block a user