wok annotate get-flash-plugin/stuff/get-flash-plugin @ rev 25697

dool: reduced size of package
author Hans-G?nter Theisgen
date Sun May 12 07:10:04 2024 +0100 (3 weeks ago)
parents d5999a28461c
children
rev   line source
Hans-G?nter@22835 1 #!/bin/sh
Hans-G?nter@22835 2 #
Hans-G?nter@22835 3 # get-flash-plugin - create and install SliTaz package flash-plugin
Hans-G?nter@22835 4 #
Hans-G?nter@22835 5 # (C) 2020 SliTaz - GNU General Public License v3.
Hans-G?nter@22835 6 # Author : Pascal Bellard
Hans-G?nter@22835 7 # modified by HGT on 2020-02-10
Hans-G?nter@22835 8 #
pascal@305 9
Hans-G?nter@22835 10 # === Initialisations ===
slaxemulator@11351 11
Hans-G?nter@22835 12 PKGS_DB="/var/lib/tazpkg" # packages database directory
pascal@11350 13 PACKAGE="flash-plugin"
pascal@11350 14 SHORT_DESC="Adobe Flash Player."
Hans-G?nter@22835 15 CATEGORY="non-free"
Hans-G?nter@22835 16 LICENSE="non-free"
Hans-G?nter@22835 17 WEB_SITE="https://www.adobe.com/products/flashplayer/"
pascal@1713 18
Hans-G?nter@22835 19 DEPENDS="atk cairo curl expat fontconfig freetype glib gtk+ libfirefox libpng \
Hans-G?nter@22835 20 nss pango pixman xorg-libICE xorg-libSM xorg-libX11 xorg-libXau xorg-libXcomposite \
Hans-G?nter@22835 21 xorg-libXcursor xorg-libXdamage xorg-libXdmcp xorg-libXext xorg-libXfixes \
Hans-G?nter@22835 22 xorg-libXinerama xorg-libXrandr xorg-libXrender xorg-libXt zlib"
Hans-G?nter@22835 23
Hans-G?nter@22835 24 # Declare functions check_root, status, ...
Hans-G?nter@22835 25 . /lib/libtaz.sh
Hans-G?nter@22835 26 # and make commandline options (if any) available as variables
Hans-G?nter@22835 27
Hans-G?nter@22835 28 is_installed()
Hans-G?nter@22835 29 {
Hans-G?nter@22835 30 if [ -d $ROOT$PKGS_DB/installed/$PACKAGE ]
Hans-G?nter@22835 31 then #package is deemed to be installed
Hans-G?nter@22835 32 return 0
Hans-G?nter@22835 33 else
Hans-G?nter@22835 34 return 1
Hans-G?nter@22835 35 fi
Hans-G?nter@22835 36 }
Hans-G?nter@22835 37
Hans-G?nter@22835 38 # Show commandline options, if requested by --help
Hans-G?nter@22835 39 if [ "$help" == "yes" ]
Hans-G?nter@22835 40 then
Hans-G?nter@22835 41 echo "Commandline options:
Hans-G?nter@22835 42 $0
Hans-G?nter@22835 43 --version=<version>
Hans-G?nter@22835 44 --root=<path-to-root>
Hans-G?nter@22835 45 --install=yes|no
Hans-G?nter@22835 46 --keep=no|yes
Hans-G?nter@22835 47 --tmpdir=<directory-to-build-package>"
Hans-G?nter@22835 48 exit
pascal@417 49 fi
pascal@417 50
Hans-G?nter@22835 51 # Check for system administrator privileges
Hans-G?nter@22835 52 check_root
devl547@16384 53
Hans-G?nter@22835 54 title "Package $PACKAGE will be build as SliTaz package and installed"
Hans-G?nter@22835 55
Hans-G?nter@22835 56 # Fetch latest version, unless version is set by option --version
Hans-G?nter@22835 57 [ -z "$version" ] && version="latest"
Hans-G?nter@22835 58
Hans-G?nter@22835 59 # Install SliTaz package, unless inhibited by option --install=no
Hans-G?nter@22835 60 [ -z "$install" ] && install="yes"
Hans-G?nter@22835 61
Hans-G?nter@22835 62 # Delete SliTaz package file $PACKAGE-$VERSION.tazpkg after installation,
Hans-G?nter@22835 63 # unless option --keep=yes is given
Hans-G?nter@22835 64 [ -z "$keep" ] && keep="no"
Hans-G?nter@22835 65
Hans-G?nter@22835 66 # Directory for temporary files
Hans-G?nter@22835 67 TMP_DIR="$tmpdir"
Hans-G?nter@22835 68 [ -z "$tmpdir" ] && TMP_DIR="/tmp/get-$PACKAGE"
Hans-G?nter@22835 69
Hans-G?nter@22835 70 # Logging file (unused by now)
Hans-G?nter@22835 71 LOG=$TMP_DIR/get-$PACKAGE.log
Hans-G?nter@22835 72
Hans-G?nter@22835 73 cat <<EOT
Hans-G?nter@22835 74 Options in use:
Hans-G?nter@22835 75 root : $root/
Hans-G?nter@22835 76 version : $version
Hans-G?nter@22835 77 install package: $install
Hans-G?nter@22835 78 keep tazpkg : $keep
Hans-G?nter@22835 79 build directory: $TMP_DIR
Hans-G?nter@22835 80
Hans-G?nter@22835 81 EOT
Hans-G?nter@22835 82
Hans-G?nter@22835 83 separator; newline
Hans-G?nter@22835 84
Hans-G?nter@22835 85 # === Remove package, if installed ===
Hans-G?nter@22835 86 if is_installed
Hans-G?nter@22835 87 then
Hans-G?nter@22835 88 echo "$PACKAGE is already installed."
Hans-G?nter@22835 89 echo -n "Would you like to remove and reinstall this package [y/n]? "
Hans-G?nter@22835 90 read answer
Hans-G?nter@22835 91 case "$answer" in
Hans-G?nter@22835 92 y|Y)
Hans-G?nter@22835 93 action "Removing installed version..."
Hans-G?nter@22835 94 tazpkg remove $PACKAGE --root="$root/"
Hans-G?nter@22835 95 [ ! is_installed ] &&
Hans-G?nter@22835 96 die "Can't remove installed version. Exiting."
Hans-G?nter@22835 97 ;;
Hans-G?nter@22835 98 *)
Hans-G?nter@22835 99 echo "Leaving $PACKAGE untouched."
Hans-G?nter@22835 100 exit 0
Hans-G?nter@22835 101 ;;
Hans-G?nter@22835 102 esac
pascal@3893 103 fi
pascal@3893 104
Hans-G?nter@22835 105 # === Fetch archive file, if not existing ===
Hans-G?nter@22835 106 if [ "$version" == "latest" ]
Hans-G?nter@22835 107 then
Hans-G?nter@22835 108 VERSION="$(wget --no-check-certificate -q -O - \
Hans-G?nter@22835 109 https://helpx.adobe.com/flash-player/kb/archived-flash-player-versions.html |\
Hans-G?nter@22835 110 sed -n '/Released /p' | head -1 | sed 's|.*fp_\(.*\)_archive.*|\1|')"
Hans-G?nter@22835 111 else
Hans-G?nter@22835 112 VERSION=$version
Hans-G?nter@22835 113 fi
Hans-G?nter@22835 114 FILE="fp_${VERSION}_archive.zip"
Hans-G?nter@22835 115 WGET_URL="https://fpdownload.macromedia.com/pub/flashplayer/installers/archive/$FILE"
Hans-G?nter@22835 116
Hans-G?nter@22835 117 CUR_DIR=$(pwd)
Hans-G?nter@22835 118 mkdir -p $TMP_DIR
Hans-G?nter@22835 119 cd $TMP_DIR
Hans-G?nter@22835 120 if [ -f $FILE ]
Hans-G?nter@22835 121 then
Hans-G?nter@22835 122 echo "Using existing archive file $FILE"
Hans-G?nter@22835 123 else
Hans-G?nter@22835 124 action "Fetching the archive"
Hans-G?nter@22835 125 newline
Hans-G?nter@22835 126 wget --no-check-certificate $WGET_URL
Hans-G?nter@22835 127 if [ ! -f $FILE ]
Hans-G?nter@22835 128 then
Hans-G?nter@22835 129 cd $CUR_DIR
Hans-G?nter@22835 130 rm -rf $TMP_DIR
Hans-G?nter@22835 131 echo "Could not transfer $FILE from $WGET_URL. Exiting."
Hans-G?nter@22835 132 exit 1
Hans-G?nter@22835 133 fi
Hans-G?nter@22835 134 fi
Hans-G?nter@22835 135
Hans-G?nter@22835 136 # === Extract files from archive ===
Hans-G?nter@22835 137 action "Extracting the archive"
Hans-G?nter@22835 138 newline
Hans-G?nter@22835 139
Hans-G?nter@22835 140 mkdir $PACKAGE
Hans-G?nter@22835 141 cd $PACKAGE
Hans-G?nter@22835 142 unzip $TMP_DIR/$FILE *linux.i386.tar.gz
Hans-G?nter@22835 143 tar xf */*linux.i386.tar.gz
Hans-G?nter@22835 144 status
Hans-G?nter@22835 145
Hans-G?nter@22835 146 # Remove archive file
Hans-G?nter@22835 147 cd $TMP_DIR
Hans-G?nter@22835 148 rm -f $FILE
pascal@305 149
pascal@305 150 # Install files
al@18741 151 fs=$PACKAGE-$VERSION/fs
al@18741 152 mkdir -p $fs/usr/share/flash
Hans-G?nter@22835 153
Hans-G?nter@22835 154 mv $PACKAGE/libflashplayer.so $fs/usr/share/flash
Hans-G?nter@22835 155 chmod 755 $fs/usr/share/flash/libflashplayer.so
Hans-G?nter@22835 156 chown root.root $fs/usr/share/flash/libflashplayer.so
Hans-G?nter@22835 157 mv $PACKAGE/usr/bin $fs/usr
Hans-G?nter@22835 158 mv $PACKAGE/usr/share/icons $fs/usr/share
Hans-G?nter@22835 159 mv $PACKAGE/usr/share/pixmaps $fs/usr/share
Hans-G?nter@22835 160 mv $PACKAGE/usr/share/applications $fs/usr/share
pascal@305 161
jozee@5074 162 # Sanity Check: Reexport firefox libraries if they don't exist
slaxemulator@11325 163 dir=$PACKAGE-$VERSION/fs/usr/lib
jozee@5074 164 mkdir -p $dir
Hans-G?nter@22835 165 for i in /usr/lib/firefox/*.so
Hans-G?nter@22835 166 do
Hans-G?nter@22835 167 [ -f $i ] &&
Hans-G?nter@22835 168 [ -z "$(ls /usr/lib/$(basename $i))" ] &&
Hans-G?nter@22835 169 ln -s $i $dir
Hans-G?nter@22835 170 done
jozee@5074 171
Hans-G?nter@22835 172 # === Create SliTaz package ===
Hans-G?nter@22835 173
Hans-G?nter@22835 174 cd $PACKAGE-$VERSION
Hans-G?nter@22835 175
Hans-G?nter@22835 176 # Create recipe for SliTaz package
Hans-G?nter@22835 177 cat > receipt <<EOT
Hans-G?nter@22835 178 # SliTaz package receipt.
Hans-G?nter@22835 179
slaxemulator@11325 180 PACKAGE="$PACKAGE"
pascal@305 181 VERSION="$VERSION"
Hans-G?nter@22835 182 CATEGORY="$CATEGORY"
pascal@11350 183 SHORT_DESC="$SHORT_DESC"
Hans-G?nter@22835 184 LICENSE="$LICENSE"
pascal@305 185 WEB_SITE="$WEB_SITE"
Hans-G?nter@22835 186
Hans-G?nter@22835 187 DEPENDS="$DEPENDS"
pascal@1713 188
pascal@1713 189 post_install()
pascal@1713 190 {
pascal@13209 191 [ -d \$1/usr/lib/mozilla/plugins ] || mkdir -p \$1/usr/lib/mozilla/plugins
jozee@5039 192 ln -s /usr/share/flash/libflashplayer.so \$1/usr/lib/mozilla/plugins
pascal@13209 193 [ -d \$1/opt/google/chrome/plugins ] || mkdir -p \$1/opt/google/chrome/plugins
pascal@13209 194 ln -s /usr/share/flash/libflashplayer.so \$1/opt/google/chrome/plugins/libgcflashplayer.so
pascal@13209 195 [ -d \$1/usr/lib/opera/plugins ] || mkdir -p \$1/usr/lib/opera/plugins
pascal@13209 196 ln -s /usr/share/flash/libflashplayer.so \$1/usr/lib/opera/plugins/libflashplayer.so
pascal@1713 197 }
pascal@1713 198
pascal@1713 199 post_remove()
pascal@1713 200 {
pascal@13209 201 rm -f \$1/usr/lib/mozilla/plugins/libflashplayer.so
pascal@13209 202 rm -f \$1/opt/google/chrome/plugins/libgcflashplayer.so
pascal@13209 203 rm -f \$1/usr/lib/opera/plugins/libflashplayer.so
pascal@1713 204 }
pascal@305 205 EOT
pascal@1173 206
Hans-G?nter@22835 207 cd $TMP_DIR
Hans-G?nter@22835 208
Hans-G?nter@22835 209 action "Creating the package $PACKAGE..."
pascal@1173 210 # Pack
slaxemulator@11325 211 tazpkg pack $PACKAGE-$VERSION
Hans-G?nter@22835 212 # Remove package tree
Hans-G?nter@22835 213 rm -rf $PACKAGE-$VERSION
pascal@305 214
Hans-G?nter@22835 215 # === Install the SliTaz package ===
Hans-G?nter@22835 216 [ "$install" == "yes" ] &&
Hans-G?nter@22835 217 tazpkg install $PACKAGE-$VERSION.tazpkg --root="$root"
pascal@305 218
Hans-G?nter@22835 219 # === Cleanup ===
Hans-G?nter@22835 220 # Preserve package file, if requested
Hans-G?nter@22835 221 [ "$keep" == "yes" ] &&
Hans-G?nter@22835 222 ( mv $PACKAGE-$VERSION.tazpkg $CUR_DIR &&
Hans-G?nter@22835 223 echo Saved $PACKAGE-$VERSION.tazpkg to $CUR_DIR )
Hans-G?nter@22835 224
Hans-G?nter@22835 225 # Remove temporary build directory
pascal@11350 226 cd $CUR_DIR
Hans-G?nter@22835 227 rm -rf $TMP_DIR