1
0
Fork 0
libreoffice/debian/scripts/gid2pkgdirs.sh
Daniel Baumann 2e48723132
Adding debian version 4:25.2.3-2.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
2025-06-22 16:22:18 +02:00

177 lines
8.3 KiB
Bash
Executable file

#!/bin/sh
## create split package dirs out of LibreOffices gid_* files
## copied from former ooo-build/libreoffice-build package-ooo
## (c) 2005 Chris Halls <halls@debian.org>
## (c) 2005-2011 Rene Engelhard <rene@debian.org>
export OODESTDIR=$DESTDIR
cd $DESTDIR
echo "Copying gid files...."
rm gid_*
cp $DESTDIR/../../file-lists/orig/gid_* .
echo "Creating package directories..."
test -d pkg && rm -r pkg || :
# Create package tree (needed by Debian's dpkg)
# create_package_directory <list_file> <directory_name>
create_package_directory()
{
listfile=$1
directory="$2"
perl -nl \
-e " if(/^%dir (.*)/)
{system('mkdir', '-p', '-m', '755', \"$directory\".\$1);}
else
{rename('./'.\$_, \"$directory\".\$_);}
" \
$listfile
}
# move_wrappers <directory_name> <name> [...]
move_wrappers()
{
directory=$1
shift
mkdir -m755 -p "$directory"/usr/bin
while test -n "$1"; do
mv usr/*bin/"$1$BINSUFFIX" "$directory"/usr/bin
shift
done
}
create_package_directory gid_Module_Root_Ure_Hidden pkg/ure
create_package_directory gid_Module_Root pkg/libreoffice-common
create_package_directory gid_Module_Root_Brand pkg/libreoffice-common
# done by dh_installman
#mkdir -p pkg/libreoffice-common/usr/share/man/man1
#mv usr/share/man/man1/libreoffice$BINSUFFIX.1.gz \
# pkg/libreoffice-common/usr/share/man/man1
#for i in ./usr/share/man/man1/*; do \
# if [ "$i" = "unopkg.1.gz" -o "$i" = "lofromtemplate.1.gz" \
# -o "$i" = "loffice.1.gz" ]; then p=common; \
# else p=`basename $i .1.gz | sed -e s/^lo//`; \
# fi
# mkdir -p pkg/libreoffice-$p/usr/share/man/man1
# mv $i \
# pkg/libreoffice-$p/usr/share/man/man1
#done
for i in ./usr/share/applications/*.desktop; do \
if [ "`basename $i`" = "libreoffice-startcenter.desktop" ]; then p=libreoffice-common; \
elif [ "`basename $i`" = "libreoffice-xsltfilter.desktop" ]; then p=libreoffice-common; \
else p=`basename $i .desktop`; fi
mkdir -p pkg/$p/usr/share/applications
mv $i \
pkg/$p/usr/share/applications
done
mkdir -p pkg/libreoffice-common/usr/share
mv ./usr/share/icons \
pkg/libreoffice-common/usr/share
mv ./usr/share/application-registry \
pkg/libreoffice-common/usr/share
mv ./usr/share/mime* \
pkg/libreoffice-common/usr/share
create_package_directory gid_Module_Root_Files_Images pkg/libreoffice-common
create_package_directory gid_Module_Oo_Linguistic pkg/libreoffice-common
create_package_directory gid_Module_Optional_Xsltfiltersamples pkg/libreoffice-common
create_package_directory gid_Module_Filter pkg/libreoffice-common
create_package_directory gid_Module_Optional_Grfflt pkg/libreoffice-draw
create_package_directory gid_Module_Prg_Calc_Bin pkg/libreoffice-calc
create_package_directory gid_Module_Prg_Math_Bin pkg/libreoffice-math
create_package_directory gid_Module_Prg_Draw_Bin pkg/libreoffice-draw
create_package_directory gid_Module_Prg_Wrt_Bin pkg/libreoffice-writer
create_package_directory gid_Module_Prg_Impress_Bin pkg/libreoffice-impress
create_package_directory gid_Module_Prg_Base_Bin pkg/libreoffice-base
create_package_directory gid_Module_Brand_Prg_Calc pkg/libreoffice-calc
create_package_directory gid_Module_Brand_Prg_Math pkg/libreoffice-math
create_package_directory gid_Module_Brand_Prg_Draw pkg/libreoffice-draw
create_package_directory gid_Module_Brand_Prg_Wrt pkg/libreoffice-writer
create_package_directory gid_Module_Brand_Prg_Impress pkg/libreoffice-impress
create_package_directory gid_Module_Brand_Prg_Base pkg/libreoffice-base
create_package_directory gid_Module_Pyuno pkg/python3-uno
create_package_directory gid_Module_Optional_Pyuno_LibreLogo pkg/libreoffice-librelogo
create_package_directory gid_Module_Script_Provider_For_Python pkg/libreoffice-script-provider-python
create_package_directory gid_Module_Optional_Gnome pkg/libreoffice-gnome
create_package_directory gid_Module_Optional_Kde pkg/libreoffice-kde
create_package_directory gid_Module_Optional_OGLTrans pkg/libreoffice-impress
create_package_directory gid_Module_Root_SDK pkg/libreoffice-dev
# WTF? Why is this suddently not installed itself?
mv usr/lib/libreoffice/sdk/lib \
pkg/libreoffice-dev/usr/lib/libreoffice/sdk
create_package_directory gid_Module_Optional_Extensions_Script_Provider_For_BS pkg/libreoffice-script-provider-bsh
create_package_directory gid_Module_Optional_Extensions_Script_Provider_For_JS pkg/libreoffice-script-provider-js
create_package_directory gid_Module_Optional_Extensions_MEDIAWIKI pkg/libreoffice-wiki-publisher
create_package_directory gid_Module_Optional_Extensions_NLPSolver pkg/libreoffice-nlpsolver
create_package_directory gid_Module_Pdfimport pkg/libreoffice-common
create_package_directory gid_Module_Reportbuilder pkg/libreoffice-report-builder
create_package_directory gid_Module_Optional_PostgresqlSdbc pkg/libreoffice-sdbc-postgresql
create_package_directory gid_Module_Libreofficekit pkg/libreofficekit-data
move_wrappers pkg/libreoffice-common soffice unopkg
move_wrappers pkg/libreoffice-common libreoffice loffice lofromtemplate
move_wrappers pkg/libreoffice-base lobase
move_wrappers pkg/libreoffice-writer lowriter loweb
move_wrappers pkg/libreoffice-calc localc
move_wrappers pkg/libreoffice-impress loimpress
move_wrappers pkg/libreoffice-math lomath
move_wrappers pkg/libreoffice-draw lodraw
for l in `echo $OOO_LANGS_LIST`; do
for p in Impress Draw Math Calc Base Writer; do
create_package_directory gid_Module_Langpack_${p}_`echo $l | sed -e s/-/_/g` pkg/libreoffice-l10n-$l
done
create_package_directory gid_Module_Langpack_Basis_`echo $l | sed -e s/-/_/g` pkg/libreoffice-l10n-$l
create_package_directory gid_Module_Langpack_Brand_`echo $l | sed -e s/-/_/g` pkg/libreoffice-l10n-$l
create_package_directory gid_Module_Langpack_Resource_`echo $l | sed -e s/-/_/g` pkg/libreoffice-l10n-$l
if [ -f gid_Module_Helppack_Help_`echo $l | sed -e s/-/_/g` ]; then
create_package_directory gid_Module_Helppack_Help_`echo $l | sed -e s/-/_/g` pkg/libreoffice-help-$l
fi
# some help files are in _Langpack_{Writer,Impress,...}_<lang>
# move them from -l10n to -help
if [ "$l" = "en-US" ]; then d=en; else d=$l; fi
mv pkg/libreoffice-l10n-$l/$OOINSTBASE/help/$d/* \
pkg/libreoffice-help-$l/$OOINSTBASE/help/$d && \
rmdir pkg/libreoffice-l10n-$l/$OOINSTBASE/help/$d
done
# Move all libraries and binaries from -common to -core
if [ ! -d $OODESTDIR/pkg/libreoffice-core/$OOINSTBASE/program ]; then \
mkdir -p $OODESTDIR/pkg/libreoffice-core/$OOINSTBASE/program; \
fi &&
( cd pkg/libreoffice-common/$OOINSTBASE/program
find -maxdepth 1 \
-regex '\./\(.*\.so.*\|.*\.bin\|pagein.*\|kdefilepicker\|msfontextract\|.*\.rdb\|javaldx\|oosplash\|uri-encode\|xpdfimport\|ui-previewer\|opencltest\)' \
-exec mv {} $OODESTDIR/pkg/libreoffice-core/$OOINSTBASE/program \;
);
for i in types services; do \
if [ ! -d $OODESTDIR/pkg/libreoffice-core/$OOINSTBASE/program/$i ]; then \
mkdir -p $OODESTDIR/pkg/libreoffice-core/$OOINSTBASE/program/$i; \
fi &&
( cd pkg/libreoffice-common/$OOINSTBASE/program/$i
find -maxdepth 1 \
-regex '\./\(.*\.rdb\)' \
-exec mv {} $OODESTDIR/pkg/libreoffice-core/$OOINSTBASE/program/$i \;
); \
done
mkdir -p pkg/libreoffice-common/usr/share/bash-completion/completions
mv usr/share/bash-completion/completions/libreoffice$BINSUFFIX.sh \
pkg/libreoffice-common/usr/share/bash-completion/completions/libreoffice$BINSUFFIX
mv .$OOINSTBASE/program/java-set-classpath \
pkg/libreoffice-common/$OOINSTBASE/program
if echo $OOO_LANGS_LIST | grep -q en-US; then
for i in forms/resume.ott officorr/project-proposal.ott; do \
mkdir -p pkg/libreoffice-common/$OOINSTBASE/share/template/en-US/`dirname $i`; \
mv .$OOINSTBASE/share/template/en-US/$i \
pkg/libreoffice-common/$OOINSTBASE/share/template/en-US/$i; \
done; \
fi
# Warn for any remaining files
find . -path './pkg' -prune -o -not -name 'gid_Module_*' -not -type d -exec echo "File not packaged: {}" \;