Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/LibreOffice/bin/   (Office von Apache Version 25.8.3.2©)  Datei vom 5.10.2025 mit Größe 8 kB image not shown  

Quelle  distro-install-desktop-integration   Sprache: Shell

 
#!/bin/sh

if test -z "${SRC_ROOT}"then
    echo "distro-install-clean-up: No environment set!"
    exit 1
fi

PRODUCTVERSION_NODOT=`echo $PRODUCTVERSION | sed -e "s/\.//"`

mkdir -p "$DESTDIR$BINDIR"

create_wrapper()
{
    echo "Install $BINDIR/$1"

    if test -L "$DESTDIR$BINDIR/$1" ; then
        # do not overwrite $BINDIR/libreoffice symlink created by create_tree.sh
        # the symlink is necessary by java UNO components to find
        # the UNO installation using $PATH; this function used to be provided
        # by $BINDIR/soffice symlink, see
        http://udk.openoffice.org/common/man/spec/transparentofficecomponents.html
        # Note: if you want to support parallel installation of more OOo versions
        #       you cannot include this link directly into the package
        #       For example, the Novell package mark this symlink as %ghost
        # and update it in %post and %postun
        echo " skip already existing symlink $BINDIR/$1"
    else
        mkdir -p "$DESTDIR$BINDIR"
        cat <<EOT >"$DESTDIR$BINDIR/$1"
#!/bin/sh
$INSTALLDIR/program/$2 $3 "\$@"
EOT
        chmod 755 "$DESTDIR$BINDIR/$1"
    fi
    # put into file list
    test -f "$DESTDIR/$4" && echo "$BINDIR/$1" >>$DESTDIR/$4
}

create_man_link()
{
    echo "Install $MANDIR/man1/$1.1.gz"

    mkdir -p $DESTDIR$MANDIR/man1
    echo ".so man1/$2.1" >| $DESTDIR$MANDIR/man1/$1.1
    gzip -f $DESTDIR$MANDIR/man1/$1.1
    test -f "$DESTDIR/$3" && echo "$MANDIR/man1/$1.1.gz" >>"$DESTDIR/$3"
}

install_man()
{
    echo "Install $MANDIR/man1/$1.1.gz"

    mkdir -p $DESTDIR$MANDIR/man1
    cp "${SRCDIR?}"/sysui/desktop/man/$1.1 $DESTDIR$MANDIR/man1 || exit 1;
    gzip -f $DESTDIR$MANDIR/man1/$1.1
    test -f "$DESTDIR/$2" && echo "$MANDIR/man1/$1.1.gz" >>"$DESTDIR/$2"
}


add_wrapper()
{
    lowrapper_name="$1"
    target_binary="$2"
    target_option_1="$3"
    used_man_page="$4"
    desktop_file="$5"
    file_list="$6"

    # do we want compat oowrapper?
    oowrapper_name=""
    if test "$WITH_COMPAT_OOWRAPPERS" = 'TRUE' ; then
        oowrapper_name=`echo "$lowrapper_name" | sed -e "s/^lo/oo/"`
        # "oo" prefix only for wrappers stating with "lo" prefix
        test "$oowrapper_name" = "$lowrapper_name" && oowrapper_name=
    fi

    # wrappers
    create_wrapper "$lowrapper_name" "$target_binary" "$target_option_1" "$file_list"
    test -n "$oowrapper_name" && create_wrapper "$oowrapper_name" "$target_binary" "$target_option_1" "$file_list"

    # man pages
    if test "$used_man_page" = "$lowrapper_name" ; then
        # need to install the manual page
        install_man "$lowrapper_name" "$file_list"
    else
        # just link the manual page
        create_man_link "$lowrapper_name" "$used_man_page" "$file_list"
    fi
    test -n "$oowrapper_name" && create_man_link "$oowrapper_name" "$used_man_page" "$file_list"

    # add desktop file to the right file list
    test -n "$desktop_file" -a -f "$DESTDIR/$file_list" && echo "$PREFIXDIR/share/applications/$desktop_file" >>"$DESTDIR/$file_list"
}

