#!/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: brokenman@porteus.org # mangled by: ncmprhnsbl # version: 20201128 # 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 [ `df -l --output=avail $WRKDIR | tail -1` -lt 384000 ] && { red "There's not enough space to run this script"; exit 1; } #declare -i returnval # Create variables FFURL=http://download-installer.cdn.mozilla.net/pub/firefox/releases/ SERVER=`awk -F= '/SERVER=/{print$NF}' /etc/porteus.conf` TMPDIR=$WRKDIR/portff PROFDIR="dxsqumip.default" EXT=.tar.bz2 TARG=$TMPDIR/ff.$$ CWD=`pwd` LATLINK1=`lynx -dump --nonumbers --listonly $FFURL | grep "/[0-9]" | grep "esr" | sort -V | tail -n1` ## firefox versioning messes this up each major release: 1st is minor, 2nd is major #LATLINK2=`lynx -dump --nonumbers --listonly $FFURL | grep "/[0-9]" | grep -v '0b\|esr' | sort -V | tail -n2 | head -n1` #LATLINK2=`lynx -dump --nonumbers --listonly $FFURL | grep "/[0-9]" | grep -v '0b\|esr' | sort -V | tail -n1` ## attempt to overcome this by adding ".0" to major version for "sort -V" to handle LAT1=`lynx -dump --nonumbers --listonly $FFURL | grep "/[0-9][0-9].[0-9]/" | grep -v '0b\|esr' | sort -V | tail -n1 | awk -F/ '{print $(NF-1)}'` LAT2=`lynx -dump --nonumbers --listonly $FFURL | grep "/[0-9][0-9].[0-9].[0-9]" | grep -v '0b\|esr' | sort -V | tail -n1 | awk -F/ '{print $(NF-1)}'` LAT3=`printf "${LAT2} \n${LAT1}.0" | sort -V | tail -n1` if [ "$LAT3" = "${LAT1}.0" ]; then LATLINK2=`lynx -dump --nonumbers --listonly $FFURL | grep "/[0-9][0-9].[0-9]/" | grep -v '0b\|esr' | sort -V | tail -n1` else LATLINK2=`lynx -dump --nonumbers --listonly $FFURL | grep "/[0-9][0-9].[0-9].[0-9]" | grep -v '0b\|esr' | sort -V | tail -n1` fi LATLINK3=`lynx -dump --nonumbers --listonly $FFURL | grep "/[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"; } get_home_page(){ HOMEPAGE="https://forum.porteus.org" bold "Set your home page." echo " Leave blank for: https://forum.porteus.org and press enter to continue." read -p "> " answ if [ `wc -c <<<$answ` -gt 1 ]; then HOMEPAGE=$answ unset answ echo "Verifying home page ..." if is_online_url $HOMEPAGE; then saypass "Homepage is online." else sayfail "This homepage is not available." echo $FUNCNAME fi else saypass "Homepage is available" fi } 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 ach af an ar ast az be bg bn br bs ca-valencia ca cak cs cy da de dsb el en-CA en-GB en-US eo es-AR es-CL es-ES es-MX et eu fa ff fi fr fy-NL ga-IE gd gl gn gu-IN he hi-IN hr hu hy-AM ia id is it ja ka kab kk km kn ko lij lt lv mk mr ms my nb-NO ne-NP nl nn-NO oc pa-IN pl pt-BR pt-PT rm ro ru si sk sl son sq sr sv-SE ta te th tl tr trs uk ur uz vi xh 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) LATLINK=$LATLINK1 ;; current) LATLINK=$LATLINK2 ;; beta) LATLINK=$LATLINK3 ;; *) echo "Invalid choice" $FUNCNAME ;; esac } create_default_settings(){ echo "W0dsb2JhbF0KaWQ9UG9ydGV1cwp2ZXJzaW9uPTUuMAphYm91dD1GaXJlZm94IGZvciBQb3J0ZXVz CgpbUHJlZmVyZW5jZXNdCmFwcC51cGRhdGUuYXV0bz1mYWxzZQphcHAudXBkYXRlLmVuYWJsZWQ9 ZmFsc2UKYnJvd3Nlci5zdGFydHVwLmhvbWVwYWdlPSJkYXRhOnRleHQvcGxhaW4sYnJvd3Nlci5z dGFydHVwLmhvbWVwYWdlPWh0dHBzOi8vZm9ydW0ucG9ydGV1cy5vcmciCmJyb3dzZXIuc3RhcnR1 cC5maXJzdHJ1blNraXBzSG9tZXBhZ2U9ZmFsc2UKYnJvd3Nlci5zZWFyY2guZGVmYXVsdGVuZ2lu ZW5hbWU9ImRhdGE6dGV4dC9wbGFpbixicm93c2VyLnNlYXJjaC5kZWZhdWx0ZW5naW5lbmFtZT1E dWNrRHVja0dvIgpicm93c2VyLmNhY2hlLmRpc2suY2FwYWNpdHk9MTAyNDAKYnJvd3Nlci5zaGVs bC5jaGVja0RlZmF1bHRCcm93c2VyPWZhbHNlCmFwcC5zaGllbGQub3B0b3V0c3R1ZGllcy5lbmFi bGVkPWZhbHNlCmJyb3dzZXIuY29tcGFjdG1vZGUuc2hvdz10cnVlCndpZGdldC51c2UteGRnLWRl c2t0b3AtcG9ydGFsLmZpbGUtcGlja2VyPTEKd2lkZ2V0LndpZGdldC51c2UteGRnLWRlc2t0b3At cG9ydGFsLm1pbWUtaGFuZGxlcj0xCg==" | base64 -d > $TARG/usr/lib${SUFFIX}/firefox-$LATVER/distribution/distribution.ini } disable_updates(){ echo "ewoicG9saWNpZXMiOiAKICAgewogICAgICJEaXNhYmxlQXBwVXBkYXRlIjogdHJ1ZSwKICAgICAi RGlzYWJsZVRlbGVtZXRyeSI6IHRydWUsCiAgICAgIkRpc2FibGVQb2NrZXQiOiB0cnVlCiAgICB9 Cn0K" | base64 -d > $TARG/usr/lib${SUFFIX}/firefox-$LATVER/distribution/policies.json } create_fake_slack(){ #[ ! -d $TARG/install ] && mkdir -p $TARG/install cd $TARG PKGINFO=var/lib/pkgtools/packages #FILES=`find *` mkdir -p $PKGINFO echo "PACKAGE NAME: firefox-$LATVER-$ARCH-$LOCALE" > $PKGINFO/firefox-$LATVER-$ARCH-$LOCALE cat >> $PKGINFO/firefox-$LATVER-$ARCH-$LOCALE << EOS PAKAGE DESCRIPTION: firefox: firefox (Mozilla Firefox Web browser) firefox: firefox: This project is a redesign of the Mozilla browser component written firefox: using the XUL user interface language. Firefox empowers you to firefox: browse faster, more safely and more efficiently than with any other firefox: browser. firefox: firefox: Visit the Mozilla Firefox project online: firefox: http://www.mozilla.org/projects/firefox/ firefox: firefox: FILE LIST: EOS find * | grep -v var >> $PKGINFO/firefox-$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 firefox is currently installed bold "Checking if firefox is installed ..." command -pv firefox >/dev/null && ISINSTALLED=0 # Get current firefox version if installed if [ "$ISINSTALLED" ]; then sayok "firefox is installed" CVER=`find /var/lib/pkgtools/packages/firefox* 2>/dev/null | sort | tail -n1 | awk -F- '{print$2}'` [ "$CVER" ] || CVER=`su - guest -c 'firefox -v' | cut -d" " -f3` [ "$CVER" ] && sayok "firefox version: $txtgreen $CVER $rst" || echo "No firefox version found" else echo "firefox is not installed" fi ## Check for firefox file in $WRKDIR ## If it exists then ask to build from it. if [ `find $WRKDIR/firefox-* 2>/dev/null | wc -l` -ge 1 ]; then # Make sure it is a tarball cfile=( `find $WRKDIR/firefox-*.bz2 2>/dev/null | awk -F/ '{print$NF}' ` ) if [ ${#cfile[@]} -gt 0 ]; then RESULT=${cfile[@]} echo green "A firefox tarball was found in $WRKDIR" echo " We will use this archive to create firefox." menu_from_array "Choose the firefox 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/ '/firefox/{print$NF}' | tail -n1` SERVER_LATVER=`awk -F- '{print$2}' <<<$SERVER_LATFILE` ############ Start input if [ -z $CHOICE ]; then echo bold "Fetching latest firefox version info..." LATVER1=`awk -F/ '{print $(NF-1)}' <<< $LATLINK1` LATVER2=`awk -F/ '{print $(NF-1)}' <<< $LATLINK2` LATVER3=`awk -F/ '{print $(NF-1)}' <<< $LATLINK3` # 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 Firefox$txtgreen ESR$rst version is :" $txtgreen "$LATVER1" $rst echo "The Firefox$txtgreen CURRENT$rst version is:" $txtgreen "$LATVER2" $rst echo "The Firefox$txtgreen BETA$rst version is :" $txtgreen "$LATVER3" $rst else sayfail "Could not get firefox 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 and set a custom homepage." 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 firefox 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 RESULT1+=( 'esr' 'current' 'beta' ) get_release_type LATVER=`echo $LATLINK | awk -F/ '{print $(NF-1)}'` read -p " Would you like to download $txtgreen firefox-$LATVER $rst ? [y/n]" -n 1 -r -s && echo if [[ ! $REPLY =~ ^[Yy]$ ]]; then cleanup fi fi get_home_page get_locale else get_home_page LOCALE=`sed 's/_/-/' <<< ${LANG//.*}` fi ## Create TMPDIR [ ! -d $TMPDIR ] && mkdir -p $TMPDIR #echo "downloading from $FFURL$LATVER/linux-$ARCH/$LOCALE/firefox-$LATVER.tar.bz2" ## Download the latest file if [ -z $CHOICE ]; then if [ ! -e $TMPDIR/firefox-$LATVER.tar.bz2 ]; then download "$FFURL$LATVER/linux-$ARCH/$LOCALE/firefox-$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/firefox-$LATVER.tar.bz2 ]; then echo sayerror "File $TMPDIR/firefox-$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 ${FFURL}${LATVER}/SHA256SUMS | grep "linux-${ARCH}/${LOCALE}/firefox-${LATVER}.tar.bz2" | cut -d" " -f1` SUM2=`sha256sum $TMPDIR/firefox* | cut -d" " -f1` checksum fi ## Create distribution directory mkdir -p $TARG/usr/lib${SUFFIX}/firefox-$LATVER/distribution || \ { red "Failed to create distibution directory."; cleanup; exit 1; } green "Decompressing firefox tarball ..." cd $TMPDIR tar xvf firefox-$LATVER.tar.bz2 || { red "Failed to decompress tarball."; exit 1; } [ ! -d $TARG ] && mkdir -p $TARG green "Linking firefox binary ..." cd $TARG/usr/lib${SUFFIX} ln -sf ./firefox-$LATVER firefox cd - ## Create lib dir green "Copying firefox files ..." cp -a firefox/* $TARG/usr/lib${SUFFIX}/firefox-$LATVER/ #|| { red "Failed to copy firefox directory."; cleanup; exit 1; } [ -e $TARG/usr/bin/firefox ] && unlink $TARG/usr/bin/firefox [ ! -d $TARG/usr/bin ] && mkdir -p $TARG/usr/bin ln -s /usr/lib${SUFFIX}/firefox-$LATVER/firefox $TARG/usr/bin/firefox #green "Creating duckduckgo file ..." #create_ddg_file green "Creating default settings ..." create_default_settings disable_updates #green "Creating install files ..." # Copy configs #green "Copying config files ..." #cp -a $CWD/files/* $TARG #chown -R 1000:1000 $TARG/home/guest chmod 755 $TARG/usr/bin chmod 755 $TARG/usr/lib${SUFFIX} chmod 755 $TARG/usr/lib${SUFFIX}/firefox-$LATVER chmod -R 755 $TARG/usr/lib${SUFFIX}/firefox-$LATVER/distribution mkdir -p $TARG/usr/share/applications 2>/dev/null echo "W0Rlc2t0b3AgRW50cnldCkV4ZWM9ZmlyZWZveCAldQpJY29uPWZpcmVmb3gKVHlwZT1BcHBsaWNh dGlvbgpDYXRlZ29yaWVzPU5ldHdvcms7Ck5hbWU9RmlyZWZveApOYW1lW2JuXT3gpqvgpr7gp5/g pr7gprDgpqvgppXgp43gprgKTmFtZVtlb109TW96aWxvIEZhanJvdnVscG8KTmFtZVtmaV09TW96 aWxsYSBGaXJlZm94Ck5hbWVbcGFdPeCoq+CovuCoh+CosOCoq+Cpi+ColeCouApOYW1lW3RnXT3Q oNOv0LHQvtKz0Lgg0L7RgtCw0YjQuNC9CkdlbmVyaWNOYW1lPVdlYiBCcm93c2VyCkdlbmVyaWNO YW1lW2FmXT1XZWIgQmxhYWllcgpHZW5lcmljTmFtZVthcl092YXYqti12YHYrSDZiNmK2KgKR2Vu ZXJpY05hbWVbYXpdPVZlYiBTyZl5eWFoxLEKR2VuZXJpY05hbWVbYmddPdCR0YDQsNGD0LfRitGA CkdlbmVyaWNOYW1lW2JuXT3gppPgp5/gp4fgpqwg4Kas4KeN4Kaw4Ka+4KaJ4Kac4Ka+4KawCkdl bmVyaWNOYW1lW2JyXT1GdXJjaGVyIGFyIEd3aWFkCkdlbmVyaWNOYW1lW2JzXT1XV1cgUHJlZ2xl ZG5pawpHZW5lcmljTmFtZVtjYV09RnVsbGVqYWRvciB3ZWIKR2VuZXJpY05hbWVbY3NdPVdXVyBw cm9obMOtxb5lxI0KR2VuZXJpY05hbWVbY3ldPVBvcnlkZCBHd2UKR2VuZXJpY05hbWVbZGFdPUJy b3dzZXIKR2VuZXJpY05hbWVbZGVdPVdlYi1Ccm93c2VyCkdlbmVyaWNOYW1lW2VsXT3OoM61z4HO uc63zrPOt8+Ezq7PgiDOmc+Dz4TOv8+NCkdlbmVyaWNOYW1lW2VvXT1UVFQtbGVnaWxvCkdlbmVy aWNOYW1lW2VzXT1OYXZlZ2Fkb3Igd2ViCkdlbmVyaWNOYW1lW2V0XT1WZWViaWxlaGl0c2VqYQpH ZW5lcmljTmFtZVtldV09V2ViIGFyYWthdHphaWxlYQpHZW5lcmljTmFtZVtmYV092YXYsdmI2LHa r9ixINmI2KgKR2VuZXJpY05hbWVbZmldPVdXVy1zZWxhaW4KR2VuZXJpY05hbWVbZm9dPUFsbsOz dHNmYXIKR2VuZXJpY05hbWVbZnJdPU5hdmlnYXRldXIgd2ViCkdlbmVyaWNOYW1lW2dsXT1OYXZl Z2Fkb3IgV2ViCkdlbmVyaWNOYW1lW2hlXT3Xk9ek15PXpNefINeQ15nXoNeY16jXoNeYCkdlbmVy aWNOYW1lW2hpXT3gpLXgpYfgpKwg4KSs4KWN4KSw4KS+4KSJ4KSc4KS84KSwCkdlbmVyaWNOYW1l W2hyXT1XZWIgcHJlZ2xlZG5pawpHZW5lcmljTmFtZVtodV09V2ViYsO2bmfDqXN6xZEKR2VuZXJp Y05hbWVbaXNdPVZhZnJpCkdlbmVyaWNOYW1lW2l0XT1Ccm93c2VyIFdlYgpHZW5lcmljTmFtZVtq YV0944Km44Kn44OW44OW44Op44Km44K2CkdlbmVyaWNOYW1lW2tvXT3sm7kg67iM65287Jqw7KCA CkdlbmVyaWNOYW1lW2xvXT3gu4DguqfgurHguprguprguqPgurLguqfgu4DguorgurUKR2VuZXJp Y05hbWVbbHRdPcW9aW5pYXRpbmtsaW8gbmFyxaF5a2zElwpHZW5lcmljTmFtZVtsdl09V2ViIFDE gXJsxatrcwpHZW5lcmljTmFtZVtta1090J/RgNC10LvQuNGB0YLRg9Cy0LDRhyDQvdCwINCY0L3R gtC10YDQvdC10YIgCkdlbmVyaWNOYW1lW21uXT3QktC10LEt0KXTqdGC06nRhwpHZW5lcmljTmFt ZVtuYl09TmV0dGxlc2VyCkdlbmVyaWNOYW1lW25kc109TmV0dGtpZWtlcgpHZW5lcmljTmFtZVtu bF09V2ViYnJvd3NlcgpHZW5lcmljTmFtZVtubl09TmV0dGxlc2FyCkdlbmVyaWNOYW1lW25zb109 U2Vpbnlha2lzaSBzYSBXZWIKR2VuZXJpY05hbWVbcGFdPeCoteCpiOCorCDgqJ3gqLLgqJXgqL7g qLDgqL4KR2VuZXJpY05hbWVbcGxdPVByemVnbMSFZGFya2EgV1dXCkdlbmVyaWNOYW1lW3B0XT1O YXZlZ2Fkb3IgV2ViCkdlbmVyaWNOYW1lW3B0X0JSXT1OYXZlZ2Fkb3IgV2ViCkdlbmVyaWNOYW1l W3JvXT1OYXZpZ2F0b3IgZGUgd2ViCkdlbmVyaWNOYW1lW3J1XT3QktC10LEt0LHRgNCw0YPQt9C1 0YAKR2VuZXJpY05hbWVbc2VdPUZpZXJwbcOhZGF0bG9nYW4KR2VuZXJpY05hbWVbc2tdPVdlYm92 w70gcHJlaGxpYWRhxI0KR2VuZXJpY05hbWVbc2xdPVNwbGV0bmkgYnJza2FsbmlrCkdlbmVyaWNO YW1lW3NyXT3QktC10LEg0L/RgNC10YLRgNCw0LbQuNCy0LDRhwpHZW5lcmljTmFtZVtzckBMYXRu XT1WZWIgcHJldHJhxb5pdmHEjQpHZW5lcmljTmFtZVtzc109SWJyYXd1emEgeWVXZWIgCkdlbmVy aWNOYW1lW3N2XT1XZWJibMOkc2FyZQpHZW5lcmljTmFtZVt0YV094K614K6y4K+IIOCuieCusuCu vuCuteCuvwpHZW5lcmljTmFtZVt0Z1090KLQsNGE0YHQuNGA0LPQsNGA0Lgg0LLRjdCxCkdlbmVy aWNOYW1lW3RoXT3guYDguKfguYfguJrguJrguKPguLLguKfguYDguIvguK3guKPguYwKR2VuZXJp Y05hbWVbdHJdPVdlYiBUYXJhecSxY8SxCkdlbmVyaWNOYW1lW3VrXT3QndCw0LLRltCz0LDRgtC+ 0YAg0KLQtdC90LXRggpHZW5lcmljTmFtZVt1el090JLQtdCxLdCx0YDQsNGD0LfQtdGACkdlbmVy aWNOYW1lW3Zlbl09QnVyb256YSB5YSBXZWJ1CkdlbmVyaWNOYW1lW3ZpXT1UcsOsbmggZHV54buH dCBXZWIKR2VuZXJpY05hbWVbd2FdPUJldGNodGV1IHdhaWJlCkdlbmVyaWNOYW1lW3hoXT1VbWto YW5nZWxpIHppbmN3YWRpIHdlIFdlYgpHZW5lcmljTmFtZVt6aF9DTl09572R6aG15rWP6KeI5Zmo CkdlbmVyaWNOYW1lW3poX1RXXT3ntrLpoIHngI/opr3lmagKR2VuZXJpY05hbWVbenVdPVVtY2lu Z2kgd2UtV2ViCk1pbWVUeXBlPXRleHQvaHRtbDt0ZXh0L3htbDthcHBsaWNhdGlvbi94aHRtbCt4 bWw7YXBwbGljYXRpb24vdm5kLm1vemlsbGEueHVsK3htbDt0ZXh0L21tbDt4LXNjaGVtZS1oYW5k bGVyL2h0dHA7eC1zY2hlbWUtaGFuZGxlci9odHRwczsKWC1LREUtU3RhcnR1cE5vdGlmeT10cnVl Cg==" | base64 -d > $TARG/usr/share/applications/mozilla-firefox.desktop ## Create browser.desktop file cp -a $TARG/usr/share/applications/mozilla-firefox.desktop $TARG/usr/share/applications/browser.desktop echo "NoDisplay=true" >> $TARG/usr/share/applications/browser.desktop sed -i 's/MimeType/#MimeType/' $TARG/usr/share/applications/browser.desktop # Add home page echo "Adding home page ..." sed -i 's@https://forum.porteus.org/@'$HOMEPAGE'@g' $TARG/usr/lib${SUFFIX}/firefox-$LATVER/distribution/distribution.ini create_fake_slack ## remove - for some locales #~ if [ `echo $LOCALE | grep -` ]; then #~ PLOC=${LOCALE/-/} #~ else #~ PLOC=$LOCALE #~ fi echo "Creating module ..." #cd $TARG #makepkg -l y -c n $WRKDIR/firefox-$LATVER-$ARCH-$PLOC.txz || { red "Failed to create slackware package."; exit 1; } cd $WRKDIR dir2xzm $TARG $WRKDIR/firefox-$LATVER-$ARCH-$LOCALE.xzm echo "Your file is at:" $txtgreen "$WRKDIR/firefox-$LATVER-$ARCH-$LOCALE.xzm" $rst cyan "Please copy it to your modules folder to survive a reboot." echo cleanup