Ruarí's thoughts

New Opera 10.51 UNIX packages (.deb, .rpm & .tar)

, , , , , , , ,

Edit: If you are looking for a package read this.

This blog post is primarily aimed at our intermediate to advanced UNIX users. If you are new to UNIX you may find this to be too much detail. However, if you are interested in packaging or just want to know a little bit more about what we changed behind the scenes read on! If you are a user of the install script bundled in the tarball packages, you should certainly read on as the changes are potentially biggest for you.

Summary of the changes

The work in these packages is not limited to just to removing a few Qt references. Our packages have been completely rewritten from scratch so that they do more things sensibly. For example the .rpm and .deb packages have cleaner post-install and pre-uninstall scripts and the tarball install script is entirely replaced. Additionally, the start-up sequence has been greatly simplified (take a quick look the 'opera' startup script in a text editor and compare it with an earlier build).

Most users won't notice major changes, a few will likely appreciate the improvements and the resolution of long time outstanding issues, and a minority might get tripped up by one of two of the changes. In an attempt to keep the numbers of the latter down to a bare minimum, this posting highlights some of the changes that might lead to confusion.

For a full list of changes, see the UNIX packaging section of the Changelog for UNIX snapshot 10.51-6252.

Nothing showing up in the applications/software menu?

Just a few quick points here. On some people's systems after install via the install script included with the tarball package Opera may not immediately show up your applications/software menu. If you find this to be the case the easiest quick fix is to logout of your account and then log back in again.

If you use KDE 3 and install via the tarball install script you will find that this still does not resolve the issue. The reason being that KDE 3 does not support having XDG files (icons and *.desktop files) being placed in '/usr/local/share' (more on this later). However, outside of Desktop Environment integration, Opera will be fully functional in all other respects.

Finally, if you use Debian or a derivative distro such as Ubuntu this may also happen with certain Window Managers because we no longer create a Debian menu file. For those unaware what this means, the Debian menu system was a basically neat hack for the fact that WMs each configured their menus differently. These days there is a standard way to configure and maintain applications menus. It is the fd.o menu system. As such many WMs have started to migrate to supporting it, thus slowly rending the Debian work around less relevant.

I obviously don't want to talk at length here about how to natively configure the menus of the multitudes of different WMs available on *nix but if you think this issue affects you and you want to manually get back what you had before, you can quickly create your own Debian menu file and place it in a suitable location, .e.g. make a file called "/etc/menu/opera" (or "~/.menu/opera" if you just want an entry for your current user), with the following contents:

?package(opera):needs="x11" section="Applications/Network/Web Browsing" \
  title="Opera" command="/usr/bin/opera" hints="Web browsers" \
  icon="/usr/share/icons/hicolor/32x32/apps/opera-browser.xpm"

Afterwards run the command 'update-menus' (you may also have to restart your window manager).

If you are curious as to why we are not providing a Debian menu file I would point out that first and foremost we wanted to support the fd.o[/url] menu system as it works on many WMs and DEs (Desktop Environments) and is cross distro. However we will be looking into supporting the Debian menu system in the future as well, once we have ironed out a few potential issues.

Opera and GTK

As has been said previously Opera is not based on GTK, nor does not depend on the presence of GTK libraries. That said, Opera will look like a GTK native application if the GTK libraries are available. Once support is added, the same will go for Qt (i.e. Opera 10.50 no longer depends on Qt but will be able to use the Qt to present itself with a native look if the libraries are available). However, our new .deb and .rpm packages may give some users the false impression of dependency. Why? In a nutshell, Opera now depends on GStreamer for video support, which on most distros cause GTK to be pulled in as well.

The issue actually lies with bad packaging for the gst-plugins-good package (also called: gstreamer-plugins-good, gstreamer-0_10-plugins-good, gstreamer0.10-plugins-good, gst-plugins-good-0.10, etc. depending on your distro of choice). Only a sub-selection of the files within this pacakage actually need GTK libs. Some distros have rectified the situation by splitting it into two packages, one needs GTK the other doesn't. We only need some of the GTK independent files. More detail can be found in this Debian packaging bug report.

If you have GTK applications installed already, are not overly concerned with some extra GTK libs being installed or have a distro that splits up the gst-plugins-good package you will not see any problem. However if you are on an distro that does not split up this package and you have religiously avoided GTK based applications, then attempting to install Opera via either the new .rpm or .deb package will cause your package manager to try and install various GTK libraries as a result of cascading dependencies.

