Pagina 1 di 2

chromium builder

Inviato: gio 21 gen 2010, 6:33
da Blallo
salve ragazzi
vorrei porre alla vostra attenzione un builder per chromium che ho buttato giù oggi
se qualcuno ha suggerimenti e/o migliorie ben venga :)

Codice: Seleziona tutto

#!/bin/sh

# Slackware build script for chromium

# Copyright 2010 Savino Liguori aka jimmy_page_89
# 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.

NAME=chromium
DOWNAME=chrome-linux
ARCH=`uname -m`
CWD=`pwd`
PKGFORMAT=${PKGFORMAT:-txz}
BUILD=${BUILD:-1}
TAG=${TAG:-_jim}
PKG=${PKG:-/tmp/package-$NAME}
TMP=${TMP:-/tmp/build-$NAME}

if [ "$ARCH" = "x86_64" ]; then
	LIBSUF="64"
	WEBSUF="-64"
else
	LIBSUF=""
	WEBSUF=""
fi

set -eu

rm -rf $TMP $PKG
mkdir -p $TMP
mkdir -p $PKG
cd $TMP
wget http://build.chromium.org/buildbot/snapshots/chromium-rel-linux$WEBSUF/LATEST
VERSION=`cat LATEST`
wget http://build.chromium.org/buildbot/snapshots/chromium-rel-linux$WEBSUF/$VERSION/$DOWNAME.zip
unzip $TMP/$DOWNAME.zip -d $TMP
chown -R root:root .
chmod -R u+w,go+r-w,a-s .
mkdir -p $PKG/opt
cp -r $TMP/$DOWNAME $PKG/opt/$NAME
mkdir $PKG/install
cat > $PKG/install/doinst.sh << "EOF"
#!/bin/sh
ln -s /usr/lib$LIBSUF/libnss3.so /usr/lib$LIBSUF/libnss3.so.1d
ln -s /usr/lib$LIBSUF/libnssutil3.so /usr/lib$LIBSUF/libnssutil3.so.1d
ln -s /usr/lib$LIBSUF/libsmime3.so /usr/lib$LIBSUF/libsmime3.so.1d
ln -s /usr/lib$LIBSUF/libssl3.so /usr/lib$LIBSUF/libssl3.so.1d
ln -s /usr/lib$LIBSUF/libplds4.so /usr/lib$LIBSUF/libplds4.so.0d
ln -s /usr/lib$LIBSUF/libplc4.so /usr/lib$LIBSUF/libplc4.so.0d
ln -s /usr/lib$LIBSUF/libnspr4.so /usr/lib$LIBSUF/libnspr4.so.0d
if [ -x /usr/bin/update-mime-database ]; then
  /usr/bin/update-mime-database /usr/share/mime &> /dev/null
fi
if [ -x /usr/bin/update-desktop-database ]; then
  /usr/bin/update-desktop-database 1> /dev/null 2> /dev/null
fi
if [ -x /usr/bin/gtk-update-icon-cache ]; then
  /usr/bin/gtk-update-icon-cache  -f -q /usr/share/icons/hicolor 1> /dev/null 2> /dev/null
fi
EOF

mkdir -p $PKG/usr/share/applications
mkdir -p $PKG/usr/share/pixmaps
mkdir -p $PKG/usr/doc/$NAME
cp $PKG/opt/$NAME/product_logo_48.png $PKG/usr/share/pixmaps/chromium.png
cat $CWD/$NAME.SlackBuild > $PKG/usr/doc/$NAME/$NAME.SlackBuild
cat > $PKG/usr/share/applications/chromium.desktop << "EOF"
[Desktop Entry]
Exec=chromium %u
Icon=chromium
Type=Application
Categories=Network;
Name=Chromium
MimeType=text/html;
X-KDE-StartupNotify=true
EOF

cat > $PKG/install/slack-desc << "EOF"
# 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----------------------------------------------------|
chromium: Chromium
chromium:
chromium: Chromium is a browser that combines a minimal design with
chromium: sophisticated  technology  to  make the web faster, safer, and
chromium: easier. Is the free-brand version of Google Chrome
chromium:
chromium:                     *** W A R N I N G ***
chromium:          Chromium work with some Mozilla-Firefox libraries.
chromium:            Do not remove Mozilla-Firefox package.
chromium:
chromium:
EOF

