wok diff get-OpenOffice3/stuff/get-OpenOffice3 @ rev 25002

updated nrg2iso (0.4 -> 0.4.1)
author Hans-G?nter Theisgen
date Mon May 16 14:45:30 2022 +0100 (2022-05-16)
parents c07aaa614a02
children
line diff
     1.1 --- a/get-OpenOffice3/stuff/get-OpenOffice3	Thu Dec 26 12:26:59 2019 +0100
     1.2 +++ b/get-OpenOffice3/stuff/get-OpenOffice3	Mon May 16 14:45:30 2022 +0100
     1.3 @@ -1,159 +1,191 @@
     1.4  #!/bin/sh
     1.5  # get-OpenOffice3, install everything for OpenOffice.org exept KDE/Gnome integration and testsuite.
     1.6  #
     1.7 -# (C) 2008 SliTaz - GNU General Public License v3.
     1.8 +# (C) 2020 SliTaz - GNU General Public License v3.
     1.9  #
    1.10  # Author : Eric Joseph-Alexandre <erjo@slitaz.org>
    1.11 +# modified by HGT on 2020-02-07
    1.12 +#
    1.13 +#	=== Initialisations ===
    1.14  
    1.15 +PKGS_DB="/var/lib/tazpkg"	# packages database directory
    1.16  PACKAGE="OpenOffice3"
    1.17 -URL="http://www.openoffice.org"
    1.18 -ROOT="$1"
    1.19 +WEB_SITE="https://openoffice.org"
    1.20 +CATEGORY="office"
    1.21 +DEPENDS="java-jre"
    1.22 +
    1.23  PATTERN="Linux_x86_install-rpm"
    1.24 +EXCLUDE="kde|gnome|test"
    1.25  
    1.26 -for MIRROR in \
    1.27 -http://mirror.switch.ch/ftp/mirror/OpenOffice \
    1.28 -http://openoffice.cict.fr \
    1.29 -http://wwwftp.ciril.fr/pub/openoffice \
    1.30 -http://artfiles.org/openoffice.org \
    1.31 -http://vesta.informatik.rwth-aachen.de/ftp/pub/mirror/OpenOffice \
    1.32 -http://ftp.ntua.gr/pub/OpenOffice \
    1.33 -http://ftp.iitm.ac.in/openoffice \
    1.34 -http://www.ring.gr.jp/archives/misc/openoffice \
    1.35 -http://ftp.nluug.nl/pub/office/openoffice \
    1.36 +# Declare functions check_root, status, ...
    1.37 +. /lib/libtaz.sh
    1.38 +# and make commandline options (if any) available as variables
    1.39  
    1.40 -do
    1.41 -	wget -O - $MIRROR/ 2> /dev/null | grep -q localized || continue
    1.42 -	DIR="stable"
    1.43 -	LOC=$(wget -O - $MIRROR/localized/ 2> /dev/null | \
    1.44 -		grep -E ">$LANG/|>${LANG/_/-}/|>${LANG%_*}/" | \
    1.45 -		head -1 | sed 's/.*href=\"\(.*\)\/\".*/\1/')
    1.46 -	[ -n "$LOC" ] && DIR="localized/$LOC"
    1.47 -	VERSION="$(basename $(wget -O - $MIRROR/$DIR/ 2> /dev/null | grep \
    1.48 -	href=\"[0-9] | tail -1 | sed 's/.*href=\"\(.*\)\".*/\1/') 2> /dev/null)"
    1.49 -	[ -n "$VERSION" ] && break
    1.50 -done
    1.51 -
    1.52 -if [ -z "$VERSION" ]; then
    1.53 -	echo "Can't find VERSION. Abort."
    1.54 -	exit 0
    1.55 -fi
    1.56 -echo "Selecting $DIR version $VERSION ..."
    1.57 -TARBALL="$(wget -O - $MIRROR/$DIR/$VERSION/ \
    1.58 -	2> /dev/null | grep $PATTERN | tail -1 | sed 's/.*href=\"\(.*\)\".*/\1/')"
    1.59 -echo "Archive is $TARBALL ..."
    1.60 -WGET_URL=$MIRROR/$DIR/$VERSION/$TARBALL
    1.61 -
    1.62 -TEMP_DIR="/tmp/$PACKAGE.$$"
    1.63 -CUR_DIR=$(pwd)
    1.64 -SOURCE_DIR="/tmp/src.$$"
    1.65 -EXCLUDE="kde|gnome|test"
    1.66 -LOG="/tmp/$(basename $0 .sh).log"
    1.67 -
    1.68 -# Status function with color (supported by Ash).
    1.69 -status()
    1.70 +is_installed()
    1.71  {
    1.72 -	local CHECK=$?
    1.73 -	echo -en "\\033[70G[ "
    1.74 -	if [ $CHECK = 0 ]; then
    1.75 -		echo -en "\\033[1;33mOK"
    1.76 -	else
    1.77 -		echo -en "\\033[1;31mFailed"
    1.78 -	fi
    1.79 -	echo -e "\\033[0;39m ]"
    1.80 -	return $CHECK
    1.81 -}
    1.82 -
    1.83 -# Check if user is root to install, or remove packages.
    1.84 -check_root()
    1.85 -{
    1.86 -	if test $(id -u) != 0 ; then
    1.87 -		echo -e "\nYou must be root to run `basename $0` with this option."
    1.88 -		echo -e "Please use 'su' and root password to become super-user.\n"
    1.89 -		exit 0
    1.90 -	fi
    1.91 -}
    1.92 -
    1.93 -check_if_installed()
    1.94 -{
    1.95 -	 # Avoid reinstall
    1.96 -	 if [ -d $ROOT/var/lib/tazpkg/installed/$PACKAGE ];then
    1.97 +	if [ -d $ROOT$PKGS_DB/installed/$PACKAGE ]
    1.98 +	  then	#package is deemed to be installed
    1.99  	 	return 0
   1.100 -	 else
   1.101 +	  else
   1.102  	 	return 1
   1.103  	 fi
   1.104  }
   1.105  
   1.106 -#We need to bee root
   1.107 +# Show commandline options, if requested by --help
   1.108 +if [ "$help" == "yes" ]
   1.109 +  then
   1.110 +	echo "Commandline options:
   1.111 +  $0
   1.112 +	--version=<version>
   1.113 +	--root=<path-to-root>
   1.114 +	--install=yes|no|quick
   1.115 +	--keep=no|yes
   1.116 +	--tmpdir=<directory-to-build-package>
   1.117 +	--logfile=<logging-file>"
   1.118 +	exit
   1.119 +fi
   1.120 +
   1.121 +# Check for system administrator privileges
   1.122  check_root
   1.123  
   1.124 -#check if package already installed
   1.125 -if (check_if_installed $PACKAGE); then
   1.126 -	echo "$PACKAGE is already installed."
   1.127 -	[ -n "$ROOT" ] && exit 0
   1.128 -	echo -n "Would you like to remove and reinstall this package [y/n]? "
   1.129 -	read answer
   1.130 -	case "$answer" in
   1.131 -	y|Y)
   1.132 -		tazpkg remove $PACKAGE ;;
   1.133 -	*)
   1.134 -		exit 0 ;;
   1.135 -	esac
   1.136 -		
   1.137 +title "Package $PACKAGE will be build as SliTaz package and installed"
   1.138 +
   1.139 +# Fetch latest version, unless version is set by option --version
   1.140 +[ -z "$version" ] && version="latest"
   1.141 +
   1.142 +# Install SliTaz package, unless inhibited by option --install=no
   1.143 +[ -z "$install" ] && install="yes"
   1.144 +
   1.145 +# Delete SliTaz package file $PACKAGE-$VERSION.tazpkg after installation,
   1.146 +# unless option --keep=yes is given
   1.147 +[ -z "$keep" ] && keep="no"
   1.148 +
   1.149 +# Directory for temporary files
   1.150 +[ -z "$tempdir" ] && TMP_DIR="/tmp/get-$PACKAGE"
   1.151 +
   1.152 +# Logging file
   1.153 +[ -z "$logfile" ] && LOG=$TMP_DIR/get-$PACKAGE.log
   1.154 +
   1.155 +cat <<EOT
   1.156 +Options in use:
   1.157 +  root           : $root/
   1.158 +  version        : $version
   1.159 +  install package: $install
   1.160 +  keep tazpkg    : $keep
   1.161 +  build directory: $TMP_DIR
   1.162 +  logging file   : $LOG
   1.163 +
   1.164 +EOT
   1.165 +
   1.166 +separator; newline
   1.167 +
   1.168 +# Set WGET_URL
   1.169 +# 3.3.0 no german rpm-Package available!
   1.170 +for MIRROR in								\
   1.171 +	http://ftp.free.fr/mirrors/ftp.openoffice.org			\
   1.172 +	http://ftp-stud.hs-esslingen.de/pub/Mirrors/ftp.openoffice.org	\
   1.173 +	http://www.ellak.gr/pub/openoffice				\
   1.174 +	http://ftp.snt.utwente.nl/pub/software/openoffice		\
   1.175 +	http://ftp.nluug.nl/pub/office/openoffice			\
   1.176 +	http://ftp.isu.edu.tw/pub/OpenOffice
   1.177 +  do
   1.178 +	wget -O - $MIRROR/ 2> /dev/null | grep -q localized || continue
   1.179 +	DIR="stable"
   1.180 +	LOC=$(wget -O - $MIRROR/localized/ 2> /dev/null | \
   1.181 +		grep -E ">$LANG<|>$LANG/<|>${LANG/_/-}<|>${LANG/_/-}/<|>${LANG%_*}<|>${LANG%_*}/<" | \
   1.182 +		head -1 | sed 's|.*href=\"\(.*\)/\".*|\1|')
   1.183 +	[ -n "$LOC" ] && DIR="localized/$LOC"
   1.184 +	VERSION="$(wget -O - $MIRROR/$DIR/ 2> /dev/null | \
   1.185 +	grep href=\"[0-9] | tail -1 | sed 's|.*href=\"\(.*\)/\".*|\1|' 2> /dev/null)"
   1.186 +	[ -n "$VERSION" ] && break
   1.187 +  done
   1.188 +TARBALL=$(wget -O - $MIRROR/$DIR/$VERSION/ 2> /dev/null | \
   1.189 +	grep $PATTERN | tail -1 | sed 's|.*href=\"\(.*\)\".*|\1|')
   1.190 +# bug in sed?:
   1.191 +TARBALL=${TARBALL%%\"*}
   1.192 +echo "Archive is $TARBALL ..."
   1.193 +
   1.194 +# Set VERSION, unless supplied by --version
   1.195 +if [ "$version" == "latest" ]
   1.196 +  then
   1.197 +	echo "Selecting $DIR version $VERSION from $MIRROR ..."
   1.198 +	WGET_URL=$MIRROR/$DIR/$VERSION/$TARBALL
   1.199 +  else
   1.200 +	TARBALL=${TARBALL/$VERSION/$version}
   1.201 +	VERSION=$version
   1.202 +	WGET_URL="$MIRROR/$DIR/$VERSION/$TARBALL"
   1.203  fi
   1.204  
   1.205 -
   1.206 -# Check if we have the tarball before.
   1.207 -if [ ! -f $SOURCE_DIR/$TARBALL ]; then
   1.208 -	echo "Downloading OppenOffice.org tarball (it's time to have a break)... "
   1.209 -	#Check if $SOURCE_DIR exist
   1.210 -	test -d $SOURCE_DIR || mkdir -p $SOURCE_DIR
   1.211 -	# Get the file.
   1.212 -	wget -c $WGET_URL -O $SOURCE_DIR/$TARBALL
   1.213 -	status
   1.214 -fi
   1.215 -if [ ! -f $SOURCE_DIR/$TARBALL ]; then
   1.216 -	rm -rf $SOURCE_DIR
   1.217 -	echo "Could not download $TARBALL. Exiting."
   1.218 -	exit 1
   1.219 +#	=== Remove package, if installed ===
   1.220 +if [ is_installed ]
   1.221 +  then
   1.222 +	action "Removing installed version..."
   1.223 +	tazpkg remove $PACKAGE --root="$root/"
   1.224 +	[ ! is_installed ] &&
   1.225 +	die "Can't remove installed version. Exiting."
   1.226  fi
   1.227  
   1.228 -# Creates TEMP_DIR and extract tarball
   1.229 -mkdir -p $TEMP_DIR
   1.230 -echo -n "Extract files from archive..."
   1.231 -busybox tar xvf $SOURCE_DIR/$TARBALL -C $TEMP_DIR > $LOG 2>&1 || \
   1.232 +#	=== Fetch archive file, if not existing ===
   1.233 +
   1.234 +CUR_DIR=$(pwd)
   1.235 +mkdir -p $TMP_DIR
   1.236 +cd $TMP_DIR
   1.237 +if [ -f $TARBALL ]
   1.238 +  then
   1.239 +	echo "Using existing archive file $TARBALL"
   1.240 +  else
   1.241 +	action "Fetching the archive"
   1.242 +	newline
   1.243 +	wget	--no-check-certificate $WGET_URL
   1.244 +	if [ ! -f $TARBALL ]
   1.245 +	  then
   1.246 +		cd $CUR_DIR
   1.247 +		rm -rf $TMP_DIR
   1.248 +		echo "Could not transfer $TARBALL from $WGET_URL. Exiting."
   1.249 +		exit 1
   1.250 +	fi
   1.251 +fi
   1.252 +
   1.253 +#	=== Extract files from archive ===
   1.254 +action "Extracting the archive"
   1.255 +newline
   1.256 +
   1.257 +tar x -vf $TARBALL > $LOG 2>&1 || \
   1.258   (echo "Failed to extract $TARBALL" ; exit 1)
   1.259 +
   1.260  status
   1.261  
   1.262 -# extracted pkg can be removed: Save RAM
   1.263 -rm -rf $SOURCE_DIR
   1.264 -
   1.265 -cd $TEMP_DIR/*/RPMS
   1.266 +# Remove archive file
   1.267 +rm -f $TARBALL
   1.268  
   1.269  # Extract everything from RPMS
   1.270 +cd $TMP_DIR/*/RPMS
   1.271  for i in *.rpm
   1.272 -do
   1.273 -	if (! echo $i | egrep -qi $EXCLUDE); then
   1.274 -		(rpm2cpio $i | cpio -id >> $LOG 2>&1 ) && rm  -f $i
   1.275 +  do
   1.276 +	if (! echo $i | egrep -qi $EXCLUDE)
   1.277 +	  then
   1.278 +		(rpm2cpio $i | cpio -id >> $LOG 2>&1 ) &&
   1.279 +		echo rm -f $i
   1.280  	fi
   1.281 -done
   1.282 +  done
   1.283  rpm2cpio desktop-integration/*freedesktop*.rpm | cpio -id >> $LOG 2>&1
   1.284  	
   1.285 -# extracted pkg can be removed: Save RAM
   1.286 +# extracted pkg can be removed
   1.287  rm -f desktop-integration/*freedesktop*.rpm
   1.288  
   1.289 +# Make the package
   1.290 +mkdir -p $PACKAGE-$VERSION/fs/usr/lib/openoffice
   1.291 +mkdir -p $PACKAGE-$VERSION/fs/usr/share
   1.292  
   1.293 -# Make the package
   1.294 -mkdir -p $PACKAGE-$VERSION/fs/usr/lib/openoffice  \
   1.295 -  $PACKAGE-$VERSION/fs/usr/share
   1.296 -
   1.297 -# use mv instead of 'cp -a' to save RAM
   1.298 -mv opt/openoffice* $PACKAGE-$VERSION/fs/usr/lib/openoffice
   1.299 -mv usr/share/mime $PACKAGE-$VERSION/fs/usr/share
   1.300 -mv usr/share/icons $PACKAGE-$VERSION/fs/usr/share
   1.301 -mv usr/bin $PACKAGE-$VERSION/fs/usr
   1.302 +# use mv instead of 'cp -a' to save space
   1.303 +mv opt/openoffice*	$PACKAGE-$VERSION/fs/usr/lib/openoffice
   1.304 +mv usr/share/mime	$PACKAGE-$VERSION/fs/usr/share
   1.305 +mv usr/share/icons	$PACKAGE-$VERSION/fs/usr/share
   1.306 +mv usr/bin		$PACKAGE-$VERSION/fs/usr
   1.307  
   1.308  # relocalized OOo libexec directory
   1.309 -sed -i 's#/opt/#/usr/lib/openoffice/#'  $PACKAGE-$VERSION/fs/usr/bin/openoffice*
   1.310 +sed -i 's#/opt/#/usr/lib/openoffice/#' \
   1.311 +	$PACKAGE-$VERSION/fs/usr/bin/openoffice*
   1.312  
   1.313  # Create receipt
   1.314  cat > $PACKAGE-$VERSION/receipt <<EOT
   1.315 @@ -163,8 +195,8 @@
   1.316  VERSION="$VERSION"
   1.317  CATEGORY="office"
   1.318  SHORT_DESC="Productivity suite."
   1.319 -DEPENDS="java-jre"
   1.320 -WEB_SITE="$URL"
   1.321 +DEPENDS="$DEPENDS"
   1.322 +WEB_SITE="$WEB_SITE"
   1.323  
   1.324  post_install()
   1.325  {
   1.326 @@ -176,7 +208,7 @@
   1.327  	ln -s /usr/lib/openoffice/openoffice.org3/share/xdg/math.desktop openoffice.org3-math.desktop
   1.328  	ln -s /usr/lib/openoffice/openoffice.org3/share/xdg/draw.desktop openoffice.org3-draw.desktop
   1.329  	ln -s /usr/lib/openoffice/openoffice.org3/share/xdg/printeradmin.desktop openoffice.org3-printeradmin.desktop
   1.330 -	
   1.331 +
   1.332  	cd \$1/usr/bin
   1.333  	ln -sf /usr/lib/openoffice/openoffice.org3/program/soffice
   1.334  }
   1.335 @@ -190,54 +222,56 @@
   1.336  
   1.337  fake_install()
   1.338  {
   1.339 -	mkdir -p $ROOT/var/lib/tazpkg/installed/$PACKAGE
   1.340 +	mkdir -p $root/var/lib/tazpkg/installed/$PACKAGE
   1.341  	echo "00000000000000000000000000000000  $PACKAGE-$VERSION.tazpkg" >> \
   1.342 -		$ROOT/var/lib/tazpkg/installed.md5
   1.343 -	[ -s $1/description.txt $ROOT/var/lib/tazpkg/installed/$PACKAGE
   1.344 +		$root/var/lib/tazpkg/installed.md5
   1.345 +	[ -s $1/description.txt $root/var/lib/tazpkg/installed/$PACKAGE
   1.346  	( cd fs ; find *) | sed 's|^|/|' > \
   1.347 -		$ROOT/var/lib/tazpkg/installed/$PACKAGE/files.list
   1.348 -	if grep -q ^CONFIG_FILES= $1/receipt ; then
   1.349 +		$root/var/lib/tazpkg/installed/$PACKAGE/files.list
   1.350 +	if grep -q ^CONFIG_FILES= $1/receipt
   1.351 +	  then
   1.352  		cd fs
   1.353 -		find $( . ./receipt ; echo " $CONFIG_FILES" | sed 's| /| |g') |\
   1.354 +		find $( . ./receipt ; echo " $CONFIG_FILES" | sed 's# /# #g') |\
   1.355  			cpio -o -H newc | gzip -9 > \
   1.356 -			$ROOT/var/lib/tazpkg/installed/$PACKAGE/volatile.cpio.gz
   1.357 -		for i in $( . ./receipt ; echo $CONFIG_FILES) ; do
   1.358 -			[ -e $ROOT$i ] && rm -rf .$i
   1.359 -		done
   1.360 +			$root/var/lib/tazpkg/installed/$PACKAGE/volatile.cpio.gz
   1.361 +		for i in $( . ./receipt ; echo $CONFIG_FILES)
   1.362 +		  do
   1.363 +			[ -e $root$i ] && rm -rf .$i
   1.364 +		  done
   1.365  		cd ..
   1.366  	fi
   1.367  	sed -i "s/^PACKAGE=/UNPACKED_SIZE=\"$(du -chs $1 | sed '$!d;s/.total//')\"\n&/" \
   1.368  		$1/receipt
   1.369 -	cp $1/receipt $ROOT/var/lib/tazpkg/installed/$PACKAGE
   1.370 +	cp $1/receipt	$root/var/lib/tazpkg/installed/$PACKAGE
   1.371  	echo "Compute md5sum..."
   1.372  	find fs -type f | xargs md5sum | sed 's|  fs/|  /|' > \
   1.373 -		$ROOT/var/lib/tazpkg/installed/$PACKAGE/md5sum
   1.374 +		$root/var/lib/tazpkg/installed/$PACKAGE/md5sum
   1.375  	echo "Move files..."
   1.376 -	( cd $1/fs ; find ) | while read file ; do 
   1.377 -		[ -e $1/fs/$file -a ! -e $ROOT/$file ] &&
   1.378 -		mv $1/fs/$file $(dirname $ROOT/$file)
   1.379 -	done
   1.380 +	( cd $1/fs ; find ) | while read file
   1.381 +	  do 
   1.382 +		[ -e $1/fs/$file -a ! -e $root/$file ] &&
   1.383 +		mv $1/fs/$file $(dirname $root/$file)
   1.384 +	  done
   1.385  }
   1.386  
   1.387 -case " $@ " in
   1.388 -*\ --q*)	# --quick
   1.389 -	fake_install $PACKAGE-$VERSION ;;
   1.390 -*)
   1.391 -	# Pack
   1.392 -	tazpkg pack $PACKAGE-$VERSION
   1.393 +[ "$install" == "quick" ] &&
   1.394 +fake_install $PACKAGE-$VERSION && return 0
   1.395  
   1.396 -	# Clean to save RAM memory
   1.397 -	rm -rf $PACKAGE-$VERSION
   1.398 +# Pack
   1.399 +tazpkg pack $PACKAGE-$VERSION
   1.400 +# Remove package tree
   1.401 +rm -rf $PACKAGE-$VERSION
   1.402  
   1.403 -	# Install pseudo package
   1.404 -	tazpkg install $PACKAGE-$VERSION.tazpkg --root=$ROOT
   1.405 +#	=== Install the SliTaz package ===
   1.406 +[ "$install" == "yes" ] &&
   1.407 +tazpkg install $PACKAGE-$VERSION.tazpkg --root="$root"
   1.408  
   1.409 -	echo " $@ " | grep -q ' --k' &&
   1.410 -	mv $PACKAGE-$VERSION.tazpkg $CUR_DIR
   1.411 -	;;
   1.412 -esac
   1.413 +#	=== Cleanup ===
   1.414 +# Preserve package file, if requested
   1.415 +[ "$keep" == "yes" ] &&
   1.416 +( mv $PACKAGE-$VERSION.tazpkg $CUR_DIR &&
   1.417 +  echo Saved $PACKAGE-$VERSION.tazpkg to $CUR_DIR )
   1.418  
   1.419 +# Remove temporary build directory
   1.420  cd $CUR_DIR
   1.421 -
   1.422 -# Clean
   1.423 -rm -rf $TEMP_DIR
   1.424 +rm -rf $TMP_DIR