#!/bin/bash

# Copyright 2009-2010  Erik Hanson, Minneapolis, MN, USA
# Copyright 2011, 2015  Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
#
# 1. Redistributions of this script must retain the above copyright
#    notice, this list of conditions and the following disclaimer.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
# Author: ncmprhnsbl @ forum.porteus.org
# version: 20250110

# Source porteus functions
. /usr/share/porteus/porteus-functions
get_colors

# Check for root
if [ $(whoami) != "root" ]; then
	echo "Only root can run this."
	exit 1
fi

# functions set work directory(default is /tmp) to current work directory
set_tmp() {
WRKDIR=/tmp 
}

set_pwd() {
WRKDIR=$(pwd) 
}

# echo usage
show_help() {
	echo " options:  -d : do operations in the present directory, instead of /tmp . "
	echo "           -h        : show this usage. "
}
while getopts ":-d:-h:" o; do
case "$1" in
 
    -d)
       set_pwd;;
    
    -h)
      show_help
      exit 0;;
              
     *)
      show_help
      exit 1;;
    
esac
done
case "$1" in
      
    "")
      set_tmp;;
      
esac

# tell us where the work will be done
echo "Work will be done in: $txtgreen$WRKDIR$rst "
 
## Check if there's enough working space
check_space() {
[ $(df -l --output=avail $WRKDIR | tail -1) -lt 384000 ] && { red "There's not enough space to run this script"; exit 1; }
}

# Create variables
TBURL=https://download-installer.cdn.mozilla.net/pub/thunderbird/releases/
SERVER=$(awk -F= '/SERVER=/{print$NF}' /etc/porteus.conf)
TMPDIR=$WRKDIR/portff
PROFDIR="dxsqumip.default"
EXT=.tar.bz2
TARG=$TMPDIR/ff.$$
CWD=$(pwd)
LATVER1=$(lynx -dump --nonumbers --listonly $TBURL | grep -o "[0-9][0-9][0-9].0esr" | sort -V | tail -n1)
LAT1=$(lynx -dump --nonumbers --listonly $TBURL | grep -v '0b\|esr' | grep -o "[0-9][0-9][0-9].[0-9].[0-9]"  | sort -V  | tail -n1)
LAT2=$(lynx -dump --nonumbers --listonly $TBURL | grep -v '0b\|esr' | grep -o "[0-9][0-9][0-9].[0-9]" | sort -V  | tail -n1)
if (("${LAT2//.}0" > "${LAT1//.}")); then
	LATVER2="$LAT2"
else
	LATVER2="$LAT1"
fi
LATVER3=$(lynx -dump --nonumbers --listonly $TBURL | grep -o "[0-9][0-9][0-9].0b[0-9]" | sort -V | tail -n1)

case $(uname -m) in
	x86_64)
	ARCH=x86_64
	SUFFIX=64
	SARCH=x86_64
	;;
	*)
	ARCH=i686
	SUFFIX=
	SARCH=i586
	;;
esac

txtbld=$(tput bold)
txtred=${txtbld}$(tput setaf 1)
txtgreen=${txtbld}$(tput setaf 2)
txtwhite=${txtbld}$(tput setaf 7)
txtcyan=${txtbld}$(tput setaf 6)
rst=$(tput sgr0)
function bold(){ echo -e $txtbld "$1" $rst; }
function green() { echo -e $txtgreen "$1" $rst; }
function red(){ echo $txtred "$1" $rst; }
function cyan(){ echo $txtcyan "$1" $rst; }

saypass(){ echo "[${txtbold}${txtgreen}PASS$rst] $1"; }
sayfail(){ echo "[${txtbold}${txtred}FAIL$rst] $1"; }

array_menu(){
echo
echo "$1"
echo "$2"
select LOCALE in ${RESULT[@]}; do
    if [ -z "$LOCALE" ]; then
        bold "English locale chosen." && echo
			else
		echo "$txtgreen$LOCALE$rst locale chosen"
    fi
    break
done
}

array_menu2(){
echo "$1"
echo "$2" 
select CHOICE1 in ${RESULT1[@]}; do
    if [ -z "$CHOICE1" ]; then
        red "? version chosen." && echo
			else
		echo "$txtgreen${CHOICE1^^}$rst version chosen"
		echo
    fi
    break
done
}

get_locale(){
# Set locales in array
for a in af ar ast be bg bn br ca cak cs cy da de dsb el en-CA en-GB en-US es-AR es-ES es-MX et eu fi fr fy-NL ga-IE gd gl he hr hu hy-AM id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO pa-IN pl pt-BR pt-PT rm ro ru sk sl sq sr sv-SE th tr uk uz vi xpi zh-CN zh-TW; do
	RESULT+=( $a )
done
array_menu "Choose a locale from the list." 
unset RESULT
}

