wok rev 21192
updated command procedure get-google-earth
author | Hans-G?nter Theisgen |
---|---|
date | Fri Apr 05 16:34:43 2019 +0100 (2019-04-05) |
parents | a5dec5e18569 |
children | 4fdb154bc832 |
files | get-google-earth/receipt get-google-earth/stuff/get-google-earth |
line diff
1.1 --- a/get-google-earth/receipt Wed Apr 03 18:28:33 2019 +0200 1.2 +++ b/get-google-earth/receipt Fri Apr 05 16:34:43 2019 +0100 1.3 @@ -1,15 +1,15 @@ 1.4 # SliTaz package receipt. 1.5 1.6 PACKAGE="get-google-earth" 1.7 -VERSION="1.00" 1.8 +VERSION="1.01" 1.9 CATEGORY="non-free" 1.10 +TAGS="map visualization" 1.11 SHORT_DESC="Get Google Earth." 1.12 MAINTAINER="pascal.bellard@slitaz.org" 1.13 LICENSE="BSD" 1.14 -WEB_SITE="http://earth.google.com/" 1.15 -TAGS="map visualization" 1.16 +WEB_SITE="https://google.com/earth/" 1.17 1.18 -DEPENDS="bzip2 xorg-base-fonts" 1.19 +DEPENDS="" 1.20 1.21 # Rules to gen a SliTaz package suitable for Tazpkg. 1.22 genpkg_rules() 1.23 @@ -17,4 +17,3 @@ 1.24 mkdir -p $fs/usr/bin 1.25 cp stuff/get-google-earth $fs/usr/bin 1.26 } 1.27 -
2.1 --- a/get-google-earth/stuff/get-google-earth Wed Apr 03 18:28:33 2019 +0200 2.2 +++ b/get-google-earth/stuff/get-google-earth Fri Apr 05 16:34:43 2019 +0100 2.3 @@ -1,80 +1,194 @@ 2.4 -#!/bin/sh -e 2.5 +#!/bin/sh 2.6 +# 2.7 +# get-google-earth - create and install SliTaz package google-earth 2.8 +# 2.9 +# (C) 2019 SliTaz - GNU General Public License v3. 2.10 +# Author : unknown 2.11 +# modified by HGT on 2019-04-05 2.12 +# 2.13 2.14 -DEPENDS="mesa" 2.15 -ROOT="$1" 2.16 -PACKAGE="google-earth" 2.17 +# === Initialisations === 2.18 2.19 -if test $(id -u) != 0 ; then 2.20 - echo -e "\nYou must be root to run `basename $0`." 2.21 - echo -e "Please type 'su' and root password to become super-user.\n" 2.22 - exit 0 2.23 +PKGS_DB="/var/lib/tazpkg" # packages database directory 2.24 +PACKAGE="google-earth" # package to create and install 2.25 +WEB_SITE="https://google.com/earth/" 2.26 +CATEGORY="non-free" 2.27 +DEPENDS="libglu-mesa" 2.28 + 2.29 +# Declare functions check_root, status, ... 2.30 +. /lib/libtaz.sh 2.31 +# and make commandline options (if any) available as variables 2.32 + 2.33 +is_installed() 2.34 +{ 2.35 + if [ -d $ROOT$PKGS_DB/installed/$PACKAGE ] 2.36 + then #package is deemed to be installed 2.37 + return 0 2.38 + else 2.39 + return 1 2.40 + fi 2.41 +} 2.42 + 2.43 + 2.44 +# Show commandline options, if requested by --help 2.45 +if [ "$help" == "yes" ] 2.46 + then 2.47 + echo "Commandline options: 2.48 + $0 2.49 + --version=<version> 2.50 + --root=<path-to-root> 2.51 + --install=yes|no 2.52 + --keep=no|yes 2.53 + --tmpdir=<directory-to-build-package>" 2.54 + exit 2.55 fi 2.56 2.57 -if [ -d $ROOT/var/lib/tazpkg/installed/google-earth ]; then 2.58 - [ -n "$ROOT" ] && exit 1 2.59 - tazpkg remove google-earth 2.60 - [ -d /var/lib/tazpkg/installed/google-earth ] && exit 1 2.61 +# Check for system administrator privileges 2.62 +check_root 2.63 + 2.64 +title "Package $PACKAGE will be build as SliTaz package and installed" 2.65 + 2.66 +# Fetch latest version, unless version is set by option --version 2.67 +[ -z "$version" ] && version="latest" 2.68 + 2.69 +# Install SliTaz package, unless inhibited by option --install=no 2.70 +[ -z "$install" ] && install="yes" 2.71 + 2.72 +# Delete SliTaz package file $PACKAGE-$VERSION.tazpkg after installation, 2.73 +# unless option --keep=yes is given 2.74 +[ -z "$keep" ] && keep="no" 2.75 + 2.76 +# Directory for temporary files 2.77 +[ -z "$tempdir" ] && TMP_DIR="/tmp/get-$PACKAGE" 2.78 + 2.79 +# Logging file (unused by now) 2.80 +LOG=$TMP_DIR/get-$PACKAGE.log 2.81 + 2.82 +cat <<EOT 2.83 +Options in use: 2.84 + root : $root/ 2.85 + version : $version 2.86 + install package: $install 2.87 + keep tazpkg : $keep 2.88 + build directory: $TMP_DIR 2.89 + 2.90 +EOT 2.91 + 2.92 +separator; newline 2.93 + 2.94 +# === Remove package, if installed === 2.95 +if [ is_installed ] 2.96 + then 2.97 + action "Removing installed version..." 2.98 + tazpkg remove $PACKAGE --root="$root/" 2.99 + [ ! is_installed ] && 2.100 + die "Can't remove installed version. Exiting." 2.101 fi 2.102 2.103 -TMP_DIR=/tmp/get-google-earth-$$-$RANDOM 2.104 -CUR_DIR=$(pwd) 2.105 -mkdir -p $TMP_DIR && cd $TMP_DIR 2.106 +# === Fetch archive file, if not existing === 2.107 2.108 -# Download tarball 2.109 -wget http://dl.google.com/earth/client/current/GoogleEarthLinux.bin 2.110 -if [ ! -f GoogleEarthLinux.bin ]; then 2.111 - cd $CUR_DIR 2.112 - rm -rf $TMP_DIR 2.113 - echo "Could not download GoogleEarthLinux.bin. Exiting." 2.114 - exit 1 2.115 +if [ "$version" == "latest" ] 2.116 + then 2.117 + FILE="google-earth-stable_current_i386.deb" 2.118 + WGET_URL="https://dl.google.com/dl/earth/client/current/$FILE" 2.119 + else 2.120 + # only available version is 7.3.0.3832-r0 2.121 + FILE="google-earth-pro-stable_${version}_i386.deb" 2.122 + V1=${version%%.*} 2.123 + V3=${version%.*} 2.124 + WGET_URL="https://dl.google.com/dl/earth/client/GE$V1/release_${V3//./_}/$FILE" 2.125 fi 2.126 2.127 -chmod +x GoogleEarthLinux.bin 2.128 -sed -i 's/bzip2 -d/bunzip2/g' GoogleEarthLinux.bin 2.129 +CUR_DIR=$(pwd) 2.130 +mkdir -p $TMP_DIR 2.131 +cd $TMP_DIR 2.132 +if [ -f $FILE ] 2.133 + then 2.134 + echo "Using existing archive file $FILE" 2.135 + else 2.136 + action "Fetching the archive" 2.137 + newline 2.138 + wget --no-check-certificate $WGET_URL 2.139 + if [ ! -f $FILE ] 2.140 + then 2.141 + cd $CUR_DIR 2.142 + rm -rf $TMP_DIR 2.143 + echo "Could not transfer $FILE from $URL. Exiting." 2.144 + exit 1 2.145 + fi 2.146 +fi 2.147 2.148 -VERSION=$(head GoogleEarthLinux.bin | grep ^label | sed 's/.*Linux \(.*\)"/\1/') 2.149 +# === Extract files from archive === 2.150 +action "Extracting the archive" 2.151 2.152 -# Add depends 2.153 -for i in $DEPENDS; do 2.154 - yes y | tazpkg get-install $i 2.155 -done 2.156 +mkdir $PACKAGE 2.157 +# Extract metadata 2.158 +dpkg-deb -e $FILE $PACKAGE/meta 2.159 +# Extract files 2.160 +dpkg-deb -x $FILE $PACKAGE/fs 2.161 +status 2.162 2.163 -# Extract 2.164 -./GoogleEarthLinux.bin 2.165 +# Remove archive file 2.166 +rm -f $FILE 2.167 2.168 -# extracted pkg can be removed: Save RAM 2.169 -rm -rf GoogleEarthLinux.bin 2.170 +# === Create SliTaz package === 2.171 2.172 -# Create pseudo package 2.173 -while read file; do 2.174 - dest=google-earth-$VERSION/fs$(dirname $file) 2.175 - [ -d $dest ] || mkdir -p $dest 2.176 - cp -a $file $dest 2.177 -done <<EOT 2.178 -$(ls /*bin/googleearth /usr/*bin/googleearth 2> /dev/null) 2.179 -$(ls /usr/share/applications/*googleearth*.desktop) 2.180 -/usr/share/applications/defaults.list 2.181 -$(ls -d /usr/*/google-earth) 2.182 -EOT 2.183 -cat > google-earth-$VERSION/receipt <<EOT 2.184 -PACKAGE="google-earth" 2.185 +# Prepare metadata for SliTaz package 2.186 +sed '/^Description:/,$!d; /^Description:/d' $PACKAGE/meta/control \ 2.187 + > $PACKAGE/description.txt 2.188 + 2.189 +SHORT_DESC="$(sed '/^Description:/!d; s/.*: //' $PACKAGE/meta/control)" 2.190 +MAINTAINER="$(sed '/^Maintainer:/!d; s/.*: //' $PACKAGE/meta/control)" 2.191 +VERSION="$( sed '/^Version:/!d; s/.*: //' $PACKAGE/meta/control)" 2.192 +VERSION=${VERSION%-*} # remove -r* suffix 2.193 + 2.194 +mv $PACKAGE $PACKAGE-$VERSION 2.195 + 2.196 +cd $PACKAGE-$VERSION 2.197 + 2.198 +# Create recipe for SliTaz package 2.199 +cat > receipt <<EOT 2.200 +# SliTaz package receipt. 2.201 + 2.202 +PACKAGE="$PACKAGE" 2.203 VERSION="$VERSION" 2.204 -CATEGORY="non-free" 2.205 -SHORT_DESC="3D planet viewer." 2.206 -WEB_SITE="http://earth.google.com/" 2.207 +CATEGORY="$CATEGORY" 2.208 +TAGS="maps" 2.209 +SHORT_DESC="$SHORT_DESC" 2.210 +MAINTAINER="$MAINTAINER" 2.211 +LICENSE="non-free" 2.212 +WEB_SITE="$WEB_SITE" 2.213 + 2.214 DEPENDS="$DEPENDS" 2.215 + 2.216 +post_install() 2.217 +{ 2.218 + # Due to different conventions in Debian 2.219 + [ -L /lib/ld-lsb.so.3 ] || ln -s ld-2.14.1.so /lib/ld-lsb.so.3 2.220 +} 2.221 EOT 2.222 2.223 +# Copy desktop file 2.224 +cp fs/opt/google/earth/pro/google-earth-pro.desktop \ 2.225 + fs/usr/share/applications/$PACKAGE.desktop 2.226 + 2.227 +cd $TMP_DIR 2.228 + 2.229 +action "Creating the package $PACKAGE..." 2.230 # Pack 2.231 tazpkg pack $PACKAGE-$VERSION 2.232 2.233 -# Clean to save RAM memory 2.234 +# Remove package tree 2.235 rm -rf $PACKAGE-$VERSION 2.236 2.237 -# Install pseudo package 2.238 -tazpkg install google-earth-$VERSION.tazpkg --root=$ROOT 2.239 +# === Install the SliTaz package === 2.240 +[ "$install" == "yes" ] && 2.241 +tazpkg install $PACKAGE-$VERSION.tazpkg --root="$root" 2.242 2.243 -# Clean 2.244 +# === Cleanup === 2.245 +# Preserve package file, if requested 2.246 +[ "$keep" == "yes" ] && mv $PACKAGE-$VERSION.tazpkg $CUR_DIR 2.247 + 2.248 +# Remove temporary build directory 2.249 cd $CUR_DIR 2.250 rm -rf $TMP_DIR 2.251 -