mkdir -p $PKG/usr/bin
cat > $PKG/usr/bin/chromium << "EOF"
#!/bin/sh
/opt/chromium/chrome $1
EOF
chmod +x $PKG/usr/bin/chromium
chmod -R 0755 $PKG
cd $PKG
/sbin/makepkg -l y -c n $CWD/$NAME-r$VERSION-$ARCH-$BUILD$TAG.$PKGFORMAT || exit 1

rm -rf $TMP
rm -rf $PKG

Re: chromium builder

Inviato: gio 21 gen 2010, 15:56
da idefix
ciao jimmy, ho visto e subito provato (e smanettato) il tuo slackbuild e sembra ottimo,
sopratutto la parte che provvede a scaricare il file piu recente mi è piaciuta molto.
ma...... non mi funziona perche non trova i link alle librerie fatte dal doinst
nonostante ci siano. non sapendo dove le cerca, le ho messe in lib poi in lib64 e nella dir dove sta chromium
con gli stessi risultati. insomma, sono certamente nel path ma non le trova.

mi sorge un dubbio: io uso bw64 e le librerie mozilla le mette in /usr/lib64/firefox
(o thunderbird o seamonkey o altro) slackware 64 dove le mette?
linko quelle sbagliate o le metto al posto sbagliato?

se hai voglia di aiutarmi, ecco la mia mail: ifx.bw64 chiocciola gmail


ciao.

Re: chromium builder

Inviato: gio 21 gen 2010, 19:50
da Blallo
ho capito il perchè..devo fare una piccola modifica
perchè nel cat del doinst.sh non scrive il valore di LIBSUF, ma proprio la parola $LIBSUF
se qualcuno sa come correggere mi farebbe un grande favore...

Re: chromium builder

Inviato: gio 21 gen 2010, 22:51
da idefix
io ho preferito fare il doinst esterno allo slackbuild
e ci ho messo direttamente /lib64 in origine, ma è sbagliato
perche non ho le librerie di mozilla in lib64.

ho provato a linkare quelle di firefox ma mi dice sempre che non le trova.
non ho idea di quali siano quelle giuste tra le tante di mozilla che ho
e non ho voglia di provarle tutte inoltre non sono manco sicuro di dove le cerchi.

un altra bella cosa da ritoccare sarebbe che ogni volta si avvia lo slackbuild
lui vuole riscaricare i "sorgenti" senza controllare se ci sono gia.

Re: chromium builder

Inviato: gio 21 gen 2010, 23:01
da idefix
guarda cosa ho trovato nelo slackbuild della versione 32 bit qua sul repository:

cat << EOF > $PKG/install/doinst.sh
( cd usr/lib${LIBDIRSUFFIX} ; rm -rf libnss3.so.1d )
( cd usr/lib${LIBDIRSUFFIX} ; ln -sf /usr/lib${LIBDIRSUFFIX}/firefox/libnss3.so libnss3.so.1d )
( cd usr/lib${LIBDIRSUFFIX} ; rm -rf libnssutil3.so.1d )
( cd usr/lib${LIBDIRSUFFIX} ; ln -sf /usr/lib${LIBDIRSUFFIX}/firefox/libnssutil3.so libnssutil3.so.1d )
( cd usr/lib${LIBDIRSUFFIX} ; rm -rf libsmime3.so.1d )
( cd usr/lib${LIBDIRSUFFIX} ; ln -sf /usr/lib${LIBDIRSUFFIX}/firefox/libsmime3.so libsmime3.so.1d )
( cd usr/lib${LIBDIRSUFFIX} ; rm -rf libssl3.so.1d )
( cd usr/lib${LIBDIRSUFFIX} ; ln -sf /usr/lib${LIBDIRSUFFIX}/firefox/libssl3.so libssl3.so.1d )
( cd usr/lib${LIBDIRSUFFIX} ; rm -rf libplds4.so.0d )
( cd usr/lib${LIBDIRSUFFIX} ; ln -sf /usr/lib${LIBDIRSUFFIX}/firefox/libplds4.so libplds4.so.0d )
( cd usr/lib${LIBDIRSUFFIX} ; rm -rf libplc4.so.0d )
( cd usr/lib${LIBDIRSUFFIX} ; ln -sf /usr/lib${LIBDIRSUFFIX}/firefox/libplc4.so libplc4.so.0d )
( cd usr/lib${LIBDIRSUFFIX} ; rm -rf libnspr4.so.0d )
( cd usr/lib${LIBDIRSUFFIX} ; ln -sf /usr/lib${LIBDIRSUFFIX}/firefox/libnspr4.so libnspr4.so.0d )
EOF

