diff options
Diffstat (limited to 'kqemu/kqemu.SlackBuild')
-rwxr-xr-x | kqemu/kqemu.SlackBuild | 253 |
1 files changed, 0 insertions, 253 deletions
diff --git a/kqemu/kqemu.SlackBuild b/kqemu/kqemu.SlackBuild deleted file mode 100755 index 8db6ea57..00000000 --- a/kqemu/kqemu.SlackBuild +++ /dev/null @@ -1,253 +0,0 @@ -#!/bin/bash -# -# slackbuild for Qemu, by Rudson R. Alves -# requires: qemu -# tested: kqemu-1.3.0pre9 - -CWD=`pwd` - -if [ -e "/root/.slackbuildrc" ]; then - source /root/.slackbuildrc -elif [ -e "/etc/slackbuildrc" ]; then - source /etc/slackbuildrc -fi - -# -------- Variáveis de controle de versão -------------- -# Nome da fonte para a qual o slackbuild foi construído e -# o seu md5sum -SRC_ORIG="kqemu-1.3.0pre9.tar.gz" -MD5_ORIG="27888c3220844ad360a6a23345fa1bcb" -PACKAGE_ORIG=`echo $SRC_ORIG | sed -r 's/(.*)-(.*)\.(.*\..*)$/\1/'` -VERSION_ORIG=`echo $SRC_ORIG | sed -r 's/(.*)-(.*)\.(.*\..*)$/\2/'` - EXTENSION=`echo $SRC_ORIG | sed -r 's/(.*)-(.*)\.(.*\..*)$/\3/'` -# Correçar para VERSION pré... -VERSION_ORIG=`echo ${VERSION_ORIG/pre*}` - -# ------- Códigos de erro para o createpkg -------------- -ERROR_WGET=31; ERROR_MAKE=32; ERROR_INSTALL=33 -ERROR_MD5=34; ERROR_CONF=35; ERROR_HELP=36 -ERROR_TAR=37; ERROR_MKPKG=38; ERROR_GPG=39 -ERROR_PATCH=40; ERROR_VCS=41 - -# --------- Inicializa variáveis de entrada ------------- -PACKAGE=$PACKAGE_ORIG -ARCH=${ARCH:=i468} -SRC_DIR=${SRC:=$CWD} -if [ "$VERSION" != "" ]; then - # Constroi nome do pacote - SRC=$PACKAGE-$VERSION.$EXTENSION -else - # Remove nome e versão do pacote - SRC=$SRC_ORIG - VERSION=$VERSION_ORIG -fi -BUILD=${BUILD:=1rud} -TMP=${TMP:=/tmp} -REPOS=${REPOS:=$TMP} -PREFIX=${PREFIX:=/usr} -OPTCONF=${OPTCONF:=""} -MD5=${MD5:=$MD5_ORIG} -URL=${URL:="http://fabrice.bellard.free.fr/qemu/$SRC"} -KVERSION=`uname -r | tr - _ ` - -# ---------------- SlackBuild Help ---------------------- -if [ "$1" = "--help" -o "$1" = "help" ]; then - echo -e "\033[01;32m -Use: var1=\"value 1\" var2=\"value 2\" ... <package>.SlackBuild -where: - ARCH=machine arch (i386, i486, i686, ...) - VERSION=package version - BUILD=package build version (default 1rud) - SRC=source name of package - SRC_DIR=source directory (default $PWD) - TMP=temporary directory (default /tmp) - REPOS=repository directory - PREFIX=prefix from install package - OPTCONF=options to pass from ./configure. To configure - help, use OPTCONF=\"--help\" - MD5=md5sum from package source - URL=url from package source -\033[m" - exit $ERROR_HELP -fi - -# ---------------- Download fontes ---------------------- -# Fonte a ser compilada, com o path -SOURCE=$SRC_DIR/qemu/$SRC -mkdir -p $SRC_DIR/qemu 2>/dev/null -# Verifica existência do pacote em $SRC em $SRC_DIR -if [ ! -e $SOURCE ]; then - echo -e "\n\n\033[01;32m Download $PACKAGE \n\033[m" - wget "$URL" -P "$SRC_DIR/qemu/" - # Verifica se o - if [ $? -ne 0 ]; then - echo -e "\n\n\033[01;31m No such source file in $URL\n\033[m" - exit $ERROR_WGET - fi -fi - -# ------------------ Checa md5sum ----------------------- -if [ "$SRC_ORIG" = "$SRC" -o "$MD5" != "$MD5_ORIG" -a "$MD5" != "no" ]; then - SUM=`md5sum $SOURCE | awk '{print $1}'` - if [ "$SUM" != "$MD5" ]; then - echo -e "\n\n\033[01;31m MD5SUM error: run Slackbuild again \n\033[m" - echo -e "\033[01;31m Remove $PACKAGE from $SRC_DIR and start Slackbuild again or use MD5=\"no\" \n\033[m" - exit $ERROR_MD5 - fi - echo -e "\n\n\033[01;32m Md5sum Ok \n\033[m" -fi - -# ----------------- ARCH e LIBDIR ----------------------- -# Libdir, para arch x86_64 -LIBDIR=$PREFIX/lib -# Seleciona flags para o compilador -if [ "$ARCH" = "i386" ]; then - SLKCFLAGS="-O2 -march=i386 -mcpu=i686" -elif [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mcpu=i686" -elif [ "$ARCH" = "i686" ]; then - SLKCFLAGS="-O2 -march=i686" -elif [ "$ARCH" = "s390" ]; then - SLKCFLAGS="-O2" -elif [ "$ARCH" = "x86_64" ]; then - SLKCFLAGS="-O2" - LIBDIR="$PREFIX/lib64" -fi - -# -------------- Desempacota fontes --------------------- -# Desempacota fontes em $TMP/$PACKAGE-source -PKG_SRC=$TMP/$PACKAGE-source -rm -rf $PKG_SRC 2>/dev/null -mkdir -p $PKG_SRC -# Desempacota $SOURCE em $TMP/$PACKAGE-source -tar xvf $SOURCE -C $PKG_SRC 2>/dev/null -if [ $? -ne 0 ]; then - echo -e "\n\n\033[01;31m $SOURCE file error \n\033[m" - exit $ERROR_TAR -fi -# Pega o nome do diretório das fontes independente de sua -# estrutura (package-version...) -PKG_DIR="$PKG_SRC/$( ls $PKG_SRC/ )" -cd $PKG_DIR - -# -------------- Configura programa --------------------- -# Configura programa -echo -e "\n\n\033[01;32m CFLAGS=\"$SLKCFLAGS\" ./configure --prefix=$PREFIX --libdir=$LIBDIR $OPTCONF \n\033[m" -CFLAGS="$SLKCFLAGS" ./configure --prefix=$PREFIX --libdir=$LIBDIR $OPTCONF -if [ $? -ne 0 -o "$OPTCONF" = "--help" ]; then - echo -e "\n\n\033[01;31m Configure error \n\033[m" - exit $ERROR_CONF -fi - -# ---------------- Compila programa --------------------- -echo -e "\n\n\033[01;32m make -j3 \n\033[m" -make -j3 -if [ $? -ne 0 ]; then - echo -e "\n\n\033[01;31m Build error \n\033[m" - exit 0 -fi - -# ------------- Diretório Temporário -------------------- -# Cria diretório temporário para construção do pacote -PKG=$TMP/$PACKAGE -rm -rf $PKG -mkdir -p $PKG - -# --------------- Instala programa ---------------------- -# #### Instalação de binários ##### -# Instala programa em diretório temporário -echo -e "\n\n\033[01;32m Install $PACKAGE in $PKG \n\033[m" - -# Find module name -if [ -f kqemu.ko ] ; then - MODULE=kqemu.ko -else - MODULE=kqemu.o -fi - -# Find kernel install path -KERNEL_PATH="/lib/modules/`uname -r`" - -mkdir -p "$PKG/$KERNEL_PATH/misc" -cp "$MODULE" "$PKG/$KERNEL_PATH/misc" -# #### Fim da instalação ##### - -# ----------------- Stripa código ----------------------- -cd $PKG -find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null -find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null - -# ---------------- Cria doinstall ---------------------- -# Script de instalação -mkdir $PKG/install - -echo -e "\n\n\033[01;32m doinst.sh \n\033[m" -cat << EOF_DONINST > install/doinst.sh -#!/bin/sh -set +e -MODFILE=/etc/rc.d/rc.local - -/sbin/depmod -a - -# Create the kqemu device. No special priviledge is needed to use kqemu. -DEVICE="/dev/kqemu" -rm -f \$DEVICE -mknod \$DEVICE c 250 0 -chmod 666 \$DEVICE - -MODULE=\$(grep 'kqemu' \$MODFILE) -if [ "\$MODULE" = "" ]; then - echo "# Loading kqemu module" >> \$MODFILE - echo "/sbin/modprobe kqemu" >> \$MODFILE - echo "echo 1024 > /proc/sys/dev/rtc/max-user-freq" >> \$MODFILE -else - echo -e "\nCheck kqemu mudules install in \$MODFILE\n" -fi -echo "Loading kqemu module" -/sbin/modprobe kqemu -echo 1024 > /proc/sys/dev/rtc/max-user-freq -EOF_DONINST - -# ---------------- Cria slack-desc ---------------------- -# Slack-desc -echo -e "\n\n\033[01;32m slack-desc \n\033[m" -cat << EOF_SLACK > 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------------------------------------------------------| -kqemu: KQEMU package by Rudson R. Alves <rudsonalves[a]yahoo.com.br> -kqemu: -kqemu: QEMU Accelerator (KQEMU) is a driver allowing the QEMU PC emulator to -kqemu: run much faster when emulating a PC on an x86 host. -kqemu: -kqemu: KQEMU is supported on x86 or x86_64 Linux 2.4 or 2.6 hosts. Experimental -kqemu: versions are available for FreeBSD and Windows NT/2000/2003/XP. -kqemu: -kqemu: -kqemu: -kqemu: -EOF_SLACK - -# ----------------- Documentações ----------------------- -# Criar diretório de documentação -PKG_DOC=$PKG/usr/doc/$PACKAGE-$VERSION -mkdir -p $PKG_DOC -cp $PKG_DIR/{Changelog,LICENSE,README} $PKG_DOC - -# --------------- Constroi o pacote --------------------- -echo -e "\n\n\033[01;32m makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz \n\033[m" -makepkg -c y -l y $REPOS/$PACKAGE-$VERSION"_"$KVERSION-$ARCH-$BUILD.tgz -if [ $? -ne 0 ]; then - exit $ERROR_MKPKG -fi - -# ----------- Remove arquivos temporários --------------- -if [ "$CLEANUP" = "yes" ]; then - echo -e "\n\n\033[01;32m Remove files... \n\033[m" - rm -rf $PKG $PKG_SRC -fi |