Pagina 1 di 1

QT4 slackbuild & slack 13.1 [RISOLTO]

Inviato: mer 26 mag 2010, 18:05
da tgmx
Ciao Ragazzi,
oggi sono passato dalla slack 12.2 alla 13.1 e sto cercando di capire se è il caso o no di utilizzarla anche al lavoro dato che la uso per sviluppare in QT4.

Nella 12.2 mi ero fatto un mio slackbuild per le qt4 che funzionava discretamente:

Codice: Seleziona tutto

#!/bin/sh
CWD=`pwd`
TMP=${TMP:-/tmp/tgz}
PKG=$TMP/package/qt-everywhere-opensource
NAME=qt-everywhere-opensource
VERSION=4.6.2

#COMPILEOPTION=-static
#PACKAGEVERSION=$VERSION$COMPILEOPTION
COMPILEOPTION=
PACKAGEVERSION=$VERSION

CHOST=i486
ARCH=${ARCH:-i686}
BUILD=1lc
SOURCE=ftp://ftp.trolltech.com/qt/source/$NAME-src-$VERSION.tar.gz

if [ ! -e $NAME-src-$VERSION.tar.gz ]; then
wget -c $SOURCE
fi

if [ "$ARCH" = "i486" ]; then
  SLKCFLAGS="-O2 -march=i486 -mtune=i686"
elif [ "$ARCH" = "i686" ]; then
  SLKCFLAGS="-O3 -march=i686 -pipe -fomit-frame-pointer"
elif [ "$ARCH" = "athlon64" ]; then
  SLKCFLAGS="-O2 -march=athlon64 -pipe"
elif [ "$ARCH" = "athlonxp" ]; then
  SLKCFLAGS="-O3 -march=athlon-xp -pipe -fomit-frame-pointer"
elif [ "$ARCH" = "x86_64" ]; then
  SLKCFLAGS="-O2"
elif [ "$ARCH" = "s390" ]; then
  SLKCFLAGS="-O2"
fi

if [ ! -d $TMP ]; then
 mkdir -p $TMP
fi
if [ ! -d $PKG ]; then
 mkdir -p $PKG
fi

cd $TMP
tar xvzf $CWD/$NAME-src-$VERSION.tar.gz

echo -e "\E[0;32m+------------------------------------------+\E[0;0m"
echo -e "\E[0;32m| Start SlackBuild $NAME-$PACKAGEVERSION |\E[0;0m"
echo -e "\E[0;32m+------------------------------------------+\E[0;0m"

cd $NAME-src-$VERSION

find . -perm 666 -exec chmod 644 {} \;
find . -perm 664 -exec chmod 644 {} \;
find . -perm 600 -exec chmod 644 {} \;
find . -perm 444 -exec chmod 644 {} \;
find . -perm 400 -exec chmod 644 {} \;
find . -perm 440 -exec chmod 644 {} \;
find . -perm 777 -exec chmod 755 {} \;
find . -perm 775 -exec chmod 755 {} \;
find . -perm 511 -exec chmod 755 {} \;
find . -perm 711 -exec chmod 755 {} \;
find . -perm 555 -exec chmod 755 {} \;

CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure $COMPILEOPTION -debug -prefix /opt/qt4-$PACKAGEVERSION -qt-gif -no-exceptions -fast -qt-sql-sqlite \
-qdbus -pch -nomake examples -nomake demos -opensource -confirm-license -qt-sql-mysql -qt-sql-sqlite -qt-gif -qt-libjpeg -qt-libpng
make sub-src sub-tools
make install

(mkdir -p $PKG/opt/qt4-$PACKAGEVERSION
 cd /opt/qt4-$PACKAGEVERSION
 cp -a -r * $PKG/opt/qt4-$PACKAGEVERSION
)

(mkdir -p $PKG/usr/lib/pkgconfig
 cd /opt/qt4-$PACKAGEVERSION/lib/pkgconfig
 cp -a * $PKG/usr/lib/pkgconfig
)