So what should you do if you are a user who does not want any GTK libs on their system and your distro does not split gst-plugins-good into non-GTK and GTK dependant parts? Firstly I would encourage you to contact your distro and politely ask them to consider making their GStreamer packages more modular. This benefits not just Opera but other applications that make use of GStreamer libs but do not require GTK libs themselves. That said, these are your two current options:

  • If you don't need video support right away (since it is not yet widely available on the web) you can install the Opera via the install script included with the tarball package. It will not check for dependencies and hence not complain about the lack of GStreamer. Other dependencies are unlikely to be an issue on modern Linux distributions. If you are on an RPM or APT (.deb) based distro you can switch back in the future by using the 'uninstall-opera' command (set-up by the tarball installer script) and then reinstall via a native package.
  • Accept the GTK libraries for now and reconsider the situation at a latter stage.
Note: Yes, there are messier hacks to get Opera working with video and without GTK support on all distros but we would not recommend you go down this route.

If you are affected by this issue please give feedback below. We would be particularly interested in knowing your distro and if you have given feedback to the distro (and if so if there is an open bug report for the issue).

Supported installation directories

Opera now has three standard install locations: '/usr', '/usr/local' & '~/.local'. '/usr' is the install location when installing a native package type (i.e. an .rpm or .deb package). When installing one of the tarball packages via the install script, installation is to either the system as '/usr/local' or a user install in '~/.local'.

These install locations represent standardised locations for software install. Hence when software is installed to one of these locations it will have application menu entries and MIME types set-up correctly in the default configuration of modern Desktop Environments such as KDE 4, Gnome 2, Xfce 4, etc.

Long time users will note that the previously bundled install script ('install.sh') was less strict and allowed for installation to any location the user wanted, via the 'prefix' and 'DESTDIR' options. 'prefix'/'DESTDIR' was primarily used in the past for:

  • Multiple installations: e.g. installing several builds, each to a different directory.
  • Easy uninstall: installing to a non standard path made it easy to find and delete all Opera install files, should you need to uninstall later.
  • Repackaging: Some users of non RPM or APT (.deb) based distros used these options to temporarily 'install' to a non-standard location, prior to repackaging files into a native package format (that can then be installed via the native package manager).
As only three install locations are now fully supported, it may initially seem that removing 'prefix'/'DESTDIR' is a serious inconvenience. However, that is not necessarily true.

Multiple side by side installs are now supported by the new install script, via install suffixes. During install a (user selected) suffix can be appended to the name of the install files and directories, e.g. if I was to use the suffix 'snapshot' the Opera startup script would become '/usr/local/bin/opera-snapshot' (for a system install) and the shared resource directory would become /usr/local/share/opera-snapshot (other files and directories will also be renamed in a similar vein). Better yet this suffixed install would get its own shortcut in the desktop environment's application menu and would use '~/.opera-snapshot' for its profile settings rather than the main profile ('~/.opera').

Uninstalling Opera is now made easier due to the fact that an uninstall script is created during installation (by the tarball install script) and placed in '/usr/local/bin' (or '~/.local/bin' for a user install). The uninstall script is called 'uninstall-opera'. If side by side suffix installs are done, a unique uninstall script is created for each, e.g. 'uninstall-opera-snapshot'.

Note: The .rpm and .deb packages do not set-up an 'uninstall-opera' script and should be uninstalled by the native package management system.

Installation to alternative locations and re-packaging Opera

If you have previously installed Opera to alternative locations and are concerned by the lack 'prefix'/'DESTDIR' options, firstly consider why you did this in the past and if you really still need this functionality. We would appreciate your feedback if we have missed other benefits of prefixed installs. Whilst some users will find it relatively easy to patch the install script to allow for installation to alternative locations, giving a clear explanation of why you need this option will likely benefit other users, since we are not adverse to making further improvements to the install script where a strong case is demonstrated.

Repackaging Opera is a good example of where alternative install locations could be needed and indeed it is something we are already very aware of. With fixed install locations our new script is not well suited to repackaging, however we do have some plans in the pipeline to assist distro maintainers and users who want to repackage Opera. For now we would advise users of non RPM or APT (.deb) distros to use the install script directly, whilst you await these improvements.

Note: If you can't wait for the proposed repackaging improvements then it is probably easiest to use the .deb or .rpm packages (rather than the tarballs) as a base for repackaging. If you use the .deb, 'ar' or libarchive utilities (e.g. 'bsdcpio' and 'bsdtar') can pull apart the package and you can then extract the contents of the internally contained 'data.tar.gz', excluding the Debian specific 'usr/share/lintian' directory and 'usr/share/doc/opera/changelog.Debian.gz' file. Alternatively the .rpm file can be opened with tools such 'rpm2cpio' or libarchive. Files extracted from either package are already set-up in the correct layout for install into the top level of '/usr'.

