diff options
author | DongHun Kwak <dh0128.kwak@samsung.com> | 2022-02-18 15:09:10 +0900 |
---|---|---|
committer | DongHun Kwak <dh0128.kwak@samsung.com> | 2022-02-18 15:09:33 +0900 |
commit | 628d4cb5735923923848d9a52260848a51236ba4 (patch) | |
tree | 1ffc329e9bc93cfcf76c29c8edfbf00b0a4c8e70 /packaging/install-catalog.in | |
parent | 288b1557b8a3fb18ee6127829ec2e0b5ecf523ee (diff) | |
download | sgml-skel-accepted/tizen_7.0_base.tar.gz sgml-skel-accepted/tizen_7.0_base.tar.bz2 sgml-skel-accepted/tizen_7.0_base.zip |
Bump to sgml-skel 0.7.1tizen_8.0_m2_releasetizen_7.0_m2_releasesubmit/tizen_base/20220302.072620submit/tizen_base/20220302.071146submit/tizen_base/20220225.000918submit/tizen_base/20220225.000143submit/tizen_base/20220224.235902submit/tizen_base/20220222.005959accepted/tizen/base/dev/20230602.080704accepted/tizen/base/20221115.103622accepted/tizen/base/20220302.224652accepted/tizen/8.0/base/20231005.045222accepted/tizen/7.0/base/hotfix/20221116.055153accepted/tizen/7.0/base/20221116.025745tizen_8.0_basetizen_7.0_base_hotfixtizen_7.0_basesandbox/dh0128.kwak/sgml-skel-0.7.1-20220217sandbox/backup/sgml-skel_0.7.1_20231228accepted/tizen_base_devaccepted/tizen_8.0_baseaccepted/tizen_7.0_base_hotfixaccepted/tizen_7.0_base
Change-Id: I3a6a35143a044d0db6ed874a116aab39caa6ad78
Diffstat (limited to 'packaging/install-catalog.in')
-rw-r--r-- | packaging/install-catalog.in | 163 |
1 files changed, 163 insertions, 0 deletions
diff --git a/packaging/install-catalog.in b/packaging/install-catalog.in new file mode 100644 index 0000000..358a48e --- /dev/null +++ b/packaging/install-catalog.in @@ -0,0 +1,163 @@ +#!/bin/sh +# Script to install a catalog in the centralized SGML catalog +# Send any comments to Eric Bischoff <eric@caldera.de> +# This program is under GPL license. See LICENSE file for details. + +# Set help message +SGML_HELP_MESSAGE="Usage: `basename $0` [<option>] <action>\n\ +where <option> is:\n\ +\040 -d|--delegate: \t\t\t Use DELEGATE instead of CATALOG\n\ +and where <action> is:\n\ +\040 -a|--add <centralized> <ordinary>: \t Declare ordinary catalog in the centralized catalog\n\ +\040 -r|--remove <centralized> <ordinary>:\t Remove ordinary catalog from the centralized catalog\n\ +\040 -h, --help: \t\t\t\t Print this help message and exit\n\ +\040 -v, --version: \t\t\t Print the version number and exit\n" + +# Set version message +SGML_VERSION_MESSAGE="sgml-common version @VERSION@ (install-catalog version 1.0)" + +# Set type of pointer +SGML_POINTER="CATALOG" + +# Set action to be performed +SGML_ACTION="" + +# Set catalogs +SGML_CENTRALIZED="" +SGML_ORDINARY="" + +# Process options +case $1 in + -d|--delegate) SGML_POINTER="DELEGATE" + shift 1 + ;; +esac + +# Process actions +case $1 in + -a|--add) SGML_ACTION="addition" + SGML_CENTRALIZED=$2 + SGML_ORDINARY=$3 + ;; + -r|--remove) if [ -z "$3" -o "$3" = "--version" ] + then + echo "install-catalog: Old syntax; doing nothing" + exit 0 + fi + SGML_ACTION="removal" + SGML_CENTRALIZED=$2 + SGML_ORDINARY=$3 + ;; + -h|--help) echo -e $SGML_HELP_MESSAGE + exit 0 + ;; + -v|--version) echo -e $SGML_VERSION_MESSAGE + exit 0 + ;; + --install) echo "install-catalog: Old syntax; doing nothing" + exit 0 + ;; + *) echo -e $SGML_HELP_MESSAGE >&2 + exit 1 + ;; +esac + +# Check that the super catalog can be created and changed and deleted +if [ ! -w /etc/sgml ] +then + echo "`basename $0`: unable to write in /etc/sgml." >&2 + exit 2 +fi +case $SGML_ACTION in + addition) + if [ -e /etc/sgml/catalog -a ! -w /etc/sgml/catalog ] + then + echo "`basename $0`: can not modify \"/etc/sgml/catalog\"." >&2 + exit 2 + fi + ;; + removal) + if [ ! -w /etc/sgml/catalog ] + then + echo "`basename $0`: can not modify \"/etc/sgml/catalog\"." >&2 + exit 2 + fi + ;; +esac + +# Check that the centralized catalog can be created, changed and deleted +if [ -z "$SGML_CENTRALIZED" ] +then + echo -e $SGML_HELP_MESSAGE >&2 + exit 1 +fi +case $SGML_ACTION in + addition) + if [ -e $SGML_CENTRALIZED -a ! -w $SGML_CENTRALIZED ] + then + echo "`basename $0`: can not modify \"$SGML_CENTRALIZED\"." >&2 + exit 2 + fi + ;; + removal) + if [ ! -w $SGML_CENTRALIZED ] + then + echo "`basename $0`: can not modify \"$SGML_CENTRALIZED\"." >&2 + exit 2 + fi + ;; +esac + +# Check that we have at least one ordinary package to process +if [ -z "$SGML_ORDINARY" ] +then + echo -e $SGML_HELP_MESSAGE >&2 + exit 1 +fi +case $SGML_ACTION in + addition) + if [ ! -s $SGML_ORDINARY ] + then + echo "`basename $0`: \"$SGML_ORDINARY\" does not exist or is empty." >&2 + exit 2 + fi + ;; +esac + +# Installation or removal of pointers +case $SGML_ACTION in + addition) + echo "`basename $0`: addition of $SGML_ORDINARY in $SGML_CENTRALIZED" + if grep -q $SGML_ORDINARY $SGML_CENTRALIZED 2>/dev/null + then + echo "Warning: $SGML_ORDINARY is already installed in the centralized catalog $SGML_CENTRALIZED" >&2 + else + echo "$SGML_POINTER $SGML_ORDINARY" >> $SGML_CENTRALIZED + fi + grep -q $SGML_CENTRALIZED /etc/sgml/catalog 2>/dev/null + if [ $? -ne 0 ] + then + echo "`basename $0`: addition of $SGML_CENTRALIZED in /etc/sgml/catalog" + echo "$SGML_POINTER $SGML_CENTRALIZED" >> /etc/sgml/catalog + fi + ;; + removal) + echo "`basename $0`: removal of $SGML_ORDINARY from $SGML_CENTRALIZED" + if grep -q $SGML_ORDINARY $SGML_CENTRALIZED 2>/dev/null + then + sed -e "\:$SGML_POINTER $SGML_ORDINARY:d" < $SGML_CENTRALIZED > ${SGML_CENTRALIZED}.new + mv ${SGML_CENTRALIZED}.new $SGML_CENTRALIZED + else + echo "Warning: $SGML_ORDINARY was not found in the centralized catalog $SGML_CENTRALIZED" >&2 + fi + if [ ! -s $SGML_CENTRALIZED ] + then + rm $SGML_CENTRALIZED + echo "`basename $0`: removal of $SGML_CENTRALIZED from /etc/sgml/catalog" + sed -e "\:$SGML_POINTER $SGML_CENTRALIZED:d" < /etc/sgml/catalog > /etc/sgml/catalog.new + mv /etc/sgml/catalog.new /etc/sgml/catalog + fi + ;; +esac + +exit 0 |