# Gibt's schon ein Ebuild für Opera-9.50?

## musv

Bin heut mal bei Heise auf Opera-9.50 gestoßen. Also dachte ich mal, probier ich das Teil einfach mal aus. 

Und siehe da, ich war begeistert. Opera-9.50 scheint tatsächlich noch ein Stück schneller als Opera-9.23 zu sein, war zumindest mein erster subjektiver Eindruck. 

2. Test: Youtube. Bisher weigerte sich Opera bei mir immer Flashvideos abzuspielen. Aber auch die funktionierten sofort ohne irgendwelches Gefrickel. 

Leider gibt's für das Teil noch kein Ebuild. Ok, dachte ich, wirfst du halt mal einen Blick in das Ebuild rein. Kann ja nicht so schwer sein, das Ebuild von 9.23 an 9.50 anzupassen. 

Datei im distfile-Verzeichnis:

```
-rw-rw-r-- 1 portage portage 5227266 16. Aug 09:40 /usr/portage/distfiles/opera-9.23-20070809.6-shared-qt.i386-en.tar.bz2

-rw-r--r-- 1 root    portage 5453240  4. Sep 17:45 /usr/portage/distfiles/opera-9.50-20070903.6-shared-qt.i386-1567.tar.bz2

```

Ok, ändern wir das Ebuild ab. 

```

OPERALNG="en"

OPERAVER="9.23-20070809"

```

```

OPERALNG="1567"

OPERAVER="9.50-20070903"

```

Dann sollte es vom Namen her hinhauen. Soll ja auch nur als Dirty Hack funktionieren, bis ein richtiges Ebuild raus ist.

Wenn ich jetzt aber 

```
ebuild opera-9.50.ebuild digest
```

 ausführ, will das Ebuild die Free-BSD-Version ziehen. Hmm ok, ich wüßte jetzt zwar nicht, wo ich irgendwas mit Free-BSD gesetzt hätte, aber dann bringen wir eben das Ebuild mit Gewalt auf den richtigen Weg. Daraufhin hab ich diese beiden Zeilen einfach mal entfernt: 

```

        x86-fbsd? ( !qt-static? ( ${OPERA_URI}unix/freebsd/${OPERAFTP}/shared/${PN}-${OPERAVER}.4-shared-qt.i386.freebsd-${OPERALNG}.tar.bz2 ) )

        x86-fbsd? ( qt-static? ( ${OPERA_URI}unix/freebsd/${OPERAFTP}/static/${PN}-${OPERAVER}.1-static-qt.i386.freebsd-${OPERALNG}.tar.bz2 ) )"

```

Und jetzt bekomm ich folgende Fehlermeldung:

```

 ebuild opera-9.50.ebuild digest

ACCESS DENIED  open_wr:   /usr/portage/www-client/opera/=sys-apps/sed-4

RDEPEND=x11-libs/libXrandr

ACCESS DENIED  open_wr:   /usr/portage/www-client/opera/=sys-apps/sed-4

RDEPEND=x11-libs/libXrandr

/usr/portage/www-client/opera/opera-9.50.ebuild: line 33: =sys-apps/sed-4

RDEPEND=x11-libs/libXrandr: Keine Berechtigung

/usr/portage/www-client/opera/opera-9.50.ebuild: line 36: x11-libs/libXp: Datei oder Verzeichnis nicht gefunden

/usr/portage/www-client/opera/opera-9.50.ebuild: line 37: x11-libs/libXmu: Datei oder Verzeichnis nicht gefunden

/usr/portage/www-client/opera/opera-9.50.ebuild: line 38: x11-libs/libXi: Datei oder Verzeichnis nicht gefunden

/usr/portage/www-client/opera/opera-9.50.ebuild: line 39: x11-libs/libXft: Datei oder Verzeichnis nicht gefunden

/usr/portage/www-client/opera/opera-9.50.ebuild: line 40: x11-libs/libXext: Datei oder Verzeichnis nicht gefunden

/usr/portage/www-client/opera/opera-9.50.ebuild: line 41: x11-libs/libXcursor: Datei oder Verzeichnis nicht gefunden

/usr/portage/www-client/opera/opera-9.50.ebuild: line 42: x11-libs/libX11: Datei oder Verzeichnis nicht gefunden

/usr/portage/www-client/opera/opera-9.50.ebuild: line 43: x11-libs/libSM: Datei oder Verzeichnis nicht gefunden

/usr/portage/www-client/opera/opera-9.50.ebuild: line 44: x11-libs/libICE: Datei oder Verzeichnis nicht gefunden

ACCESS DENIED  open_wr:   /usr/portage/www-client/opera/=media-libs/fontconfig-2.1.94-r1

ACCESS DENIED  open_wr:   /usr/portage/www-client/opera/=media-libs/fontconfig-2.1.94-r1

/usr/portage/www-client/opera/opera-9.50.ebuild: line 45: =media-libs/fontconfig-2.1.94-r1: Keine Berechtigung

/usr/portage/www-client/opera/opera-9.50.ebuild: line 46: syntax error near unexpected token `qt-static?'

