#!/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 <"$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 >distro/suse/suse-3.6 LibreOffice 核心代码仓库文档基金会
summaryrefslogtreecommitdiff
path: root/Makefile.gbuild
AgeCommit message (Expand)Author
2024-06-19use gb_StaticLibrary_WORKDIR and gb_Library_DLLDIR more consistentlyChristian Lohmaier
2024-06-06mar: allow parallel creation of diff packagesChristian Lohmaier
2024-01-22Create MAR updates from msi rather than from archiveStephan Bergmann
2024-01-16Remove unused `make upload-update-info`Stephan Bergmann
2024-01-12Further adapting of create-partial-infoStephan Bergmann
2024-01-11Fix `make create-partial-info` (for Windows, at least)Stephan Bergmann
2024-01-05Fix `make create-update-info` also for non-WindowsStephan Bergmann
2024-01-05Fix `make create-update-info` (for Windows, at least)Stephan Bergmann
2024-01-02Hard-code --with-online-update-mar-channel=LOOnlineUpdaterStephan Bergmann
2023-12-12Split --with-update-config=... into many --with-online-update-mar-...=...Stephan Bergmann
2022-12-15create pocheck convenience targetChristian Lohmaier
2022-01-12gbuild: build static LO / link static executablesJan-Marek Glogowski
2021-12-10Generally determine Rdb content from gb_*_set_componentfile callsStephan Bergmann
2021-12-06gbuild: create services.rdb from built componentsJan-Marek Glogowski
2021-12-01gbuild: serialize dynamic link for static buildsJan-Marek Glogowski
2020-09-11Fix the minimal build-tools targetJan-Marek Glogowski
2020-06-29More WIP work for macOS on Apple SiliconTor Lillqvist