Re: chromium builder

Inviato: gio 21 gen 2010, 23:22
da Blallo

Codice: Seleziona tutto

#!/bin/sh

# Slackware build script for chromium

# Copyright 2010 Savino Liguori aka jimmy_page_89
# 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.

NAME=chromium
DOWNAME=chrome-linux
ARCH=`uname -m`
CWD=`pwd`
PKGFORMAT=${PKGFORMAT:-txz}
BUILD=${BUILD:-1}
TAG=${TAG:-_jim}
PKG=${PKG:-/tmp/package-$NAME}
TMP=${TMP:-/tmp/build-$NAME}

if [ "$ARCH" = "x86_64" ]; then
	LIBSUF="64"
	WEBSUF="-64"
else
	LIBSUF=""
	WEBSUF=""
fi

set -eu

rm -rf $TMP $PKG
mkdir -p $TMP
mkdir -p $PKG
cd $TMP
wget http://build.chromium.org/buildbot/snapshots/chromium-rel-linux$WEBSUF/LATEST
VERSION=`cat LATEST`
wget http://build.chromium.org/buildbot/snapshots/chromium-rel-linux$WEBSUF/$VERSION/$DOWNAME.zip
unzip $TMP/$DOWNAME.zip -d $TMP
chown -R root:root .
chmod -R u+w,go+r-w,a-s .
mkdir -p $PKG/opt
cp -r $TMP/$DOWNAME $PKG/opt/$NAME
mkdir $PKG/install
cat > $PKG/install/doinst.sh << EOF
#!/bin/sh
ln -s /usr/lib${LIBSUF}/libnss3.so /usr/lib${LIBSUF}/libnss3.so.1d
ln -s /usr/lib${LIBSUF}/libnssutil3.so /usr/lib${LIBSUF}/libnssutil3.so.1d
ln -s /usr/lib${LIBSUF}/libsmime3.so /usr/lib${LIBSUF}/libsmime3.so.1d
ln -s /usr/lib${LIBSUF}/libssl3.so /usr/lib${LIBSUF}/libssl3.so.1d
ln -s /usr/lib${LIBSUF}/libplds4.so /usr/lib${LIBSUF}/libplds4.so.0d
ln -s /usr/lib${LIBSUF}/libplc4.so /usr/lib${LIBSUF}/libplc4.so.0d
ln -s /usr/lib${LIBSUF}/libnspr4.so /usr/lib${LIBSUF}/libnspr4.so.0d
if [ -x /usr/bin/update-mime-database ]; then
  /usr/bin/update-mime-database /usr/share/mime &> /dev/null
fi
if [ -x /usr/bin/update-desktop-database ]; then
  /usr/bin/update-desktop-database 1> /dev/null 2> /dev/null
fi
if [ -x /usr/bin/gtk-update-icon-cache ]; then
  /usr/bin/gtk-update-icon-cache  -f -q /usr/share/icons/hicolor 1> /dev/null 2> /dev/null
fi
EOF

mkdir -p $PKG/usr/share/applications
mkdir -p $PKG/usr/share/pixmaps
mkdir -p $PKG/usr/doc/$NAME
cp $PKG/opt/$NAME/product_logo_48.png $PKG/usr/share/pixmaps/chromium.png
cat $CWD/$NAME.SlackBuild > $PKG/usr/doc/$NAME/$NAME.SlackBuild
cat > $PKG/usr/share/applications/chromium.desktop << "EOF"
[Desktop Entry]
Exec=chromium %u
Icon=chromium
Type=Application
Categories=Network;
Name=Chromium
MimeType=text/html;
X-KDE-StartupNotify=true
EOF

cat > $PKG/install/slack-desc << "EOF"
# 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----------------------------------------------------|
chromium: Chromium
chromium:
chromium: Chromium is a browser that combines a minimal design with
chromium: sophisticated  technology  to  make the web faster, safer, and
chromium: easier. Is the free-brand version of Google Chrome
chromium:
chromium:                     *** W A R N I N G ***
chromium:          Chromium work with some Mozilla-Firefox libraries.
chromium:            Do not remove Mozilla-Firefox package.
chromium:
chromium:
EOF

mkdir -p $PKG/usr/bin
cat > $PKG/usr/bin/chromium << "EOF"
#!/bin/sh
/opt/chromium/chrome $1
EOF
chmod +x $PKG/usr/bin/chromium
chmod -R 0755 $PKG
cd $PKG
/sbin/makepkg -l y -c n $CWD/$NAME-r$VERSION-$ARCH-$BUILD$TAG.$PKGFORMAT || exit 1

