Chromium 34 e Flash-Pepper

Postate qui per tutte le discussioni legate a Linux in generale.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
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
joe
Iper Master
Iper Master
Messaggi: 3797
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Chromium 34 e Flash-Pepper

Messaggio da joe »

Siccome non sono riuscito a compilare chromium 38 sulla mia slack-14.0, e siccome qui su slacky c'è un pacchetto con slackbuild della versione di chromium 34 per slack 14.1 64 bit, ne ho approfittato e l'ho modificato appena per compilare il programma per il mio sistema a 32 bit.
Ok, il tutto ha avuto successo.

Però adesso vorrei avviare Chromium lanciandolo con alcuni flags per sfruttare le Pepper Flash (ho compilato e installato pepper flash a partire dal repo di Alien Bob):

Codice: Seleziona tutto

chromium --ppapi-flash-path=/usr/lib/PepperFlash/libpepflashplayer.so --ppapi-flash-version=15.0.0.189
Lanciando così chrome da riga di comando, tutto ok, funziona.

Adesso però vorrei anche rendere persistenti le impostazioni.
in una versione più recente di chromium funzionava così:

si crea il file /etc/default/chromium come segue:

Codice: Seleziona tutto


$ cat /etc/default/chromium
# Default settings for chromium. This file is sourced by /usr/bin/chromium

# Options to pass to chromium
CHROMIUM_FLAGS=""


# START chromium-pepperflash-plugin
flashso="/usr/lib/PepperFlash/libpepflashplayer.so"

if [ -f $flashso ]
then
  flashversion=$(strings $flashso|grep "LNX "|sed -e "s/.*LNX //"|sed -e "s/,/./g")
  CHROMIUM_FLAGS="$CHROMIUM_FLAGS --ppapi-flash-path=$flashso --ppapi-flash-version=$flashversion"
fi
# END chromium-pepperflash-plugin
In questo modo quano si lancia chromum, automaticamente vengono passate le opzioni riportate. È come lanciarlo da riga di comando con i flags di cui sopra.

Problema:
Mentre con versioni di chromium più recenti tipo la "37" quel file viene letto all'avvio di chrome e flashplayer in uso risulta la versione pepper, in chrome "34" quel file sembra ignorato.

La domanda a voi è dunque la seguente: in quale file devono essere create le configurazioni di "chromium 34"???
Dove cercare questa informazione?

Grazie in anticipo! :)

PS. Perchè Chrome 34???

Offtopic: Un'alternativa sarebbe la 37 di AlienBob, di cui c'è lo slackbuild e anche il pacchetto per Slackware 14. Però ha la omnibox buggata:

http://slacky.eu/forum/viewtopic.php?f=2&t=38103

Ho anche provato a compilare la 38 ma su slack 14.0 ci sono dei problemi (neanche Alien Bob sembra aver ben capito ancora dove stiano...).
Insomma visto che volevo provare ad utilizzare chromium in una versione più recente possibile ho tentato la compilazione della versione 34, partendo dallo slackbuild qui su slacky:

http://www.slacky.eu/asche64/pkgs/index ... 17&pkg=246

UIn grazie intanto a ZeroUno che lo ha creato.

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3797
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: Chromium 34 e Flash-Pepper

Messaggio da joe »

Ringrazio l'utente Marlavo che ho scomodato in privato, per avermi spiegato la faccenda.
Praticamente, il file di configurazione:

Codice: Seleziona tutto

/etc/default/chromium
È creato semplicemente dallo slackbuild di Alien Bob, così come in altri pacchetti... vedi Gentoo, Arch, Debian..
Quindi non è la compilazione di chromium in se che imposta quel file come file di configurazione da leggere all'avvio.

Nel dettaglio, Alien&Co nel loro pacchetto creano un wrapper, cioè uno script che lancia l'eseguibile propriamente detto. Ecco il wrapper di Alien:
http://www.slackware.com/~alien/slackbu ... hromium.sh

Codice: Seleziona tutto

#!/bin/bash

# Allow users to override command-line options
# Based on Gentoo's chromium package (and by extension, Debian's)
if [[ -f /etc/default/chromium ]]; then
	. /etc/default/chromium
fi

# Prefer user defined CHROMIUM_USER_FLAGS (from env) over system
# default CHROMIUM_FLAGS (from /etc/chromium/default)
CHROMIUM_FLAGS=${CHROMIUM_USER_FLAGS:-$CHROMIUM_FLAGS}

export CHROME_WRAPPER=$(readlink -f "$0")
export CHROME_DESKTOP=chromium.desktop