Edit: For example, assuming the use of '/tmp/repack' as your repackaging working directory, download a .deb appropriate for your hardware architecture and issue the following:

$ ar p opera_10.51-6252_i386.deb data.tar.gz | tar xz --exclude changelog.Debian.gz --exclude lintian -C /tmp/repack

This will create a 'usr/' directory under '/tmp/repack' with everything already in its correct location. You can then delete the opera_10.51-6252_i386.deb file.

Note: 'ar' is included as part of the GNU Binutils package, so it can be pretty much guaranteed to be present on any system that is used for repackaging. wink

As a further example for Archlinux users, here is a sample Arch PKGBUILD using the .rpm packages as a base. You'll again note how simple this script is.

Ok, questions??

Ruari, an Opera Indonesia shirt and a unicycle!Can the Title Bar of Opera be removed in Linux?

Comments

richlv Saturday, March 20, 2010 10:34:03 AM

so what actually happens if opera is run w/o gstreamer installed and video (html5) page is accessed ?

are there plans to support other backends in the future ?

Chris Cunninghampasserbycmc Saturday, March 20, 2010 12:42:04 PM

what distro are you on it shouldn't be too much of a issue and the main big one, SuSE uses gstreamer on the kde and gnome installs, and all of the debian based distros use gstreamer.

Шуйский Николай [krigstask, Ŝtérkrìg]Sterkrig Saturday, March 20, 2010 12:58:54 PM

