#!/usr/bin/bash # This SlackBuild like script is designed for Vector Linux packages by exeterdad. # This script assumes it will be launched within "/NAME/VERSION/src" dir. With all sources in "src" # Your Vector Linux .tlz package, slack-desc, and slack-required will be found in "VERSION" dir. # The extraction and build will be in a temp dir created in "NAME" dir, and then removed on exit. # Comment out last line to keep this dir intact. NAME="firefox-langpack" VERSION=2.0.0.6 ARCH=i586 BUILD=1vl58 VL_PACKAGER=exeterdad CWD=`pwd` cd ../ RELEASEDIR=`pwd` cd $CWD mkdir $RELEASEDIR/tmp TMP=$RELEASEDIR/tmp PKG=$TMP/package-$NAME if [ $UID != 0 ]; then echo "You need to be root to run this script." exit fi if [ ! -x /usr/bin/requiredbuilder ]; then echo "Requiredbuilder not installed, or not executable." exit fi export CFLAGS="-O2 -march=i586 -mtune=i686" export CXXFLAGS="-O2 -march=i586 -mtune=i686" rm -rf $PKG mkdir -p $PKG cd $TMP rm -rf $NAME-$VERSION tar xjf $CWD/firefox-langpack-all-2.0.0.6.tar.bz2 || exit 1 for langpack in `ls firefox-langpack-all/*.xpi`; do language=`basename $langpack .xpi` extensiondir=$PKG/usr/lib/firefox-2.0.0.6/extensions/langpack-$language@firefox.mozilla.org mkdir -p $extensiondir unzip $langpack -d $extensiondir find $extensiondir -type f | xargs chmod 644 # generate slack-desc mkdir $PKG/install SLACKDESC=$NAME-$language SUMMARY=`grep em:name $extensiondir/install.rdf | cut -f 2 -d \"` AUTHOR=`grep em:creator $extensiondir/install.rdf | cut -f 2 -d \"` echo "${SLACKDESC}: ${SLACKDESC} ($SUMMARY)" > $PKG/install/slack-desc echo "${SLACKDESC}: " >> $PKG/install/slack-desc echo "${SLACKDESC}: $SUMMARY for Firefox-$VERSION" >> $PKG/install/slack-desc echo "${SLACKDESC}: " >> $PKG/install/slack-desc echo "${SLACKDESC}: This package makes this Firefox run in your" >> $PKG/install/slack-desc echo "${SLACKDESC}: native language. If your Vectorlinux locale" >> $PKG/install/slack-desc echo "${SLACKDESC}: is set to $language, no configuration is needed." >> $PKG/install/slack-desc echo "${SLACKDESC}: Just restart your browser." >> $PKG/install/slack-desc echo "${SLACKDESC}: License: GPL" >> $PKG/install/slack-desc echo "${SLACKDESC}: Author: $AUTHOR" >> $PKG/install/slack-desc echo "${SLACKDESC}: Website http://www.mozilla.org" >> $PKG/install/slack-desc # Make a message board formatted "annouce post" to save much time touch $RELEASEDIR/ANNOUNCE echo "[b]" >> $RELEASEDIR/ANNOUNCE echo "$NAME-$language-$VERSION" >> $RELEASEDIR/ANNOUNCE echo "[/b]" >> $RELEASEDIR/ANNOUNCE echo "[quote]" >> $RELEASEDIR/ANNOUNCE cat $PKG/install/slack-desc >> $RELEASEDIR/ANNOUNCE echo "[/quote]" >> $RELEASEDIR/ANNOUNCE echo "[b]" >> $RELEASEDIR/ANNOUNCE echo "/$NAME-$language-$VERSION-$ARCH-$BUILD.tlz" >> $RELEASEDIR/ANNOUNCE echo "[/b]" >> $RELEASEDIR/ANNOUNCE echo "" >> $RELEASEDIR/ANNOUNCE mkdir -p $PKG/usr/lib/firefox-2.0.0.6/defaults/pref # Append build infos to slack-desc that will be packaged. cat >> $PKG/install/slack-desc << EOF #---------------------------------------- BUILDDATE: `date` PACKAGER: $VL_PACKAGER HOST: `uname -srm` DISTRO: `cat /etc/vector-version` CFLAGS: $CFLAGS CONFIGURE: N/A EOF cat > $PKG/usr/lib/firefox-2.0.0.6/defaults/pref/vl-langpack.js << EOF // This forces Firefox language to switch to locale of machine // if available. pref("intl.locale.matchOS", true); EOF cat > $PKG/install/slack-required << EOF firefox >= 2.0.0.6-i586-4vl58 EOF cat $CWD/doinst.sh > $PKG/install/doinst.sh cd $PKG echo "Creating package $NAME-$language-$VERSION-$ARCH-$BUILD.tlz..." makepkg -l y -c n $RELEASEDIR/$NAME-$language-$VERSION-$ARCH-$BUILD.tlz cd $TMP rm -rf $extensiondir done rm -rf firefox-langpack-all cd $CWD echo "Cleaning up temp files..." rm -rf $TMP echo "Done"