mkdir -p $PKG/usr/share/pixmaps
cp -a $CWD/*.png $PKG/usr/share/pixmaps

mkdir -p $PKG/usr/share/applications
cp -a $CWD/*.desktop $PKG/usr/share/applications

mkdir -p $PKG/usr/doc/$NAME-$PACKAGEVERSION
cp -a INSTALL LICENSE* OPENSOURCE-NOTICE.TXT README $PKG/usr/doc/$NAME-$PACKAGEVERSION

( 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
  find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs strip -g 2> /dev/null
)

mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cat $CWD/doinst.sh > $PKG/install/doinst.sh
cat $CWD/slack-desc > $PKG/usr/doc/$NAME-$PACKAGEVERSION/slack-desc
cat $CWD/qt4.SlackBuild > $PKG/usr/doc/$NAME-$PACKAGEVERSION/qt4.SlackBuild

cd $PKG
chown -R root:root .
requiredbuilder -y -v -s $CWD $PKG
makepkg -l y -c n $CWD/qt4-$PACKAGEVERSION-$ARCH-$BUILD.tgz

if [ "$1" = "--cleanup" ]; then
 rm -rf $TMP
fi
Ora vorrei recuperare il lavoro per adattare lo slackbuild all slack 13.1 (quindi al txz).

Ho provato sostituendo semplicemente tgz con txz ma pare non funzioni bene e non campisco perchè.
Lo slackbuild è il seguente:

Codice: Seleziona tutto

#!/bin/sh
CWD=`pwd`
TMP=${TMP:-/tmp/txz}
PKG=$TMP/package/qt-everywhere-opensource
NAME=qt-everywhere-opensource
VERSION=4.6.2

#COMPILEOPTION=-static
#PACKAGEVERSION=$VERSION$COMPILEOPTION
COMPILEOPTION=
PACKAGEVERSION=$VERSION

CHOST=i486
ARCH=${ARCH:-i686}
BUILD=1lc
SOURCE=ftp://ftp.trolltech.com/qt/source/$NAME-src-$VERSION.tar.gz

if [ ! -e $NAME-src-$VERSION.tar.gz ]; then
wget -c $SOURCE
fi

if [ "$ARCH" = "i486" ]; then
  SLKCFLAGS="-O2 -march=i486 -mtune=i686"
elif [ "$ARCH" = "i686" ]; then
  SLKCFLAGS="-O3 -march=i686 -pipe -fomit-frame-pointer"
elif [ "$ARCH" = "athlon64" ]; then
  SLKCFLAGS="-O2 -march=athlon64 -pipe"
elif [ "$ARCH" = "athlonxp" ]; then
  SLKCFLAGS="-O3 -march=athlon-xp -pipe -fomit-frame-pointer"
elif [ "$ARCH" = "x86_64" ]; then
  SLKCFLAGS="-O2"
elif [ "$ARCH" = "s390" ]; then
  SLKCFLAGS="-O2"
fi

if [ ! -d $TMP ]; then
 mkdir -p $TMP
fi
if [ ! -d $PKG ]; then
 mkdir -p $PKG
fi

cd $TMP
tar xvzf $CWD/$NAME-src-$VERSION.tar.gz

echo -e "\E[0;32m+------------------------------------------+\E[0;0m"
echo -e "\E[0;32m| Start SlackBuild $NAME-$PACKAGEVERSION |\E[0;0m"
echo -e "\E[0;32m+------------------------------------------+\E[0;0m"

cd $NAME-src-$VERSION

find . -perm 666 -exec chmod 644 {} \;
find . -perm 664 -exec chmod 644 {} \;
find . -perm 600 -exec chmod 644 {} \;
find . -perm 444 -exec chmod 644 {} \;
find . -perm 400 -exec chmod 644 {} \;
find . -perm 440 -exec chmod 644 {} \;
find . -perm 777 -exec chmod 755 {} \;
find . -perm 775 -exec chmod 755 {} \;
find . -perm 511 -exec chmod 755 {} \;
find . -perm 711 -exec chmod 755 {} \;
find . -perm 555 -exec chmod 755 {} \;

CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure $COMPILEOPTION -debug -prefix /opt/qt4-$PACKAGEVERSION -qt-gif -no-exceptions -fast -qt-sql-sqlite \
-qdbus -pch -nomake examples -nomake demos -opensource -confirm-license -qt-sql-mysql -qt-sql-sqlite -qt-gif -qt-libjpeg -qt-libpng
make sub-src sub-tools
make install

(mkdir -p $PKG/opt/qt4-$PACKAGEVERSION
 cd /opt/qt4-$PACKAGEVERSION
 cp -a -r * $PKG/opt/qt4-$PACKAGEVERSION
)

(mkdir -p $PKG/usr/lib/pkgconfig
 cd /opt/qt4-$PACKAGEVERSION/lib/pkgconfig
 cp -a * $PKG/usr/lib/pkgconfig
)

mkdir -p $PKG/usr/share/pixmaps
cp -a $CWD/*.png $PKG/usr/share/pixmaps

mkdir -p $PKG/usr/share/applications
cp -a $CWD/*.desktop $PKG/usr/share/applications

mkdir -p $PKG/usr/doc/$NAME-$PACKAGEVERSION
cp -a INSTALL LICENSE* OPENSOURCE-NOTICE.TXT README $PKG/usr/doc/$NAME-$PACKAGEVERSION

( 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
  find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs strip -g 2> /dev/null
)

mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cat $CWD/doinst.sh > $PKG/install/doinst.sh
cat $CWD/slack-desc > $PKG/usr/doc/$NAME-$PACKAGEVERSION/slack-desc
cat $CWD/qt4.SlackBuild > $PKG/usr/doc/$NAME-$PACKAGEVERSION/qt4.SlackBuild

cd $PKG
chown -R root:root .
requiredbuilder -y -v -s $CWD $PKG
makepkg -l y -c n $CWD/qt4-$PACKAGEVERSION-$ARCH-$BUILD.txz

if [ "$1" = "--cleanup" ]; then
 rm -rf $TMP
fi
In pratica viene creato un pacchetto ma sembra che dentro non ci finisca tutto, ad esempi il file /opt/qt4-4.6.2/bin/qmake non c'è.

Secondo voi dov'è il problema?

Re: QT4 slackbuild & slack 13.1

Inviato: mer 26 mag 2010, 21:16
da d4z_c0nf
Guarda non ti vorrei dire una fesseria,al di là del tuo problema, le qt in slackware sono già qt4 mi pare dalla 13.0.

Codice: Seleziona tutto

rock@localhost:~$ grep -il qt-4.6.2 /var/log/packages/*
/var/log/packages/qt-4.6.2_2d3d3e5-x86_64-1

Re: QT4 slackbuild & slack 13.1

Inviato: mer 26 mag 2010, 21:27
da tgmx
d4z_c0nf ha scritto:Guarda non ti vorrei dire una fesseria,al di là del tuo problema, le qt in slackware sono già qt4 mi pare dalla 13.0.
Sì lo so ma al lavoro mi serve tenere diverse versioni delle qt (4.6.1, 4.6.2, static, shared ecc...) quindi me le compilo e le metto tutte in /opt/qt4-4.6.x/ .
In questo modo posso tranquillamente fare delle prove, installare e disinstallare a piacere senza compromettere le librerie di sistema... :)

Re: QT4 slackbuild & slack 13.1

Inviato: gio 27 mag 2010, 18:08
da ponce
allora forse ti converrebbe adattare con le tue modifiche l'ultimo slackbuild

http://slackware.osuosl.org/slackware-c ... urce/l/qt/

Re: QT4 slackbuild & slack 13.1

Inviato: gio 27 mag 2010, 18:52
da tgmx
ponce ha scritto:allora forse ti converrebbe adattare con le tue modifiche l'ultimo slackbuild

http://slackware.osuosl.org/slackware-c ... urce/l/qt/
Alla fine il problema era nel fatto che io passavo al "configure":

Codice: Seleziona tutto

-qt-libpng
mentre guardando lo slackbuild della Slack 13.1 viene passato:

Codice: Seleziona tutto

-system-libpng
Quindi adesso ho risolto.
Purtroppo non ho tempo di indagare il problema ma mi resta il dubbio sul perchè con la 12.2 andava bene mentre con la 13.1 no utilizzando sempre la stessa versione di QT4 4.6.2.
La differenza tra -qt-libpng e -system-libpng dovrebbe essere solo nel fatto che la prima usa le librerie PNG che ha nelle QT mentre la seconda usa quelle di sistema... :? Mah..!!

Grazie a tutti!