#!/bin/sh -x KEEP_TAR=${KEEP_TAR:-"NO"} CWD=$(pwd) TAG=cyco OUTPUT=/tmp TMP=${TMP:-/tmp} PKG=$TMP/pkg-mozilla-firefox # This is not a source build script. Rather, it builds a Slackware # package from the official binary tarball available from mozilla.org. # Using the official binaries seems like the most direct way to satify # the Mozilla project's concerns about quality control (and thus to # provide the most quality-certified package possible), and therefore # be able to use the official trademarks and logos. # # Thanks to the folks at the Mozilla Foundation for permission to # distribute this, and for all the great work! :-) ARCH=${ARCH:-$(uname -m)} BUILD=1 BRANCH=${BRANCH:=latest-mozilla-central} TIMESTAMP=$(date +%F | tr - .) if [ $KEEP_TAR == "YES" ]; then [ -e firefox-*.en-US.linux-x86_64.tar.bz2 ] && for f in firefox-*.en-US.linux-x86_64.tar.bz2 ; do mv $f $f.orig ; done else [ -e firefox-*.en-US.linux-x86_64.tar.bz2 ] && rm firefox-*.en-US.linux-x86_64.tar.bz2 fi WHICH_TAR=$(lftp http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/$BRANCH/ -e "cls --date *.en-US.linux-x86_64.tar.bz2 ; quit" | awk '{print $4}' | sort | tail -n1) wget -c http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/$BRANCH/$WHICH_TAR || exit -1 VERSION=$(ls -ut firefox-*.tar.bz2 | head -n1 | cut -d - -f 2 | sed 's|.en||') LIBSUFFIX=$(echo "$ARCH" | grep -o "64") mkdir -p $TMP rm -rf $PKG mkdir -p $PKG/usr/lib$LIBSUFFIX ( cd $PKG/usr/lib$LIBSUFFIX tar xf $CWD/firefox-$VERSION.en-US.linux-$ARCH.tar.bz2 || exit 1 mv firefox firefox-$VERSION ln -sf firefox-$VERSION firefox cd firefox-$VERSION sed -i -e "s/usr\/local/usr/" firefox rm -f defaults/pref/firefox.js.orig ln -s ../mozilla/plugins ) || exit 1 if [ ! "/usr/lib$LIBSUFFIX" == "/usr/lib" ]; then mkdir -p $PKG/usr/lib ( cd $PKG/usr/lib ln -s ../lib$LIBSUFFIX/mozilla mozilla ) fi mkdir -p $PKG/usr/bin ( cd $PKG/usr/bin ln -sf /usr/lib$LIBSUFFIX/firefox-$VERSION/firefox . ) mkdir -p $PKG/usr/lib$LIBSUFFIX/mozilla/plugins mkdir -p $PKG/usr/share/applications cat $CWD/mozilla-firefox.desktop > $PKG/usr/share/applications/mozilla-firefox.desktop mkdir -p $PKG/usr/share/pixmaps cat $CWD/firefox.png > $PKG/usr/share/pixmaps/firefox.png # These files/directories are usually created if Firefox is run as root, which on many # systems might (and possibly should) be never. Therefore, if we don't see them we'll # put stubs in place to prevent startup errors. ( cd $PKG/usr/lib$LIBSUFFIX/firefox-$VERSION if [ -d extensions/talkback\@mozilla.org ]; then if [ ! -r extensions/talkback\@mozilla.org/chrome.manifest ]; then echo > extensions/talkback\@mozilla.org/chrome.manifest fi fi if [ ! -d updates ]; then mkdir -p updates/0 fi ) mkdir $PKG/install cat < $PKG/install/slack-desc # HOW TO EDIT THIS FILE: # The "handy ruler" below makes it easier to edit a package description. Line # up the first '|' above the ':' following the base package name, and the '|' on # the right side marks the last column you can put a character in. You must make # exactly 11 lines for the formatting to be correct. It's also customary to # leave one space after the ':'. |-----handy-ruler------------------------------------------------------| mozilla-firefox: mozilla-firefox (Mozilla Firefox Web browser) mozilla-firefox: mozilla-firefox: This project is a redesign of the Mozilla browser component written mozilla-firefox: using the XUL user interface language. Firefox empowers you to mozilla-firefox: browse faster, more safely and more efficiently than with any other mozilla-firefox: browser. mozilla-firefox: mozilla-firefox: Visit the Mozilla Firefox project online: mozilla-firefox: http://www.mozilla.org/projects/firefox/ mozilla-firefox: mozilla-firefox: EOF #VERSION=$(echo $BRANCH | sed 's|latest-mozilla-||g')_${VERSION} cd $PKG makepkg -l y -c n $OUTPUT/mozilla-firefox-${VERSION}_$TIMESTAMP-$ARCH-$BUILD$TAG.txz