#!/bin/sh #script by kingdomcome modified by jls_legalize . /etc/init.d/tc-functions checkroot export CFLAGS="-march=i486 -mtune=i686 -Os -pipe" export CXXFLAGS="-march=i486 -mtune=i686 -Os -pipe -fno-asynchronous-unwind-tables" export LDFLAGS="-Wl,-O1" TODAY=`date +%Y/%m/%d` PACKAGE="xine-lib" SEP="-" VERSION="1.2.2" MIRROR="http://downloads.sourceforge.net/project/xine/xine-lib/$VERSION" DESCRIPTION="xine is a free (gpl-licensed) high-performance, portable and reusable multimedia playback engine" AUTHORS="Xine Project Team" HOMEPAGE="http://www.xine-project.org/home" LICENSE="GPLv2" ME="jls_legalize (unsenepopiu at tin dot it)" KERNEL=`uname -r` DEPS="faad.tcz \ liba52.tcz \ libdca.tcz \ libmad.tcz \ libbluray.tcz \ libcdio.tcz \ vcdimager.tcz \ flac.tcz \ libavcodec54.tcz \ libpostproc52.tcz" BUILDDEPS="perl5.tcz \ libpostproc52.tcz \ ffmpeg-0.11-dev.tcz \ ffmpeg-0.11.tcz \ vcdimager-dev.tcz \ libxcb-dev.tcz \ Xorg-7.6-dev.tcz \ aalib-dev.tcz \ GraphicsMagick-dev.tcz \ linux-headers-$KERNEL.tcz \ libdca-dev.tcz \ libdca.tcz \ ImageMagick-dev.tcz \ liba52-dev.tcz \ libbluray-dev.tcz \ esound-dev.tcz \ esound.tcz \ faad-dev.tcz \ faad.tcz \ flac-dev.tcz \ flac.tcz \ gdk-pixbuf-dev.tcz \ gdk-pixbuf.tcz \ gettext.tcz \ graphics-libs-1.tcz \ graphics-libs-1-dev.tcz \ libcdio-dev.tcz \ libcdio.tcz \ libmpeg2-dev.tcz \ libmpeg2.tcz \ libmad-dev.tcz \ libmad.tcz \ libxcb-dev.tcz \ libxcb.tcz \ jack.tcz \ samba3.tcz \ linux-3.0.1_api_headers.tcz \ jack-dev.tcz \ libtool-dev.tcz \ vcdimager-dev.tcz \ librsvg-dev.tcz" FLAGS="--prefix=/usr/local \ --without-pulseaudio \ --disable-gnomevfs \ --disable-musepack" DOCS="usr/local/share/doc/xine-lib" TCUSER=`cat /etc/sysconfig/tcuser` SRC="${PACKAGE}${SEP}${VERSION}.tar.xz" SRCNOXZ="${PACKAGE}${SEP}${VERSION}.tar" THISDIR=`pwd` PKGDIR="${THISDIR}/${PACKAGE}" SRCDIR="${PKGDIR}/${PACKAGE}${SEP}${VERSION}" TCEDIR=/etc/sysconfig/tcedir COPYING="COPYING" #CURRENT="${TODAY} Updated to ${VERSION}" CURRENT="${TODAY} Rebuilt" clean(){ rm -rf ${THISDIR}/${PACKAGE} } environment(){ for each in compiletc.tcz ${DEPS} ${BUILDDEPS}; do APPNAME=$(getbasefile "$each" 1) if [ ! -f /usr/local/tce.installed/"${APPNAME}" ]; then if [ ! -e ${TCEDIR}/optional/${each} ]; then sudo -u ${TCUSER} tce-load -w ${each} fi sudo -u ${TCUSER} tce-load -i ${TCEDIR}/optional/${each} fi done [ -e ${PKGDIR}/tmp ] || mkdir -p ${PKGDIR}/tmp cd ${PKGDIR} [ -e ${SRCNOXZ} ] || (wget ${MIRROR}/${SRC} && xz -d ${SRC} && tar xf ${SRCNOXZ}) } buildit(){ cd ${SRCDIR} make clean ./configure ${FLAGS} || exit 1 echo -n "Press Enter key." read gagme make || exit 1 make DESTDIR=${PKGDIR}/tmp install-strip || exit 1 } workit(){ cd ${PKGDIR}/tmp rm -rf ${DOCS} mkdir -p usr/local/share/doc/License cp ${SRCDIR}/${COPYING} usr/local/share/doc/License/${PACKAGE}.txt find usr/ | xargs file | grep "executable" | grep ELF | grep "not stripped" | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null find usr/ | xargs file | grep "shared object" | grep ELF | grep "not stripped" | cut -f 1 -d : | xargs strip -g 2> /dev/null #locale mkdir -p ../locale/usr/local/share/locale mv usr/local/share/locale ../locale/usr/local/share #dev for I in $(find `ls` -name *.h); do export DIR=`dirname "$I"`; [ -d ../dev/"$DIR" ] || mkdir -p ../dev/"$DIR"; mv "$I" ../dev/"$DIR"/; done for I in $(find `ls` -name *.a); do export DIR=`dirname "$I"`; [ -d ../dev/"$DIR" ] || mkdir -p ../dev/"$DIR"; mv "$I" ../dev/"$DIR"/; done for I in $(find `ls` -name *.la); do export DIR=`dirname "$I"`; [ -d ../dev/"$DIR" ] || mkdir -p ../dev/"$DIR"; mv "$I" ../dev/"$DIR"/; done for I in $(find `ls` -name *.pc); do export DIR=`dirname "$I"`; [ -d ../dev/"$DIR" ] || mkdir -p ../dev/"$DIR"; mv "$I" ../dev/"$DIR"/; done rm -rf usr/local/include rm -rf usr/local/lib/pkgconfig } getinfo(){ cd ${PKGDIR} getMirror [ -e ${PACKAGE}.tcz.info ] && rm ${PACKAGE}.tcz.info tce-fetch.sh "${PACKAGE}.tcz.info" [ -e ${PACKAGE}-dev.tcz.info ] && rm ${PACKAGE}-dev.tcz.info tce-fetch.sh "${PACKAGE}-dev.tcz.info" [ -e ${PACKAGE}-locale.tcz.info ] && rm ${PACKAGE}-locale.tcz.info tce-fetch.sh "${PACKAGE}-locale.tcz.info" } packageit(){ if [ ! -f /usr/local/tce.installed/squashfs-tools-4.x ]; then if [ ! -e ${TCEDIR}/optional/squashfs-tools-4.x.tcz ]; then sudo -u ${TCUSER} tce-load -w squashfs-tools-4.x.tcz fi su ${TCUSER} -c "tce-load -is squashfs-tools-4.x.tcz" fi cd ${PKGDIR}/tmp [ -e ../${PACKAGE}.tcz.list ] && rm ../${PACKAGE}.tcz.list for dir in `ls -A`; do find ${dir} -not -type d | sort >> ../${PACKAGE}.tcz.list done [ -e ../${PACKAGE}.tcz ] && rm ../${PACKAGE}.tcz mksquashfs . ../${PACKAGE}.tcz cd ${PKGDIR} md5sum ${PACKAGE}.tcz > ${PACKAGE}.tcz.md5.txt [ -e ${PACKAGE}.tcz.dep ] && rm ${PACKAGE}.tcz.dep for each in ${DEPS}; do echo ${each} >> ${PACKAGE}.tcz.dep; done size=`du -h ${PACKAGE}.tcz | cut -f 1` sed -i "s/Version:.*/Version: ${VERSION}/" ${PACKAGE}.tcz.info sed -i "s/Size:.*/Size: ${size}/" ${PACKAGE}.tcz.info sed -i "s/Current:/ /" $PACKAGE.tcz.info echo "Current: $CURRENT" >> $PACKAGE.tcz.info #locale cd ${PKGDIR}/locale for dir in `ls -A`; do find ${dir} -not -type d | sort >> ../${PACKAGE}-locale.tcz.list done [ -e ../${PACKAGE}-locale.tcz ] && rm ../${PACKAGE}-locale.tcz mksquashfs . ../${PACKAGE}-locale.tcz cd ${PKGDIR} md5sum ${PACKAGE}-locale.tcz > ${PACKAGE}-locale.tcz.md5.txt [ -f "${PACKAGE}-locale.tcz.dep" ] && rm -f ${PACKAGE}-locale.tcz.dep echo ${PACKAGE}.tcz > ${PACKAGE}-locale.tcz.dep size=`du -h ${PACKAGE}-locale.tcz | cut -f 1` sed -i "s/Version:.*/Version: ${VERSION}/" ${PACKAGE}-locale.tcz.info sed -i "s/Size:.*/Size: ${size}/" ${PACKAGE}-locale.tcz.info sed -i "s/Current:/ /" $PACKAGE-locale.tcz.info echo "Current: $CURRENT" >> $PACKAGE-locale.tcz.info #dev cd ${PKGDIR}/dev [ -e ../${PACKAGE}-dev.tcz.list ] && rm ../${PACKAGE}-dev.tcz.list for dir in `ls -A`; do find ${dir} -not -type d | sort >> ../${PACKAGE}-dev.tcz.list done [ -e ../${PACKAGE}-dev.tcz ] && rm ../${PACKAGE}-dev.tcz mksquashfs . ../${PACKAGE}-dev.tcz cd ${PKGDIR} md5sum ${PACKAGE}-dev.tcz > ${PACKAGE}-dev.tcz.md5.txt [ -f "${PACKAGE}-dev.tcz.dep" ] && rm -f ${PACKAGE}-dev.tcz.dep echo ${PACKAGE}.tcz > ${PACKAGE}-dev.tcz.dep for each in ${BUILDDEPS}; do echo ${each} >> ${PACKAGE}-dev.tcz.dep; done sed -i "s/$KERNEL/KERNEL/" ${PACKAGE}-dev.tcz.dep size=`du -h ${PACKAGE}-dev.tcz | cut -f 1` sed -i "s/Version:.*/Version: ${VERSION}/" ${PACKAGE}-dev.tcz.info sed -i "s/Size:.*/Size: ${size}/" ${PACKAGE}-dev.tcz.info sed -i "s/Current:/ /" $PACKAGE-dev.tcz.info echo "Current: $CURRENT" >> $PACKAGE-dev.tcz.info } checkit(){ sudo chown ${TCUSER}:staff ${THISDIR} cd ${PKGDIR} if [ ! -f /usr/local/tce.installed/submitqc4 ]; then if [ ! -e ${TCEDIR}/optional/submitqc4 ]; then sudo -u ${TCUSER} tce-load -w submitqc4 fi su ${TCUSER} -c "tce-load -is submitqc4" fi submitqc4 } copy2tce(){ cd ${PKGDIR} cp ${PACKAGE}.tcz "${TCEDIR}"/optional cp ${PACKAGE}.tcz.md5.txt "${TCEDIR}"/optional cp ${PACKAGE}.tcz.dep "${TCEDIR}"/optional cp ${PACKAGE}-locale.tcz "${TCEDIR}"/optional cp ${PACKAGE}-locale.tcz.md5.txt "${TCEDIR}"/optional cp ${PACKAGE}-locale.tcz.dep "${TCEDIR}"/optional cp ${PACKAGE}-dev.tcz "${TCEDIR}"/optional cp ${PACKAGE}-dev.tcz.md5.txt "${TCEDIR}"/optional cp ${PACKAGE}-dev.tcz.dep "${TCEDIR}"/optional } tarit(){ cd ${PKGDIR} cp ../${PACKAGE}.tcbuild . if [ ! -f /usr/local/tce.installed/xz ]; then if [ ! -e ${TCEDIR}/optional/xz ]; then sudo -u ${TCUSER} tce-load -w xz fi su ${TCUSER} -c "tce-load -is xz" fi [ -e ../${PACKAGE}.tar ] && rm ../${PACKAGE}.tar tar cvf ../${PACKAGE}$SEP$VERSION.tar \ ${PACKAGE}.tcz* \ ${PACKAGE}-locale.tcz* \ ${PACKAGE}-dev* \ ${PACKAGE}.tcbuild \ ${SRCNOXZ} cd ${THISDIR} [ -f ${PACKAGE}$SEP$VERSION.tar.xz ] && rm ${PACKAGE}$SEP$VERSION.tar.xz xz ${PACKAGE}$SEP$VERSION.tar } #here we go #clean #environment #echo -n "Next step buildit. Press Enter key." #read gagme #buildit #echo -n "Next step workit. Press Enter key." #read gagme #workit #echo -n "Next step getinfo. Press Enter key." #read gagme #getinfo #echo -n "Next step packageit. Press Enter key." #read gagme #packageit #echo -n "Next step checkit. Press Enter key." #read gagme checkit echo -n "Next step tarit. Press Enter key." read gagme copy2tce tarit