diff options
Diffstat (limited to 'bin')
-rw-r--r-- | bin/bash-completion.in | 90 | ||||
-rwxr-xr-x | bin/create_bootstrap_links | 15 | ||||
-rwxr-xr-x | bin/distro-install-clean-up | 89 | ||||
-rwxr-xr-x | bin/distro-install-desktop-integration | 181 | ||||
-rwxr-xr-x | bin/distro-install-file-lists | 555 | ||||
-rwxr-xr-x | bin/distro-install-sdk | 86 | ||||
-rwxr-xr-x | bin/doubleNewlines.pl | 63 | ||||
-rwxr-xr-x | bin/find-german-comments | 162 | ||||
-rwxr-xr-x | bin/find-undocumented-classes | 33 | ||||
-rwxr-xr-x | bin/generate-bash-completion | 234 | ||||
-rwxr-xr-x | bin/git-new-workdir | 82 | ||||
-rwxr-xr-x | bin/git-ps1 | 52 | ||||
-rw-r--r-- | bin/java-set-classpath.in | 64 | ||||
-rwxr-xr-x | bin/lo-commit-stat | 403 | ||||
-rwxr-xr-x | bin/lo-pack-sources | 655 | ||||
-rwxr-xr-x | bin/mkworkdir | 103 | ||||
-rw-r--r-- | bin/repo-list.in | 1 | ||||
-rw-r--r-- | bin/text_cat/COPYING | 504 | ||||
-rw-r--r-- | bin/text_cat/Copyright | 21 | ||||
-rw-r--r-- | bin/text_cat/LM/english.lm | 400 | ||||
-rw-r--r-- | bin/text_cat/LM/german.lm | 400 | ||||
-rwxr-xr-x | bin/text_cat/text_cat | 229 | ||||
-rw-r--r-- | bin/text_cat/version | 2 | ||||
-rwxr-xr-x | bin/unpack-sources | 105 |
24 files changed, 0 insertions, 4529 deletions
diff --git a/bin/bash-completion.in b/bin/bash-completion.in deleted file mode 100644 index 77087c593..000000000 --- a/bin/bash-completion.in +++ /dev/null @@ -1,90 +0,0 @@ -# Programmable bash_completion file for the main office applications -# It is based on /etc/profile.d/complete.bash from SUSE Linux 10.1 - -_def=; _dir=; _file=; _nosp= -if complete -o default _nullcommand &> /dev/null ; then - _def="-o default" - _dir="-o dirnames" - _file="-o filenames" -fi -_minusdd="-d ${_dir}" -_minusdf="-d ${_file}" -if complete -o nospace _nullcommand &> /dev/null ; then - _nosp="-o nospace" - _minusdd="${_nosp} ${_dir}" - _minusdf="${_nosp} ${_dir}" -fi -complete -r _nullcommand &> /dev/null - -# General expanding shell function -@OFFICE_SHELL_FUNCTION@ () -{ - # bash `complete' is broken because you can not combine - # -d, -f, and -X pattern without missing directories. - local c=${COMP_WORDS[COMP_CWORD]} - local a="${COMP_LINE}" - local e s g=0 cd dc t="" - local IFS - - shopt -q extglob && g=1 - test $g -eq 0 && shopt -s extglob - # Don't be fooled by the bash parser if extglob is off by default - cd='*-?(c)d*' - dc='*-d?(c)*' - - case "${1##*/}" in -@BASH_COMPLETION_SUFFIXES_CHECKS@ - *) e='!*' - esac - - case "$(complete -p ${1##*/} 2> /dev/null)" in - *-d*) ;; - *) s="-S/" - esac - - IFS=' -' - case "$c" in - \$\(*\)) eval COMPREPLY=\(${c}\) ;; - \$\(*) COMPREPLY=($(compgen -c -P '$(' -S ')' -- ${c#??})) ;; - \`*\`) eval COMPREPLY=\(${c}\) ;; - \`*) COMPREPLY=($(compgen -c -P '\`' -S '\`' -- ${c#?})) ;; - \$\{*\}) eval COMPREPLY=\(${c}\) ;; - \$\{*) COMPREPLY=($(compgen -v -P '${' -S '}' -- ${c#??})) ;; - \$*) COMPREPLY=($(compgen -v -P '$' -- ${c#?})) ;; - \~*/*) COMPREPLY=($(compgen -f -X "$e" -- ${c})) ;; - \~*) COMPREPLY=($(compgen -u ${s} -- ${c})) ;; - *@*) COMPREPLY=($(compgen -A hostname -P '@' -S ':' -- ${c#*@})) ;; - *[*?[]*) COMPREPLY=($(compgen -G "${c}")) ;; - *[?*+\!@]\(*\)*) - if test $g -eq 0 ; then - COMPREPLY=($(compgen -f -X "$e" -- $c)) - test $g -eq 0 && shopt -u extglob - return - fi - COMPREPLY=($(compgen -G "${c}")) ;; - *) - if test "$c" = ".." ; then - COMPREPLY=($(compgen -d -X "$e" -S / ${_nosp} -- $c)) - else - for s in $(compgen -f -X "$e" -- $c) ; do - if test -d $s ; then - COMPREPLY=(${COMPREPLY[@]} $(compgen -f -X "$e" -S / -- $s)) - elif test -z "$t" ; then - COMPREPLY=(${COMPREPLY[@]} $s) - else - case "$(file -b $s 2> /dev/null)" in - $t) COMPREPLY=(${COMPREPLY[@]} $s) ;; - esac - fi - done - fi ;; - esac - test $g -eq 0 && shopt -u extglob -} - - -complete -d -X '.[^./]*' -F @OFFICE_SHELL_FUNCTION@ ${_file} \ -@BASH_COMPLETION_OOO_APPS@ - -unset _def _dir _file _nosp _minusdd _minusdf diff --git a/bin/create_bootstrap_links b/bin/create_bootstrap_links deleted file mode 100755 index a42f7b803..000000000 --- a/bin/create_bootstrap_links +++ /dev/null @@ -1,15 +0,0 @@ -#!/usr/bin/env bash - -BIN_DIR=$(dirname $0) -REPOS=$(cat ${BIN_DIR?}/repo-list) -cd ${BIN_DIR?}/.. -BOOTSTRAP_DIR=$(pwd) - -for repo in $REPOS ; do - for link in $(ls clone/${repo}) ; do - if [ ! -e "$link" ] ; then - echo "Creating missing link $link" - ln -s "clone/${repo}/$link" "$link" - fi - done -done diff --git a/bin/distro-install-clean-up b/bin/distro-install-clean-up deleted file mode 100755 index df7ac9d91..000000000 --- a/bin/distro-install-clean-up +++ /dev/null @@ -1,89 +0,0 @@ -#!/bin/sh - -. ./*[Ee]nv.[Ss]et.sh - -echo "Cleaning up ..."; - -remove_help_localization() -{ - lang=$1 - - # nothing to be done if the localization is en-US if it does not exist - # or if it is already removed - test "$lang" = "en-US" -o \ - ! -e $DESTDIR$INSTALLDIR/help/$lang -o \ - -L $DESTDIR$INSTALLDIR/help/$lang && return; - - echo "... remove \"$lang\"" - - rm -rf $DESTDIR$INSTALLDIR/help/$lang - grep -v "$INSTALLDIR/help/$lang" $DESTDIR/gid_Module_Root.$lang >$DESTDIR/gid_Module_Root.$lang.new - mv -f $DESTDIR/gid_Module_Root.$lang.new $DESTDIR/gid_Module_Root.$lang - # FIXME: the following code could be used without the condition - # and should replace the lines above after only the milestones - # providing gid_Module_Helppack_Help and fixed gid_Module_Root.$lang - # are supported - # Note: The problem with gid_Module_Root.$lang is that it still includes - # %dir */help/* entries. - # Note: It was still necessary on ppc with gcj (OOo-2.0.2). Strange. Have to - # investigate it later. - if test -f $DESTDIR/gid_Module_Helppack_Help.$lang ; then - grep -v "$INSTALLDIR/help/$lang" $DESTDIR/gid_Module_Helppack_Help.$lang >$DESTDIR/gid_Module_Helppack_Help.$lang.new - mv -f $DESTDIR/gid_Module_Helppack_Help.$lang.new $DESTDIR/gid_Module_Helppack_Help.$lang - fi - - # Note: We created a compat symlink in the past. It is no longer necessary. - # We do not want it because RPM has problems with update when we remove - # poor localizations in never packages -} - -# Check if the English help is installed and is in the main package (is first on the list) -# Note that Java-disabled builds do not create help at all. -if test -f $DESTDIR$INSTALLDIR/help/en/sbasic.cfg -a \ - "`for lang in $WITH_LANG_LIST ; do echo $lang ; break ; done`" = "en-US" ; then - - echo "Removing duplicated English help..." - - for lang in $WITH_LANG_LIST ; do - test ! -f $DESTDIR$INSTALLDIR/help/en/sbasic.cfg -o ! -f $DESTDIR$INSTALLDIR/help/$lang/sbasic.cfg && continue; - if diff $DESTDIR$INSTALLDIR/help/en/sbasic.cfg $DESTDIR$INSTALLDIR/help/$lang/sbasic.cfg >/dev/null 2>&1 ; then - remove_help_localization $lang - fi - done - - echo "Removing poor help localizations..." - - for lang in $WITH_POOR_HELP_LOCALIZATIONS ; do - remove_help_localization $lang - done -fi - -echo "Fixing permissions..." -for dir in $DOCDIR $DESTDIR$INSTALLDIR/basis$PRODUCTVERSION/sdk/examples ; do - if test -d $dir -a -w $dir ; then - find "$dir" -type f \( -name "*.txt" -o -name "*.java" -o -name "*.xml" -o \ - -name "*.xcu" -o -name "*.xcs" -o -name "*.html" -o \ - -name "*.pdf" -o -name "*.ps" -o -name "*.gif" -o \ - -name "*.png" -o -name "*.jpg" -o -name "Makefile" -o \ - -name "manifest.mf" \) -exec chmod 644 {} \; - fi -done - -if test "z$DESTDIR" != "z" ; then - echo "Checking for DESTDIR inside installed files..." - found_destdir= - for file in `find $DESTDIR -type f` ; do - grep -q "$DESTDIR" $file && echo "$file: includes the string \"$DESTDIR\"" && found_destdir=1 - done - if test "z$found_destdir" != "z" ; then - echo "!!!!!!!!!!!!!!!!!!!!!! WARNING !!!!!!!!!!!!!!!!!!!!!!" - echo "The path DESTDIR:$DESTDIR was found inside some" - echo "installed files. It is probably a bug." - echo - echo "Especially, if the DESTDIR is set to \$RPM_BUILD_ROOT" - echo "when creating RPM packages. Even it could be a security hole" - echo "if the application searches /var/tmp for binaries or" - echo "config files because the directory is world-writable." - echo "!!!!!!!!!!!!!!!!!!!!!! WARNING !!!!!!!!!!!!!!!!!!!!!!" - fi -fi diff --git a/bin/distro-install-desktop-integration b/bin/distro-install-desktop-integration deleted file mode 100755 index 6bacb1b7c..000000000 --- a/bin/distro-install-desktop-integration +++ /dev/null @@ -1,181 +0,0 @@ -#!/bin/sh - -. ./*[Ee]nv.[Ss]et.sh - -PRODUCTVERSION_NODOT=`echo $PRODUCTVERSION | sed -e "s/\.//"` - -mkdir -p $DESTDIR$PREFIXDIR/bin - - -create_wrapper() -{ - echo "Install $PREFIXDIR/bin/$1" - - mkdir -p $DESTDIR$PREFIXDIR/bin - cat <<EOT >$DESTDIR$PREFIXDIR/bin/$1 -#!/bin/sh -$INSTALLDIR/program/$2 $3 "\$@" -EOT - chmod 755 $DESTDIR$PREFIXDIR/bin/$1 - # put into file list - test -f "$DESTDIR/$4" && echo "$PREFIXDIR/bin/$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 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" == 'YES' ; 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 "/usr/share/applications/$desktop_file" >>"$DESTDIR/$file_list" -} - -# install desktop integration from plain packages -sysui_temp=`mktemp -d /tmp/distro-pack-desktop-integration-XXXXXX` -cp -a sysui/unxlng*/misc/libreoffice/* "$sysui_temp" -cp -a sysui/desktop/share/create_tree.sh "$sysui_temp" -builddir=`pwd` -cd $sysui_temp -# we want non-versioned stuff in the distro packages -for file in * ; do - sed -e "s/\($INSTALLDIRNAME\)$PRODUCTVERSION_NODOT/\1/" \ - -e "s/\($INSTALLDIRNAME\)$PRODUCTVERSION/\1/" \ - -e "s/\($PRODUCTNAME\) $PRODUCTVERSION/\1/" \ - "$file" >"$file.new" - mv "$file.new" "$file" -done -# call in subshell to do not malfrom PRODUCTVERSION, ... -( - export OFFICE_PREFIX=$LIBDIR - export PREFIX=$INSTALLDIRNAME - export ICON_PREFIX=$INSTALLDIRNAME - export ICON_SOURCE_DIR=$builddir/sysui/desktop/icons - export PRODUCTVERSION= - export KDEMAINDIR=/usr - export GNOMEDIR=/usr - export GNOME_MIME_THEME=hicolor - /bin/bash ./create_tree.sh -) -cd - -rm -rf $sysui_temp - -# we do not want some stuff from the plain packages -rm -f $DESTDIR/$PREFIXDIR/bin/$INSTALLDIRNAME* -rm -f $DESTDIR/usr/share/applications/libreoffice-javafilter.desktop -rm -f $DESTDIR/usr/share/applications/libreoffice-printeradmin.desktop -if test -d $DESTDIR/opt ; then - rm -f $DESTDIR/opt/$INSTALLDIRNAME - rmdir --ignore-fail-on-non-empty $DESTDIR/opt -fi - -# we want non-versioned desktop files -cd $DESTDIR/$INSTALLDIR/share/xdg -# we want non-versioned stuff in the distro packages -for file in *.desktop ; do - sed -e "s/\($INSTALLDIRNAME\)$PRODUCTVERSION_NODOT/\1/" \ - -e "s/\($INSTALLDIRNAME\)$PRODUCTVERSION/\1/" \ - -e "s/\($PRODUCTNAME\) $PRODUCTVERSION/\1/" \ - "$file" >"$file.new" - mv -f "$file.new" "$file" -done -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 /usr/share/application-registry \ - /usr/share/mimelnk/application \ - /usr/share/mime/packages \ - /usr/share/mime-info \ - /usr/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" - -# /usr/bin/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$PREFIXDIR/bin/soffice -test -f $DESTDIR/gid_Module_Root_Brand && echo "$PREFIXDIR/bin/soffice" >>$DESTDIR/gid_Module_Root_Brand - -# create bash completion -mkdir -p $DESTDIR/etc/bash_completion.d -./bin/generate-bash-completion bin/bash-completion.in $DESTDIR/etc/bash_completion.d/$INSTALLDIRNAME.sh -test -f $DESTDIR/gid_Module_Root_Brand && echo "/etc/bash_completion.d/$INSTALLDIRNAME.sh" >>$DESTDIR/gid_Module_Root_Brand -if test "$WITH_COMPAT_OOWRAPPERS" = "YES" ; then - ./bin/generate-bash-completion --compat-oowrappers bin/bash-completion.in $DESTDIR/etc/bash_completion.d/ooffice.sh - test -f $DESTDIR/gid_Module_Root_Brand && echo "/etc/bash_completion.d/ooffice.sh" >>$DESTDIR/gid_Module_Root_Brand -fi - -echo "Install $OOINSTDIR/basis$VERSION/program/java-set-classpath"; -mkdir -p $DESTDIR$INSTALLDIR/basis$PRODUCTVERSION/program -sed -e "s|@INSTALLDIR@|$INSTALLDIR|g" bin/java-set-classpath.in >| "$DESTDIR$INSTALLDIR/basis$PRODUCTVERSION/program/java-set-classpath" || exit 1; -chmod 755 "$DESTDIR$INSTALLDIR/basis$PRODUCTVERSION/program/java-set-classpath" -test -f $DESTDIR/gid_Module_Root_Brand && echo "$INSTALLDIR/basis$PRODUCTVERSION/program/java-set-classpath" >>$DESTDIR/gid_Module_Root_Brand - -exit 0 diff --git a/bin/distro-install-file-lists b/bin/distro-install-file-lists deleted file mode 100755 index f3a8bbf67..000000000 --- a/bin/distro-install-file-lists +++ /dev/null @@ -1,555 +0,0 @@ -#!/bin/sh - -. ./*[Ee]nv.[Ss]et.sh - -BUILDDIR=`pwd` -FILELISTSDIR="$BUILDDIR/file-lists" - -# remove installed file even from the file list -# Params: file_list file_to_remove -remove_file() -{ - rm -f "$DESTDIR/$2" - perl -pi -e "s|^$2$||" "$1" -} - -# move one file from one list of files to a second one -# Params: target_file_list source_file_list file_to_move -mv_file_between_flists() -{ - if grep "^$3\$" $2 >/dev/null 2>&1 ; then - # \$3 can be regular expression - grep "^$3\$" $2 >>$1 - perl -pi -e "s|^$3$||" $2 - fi -} -# add the directories from the source list of files to the target list of -# file which are used in the target list of files but are missing there -# Params: target_file_list source_file_list -add_used_directories() -{ - sort -u -r $2 | sed -n "s|^%dir \(.*\)\$|s%^\\\\(\1\\\\).*%\\\\1%p|p" >$2.pattern - sed -n -f $2.pattern $1 | sort -u | sed "s|^|%dir |" >>$1 - rm $2.pattern - sort -u $1 >$1.unique - mv $1.unique $1 -} - -# remove a duplicity between two filelist -# Params: filelist_with_original filelist_with_duplicity duplicit_path -remove_duplicity_from_flists() -{ - if grep "$3" "$1" >/dev/null 2>&1 && \ - grep "$3" "$2" >/dev/null 2>&1 ; then - perl -pi -e "s|^$3$||" $2 - fi -} - -# merges one file list into another one -# Params: source_filelist dest_filelist replace_dest -merge_flists() -{ - if test -f "$1" ; then - cat "$1" >>"$2" - sort -u "$2" >"$2".sorted - mv "$2".sorted "$2" - fi -} - -if ! test -f $DESTDIR/gid_Module_Root; then - echo "Error: Failed to generate package file lists"; - echo " Have you defined DESTDIR?" - exit 1; -fi - - -rm -rf "$FILELISTSDIR" -mkdir -p "$FILELISTSDIR" - -cd $DESTDIR - -if test "z$OOO_VENDOR" != "zDebian" ; then - - echo "Generating package file lists for $OOO_VENDOR..." - - rm -f common_list.txt - for module in gid_Module_Root gid_Module_Root_Brand \ - gid_Module_Root_Files_Images \ - gid_Module_Root_Files_[0-9] \ - gid_Module_Root_Hack \ - gid_Module_Oo_Linguistic \ - gid_Module_Root_Ure_Hidden ; do - merge_flists $module $FILELISTSDIR/common_list.txt - done - - if test "$SPLIT_APP_MODULES" = "YES" ; then - merge_flists gid_Module_Prg_Base_Bin $FILELISTSDIR/base_list.txt - merge_flists gid_Module_Prg_Calc_Bin $FILELISTSDIR/calc_list.txt - merge_flists gid_Module_Prg_Draw_Bin $FILELISTSDIR/draw_list.txt - merge_flists gid_Module_Prg_Math_Bin $FILELISTSDIR/math_list.txt - merge_flists gid_Module_Prg_Impress_Bin $FILELISTSDIR/impress_list.txt - merge_flists gid_Module_Prg_Wrt_Bin $FILELISTSDIR/writer_list.txt - merge_flists gid_Module_Brand_Prg_Base $FILELISTSDIR/base_list.txt - merge_flists gid_Module_Brand_Prg_Calc $FILELISTSDIR/calc_list.txt - merge_flists gid_Module_Brand_Prg_Draw $FILELISTSDIR/draw_list.txt - merge_flists gid_Module_Brand_Prg_Math $FILELISTSDIR/math_list.txt - merge_flists gid_Module_Brand_Prg_Impress $FILELISTSDIR/impress_list.txt - merge_flists gid_Module_Brand_Prg_Wrt $FILELISTSDIR/writer_list.txt - # FIXME: small; low dependencies; why optional module? - merge_flists gid_Module_Optional_OGLTrans $FILELISTSDIR/impress_list.txt - else - merge_flists gid_Module_Prg_Base_Bin $FILELISTSDIR/common_list.txt - merge_flists gid_Module_Prg_Calc_Bin $FILELISTSDIR/common_list.txt - merge_flists gid_Module_Prg_Draw_Bin $FILELISTSDIR/common_list.txt - merge_flists gid_Module_Prg_Math_Bin $FILELISTSDIR/common_list.txt - merge_flists gid_Module_Prg_Impress_Bin $FILELISTSDIR/common_list.txt - merge_flists gid_Module_Prg_Wrt_Bin $FILELISTSDIR/common_list.txt - merge_flists gid_Module_Brand_Prg_Base $FILELISTSDIR/common_list.txt - merge_flists gid_Module_Brand_Prg_Calc $FILELISTSDIR/common_list.txt - merge_flists gid_Module_Brand_Prg_Draw $FILELISTSDIR/common_list.txt - merge_flists gid_Module_Brand_Prg_Math $FILELISTSDIR/common_list.txt - merge_flists gid_Module_Brand_Prg_Impress $FILELISTSDIR/common_list.txt - merge_flists gid_Module_Brand_Prg_Wrt $FILELISTSDIR/common_list.txt - # FIXME: small; low dependencies; why optional module? - merge_flists gid_Module_Optional_OGLTrans $FILELISTSDIR/common_list.txt - fi - - if test "$SPLIT_OPT_FEATURES" = "YES" ; then - if test "z$OOO_VENDOR" = "zMandriva" ; then - merge_flists gid_Module_Optional_Binfilter $FILELISTSDIR/filter-binfilter_list.txt - merge_flists gid_Module_Langpack_Binfilter_en_US $FILELISTSDIR/filter-binfilter_list.txt - merge_flists gid_Module_Optional_Grfflt $FILELISTSDIR/draw_list.txt - merge_flists gid_Module_Optional_Headless $FILELISTSDIR/common_list.txt - merge_flists gid_Module_Optional_Javafilter $FILELISTSDIR/common_list.txt - merge_flists gid_Module_Optional_Pymailmerge $FILELISTSDIR/pyuno_list.txt - merge_flists gid_Module_Optional_Pyuno $FILELISTSDIR/pyuno_list.txt - merge_flists gid_Module_Optional_Testtool $FILELISTSDIR/testtool_list.txt - merge_flists gid_Module_Optional_Xsltfiltersamples $FILELISTSDIR/common_list.txt - else - merge_flists gid_Module_Optional_Binfilter $FILELISTSDIR/filters_list.txt - merge_flists gid_Module_Optional_Grfflt $FILELISTSDIR/common_list.txt - merge_flists gid_Module_Optional_Headless $FILELISTSDIR/common_list.txt - merge_flists gid_Module_Optional_Javafilter $FILELISTSDIR/filters_list.txt - merge_flists gid_Module_Optional_Pymailmerge $FILELISTSDIR/mailmerge_list.txt - merge_flists gid_Module_Optional_Pyuno $FILELISTSDIR/pyuno_list.txt - merge_flists gid_Module_Optional_Testtool $FILELISTSDIR/testtool_list.txt - merge_flists gid_Module_Optional_Xsltfiltersamples $FILELISTSDIR/filters_list.txt - fi - else - merge_flists gid_Module_Optional_Binfilter $FILELISTSDIR/common_list.txt - merge_flists gid_Module_Langpack_Binfilter $FILELISTSDIR/common_list.txt - merge_flists gid_Module_Optional_Grfflt $FILELISTSDIR/common_list.txt - merge_flists gid_Module_Optional_Headless $FILELISTSDIR/common_list.txt - merge_flists gid_Module_Optional_Javafilter $FILELISTSDIR/common_list.txt - merge_flists gid_Module_Optional_Pymailmerge $FILELISTSDIR/common_list.txt - merge_flists gid_Module_Optional_Pyuno $FILELISTSDIR/common_list.txt - merge_flists gid_Module_Optional_Testtool $FILELISTSDIR/common_list.txt - merge_flists gid_Module_Optional_Xsltfiltersamples $FILELISTSDIR/common_list.txt - fi - - # lang packs - for lang in `echo $WITH_LANG_LIST | sed -e s/-/_/g`; do - lang_lists= - if test "$OOO_VENDOR" = "Mandriva" -o \( "$OOO_VENDOR" = "Novell, Inc." -a "$SPLIT_APP_MODULES" = "YES" \) ; then - test -f gid_Module_Langpack_Basis_$lang && lang_lists="$lang_lists gid_Module_Langpack_Basis_$lang" || : - test -f gid_Module_Langpack_Brand_$lang && lang_lists="$lang_lists gid_Module_Langpack_Brand_$lang" || : - test -f gid_Module_Langpack_Resource_$lang && lang_lists="$lang_lists gid_Module_Langpack_Resource_$lang" || : - test -f gid_Module_Langpack_Impress_$lang && lang_lists="$lang_lists gid_Module_Langpack_Impress_$lang" || : - test -f gid_Module_Langpack_Draw_$lang && lang_lists="$lang_lists gid_Module_Langpack_Draw_$lang" || : - test -f gid_Module_Langpack_Math_$lang && lang_lists="$lang_lists gid_Module_Langpack_Math_$lang" || : - test -f gid_Module_Langpack_Calc_$lang && lang_lists="$lang_lists gid_Module_Langpack_Calc_$lang" || : - test -f gid_Module_Langpack_Base_$lang && lang_lists="$lang_lists gid_Module_Langpack_Base_$lang" || : - test -f gid_Module_Langpack_Writer_$lang && lang_lists="$lang_lists gid_Module_Langpack_Writer_$lang" || : - test -f gid_Module_Langpack_Binfilter_$lang && lang_lists="$lang_lists gid_Module_Langpack_Binfilter_$lang" || : - # Place helps on dedicated packages. - test -f gid_Module_Helppack_Help_$lang && sort -u gid_Module_Helppack_Help_$lang > $FILELISTSDIR/help_${lang}_list.txt || : - else - test -f gid_Module_Langpack_Basis_$lang && lang_lists="$lang_lists gid_Module_Langpack_Basis_$lang" || : - test -f gid_Module_Langpack_Brand_$lang && lang_lists="$lang_lists gid_Module_Langpack_Brand_$lang" || : - test -f gid_Module_Langpack_Resource_$lang && lang_lists="$lang_lists gid_Module_Langpack_Resource_$lang" || : - test -f gid_Module_Langpack_Impress_$lang && lang_lists="$lang_lists gid_Module_Langpack_Impress_$lang" || : - test -f gid_Module_Langpack_Draw_$lang && lang_lists="$lang_lists gid_Module_Langpack_Draw_$lang" || : - test -f gid_Module_Langpack_Math_$lang && lang_lists="$lang_lists gid_Module_Langpack_Math_$lang" || : - test -f gid_Module_Langpack_Calc_$lang && lang_lists="$lang_lists gid_Module_Langpack_Calc_$lang" || : - test -f gid_Module_Langpack_Base_$lang && lang_lists="$lang_lists gid_Module_Langpack_Base_$lang" || : - test -f gid_Module_Langpack_Writer_$lang && lang_lists="$lang_lists gid_Module_Langpack_Writer_$lang" || : - test -f gid_Module_Langpack_Binfilter_$lang && lang_lists="$lang_lists gid_Module_Langpack_Binfilter_$lang" || : - test -f gid_Module_Helppack_Help_$lang && lang_lists="$lang_lists gid_Module_Helppack_Help_$lang" || : - fi - if test -n "$lang_lists" ; then - # all files are installed below $INSTALLDIR/basis; we want to own also $INSTALLDIR - echo "%dir $INSTALLDIR" >$FILELISTSDIR/lang_${lang}_list.txt - cat $lang_lists | sort -u >>$FILELISTSDIR/lang_${lang}_list.txt - fi - # some help files are in _Langpack_{Writer,Impress,...}_<lang> - # move them from -l10n to -help - if test "$OOO_VENDOR" = "Mandriva" -o \( "$OOO_VENDOR" = "Novell, Inc." -a "$SPLIT_APP_MODULES" = "YES" \) ; then - for lang in `echo $WITH_LANG_LIST | sed -e s/-/_/g`; do - test -f $FILELISTSDIR/help_${lang}_list.txt || continue; - mv_file_between_flists $FILELISTSDIR/help_${lang}_list.txt $FILELISTSDIR/lang_${lang}_list.txt $INSTALLDIR/basis$PRODUCTVERSION/help/.* - add_used_directories $FILELISTSDIR/help_${lang}_list.txt $FILELISTSDIR/lang_${lang}_list.txt - done - fi - done - - if test -f $FILELISTSDIR/lang_en_US_list.txt -a "$OOO_VENDOR" = "Novell, Inc." -a "$SPLIT_APP_MODULES" != "YES" ; then - cat $FILELISTSDIR/lang_en_US_list.txt >>$FILELISTSDIR/common_list.txt - rm $FILELISTSDIR/lang_en_US_list.txt - fi - - if test -f gid_Module_Root_SDK ; then - cp gid_Module_Root_SDK $FILELISTSDIR/sdk_list.txt - fi - - cd $FILELISTSDIR - - # kde subpackage - test -f $DESTDIR/gid_Module_Optional_Kde && cp $DESTDIR/gid_Module_Optional_Kde kde_list.txt || : - mv_file_between_flists kde_list.txt common_list.txt $INSTALLDIR/program/kdefilepicker - mv_file_between_flists kde_list.txt common_list.txt $INSTALLDIR/basis$PRODUCTVERSION/program/fps_kde.uno.so - mv_file_between_flists kde_list.txt common_list.txt $INSTALLDIR/basis$PRODUCTVERSION/program/libvclplug_kdel..so - mv_file_between_flists kde_list.txt common_list.txt $INSTALLDIR/basis$PRODUCTVERSION/program/libkabdrv1.so - add_used_directories kde_list.txt common_list.txt - - # create kde4 subpackage - mv_file_between_flists kde4_list.txt kde_list.txt $INSTALLDIR/basis$PRODUCTVERSION/program/kde4be1.uno.so - mv_file_between_flists kde4_list.txt common_list.txt $INSTALLDIR/basis$PRODUCTVERSION/program/libvclplug_kde4l..so - mv_file_between_flists kde4_list.txt common_list.txt $INSTALLDIR/basis$PRODUCTVERSION/program/fps_kde4.uno.so - add_used_directories kde4_list.txt common_list.txt - - # gnome subpackage - test -f $DESTDIR/gid_Module_Optional_Gnome && cp $DESTDIR/gid_Module_Optional_Gnome gnome_list.txt || : - mv_file_between_flists gnome_list.txt common_list.txt $INSTALLDIR/basis$PRODUCTVERSION/program/libevoab2.so - mv_file_between_flists gnome_list.txt common_list.txt $INSTALLDIR/basis$PRODUCTVERSION/program/fps_gnome.uno.so - mv_file_between_flists gnome_list.txt common_list.txt $INSTALLDIR/basis$PRODUCTVERSION/program/libvclplug_gtk[0-9]*l..so - mv_file_between_flists common_list.txt gnome_list.txt $INSTALLDIR/basis$PRODUCTVERSION/program/ucpgvfs1.uno.so - add_used_directories gnome_list.txt common_list.txt - - # mono subpackage - mv_file_between_flists mono_list.txt common_list.txt $INSTALLDIR/basis$PRODUCTVERSION/program/cli_.*.dll - mv_file_between_flists mono_list.txt common_list.txt $INSTALLDIR/basis$PRODUCTVERSION/program/cli_.*.dll.config - mv_file_between_flists mono_list.txt common_list.txt $INSTALLDIR/basis$PRODUCTVERSION/program/policy.*.cli_.*.dll - mv_file_between_flists mono_list.txt common_list.txt $INSTALLDIR/ure/lib/cli_.*.dll - mv_file_between_flists mono_list.txt common_list.txt $INSTALLDIR/ure/lib/cli_.*.dll.config - mv_file_between_flists mono_list.txt common_list.txt $INSTALLDIR/ure/lib/policy.*.cli_.*.dll - mv_file_between_flists mono_list.txt common_list.txt $INSTALLDIR/ure/lib/libcli_.*.so - add_used_directories mono_list.txt common_list.txt - # add the files from GAC if it was installed - test -f mono_gac && cat mono_gac >>mono_list.txt - - # mailmerge - if test "$SPLIT_OPT_FEATURES" = "YES" ; then - if test "z$OOO_VENDOR" = "zMandriva" ; then - flist=pyuno_list.txt - else - flist=mailmerge_list.txt - fi - mv_file_between_flists $flist common_list.txt $INSTALLDIR/basis$PRODUCTVERSION/program/mailmerge.py - add_used_directories $flist common_list.txt - fi - - if test "z$OOO_VENDOR" = "zNovell" ; then - # officebean subpackage - mv_file_between_flists officebean_list.txt common_list.txt $INSTALLDIR/basis$PRODUCTVERSION/program/classes/officebean.jar - mv_file_between_flists officebean_list.txt common_list.txt $INSTALLDIR/basis$PRODUCTVERSION/program/libofficebean.so - add_used_directories officebean_list.txt common_list.txt - fi - - if test -f sdk_list.txt ; then - # in this case we move all entries including directories - mv_file_between_flists sdk_doc_list.txt sdk_list.txt "%dir $DOCDIRBASE/sdk/docs.*" - mv_file_between_flists sdk_doc_list.txt sdk_list.txt "$DOCDIRBASE/sdk/docs.*" - mv_file_between_flists sdk_doc_list.txt sdk_list.txt "$DOCDIRBASE/sdk/examples" - mv_file_between_flists sdk_doc_list.txt sdk_list.txt "$DOCDIRBASE/sdk/index.html" - mv_file_between_flists sdk_doc_list.txt sdk_list.txt "%dir $INSTALLDIR/basis$PRODUCTVERSION/sdk/examples.*" - mv_file_between_flists sdk_doc_list.txt sdk_list.txt "$INSTALLDIR/basis$PRODUCTVERSION/sdk/docs" - mv_file_between_flists sdk_doc_list.txt sdk_list.txt "$INSTALLDIR/basis$PRODUCTVERSION/sdk/examples.*" - mv_file_between_flists sdk_doc_list.txt sdk_list.txt "$INSTALLDIR/basis$PRODUCTVERSION/sdk/index.html" - add_used_directories sdk_doc_list.txt sdk_list.txt - fi - - if test "$OOO_VENDOR" = "Novell, Inc." -a "$SPLIT_APP_MODULES" = "YES" ; then - # move the prebuilt icons into a hacky temporary package - # we want to repack them into a noarch package as soon as possible - # without the build dependency on the huge devel package - mv_file_between_flists icon_themes_prebuilt.txt common_list.txt $INSTALLDIR/basis$PRODUCTVERSION/share/config/images_classic8.zip - mv_file_between_flists icon_themes_prebuilt.txt common_list.txt $INSTALLDIR/basis$PRODUCTVERSION/share/config/images_crystal.zip - mv_file_between_flists icon_themes_prebuilt.txt common_list.txt $INSTALLDIR/basis$PRODUCTVERSION/share/config/images_hicontrast.zip - mv_file_between_flists icon_themes_prebuilt.txt common_list.txt $INSTALLDIR/basis$PRODUCTVERSION/share/config/images_industrial.zip - mv_file_between_flists icon_themes_prebuilt.txt common_list.txt $INSTALLDIR/basis$PRODUCTVERSION/share/config/images_tango.zip - mv_file_between_flists icon_themes_prebuilt.txt common_list.txt $INSTALLDIR/basis$PRODUCTVERSION/share/config/images.zip - fi - - # Mandriva packaging - if test "$OOO_VENDOR" = "Mandriva"; then - # Not used - remove_file common_list.txt $INSTALLDIR/share/gallery/htmltheme.orig - remove_file common_list.txt $INSTALLDIR/share/dict/ooo/dictionary.lst - - # And these are in -draw package - mv_file_between_flists draw_list.txt common_list.txt $INSTALLDIR/basis$PRODUCTVERSION/share/registry/modules/org/openoffice/TypeDetection/Filter/fcfg_drawgraphics_filters.xcu - mv_file_between_flists draw_list.txt common_list.txt $INSTALLDIR/basis$PRODUCTVERSION/share/registry/modules/org/openoffice/TypeDetection/Filter/fcfg_drawgraphics_types.xcu - - # And these are in -impress package - mv_file_between_flists impress_list.txt common_list.txt $INSTALLDIR/basis$PRODUCTVERSION/share/registry/modules/org/openoffice/TypeDetection/Filter/fcfg_impressgraphics_filters.xcu - mv_file_between_flists impress_list.txt common_list.txt $INSTALLDIR/basis$PRODUCTVERSION/share/registry/modules/org/openoffice/TypeDetection/Types/fcfg_impressgraphics_types.xcu - - # Split out the gallery - mv_file_between_flists gallery_list.txt common_list.txt "$INSTALLDIR/basis$PRODUCTVERSION/share/gallery.*" - test -r galleries.txt && cat galleries.txt >> gallery_list.txt - - # Split out dtd-officedocument1.0 - mv_file_between_flists dtd_list.txt common_list.txt "$INSTALLDIR/share/dtd/officedocument.*" - - # Split out java stuff - mv_file_between_flists java_common_list.txt common_list.txt $INSTALLDIR/basis$PRODUCTVERSION/program/JREProperties.class - mv_file_between_flists java_common_list.txt common_list.txt "$INSTALLDIR/basis$PRODUCTVERSION/program/classes.*" - mv_file_between_flists java_common_list.txt common_list.txt $INSTALLDIR/basis$PRODUCTVERSION/program/libofficebean.so - mv_file_between_flists java_common_list.txt common_list.txt "$INSTALLDIR/basis$PRODUCTVERSION/share/Scripts/java.*" - mv_file_between_flists java_common_list.txt filter-binfilter_list.txt $INSTALLDIR/basis$PRODUCTVERSION/program/classes/aportisdoc.jar - mv_file_between_flists java_common_list.txt filter-binfilter_list.txt $INSTALLDIR/basis$PRODUCTVERSION/program/classes/pocketword.jar - mv_file_between_flists java_common_list.txt filter-binfilter_list.txt $INSTALLDIR/basis$PRODUCTVERSION/program/classes/pexcel.jar - mv_file_between_flists java_common_list.txt writer_list.txt $INSTALLDIR/basis$PRODUCTVERSION/program/classes/writer2latex.jar - - # Move arch-dependent/dup files from common to core - for f in \ - ".*\.so" \ - ".*\.so\..*" \ - "program/.*\.rdb" \ - program/configimport.bin \ - program/javaldx \ - program/msfontextract \ - program/nsplugin \ - program/oosplash.bin \ - program/pagein \ - program/pagein-calc \ - program/pagein-common \ - program/pagein-draw \ - program/pagein-impress \ - program/pagein-writer \ - program/pkgchk.bin \ - program/pluginapp.bin \ - program/setofficelang.bin \ - program/soffice.bin \ - program/spadmin.bin \ - program/uno.bin \ - program/unopkg.bin \ - program/uri-encode - do - mv_file_between_flists core_list.txt common_list.txt "$INSTALLDIR/basis$PRODUCTVERSION/$f" - done - - # Put gtk/gnome stuff into gnome package - mv_file_between_flists gnome_list.txt core_list.txt $INSTALLDIR/basis$PRODUCTVERSION/program/gnome-open-url.bin - mv_file_between_flists gnome_list.txt core_list.txt $INSTALLDIR/basis$PRODUCTVERSION/program/fps_gnome.uno.so - mv_file_between_flists gnome_list.txt core_list.txt $INSTALLDIR/basis$PRODUCTVERSION/program/ucpgvfs1.uno.so - mv_file_between_flists gnome_list.txt core_list.txt $INSTALLDIR/basis$PRODUCTVERSION/program/libeggtray680li.so - - # Ship ooqstart for gnome in gnome package - mv_file_between_flists gnome_list.txt core_list.txt "$INSTALLDIR/program/libqstart_gtk680.*" - - # themes are included in other packages - # don't use remove_file as we don't want them removed from the buildroot. - mv_file_between_flists /dev/null common_list.txt $INSTALLDIR/basis$PRODUCTVERSION/share/config/images_crystal.zip - mv_file_between_flists /dev/null common_list.txt $INSTALLDIR/basis$PRODUCTVERSION/share/config/images_hicontrast.zip - mv_file_between_flists /dev/null common_list.txt $INSTALLDIR/basis$PRODUCTVERSION/share/config/images_industrial.zip - mv_file_between_flists /dev/null common_list.txt $INSTALLDIR/basis$PRODUCTVERSION/share/config/images_tango.zip - mv_file_between_flists /dev/null common_list.txt $INSTALLDIR/basis$PRODUCTVERSION/share/config/images.zip - fi - - # remove known duplicities to do not have files packaged in two packages - # the Bulgarian fixes can be removed after the issue #54110 is fixed - remove_duplicity_from_flists common_list.txt lang_bg_list.txt $INSTALLDIR/basis$PRODUCTVERSION/presets/config/arrowhd.soe - remove_duplicity_from_flists common_list.txt lang_bg_list.txt $INSTALLDIR/basis$PRODUCTVERSION/presets/config/classic.sog - remove_duplicity_from_flists common_list.txt lang_bg_list.txt $INSTALLDIR/basis$PRODUCTVERSION/presets/config/hatching.soh - remove_duplicity_from_flists common_list.txt lang_bg_list.txt $INSTALLDIR/basis$PRODUCTVERSION/presets/config/modern.sog - remove_duplicity_from_flists common_list.txt lang_bg_list.txt $INSTALLDIR/basis$PRODUCTVERSION/presets/config/palette.soc - remove_duplicity_from_flists common_list.txt lang_bg_list.txt $INSTALLDIR/basis$PRODUCTVERSION/presets/config/styles.sod - # the British fixes can be removed after the issue #54113 is fixed - remove_duplicity_from_flists common_list.txt lang_en-GB_list.txt $INSTALLDIR/basis$PRODUCTVERSION/presets/config/standard.sog - -else - - 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 - } - - 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 - 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_Optional_Javafilter pkg/libreoffice-common - if [ -f gid_Module_Optional_Binfilter ]; then - create_package_directory gid_Module_Optional_Binfilter pkg/libreoffice-filter-binfilter - fi - 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_Optional_Pyuno pkg/python-uno - 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_Root_Files_2 pkg/libreoffice-common - create_package_directory gid_Module_Root_Files_3 pkg/libreoffice-common - create_package_directory gid_Module_Root_Files_4 pkg/libreoffice-common - create_package_directory gid_Module_Root_Files_5 pkg/libreoffice-common - create_package_directory gid_Module_Root_Files_6 pkg/libreoffice-common - create_package_directory gid_Module_Root_Files_7 pkg/libreoffice-common - create_package_directory gid_Module_Optional_Testtool pkg/libreoffice-qa-tools - if [ -e gid_Module_Optional_Pymailmerge ]; then - create_package_directory gid_Module_Optional_Pymailmerge pkg/libreoffice-emailmerge - else # post m26 - mkdir -p pkg/libreoffice-emailmerge/$INSTALLDIR/basis$PRODUCTVERSION/program - mv pkg/libreoffice-common/$INSTALLDIR/basis$PRODUCTVERSION/program/mailmerge.py \ - pkg/libreoffice-emailmerge/$INSTALLDIR/basis$PRODUCTVERSION/program/mailmerge.py - fi - create_package_directory gid_Module_Optional_OGLTrans pkg/libreoffice-ogltrans - - create_package_directory gid_Module_Root_SDK pkg/libreoffice-dev - - for l in `echo $WITH_LANG_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 - create_package_directory gid_Module_Helppack_Help_`echo $l | sed -e s/-/_/g` pkg/libreoffice-help-$l - if [ -f gid_Module_Optional_Binfilter ]; then - if [ "$l" = "en-US" ]; then - create_package_directory gid_Module_Langpack_Binfilter_en_US pkg/libreoffice-filter-binfilter - else - create_package_directory gid_Module_Langpack_Binfilter_`echo $l | sed -e s/-/_/g` pkg/libreoffice-l10n-$l - fi - 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/$INSTALLDIR/basis$PRODUCTVERSION/help/$d/* \ - pkg/libreoffice-help-$l/$INSTALLDIR/basis$PRODUCTVERSION/help/$d && \ - rmdir pkg/libreoffice-l10n-$l/$INSTALLDIR/basis$PRODUCTVERSION/help/$d - done - - # 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 - } - move_wrappers pkg/libreoffice-common soffice unopkg - if test "$COMPAT_OOWRAPPERS" = "YES" ; then - move_wrappers pkg/libreoffice-common ooffice oofromtemplate - move_wrappers pkg/libreoffice-base oobase - move_wrappers pkg/libreoffice-writer oowriter ooweb - move_wrappers pkg/libreoffice-calc oocalc - move_wrappers pkg/libreoffice-impress ooimpress - move_wrappers pkg/libreoffice-math oomath - move_wrappers pkg/libreoffice-draw oodraw - fi - move_wrappers pkg/libreoffice-common libreoffice 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 - - # Move all libraries, binaries, *.rdb from -common to -core - for d in $INSTALLDIR/basis$PRODUCTVERSION/program $INSTALLDIR/program; do \ - if [ ! -d $DESTDIR/pkg/libreoffice-core/$d ]; then \ - mkdir -p $DESTDIR/pkg/libreoffice-core/$d; \ - fi && - ( cd pkg/libreoffice-common/$d - find -maxdepth 1 \ - -regex '\./\(.*\.so.*\|.*\.bin\|pagein\|nsplugin\|kdefilepicker\|msfontextract\|.*\.rdb\|javaldx\|uri-encode\)' \ - -exec mv {} $DESTDIR/pkg/libreoffice-core/$d \; - ); \ - done - - # install additional ooo-build scripts & misc stuff - mkdir -p pkg/libreoffice-common/usr/share/man/man1 - if test "$COMPAT_OOWRAPPERS" = "YES" ; then - mv usr/share/man/man1/openoffice$BINSUFFIX.1 \ - pkg/libreoffice-common/usr/share/man/man1 - fi - mv usr/share/man/man1/libreoffice$BINSUFFIX.1 \ - pkg/libreoffice-common/usr/share/man/man1 - mkdir -p pkg/libreoffice-common/etc/bash_completion.d - if test "$COMPAT_OOWRAPPERS" = "YES" ; then - mv etc/bash_completion.d/ooffice$BINSUFFIX.sh \ - pkg/libreoffice-common/etc/bash_completion.d - fi - mv etc/bash_completion.d/libreoffice$BINSUFFIX.sh \ - pkg/libreoffice-common/etc/bash_completion.d - mv .$INSTALLDIR/basis$PRODUCTVERSION/program/java-set-classpath \ - pkg/libreoffice-common/$INSTALLDIR/program - if echo $WITH_LANG_LIST | grep -q en-US; then - for i in forms/resume.ott officorr/project-proposal.ott; do \ - mkdir -p pkg/libreoffice-common/$INSTALLDIR/basis$PRODUCTVERSION/share/template/en-US/`dirname $i`; \ - mv .$INSTALLDIR/basis$PRODUCTVERSION/share/template/en-US/$i \ - pkg/libreoffice-common/$INSTALLDIR/basis$PRODUCTVERSION/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: {}" \; -fi - -# mark the config files -RPM_CONFIG_FILE_TAGS= -if test "$OOO_VENDOR" = "Novell, Inc." -o "$OOO_VENDOR" = "RedHat"; then - RPM_CONFIG_FILE_TAGS="%config" -elif test "$OOO_VENDOR" = "PLD" ; then - RPM_CONFIG_FILE_TAGS="%config(noreplace) %verify(not md5 size mtime)" -fi - -if test "z$RPM_CONFIG_FILE_TAGS" != "z" ; then - cd $FILELISTSDIR - perl -pi -e "s|^($INSTALLDIR/help/.*\.xsl)\$|$RPM_CONFIG_FILE_TAGS \\1|;" \ - -e "s|^($INSTALLDIR/help/.*\.css)\$|$RPM_CONFIG_FILE_TAGS \\1|;" \ - -e "s|^($INSTALLDIR/program/[a-zA-Z0-9_\.]*rc)\$|$RPM_CONFIG_FILE_TAGS \\1|;" \ - -e "s|^($INSTALLDIR/program/.*\.xsl)\$|$RPM_CONFIG_FILE_TAGS \\1|;" \ - -e "s|^($INSTALLDIR/share/config/[a-zA-Z0-9]*rc)\$|$RPM_CONFIG_FILE_TAGS \\1|;" \ - -e "s|^($INSTALLDIR/share/dict/ooo/.*\.lst)\$|$RPM_CONFIG_FILE_TAGS \\1|;" \ - -e "s|^($INSTALLDIR/share/psprint/.*\.conf)\$|$RPM_CONFIG_FILE_TAGS \\1|;" \ - -e "s|^($INSTALLDIR/share/registry/.*\.xcu)\$|$RPM_CONFIG_FILE_TAGS \\1|;" \ - -e "s|^($INSTALLDIR/share/registry/.*\.properties)\$|$RPM_CONFIG_FILE_TAGS \\1|;" \ - -e "s|^($INSTALLDIR/share/registry/.*\.xcs)\$|$RPM_CONFIG_FILE_TAGS \\1|;" \ - -e "s|^($INSTALLDIR/user/config/.*\.so.)\$|$RPM_CONFIG_FILE_TAGS \\1|;" \ - *_list.txt -fi - -mkdir -p $FILELISTSDIR/orig -mv -f $DESTDIR/gid_Module_* $FILELISTSDIR/orig diff --git a/bin/distro-install-sdk b/bin/distro-install-sdk deleted file mode 100755 index 3dca2affe..000000000 --- a/bin/distro-install-sdk +++ /dev/null @@ -1,86 +0,0 @@ -#!/bin/sh - -. ./*[Ee]nv.[Ss]et.sh - -if test -d $DESTDIR$INSTALLDIR/basis$PRODUCTVERSION/sdk ; then - - echo "SDK installation clean up" - - # bin potential .orig files - find $DESTDIR$INSTALLDIR/basis$PRODUCTVERSION/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/basis$PRODUCTVERSION/sdk because there are used - # relative paths to $DESTDIR$INSTALLDIR/basis$PRODUCTVERSION/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/basis$PRODUCTVERSION/sdk/include $DESTDIR$PREFIXDIR/include/$INSTALLDIRNAME - if [ -d $DESTDIR$INSTALLDIR/basis$PRODUCTVERSION/sdk/classes ]; then - mv $DESTDIR$INSTALLDIR/basis$PRODUCTVERSION/sdk/classes $DESTDIR$DATADIR/$INSTALLDIRNAME/sdk/classes - fi - mv $DESTDIR$INSTALLDIR/basis$PRODUCTVERSION/sdk/idl $DESTDIR$DATADIR/idl/$INSTALLDIRNAME - mv $DESTDIR$INSTALLDIR/basis$PRODUCTVERSION/sdk/docs $DESTDIR$DOCDIR/sdk - mv $DESTDIR$INSTALLDIR/basis$PRODUCTVERSION/sdk/share/readme $DESTDIR$DOCDIR/sdk/readme - mv $DESTDIR$INSTALLDIR/basis$PRODUCTVERSION/sdk/index.html $DESTDIR$DOCDIR/sdk - - # compat symlinks - ln -sf $PREFIXDIR/include/$INSTALLDIRNAME $DESTDIR$INSTALLDIR/basis$PRODUCTVERSION/sdk/include - ln -sf $DATADIR/$INSTALLDIRNAME/sdk/classes $DESTDIR$INSTALLDIR/basis$PRODUCTVERSION/sdk/classes - ln -sf $DATADIR/idl/$INSTALLDIRNAME $DESTDIR$INSTALLDIR/basis$PRODUCTVERSION/sdk/idl - ln -sf $DOCDIR/sdk/docs $DESTDIR$INSTALLDIR/basis$PRODUCTVERSION/sdk/ - ln -sf $DOCDIR/sdk/index.html $DESTDIR$INSTALLDIR/basis$PRODUCTVERSION/sdk/index.html - ln -sf $INSTALLDIR/basis$PRODUCTVERSION/sdk/examples $DESTDIR$DOCDIR/sdk/examples - - # fix file list - sed -e "s|^\(%dir \)\?$INSTALLDIR/basis$PRODUCTVERSION/sdk/include|\1$PREFIXDIR/include/$INSTALLDIRNAME|" \ - -e "s|^\(%dir \)\?$INSTALLDIR/basis$PRODUCTVERSION/sdk/classes|\1$DATADIR/$INSTALLDIRNAME/sdk/classes|" \ - -e "s|^\(%dir \)\?$INSTALLDIR/basis$PRODUCTVERSION/sdk/idl|\1$DATADIR/idl/$INSTALLDIRNAME|" \ - -e "s|^\(%dir \)\?$INSTALLDIR/basis$PRODUCTVERSION/sdk/docs|\1$DOCDIR/sdk/docs|" \ - -e "s|^\(%dir \)\?$INSTALLDIR/basis$PRODUCTVERSION/sdk/share/readme|\1$DOCDIR/sdk/readme|" \ - -e "s|^$INSTALLDIR/basis$PRODUCTVERSION/sdk/index.html$|$DOCDIR/sdk/index.html|" \ - -e "s|^\(%dir \)\?$INSTALLDIR/basis$PRODUCTVERSION/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/basis$PRODUCTVERSION/sdk/include" >>$DESTDIR/gid_Module_Root_SDK - echo "$INSTALLDIR/basis$PRODUCTVERSION/sdk/classes" >>$DESTDIR/gid_Module_Root_SDK - echo "$INSTALLDIR/basis$PRODUCTVERSION/sdk/idl" >>$DESTDIR/gid_Module_Root_SDK - echo "$INSTALLDIR/basis$PRODUCTVERSION/sdk/docs" >>$DESTDIR/gid_Module_Root_SDK - echo "$INSTALLDIR/basis$PRODUCTVERSION/sdk/index.html" >>$DESTDIR/gid_Module_Root_SDK - echo "$DOCDIR/sdk/examples" >>$DESTDIR/gid_Module_Root_SDK - - # generate default profiles - for file in setsdkenv_unix.csh setsdkenv_unix.sh ; do - sed -e "s,@OO_SDK_NAME@,openoffice.org${PRODUCTVERSION}_sdk," \ - -e "s,@OO_SDK_HOME@,$INSTALLDIR/basis$PRODUCTVERSION/sdk," \ - -e "s,@OFFICE_HOME@,$INSTALLDIR," \ - -e "s,@OFFICE_BASE_HOME@,$INSTALLDIR/basis$PRODUCTVERSION," \ - -e "s,@OO_SDK_URE_HOME@,$INSTALLDIR/basis$PRODUCTVERSION/ure-link," \ - -e "s,@OO_SDK_MAKE_HOME@,/usr/bin," \ - -e "s,@OO_SDK_ZIP_HOME@,/usr/bin," \ - -e "s,@OO_SDK_CPP_HOME@,/usr/bin," \ - -e "s,@OO_SDK_CC_55_OR_HIGHER@,," \ - -e "s,@OO_SDK_JAVA_HOME@,$JAVA_HOME," \ - -e "s,@OO_SDK_OUTPUT_DIR@,\$HOME," \ - -e "s,@SDK_AUTO_DEPLOYMENT@,NO," \ - $DESTDIR$INSTALLDIR/basis$PRODUCTVERSION/sdk/$file.in \ - > $DESTDIR$INSTALLDIR/basis$PRODUCTVERSION/sdk/$file - chmod 755 $DESTDIR$INSTALLDIR/basis$PRODUCTVERSION/sdk/$file - echo $INSTALLDIR/basis$PRODUCTVERSION/sdk/$file >>$DESTDIR/gid_Module_Root_SDK - done - - # FIXME: I rather set this file to be non-world-writttable for now, i#64812 - chmod go-w $DESTDIR$INSTALLDIR/basis$PRODUCTVERSION/sdk/settings/component.uno.map -fi diff --git a/bin/doubleNewlines.pl b/bin/doubleNewlines.pl deleted file mode 100755 index c1f66e57e..000000000 --- a/bin/doubleNewlines.pl +++ /dev/null @@ -1,63 +0,0 @@ -#!/usr/bin/perl -################################################################################ -# Version: MPL 1.1 / GPLv3+ / LGPLv3+ -# -# The contents of this file are subject to the Mozilla Public License Version -# 1.1 (the "License"); you may not use this file except in compliance with -# the License or as specified alternatively below. You may obtain a copy of -# the License at http://www.mozilla.org/MPL/ -# -# Software distributed under the License is distributed on an "AS IS" basis, -# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -# for the specific language governing rights and limitations under the -# License. -# -# The Initial Developer of the Original Code is -# Michael Koch <miko@gmx.ch> -# -# Major Contributor(s): -# <name> -# -# For minor contributions see the git repository. -# -# Alternatively, the contents of this file may be used under the terms of -# either the GNU General Public License Version 3 or later (the "GPLv3+"), or -# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"), -# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable -# instead of those above. -################################################################################ -# Usage: "Usage: doubleNewlines.pl <directory>" -# It is possible to enter more than one directory separated by spaces. -# Instead of a directory you can also use one or more files as arguments. -################################################################################ - -use strict; -use warnings; - -use File::Find; -use Cwd 'abs_path'; - -my $total = 0; - -die "Usage: doubleNewlines.pl <directory>\n" unless (@ARGV); - -# if path is relative, make it absolute -foreach (@ARGV){ - $_ = abs_path($_); -} - -print "Following code files (.hxx and .cxx) are suspicious:\n"; -find(\&processFile, @ARGV); # processes all files in dir and subdirs -print "Found $total suspicious files.\n"; - -sub processFile { - my $file = $File::Find::name; - return unless $file =~ /(.cxx$)|(.hxx$)/; - open FILE, $file or die "Can't open '$file': $!"; - my $lines = join '', <FILE>; - if ($lines =~ /(\n{2,}.+){10}/) { # ten consecutive occurrences of [empty line(s) - code line)] - my $relPath = substr($file, index($file, "clone")+6); # relative path beginning with repo name - print "$relPath\n"; - $total++; - } -} diff --git a/bin/find-german-comments b/bin/find-german-comments deleted file mode 100755 index 1538c6d57..000000000 --- a/bin/find-german-comments +++ /dev/null @@ -1,162 +0,0 @@ -#!/usr/bin/env python -######################################################################## -# -# Copyright (c) 2010 Jonas Jensen, Miklos Vajna -# -# Permission is hereby granted, free of charge, to any person -# obtaining a copy of this software and associated documentation -# files (the "Software"), to deal in the Software without -# restriction, including without limitation the rights to use, -# copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the -# Software is furnished to do so, subject to the following -# conditions: -# -# The above copyright notice and this permission notice shall be -# included in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -# OTHER DEALINGS IN THE SOFTWARE. -# -######################################################################## - - -import sys, re, subprocess, os, optparse, string - -class Parser: - """ - This parser extracts comments from source files, tries to guess - their language and then prints out the german ones. - """ - def __init__(self): - self.strip = string.punctuation + " \n" - op = optparse.OptionParser() - op.set_usage("%prog [options] <rootdir>\n\n" + - "Searches for german comments in cxx/hxx source files inside a given root\n" + - "directory recursively.") - op.add_option("-v", "--verbose", action="store_true", dest="verbose", default=False, - help="Turn on verbose mode (print progress to stderr)") - self.options, args = op.parse_args() - try: - dir = args[0] - except IndexError: - dir = "." - self.check_source_files(dir) - - def get_comments(self, filename): - """ - Extracts the source code comments. - """ - linenum = 0 - if self.options.verbose: - sys.stderr.write("processing file '%s'...\n" % filename) - sock = open(filename) - # add an empty line to trigger the output of collected oneliner - # comment group - lines = sock.readlines() + ["\n"] - sock.close() - - in_comment = False - buf = [] - count = 1 - for i in lines: - if "//" in i and not in_comment: - # if we find a new //-style comment, then we - # just append it to a previous one if: there is - # only whitespace before the // mark that is - # necessary to make comments longer, giving - # more reliable output - if not len(re.sub("(.*)//.*", r"\1", i).strip(self.strip)): - s = re.sub(".*// ?", "", i).strip(self.strip) - if len(s): - buf.append(s) - else: - # otherwise it's an independent //-style comment in the next line - yield (count, "\n ".join(buf)) - buf = [re.sub(".*// ?", "", i.strip(self.strip))] - elif "//" not in i and not in_comment and len(buf) > 0: - # first normal line after a // block - yield (count, "\n ".join(buf)) - buf = [] - elif "/*" in i and "*/" not in i and not in_comment: - # start of a real multiline comment - in_comment = True - linenum = count - s = re.sub(".*/\*+", "", i.strip(self.strip)) - if len(s): - buf.append(s.strip(self.strip)) - elif in_comment and not "*/" in i: - # in multiline comment - s = re.sub("^( |\|)*\*?", "", i) - if len(s.strip(self.strip)): - buf.append(s.strip(self.strip)) - elif "*/" in i and in_comment: - # end of multiline comment - in_comment = False - s = re.sub(r"\*+/.*", "", i.strip(self.strip)) - if len(s): - buf.append(s) - yield (count, "\n ".join(buf)) - buf = [] - elif "/*" in i and "*/" in i: - # c-style oneliner comment - yield (count, re.sub(".*/\*(.*)\*/.*", r"\1", i).strip(self.strip)) - count += 1 - - def get_lang(self, s): - """ the output is 'german' or 'english' or 'german or english'. when - unsure, just don't warn, there are strings where you just can't - teremine the results reliably, like '#110680#' """ - cwd = os.getcwd() - # change to our directory - os.chdir(os.path.split(os.path.abspath(sys.argv[0]))[0]) - sock = subprocess.Popen(["text_cat/text_cat", "-d", "text_cat/LM"], stdin=subprocess.PIPE, stdout=subprocess.PIPE) - sock.stdin.write(s) - sock.stdin.close() - lang = sock.stdout.read().strip() - sock.stdout.close() - os.chdir(cwd) - return lang - - def is_german(self, s): - """ - determines if a string is german or not - """ - # for short strings we can't do reliable recognition, so skip - # short strings and less than 4 words - s = s.replace('\n', ' ') - if len(s) < 32 or len(s.split()) < 4: - return False - return "german" == self.get_lang(s) - - def check_file(self, path): - """ - checks each comment in a file - """ - for linenum, s in self.get_comments(path): - if self.is_german(s): - print "%s:%s: %s" % (path, linenum, s) - - def check_source_files(self, dir): - """ - checks each _tracked_ file in a directory recursively - """ - sock = os.popen(r"git ls-files '%s' |egrep '\.(c|h)xx$'" % dir) - lines = sock.readlines() - sock.close() - for path in lines: - self.check_file(path.strip()) - -try: - Parser() -except KeyboardInterrupt: - print "Interrupted!" - sys.exit(0) - -# vim:set shiftwidth=4 softtabstop=4 expandtab: diff --git a/bin/find-undocumented-classes b/bin/find-undocumented-classes deleted file mode 100755 index 8bab72bc9..000000000 --- a/bin/find-undocumented-classes +++ /dev/null @@ -1,33 +0,0 @@ -#!/bin/bash - -# finds undocumented classes in the current directory (recursive) - -type -p doxygen >/dev/null || exit - -filter= -quiet=n -if [ "$1" = "-q" ]; then - filter=">/dev/null" - quiet=y - shift -fi - -doxygen=$(mktemp -d) -eval doxygen -g $doxygen/doxygen.cfg $filter -sed -i "/HTML_OUTPUT/s|html|$doxygen/html|" $doxygen/doxygen.cfg -sed -i '/GENERATE_LATEX/s/= YES/= NO/' $doxygen/doxygen.cfg -sed -i '/RECURSIVE/s/= NO/= YES/' $doxygen/doxygen.cfg -# do we have any arguments? -if [ -n "$*" ]; then - sed -i "/^INPUT[^_]/s|=.*|= $*|" $doxygen/doxygen.cfg -fi -eval doxygen $doxygen/doxygen.cfg $filter 2> $doxygen/errors.txt -if [ "$quiet" == "n" ]; then - echo - echo "The following classes are undocumented:" - echo -fi -cat $doxygen/errors.txt|grep -i 'Warning: Compound.*is not documented' -rm -rf $doxygen - -# vim:set shiftwidth=4 softtabstop=4 expandtab: diff --git a/bin/generate-bash-completion b/bin/generate-bash-completion deleted file mode 100755 index ed34b1808..000000000 --- a/bin/generate-bash-completion +++ /dev/null @@ -1,234 +0,0 @@ -#!/usr/bin/env perl -# script to generate LibreOffice bash_completion file for the main applications -# written by Rene Engelhard <rene@debian.org>, Public Domain -# updated for libreoffice-build by Petr Mladek <pmladek@suse.cz>, Public Domain -# yes, this script probably is not real good code :) but still easier -# to maintain than adding those entries statically many times in -# a file... - -use strict; - -my @DRAWDOCS=("sxd", "std", "dxf", "emf", "eps", "met", "pct", "sgf", "sgv", "sda", - "sdd", "vor", "svm", "wmf", "bmp", "gif", "jpg", "jpeg", "jfif", "fif", - "jpe", "pcd", "pcx", "pgm", "png", "ppm", "psd", "ras", "tga", "tif", - "tiff", "xbm", "xpm", "odg", "otg", "fodg", "odc", "odi", "sds", - "wpg", "svg"); - -my @IMPRESSDOCS=("sxi", "sti", "ppt", "pps", "pot", "sxd", "sda", "sdd", "sdp", - "vor", "cgm", "odp", "otp", "fodp", "ppsm", "ppsx", "pptm", "pptx", - "potm", "potx"); - -my @TEMPLATES=("stw", "dot", "vor", "stc", "xlt", "sti", "pot", "std", "stw", - "dotm", "dotx", "potm", "potx", "xltm", "xltx"); - -my @MATHDOCS=("sxm", "smf", "mml", "odf"); - -my @MASTERDOCS=("sxg", "odm", "sgl"); - -my @WRITERDOCS=("doc", "dot", "rtf", "sxw", "stw", "sdw", "vor", "txt", "htm?", - "xml", "wp", "wpd", "wps", "odt", "ott", "fodt", "docm", "docx", - "dotm", "dotx"); - -my @WEBDOCS=("htm", "html", "stw", "txt", "vor", "oth"); - -my @BASEDOCS=("odb"); - -my @CALCDOCS=("sxc", "stc", "dif", "dbf", "xls", "xlw", "xlt", "rtf", "sdc", "vor", - "slk", "txt", "htm", "html", "wk1", "wks", "123", "xml", "ods", "ots", - "fods", "csv", "xlsb", "xlsm", "xlsx", "xltm", "xltx"); - -my @EXTENSIONS=("oxt"); - -# default names of lowrappers -# use "" if you want to disable any wrapper -my %APPS = ( - office => "libreoffice", - master => "", - base => "lobase", - calc => "localc", - draw => "lodraw", - impress => "loimpress", - math => "lomath", - template => "lofromtemplate", - unopkg => "unopkg", - web => "loweb", - writer => "lowriter", -); - -my $office_shell_function = "_loexp_"; - -sub usage() -{ - print "Script to Generate bash completion for LO wrappers\n\n"; - - print "Usage: $0 --help\n"; - print " $0 [--binsuffix=suffix]\n"; - print "\t\t[--compat-oowrappers]\n"; - print "\t\t[--office=wrapper_name]\n"; - print "\t\t[--master=wrapper_name]\n"; - print "\t\t[--base=wrapper_name]\n"; - print "\t\t[--calc=wrapper_name]\n"; - print "\t\t[--draw=wrapper_name]\n"; - print "\t\t[--impress=wrapper_name]\n"; - print "\t\t[--math=wrapper_name]\n"; - print "\t\t[--template=wrapper_name]\n"; - print "\t\t[--unopkg=wrapper_name]\n"; - print "\t\t[--web=wrapper_name]\n"; - print "\t\t[--writer=wrapper_name]\n"; - print "\t\tinput_file\n"; - print "\t\toutput_file\n\n"; - - print "Options:\n"; - print "\t--help\t\tprint this help\n"; - print "\t--binsuffix\tdefines a suffix that is added after each wrapper\n"; - print "\t--compat-oowrappers\tset wrapper names to the old default oo* wrapper names\n"; - - print "The other options allows to redefine the wrapper names.\n"; - print "The value \"\" can be used to disable any wrapper.\n\n"; -} - -my $infilename; -my $outfilename; -my $binsuffix = ''; - -my $opt; -foreach my $arg (@ARGV) { - if ( $arg =~ /--help/ ) { - usage(); - exit 0; - } elsif ( $arg =~ /--compat-oowrappers/ ) { - $APPS{'office'} = "ooffice"; - $APPS{'master'} = ""; - $APPS{'base'} = "oobase"; - $APPS{'calc'} = "oocalc"; - $APPS{'draw'} = "oodraw"; - $APPS{'impress'} = "ooimpress"; - $APPS{'math'} = "oomath"; - $APPS{'template'} = "oofromtemplate"; - $APPS{'unopkg'} = "unopkg"; - $APPS{'web'} = "ooweb"; - $APPS{'writer'} = "oowriter"; - $office_shell_function = "_ooexp_"; - } elsif ( $arg =~ /--binsuffix=(.*)/ ) { - $binsuffix = "$1"; - } elsif ( $arg =~ /--office=(.*)/ ) { - $APPS{'office'} = "$1"; - } elsif ( $arg =~ /--master=(.*)/ ) { - $APPS{'master'} = "$1"; - } elsif ( $arg =~ /--base=(.*)/ ) { - $APPS{'base'} = "$1"; - } elsif ( $arg =~ /--calc=(.*)/ ) { - $APPS{'calc'} = "$1"; - } elsif ( $arg =~ /--draw=(.*)/ ) { - $APPS{'draw'} = "$1"; - } elsif ( $arg =~ /--impress=(.*)/ ) { - $APPS{'impress'} = "$1" - } elsif ( $arg =~ /--math=(.*)/ ) { - $APPS{'math'} = "$1"; - } elsif ( $arg =~ /--template=(.*)/ ) { - $APPS{'template'} = "$1"; - } elsif ( $arg =~ /--unopkg=(.*)/ ) { - $APPS{'unopkg'} = "$1"; - } elsif ( $arg =~ /--web=(.*)/ ) { - $APPS{'web'} = "$1"; - } elsif ( $arg =~ /--writer=(.*)/ ) { - $APPS{'writer'} = "$1" - } elsif ( $arg =~ /^-.*/ ) { - printf STDERR "Error: invalid option \"$arg\", try --help\n"; - exit 1; - } elsif ( $outfilename ) { - printf STDERR "Error: too much arguments, try --help\n"; - exit 1; - } else { - if ($infilename) { - $outfilename = "$arg"; - } else { - $infilename = "$arg"; - } - } -} - -unless ( $infilename ) { - printf STDERR "Error: undefined input file, try --help\n"; - exit 1; -} - -unless ( $outfilename ) { - printf STDERR "Error: undefined output file, try --help\n"; - exit 1; -} - -#add binsuffix -foreach my $app (keys %APPS) { - $APPS{$app} .= "$binsuffix" unless ( "$APPS{$app}" eq "" ); -} - -sub print_suffixes_check { - my $app = shift(@_); - my $first_suffix = shift(@_); - - ($first_suffix) || die "Error: No suffix defined for $app\n"; - - print BCOUTFILE " $app)\t\te=\'!*.+(" . $first_suffix . "|" . uc($first_suffix); - foreach my $suffix (@_) { - print BCOUTFILE "|" . $suffix; - print BCOUTFILE "|" . uc($suffix); - } - print BCOUTFILE ")\' ;;\n"; -} - -sub print_suffixes_checks { - foreach my $app (keys %APPS) { - # skip the disabled wrapper - next if ( $APPS{$app} eq "" ); - - if ($app eq "draw" ) { print_suffixes_check ($APPS{$app}, @DRAWDOCS); } - if ($app eq "writer") { print_suffixes_check ($APPS{$app}, @WRITERDOCS, @MASTERDOCS); } - if ($app eq "web") { print_suffixes_check ($APPS{$app}, @WEBDOCS); } - if ($app eq "math") { print_suffixes_check ($APPS{$app}, @MATHDOCS); } - if ($app eq "impress") { print_suffixes_check ($APPS{$app}, @IMPRESSDOCS); } - if ($app eq "base") { print_suffixes_check ($APPS{$app}, @BASEDOCS); } - if ($app eq "calc") { print_suffixes_check ($APPS{$app}, @CALCDOCS); } - if ($app eq "master") { print_suffixes_check ($APPS{$app}, @MASTERDOCS); } - if ($app eq "template") { print_suffixes_check ($APPS{$app}, @TEMPLATES); } - # libreoffice should contain all... - if ($app eq "office") { print_suffixes_check ($APPS{$app}, @DRAWDOCS, @WRITERDOCS, @MATHDOCS, @IMPRESSDOCS, @BASEDOCS, @CALCDOCS, @MASTERDOCS, @TEMPLATES, @WEBDOCS); } - # unopkg is a standalone tool - if ($app eq "unopkg") { print_suffixes_check ($APPS{$app}, @EXTENSIONS); } - } -} - -sub print_apps { - my $app_to_print; - foreach my $app (keys %APPS) { - # skip the disabled wrapper - next if ( $APPS{$app} eq "" ); - - print BCOUTFILE "\t\t\t\t\t$app_to_print \\\n" if ($app_to_print); - $app_to_print = $APPS{$app}; - } - # the last app will be printed without the final backslash - ($app_to_print) || die "Error: No LO wrapper was selected\n"; - print BCOUTFILE "\t\t\t\t\t$app_to_print\n"; -} - - -open (BCINFILE, "$infilename") || die "Error: can't open $infilename for reading: $!\n"; -open (BCOUTFILE, "> $outfilename") || die "Error: can't open $outfilename for writing: $!\n"; - -while (my $line = <BCINFILE>) { - chomp $line; - - $line =~ s/\@OFFICE_SHELL_FUNCTION\@/$office_shell_function/; - - if ($line =~ m/\@BASH_COMPLETION_SUFFIXES_CHECKS\@/) { - print_suffixes_checks(); - } elsif ($line =~ m/\@BASH_COMPLETION_OOO_APPS\@/) { - print_apps(); - } else { - print BCOUTFILE "$line\n"; - } -} - -close (BCINFILE); -close (BCOUTFILE); diff --git a/bin/git-new-workdir b/bin/git-new-workdir deleted file mode 100755 index 3ad2c0cea..000000000 --- a/bin/git-new-workdir +++ /dev/null @@ -1,82 +0,0 @@ -#!/bin/sh - -usage () { - echo "usage:" $@ - exit 127 -} - -die () { - echo $@ - exit 128 -} - -if test $# -lt 2 || test $# -gt 3 -then - usage "$0 <repository> <new_workdir> [<branch>]" -fi - -orig_git=$1 -new_workdir=$2 -branch=$3 - -# want to make sure that what is pointed to has a .git directory ... -git_dir=$(cd "$orig_git" 2>/dev/null && - git rev-parse --git-dir 2>/dev/null) || - die "Not a git repository: \"$orig_git\"" - -case "$git_dir" in -.git) - git_dir="$orig_git/.git" - ;; -.) - git_dir=$orig_git - ;; -esac - -# don't link to a configured bare repository -isbare=$(git --git-dir="$git_dir" config --bool --get core.bare) -if test ztrue = z$isbare -then - die "\"$git_dir\" has core.bare set to true," \ - " remove from \"$git_dir/config\" to use $0" -fi - -# don't link to a workdir -if test -L "$git_dir/config" -then - die "\"$orig_git\" is a working directory only, please specify" \ - "a complete repository." -fi - -# don't recreate a workdir over an existing repository -if test -e "$new_workdir" -then - die "destination directory '$new_workdir' already exists." -fi - -# make sure the links use full paths -git_dir=$(cd "$git_dir"; pwd) - -# create the workdir -mkdir -p "$new_workdir/.git" || die "unable to create \"$new_workdir\"!" - -# create the links to the original repo. explicitly exclude index, HEAD and -# logs/HEAD from the list since they are purely related to the current working -# directory, and should not be shared. -for x in config refs logs/refs objects info hooks packed-refs remotes rr-cache svn -do - case $x in - */*) - mkdir -p "$(dirname "$new_workdir/.git/$x")" - ;; - esac - ln -s "$git_dir/$x" "$new_workdir/.git/$x" -done - -# now setup the workdir -cd "$new_workdir" -# copy the HEAD from the original repository as a default branch -cp "$git_dir/HEAD" .git/HEAD -# checkout the branch (either the same as HEAD from the original repository, or -# the one that was asked for) -git checkout -f $branch diff --git a/bin/git-ps1 b/bin/git-ps1 deleted file mode 100755 index 8a0980091..000000000 --- a/bin/git-ps1 +++ /dev/null @@ -1,52 +0,0 @@ -#!/usr/bin/env bash -r= -b= -g="$(git rev-parse --git-dir 2>/dev/null)" - -if [ -n "$g" ]; then - if [ -d "$g/../.dotest" ] - then - if test -f "$g/../.dotest/rebasing" - then - r="|REBASE" - elif test -f "$g/../.dotest/applying" - then - r="|AM" - else - r="|AM/REBASE" - fi - b="$(git symbolic-ref HEAD 2>/dev/null)" - elif [ -f "$g/.dotest-merge/interactive" ] - then - r="|REBASE-i" - b="$(cat "$g/.dotest-merge/head-name")" - elif [ -d "$g/.dotest-merge" ] - then - r="|REBASE-m" - b="$(cat "$g/.dotest-merge/head-name")" - elif [ -f "$g/MERGE_HEAD" ] - then - r="|MERGING" - b="$(git symbolic-ref HEAD 2>/dev/null)" - else - if [ -f "$g/BISECT_LOG" ] - then - r="|BISECTING" - fi - if ! b="$(git symbolic-ref HEAD 2>/dev/null)" - then - if ! b="$(git describe --exact-match HEAD 2>/dev/null)" - then - b="$(cut -c1-7 "$g/HEAD")..." - fi - fi - fi - - if [ -n "$1" ]; then - printf "$1" "${b##refs/heads/}$r" - else - printf "%s" "${b##refs/heads/}$r" - fi -else - printf "not-in-git" -fi diff --git a/bin/java-set-classpath.in b/bin/java-set-classpath.in deleted file mode 100644 index 672463e16..000000000 --- a/bin/java-set-classpath.in +++ /dev/null @@ -1,64 +0,0 @@ -#!/bin/sh - -#***************************************************************************** -# -# java-set-classpath - Utility to update the default CLASSPATH for OpenOffice.org -# -# Initial version by: Petr Mladek <pmladek@suse.cz> -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2, as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -#***************************************************************************** - -if test "z$1" = "z" ; then - echo "Update the default CLASSPATH for OpenOffice.org" - echo "" - echo "Usage: $0 [dir|jar]..." - echo "" - echo "The utility updates the OpenOffice.org system setting. It adds or removes" - echo "the given directories and jar-files to or from the default CLASSPATH" - echo "depending on if they are available on the system or not." - echo "" - echo "Parameters:" - echo " dir - absolute path to a directory" - echo " jar - absolute path to a jar-file" - exit 0; -fi - -JVM_CONFIG_FILE=@OOINSTBASE@/basis-link/program/fundamentalbasisrc - -for path in $@ ; do - if test "z${path%%/*}" != "z" ; then - echo "Warning: the path "$path" is not absolute and will be ignored" - continue - fi - if test -e $path ; then - # the file exist - grep "URE_MORE_JAVA_CLASSPATH_URLS.*file:/*$path\([[:space:]].*\)\?$" $JVM_CONFIG_FILE >/dev/null && continue - # it is not registered - TMP_FILE=`mktemp /tmp/ooset-java-class.XXXXXXXXXX` || exit 1 - sed -e "s|^\(.*URE_MORE_JAVA_CLASSPATH_URLS.*\)$|\1 file://$path|" $JVM_CONFIG_FILE >$TMP_FILE - mv -f $TMP_FILE $JVM_CONFIG_FILE - chmod 644 $JVM_CONFIG_FILE - else - # the file does not exist, remove it from the configuration - TMP_FILE=`mktemp /tmp/ooset-java-class.XXXXXXXXXX` || exit 1; - sed -e "s|^\(.*URE_MORE_JAVA_CLASSPATH_URLS.*\)file:/*$path\([[:space:]].*\)\?$|\1\2|" \ - -e "s/\(URE_MORE_JAVA_CLASSPATH_URLS=\)[[:space:]]\+/\1/" \ - -e "/^.*URE_MORE_JAVA_CLASSPATH_URLS/s/[[:space:]]\+/ /g" \ - -e "/^.*URE_MORE_JAVA_CLASSPATH_URLS/s/[[:space:]]*$//" $JVM_CONFIG_FILE >$TMP_FILE - mv -f $TMP_FILE $JVM_CONFIG_FILE - chmod 644 $JVM_CONFIG_FILE - fi -done diff --git a/bin/lo-commit-stat b/bin/lo-commit-stat deleted file mode 100755 index 24bcb891b..000000000 --- a/bin/lo-commit-stat +++ /dev/null @@ -1,403 +0,0 @@ -#!/usr/bin/perl - eval 'exec /usr/bin/perl -S $0 ${1+"$@"}' - if $running_under_some_shell; -#!/usr/bin/perl - -use strict; - -my $main_repo="bootstrap"; -my @pieces=("artwork", "base", "calc", "components", - "extensions", "extras", "filters", "help", "impress", - "libs-core", "libs-extern", "libs-extern-sys", "libs-gui", - "translations", "postprocess", "sdk", "testing", "ure", "writer"); - -sub search_bugs($$$$) -{ - my ($pdata, $piece, $commit_id, $line) = @_; - - my $bug = ""; - my $bug_orig; - while (defined $bug) { - - # match fdo#123, rhz#123, i#123 - if ( $line =~ m/(\w*\#+\d+)/ ) { - $bug_orig = $1; - $bug = $1; - # match #i123# - } elsif ( $line =~ m/(\#i)(\d+)(\#)/ ) { - $bug_orig = $1 . $2 . $3; - $bug = "i#$2"; - } else { - $bug = undef; - next; - } - -# print " found $bug\n"; - # remove bug number from the comment; it will be added later a standardized way - $bug_orig =~ s/\#/\\#/; - $line =~ s/[Rr]esolves:\s*$bug_orig\s*//; - $line =~ s/\s*-\s*$bug_orig\s*//; - $line =~ s/\(?$bug_orig\)?[:,]?\s*//; - - # bnc# is preferred over n# for novell bugs - $bug =~ s/^n\#/bnc#/; - # save the bug number - %{$pdata->{$piece}{$commit_id}{'bugs'}} = () if (! defined %{$pdata->{$piece}{$commit_id}{'bugs'}}); - $pdata->{$piece}{$commit_id}{'bugs'}{$bug} = 1; - $pdata->{$piece}{$commit_id}{'flags'}{'bug'} = 1; - } - - return $line; -} - -sub standardize_summary($) -{ - my $line = shift; - - $line =~ s/^\s*//; - $line =~ s/\s*$//; - - # lower first letter - $line =~ m/(^.)/; - my $first_char = lc($1); - $line =~ s/^./$first_char/; - - # FIXME: remove do at the end of line - # remove bug numbers - return $line; -} - -sub load_git_log($$$$$) -{ - my ($pdata, $repo_dir, $piece, $branch_name, $git_command) = @_; - - my $cmd = "cd $repo_dir; $git_command"; - my $commit_id; - my $summary; - - print STDERR "Analyzing log from the git repo: $piece...\n"; - - my $repo_branch_name = get_branch_name($repo_dir); - if ( $branch_name ne $repo_branch_name ) { - die "Error: mismatch of branches:\n" . - " main repo is on the branch: $branch_name\n" . - " $piece repo is on the branch: $repo_branch_name\n"; - } - - open (GIT, "$cmd 2>&1|") || die "Can't run $cmd: $!"; - %{$pdata->{$piece}} = (); - - while (my $line = <GIT>) { - chomp $line; - - if ( $line =~ m/^commit ([0-9a-z]{20})/ ) { - $commit_id = "$1"; - $summary=undef; - %{$pdata->{$piece}{"$commit_id"}} = (); - %{$pdata->{$piece}{"$commit_id"}{'flags'}} = (); - next; - } - - if ( $line =~ /^Author:\s*([^\<]*)\<([^\>]*)>/ ) { - # get rid of extra empty spaces; - my $name = "$1"; - $name =~ s/\s+$//; - die "Error: Author already defined for the commit {$commit_id}\n" if defined ($pdata->{$piece}{$commit_id}{'author'}); - %{$pdata->{$piece}{$commit_id}{'author'}} = (); - $pdata->{$piece}{$commit_id}{'author'}{'name'} = "$name"; - $pdata->{$piece}{$commit_id}{'author'}{'email'} = "$2"; - next; - } - - if ( $line =~ /^Date:\s+/ ) { - # ignore date line - next; - } - - if ( $line =~ /^\s*$/ ) { - # ignore empty line - next; - } - - $line = search_bugs($pdata, $piece, $commit_id, $line); - # FIXME: need to be implemented -# search_keywords($pdata, $line); - - unless (defined $pdata->{$piece}{$commit_id}{'summary'}) { - $summary = standardize_summary($line); - $pdata->{$piece}{$commit_id}{'summary'} = $summary; - } - } - - close GIT; -} - -sub get_repo_name($) -{ - my $repo_dir = shift; - - open (GIT_CONFIG, "$repo_dir/.git/config") || - die "can't open \"$$repo_dir/.git/config\" for reading: $!\n"; - - while (my $line = <GIT_CONFIG>) { - chomp $line; - - if ( $line =~ /^\s*url\s*=\s*(\S+)$/ ) { - my $repo_name = "$1"; - $repo_name = s/.*\///g; - return "$repo_name"; - } - } - die "Error: can't find repo name in \"$$repo_dir/.git/config\"\n"; -} - -sub load_data($$$$$) -{ - my ($pdata, $top_dir, $piece, $branch_name, $git_command) = @_; - - if (defined $piece) { - my $piece_dir; - if ("$piece" eq "$main_repo") { - $piece_dir = "$top_dir"; - } else { - $piece_dir = "$top_dir/clone/$piece"; - } - load_git_log($pdata, $piece_dir, $piece, $branch_name, $git_command); - } else { - load_git_log($pdata, $top_dir, $main_repo, $branch_name, $git_command); - foreach my $piece (@pieces) { - load_git_log($pdata, "$top_dir/clone/$piece", $piece, $branch_name, $git_command); - } - } -} - -sub get_branch_name($) -{ - my ($top_dir) = @_; - - my $branch; - my $cmd = "cd $top_dir && git branch"; - - open (GIT, "$cmd 2>&1|") || die "Can't run $cmd: $!"; - - while (my $line = <GIT>) { - chomp $line; - - if ( $line =~ m/^\*\s*(\S+)/ ) { - $branch = "$1"; - } - } - - close GIT; - - die "Error: did not detect git branch name in $top_dir\n" unless defined ($branch); - - return $branch; -} - -sub open_log_file($$$$$) -{ - my ($log_dir, $log_prefix, $log_suffix, $top_dir, $branch_name) = @_; - - my $logfilename = "$log_prefix-$branch_name-$log_suffix.log"; - $logfilename = "$log_dir/$logfilename" if (defined $log_dir); - - if (-f $logfilename) { - print "WARNING: The log file already exists: $logfilename\n"; - print "Do you want to overwrite it? (Y/n)?\n"; - my $answer = <STDIN>; - chomp $answer; - $answer = "y" unless ($answer); - die "Please, rename the file or choose another log suffix\n" if ( lc($answer) ne "y" ); - } - - my $log; - open($log, '>', $logfilename) || die "Can't open \"$logfilename\" for writing: $!\n"; - - return $log; -} - -sub print_summary_in_stat($$$$$$$$$) -{ - my ($summary, $pprint_filters, $print_mode, $ppiece_title, $pflags, $pbugs, $pauthors, $prefix, $log) = @_; - - return if ( $summary eq "" ); - - # do we want to print this summary at all? - my $print; - if (%{$pprint_filters}) { - foreach my $flag (keys %{$pprint_filters}) { - $print = 1 if (defined $pflags->{$flag}); - } - } else { - $print = 1; - } - return unless (defined $print); - - # print piece title if not done yet - if ( defined ${$ppiece_title} && $print_mode ne "bugnumbers" ) { - printf $log "${$ppiece_title}\n"; - ${$ppiece_title} = undef; - } - - # finally print the summary line - my $bugs = ""; - if ( %{$pbugs} ) { - if ( $print_mode eq "bugnumbers" ) { - $bugs = join ("\n", keys %{$pbugs}) . "\n"; - } else { - $bugs = " (" . join (", ", keys %{$pbugs}) . ")"; - } - } - - my $authors = ""; - if ( %{$pauthors} ) { - $authors = " [" . join (", ", keys %{$pauthors}) . "]"; - } - - if ( $print_mode eq "bugnumbers" ) { - printf $log $bugs; - } else { - printf $log $prefix . $summary . $bugs . $authors . "\n"; - } -} - -sub print_stat($$$$) -{ - my ($pdata, $pprint_filters, $print_mode, $log) = @_; - - foreach my $piece ( sort { $a cmp $b } keys %{$pdata}) { - # check if this piece has any entries at all - my $piece_title = "+ $piece"; - if ( %{$pdata->{$piece}} ) { - my $old_summary=""; - my %authors = (); - my %bugs = (); - my %flags = (); - foreach my $id ( sort { $pdata->{$piece}{$a}{'summary'} cmp $pdata->{$piece}{$b}{'summary'} } keys %{$pdata->{$piece}}) { - my $summary = $pdata->{$piece}{$id}{'summary'}; - if ($summary ne $old_summary) { - print_summary_in_stat($old_summary, $pprint_filters, $print_mode, \$piece_title, \%flags, \%bugs, \%authors, " + ", $log); - $old_summary = $summary; - %authors = (); - %bugs = (); - %flags = (); - } - # collect bug numbers - if (defined $pdata->{$piece}{$id}{'bugs'}) { - foreach my $bug (keys %{$pdata->{$piece}{$id}{'bugs'}}) { - $bugs{$bug} = 1; - } - } - # collect author names - my $author = $pdata->{$piece}{$id}{'author'}{'name'}; - $authors{$author} = 1; - # collect flags - foreach my $flag ( keys %{$pdata->{$piece}{$id}{'flags'}} ) { - $flags{$flag} = 1; - } - } - print_summary_in_stat($old_summary, $pprint_filters, $print_mode, \$piece_title, \%flags, \%bugs, \%authors, " + ", $log); - } - } -} - -######################################################################## -# help - -sub usage() -{ - print "This script generates LO git commit summary\n\n" . - - "Usage: lo-commit-stat [--help] [--no-pieces] [--piece=<piece>] --log-dir=<dir> --log-suffix=<string> topdir [git_arg...]\n\n" . - - "Options:\n" . - " --help print this help\n" . - " --no-pieces read changes just from the main repository, ignore other cloned repos\n" . - " --piece=<piece> summarize just changes from the given piece\n" . - " --log-dir=<dir> directory where to put the generated log\n" . - " --log-suffix=<string> suffix of the log file name; the result will be\n" . - " commit-log-<branch>-<log-name-suffix>.log; the branch name\n" . - " is detected automatically\n" . - " --bugs print just bug fixes\n" . - " --bug-numbers print just fixed bug numbers\n" . - " --rev-list use \"git rev-list\" instead of \"git log\"; useful to check\n" . - " differences between branches\n" . - " topdir directory with the libreoffice/bootstrap clone; the piece repos\n" . - " must be cloned in the main-repo-root/clone/<piece> subdirectories\n" . - " git_arg extra parameters passed to the git command to define\n" . - " the area of interest; The default command is \"git log\" and\n" . - " parameters might be, for example, --after=\"2010-09-27\" or\n" . - " TAG..HEAD; with the option --rev-list, useful might be, for\n" . - " example origin/master ^origin/libreoffice-3-3\n"; -} - - -####################################################################### -####################################################################### -# MAIN -####################################################################### -####################################################################### - - -my $piece; -my $top_dir; -my $log_prefix = "commit-log"; -my $log_dir; -my $log_suffix; -my $log; -my $branch_name; -my $git_command = "git log"; -my $branch_name; -my @git_args; -my %data; -my %print_filters = (); -my $print_mode = "normal"; - -foreach my $arg (@ARGV) { - if ($arg eq '--help') { - usage(); - exit; - } elsif ($arg eq '--no-pieces') { - $piece = "bootstrap"; - } elsif ($arg =~ m/--piece=(.*)/) { - $piece = $1; - } elsif ($arg =~ m/--log-suffix=(.*)/) { - $log_suffix = "$1"; - } elsif ($arg =~ m/--log-dir=(.*)/) { - $log_dir = "$1"; - } elsif ($arg eq '--bugs') { - $print_filters{'bug'} = 1; - $log_prefix = "bugfixes" - } elsif ($arg eq '--bug-numbers') { - $print_filters{'bug'} = 1; - $log_prefix = "bugnumbers"; - $print_mode = "bugnumbers"; - } elsif ($arg eq '--rev-list') { - $git_command = "git rev-list --pretty=medium" - } else { - if (! defined $top_dir) { - $top_dir=$arg; - } else { - push @git_args, $arg; - } - } -} - -$git_command .= " " . join ' ', @git_args if (@git_args); - -(defined $top_dir) || die "Error: top directory is not defined\n"; -(-d "$top_dir") || die "Error: not a directory: $top_dir\n"; -(-f "$top_dir/.git/config") || die "Error: can't find $top_dir/.git/config\n"; - -(!defined $log_dir) || (-d $log_dir) || die "Error: directory does no exist: $log_dir\n"; - -(defined $log_suffix) || die "Error: define log suffix using --log-suffix=<string>\n"; - -$branch_name = get_branch_name($top_dir); - -load_data(\%data, $top_dir, $piece, $branch_name, $git_command); - -$log = open_log_file($log_dir, $log_prefix, $log_suffix, $top_dir, $branch_name); -print_stat(\%data, \%print_filters, $print_mode, $log); -close $log; diff --git a/bin/lo-pack-sources b/bin/lo-pack-sources deleted file mode 100755 index f2c081873..000000000 --- a/bin/lo-pack-sources +++ /dev/null @@ -1,655 +0,0 @@ -#!/usr/bin/perl - eval 'exec /usr/bin/perl -S $0 ${1+"$@"}' - if $running_under_some_shell; -#!/usr/bin/perl - -use strict; -use File::Copy; -use File::Temp qw/ tempfile tempdir /; - -# get libreoffice-build version from the given libreoffice-build sources -sub get_config_version($) -{ - my ($lo_build_dir) = @_; - my $version; - - open (CONFIGURE, "$lo_build_dir/configure.in") || - die "can't open \"$lo_build_dir/configure.in\" for reading: $!\n"; - - while (my $line = <CONFIGURE>) { - chomp $line; - - if ($line =~ /AC_INIT\s*\(\s*libreoffice-build\s*,\s*([\w\.]*)\)/) { - $version="$1"; - } - } - close (CONFIGURE); - return $version; -} - -# set libreoffice-build version in the given libreoffice-build sources -sub set_config_version($$) -{ - my ($lo_build_dir, $version) = @_; - my $configure = "$lo_build_dir/configure.in"; - - open (CONFIGURE, "$configure") || - die "can't open \"$configure\" for reading: $!\n"; - - my ( $tmp_fh, $tmp_filename ) = tempfile( "$configure.XXXXXX" ); - if ( !defined $tmp_fh ) { - close (CONFIGURE); - die "Error: can't create temporary file: \"$configure.XXXXXX\"\n"; - } - - while (my $line = <CONFIGURE>) { - chomp $line; - - if ($line =~ /^(\s*AC_INIT\s*\(\s*libreoffice-build\s*,\s*)([\w\.]*)(\s*\)\s*)$/) { - print ${tmp_fh} "$1$version$3\n"; - } else { - print ${tmp_fh} "$line\n"; - } - } - close (CONFIGURE); - close (${tmp_fh}); - - # preserve permissions on target file by applying them to temp file - my ( $mode, $uid, $gid ) = ( stat($configure) )[ 2, 4, 5 ]; - $mode = $mode & 07777; - - chmod $mode, $tmp_filename; - chown $uid, $gid, $tmp_filename; - - rename ($tmp_filename, $configure) || - die "Can't rename \"$tmp_filename\" to \"$configure\": $!\n"; -} - -# increment the version for a test build: -# + add 'a' if the version ended with a number -# + bump the letter otherwise -sub inc_test_version($) -{ - my ($version) = @_; - - my $lastchar = chop $version; - my $new_version; - - if ($lastchar =~ /\d/) { - return "$version" . "$lastchar" . "a"; - } elsif ($lastchar =~ /\w/) { - # select next letter alhabeticaly: a->b, b->c, ... - $lastchar =~ tr/0a-zA-Z/a-zA-Z0/; - return "$version" . "$lastchar"; - } else { - die "Can't generate test version from \"$version$lastchar\n"; - } -} - -sub get_release_version($$$$) -{ - my ($config_version, $state_config_version, $state_release_version, $inc_version) = @_; - my $release_version; - - if (defined $state_config_version && - defined $state_release_version && - "$state_config_version" eq "$config_version") { - $release_version = "$state_release_version"; - } else { - $release_version = "$config_version"; - } - - if ( defined $inc_version ) { - $release_version = inc_test_version($release_version); - } - - return $release_version; -} - - -sub generate_lo_build_blacklist($) -{ - my ($blacklist) = @_; - - # FIXME: crazy hacks to copy libreoffice-build without too big and useless subdirectories and to show a progress - open (BLACKLIST, ">$blacklist") || die "Can't open $blacklist: $!\n"; - - # IMPORTANT: Do not remove .git directories because "git log" is called during "make dist" - print BLACKLIST "*/.svn\n"; - print BLACKLIST "rawbuild/*\n"; - print BLACKLIST "build/*\n"; - print BLACKLIST "clone/*\n"; - print BLACKLIST "src/libreoffice-*.tar.bz2\n"; - print BLACKLIST "src/????????????????????????????????-*\n"; - - close BLACKLIST; -} - -sub generate_lo_piece_blacklist($) -{ - my ($blacklist) = @_; - - # FIXME: crazy hacks to copy libreoffice-build without too big and useless subdirectories and to show a progress - open (BLACKLIST, ">$blacklist") || die "Can't open $blacklist: $!\n"; - - # IMPORTANT: Do not remove .git directories because "git log" is called during "make dist" - print BLACKLIST ".git\n"; - print BLACKLIST ".gitignore\n"; - print BLACKLIST ".gitattributes\n"; - print BLACKLIST "autom4te.cache/*\n"; - print BLACKLIST "autom4te.cache\n"; - print BLACKLIST "autogen.lastrun\n"; - print BLACKLIST "clone/*\n"; - print BLACKLIST "config.log\n"; - print BLACKLIST "config.parms\n"; - print BLACKLIST "git-hooks\n"; - print BLACKLIST "Env.Host.sh\n"; - print BLACKLIST "src/tmp*\n"; - print BLACKLIST "src/fetch.log\n"; - print BLACKLIST "src/libreoffice-*.tar.bz2\n"; - print BLACKLIST "src/????????????????????????????????-*\n"; - print BLACKLIST "warn\n"; - - close BLACKLIST; -} - -# remove symlinks to clone subdir -sub remove_module_symlinks($$) -{ - my ($tempdir, $piece_tarball_name) = @_; - - print STDERR "find $tempdir/$piece_tarball_name -mindepth 1 -maxdepth 1 -type l -exec rm {} \\;\n"; - system ("find $tempdir/$piece_tarball_name -mindepth 1 -maxdepth 1 -type l -exec rm {} \\;") && - die "Error: can't delete symlinks to clone dir in $tempdir: $!\n"; -} - - -# copy files to temp dir; showing a progress; using a black list -sub copy_dir_filter_and_show_progress($$$) -{ - my ($source_dir, $target_dir, $blacklist) = @_; - - print "Copying \"$source_dir\" -> \"$target_dir\"..."; - # FIXME: crazy hacks to copy dir with a blacklist and showing a progress - system ("tar -cf - -C $source_dir -X $blacklist \.\/ | " . - "tar -xf - -C $target_dir --checkpoint 2>&1 | " . - "awk '{ ORS=\"\" ; if (++nlines\%50 == 0) printf \".\"; fflush() }'") && - die "Error: copying failed: $!\n"; - print "\n"; -} - -# copy the local version of libreoffice-build into a tmp directory -# omit the .svn subdirectories -sub copy_lo_build_to_tempdir($) -{ - my ($lo_build_dir) = @_; - - my $tempdir = tempdir( 'libreoffice-XXXXXX', DIR => File::Spec->tmpdir ); - my $blacklist = "$tempdir/libreoffice-build.copy.blacklist"; - - generate_lo_build_blacklist($blacklist); - copy_dir_filter_and_show_progress($lo_build_dir, $tempdir, $blacklist); - - unlink $blacklist; - - return $tempdir; -} - -# copy the piece lo source directory into a tmp directory -# omit the .git subdirectories -sub copy_lo_piece_to_tempdir($$$) -{ - my ($piece_dir, $piece, $piece_tarball_name) = @_; - - - my $tempdir = tempdir( 'libreoffice-XXXXXX', DIR => File::Spec->tmpdir ); - my $blacklist = "$tempdir/libreoffice-$piece.copy.blacklist"; - - mkdir "$tempdir/$piece_tarball_name" || die "Can't create directory \"$tempdir/$piece_tarball_name\": $!\n"; - - generate_lo_piece_blacklist($blacklist); - copy_dir_filter_and_show_progress("$piece_dir", "$tempdir/$piece_tarball_name", $blacklist); - remove_module_symlinks($tempdir, $piece_tarball_name); - - unlink $blacklist; - - return $tempdir; -} - -sub generate_lo_piece_changelog($$$) -{ - my ($lo_piece_clone, $lo_piece_release_dir, $piece) = @_; - print "Generating changelog for $piece...\n"; - print "1:$lo_piece_clone, 2:$lo_piece_release_dir, 3:$piece\n"; - # FIXME: crazy hacks to copy dir with a blacklist and showing a progress - system ("cd $lo_piece_clone && " . - "git log --date=short --pretty='format:@%cd %an <%ae> [%H]%n%n%s%n%n%e%b' | " . - " sed -e 's|^\([^@]\)|\t\1|' -e 's|^@||' >$lo_piece_release_dir/ChangeLog" ) && - die "Error: generating failed: $!\n"; -} - -sub run_autoreconf($$) -{ - my ($dir, $piece) = @_; - - print "Running autoreconf for $piece...\n"; - system ("cd $dir && " . - "autoreconf -f -i && " . - "rm -rf autom4te.cache && " . - "cd - >/dev/null 2>&1") && die "Error: autoreconf failed: $!\n"; -} - -sub generate_version_file($$$) -{ - my ($dir, $piece, $release_version) = @_; - - # FIXME: crazy hacks to copy libreoffice-build without too big and useless subdirectories and to show a progress - open (VERFILE, ">$dir/$piece.ver") || die "Can't open $dir/lo-$piece.ver: $!\n"; - - print VERFILE "lo_bootstrap_ver=$release_version\n"; - - close VERFILE; -} - -sub release_lo_build($) -{ - my ($lo_build_dir) = @_; - - print "Creating libreoffice-build tarball...\n"; - system ("cd $lo_build_dir && " . - "./autogen.sh --with-distro=GoOoLinux && " . - "make dist && " . - "cd - >/dev/null 2>&1") && die "Error: releasing failed: $!\n"; -} - -sub release_lo_piece($$) -{ - my ($lo_piece_dir, $piece_tarball_name) = @_; - - print "Creating $piece_tarball_name.tar.bz2..."; - system ("cd $lo_piece_dir && " . - "tar -cjf $piece_tarball_name.tar.bz2 --checkpoint * 2>&1 | awk '{ ORS=\"\" ; if (++nlines\%50 == 0) printf \".\"; fflush() }' && " . - "cd - >/dev/null 2>&1") && die "Error: releasing failed: $!\n"; - print "\n"; -} - -sub generate_md5($$$) -{ - my ($dir, $tarball_name, $tarball_suffix) = @_; - - print "Generating MD5...\n"; - system ("cd $dir && " . - "md5sum $tarball_name$tarball_suffix >$tarball_name$tarball_suffix.md5 && " . - "cd - >/dev/null 2>&1") && die "Error: releasing failed: $!\n"; -} - -sub default_releases_state_file($) -{ - my ($lo_build_dir) = @_; - - my $rootdir = $lo_build_dir; - $rootdir =~ s/^(.*?)\/?[^\/]+\/?$/$1/; - - my $releases_state_file; - if ($rootdir) { - $releases_state_file = "$rootdir/.releases"; - } else { - $releases_state_file = ".releases"; - } - - return "$releases_state_file"; -} - -sub default_releases_archive($) -{ - my ($lo_build_dir) = @_; - - my $rootdir = $lo_build_dir; - $rootdir =~ s/^(.*?)\/?[^\/]+\/?$/$1/; - - my $releases_archive_dir; - if ($rootdir) { - $releases_archive_dir = "$rootdir/archive"; - } else { - $releases_archive_dir = "archive"; - } - - return "$releases_archive_dir"; -} - -sub load_releases_state($) -{ - my ($releases_state_file) = @_; - - my $state_config_version; - my $state_release_version; - - if (open (STATE, "$releases_state_file")) { - - while (my $line = <STATE>) { - chomp $line; - - if ($line =~ /^\s*configure_version\s*=\s*(.*)$/) { - $state_config_version = "$1"; - } elsif ($line =~ /^\s*released_version\s*=\s*(.*)$/) { - $state_release_version = "$1"; - } - } - close (STATE); - } - - return $state_config_version, $state_release_version; -} - -sub save_releases_state($$$) -{ - my ($releases_state_file, $config_version, $release_version) = @_; - - open (STATE, '>', "$releases_state_file") || - die "Can't open \"$releases_state_file\" for writing: $!\n"; - - print STATE "configure_version = $config_version\n"; - print STATE "released_version = $release_version\n"; - - close (STATE); -} - -sub remove_tempdir($) -{ - my ($tempdir) = @_; - -# print "Cleaning $tempdir...\n"; - system ("rm -rf $tempdir") && die "Error: rm failed: $!\n"; -} - -sub save_file($$$) -{ - my ($source_dir, $target_dir, $file) = @_; - - unless ( -d "$target_dir" ) { - mkdir ("$target_dir") || - die "Can't create directory \"$target_dir\": $!\n"; - } - - if ( -f "$target_dir/$file" ) { - print "Warning: $target_dir/$file already exists and will be replaced\n"; - unlink ("$target_dir/$file"); - } - - print "Copying into archive: $target_dir/$file ...\n"; - copy ("$source_dir/$file", "$target_dir/$file") || - die "Error: Can't copy $source_dir/$file to $target_dir/$file: $!\n"; -} - -sub check_if_file_exists($$) -{ - my ($file, $force) = @_; - - if (-e $file) { - if (defined $force) { - print "Warning: $file already exists and will be replaced!\n"; - } else { - die "Error: $file alrady exists.\n". - " Use --force if you want to replace it.\n"; - } - } -} - -sub check_if_tarball_already_released($$$) -{ - my ($tarball, $releases_archive_dir, $force) = @_; - - check_if_file_exists($tarball, $force); - check_if_file_exists("$releases_archive_dir/$tarball", $force) if (defined $releases_archive_dir); -} - -sub check_if_already_released($$$$$$) -{ - my ($lo_build_tarball_name, $p_piece_tarball_name, $releases_archive_dir, $force, $pack_lo_build, $pack_lo_pieces) = @_; - - check_if_tarball_already_released("$lo_build_tarball_name.tar.gz", $releases_archive_dir, $force) if ($pack_lo_build); - - if ($pack_lo_pieces) { - foreach my $tarball_name ( values %{$p_piece_tarball_name} ) { - check_if_tarball_already_released("$tarball_name.tar.bz2", $releases_archive_dir, $force); - } - } -} - -sub prepare_lo_build_tarball($$$$) -{ - my ($lo_build_dir, $release_version, $md5, $lo_build_tarball_name) = @_; - - my $temp_dir = copy_lo_build_to_tempdir("$lo_build_dir"); - set_config_version($temp_dir, $release_version); - release_lo_build($temp_dir); - generate_md5($temp_dir, $lo_build_tarball_name, ".tar.gz") if (defined $md5); - - return $temp_dir; -} - -sub prepare_lo_piece_tarball($$$$$) -{ - my ($piece_dir, $release_version, $md5, $piece, $piece_tarball_name) = @_; - - my $temp_dir = copy_lo_piece_to_tempdir($piece_dir, $piece, $piece_tarball_name); - generate_lo_piece_changelog($piece_dir, "$temp_dir/$piece_tarball_name", $piece); - run_autoreconf("$temp_dir/$piece_tarball_name", $piece) if ($piece eq 'bootstrap'); - generate_version_file("$temp_dir/$piece_tarball_name", $piece, $release_version) if ($piece eq 'bootstrap'); - release_lo_piece($temp_dir, $piece_tarball_name); - generate_md5($temp_dir, $piece_tarball_name, ".tar.bz2") if (defined $md5); - - return $temp_dir; -} - -sub move_tarball_to_final_location($$$$) -{ - my ($temp_dir, $releases_archive_dir, $md5, $tarball) = @_; - - save_file($temp_dir, ".", "$tarball"); - save_file($temp_dir, ".", "$tarball.md5") if (defined $md5); - if ( defined $releases_archive_dir ) { - save_file($temp_dir, $releases_archive_dir, "$tarball"); - save_file($temp_dir, $releases_archive_dir, "$tarball.md5") if (defined $md5); - } - - remove_tempdir($temp_dir); -} - - -sub generate_tarballs($$$$$$$$$) -{ - my ($source_dir, $releases_archive_dir, $release_version, $md5, $lo_build_tarball_name, $p_piece_tarball_name, $pack_lo_build, $pack_lo_pieces, $is_lo_build_dir) = @_; - - if ($pack_lo_build) { -# my $temp_dir=prepare_lo_build_tarball($source_dir, $release_version, $md5, $lo_build_tarball_name); -# move_tarball_to_final_location($temp_dir, $releases_archive_dir, $md5, "$lo_build_tarball_name.tar.gz"); - my $temp_dir=prepare_lo_piece_tarball($source_dir, $release_version, $md5, "bootstrap", $lo_build_tarball_name); - move_tarball_to_final_location($temp_dir, $releases_archive_dir, $md5, "$lo_build_tarball_name.tar.bz2"); - } - - if ($pack_lo_pieces) { - my $piece_dir = $source_dir; - foreach my $piece ( keys %{$p_piece_tarball_name} ) { - print "\n--- Generating $piece ---\n"; - $piece_dir = "$source_dir/clone/$piece" if ($is_lo_build_dir); - my $temp_dir=prepare_lo_piece_tarball($piece_dir, $release_version, $md5, $piece, $p_piece_tarball_name->{$piece}); - move_tarball_to_final_location($temp_dir, $releases_archive_dir, $md5, "$p_piece_tarball_name->{$piece}.tar.bz2"); - } - } - -} - - -sub usage() -{ - print "This tool helps to pack the libreoffice-build and piece sources\n\n" . - - "Usage:\n". - "\tlo-pack-sources [--help] [--force] [--version]\n" . - "\t [--set-version=<ver>] [--inc-version] [--md5]\n" . - "\t [--no-lo-build] [--no-lo-pieces] [--piece=<piece>]\n" . - "\t [dir]\n\n" . - - "Options:\n\n" . - "\t--help: print this help\n" . - "\t--force: replace an already existing release of the same version\n" . - "\t--version: just print version of the released package but do not\n" . - "\t\trelease it; the version is affected by the other options, e.g.\n" . - "\t\t--inc-version\n" . - "\t--set-version: force another version\n" . - "\t--inc-version: increment the latest version; there is a difference\n" . - "\t\tbetween test release (default) and final (not yet supported)\n" . - "\t--md5: generate md5 sum for the final tarball\n" . - "\t--no-lo-build: do not pack the libreoffice-build tarball\n" . - "\t--no-lo-pieces: do not pack the libreoffice-build piece sources\n" . - "\t--piece=<piece>: pack just a single piece, .e.g. \"writer\",\n" . - "\tdir: path of the source directory, either libreoffice-build or piece\n"; -} - - -my $ptf; -my $md5; -my $inc_version; -my $config_version; -my $set_version; -my $get_config_version; -my $release_version; -my $pack_lo_build=1; -my $pack_lo_pieces=1; -my $source_dir; -my $releases_archive_dir; -my $releases_state_file; -my $state_config_version; -my $state_release_version; -my $lo_build_tarball_name; -my $lo_build_tempdir; -my $force; -my $verbose=1; -my $is_lo_build_dir=0; -my @pieces=("artwork", "base", "calc", "components", - "extensions", "extras", "filters", "help", "impress", - "libs-core", "libs-extern", "libs-extern-sys", "libs-gui", - "postprocess", "sdk", "testing", "translations", "ure", "writer"); -my %piece_tarball_name; - -################### -# Arguments parsing -################### - -for my $arg (@ARGV) { - if ($arg eq '--help' || $arg eq '-h') { - usage; - exit 0; - } elsif ($arg eq '--force') { - $force=1; - } elsif ($arg eq '--md5') { - $md5=1; - } elsif ($arg eq '--version') { - $get_config_version=1; - $verbose = undef; - } elsif ($arg eq '--inc-version') { - $inc_version=1 - } elsif ($arg =~ m/--set-version=(.*)/) { - $set_version="$1"; - } elsif ($arg eq '--no-lo-build') { - $pack_lo_build=0; - } elsif ($arg eq '--no-lo-pieces') { - $pack_lo_pieces=0; - } elsif ($arg =~ m/--piece=(.*)/) { - # process just one piece and do not pack libreoffice-build - @pieces=(); - push @pieces, "$1"; - $pack_lo_build=0; - } elsif ($arg =~ /^-/ ) { - die "Error: unknown option: $arg\n"; - } else { - if (! defined $source_dir) { - $source_dir = $arg; - } else { - die "Error: Too many arguments $arg\n"; - } - } -} - -################### -# Initial checks -################### - -unless ( defined $source_dir ) { - die "Error: undefined source directory, try --help\n"; -} - -unless ( -d "$source_dir" ) { - die "Error: is not a directory: $source_dir\n"; -} - -# check if it is a valid libreoffice-bootstrap directory -$is_lo_build_dir=1 if (-f "$source_dir/autogen.sh" && -f "$source_dir/set_soenv.in"); - -# all tarballs are generated from the libreoffice-bootstrap directory -if (@pieces > 1 && $is_lo_build_dir == 0 ) { - die "Error: \"$source_dir\" is not a valid libreoffice-bootstrap directory\n"; -} - -# just a single piece tarball can be generated from piece directory; version must be explicitely set in this case -if (@pieces == 1 && $is_lo_build_dir == 0 && ! defined $set_version ) { - die "Error: version must be set using the --set-version=<version> option\n" unless (defined $set_version); -} - -if (defined $set_version && defined $inc_version) { - die "Error: --set-version and --inc-version options can't be used together\n"; -} - - -################### -# Main logic -################### - - -print "Source: $source_dir\n" if ($verbose); - -if ($is_lo_build_dir) { - # detect some paths - $releases_state_file = default_releases_state_file($source_dir) unless (defined $releases_state_file); - $releases_archive_dir = default_releases_archive($source_dir) unless (defined $releases_archive_dir); - - # detect versions - $config_version = get_config_version($source_dir); - ($state_config_version, $state_release_version) = load_releases_state($releases_state_file); - if (defined $set_version) { - $release_version = "$set_version"; - } else { - $release_version = get_release_version($config_version, $state_config_version, $state_release_version, $inc_version); - } -} else { - # must be single piece release with predefined version - $release_version = "$set_version"; -} - -# define tarball names -$lo_build_tarball_name = "libreoffice-bootstrap-$release_version"; -foreach my $piece (@pieces) { - $piece_tarball_name{$piece} = "libreoffice-$piece-$release_version"; -} - -print "Default version : $config_version\n" if ($verbose && defined $config_version); -print "Last used version : $state_release_version\n" if ($verbose && defined $state_release_version); -print "New version : $release_version\n" if ($verbose); - -# do the real job -if ( defined $get_config_version ) { - print "$release_version\n"; -} else { - check_if_already_released($lo_build_tarball_name, \%piece_tarball_name, $releases_archive_dir, $force, $pack_lo_build, $pack_lo_pieces); - - # give a chance to stop the process - print ("\nWaiting 3 seconds...\n"); - sleep 3; - - generate_tarballs($source_dir, $releases_archive_dir, $release_version, $md5, $lo_build_tarball_name, \%piece_tarball_name, $pack_lo_build, $pack_lo_pieces, $is_lo_build_dir); - - if ( defined $releases_state_file ) { - save_releases_state($releases_state_file, $config_version, $release_version); - } -} diff --git a/bin/mkworkdir b/bin/mkworkdir deleted file mode 100755 index 9691ee1bd..000000000 --- a/bin/mkworkdir +++ /dev/null @@ -1,103 +0,0 @@ -#!/usr/bin/env bash - -BASEDIR=$(dirname $0) -GIT_NEW_WORKDIR=`which git-new-workdir 2>/dev/null` -if [ -z $GIT_NEW_WORKDIR ] ; then - GIT_NEW_WORKDIR="$BASEDIR/git-new-workdir" -fi - -print_help() { - echo "Usage: $1 [-s | --source bootstrap_reference_repo_path] [ -d | --workdir-base-path path] [ --as alias_name] [branch name]" - echo "--source is optional if you are currently in a bootstrap git repository, in which case that repository is used as source" - echo "--workdir-base-path is optional if you have defined LO_BASE_WORKDIR in your environement" - echo "--as is the name of the directory that will be the bootstrap of your new workdir ensemble. the default is the branch name used to create the workdir" - echo "the branch name is optional, the default is 'master'" -} - -die() { - echo $1 - exit 1 -} - -BOOTSTRAP_DIR= -DEST_DIR=${LO_BASE_WORKDIR:-} -BRANCH="master" - -while [ "${1:-}" != "" ] ; do - case $1 in - -s | --source ) - shift - BOOTSTRAP_DIR="$1" - ;; - -d | --workdir-base-path ) - shift - DEST_DIR="$1" - ;; - --as ) - shift - WKDIR_NAME="$1" - ;; - -h | --help ) - print_help $0 - exit 0 - ;; - -* ) - die "invalid option $1" - ;; - *) - if [ -z "$BRANCH" ] ; then - BRANCH="$1" - else - die "Too many arguments" - fi - ;; - esac - shift -done - - -if [ -z "$BOOTSTRAP_DIR" ]; then - BOOTSTRAP_DIR=$(git rev-parse --show-toplevel 2>/dev/null) || die "Cannot use the current working directory as implicit source: Not a git repository" - if [ -n "$BOOTSTRAP_DIR" ] ; then - if [ "$(basename $(git config remote.origin.url))" != "bootstrap" ] ; then - die "Cannot use the current working directory as implicit source: Not a bootstrap git repository" - fi - fi -fi -if [ -z "$DEST_DIR" ]; then - echo "destination directory is missing." - print_help $0 - exit 1 -fi - -if [ -z "$WKDIR_NAME" ]; then - WKDIR_NAME="$BRANCH" -fi - -if [ -e "$DEST_DIR/$WKDIR_NAME" ]; then - die "$DEST_DIR/$WKDIR_NAME already exists." -fi - -echo "===== bootstrap =====" -$GIT_NEW_WORKDIR $BOOTSTRAP_DIR "$DEST_DIR/$WKDIR_NAME" $BRANCH - -echo "creating directory $DEST_DIR/$WKDIR_NAME/clone" -mkdir -p "$DEST_DIR/$WKDIR_NAME/clone" || die "failed to create $DEST_DIR/$WKDIR_NAME/clone" - -REPOS=$(cat ${BASEDIR}/repo-list) - -cd "$DEST_DIR/$WKDIR_NAME" - -for repo in $REPOS; do - repo_path="${BOOTSTRAP_DIR}/clone/$repo" - echo "===== $repo =====" - $GIT_NEW_WORKDIR $repo_path "$DEST_DIR/$WKDIR_NAME/clone/$repo" $BRANCH - for link in $(ls ./clone/$repo) ; do - if [ ! -e "$link" ] ; then - echo "Creating link $link" - ln -s "./clone/$repo/$link" "$link" - fi - done - -done - diff --git a/bin/repo-list.in b/bin/repo-list.in deleted file mode 100644 index 15bad770b..000000000 --- a/bin/repo-list.in +++ /dev/null @@ -1 +0,0 @@ -@GIT_REPO_NAMES@
\ No newline at end of file diff --git a/bin/text_cat/COPYING b/bin/text_cat/COPYING deleted file mode 100644 index 5ab7695ab..000000000 --- a/bin/text_cat/COPYING +++ /dev/null @@ -1,504 +0,0 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 2.1, February 1999 - - Copyright (C) 1991, 1999 Free Software Foundation, Inc. - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -[This is the first released version of the Lesser GPL. It also counts - as the successor of the GNU Library Public License, version 2, hence - the version number 2.1.] - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. - - This license, the Lesser General Public License, applies to some -specially designated software packages--typically libraries--of the -Free Software Foundation and other authors who decide to use it. You -can use it too, but we suggest you first think carefully about whether -this license or the ordinary General Public License is the better -strategy to use in any particular case, based on the explanations below. - - When we speak of free software, we are referring to freedom of use, -not price. Our General Public Licenses are designed to make sure that -you have the freedom to distribute copies of free software (and charge -for this service if you wish); that you receive source code or can get -it if you want it; that you can change the software and use pieces of -it in new free programs; and that you are informed that you can do -these things. - - To protect your rights, we need to make restrictions that forbid -distributors to deny you these rights or to ask you to surrender these -rights. These restrictions translate to certain responsibilities for -you if you distribute copies of the library or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link other code with the library, you must provide -complete object files to the recipients, so that they can relink them -with the library after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - We protect your rights with a two-step method: (1) we copyright the -library, and (2) we offer you this license, which gives you legal -permission to copy, distribute and/or modify the library. - - To protect each distributor, we want to make it very clear that -there is no warranty for the free library. Also, if the library is -modified by someone else and passed on, the recipients should know -that what they have is not the original version, so that the original -author's reputation will not be affected by problems that might be -introduced by others. - - Finally, software patents pose a constant threat to the existence of -any free program. We wish to make sure that a company cannot -effectively restrict the users of a free program by obtaining a -restrictive license from a patent holder. Therefore, we insist that -any patent license obtained for a version of the library must be -consistent with the full freedom of use specified in this license. - - Most GNU software, including some libraries, is covered by the -ordinary GNU General Public License. This license, the GNU Lesser -General Public License, applies to certain designated libraries, and -is quite different from the ordinary General Public License. We use -this license for certain libraries in order to permit linking those -libraries into non-free programs. - - When a program is linked with a library, whether statically or using -a shared library, the combination of the two is legally speaking a -combined work, a derivative of the original library. The ordinary -General Public License therefore permits such linking only if the -entire combination fits its criteria of freedom. The Lesser General -Public License permits more lax criteria for linking other code with -the library. - - We call this license the "Lesser" General Public License because it -does Less to protect the user's freedom than the ordinary General -Public License. It also provides other free software developers Less -of an advantage over competing non-free programs. These disadvantages -are the reason we use the ordinary General Public License for many -libraries. However, the Lesser license provides advantages in certain -special circumstances. - - For example, on rare occasions, there may be a special need to -encourage the widest possible use of a certain library, so that it becomes -a de-facto standard. To achieve this, non-free programs must be -allowed to use the library. A more frequent case is that a free -library does the same job as widely used non-free libraries. In this -case, there is little to gain by limiting the free library to free -software only, so we use the Lesser General Public License. - - In other cases, permission to use a particular library in non-free -programs enables a greater number of people to use a large body of -free software. For example, permission to use the GNU C Library in -non-free programs enables many more people to use the whole GNU -operating system, as well as its variant, the GNU/Linux operating -system. - - Although the Lesser General Public License is Less protective of the -users' freedom, it does ensure that the user of a program that is -linked with the Library has the freedom and the wherewithal to run -that program using a modified version of the Library. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, whereas the latter must -be combined with the library in order to run. - - GNU LESSER GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library or other -program which contains a notice placed by the copyright holder or -other authorized party saying it may be distributed under the terms of -this Lesser General Public License (also called "this License"). -Each licensee is addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, complete source code means -all the source code for all modules it contains, plus any associated -interface definition files, plus the scripts used to control compilation -and installation of the library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete source code as you receive it, in any medium, provided that -you conspicuously and appropriately publish on each copy an -appropriate copyright notice and disclaimer of warranty; keep intact -all the notices that refer to this License and to the absence of any -warranty; and distribute a copy of this License along with the -Library. - - You may charge a fee for the physical act of transferring a copy, -and you may at your option offer warranty protection in exchange for a -fee. - - 2. You may modify your copy or copies of the Library or any portion -of it, thus forming a work based on the Library, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Library, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote -it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. - - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you accompany -it with the complete corresponding machine-readable source code, which -must be distributed under the terms of Sections 1 and 2 above on a -medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the -source code from the same place satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also combine or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (1) uses at run time a - copy of the library already present on the user's computer system, - rather than copying library functions into the executable, and (2) - will operate properly with a modified version of the library, if - the user installs one, as long as the modified version is - interface-compatible with the version that the work was made with. - - c) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - d) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - e) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the materials to be distributed need not include anything that is -normally distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies -the executable. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. - - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library is void, and will automatically terminate your -rights under this License. However, parties who have received copies, -or rights, from you under this License will not have their licenses -terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties with -this License. - - 11. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. - -If any portion of this section is held invalid or unenforceable under any -particular circumstance, the balance of the section is intended to apply, -and the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library under this License may add -an explicit geographical distribution limitation excluding those countries, -so that distribution is permitted only in or among countries not thus -excluded. In such case, this License incorporates the limitation as if -written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Lesser General Public License from time to time. -Such new versions will be similar in spirit to the present version, -but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Library -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -write to the author to ask for permission. For software which is -copyrighted by the Free Software Foundation, write to the Free -Software Foundation; we sometimes make exceptions for this. Our -decision will be guided by the two goals of preserving the free status -of all derivatives of our free software and of promoting the sharing -and reuse of software generally. - - NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Libraries - - If you develop a new library, and you want it to be of the greatest -possible use to the public, we recommend making it free software that -everyone can redistribute and change. You can do so by permitting -redistribution under these terms (or, alternatively, under the terms of the -ordinary General Public License). - - To apply these terms, attach the following notices to the library. It is -safest to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least the -"copyright" line and a pointer to where the full notice is found. - - <one line to give the library's name and a brief idea of what it does.> - Copyright (C) <year> <name of author> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - -Also add information on how to contact you by electronic and paper mail. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the library, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the - library `Frob' (a library for tweaking knobs) written by James Random Hacker. - - <signature of Ty Coon>, 1 April 1990 - Ty Coon, President of Vice - -That's all there is to it! - - diff --git a/bin/text_cat/Copyright b/bin/text_cat/Copyright deleted file mode 100644 index c1e75d3af..000000000 --- a/bin/text_cat/Copyright +++ /dev/null @@ -1,21 +0,0 @@ -Copyright (c) 1994, 1995, 1996, 1997 by Gertjan van Noord. - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the - Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, - MA 02110-1301 USA - -cf. the file COPYING - - diff --git a/bin/text_cat/LM/english.lm b/bin/text_cat/LM/english.lm deleted file mode 100644 index ab71632c6..000000000 --- a/bin/text_cat/LM/english.lm +++ /dev/null @@ -1,400 +0,0 @@ -_ 20326 -e 6617 -t 4843 -o 3834 -n 3653 -i 3602 -a 3433 -s 2945 -r 2921 -h 2507 -e_ 2000 -d 1816 -_t 1785 -c 1639 -l 1635 -th 1535 -he 1351 -_th 1333 -u 1309 -f 1253 -m 1175 -p 1151 -_a 1145 -the 1142 -_the 1060 -s_ 978 -er 968 -_o 967 -he_ 928 -d_ 888 -t_ 885 -the_ 844 -_the_ 843 -on 842 -in 817 -y 783 -n_ 773 -b 761 -re 754 -, 734 -,_ 732 -an 732 -g 728 -w 718 -_i 707 -en 676 -f_ 599 -y_ 595 -of 594 -_of 592 -es 589 -ti 587 -v 580 -_of_ 575 -of_ 575 -nd 568 -at 549 -r_ 540 -_w 534 -it 522 -ed 496 -_p 494 -nt 485 -_c 462 -o_ 457 -io 450 -_an 439 -te 432 -or 425 -_b 418 -nd_ 407 -to 406 -st 402 -is 401 -_s 396 -_in 389 -ion 385 -and 385 -de 384 -ve 382 -ha 375 -ar 366 -_m 361 -and_ 360 -_and 360 -_and_ 358 -se 353 -_to 347 -me 346 -to_ 344 -ed_ 339 -. 330 -be 329 -_f 329 -._ 329 -_to_ 320 -co 317 -ic 316 -ns 308 -al 307 -le 304 -ou 304 -ce 293 -ent 279 -l_ 278 -_co 277 -tio 275 -on_ 274 -_d 274 -tion 268 -ri 266 -_e 264 -ng 253 -hi 251 -er_ 249 -ea 246 -as 245 -_be 242 -pe 242 -h_ 234 -_r 232 -ec 227 -ch 223 -ro 222 -ct 220 -_h 219 -pr 217 -in_ 217 -ne 214 -ll 214 -rt 213 -s,_ 210 -s, 210 -li 209 -ra 208 -T 207 -wh 204 -a_ 203 -ac 201 -_wh 199 -_n 196 -ts 196 -di 196 -es_ 195 -si 194 -re_ 193 -at_ 192 -nc 192 -ie 190 -_a_ 188 -_in_ 185 -ing 184 -us 182 -_re 182 -g_ 179 -ng_ 178 -op 178 -con 177 -tha 175 -_l 174 -_tha 174 -ver 173 -ma 173 -ion_ 171 -_con 171 -ci 170 -ons 170 -_it 170 -po 169 -ere 168 -is_ 167 -ta 167 -la 166 -_pr 165 -fo 164 -ho 164 -ir 162 -ss 161 -men 160 -be_ 160 -un 159 -ty 159 -_be_ 158 -ing_ 157 -om 156 -ot 156 -hat 155 -ly 155 -_g 155 -em 153 -_T 151 -rs 150 -mo 148 -ch_ 148 -wi 147 -we 147 -ad 147 -ts_ 145 -res 143 -_wi 143 -I 143 -hat_ 142 -ei 141 -ly_ 141 -ni 140 -os 140 -ca 139 -ur 139 -A 138 -ut 138 -that 138 -_that 137 -ati 137 -_fo 137 -st_ 137 -il 136 -or_ 136 -for 136 -pa 136 -ul 135 -ate 135 -ter 134 -it_ 134 -nt_ 133 -that_ 132 -_ha 129 -al_ 128 -el 128 -as_ 127 -ll_ 127 -_ma 125 -no 124 -ment 124 -an_ 124 -tion_ 122 -su 122 -bl 122 -_de 122 -nce 120 -pl 120 -fe 119 -tr 118 -so 118 -int 115 -ov 114 -e, 114 -e,_ 114 -_u 113 -ent_ 113 -Th 113 -her 113 -j 112 -atio 112 -ation 112 -_Th 111 -le_ 110 -ai 110 -_it_ 110 -_on 110 -_for 109 -ect 109 -k 109 -hic 108 -est 108 -der 107 -tu 107 -na 106 -_by_ 106 -by_ 106 -E 106 -by 106 -_by 106 -ve_ 106 -_di 106 -en_ 104 -vi 104 -m_ 103 -_whi 102 -iv 102 -whi 102 -ns_ 102 -_A 101 -ich 100 -ge 100 -pro 99 -ess 99 -_whic 99 -ers 99 -hich 99 -ce_ 99 -which 99 -whic 99 -all 98 -ove 98 -_is 98 -ich_ 97 -ee 97 -hich_ 97 -n,_ 96 -n, 96 -im 95 -ir_ 94 -hei 94 -ions 94 -sti 94 -se_ 94 -per 93 -The 93 -_pa 93 -heir 93 -id 93 -eir 93 -eir_ 93 -ig 93 -heir_ 93 -_no 93 -ev 93 -era 92 -_int 92 -ted 91 -_The 91 -ies 91 -art 91 -thei 90 -_ar 90 -_thei 90 -their 90 -_pro 90 -et 89 -_pe 88 -_mo 88 -ther 88 -x 87 -gh 87 -S 87 -_is_ 87 -ol 87 -ty_ 87 -_I 86 -nde 86 -am 86 -rn 86 -nte 86 -mp 85 -_su 84 -_we 84 -par 84 -_v 84 -pu 82 -his 82 -ow 82 -mi 82 -go 81 -N 81 -ue 81 -ple 81 -ep 80 -ab 80 -;_ 80 -; 80 -ex 80 -ain 80 -over 80 -_un 79 -q 79 -qu 79 -pp 79 -ith 79 -ry 79 -_as 79 -ber 79 -ub 78 -av 78 -uc 78 -s._ 77 -s. 77 -enc 77 -are 77 -iti 77 -gr 76 -his_ 76 -ua 76 -part 76 -ff 75 -eve 75 -O 75 -rea 74 -ous 74 -ia 74 -The_ 73 -ag 73 -mb 73 -_go 73 -fa 72 -on,_ 72 -ern 72 -t,_ 72 -on, 72 -t, 72 -_me 71 diff --git a/bin/text_cat/LM/german.lm b/bin/text_cat/LM/german.lm deleted file mode 100644 index 6f14f51ef..000000000 --- a/bin/text_cat/LM/german.lm +++ /dev/null @@ -1,400 +0,0 @@ -_ 31586 -e 15008 -n 9058 -i 7299 -r 6830 -t 5662 -s 5348 -a 4618 -h 4176 -d 4011 -er 3415 -en 3412 -u 3341 -l 3266 -n_ 2848 -c 2636 -ch 2460 -g 2407 -o 2376 -e_ 2208 -r_ 2128 -m 2077 -_d 1948 -de 1831 -en_ 1786 -ei 1718 -er_ 1570 -in 1568 -te 1505 -ie 1505 -b 1458 -t_ 1425 -f 1306 -k 1176 -ge 1144 -s_ 1137 -un 1113 -, 1104 -,_ 1099 -w 1099 -z 1060 -nd 1039 -he 1004 -st 989 -_s 952 -_de 949 -. 909 -_e 906 -ne 906 -der 880 -._ 847 -be 841 -es 829 -ic 796 -_a 791 -ie_ 779 -is 769 -ich 763 -an 755 -re 749 -di 732 -ein 730 -se 730 -" 720 -ng 709 -_i 706 -sc 683 -sch 681 -it 673 -der_ 652 -h_ 651 -ch_ 642 -S 630 -le 609 -p 609 -ä 607 -ü 603 -au 603 -v 602 -che 599 -_w 596 -d_ 585 -die 576 -_di 572 -m_ 562 -_die 559 -el 548 -_S 540 -_der 529 -li 527 -_der_ 523 -si 515 -al 514 -ns 507 -on 501 -or 495 -ti 490 -ten 487 -ht 486 -die_ 485 -_die_ 483 -D 479 -rt 478 -nd_ 476 -_u 470 -nt 468 -A 466 -in_ 464 -den 461 -cht 447 -und 443 -me 440 -_z 429 -ung 426 -ll 423 -_un 421 -_ei 419 -_n 415 -hr 412 -ine 412 -_A 408 -_ein 405 -ar 404 -ra 403 -_v 400 -_g 400 -as 395 -zu 392 -et 389 -em 385 -_D 380 -eine 376 -gen 376 -g_ 376 -da 368 -we 366 -K 365 -lt 360 -B 354 -_" 353 -nde 349 -ni 347 -und_ 345 -E 345 -ur 345 -_m 342 -ri 341 -ha 340 -eh 339 -ten_ 338 -es_ 336 -_K 336 -_und 335 -ig 335 -_b 335 -hen 334 -_und_ 332 -_au 329 -_B 327 -_da 325 -_zu 324 -_in 322 -at 321 -us 318 -wi 307 -n, 305 -n,_ 304 -nn 304 -te_ 301 -eit 301 -_h 300 -ter 299 -M 298 -n. 295 -ß 294 -ng_ 289 -sche 289 -- 283 -rs 282 -den_ 282 -_si 280 -G 280 -im 278 -_ge 277 -chen 276 -rd 273 -_E 273 -n._ 270 -icht 270 -rn 268 -uf 267 -isch 264 -isc 264 -nen 263 -_in_ 262 -_M 260 -_er 257 -ich_ 255 -ac 253 -lic 252 -_G 252 -ber 252 -la 251 -vo 251 -eb 250 -ke 249 -F 248 -as_ 248 -hen_ 248 -ach 245 -en, 244 -ung_ 243 -lich 243 -ste 243 -en,_ 243 -_k 241 -ben 241 -_f 241 -en. 241 -_be 239 -it_ 239 -L 238 -_se 237 -mi 236 -ve 236 -na 236 -on_ 236 -P 235 -ss 234 -ist 234 -ö 234 -ht_ 233 -ru 233 -st_ 229 -_F 229 -ts 227 -ab 226 -W 226 -ol 225 -_eine 225 -hi 225 -so 224 -em_ 223 -"_ 223 -ren 222 -en._ 221 -chen_ 221 -R 221 -ta 221 -ere 220 -ische 219 -ers 218 -ert 217 -_P 217 -tr 217 -ed 215 -ze 215 -eg 215 -ens 215 -ür 213 -ah 212 -_vo 212 -ne_ 211 -cht_ 210 -uc 209 -_wi 209 -nge 208 -lle 208 -fe 207 -_L 207 -ver 206 -hl 205 -V 204 -ma 203 -wa 203 -auf 201 -H 198 -_W 195 -T 195 -nte 193 -uch 193 -l_ 192 -sei 192 -nen_ 190 -u_ 189 -_den 189 -_al 189 -_V 188 -t. 188 -lte 187 -ut 186 -ent 184 -sich 183 -sic 183 -il 183 -ier 182 -am 181 -gen_ 180 -sen 179 -fü 178 -um 178 -t._ 177 -f_ 174 -he_ 174 -ner 174 -nst 174 -ls 174 -_sei 173 -ro 173 -ir 173 -ebe 173 -mm 173 -ag 172 -ern 169 -t,_ 169 -t, 169 -eu 169 -ft 168 -icht_ 167 -hre 167 -Be 166 -nz 165 -nder 165 -_T 164 -_den_ 164 -iche 163 -tt 163 -zu_ 162 -and 162 -J 161 -rde 160 -rei 160 -_we 159 -_H 159 -ige 159 -_Be 158 -rte 157 -hei 156 -das 155 -aus 155 -che_ 154 -_das 154 -_zu_ 154 -tz 154 -_ni 153 -das_ 153 -_R 153 -N 153 -des 153 -_ve 153 -_J 152 -I 152 -_das_ 152 -men 151 -_so 151 -_ver 151 -_auf 150 -ine_ 150 -_ha 150 -rg 149 -ind 148 -eben 148 -kt 147 -mit 147 -_an 147 -her 146 -Ge 146 -Sc 145 -_sich 145 -U 145 -Sch 145 -_sic 145 -end 145 -Di 144 -abe 143 -ck 143 -sse 142 -ür_ 142 -ell 142 -ik 141 -o_ 141 -nic 141 -nich 141 -sa 141 -_fü 140 -hn 140 -zi 140 -no 140 -nicht 140 -im_ 139 -von_ 139 -von 139 -_nic 139 -_nich 139 -eine_ 139 -oc 138 -wei 138 -io 138 -schen 138 -gt 138 diff --git a/bin/text_cat/text_cat b/bin/text_cat/text_cat deleted file mode 100755 index 6c6b0d1d1..000000000 --- a/bin/text_cat/text_cat +++ /dev/null @@ -1,229 +0,0 @@ -#!/usr/bin/perl -w -# © Gertjan van Noord, 1997. -# mailto:vannoord@let.rug.nl - -use strict; -use vars qw($opt_d $opt_f $opt_h $opt_i $opt_l $opt_n $opt_s $opt_t $opt_v $opt_u $opt_a); -use Getopt::Std; -use Benchmark; - -my $non_word_characters='0-9\s'; - -# OPTIONS -getopts('a:d:f:hi:lnst:u:v'); - -# defaults: set $opt_X unless already defined (Perl Cookbook p. 6): -$opt_a ||= 10; -$opt_d ||= '/users1/vannoord/Perl/TextCat/LM'; -$opt_f ||= 0; -$opt_t ||= 400; -$opt_u ||= 1.05; - -sub help { - print <<HELP -Text Categorization. Typically used to determine the language of a -given document. - -Usage ------ - -* print help message: - -$0 -h - -* for guessing: - -$0 [-a Int] [-d Dir] [-f Int] [-i N] [-l] [-t Int] [-u Int] [-v] - - -a the program returns the best-scoring language together - with all languages which are $opt_u times worse (cf option -u). - If the number of languages to be printed is larger than the value - of this option (default: $opt_a) then no language is returned, but - instead a message that the input is of an unknown language is - printed. Default: $opt_a. - -d indicates in which directory the language models are - located (files ending in .lm). Currently only a single - directory is supported. Default: $opt_d. - -f Before sorting is performed the Ngrams which occur this number - of times or less are removed. This can be used to speed up - the program for longer inputs. For short inputs you should use - -f 0. - Default: $opt_f. - -i N only read first N lines - -l indicates that input is given as an argument on the command line, - e.g. text_cat -l "this is english text" - Cannot be used in combination with -n. - -s Determine language of each line of input. Not very efficient yet, - because language models are re-loaded after each line. - -t indicates the topmost number of ngrams that should be used. - If used in combination with -n this determines the size of the - output. If used with categorization this determines - the number of ngrams that are compared with each of the language - models (but each of those models is used completely). - -u determines how much worse result must be in order not to be - mentioned as an alternative. Typical value: 1.05 or 1.1. - Default: $opt_u. - -v verbose. Continuation messages are written to standard error. - -* for creating new language model, based on text read from standard input: - -$0 -n [-v] - - -v verbose. Continuation messages are written to standard error. - - -HELP -} - -if ($opt_h) { help(); exit 0; }; - -if ($opt_n) { - my %ngram=(); - my @result = create_lm(input(),\%ngram); - print join("\n",map { "$_\t $ngram{$_}" ; } @result),"\n"; -} elsif ($opt_l) { - classify($ARGV[0]); -} elsif ($opt_s) { - while (<>) { - chomp; - classify($_); - } -} else { - classify(input()); -} - -# CLASSIFICATION -sub classify { - my ($input)=@_; - my %results=(); - my $maxp = $opt_t; - # open directory to find which languages are supported - opendir DIR, "$opt_d" or die "directory $opt_d: $!\n"; - my @languages = sort(grep { s/\.lm// && -r "$opt_d/$_.lm" } readdir(DIR)); - closedir DIR; - @languages or die "sorry, can't read any language models from $opt_d\n" . - "language models must reside in files with .lm ending\n"; - - - # create ngrams for input. Note that hash %unknown is not used; - # it contains the actual counts which are only used under -n: creating - # new language model (and even then they are not really required). - my @unknown=create_lm($input); - # load model and count for each language. - my $language; - my $t1 = new Benchmark; - foreach $language (@languages) { - # loads the language model into hash %$language. - my %ngram=(); - my $rang=1; - open(LM,"$opt_d/$language.lm") || die "cannot open $language.lm: $!\n"; - while (<LM>) { - chomp; - # only use lines starting with appropriate character. Others are - # ignored. - if (/^[^$non_word_characters]+/o) { - $ngram{$&} = $rang++; - } - } - close(LM); - #print STDERR "loaded language model $language\n" if $opt_v; - - # compares the language model with input ngrams list - my ($i,$p)=(0,0); - while ($i < @unknown) { - if ($ngram{$unknown[$i]}) { - $p=$p+abs($ngram{$unknown[$i]}-$i); - } else { - $p=$p+$maxp; - } - ++$i; - } - #print STDERR "$language: $p\n" if $opt_v; - - $results{$language} = $p; - } - print STDERR "read language models done (" . - timestr(timediff(new Benchmark, $t1)) . - ".\n" if $opt_v; - my @results = sort { $results{$a} <=> $results{$b} } keys %results; - - print join("\n",map { "$_\t $results{$_}"; } @results),"\n" if $opt_v; - my $a = $results{$results[0]}; - - my @answers=(shift(@results)); - while (@results && $results{$results[0]} < ($opt_u *$a)) { - @answers=(@answers,shift(@results)); - } - if (@answers > $opt_a) { - print "I don't know; " . - "Perhaps this is a language I haven't seen before?\n"; - } else { - print join(" or ", @answers), "\n"; - } -} - -# first and only argument is reference to hash. -# this hash is filled, and a sorted list (opt_n elements) -# is returned. -sub input { - my $read=""; - if ($opt_i) { - while(<>) { - if ($. == $opt_i) { - return $read . $_; - } - $read = $read . $_; - } - return $read; - } else { - local $/; # so it doesn't affect $/ elsewhere - undef $/; - $read = <>; # swallow input. - $read || die "determining the language of an empty file is hard...\n"; - return $read; - } -} - - -sub create_lm { - my $t1 = new Benchmark; - my $ngram; - ($_,$ngram) = @_; #$ngram contains reference to the hash we build - # then add the ngrams found in each word in the hash - my $word; - foreach $word (split("[$non_word_characters]+")) { - $word = "_" . $word . "_"; - my $len = length($word); - my $flen=$len; - my $i; - for ($i=0;$i<$flen;$i++) { - $$ngram{substr($word,$i,5)}++ if $len > 4; - $$ngram{substr($word,$i,4)}++ if $len > 3; - $$ngram{substr($word,$i,3)}++ if $len > 2; - $$ngram{substr($word,$i,2)}++ if $len > 1; - $$ngram{substr($word,$i,1)}++; - $len--; - } - } - ###print "@{[%$ngram]}"; - my $t2 = new Benchmark; - print STDERR "count_ngrams done (". - timestr(timediff($t2, $t1)) .").\n" if $opt_v; - - # as suggested by Karel P. de Vos, k.vos@elsevier.nl, we speed up - # sorting by removing singletons - map { my $key=$_; if ($$ngram{$key} <= $opt_f) - { delete $$ngram{$key}; }; } keys %$ngram; - #however I have very bad results for short inputs, this way - - - # sort the ngrams, and spit out the $opt_t frequent ones. - # adding `or $a cmp $b' in the sort block makes sorting five - # times slower..., although it would be somewhat nicer (unique result) - my @sorted = sort { $$ngram{$b} <=> $$ngram{$a} } keys %$ngram; - splice(@sorted,$opt_t) if (@sorted > $opt_t); - print STDERR "sorting done (" . - timestr(timediff(new Benchmark, $t2)) . - ").\n" if $opt_v; - return @sorted; -} diff --git a/bin/text_cat/version b/bin/text_cat/version deleted file mode 100644 index e6ba9d571..000000000 --- a/bin/text_cat/version +++ /dev/null @@ -1,2 +0,0 @@ -1.10 - diff --git a/bin/unpack-sources b/bin/unpack-sources deleted file mode 100755 index 130c9a293..000000000 --- a/bin/unpack-sources +++ /dev/null @@ -1,105 +0,0 @@ -#!/usr/bin/env bash - -# Version: MPL 1.1 / GPLv3+ / LGPLv3+ -# -# The contents of this file are subject to the Mozilla Public License Version -# 1.1 (the "License"); you may not use this file except in compliance with -# the License or as specified alternatively below. You may obtain a copy of -# the License at http://www.mozilla.org/MPL/ -# -# Software distributed under the License is distributed on an "AS IS" basis, -# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -# for the specific language governing rights and limitations under the -# License. -# -# The Initial Developer of the Original Code is -# Petr Mladek <pmladek@suse.cz> -# Portions created by the Initial Developer are Copyright (C) 2011 the -# Initial Developer. All Rights Reserved. -# -# Major Contributor(s): -# Ted <ted@bear.com> -# Portions created by the Ted are Copyright (C) 2010 Ted. All Rights Reserved. -# -# For minor contributions see the git repository. -# -# Alternatively, the contents of this file may be used under the terms of -# either the GNU General Public License Version 3 or later (the "GPLv3+"), or -# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"), -# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable -# instead of those above. - -usage() -{ - echo "Helper script to unpack the LO source tarbals" - echo - echo "Usage: ${0##*/} [--help] start-dir tarball..." - echo - echo "Options:" - echo - echo " --help this help" - echo " start-dir path where the sources are unpacked (bootstrap directory)" - echo " tarball list of LO source tarball that need to be unpacked" -} - -start_dir= -tarballs= - -while test -n "$1" ; do - case "$1" in - --help) - usage - exit 0; - ;; - --download) - download="yes" - ;; - -*) - echo "Error: unknown option: $1" - exit 1; - ;; - *) - if test -z "$start_dir" ; then - start_dir="$1" - else - tarballs="$tarballs $1" - fi - ;; - esac - shift -done - -if test -z "$start_dir" ; then - echo "Error: Please, define where to unpack sources, try --help" -fi - -if ! test -d $start_dir/src -a -f $start_dir/solenv/inc/target.mk ; then - echo "Error: $start_dir is not a valid bootstrap directory" - exit 1; -fi - -if test ! -f $start_dir/bootstrap.ver -o -d $start_dir/.git ; then - echo "Warning: bootstrap sources are from git and not from tarball" - echo " Do nothing." - exit 0; -fi - -source $start_dir/bootstrap.ver -lo_src_dir="$start_dir/src" -mkdir -p "$lo_src_dir" - -for tarball in $tarballs ; do - tarname=`basename $tarball | sed -e "s/.tar.bz2//"` - if test -d $lo_src_dir/$tarname ; then - echo "Warning: $lo_src_dir/$tarname already exists => skipping" - continue; - fi - - echo "Unpacking $tarname..." - tar -xjf "$tarball" -C "$lo_src_dir" - - # create symlinks - for dir in `find "$lo_src_dir/$tarname" -mindepth 1 -maxdepth 1 -type d -printf "$tarname/%f\n"` ; do - ln -sf "src/$dir" "$start_dir" - done -done |