exec /usr/lib@LIBDIRSUFFIX@/chromium/chromium $CHROMIUM_FLAGS "$@
Come vedete è li che si stabilisce di leggere il file /etc/default/chromium.
Poi nello slackbuild quel wrapper viene installato in /usr/bin e rinominato in /usr/bin/chromium:

Codice: Seleziona tutto

# Install a wrapper script:
install -D -m0755 $SRCDIR/chromium.sh $PKG/usr/bin/chromium
sed -i -e "s/@LIBDIRSUFFIX@/${LIBDIRSUFFIX}/g" $PKG/usr/bin/chromium
Invece nel pacchetto che ho adesso preso qui su slacky, l'eseguibile /usr/bin/cromium è in realtà un link simbolico che punta a /usr/lib/chromium/chromium. Quello è l'eseguibile reale... Cio non abbiamo alcun wrapper che va a leggere alcun file di configurazione.

Codice: Seleziona tutto

joe@darkstar:~$ ls /var/log/packages/chromium-[0-9]*
/var/log/packages/chromium-30.0.1599.101-i486-2sl
joe@darkstar:~$ file $(which chromium)
/usr/bin/chromium: symbolic link to `../../usr/lib/chromium/chromium'
joe@darkstar:~$ file /usr/lib/chromium/chromium 
/usr/lib/chromium/chromium: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), stripped
La soluzione potrebbe essere banale:
rimuoviamo il link simbolico /usr/bin/chromium
e copiamo lì il wrapper di Alien, opportunamente modificato.
A quel punto dovremmo essere in grado di lanciare chromium con le opzioni impostate nel file d /etc/default/chromium.
Vi farò sapere come và a finire.

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3797
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: Chromium 34 e Flash-Pepper

Messaggio da joe »

Ok penso di aver risolto anche se in modo un po' sporco.
Non volendo ricompilare chromium perchè sul mio PC è un'operazione davvero lunga, ho deciso di aprire il pacchetto .txz che avevo creato e modificarlo in modo da copiarvi dentro lo script wrapper. L'ho messo in:

Codice: Seleziona tutto

usr/doc/chromium-34.0.1847.116/SlackBuild/chromium-wrapper.sh
A questo punto ho modificato il doinst.sh:

Codice: Seleziona tutto

# cat install/doinst.sh 
( cd usr/bin ; rm -rf chromium )
#( cd usr/bin ; ln -sf ../../usr/lib/chromium/chromium chromium )

cp -a usr/doc/chromium-34.0.1847.116/SlackBuild/chromium-wrapper.sh /usr/bin/chromium


chmod 4755 /usr/lib/chromium/chrome-sandbox

if [ -x /usr/bin/update-desktop-database ]; then
    usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1
fi
if [ -x /usr/bin/update-mime-database ]; then
  usr/bin/update-mime-database usr/share/mime >/dev/null 2>&1
fi
if [ -e usr/share/icons/hicolor/icon-theme.cache ]; then
  if [ -x /usr/bin/gtk-update-icon-cache ]; then
    usr/bin/gtk-update-icon-cache usr/share/icons/hicolor >/dev/null 2>&1
  fi
fi
In pratica ho commentato la seconda riga e aggiunto la copia del wrapper in /usr/bin/chromium.

Nota:
Sicuramente il fatto di includere nel doinst.sh la versione del programma non è il massimo della vita.
Sarebbe stato meglio usare una variabile che ottenesse in qualche modo la versione del programma direttamente, ma non sapevo come fare. Almeno in modo pulito...
.. non sono un packager e mi ritengo piuttosto ignorante in fatto di slackbuilds e doinst.sh.

Critiche suggerimenti ecc sono i benvenuti! ;)

Ad ogni modo sembra funzionare tutto.
E in questo modo anche flash player (Pepper Flash) gira tranquillamente come ci si aspettava.

Bene, direi che è tutto. Nell'attesa che Alien metta mano a chromium per slack-14.0/13.37... Sempre che decida di porvi rimedio, userò questo pacchetto chromium-34.0.1847.116.
Se avete qualche commento, ripeto. non esitate sarà sicuramente utile.
Alla prossima! :)

Avatar utente
marlavo
Linux 1.x
Linux 1.x
Messaggi: 180
Iscritto il: ven 2 lug 2010, 16:38
Nome Cognome: Marco Lavorini
Slackware: 15.0 x86_x64
Kernel: 6.6.21
Desktop: XFCE 4.18

Re: Chromium 34 e Flash-Pepper

Messaggio da marlavo »

Se ti funzioona e non devi redistrubuire il pacchetto lo puoi anche lasciare così.
Al più potresti copiare il wrapper direttamente in /usr/bin e poi da li linkarlo, così eviti la /usr/doc

Rispondi