get_release_type(){
array_menu2 "Please choose a release from the menu:" 
case $CHOICE1 in
	esr) LATVER=$LATVER1 ;;
	current) LATVER=$LATVER2 ;;
	beta) LATVER=$LATVER3 ;;
	*)
	echo "Invalid choice"
	$FUNCNAME
	;;
esac
}

create_default_settings(){
echo "W0dsb2JhbF0KaWQ9cG9ydGV1cwp2ZXJzaW9uPTEuMAphYm91dD1Nb3ppbGxhIFRodW5kZXJiaXJk
IGZvciBQb3J0ZXVzIExpbnV4CgpbUHJlZmVyZW5jZXNdCmFwcC5kaXN0cmlidXRvcj1wb3J0ZXVz
IGxpbnV4CmFwcC5kaXN0cmlidXRvci5jaGFubmVsPXRodW5kZXJiaXJkCg==" | base64 -d > $TARG/usr/lib${SUFFIX}/thunderbird-$CHOICE1/distribution/distribution.ini
}

#~ disable_updates(){
#~ echo "ewoicG9saWNpZXMiOiAKICAgewogICAgICJEaXNhYmxlQXBwVXBkYXRlIjogdHJ1ZSwKICAgICAi
#~ RGlzYWJsZVRlbGVtZXRyeSI6IHRydWUsCiAgICAgIkRpc2FibGVQb2NrZXQiOiB0cnVlCiAgICB9
#~ Cn0K" | base64 -d > $TARG/usr/lib${SUFFIX}/thunderbird-$CHOICE1/distribution/policies.json
#~ }

create_fake_slack(){
cd $TARG
PKGINFO=var/lib/pkgtools/packages
mkdir -p $PKGINFO
echo "PACKAGE NAME: thunderbird-$LATVER-$ARCH-$LOCALE" > $PKGINFO/thunderbird-$LATVER-$ARCH-$LOCALE

cat >> $PKGINFO/thunderbird-$LATVER-$ARCH-$LOCALE << EOS
PAKAGE DESCRIPTION:
thunderbird: thunderbird (Mozilla Thunderbird mail reader)
thunderbird:
thunderbird: Standalone mail and news reader from mozilla.org
thunderbird:
thunderbird:
thunderbird:
thunderbird:
thunderbird: Visit the Mozilla thunderbird project online:
thunderbird:   https://www.thunderbird.net/
thunderbird:
thunderbird:
FILE LIST:
EOS

find * | grep -v var >> $PKGINFO/thunderbird-$LATVER-$ARCH-$LOCALE
}

menu_from_variable(){
echo
green "$(gettext " Is this an upgrade or a new install?")"
echo "$(gettext "Choose an number to confirm.")"
echo "$(gettext " ctrl+c to quit")" && echo
select CHOICE in $RESULT; do
    if [ -z "$CHOICE" ]; then
        bold "$(gettext "Invalid choice!")" && echo
        $FUNCNAME
    fi
    break
done
}

checksum () {	
echo "Verifying download integrity.."
echo "Server  : $SUM1"
echo "Download: $SUM2"
if [ "$SUM1" = "$SUM2" ]; then 
     echo "Download verified." 
else 
	read -p "Integrity check failed. Would you like to continue anyway? [y/n]" -n 1 -r -s && echo
	if [[ $REPLY =~ ^[Nn]$ ]]; then
		cleanup
	fi
fi
}

cleanup(){
echo
rm -rf $TARG
[ -d $TMPDIR ] && rm -rf $TMPDIR
exit	
}
trap cleanup SIGHUP SIGINT SIGTERM

######### Start checks
# Check if thunderbird is currently installed
bold "Checking if thunderbird is installed ..."
command -pv thunderbird >/dev/null && ISINSTALLED=0

# Get current thunderbird version if installed
if [ "$ISINSTALLED" ]; then
	sayok "thunderbird is installed"
	CVER=$(find /var/lib/pkgtools/packages/thunderbird* 2>/dev/null | sort | tail -n1 | awk -F- '{print$2}')
        [ "$CVER" ] ||  CVER=$(su - guest -c 'thunderbird -v' | cut -d" " -f3)
	[ "$CVER" ] && sayok "thunderbird version: $txtgreen $CVER $rst" || echo "No thunderbird version found"
		else
	echo "thunderbird is not installed"
fi

