office-gobmx/bin/distro-install-sdk
RMZeroFour 074714fab8 .NET Bindings: Create nuget package for LO SDK
This patch includes:
1. CustomTarget to build and place the LibreOffice.Bindings NuGet
   package in <sdk>/dotnet/
2. net_bridge (.NET library) to declare bootstrap() on the C# side,
   and net_bootstrap (C++ library) to wrap bootstrap() on the native side
3. Changes to LO SDK scripts to find .NET SDK and DOTNET_ROOT on the
   users machine

Change-Id: Ia29ae56a2ad0f808f1563ef6167a3bd7c476642e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170172
Tested-by: Jenkins
Reviewed-by: Hossein <hossein@libreoffice.org>
2024-09-18 08:08:31 +02:00

85 lines
4.4 KiB
Bash
Executable file

#!/bin/sh
if test -z "${SRC_ROOT}"; then
echo "distro-install-clean-up: No environment set!"
exit 1
fi
if test -d $DESTDIR$INSTALLDIR/sdk ; then
echo "SDK installation clean up"
# bin potential .orig files
find $DESTDIR$INSTALLDIR/sdk -name "*.orig" -exec rm -f {} \;
# move some SDK directories to the right place according to FHS
# note that examples must stay in $DESTDIR$INSTALLDIR/sdk because there are used
# relative paths to $DESTDIR$INSTALLDIR/sdk/setting and it does not work via
# a symlink
mkdir -p $DESTDIR$PREFIXDIR/include
mkdir -p $DESTDIR$DATADIR/idl
mkdir -p $DESTDIR$DATADIR/$INSTALLDIRNAME/sdk
mkdir -p $DESTDIR$DOCDIR/sdk
mv $DESTDIR$INSTALLDIR/sdk/include $DESTDIR$PREFIXDIR/include/$INSTALLDIRNAME
if [ -d $DESTDIR$INSTALLDIR/sdk/classes ]; then
mv $DESTDIR$INSTALLDIR/sdk/classes $DESTDIR$DATADIR/$INSTALLDIRNAME/sdk/classes
fi
mv $DESTDIR$INSTALLDIR/sdk/idl $DESTDIR$DATADIR/idl/$INSTALLDIRNAME
mv $DESTDIR$INSTALLDIR/sdk/docs $DESTDIR$DOCDIR/sdk
mv $DESTDIR$INSTALLDIR/sdk/share/readme $DESTDIR$DOCDIR/sdk/readme
mv $DESTDIR$INSTALLDIR/sdk/index.html $DESTDIR$DOCDIR/sdk
# compat symlinks
ln -sf $PREFIXDIR/include/$INSTALLDIRNAME $DESTDIR$INSTALLDIR/sdk/include
ln -sf $DATADIR/$INSTALLDIRNAME/sdk/classes $DESTDIR$INSTALLDIR/sdk/classes
ln -sf $DATADIR/idl/$INSTALLDIRNAME $DESTDIR$INSTALLDIR/sdk/idl
ln -sf $DOCDIR/sdk/docs $DESTDIR$INSTALLDIR/sdk/
ln -sf $DOCDIR/sdk/index.html $DESTDIR$INSTALLDIR/sdk/index.html
ln -sf $INSTALLDIR/sdk/examples $DESTDIR$DOCDIR/sdk/examples
# fix file list
sed -e "s|^\(%dir \)\?$INSTALLDIR/sdk/include|\1$PREFIXDIR/include/$INSTALLDIRNAME|" \
-e "s|^\(%dir \)\?$INSTALLDIR/sdk/classes|\1$DATADIR/$INSTALLDIRNAME/sdk/classes|" \
-e "s|^\(%dir \)\?$INSTALLDIR/sdk/idl|\1$DATADIR/idl/$INSTALLDIRNAME|" \
-e "s|^\(%dir \)\?$INSTALLDIR/sdk/docs|\1$DOCDIR/sdk/docs|" \
-e "s|^\(%dir \)\?$INSTALLDIR/sdk/share/readme|\1$DOCDIR/sdk/readme|" \
-e "s|^$INSTALLDIR/sdk/index.html$|$DOCDIR/sdk/index.html|" \
-e "s|^\(%dir \)\?$INSTALLDIR/sdk/share.*$||" \
-e "/\.orig$/D" \
-e "/^$/D" \
$DESTDIR/gid_Module_Root_SDK | sort -u \
>$DESTDIR/gid_Module_Root_SDK.new
mv $DESTDIR/gid_Module_Root_SDK.new $DESTDIR/gid_Module_Root_SDK
#
echo "%dir $DATADIR/$INSTALLDIRNAME/sdk" >>$DESTDIR/gid_Module_Root_SDK
echo "%dir $DATADIR/$INSTALLDIRNAME" >>$DESTDIR/gid_Module_Root_SDK
echo "%dir $DATADIR/idl" >>$DESTDIR/gid_Module_Root_SDK
echo "%dir $DOCDIR/sdk/docs" >>$DESTDIR/gid_Module_Root_SDK
echo "%dir $DOCDIR/sdk" >>$DESTDIR/gid_Module_Root_SDK
echo "%dir $DOCDIR" >>$DESTDIR/gid_Module_Root_SDK
echo "$INSTALLDIR/sdk/include" >>$DESTDIR/gid_Module_Root_SDK
echo "$INSTALLDIR/sdk/classes" >>$DESTDIR/gid_Module_Root_SDK
echo "$INSTALLDIR/sdk/idl" >>$DESTDIR/gid_Module_Root_SDK
echo "$INSTALLDIR/sdk/docs" >>$DESTDIR/gid_Module_Root_SDK
echo "$INSTALLDIR/sdk/index.html" >>$DESTDIR/gid_Module_Root_SDK
echo "$DOCDIR/sdk/examples" >>$DESTDIR/gid_Module_Root_SDK
# generate default profiles
sed -e "s,@OO_SDK_NAME@,libreoffice${PRODUCTVERSION}_sdk," \
-e "s,@OO_SDK_HOME@,$INSTALLDIR/sdk," \
-e "s,@OFFICE_HOME@,$INSTALLDIR," \
-e "s,@OO_SDK_MAKE_HOME@,$(dirname $(command -v make))," \
-e "s,@OO_SDK_ZIP_HOME@,$(dirname $(command -v zip))," \
-e "s,@OO_SDK_CPP_HOME@,$(dirname $(command -v cpp))," \
-e "s,@OO_SDK_SED_HOME@,$(dirname $(command -v sed))," \
-e "s,@OO_SDK_CAT_HOME@,$(dirname $(command -v cat))," \
-e "s,@OO_SDK_DOTNET_ROOT@,$DOTNET_ROOT," \
-e "s,@OO_SDK_JAVA_HOME@,$JAVA_HOME," \
-e "s,@OO_SDK_OUTPUT_DIR@,\$HOME," \
-e "s,@SDK_AUTO_DEPLOYMENT@,NO," \
$DESTDIR$INSTALLDIR/sdk/setsdkenv_unix.sh.in \
> $DESTDIR$INSTALLDIR/sdk/setsdkenv_unix.sh
chmod 755 $DESTDIR$INSTALLDIR/sdk/setsdkenv_unix.sh
echo $INSTALLDIR/sdk/setsdkenv_unix.sh >>$DESTDIR/gid_Module_Root_SDK
fi