/usr/portage/www-client/opera/opera-9.50.ebuild: line 46: `     amd64? ( qt-static? ( app-emulation/emul-linux-x86-xlibs )'

 * 

 * ERROR: www-client/opera-9.50 failed.

 * Call stack:

 *   ebuild.sh, line 1541:   Called die

 * 

 * error sourcing ebuild

 * If you need support, post the topmost build error, and the call stack if relevant.

 * 

--------------------------- ACCESS VIOLATION SUMMARY ---------------------------

LOG FILE = "/var/log/sandbox/sandbox-www-client_-_opera-9.50-11461.log"

open_wr:   /usr/portage/www-client/opera/=sys-apps/sed-4

RDEPEND=x11-libs/libXrandr

open_wr:   /usr/portage/www-client/opera/=sys-apps/sed-4

RDEPEND=x11-libs/libXrandr

open_wr:   /usr/portage/www-client/opera/=media-libs/fontconfig-2.1.94-r1

open_wr:   /usr/portage/www-client/opera/=media-libs/fontconfig-2.1.94-r1

--------------------------------------------------------------------------------

```

Hab ich irgendwas außer den grundlegenden Sachen zum Basteln eines Ebuilds nicht verstanden?

----------

## firefly

könntest du mal das ganze ebuild von dir posten

----------

## nikaya

Das Ebuild ist ja ziemlich komplex.Vielleicht schaut dertobi123 ja mal hier vorbei,von ihm ist das Ebuild.

----------

## juwe

 *musv wrote:*   