## Check for thunderbird file in $WRKDIR
## If it exists then ask to build from it.
if [ $(find $WRKDIR/thunderbird-* 2>/dev/null | wc -l) -ge 1 ]; then
	# Make sure it is a tarball
	cfile=( $(find $WRKDIR/thunderbird-*.bz2 2>/dev/null | awk -F/ '{print$NF}') )
	if [ ${#cfile[@]} -gt 0 ]; then
		RESULT=${cfile[@]}
		echo
		green "A thunderbird tarball was found in $WRKDIR"
		echo " We will use this archive to create thunderbird."
		menu_from_array "Choose the thunderbird file you want to process."
		echo "CHOICE:$CHOICE"
	fi
fi

bold "Checking for Porteus ..."
is_porteus && saypass "Distro is Porteus" || { sayfail "Distro is not Porteus"; cleanup; }

# Get version on porteus server
SERVER_LATFILE=$(lynx -dump --nonumbers --listonly $SERVER/$SARCH/current/modules | awk -F/ '/thunderbird/{print$NF}' | tail -n1)
SERVER_LATVER=$(awk -F- '{print$2}' <<<$SERVER_LATFILE)

############ Start input
if [ -z $CHOICE ]; then
	echo
	bold "Fetching latest thunderbird version info..."

	# check installed version is up to date, if so offer escape.
	if [ "$LATVER1" = "$CVER" ] || [ "$LATVER2" = "$CVER" ] || [ "$LATVER3" = "$CVER" ]; then
		read -p " You already have the latest version $txtgreen$CVER$rst. Do you still want to continue? [y/n]" -n 1 -r -s && echo
			[[ $REPLY =~ ^[Nn]$ ]] && exit 0
	fi

	# show all version information
	echo "The Porteus$txtgreen SERVER$rst version is :" $txtgreen "$SERVER_LATVER" $rst

	if [ "$LATVER1" ] || [ "$LATVER2" ] || [ "$LATVER3" ]; then
		echo "The Thunderbird$txtgreen ESR$rst version is    :" $txtgreen "$LATVER1" $rst
		echo "The Thunderbird$txtgreen CURRENT$rst version is:" $txtgreen "$LATVER2" $rst
		echo "The Thunderbird$txtgreen BETA$rst version is   :" $txtgreen "$LATVER3" $rst	
	else
		sayfail "Could not get thunderbird version"
		cleanup
	fi		

	## Sanitize link (mozilla server is very fussy)
	FFLINK=$(awk -F"http://" '{print$NF}' <<<$LATLINK | sed -e 's@//@/@g' -e 's/\(.*\)./\1/')

	cyan "You can choose to download the premade module from our server(en-US locale)" 
	cyan "or download one of the versions from mozilla,"  
	cyan "which enables you to choose your language."
	echo

	read -p " Would you like to download the porteus server version? [y/n]" -n 1 -r -s && echo  
	if [[ $REPLY =~ ^[Yy]$ ]]; then
		echo
		download $SERVER/$SARCH/current/modules/$SERVER_LATFILE $WRKDIR
        	## Check that we have a module in $WRKDIR
        	if [ ! -f $WRKDIR/$SERVER_LATFILE ]; then
	     		echo
	     		sayerror "Download of the thunderbird module failed."
	     		echo
	     		cleanup
        	else
	    		echo
	    		echo "Your file is at:" $txtcyan "$WRKDIR/$SERVER_LATFILE" $rst
	    		echo "Please move it to your modules folder to survive a reboot."
	    		echo
	    		cleanup
		fi
	else
		echo
		check_space
		RESULT1+=( 'esr' 'current' 'beta' )
		get_release_type
 		read -p " Would you like to download $txtgreen thunderbird-$LATVER $rst ? [y/n]"  -n 1 -r -s && echo  
		if [[ ! $REPLY =~ ^[Yy]$ ]]; then 
   		cleanup
		fi
	fi
	get_locale
else
	LOCALE=$(sed 's/_/-/' <<< ${LANG//.*})
fi

## Create TMPDIR
[ ! -d $TMPDIR ] && mkdir -p $TMPDIR

## Download the latest file
if [ -z $CHOICE ]; then
	if [ ! -e $TMPDIR/thunderbird-$LATVER.tar.bz2 ]; then
		download "$TBURL$LATVER/linux-$ARCH/$LOCALE/thunderbird-$LATVER.tar.bz2" $TMPDIR
	fi
else
	LATVER=${CHOICE:8:-8}
	cp -a $WRKDIR/$CHOICE $TMPDIR
fi

## Check that we have an archive in TMPDIR
if [ ! -f $TMPDIR/thunderbird-$LATVER.tar.bz2 ]; then
	echo
	sayerror "File $TMPDIR/thunderbird-$LATVER.tar.bz2 not found"
	cleanup
fi

## Check integrity of downloaded tarball using sha256sum
if [ -z $CHOICE ]; then
	echo "Verifying download integrity.."
	SUM1=$(lynx -dump -dont_wrap_pre ${TBURL}${LATVER}/SHA256SUMS | grep "linux-${ARCH}/${LOCALE}/thunderbird-${LATVER}.tar.bz2" | cut -d" " -f1)
	SUM2=$(sha256sum $TMPDIR/thunderbird* | cut -d" " -f1)
	checksum
fi 

## Create distribution directory
mkdir -p $TARG/usr/lib${SUFFIX}/thunderbird-$CHOICE1/distribution || \
{ red "Failed to create distibution directory."; cleanup; exit 1; }

green "Decompressing thunderbird tarball ..."
cd $TMPDIR
tar xvf thunderbird-$LATVER.tar.bz2 || { red "Failed to decompress tarball."; exit 1; }
[ ! -d $TARG ] && mkdir -p $TARG

green "Linking thunderbird binary ..."
cd $TARG/usr/lib${SUFFIX}
ln -sf ./thunderbird-$CHOICE1 thunderbird
cd -

## Create lib dir
green "Copying thunderbird files ..."
cp -a thunderbird/* $TARG/usr/lib${SUFFIX}/thunderbird-$CHOICE1/ #|| { red "Failed to copy thunderbird directory."; cleanup; exit 1; }
[ -e $TARG/usr/bin/thunderbird ] && unlink $TARG/usr/bin/thunderbird
[ ! -d $TARG/usr/bin ] && mkdir -p $TARG/usr/bin
cat > $TARG/usr/bin/thunderbird << EOF
#!/bin/bash
exec env GTK_CSD=1 /usr/lib${SUFFIX}/thunderbird-$CHOICE1/thunderbird "\$@"
EOF
chmod +x $TARG/usr/bin/thunderbird

green "Creating default settings ..."
create_default_settings
#disable_updates

chmod 755 $TARG/usr/bin
chmod 755 $TARG/usr/lib${SUFFIX}
chmod 755 $TARG/usr/lib${SUFFIX}/thunderbird-$CHOICE1
chmod -R 755 $TARG/usr/lib${SUFFIX}/thunderbird-$CHOICE1/distribution

mkdir -p $TARG/usr/share/applications 2>/dev/null
echo "W0Rlc2t0b3AgRW50cnldCk5hbWU9VGh1bmRlcmJpcmQKQ29tbWVudD1TZW5kIGFuZCByZWNlaXZl
IG1haWwgd2l0aCBUaHVuZGVyYmlyZApDb21tZW50W2FzdF09TGxlZXIgeSBlc2NyaWJpciBjb3Jy
w6l1IGVsZWN0csOzbmljdQpDb21tZW50W2NhXT1MbGVnaXUgaSBlc2NyaXZpdSBjb3JyZXUKQ29t
bWVudFtjc109xIx0ZW7DrSBhIHBzYW7DrSBwb8WhdHkKQ29tbWVudFtkYV09U2tyaXYvbMOmcyBl
LXBvc3QvbnloZWRzZ3J1cHBlIG1lZCBNb3ppbGxhIFRodW5kZXJiaXJkCkNvbW1lbnRbZGVdPUUt
TWFpbHMgdW5kIE5hY2hyaWNodGVuIG1pdCBUaHVuZGVyYmlyZCBsZXNlbiB1bmQgc2NocmVpYmVu
CkNvbW1lbnRbZWxdPc6UzrnOsc6yzqzPg8+EzrUgzrrOsc65IM6zz4HOrM+Iz4TOtSDOs8+BzqzO
vM68zrHPhM6xIM68zrUgz4TOvyBNb3ppbGxhIFRodW5kZXJiaXJkCkNvbW1lbnRbZXNdPUxlYSB5
IGVzY3JpYmEgY29ycmVvcyB5IG5vdGljaWFzIGNvbiBUaHVuZGVyYmlyZApDb21tZW50W2ZpXT1M
dWUgamEga2lyam9pdGEgc8OkaGvDtnBvc3RlamEKQ29tbWVudFtmcl09TGlyZSBldCDDqWNyaXJl
IGRlcyBjb3VycmllbHMKQ29tbWVudFtnbF09TGVhIGUgZXNjcmliYSBjb3JyZW8gZWxlY3Ryw7Nu
aWNvCkNvbW1lbnRbaGVdPden16jXmdeQ15Qv15vXqteZ15HXlCDXqdecINeT15XXkNe015wv15fX
k9ep15XXqiDXkdeQ157Xptei15XXqiBNb3ppbGxhIFRodW5kZXJiaXJkCkNvbW1lbnRbaHJdPcSM
aXRhanRlL8WhYWxqaXRlIGUtcG/FoXR1IHMgVGh1bmRlcmJpcmQKQ29tbWVudFtodV09TGV2ZWxl
ayDDrXLDoXNhIMOpcyBvbHZhc8Ohc2EgYSBUaHVuZGVyYmlyZGRlbApDb21tZW50W2l0XT1QZXIg
bGVnZ2VyZSBlIHNjcml2ZXJlIGVtYWlsCkNvbW1lbnRbamFdPeODoeODvOODq+OBruiqreOBv+ab
uOOBjQpDb21tZW50W2tvXT1Nb3ppbGxhIFRodW5kZXJiaXJkIOuplOydvC/ribTsiqQg7J296riw
IOuwjyDsk7DquLAg7YG065287J207Ja47Yq4CkNvbW1lbnRbbmxdPUUtbWFpbC9uaWV1d3MgbGV6
ZW4gZW4gc2NocmlqdmVuIG1ldCBNb3ppbGxhIFRodW5kZXJiaXJkCkNvbW1lbnRbcGxdPUN6eXRh
bmllIGkgd3lzecWCYW5pZSBlLW1haWxpCkNvbW1lbnRbcHRfQlJdPUxlaWEgZSBlc2NyZXZhIHN1
YXMgbWVuc2FnZW5zCkNvbW1lbnRbcnVdPdCn0LjRgtCw0LnRgtC1INC4INC/0LjRiNC40YLQtSDQ
v9C40YHRjNC80LAKQ29tbWVudFtza109xIzDrXRhanRlIGEgcMOtxaF0ZSBwb8WhdHUgcG9tb2Nv
dSBwcm9ncmFtdSBUaHVuZGVyYmlyZApDb21tZW50W3N2XT1Mw6RzIG9jaCBza3JpdiBlLXBvc3QK
Q29tbWVudFt1a1090KfQuNGC0LDQvdC90Y8g0YLQsCDQvdCw0L/QuNGB0LDQvdC90Y8g0LvQuNGB
0YLRltCyCkNvbW1lbnRbdmldPcSQ4buNYyB2w6Agc2/huqFuIHRoxrAgxJFp4buHbiB04butCkNv
bW1lbnRbemhfQ05dPemYheivu+mCruS7tuaIluaWsOmXuwpDb21tZW50W3poX1RXXT3ku6UgTW96
aWxsYSBUaHVuZGVyYmlyZCDoroDlr6vpg7Xku7bmiJbmlrDogZ4KR2VuZXJpY05hbWU9TWFpbCBD
bGllbnQKR2VuZXJpY05hbWVbYXN0XT1DbGllbnQgZGUgY29ycmV1CkdlbmVyaWNOYW1lW2NhXT1D
bGllbnQgZGUgY29ycmV1CkdlbmVyaWNOYW1lW2NzXT1Qb8WhdG92bsOtIGtsaWVudApHZW5lcmlj
TmFtZVtkYV09RS1wb3N0a2xpZW50CkdlbmVyaWNOYW1lW2RlXT1FLU1haWwtQW53ZW5kdW5nCkdl
bmVyaWNOYW1lW2VsXT3Om86/zrPOuc+DzrzOuc66z4wgzrHOu867zrfOu86/zrPPgc6xz4bOr86x
z4IKR2VuZXJpY05hbWVbZXNdPUNsaWVudGUgZGUgY29ycmVvCkdlbmVyaWNOYW1lW2ZpXT1Tw6Ro
a8O2cG9zdGlvaGplbG1hCkdlbmVyaWNOYW1lW2ZyXT1DbGllbnQgZGUgbWVzc2FnZXJpZQpHZW5l
cmljTmFtZVtnbF09Q2xpZW50ZSBkZSBjb3JyZW8gZWxlY3Ryw7NuaWNvCkdlbmVyaWNOYW1lW2hl
XT3XnNen15XXlyDXk9eV15DXtNecCkdlbmVyaWNOYW1lW2hyXT1LbGlqZW50IGUtcG/FoXRlCkdl
bmVyaWNOYW1lW2h1XT1MZXZlbGV6xZFrbGllbnMKR2VuZXJpY05hbWVbaXRdPUNsaWVudCBlbWFp
bApHZW5lcmljTmFtZVtqYV096Zu75a2Q44Oh44O844Or44Kv44Op44Kk44Ki44Oz44OICkdlbmVy
aWNOYW1lW2tvXT3rqZTsnbwg7YG065287J207Ja47Yq4CkdlbmVyaWNOYW1lW25sXT1FLW1haWxw
cm9ncmFtbWEKR2VuZXJpY05hbWVbcGxdPUtsaWVudCBwb2N6dHkKR2VuZXJpY05hbWVbcHRfQlJd
PUNsaWVudGUgZGUgRS1tYWlsCkdlbmVyaWNOYW1lW3J1XT3Qn9C+0YfRgtC+0LLRi9C5INC60LvQ
uNC10L3RggpHZW5lcmljTmFtZVtza109UG/FoXRvdsO9IGtsaWVudApHZW5lcmljTmFtZVt1a109
0J/QvtGI0YLQvtCy0LAg0L/RgNC+0LPRgNCw0LzQsApHZW5lcmljTmFtZVt2aV09UGjhuqduIG3h
u4FtIGtow6FjaCBxdeG6o24gbMO9IHRoxrAgxJFp4buHbiB04butCkdlbmVyaWNOYW1lW3poX0NO
XT3pgq7ku7bmlrDpl7vlrqLmiLfnq68KR2VuZXJpY05hbWVbemhfVFddPemDteS7tueUqOaItuer
rwpFeGVjPXRodW5kZXJiaXJkICV1ClRlcm1pbmFsPWZhbHNlClR5cGU9QXBwbGljYXRpb24KSWNv
bj1vcmcubW96aWxsYS5UaHVuZGVyYmlyZApDYXRlZ29yaWVzPU5ldHdvcms7RW1haWw7Ck1pbWVU
eXBlPW1lc3NhZ2UvcmZjODIyO3gtc2NoZW1lLWhhbmRsZXIvbWFpbHRvO3RleHQvY2FsZW5kYXI7
dGV4dC92Y2FyZDt0ZXh0L3gtdmNhcmQ7eC1zY2hlbWUtaGFuZGxlci93ZWJjYWw7eC1zY2hlbWUt
aGFuZGxlci93ZWJjYWxzO3gtc2NoZW1lLWhhbmRsZXIvbWlkOwpTdGFydHVwTm90aWZ5PXRydWUK
U3RhcnR1cFdNQ2xhc3M9dGh1bmRlcmJpcmQKQWN0aW9ucz1Db21wb3NlTWVzc2FnZTtPcGVuQWRk
cmVzc0Jvb2s7CgpbRGVza3RvcCBBY3Rpb24gQ29tcG9zZU1lc3NhZ2VdCk5hbWU9V3JpdGUgbmV3
IG1lc3NhZ2UKTmFtZVthcl092KfZg9iq2Kgg2LHYs9in2YTYqSDYrNiv2YrYr9ipCk5hbWVbYXN0
XT1SZWRhY3RhciBtZW5zYXhlIG51ZXZ1Ck5hbWVbYmVdPdCd0LDQv9GW0YHQsNGG0Ywg0L3QvtCy
0Ysg0LvRltGB0YIKTmFtZVtiZ1090KHRitGB0YLQsNCy0Y/QvdC1INC90LAg0L3QvtCy0L4g0YHR
itC+0LHRidC10L3QuNC1Ck5hbWVbYnJdPVNrcml2YcOxIHVyIGdlbWVubmFkZW5uIG5ldmV6Ck5h
bWVbY2FdPUVzY3JpdSB1biBtaXNzYXRnZSBub3UKTmFtZVtjc109TmFwc2F0IG5vdm91IHpwcsOh
dnUKTmFtZVtkYV09U2tyaXYgZW4gbnkgbWVkZGVsZWxzZQpOYW1lW2RlXT1OZXVlIE5hY2hyaWNo
dCB2ZXJmYXNzZW4KTmFtZVtlbF09zqPPjc69z4TOsc6+zrcgzr3Orc6/z4UgzrzOt869z43OvM6x
z4TOv8+CCk5hbWVbZXNfQVJdPUVzY3JpYmlyIHVuIG51ZXZvIG1lbnNhamUKTmFtZVtlc19FU109
UmVkYWN0YXIgbnVldm8gbWVuc2FqZQpOYW1lW2V0XT1LaXJqdXRhIHV1cyBraXJpCk5hbWVbZXVd
PUlkYXR6aSBtZXp1IGJlcnJpYQpOYW1lW2ZpXT1LaXJqb2l0YSB1dXNpIHZpZXN0aQpOYW1lW2Zy
XT1Sw6lkaWdlciB1biBub3V2ZWF1IG1lc3NhZ2UKTmFtZVtmeV9OTF09U2tyaXV3IGluIG5paiBi
ZXJqb2NodApOYW1lW2dhX0lFXT1TY3LDrW9iaCB0ZWFjaHRhaXJlYWNodCBudWEKTmFtZVtnZF09
U2dyw6xvYmggdGVhY2hkYWlyZWFjaGQgw7lyCk5hbWVbZ2xdPUVzY3JpYmlyIHVuaGEgbm92YSBt
ZW5zYXhlCk5hbWVbaGVdPdeb16rXmdeR16og15TXldeT16LXlCDXl9eT16nXlApOYW1lW2hyXT1Q
acWhaSBub3Z1IHBvcnVrdQpOYW1lW2h1XT3Dmmogw7x6ZW5ldCDDrXLDoXNhCk5hbWVbaHlfQU1d
PdSz1oDVpdWsINW21bjWgCDVttWh1bTVodWvCk5hbWVbaXNdPVNLcmlmYSBuw71qYW4gcMOzc3QK
TmFtZVtpdF09U2NyaXZpIG51b3ZvIG1lc3NhZ2dpbwpOYW1lW2phXT3mlrDjgZfjgYTjg6Hjg4Pj
grvjg7zjgrjjgpLkvZzmiJDjgZnjgosKTmFtZVtrb1097IOIIOuplOyLnOyngCDsnpHshLEKTmFt
ZVtsdF09UmHFoXl0aSBuYXVqxIUgbGFpxaFrxIUKTmFtZVtuYl9OT109U2tyaXYgbnkgbWVsZGlu
ZwpOYW1lW25sXT1OaWV1dyBiZXJpY2h0IGFhbm1ha2VuCk5hbWVbbm5fTk9dPVNrcml2IG55IG1l
bGRpbmcKTmFtZVtwbF09Tm93YSB3aWFkb21vxZvEhwpOYW1lW3B0X0JSXT1Ob3ZhIG1lbnNhZ2Vt
Ck5hbWVbcHRfUFRdPUVzY3JldmVyIG5vdmEgbWVuc2FnZW0KTmFtZVtybV09U2NyaXZlciBpbiBu
b3YgbWVzc2FkaQpOYW1lW3JvXT1TY3JpZSB1biBtZXNhaiBub3UKTmFtZVtydV090KHQvtC30LTQ
sNGC0Ywg0L3QvtCy0L7QtSDRgdC+0L7QsdGJ0LXQvdC40LUKTmFtZVtza109Tm92w6EgZS1tYWls
b3bDoSBzcHLDoXZhCk5hbWVbc2xdPVNlc3Rhdmkgbm92byBzcG9yb8SNaWxvCk5hbWVbc3FdPVNo
a3J1YW5pIG1lc2F6aCB0w6sgcmkKTmFtZVtzcl090J/QuNGB0LDRmtC1INC90L7QstC1INC/0L7R
gNGD0LrQtQpOYW1lW3N2X1NFXT1Ta3JpdiBldHQgbnl0dCBtZWRkZWxhbmRlCk5hbWVbdHJdPVll
bmkgaWxldGkgeWF6Ck5hbWVbdWtdPdCd0LDQv9C40YHQsNGC0Lgg0L3QvtCy0L7Qs9C+INC70LjR
gdGC0LAKTmFtZVt2aV09Vmnhur90IHRoxrAgbeG7m2kKTmFtZVt6aF9DTl0957yW5YaZ5paw5raI
5oGvCk5hbWVbemhfVFddPeWvq+S4gOWwgeaWsOioiuaBrwpFeGVjPXRodW5kZXJiaXJkIC1jb21w
b3NlCgpbRGVza3RvcCBBY3Rpb24gT3BlbkFkZHJlc3NCb29rXQpOYW1lPU9wZW4gYWRkcmVzcyBi
b29rCk5hbWVbYXJdPdin2YHYqtitINiv2YHYqtixINin2YTYudmG2KfZiNmK2YYKTmFtZVthc3Rd
PUFicmlyIGxsaWJyZXRhIGRlIGRpcmVpY2lvbmVzCk5hbWVbYmVdPdCQ0LTQutGA0YvRhtGMINCw
0LTRgNCw0YHQvdGD0Y4g0LrQvdGW0LPRgwpOYW1lW2JnXT3QntGC0LLQsNGA0Y/QvdC1INC90LAg
0LDQtNGA0LXRgdC90LjQugpOYW1lW2JyXT1EaWdlcmnDsSB1ciBjJ2hhcm5lZCBjaG9tbGVjJ2hp
b8O5Ck5hbWVbY2FdPU9icmUgbGEgbGxpYnJldGEgZCdhZHJlY2VzCk5hbWVbY3NdPU90ZXbFmcOt
dCBBZHJlc8OhxZkKTmFtZVtkYV09w4VibiBhZHJlc3NlYm9nCk5hbWVbZGVdPUFkcmVzc2J1Y2gg
w7ZmZm5lbgpOYW1lW2VsXT3Ohs69zr/Ouc6zzrzOsSDOtc+Fz4HOtc+EzrfPgc6vzr/PhSDOtM65
zrXPhc64z43Ovc+DzrXPic69Ck5hbWVbZXNfQVJdPUFicmlyIGxpYnJldGEgZGUgZGlyZWNjaW9u
ZXMKTmFtZVtlc19FU109QWJyaXIgbGlicmV0YSBkZSBkaXJlY2Npb25lcwpOYW1lW2V0XT1BdmEg
YWFkcmVzc2lyYWFtYXQKTmFtZVtldV09SXJla2kgaGVsYmlkZS1saWJ1cnVhCk5hbWVbZmldPUF2
YWEgb3NvaXRla2lyamEKTmFtZVtmcl09T3V2cmlyIHVuIGNhcm5ldCBkJ2FkcmVzc2VzCk5hbWVb
ZnlfTkxdPUllcGVuamUgYWRyZXNib2VrCk5hbWVbZ2FfSUVdPU9zY2FpbCBsZWFiaGFyIHNlb2x0
YcOtCk5hbWVbZ2RdPUZvc2dhaWwgbGVhYmhhci1zaGXDsmxhaWRoZWFuCk5hbWVbZ2xdPUFicmly
IGEgYXhlbmRhIGRlIGVuZGVyZXpvcwpOYW1lW2hlXT3XpNeq15nXl9eqINeh16TXqCDXm9eq15XX
kdeV16oKTmFtZVtocl09T3R2b3JpIGFkcmVzYXIKTmFtZVtodV09Q8OtbWplZ3l6w6lrIG1lZ255
aXTDoXNhCk5hbWVbaHlfQU1dPdSy1aHWgdWl1awg1YDVodW91oHVpdWh1aPVq9aA1oTVqApOYW1l
W2lzXT1PcG5hIG5hZm5hc2tyw6EKTmFtZVtpdF09QXByaSBydWJyaWNhCk5hbWVbamFdPeOCouOD
ieODrOOCueW4s+OCkumWi+OBjwpOYW1lW2tvXT3so7zshozroZ0g7Je06riwCk5hbWVbbHRdPUF0
dmVydGkgYWRyZXPFsyBrbnlnxIUKTmFtZVtuYl9OT109w4VwbmUgYWRyZXNzZWJvawpOYW1lW25s
XT1BZHJlc2JvZWsgb3BlbmVuCk5hbWVbbm5fTk9dPU9wbmUgYWRyZXNzZWJvawpOYW1lW3BsXT1L
c2nEhcW8a2EgYWRyZXNvd2EKTmFtZVtwdF9CUl09Q2F0w6Fsb2dvIGRlIGVuZGVyZcOnb3MKTmFt
ZVtwdF9QVF09QWJyaXIgbGl2cm8gZGUgZW5kZXJlw6dvcwpOYW1lW3JtXT1BdnJpciBpbCBjdWRl
c2NoZXQgZCdhZHJlc3NhcwpOYW1lW3JvXT1EZXNjaGlkZSBhZ2VuZGEgZGUgY29udGFjdGUKTmFt
ZVtydV090J7RgtC60YDRi9GC0Ywg0LDQtNGA0LXRgdC90YPRjiDQutC90LjQs9GDCk5hbWVbc2td
PU90dm9yacWlIGFkcmVzw6FyCk5hbWVbc2xdPU9kcHJpIGFkcmVzc2FyCk5hbWVbc3FdPUhhcG5p
IGxpYsOrciBhZHJlc2FzaApOYW1lW3NyXT3QntGC0LLQvtGA0Lgg0LDQtNGA0LXRgdCw0YAKTmFt
ZVtzdl9TRV09w5ZwcG5hIGFkcmVzc2Jva2VuCk5hbWVbdHJdPUFkcmVzIGRlZnRlcmluaSBhw6cK
TmFtZVt1a1090JLRltC00LrRgNC40YLQuCDQsNC00YDQtdGB0L3RgyDQutC90LjQs9GDCk5hbWVb
dmldPU3hu58gc+G7lSDEkeG7i2EgY2jhu4kKTmFtZVt6aF9DTl095omT5byA6YCa6K6v5b2VCk5h
bWVbemhfVFddPemWi+WVn+mAmuioiumMhApFeGVjPXRodW5kZXJiaXJkIC1hZGRyZXNzYm9vawo=" | base64 -d > $TARG/usr/share/applications/org.mozilla.Thunderbird.desktop

for i in 16 22 24 32 48 64 128 256; do
    mkdir -p $TARG/usr/share/icons/hicolor/{${i}x${i},symbolic}/apps
    install -Dm644 -o root -g root $TARG/usr/lib64/thunderbird/chrome/icons/default/default${i}.png \
    "$TARG/usr/share/icons/hicolor/${i}x${i}/apps/org.mozilla.Thunderbird.png"
    install -Dm644 -o root -g root $TARG/usr/lib64/thunderbird/chrome/icons/default/TB-symbolic.svg \
    "$TARG/usr/share/icons/hicolor/symbolic/apps/thunderbird-symbolic.svg"
done

create_fake_slack

green "Creating module ..."

cd $WRKDIR

dir2xzm $TARG $WRKDIR/thunderbird-$LATVER-$ARCH-$LOCALE.xzm
echo "Your file is at:" $txtgreen "$WRKDIR/thunderbird-$LATVER-$ARCH-$LOCALE.xzm" $rst
cyan "Please copy it to your modules folder to survive a reboot."
echo
cleanup