Pagina 1 di 1
SlackBuild per Thunderbird 3 x86_64
Inviato: gio 29 apr 2010, 21:58
da hal9000
Ho creato lo script per Thunderbird 3.0.4 modificando quello presente nel repository ma anche se tutto sembra andare a buon fine il programma non parte e lanciandolo da console da un errore : /usr/lib64/thunderbird-bin file not found ma con ls -l vedo il file ed è eseguibile da tutti. Ecco lo script modificato:
Codice: Seleziona tutto
!/bin/sh
# Heavily based on the Slackware 13.0 SlackBuild
#
# This is not a source build script. Rather, it builds a Slackware
# package from the official binary tarball available from mozilla.org.
# Using the official binaries seems like the most direct way to satify
# the Mozilla project's concerns about quality control (and thus to
# provide the most quality-certified package possible), and therefore
# be able to use the official trademarks and logos.
#
# Thanks to the folks at the Mozilla Foundation for permission to
# distribute this, and for all the great work! :-)
CWD=`pwd`
TMP=${TMP:-/tmp/txz}
NAME=thunderbird
PKG=$TMP/package/$NAME
VERSION=3.0.4
ARCH=x86_64
BUILD=1az
if [ "$ARCH" = "x86_64" ]; then
LIBDIRSUFFIX="64"
fi
if [ ! -d $TMP ]; then
mkdir -p $TMP
fi
rm -rf $PKG
mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}
( cd $PKG/usr/lib${LIBDIRSUFFIX}
tar xjvf $CWD/$NAME-$VERSION.tar.bz2 || exit 1
chown -R root:root .
mv thunderbird thunderbird-$VERSION
ln -sf thunderbird-$VERSION thunderbird
cd thunderbird-$VERSION
if [ ! $? = 0 ]; then
exit 1
fi
)
if [ ! $? = 0 ]; then
exit 1
fi
mkdir -p $PKG/usr/bin
( cd $PKG/usr/bin
ln -sf /usr/lib${LIBDIRSUFFIX}/thunderbird-$VERSION/thunderbird .
)
mkdir -p $PKG/usr/share/applications
cat $CWD/mozilla-thunderbird.desktop > $PKG/usr/share/applications/mozilla-thunderbird.desktop
mkdir -p $PKG/usr/share/pixmaps
cat $CWD/thunderbird.png > $PKG/usr/share/pixmaps/thunderbird.png
# These files/directories are usually created if Thunderbird is run as root, which on many
# systems might (and possibly should) be never. Therefore, if we don't see them we'll
# put stubs in place to prevent startup errors.
( cd $PKG/usr/lib${LIBDIRSUFFIX}/thunderbird-$VERSION
if [ -d chrome ]; then
if [ ! -r chrome/app-chrome.manifest ]; then
echo > chrome/app-chrome.manifest
fi
fi
if [ ! -d updates ]; then
mkdir -p updates/0
fi
)
mkdir $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
makepkg -l y -c n $CWD/mozilla-thunderbird-it-$VERSION-$ARCH-$BUILD.txz
if [ "$1" = "--cleanup" ]; then
rm -rf $TMP/mozilla-thunderbird-it-$VERSION
rm -rf $PKG
fi
Il .tar.bz2 l' ho scaricato direttamente dal sito di Mozilla. Nessuna idea di dove sbaglio?
Re: SlackBuild per Thunderbird 3 x86_64
Inviato: gio 29 apr 2010, 23:57
da phobos3576
Se la tua intenzione era quella di ricompilare da sorgente, tieni presente che lo SlackBuild che hai usato in realtà non fa altro che prendere il file binario di Thunderbird e trasformarlo in un package.
Re: SlackBuild per Thunderbird 3 x86_64
Inviato: ven 30 apr 2010, 10:37
da hal9000
Ho provato anche ad usare quello di Pat per la Current ma la compilazione si blocca su Cairo che nella mia 13.0 è regolarmente installato ma sicuramente è diverso da quello della Current. Dato che non dorebbero esserci problemi nell' installare Thunderbird 3.0.4 anche sulla 13.0 come pensi mi conviene procedere?
Re: SlackBuild per Thunderbird 3 x86_64
Inviato: ven 30 apr 2010, 19:33
da phobos3576
Cairo è stata aggiornata da Pat alla versione 1.8.8 anche sulla 13.
Per la 64 bit la trovi in un qualunque repository ufficiale nel ramo patches/packages; ad esempio, puoi prelevarla da:
ftp://ftp.slackware.at/slackware64-13.0 ... /packages/
E' importante che l'installazione di Cairo avvenga dalla modalità testo; altrimenti, rischi di mandare in crash KDE.
Per ricompilare Thunderbird a 64 bit preleva l'intera directory mozilla-thunderbird dal ramo source/xap della current64; ad esempio:
ftp://ftp.slackware.at/slackware64-current/source/xap/
Se vuoi la localizzazione in italiano, devi modificare lo SlackBuild; questa è la versione modificata da me:
Codice: Seleziona tutto
#!/bin/sh
# Copyright 2008, 2009 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
#
# 1. Redistributions of this script must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# Thanks to the folks at the Mozilla Foundation for permission to
# distribute this, and for all the great work! :-)
# This is a source build script. Unfortunately, there is no official
# binary tarball available for x86_64
# SlackBuild mirror
# ftp://ftp.heanet.ie/mirrors/ftp.slackware.com/pub/slackware/slackware64-current/source/xap/
# Thunderbird source
# http://releases.mozilla.org/pub/mozilla.org/thunderbird/releases
# Thunderbird language
# http://hg.mozilla.org/releases/l10n-mozilla-1.9.1/it/
#set -e
LOCTAG=it
LOCNAME=it-196fb5feda7c
LOCFILE=it-196fb5feda7c.tar.bz2
VERSION=$(basename $(ls thunderbird-*.tar.bz2 | cut -d - -f 2 | rev | cut -f 3- -d . | rev) .source)
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) export ARCH=i486 ;;
arm*) export ARCH=arm ;;
# Unless $ARCH is already set, use uname -m for all other archs:
*) export ARCH=$( uname -m ) ;;
esac
fi
BUILD=${BUILD:-1}
MOZVERS=${MOZVERS:-1.9.1}
NUMJOBS=${NUMJOBS:-" -j2 "}
# Try to be gentle to the compiler, no optimizations:
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "s390" ]; then
SLKCFLAGS="-O"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O -fPIC"
LIBDIRSUFFIX="64"
elif [ "$ARCH" = "arm" ]; then
SLKCFLAGS="-O2 -march=armv4 -mtune=xscale"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "armel" ]; then
SLKCFLAGS="-O2 -march=armv4t"
LIBDIRSUFFIX=""
fi
CWD=$(pwd)
TMP=${TMP:-/tmp}
PKG=$TMP/package-mozilla-thunderbird
rm -rf $PKG
mkdir -p $TMP $PKG/usr/lib${LIBDIRSUFFIX}
cd $TMP
rm -rf comm-$MOZVERS
tar xvf $CWD/thunderbird-$VERSION.source.tar.bz2 || exit 1
cd comm-$MOZVERS || exit 1
mkdir l10n
cd l10n
tar xvf $CWD/$LOCFILE
mv $LOCNAME $LOCTAG
cd ..
# Fix a long standing bug that's prevented staying current on GTK+.
# Thanks to the BLFS folks. :-)
cat << EOF >> layout/build/Makefile.in
ifdef MOZ_ENABLE_CANVAS
EXTRA_DSO_LDOPTS += \$(XLDFLAGS) -lX11 -lXrender
endif
EOF
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
-exec chmod 755 {} \; -o \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
export MOZILLA_OFFICIAL="1" &&
export BUILD_OFFICIAL="1" &&
export MOZ_PHOENIX="1" &&
export CFLAGS="$SLKCFLAGS" &&
export CXXFLAGS="$SLKCFLAGS" &&
./configure \
--enable-official-branding \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--with-default-mozilla-five-home=/usr/lib${LIBDIRSUFFIX}/thunderbird-$VERSION \
--with-system-zlib \
--with-l10n-base=$TMP/comm-$MOZVERS/l10n \
--enable-application=mail \
--enable-default-toolkit=cairo-gtk2 \
--enable-crypto \
--enable-svg \
--enable-canvas \
--enable-xft \
--enable-xinerama \
--enable-optimize \
--enable-reorder \
--enable-static \
--enable-strip \
--enable-system-cairo \
--enable-cpp-rtti \
--enable-single-profile \
--enable-ui-locale=it \
--disable-ldap \
--disable-accessibility \
--disable-debug \
--disable-tests \
--disable-logging \
--disable-pedantic \
--disable-installer \
--disable-profilesharing
# Complains about missing APNG support in Slackware's libpng:
#--with-system-png \
#make -f client.mk build MOZ_MAKE_FLAGS="$NUMJOBS" || exit 1
make MOZ_MAKE_FLAGS="$NUMJOBS" || exit 1
make install DESTDIR=$PKG || exit 1
# We don't need these (just symlinks anyway):
rm -rf $PKG/usr/lib${LIBDIRSUFFIX}/thunderbird-devel-$VERSION
# Nor these:
rm -rf $PKG/usr/include
( cd $PKG/usr/lib${LIBDIRSUFFIX}/thunderbird-$VERSION
cp -a defaults/profile/mimeTypes.rdf defaults/profile/mimeTypes.rdf.orig
zcat $CWD/mimeTypes.rdf > defaults/profile/mimeTypes.rdf || exit 1
) || exit 1
mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/mozilla/plugins
mkdir -p $PKG/usr/share/applications
cat $CWD/mozilla-thunderbird.desktop > $PKG/usr/share/applications/mozilla-thunderbird.desktop
mkdir -p $PKG/usr/share/pixmaps
cat $CWD/thunderbird.png > $PKG/usr/share/pixmaps/thunderbird.png
# These files/directories are usually created if Firefox is run as root,
# which on many systems might (and possibly should) be never. Therefore, if we
# don't see them we'll put stubs in place to prevent startup errors.
( cd $PKG/usr/lib${LIBDIRSUFFIX}/thunderbird-$VERSION
if [ -d extensions/talkback\@mozilla.org ]; then
if [ ! -r extensions/talkback\@mozilla.org/chrome.manifest ]; then
echo > extensions/talkback\@mozilla.org/chrome.manifest
fi
fi
if [ ! -d updates ]; then
mkdir -p updates/0
fi
)
# Need some default icons in the right place:
mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/thunderbird-$VERSION/chrome/icons/default
install -m 644 other-licenses/branding/thunderbird/default16.png \
$PKG/usr/lib${LIBDIRSUFFIX}/thunderbird-$VERSION/icons/
install -m 644 other-licenses/branding/thunderbird/default16.png \
$PKG/usr/lib${LIBDIRSUFFIX}/thunderbird-$VERSION/chrome/icons/default/
( cd $PKG/usr/lib${LIBDIRSUFFIX}/thunderbird-$VERSION
install -m 644 icons/{default,mozicon50}.xpm chrome/icons/default/
)
# Copy over the LICENSE
install -p -c -m 644 LICENSE $PKG/usr/lib${LIBDIRSUFFIX}/thunderbird-$VERSION/
mkdir $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
/sbin/makepkg -l y -c n $TMP/mozilla-thunderbird-$VERSION-$ARCH-$BUILD.txz
Nello stesso SlackBuild sono indicati i siti da cui prelevare sorgenti e file di localizzazione (per il file di localizzazione, clicca su bz2); devi solo modificare le due variabili LOCNAME e LOCFILE in base al nome del file di localizzazione che hai scaricato.
E' importante che nella directory mozilla-thunderbird sia presente un unico file sorgente da compilare; lo script individua in automatico la versione e l'architettura 32/64 bit.
Il package viene creato in /tmp
Re: SlackBuild per Thunderbird 3 x86_64
Inviato: dom 2 mag 2010, 12:55
da hal9000
Grazie per l' aiuto, ora però il problema è un' altro. Durante la compilazione si blocca ed appare oò seguente messaggio:
./mozilla-thunderbird.SlackBuild: line 102: layout/build/Makefile.in: No such file or directory
e poi
Codice: Seleziona tutto
checking for gtk+-2.0 >= 2.10.0 gtk+-unix-print-2.0 glib-2.0 gobject-2.0 gdk-x11-2.0... Package renderproto was not found in the pkg-config search path. Perhaps you should add the directory containing `renderproto.pc' to the PKG_CONFIG_PATH environment variable Package 'renderproto', required by 'Xrender', not found
configure: error: Library requirements (gtk+-2.0 >= 2.10.0 gtk+-unix-print-2.0 glib-2.0 gobject-2.0 gdk-x11-2.0) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them.
make: *** No targets specified and no makefile found. Stop.
Sia le GTK che le Glib sono quelle della 13.0 e sembrano nel percorso corretto. Anche con la 12.2 quando cercavo di compilare qualcosa da sorgente avevo lo stesso problema. Nessuna idea?
Re: SlackBuild per Thunderbird 3 x86_64
Inviato: dom 2 mag 2010, 14:36
da phobos3576
L'errore ./mozilla-thunderbird.SlackBuild: line 102: layout/build/Makefile.in: No such file or directory è ininfluente; probabilmente quella riga si riferisce al vecchio Thunderbird 2.x. Per evitare che la creazione del package si blocchi in quella riga, basta commentare l'opzione set -e (come si vede nel mio SlackBuild).
Il restante messaggio di errore sembra dire che la versione delle gtk+2 è inferiore al minimo richiesto (2.10); mi sembra strano visto che la Slackware 13 ha le 2.14
Re: SlackBuild per Thunderbird 3 x86_64
Inviato: dom 2 mag 2010, 18:05
da hal9000
Infatti ho le GTK+2-2.14.7 e ho anche installato le GTK+-1.2.10. Non è che in fase di compilazione il programma faccia confusione e cerchi le GTK+2 nel percorso della GTK+-1? Le GTK+-1.2.10 possono essere rimosse senza problemi per fare un tentativo?
Re: SlackBuild per Thunderbird 3 x86_64
Inviato: dom 2 mag 2010, 20:05
da phobos3576
Le GTK+1 non interferiscono con le +2 e sono necessarie entrambe visto che, oltre ai nuovi programmi che usano le +2, sopravvivono ancora vecchi programmi che si interfacciano con le +1.
Thunderbird3 usa solo le +2 e ignora completamente le +1.
Comunque, quello SlackBuild è stato scritto da Pat espressamente per la 13 e deve funzionare per forza.
Il messaggio di errore ti dice tra l'altro che non trova il package
renderproto; eventualmente, per la 64 bit lo puoi prelevare dal solito repository:
ftp://ftp.slackware.at/slackware64-13.0/slackware64/x/
Mi sembra molto strano però che ti manchi un package fondamentale per la Slackware.
Re:[Risolto] SlackBuild per Thunderbird 3 x86_64
Inviato: lun 3 mag 2010, 14:43
da hal9000
Grazie per l' aiuto. Il problema non erano le GTK ma alcuni programmi della serie X che mancavano. Ora ho compilato e installato senza problemi. Per sapere: non è che hai anche un link per lo SlackBuild per skype?
Re: Re:[Risolto] SlackBuild per Thunderbird 3 x86_64
Inviato: lun 3 mag 2010, 21:33
da phobos3576
hal9000 ha scritto:Per sapere: non è che hai anche un link per lo SlackBuild per skype?
Non vorrei sbagliarmi ma, Skype è closed, per cui non esiste la possibilità di ricompilarlo.
Quelli di Skype hanno rilasciato un DEB per Ubuntu a 64 bit (solo CPU AMD64); se hai quel modello di CPU potresti provare allora a crearti un package per Slackware partendo dal file.DEB.