>  Daraufhin hab ich diese beiden Zeilen einfach mal entfernt: 
> 
> ```
> 
>         x86-fbsd? ( !qt-static? ( ${OPERA_URI}unix/freebsd/${OPERAFTP}/shared/${PN}-${OPERAVER}.4-shared-qt.i386.freebsd-${OPERALNG}.tar.bz2 ) )
> ...

 

Die schliessenden Anführungszeichen ganz am Ende der letzten Zeile dürfen nicht entfernt werden.

----------

## dertobi123

 *nikaya wrote:*   

> Das Ebuild ist ja ziemlich komplex.Vielleicht schaut dertobi123 ja mal hier vorbei,von ihm ist das Ebuild.

 

Mitnichten  :Wink:  Schau mal in die metadata.xml ...  :Razz: 

----------

## musv

Ok, ich habs hinbekommen. Ist aber wirklich nur ein Dirty-Hack für das Nötigste. Also wer nicht warten kann, kann's ausprobieren. Ansonsten ist es besser, auf ein offizielles Ebuild zu warten. 

Und so geht's (für x86):

1. Von http://snapshot.opera.com/unix/9.50-Alpha-1/intel-linux/ die Datei:

opera-9.50-20070903.6-shared-qt.i386-1567.tar.bz2 

ziehen und nach /usr/portage/distfiles verschieben / kopieren.

2. cd /usr/portage/www-client/opera

3. cp opera-9.23.ebuild opera-9.50.ebuild

4. Folgende Zeilen verändern:

OPERALNG="en"  -->  OPERALNG="1567"

OPERAVER="9.23-20070809"  -->  OPERAVER="9.50-20070903"

Diese Zeilen vollständig entfernen:

x86? ( !qt-static? ( ${OPERA_URI}linux/${OPERAFTP}/i386/shared/${PN}-${OPERAVER}.6-shared-qt.i386-${OPERALNG}.tar.bz2 ) )

amd64? ( qt-static? ( ${OPERA_URI}linux/${OPERAFTP}/i386/static/${PN}-${OPERAVER}.1-static-qt.i386-${OPERALNG}.tar.bz2 ) )

amd64? ( !qt-static? ( ${OPERA_URI}linux/${OPERAFTP}/i386/shared/${PN}-${OPERAVER}.6-shared-qt.i386-${OPERALNG}.tar.bz2 ) )

sparc? ( ${OPERA_URI}linux/${OPERAFTP}/sparc/static/${PN}-${OPERAVER}.1-static-qt.sparc-${OPERALNG}.tar.bz2 )

ppc? ( ${OPERA_URI}linux/${OPERAFTP}/ppc/static/${PN}-${OPERAVER}.1-static-qt.ppc-${OPERALNG}.tar.bz2 )

x86-fbsd? ( !qt-static? ( ${OPERA_URI}unix/freebsd/${OPERAFTP}/shared/${PN}-${OPERAVER}.4-shared-qt.i386.freebsd-${OPERALNG}.tar.bz2 ) )

x86-fbsd? ( qt-static? ( ${OPERA_URI}unix/freebsd/${OPERAFTP}/static/${PN}-${OPERAVER}.1-static-qt.i386.freebsd-${OPERALNG}.tar.bz2 ) )"

Dabei dann in der einzig verbliebenen ersten Zeile nicht vergessen die abschließenden Gänsefüßchen zu setzen (Danke juwe). 

Die Workdir ändern:

S=${WORKDIR}/${A/.tar.bz2/}-${OPERASUFF}  -->   S=${WORKDIR}/${A/.tar.bz2/}

Die Patches auskommentieren (werden bei Opera-9.50 offensichtlich nicht benötigt):

#     epatch "${FILESDIR}/${PN}-9.00-install.patch"

#     epatch "${FILESDIR}/${PN}-9.21-pluginpath.patch"

5. ebuild opera-9.50.ebuild digest

6. emerge -u opera

Dann sollte die Installation eigentlich funktionieren. Sämtliche Einstellungen von Opera-9.23 wurden bei mir anstandslos übernommen (Skin, Sprache, JavaScript, Bookmarks). Einzig das Opera-Icon ist verschwunden.

PS: Normalerweise hätte ich das Problem in "Unsupported Software" gepostet, aber ich hab im Ebuild das da entdeckt:

# $Header: /var/cvsroot/gentoo-x86/www-client/opera/opera-9.23.ebuild,v 1.5 2007/08/15 21:27:28 dertobi123 Exp 

Naja, man kann's ja mal versuchen...  :Smile: 

----------

## AmonAmarth

 *musv wrote:*   

> 
> 
> 3. cp opera-9.23.ebuild opera-9.50.ebuild
> 
> 

 

vielleicht sollte man das besser in ein lokales overlay kopieren, beim nächsten emerge --sync wäre das ebuild sonst wieder schnell futsch  :Wink: 

----------

## nikaya

 *dertobi123 wrote:*   

>  *nikaya wrote:*   Das Ebuild ist ja ziemlich komplex.Vielleicht schaut dertobi123 ja mal hier vorbei,von ihm ist das Ebuild. 
> 
> Mitnichten  Schau mal in die metadata.xml ... 

 

Hmm,ich bezog mich auf folgende Zeile:

```
# $Header: /var/cvsroot/gentoo-x86/www-client/opera/opera-9.23.ebuild,v 1.5 2007/08/15 21:27:28 dertobi123 Exp
```

Was hat Dein Nickname da zu bedeuten?

----------

## lituxer

Zur Info:

Opera 9.50 ist seit heute als hardmask drin.

----------

## dertobi123

 *nikaya wrote:*   

> Hmm,ich bezog mich auf folgende Zeile:
> 
> ```
> # $Header: /var/cvsroot/gentoo-x86/www-client/opera/opera-9.23.ebuild,v 1.5 2007/08/15 21:27:28 dertobi123 Exp
> ```
> ...

 

Dass ich als letzter an diesem Ebuild was im CVS gemacht habe (in dem Fall: es als stable für ppc markiert).

----------

## nikaya

 *dertobi123 wrote:*   

>  *nikaya wrote:*   Hmm,ich bezog mich auf folgende Zeile:
> 
> ```
> # $Header: /var/cvsroot/gentoo-x86/www-client/opera/opera-9.23.ebuild,v 1.5 2007/08/15 21:27:28 dertobi123 Exp
> ```
> ...

 

Aja,dann weiß ich ja jetzt Bescheid.  :Wink: 

----------