# install desktop integration from plain packages
sysui_temp=`mktemp -d -t distro-pack-desktop-integration-XXXXXX`
cp -a workdir/CustomTarget/sysui/share/libreoffice/* "$sysui_temp"
cp -a "${SRCDIR?}"/sysui/desktop/share/create_tree.sh "$sysui_temp"
cd $sysui_temp
# we want non-versioned stuff in the distro packages
sed -i \
    -e "s/\($INSTALLDIRNAME\)$PRODUCTVERSION_NODOT/\1/" \
    -e "s/\($INSTALLDIRNAME\)$PRODUCTVERSION/\1/" \
    -e "s/\($PRODUCTNAME\) $PRODUCTVERSION/\1/" \
    *
# call in subshell to do not malform PRODUCTVERSION, ...
(
    export OFFICE_PREFIX=$LIBDIR
    export PREFIX=$INSTALLDIRNAME
    export ICON_PREFIX=$INSTALLDIRNAME
    export ICON_SOURCE_DIR="${SRCDIR?}"/sysui/desktop/icons
    export PRODUCTVERSION=
    export KDEMAINDIR=$PREFIXDIR
    export PREFIXDIR=${PREFIXDIR}
    export APPDATA_SOURCE_DIR="${SRCDIR?}"/sysui/desktop/appstream-appdata
    bash ./create_tree.sh
)
cd -
rm -rf $sysui_temp

# we do not want some stuff from the plain packages
if test -d $DESTDIR/opt ; then
    rm -f $DESTDIR/opt/$INSTALLDIRNAME
    rmdir $DESTDIR/opt 2>/dev/null || true
fi

# we want non-versioned desktop files
cd $DESTDIR/$INSTALLDIR/share/xdg
# we want non-versioned stuff in the distro packages
sed -i \
    -e "s/\($INSTALLDIRNAME\)$PRODUCTVERSION_NODOT/\1/" \
    -e "s/\($INSTALLDIRNAME\)$PRODUCTVERSION/\1/" \
    -e "s/\($PRODUCTNAME\) $PRODUCTVERSION/\1/" \
    *.desktop
cd -

# put the stuff installed by create_tree.sh into the right file lists
# desktop files will be added by the corresponding add_wrapper command
if test -f $DESTDIR/gid_Module_Root_Brand ; then
    for dir in $PREFIXDIR/share/mime/packages \
               $PREFIXDIR/share/icons ; do
        find "$DESTDIR$dir" \( -type f -o -type l \) -printf "$dir/%P\n" >>$DESTDIR/gid_Module_Root_Brand
    done
fi

# wrappers and man pages
# FIXME: do not have desktop file and MIME icon for unopkg
add_wrapper lobase         soffice "--base"       "libreoffice" "libreoffice-base.desktop"        "gid_Module_Brand_Prg_Base"
add_wrapper localc         soffice "--calc"       "libreoffice" "libreoffice-calc.desktop"        "gid_Module_Brand_Prg_Calc"
add_wrapper lodraw         soffice "--draw"       "libreoffice" "libreoffice-draw.desktop"        "gid_Module_Brand_Prg_Draw"
add_wrapper lomath         soffice "--math"       "libreoffice" "libreoffice-math.desktop"        "gid_Module_Brand_Prg_Math"
add_wrapper loimpress      soffice "--impress"    "libreoffice" "libreoffice-impress.desktop"     "gid_Module_Brand_Prg_Impress"
add_wrapper loweb          soffice "--web"        "libreoffice" ""                                "gid_Module_Brand_Prg_Wrt"
add_wrapper lowriter       soffice "--writer"     "libreoffice" "libreoffice-writer.desktop"      "gid_Module_Brand_Prg_Wrt"
add_wrapper lofromtemplate soffice ".uno:NewDoc"  "libreoffice" ""                                "gid_Module_Root_Brand"
add_wrapper libreoffice    soffice ""            "libreoffice" "libreoffice-startcenter.desktop" "gid_Module_Root_Brand"
add_wrapper loffice        soffice ""            "libreoffice" ""                                "gid_Module_Root_Brand"
add_wrapper unopkg         unopkg  ""            "unopkg"      ""                                "gid_Module_Root_Brand"

# there are two more desktop files for optional filters
test -f $DESTDIR/gid_Module_Optional_Xsltfiltersamples && echo "$PREFIXDIR/share/applications/libreoffice-xsltfilter.desktop" >>"$DESTDIR/gid_Module_Optional_Xsltfiltersamples"

# $BINDIR/ooffice symlink is necessary by java UNO components to find
# the UNO installation using $PATH, see
http://udk.openoffice.org/common/man/spec/transparentofficecomponents.html
# Note: if you want to support parallel installation of more OOo versions
#       you cannot include this link directly into the package
#       For example, the Novell package mark this symlink as %ghost
# and update it in %post and %postun
ln -sf "$INSTALLDIR/program/soffice" "$DESTDIR$BINDIR/soffice"
test -f $DESTDIR/gid_Module_Root_Brand && echo "$BINDIR/soffice" >>$DESTDIR/gid_Module_Root_Brand

# create bash completion
mkdir -p $DESTDIR/usr/share/bash-completion/completions
"${SRCDIR?}"/bin/generate-bash-completion.py bin/bash-completion.in $DESTDIR/usr/share/bash-completion/completions/$INSTALLDIRNAME.sh
test -f $DESTDIR/gid_Module_Root_Brand && echo "/usr/share/bash-completion/completions/$INSTALLDIRNAME.sh" >>$DESTDIR/gid_Module_Root_Brand
if test "$WITH_COMPAT_OOWRAPPERS" = "TRUE" ; then
    "${SRCDIR?}"/bin/generate-bash-completion.py --compat-oowrappers bin/bash-completion.in $DESTDIR/usr/share/bash-completion/completions/ooffice.sh
    test -f $DESTDIR/gid_Module_Root_Brand && echo "/usr/share/bash-completion/completions/ooffice.sh" >>$DESTDIR/gid_Module_Root_Brand
fi

echo "Install $OOINSTDIR/basis$VERSION/program/java-set-classpath";
mkdir -p $DESTDIR$INSTALLDIR/program
sed -e "s|@INSTALLDIR@|$INSTALLDIR|g" "${SRCDIR?}"/bin/java-set-classpath.in >| "$DESTDIR$INSTALLDIR/program/java-set-classpath" || exit 1;
chmod 755 "$DESTDIR$INSTALLDIR/program/java-set-classpath"
test -f $DESTDIR/gid_Module_Root_Brand && echo "$INSTALLDIR/program/java-set-classpath" >>$DESTDIR/gid_Module_Root_Brand

exit 0

Messung V0.5
C=93 H=95 G=93

¤ Dauer der Verarbeitung: 0.4 Sekunden  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.