rm -rf $TMP
rm -rf $PKG
ecco il nuovo SlackBuild
Però secondo me non ha senso che controllo se è già scaricato, poichè lo zip si chiama chrome-linux, senza numero di versione. Quindi se dicessi che è già presente potrebbe anche essere una versione più vecchia e non saperlo

Re: chromium builder

Inviato: ven 22 gen 2010, 1:33
da idefix
riguardo al controllo presenza sources farebbe comodo nel mio caso.... uso intenso di slackbuild per prove.
comuqnue temporaneamente ho messo un paio di ## e va bene lo stesso.
invece i dubbi su chrome rimangono: tutti i doinst fanno dei link dalle lib di firefox nella directory /lib64
ma a me non funge e non capisco dove sbaglio. i link ci sono ma non li vede il binario. boh.

Re: chromium builder

Inviato: ven 22 gen 2010, 1:34
da idefix
dimenticavo, sto giocando con questo slackbuild solo per curiosita, preferirei usare
dei sorgenti veri non reimpacchettare dei binari .

Re: chromium builder

Inviato: ven 22 gen 2010, 1:50
da Blallo
ma hai firefox installato? perche alcune sono librerire che si porta dietro firefox
idefix ha scritto:dimenticavo, sto giocando con questo slackbuild solo per curiosita, preferirei usare
dei sorgenti veri non reimpacchettare dei binari .
operazione sconsigliata. il tarball pesa 800 e passa MB, e per compilarlo ci vogliono così tanti passaggi che sinceramente non ne vale la pena

Re: chromium builder

Inviato: ven 22 gen 2010, 8:49
da gohanz
A me non parte, ho scaricato la versione piu' recente, per fare un test :-k

Codice: Seleziona tutto

./chrome
./chrome: /usr/lib/libpng12.so.0: no version information available (required by ./chrome)
./chrome: /usr/lib/libz.so.1: no version information available (required by ./chrome)
/chrome/chrome-linux/chrome: /usr/lib/libpng12.so.0: no version information available (required by /root/chrome/chrome-linux/chrome)
/chrome/chrome-linux/chrome: /usr/lib/libz.so.1: no version information available (required by /root/chrome/chrome-linux/chrome)
Illegal instruction

Re: chromium builder

Inviato: ven 22 gen 2010, 14:07
da Blallo
devi creare dei link alle librerie così

Codice: Seleziona tutto

ln -s /usr/lib${LIBSUF}/libnss3.so /usr/lib${LIBSUF}/libnss3.so.1d
ln -s /usr/lib${LIBSUF}/libnssutil3.so /usr/lib${LIBSUF}/libnssutil3.so.1d
ln -s /usr/lib${LIBSUF}/libsmime3.so /usr/lib${LIBSUF}/libsmime3.so.1d
ln -s /usr/lib${LIBSUF}/libssl3.so /usr/lib${LIBSUF}/libssl3.so.1d
ln -s /usr/lib${LIBSUF}/libplds4.so /usr/lib${LIBSUF}/libplds4.so.0d
ln -s /usr/lib${LIBSUF}/libplc4.so /usr/lib${LIBSUF}/libplc4.so.0d
ln -s /usr/lib${LIBSUF}/libnspr4.so /usr/lib${LIBSUF}/libnspr4.so.0d
ovviamente togli LIBSUF se sei sui 32bit

Re: chromium builder

Inviato: ven 22 gen 2010, 16:01
da idefix
ho visto tempo fa che i sorgenti sono 800 mega e quindi avevo rinunciato
per pigrizia a scaricarli...... ora il binario mi fa tribulare,
quindi che se lo tengano. magari non gli piacciono le lib di ff 3.6

Re: chromium builder

Inviato: ven 22 gen 2010, 16:07
da Blallo
ma puoi cercare se hai le librerie che deve linkare?
non può essere ff3.6, ce l'ho anche io (lo testo nel caso possa mandare chromium a quel paese, è veloce ma ciuccia tanta ram)

Re: chromium builder

Inviato: sab 23 gen 2010, 1:50
da Blallo
gohanz, sei su 32 giusto?

Re: chromium builder

Inviato: sab 23 gen 2010, 8:54
da gohanz
jimmy_page_89 ha scritto:gohanz, sei su 32 giusto?
Si sono sulla 13.0.