Well, well, well… That's excellent, I must say, that Evenes became mature enough to be packaged to deb/rpm, but three hardcoded installation paths worry me. Most FHS-compliant place for Opera is /opt/, I think. That's where it is installed here, in Gentoo Linux, by the way (-;E
/usr/local is traditionaly used for software compiled from source manually, by root user, and make installed. As far as I could understand, even installing Opera to /usr with install script now is quite troublesome. --prefix/DESTDIR usage is very common in *nix world, so I think that dropping them is of now benefit to anyone.

Daniel HoffmannFalconHoffmann Saturday, March 20, 2010 1:07:36 PM

If I have xfce or KDE installed but I still have the GTK libs installed too when I start Opera it would load the gtk libraries (including the core GTK libraries)? That would increase the startup time in 30 seconds. Is there no option to not load any GTK library at all (even if it means losing support for the

Шуйский Николай [krigstask, Ŝtérkrìg]Sterkrig Saturday, March 20, 2010 1:27:30 PM

Originally posted by Daniel Hoffmann:

If I have xfce or KDE installed but I still have the GTK libs installed


If you use XFCE, you've got GTK+ installed and loaded.

Originally posted by Daniel Hoffmann:

That would increase the startup time in 30 seconds


Surely not!

Originally posted by Daniel Hoffmann:

when I start Opera it would load the gtk libraries (including the core GTK libraries)?


It shoild not. I daresay it'd read GTK+ settings, that's all.

FransFrenzie Saturday, March 20, 2010 2:25:13 PM

Originally posted by Daniel Hoffmann:

Is there no option to not load any GTK library at all (even if it means losing support for the


Not that I know anything about what happens, but this post was all about how GTK is not required (but that some distros mistakenly pull it in as a dependency), so why would it load any GTK libraries?

Unregistered user Saturday, March 20, 2010 3:05:42 PM

spc writes: Not too shabby. The only galling problem is html5 video support at archive.org (works fine with Midori/webkit), dailymotion :( . Gtk integration is quite good - now browser interface feels more responsive. Not bad...

FransFrenzie Saturday, March 20, 2010 3:06:46 PM

Originally posted by anonymous:

Gtk integration is quite good - now browser interface feels more responsive.


The interface feels more responsive because it looks more native? That's a new one.

marcorion Saturday, March 20, 2010 3:30:44 PM

PKGBUILD on AUR is b0rked, and will not start, following all these re-locations.

Joonas Lehtolahtigodjonez Saturday, March 20, 2010 5:52:36 PM

What all dependencies does the video support have? As you might remember, I run 64-bit Ubuntu 9.04 server edition so it does not have any extra GTK/QT libraries and I merely run Opera through SSH tunneling to test it.

I have installed gstreamer0.10-plugins-good package, but when I tried to play the test video at http://snapshot.opera.com/resources/BigBuckBunny.html it would only display the poster image, pressing Play button does nothing but change the button to look like Pause button; the video itself does not start playing. I installed the latest snapshot from the tarball instead of using .deb package (for the same reason I use classic installer over MSI installer on Windows...), so it looks like it's still missing something to enable video, but aside from the gstreamer package what else could be required?

For the record, installing gstreamer0.10-plugins-good did not ask to install any extra gnome stuff on this system smile

Unregistered user Saturday, March 20, 2010 6:21:24 PM

spc writes: @Franz Yeah :D i should break it up in to 2 sentences: 1. Gtk integration is good. 2. Opera feels more responsive than my current 10.00 with qt3 which has tendency to slugishness. Cheers

Ruarí Ødegaardruario Saturday, March 20, 2010 6:26:32 PM

Originally posted by richlv:

so what actually happens if opera is run w/o gstreamer installed and video (html5) page is accessed ?

video doesn't play

Originally posted by richlv:

are there plans to support other backends in the future ?

No

Originally posted by Sterkrig:

Most FHS-compliant place for Opera is /opt/, I think.

'/opt' is supposed to be for apps that don't conform to FHS (Opera does). '/usr/local/' can be apps not installed/managed by a native package manager.

Originally posted by Sterkrig:

--prefix/DESTDIR usage is very common in *nix world, so I think that dropping them is of now benefit to anyone.

. We'll provide a solution that allows for repackaging in the future.

Originally posted by FalconHoffmann:

when I start Opera it would load the gtk libraries (including the core GTK libraries)? That would increase the startup time in 30 seconds.

No it won't.

Originally posted by FalconHoffmann:

Is there no option to not load any GTK library at all (even if it means losing support for the

If you have GTK libs installed there is no benefit in not using them. Also GTK is not used for video .. you might want to re-read that section. wink

Originally posted by marcorion:

PKGBUILD on AUR is b0rked, and will not start, following all these re-locations.

As you know I use Arch myself. Yes, the old PKGBUILDS are broken by the lack of prefix, which they expect to use. A new one could be made using the .deb as a source. If you don't fancy that a direct install should work. Are you saying that it doesn't for you?


Originally posted by godjonez:

I installed the latest snapshot from the tarball instead of using .deb package

The tarball does no dependency checking, hence why gstreamer0.10-plugins-good and hence GTK was not pulled down. Install gstreamer0.10-plugins-good via apt-get or aptitude and you will have working video, though GTK libs will come along with them.

Joonas Lehtolahtigodjonez Saturday, March 20, 2010 6:29:05 PM

Originally posted by ruario:

The tarball does no dependency checking, hence why gstreamer0.10-plugins-good and hence GTK was not pulled down. Install gstreamer0.10-plugins-good via apt-get or aptitude and you will have working video, though GTK libs will come along with them.


As I mentioned, I did install that package (did it via apt-get) but the video didn't play.

Ruarí Ødegaardruario Saturday, March 20, 2010 6:52:33 PM

Originally posted by godjonez:

As I mentioned, I did install that package (did it via apt-get) but the video didn't play.

Hmm, sorry I misunderstood then. I am not sure why it is not working for you but this is not something I can replicate.

Шуйский Николай [krigstask, Ŝtérkrìg]Sterkrig Saturday, March 20, 2010 8:55:04 PM

Originally posted by ruario:

If you have GTK libs installed there is no benefit in not using them


Actually, there is. They may be installed, but not loaded, so there's additional time for loading and additional RAM consumed. Does Opera load them?

Originally posted by ruario:

'/opt' is supposed to be for apps that don't conform to FHS (Opera does).


It seems like there's several interpretations.

'/usr/local/' can be apps not installed/managed by a native package manager.


Yep, my point exactly.

Originally posted by ruario:

We'll provide a solution that allows for repackaging in the future.


All right, that's fine by me (and probably distro packagers as well) (-:E

Roman Kyrylychrkyrylych Saturday, March 20, 2010 9:11:31 PM

Ruari, does the "Repackaging" option mean that non-deb/rpm distributions (e.g. Arch Linux) can provide repackaged packages in their repositories without the risk of violating the EULA?

Ruarí Ødegaardruario Saturday, March 20, 2010 11:33:50 PM

Sorry Roman, I will not discuss the EULA here.

rasive Sunday, March 21, 2010 12:00:46 AM

Do you have any plans to place the taps upon the window title bar, as in the windows builds? I know chrome does it, and i really have come to love this feature, since it gives you more room for browsing, and it would be wonderful to see this implemented in opera as well.

Ruarí Ødegaardruario Sunday, March 21, 2010 12:07:42 AM

@rasive: UNIX is different and hence this is less relevant. Whether you have a title bar or not is down to your Window Manger (hence many users already don't have one). So, if you don't like title bars, or would like them smaller, or only on the side, etc. then try another window Manger! p

Trying to force it always not be present in all window managers would make us less 'native' IMHO.

Unregistered user Sunday, March 21, 2010 1:02:21 AM

phavx writes: >> are there plans to support other backends in the future ? > No that's (making me) sad :( No HTML5- for me, as I definetly won't install gstreamer, as I don't want yet another media-backend just for this stuff and I sure as hell won't drop mplayer.

svdb0 Sunday, March 21, 2010 2:12:44 AM

I would think that "easy uninstall" would be enough of a reason to want to install a program in a separate directory.
For me, the file system is the package manager. I'm not using an off-the-shelf Linux distribution myself, but I know that at least the GoboLinux distribution follows the same principle.

Ruarí Ødegaardruario Sunday, March 21, 2010 8:55:07 AM

svdb0: Just unpack the tarball then and use the included wrapper. Then everything is self contained, including the profile.

Шуйский Николай [krigstask, Ŝtérkrìg]Sterkrig Sunday, March 21, 2010 9:14:56 AM

Originally posted by ruario:

Whether you have a title bar or not is down to your Window Manger (hence many users already don't have one).


Plus, if you think that tabbar with titlebar eats up too much of vertical space on your display, you could get rid of both of them! (As I did).

Jakalynxlynxlynx Sunday, March 21, 2010 12:55:01 PM

here's another packager's complaint about the removal of --prefix. The repackaging you mention doesn't sound like it would help tarball users, so it's good news that the installer is still a script and that despite the new options, it has a text and no-questions mode.

EuGene Wolfeeugenewolfe Sunday, March 21, 2010 1:05:49 PM

I have one big problem. In newest build of the Opera, instead of Polish signs (polish version of the Opera) i have that one: ƱƶǦƼǪƳ. I can't write in my own language!

Joonas Lehtolahtigodjonez Sunday, March 21, 2010 1:13:31 PM

Originally posted by eugenewolfe:

I have one big problem. In newest build of the Opera, instead of Polish signs (polish version of the Opera) i have that one: ƱƶǦƼǪƳ. I can't write in my own language!


Did you read the "Known Issues" part of the snapshot release?

Unregistered user Sunday, March 21, 2010 3:46:27 PM

Nelson A. de Oliveira writes: Would be much better if you make gstreamer0.10-plugins-good as a Recommends only instead a Depends (since it seems that Opera will works even without it, but just without video). Also, bad move in removing /usr/share/menu/opera You need to see that in Debian we have a lot of window managers and some of them don't use .desktop files. You should distribute both the menu and the desktop files.

Unregistered user Sunday, March 21, 2010 4:19:06 PM

Anonymous writes: Thank you for the snapshot, Opera staff. I've tried a few of the 10.5x releases, but I'm sorry to say the interface still seems very buggy :-( It's getting better by the release, but there are still quite a few problems. Disclaimer: I've been Opera user since 6.5 on Windows, and since 7 or 7.2 on Linux. I have gotten accustomed to the speed of Opera: mainly the speed of user interface in that navigating pages has always been very fast. The use of keyboard shortcuts and especially mouse gestures has been drilled into my brain. I'm also fan of the opera.config setting History Navigation Mode=3, in which pressing back button will redraw the previous page instantly rather than querying everything from the server again and having the screen flicker for 2 seconds. 1. I cannot get Japanese input to work on the new Opera. Using 10.10 (gcc4 qt3-shared build) it works fine, as it does in other QT3 and 4 and GTK+ applications. I cannot tell if the new Opera uses QT anymore, or if it's statically linked, but it still seems to be without immqt support. Whatever the reason is, the fact remains I cannot type in the language (fwiw, I use UIM with Anthy). 2. The other problem is with shortcut keys and mouse gestures. I'll start with the mouse. If I have a window open with no tabs, certain mouse gestures do not work, such as GestureDown (hold right click, drag mouse down and release) to open up a new page. This is an important feature for me. Also double clicking the window will not open a new page, however double clicking the tab bar will. One other mouse gesture that I have gotten very accustomed to does not work, although I'm not sure if it's a setting problem, is holding the right mouse button and scrolling with your mouse. In older Opera releases it will show a list of pages and let you choose which one you want to open, much like pressing ctrl+tab. It allows you to switch between pages swiftly without having to think about it. Also it seems my mouse's back and forward buttons do not work in the new Opera. There is flipback (press and hold rmb, click lmb and release) which is good, but it'd be nice to have the back and forward buttons work as well. I have the mouse gesture set to "Button6" as action "Back" on both new and old Opera, but I have not tried other values. Concerning keyboard input, I like to use single key hotkeys (such as 'n' for new page, 'w' for closing the page). I've noticed that if you open a new page (with speed dial), the focus is automatically on the address bar. This is fine, except that hitting escape will not defocus it, meaning it is impossible to close the page with a single key shortcut, and you have to use a mouse gesture to close the page. These may sound like small details, but those are exactly what make Opera very speedy to use. Hotkeys and mouse gestures will let you surf the web, check your favorite websites and manage pages in such speed that many other browser's users can't keep up with :-) Well, at least IPv6 works with the new Opera, unlike the older broken 10.x builds. The video support seemed lovely as well. Because of the problems I mentioned above, I am however going to have to stay with Opera 10.10 for now. More details are available if needed, of course assuming that an old grumpy user's opinions are heard.

Шуйский Николай [krigstask, Ŝtérkrìg]Sterkrig Sunday, March 21, 2010 4:44:37 PM

I am really surprised how many people complain here. There's devblog, there're forums, there's Bug Tracking System, and still we see completely unrelated comments, and all of them about input bugs. I am Russian, and I type Russian a lot, but I know what "alpha quality" means, and I could read Known issues, so I'm stick with Opera 10.10 and wait (im)patiently for Evenes to mature. Why so many people seem not to be able to do the same?

Unregistered user Sunday, March 21, 2010 5:42:55 PM

Anonymous writes: ^ I'm the poster above. Oh great. I posted this in the wrong place. Sorry about that :-)

EuGene Wolfeeugenewolfe Sunday, March 21, 2010 10:53:19 PM

Originally posted by godjonez:

Did you read the "Known Issues" part of the snapshot release?



Oh... true. What a disappointment...
Must wait for another one.

Originally posted by Sterkrig:

Why so many people seem not to be able to do the same?



Cuz Windows and Mac have their one for a long time, and we have still only alpha. And I cannot even test this version because of no Polish signs.

Шуйский Николай [krigstask, Ŝtérkrìg]Sterkrig Sunday, March 21, 2010 11:19:49 PM

Originally posted by eugenewolfe:

Cuz Windows and Mac have their one for a long time, and we have still only alpha. And I cannot even test this version because of no Polish signs.


So do I. So what?
Sorry if I offend you, but your words are of no use or help or anything. To anyone. "Your alpha build is too buggy for me to test" sounds quite strange for me. All right, don't test it. Can you help? No. You want to know why *nix version still lags behind? That's obvious, Qt disposal is a lot of work. And I'm quite sure Windows building was speeded up by "Select your Windows browser" celebration. That will benefit all Opera and Web users, so I appreciate it. And advise you to do the same. We're all grown-up here, let's not behave like capricious kids.

Originally posted by ruario:

So, if you don't like title bars, or would like them smaller, or only on the side, etc. then try another window Manger!


Another solution is to turn off titlebar for maximized Opera. I did this in KDE3 times, and I'm pretty sure Fluxbox can do that.

Cutting Spoonhellspork Monday, March 22, 2010 2:22:34 AM

A very good read, the below seems relevant to your article:

http://mso-chronicles.blogspot.com/2008/09/gstreamer-is-future.html

To the above concerned over MPlayer, the GStreamer libs needed are minimal and should not affect your system (since none of your other software should be looking for it).

paulgca Monday, March 22, 2010 1:08:33 PM

Any Solaris builds in the pipeline ?

Ruarí Ødegaardruario Monday, March 22, 2010 1:24:45 PM

Originally posted by paulgca:

Any Solaris builds in the pipeline ?

You'll no doubt have noticed I have been avoiding your (and other's) questions on Solaris. At the moment it is hard to comment on our specific plans but I hope to be able to give you a proper update soon. Sorry for the lack of feedback thus far.

Unregistered user Monday, March 22, 2010 2:41:48 PM

noamik writes: Is it just me, or is Java plugin not working at all with this version? I added path to java-lib manually to plugins path. It than crashed. After restart Java plugin was listed in Plugin-List but does not load when needed ...

Ruarí Ødegaardruario Monday, March 22, 2010 2:53:43 PM

it is not working.

Aaron WatryVeerappan Monday, March 22, 2010 4:47:47 PM

Originally posted by ruario:

You'll no doubt have noticed I have been avoiding your (and other's) questions on Solaris. At the moment it is hard to comment on our specific plans but I hope to be able to give you a proper update soon. Sorry for the lack of feedback thus far.



It's understandable, even if I'm impatient... Mostly the problem that I have is that I see all these wonderful enhancements in Linux/Windows and want to get the benefits on my work machine.

I've benched Peacekeeper on this machine (Ultrasparc IIIi 1.6Ghz, Solaris 10) at 389 for Opera 10.10, and Firefox 3.6 rings in at 589. Being able to get this machine up into the 800+ realm would be like a dream (I've been spending the last few months developing AJAX applications on this excruciatingly slow machine).

Edit:
Oh, and I forgot to comment on the removal of the --prefix option. As I said, my machine is a work machine, and in this case I don't have root access. Installing in /usr/* is not an option. I've also been maintaining a shared install of Opera on a network drive so that several of my similarly-disadvantaged co-workers could benefit from running Opera. If I installed to ~/.local, I'd have to hand-edit the wrapper script and symlink ~/.local to the network share (and get my co-workers to symlink as well). In this case, installing directly to the network share is ideal for me, but I can probably make do with a workaround for now.

Ruarí Ødegaardruario Monday, March 22, 2010 6:11:45 PM

I added some more repackaging examples to the main blog post.

Ruarí Ødegaardruario Monday, March 22, 2010 8:26:14 PM

@Sterkrig: On Gentoo is a temporary repacking directory used? If not, the following would probably work:

sed -i install -e 's|\$HOME/.local|/opt/opera|'
./install --user --unattended
Of course, if we alter the install script then this may fail in the future.

Шуйский Николай [krigstask, Ŝtérkrìg]Sterkrig Monday, March 22, 2010 8:51:11 PM

Originally posted by ruario:

On Gentoo is a temporary repacking directory used?


Yep. Every package is installed into something like /var/tmp/portage/www-client/opera-10.51_pre6252/distdir/. I think I could probably ping Gentoo maintainer for Opera and point him here if he's interested.

You could see how it's done in current ebuild

Unregistered user Tuesday, March 23, 2010 7:43:23 AM

Anonymous writes: Nice to hear you guys are putting some thought into this. On Slackware, I've tried both making my own Opera packages and using Slackbuild scripts, but lately I've found it is most convenient to just repackage the RPM with src2pkg. I think that makes me a bad slacker. :\

gibson Tuesday, March 23, 2010 12:54:07 PM

My main need for DESTDIR: I am not root (so I can't write to /usr/local/), and I want to install for multiple people on a network location. My home directory is not an option.

I used to set the Opera install prefix to
/proj/PROJECTNAME/tools/lib/opera-$version
like
/proj/PROJECTNAME/tools/lib/opera-10.20-4744.gcc4-qt4.x86_64
and installed a symbolic link
/proj/PROJECTNAME/tools/bin/opera-10.20-4744.gcc4-qt4.x86_64
to the Opera wrapper script.
On and I created an "opera" and/or "opera1020" link, or the likes.

This is not urgent for me, but just to point out the use case. Other companies may want to put the software under their own tools directory, and not have to copy things around and adjust paths.

Ruarí Ødegaardruario Tuesday, March 23, 2010 1:46:49 PM

@gibson: First patch the install script, replacing the '$HOME/.local' install location with your preffered path:

sed -i install -e "s|\$HOME/.local|/proj/PROJECTNAME/tools/lib/opera-10.51-6252.x86_64|"

Then run the script as follows:

./install --user --unattended

This should give you what you had before. wink

However, you may wish to consider making use of the --suffix to do things differently. Consider the following:

sed -i install -e "s|\$HOME/.local|/proj/PROJECTNAME/tools/lib/opera.x86_64|"

Followed by:

./install --user --unattended --suffix 10.51-6252

Now, all x86_64 builds would be installed the same directory but each would have its own startup script, e.g. in this case 'opera-10.51-6252'. Additionally each would write to a different prefs folder, e.g. in this case "$HOME/.opera-10.51-6252". This would allow you to install multiple snapshots for your users, without them mixing profiles between snapshot versions.

Just something to consider. wink

Ruarí Ødegaardruario Tuesday, March 23, 2010 2:01:56 PM

Originally posted by Sterkrig:

Yep. Every package is installed into something like /var/tmp/portage/www-client/opera-10.51_pre6252/distdir/.



So they are repackaged there first but should have their prefix set to /opt/opera (based on your earlier comments)?

Originally posted by Sterkrig:

You could see how it's done in current ebuild



Hmm ... it is probably just me but I am having a little trouble following that. I think he is just shifting around the contents of the tarball but this would leave @@{PREFIX} and @@{[U_]*SUFFIX} in the *.desktop, man and MIME files. Also the opera wrapper needs to be rewritten to use the correct profile '~/.opera'.

I before I can attempt to assist I think I'll need to better understand the ebuild system.

Ruarí Ødegaardruario Tuesday, March 23, 2010 2:30:19 PM

@Sterkrig: As a very rough hack this might work to place opera files in "/var/tmp/portage/www-client/opera-10.51_pre6252/distdir/", with '/opt/opera/' set as the install directory.

Of course this could be tidied up and I presume "/var/tmp/portage/www-client/opera-10.51_pre6252/distdir/" is set as a variable so I don't really need to list it out in full each time.

Of course I have probably completely misunderstood how things work on Gentoo, in which case. Go easy on me! wink

Ruarí Ødegaardruario Tuesday, March 23, 2010 2:43:32 PM

@anonymous Slackware user: Change to a suitable directory, wget one of the .deb files and try the following:
ar x opera_10.51-6252_*.deb data.tar.gz 
tar xf data.tar.gz --exclude changelog.Debian.gz --exclude lintian 
rm opera_10.51-6252_*.deb data.tar.gz 
(You'll need the GNU Binutils package for 'ar').

Then make an 'install/' directory and place a suitable 'slack-desc' file in it. Then tar './usr/' and './install/' up in an appropriately named package and you should have something suitable. wink

P.S. I am sure you are already aware of it (but just in case you are not), see also the linuxpackages.net perfect package page.

Шуйский Николай [krigstask, Ŝtérkrìg]Sterkrig Tuesday, March 23, 2010 2:57:56 PM

I am sorry for inconsistencies. Ebuild for 10.51 installs Opera in /usr. Earlier versions (like 10.10 were installed in /opt. Can't say why, really.

Now about ebuild system. Basically ebuild is bash script defining variables for package manager and functions for various actions. All the work (compiling, installing, repackaging etc.) is done in temporary directory /var/tmp/portage/${PACKAGE-CATEGORY}/${P_NAME}-${P_VERSION}/, with several directories, including:
  • work — here's 'compile' phase takes place
  • destdir (${D}) — that's 'root' for 'install' phase, target directory for make install, homebrew installers etc.

After installation in ${D} has been completed, everything from it is merged into root file tree.

So, for Opera to be easy ebuilt, installer script should ease installation into ${D}, using '~/.opera' as a profile.

Hope it did clarify something a bit (-:E

Ruarí Ødegaardruario Tuesday, March 23, 2010 3:02:11 PM

Originally posted by Sterkrig:

Ebuild for 10.51 installs Opera in /usr.


Well that makes things much easier, assuming the maintainer has no problem with using the .deb file rather than the .tar.bz2. If so, then presumably the following would work:

$ ar x opera_10.51-6252_*.deb data.tar.gz
$ tar xf data.tar.gz --exclude changelog.Debian.gz --exclude lintian -C ${D}

Шуйский Николай [krigstask, Ŝtérkrìg]Sterkrig Tuesday, March 23, 2010 3:07:58 PM

Originally posted by Ruari Ødegaard:

As a very rough hack…


There's plenty of ways to hack new install script, special sed magic never let *nix users down (-;E
But I think everyone agrees, that's the less hacks both users and maintainers / repackagers have to use to achieve pretty common and obvious goals, the better Opera expirience *nix users get, am I right? So I hope our discussion will help everyone in it, and we'll get good'n'proper installation script, allowing for easy Opera installation in every system (-:E


Originally posted by Ruari Ødegaard:

Well that makes things much easier, assuming the maintainer has no problem with using the .deb file, rather than the .tar.bz2. If so, then presumably the following would work


Yep, probably that do. But that makes installer more or less useless, if it's easier to repack .deb than to use script!

How to use Quote function:

  1. Select some text
  2. Click on the Quote link

Write a comment

Comment
(BBcode and HTML is turned off for anonymous user comments.)

If you can't read the words, press the small reload icon.


Smilies