QT4 slackbuild & slack 13.1 [RISOLTO]

Postate qui se avete consigli per migliorare i pacchetti disponibili in questo sito o se avete problemi con installazione, funzionamento o altro.

Moderatore: Staff

Regole del forum
1) Citare in modo preciso il nome del pacchetto.
2) Specificare se discussione/suggerimento o richiesta d'aiuto.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
Avatar utente
tgmx
Linux 4.x
Linux 4.x
Messaggi: 1336
Iscritto il: ven 28 apr 2006, 14:40
Slackware: 14.1
Desktop: KDE 4
Località: Ancona

QT4 slackbuild & slack 13.1 [RISOLTO]

Messaggio 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?
Ultima modifica di tgmx il ven 28 mag 2010, 8:13, modificato 2 volte in totale.

Avatar utente
d4z_c0nf
Packager
Packager
Messaggi: 1296
Iscritto il: mar 14 mar 2006, 18:07
Nome Cognome: Rocco Aliberti
Slackware: 14.2-current64
Kernel: 4.14.73
Desktop: awesomeWM
Località: Pinerolo

Re: QT4 slackbuild & slack 13.1

Messaggio 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

Avatar utente
tgmx
Linux 4.x
Linux 4.x
Messaggi: 1336
Iscritto il: ven 28 apr 2006, 14:40
Slackware: 14.1
Desktop: KDE 4
Località: Ancona

Re: QT4 slackbuild & slack 13.1

Messaggio 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... :)

Avatar utente
ponce
Iper Master
Iper Master
Messaggi: 3123
Iscritto il: mer 5 mar 2008, 16:45
Nome Cognome: Matteo Bernardini
Slackware: slackware64-current
Kernel: 7.0.12
Desktop: lxde
Località: Pisa
Contatta:

Re: QT4 slackbuild & slack 13.1

Messaggio da ponce »

allora forse ti converrebbe adattare con le tue modifiche l'ultimo slackbuild

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

Avatar utente
tgmx
Linux 4.x
Linux 4.x
Messaggi: 1336
Iscritto il: ven 28 apr 2006, 14:40
Slackware: 14.1
Desktop: KDE 4
Località: Ancona

Re: QT4 slackbuild & slack 13.1

Messaggio 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!

Rispondi