Share your knowledge at the LQ Wiki.
Go Back > Blogs > unSpawn
User Name


Rate this Entry

rpmlib(PayloadIsXz) is needed by opera-11.60-1185

Posted 12-10-2011 at 05:49 AM by unSpawn

Running rpm_check_debug
ERROR with rpm_check_debug vs depsolve:
rpmlib(PayloadIsXz) is needed by opera-11.60-1185
(1, [u'Please report this error in'])
If you run into the above warning and are unable to get Opera installed the you should be aware of how Opera responded:
this is not a change in policy, just a change in packaging. Opera often works on 'unsupported' distros because we have tried to design graceful fallbacks. For example Opera can do desktop environment integration but if the Gtk or KDE libs are too old it will fall back to its own styling. Additionally Opera's dependencies are minimal comparative to our major competitors. So all the policy really means is that we won't make major changes to accommodate those 'unsupported' distros. At the same time many users run on them and that is obviously fine by us.

As to what our 'support' policy is, it basically breaks down as follows. For the most part we consider distros supported as long as their upstream provider also providers support them, e.g. right now some of the older distros would be Debian 5.x, Ubuntu 10.04 LTS, etc. However, one exception to this rule (as you have discovered) is that with 'Enterprise' distros we only support the latest version (not all the older supported versions). There are two reasons for this, firstly their libraries are often too old meaning they can't support Opera's full functionality (as it happens right now the only real downside on RHEL/Centos/Scientific 5.x is a lack of Gtk integration). Secondly, most desktop users will want to run the latest version of these Enterprise distros to allow them to run a bigger range of up to date desktop software. Sure, we realise that people such as yourself use Centos 5.x on the desktop but its biggest market is servers, where avoidance of updates is more critical. It is fairly trivial and relatively risk (and cost) free to update a desktop distro.

All that said, Opera will still run (often minus certain things like Gtk integration, HTML5 video support) on many older distros (I used Ubuntu 6.06 just last week and that distro was released on 1 June 2006), so for you this is only really a packaging issue.

Since we make a wider range of binary packages available than our competitors, with more flexible install options, you can still install and use Opera. You just have to switch to a non-native tar.bz2 package with the included install script. Or as I stated above, use a package created by the your distro or the community, just like you already do for probably ever other piece of software you have installed.

To work around XZ payloads just convert and repack it:
- D/L your preferred Opera RPM and store it in your ~/redhat/SOURCES directory,
- save the .spec file below as say "opera-11.60-1185_REPACK.spec",
- adjust the _buildarch %define is you're building for x64,
- run 'rpmbuild -bb opera-11.60-1185_REPACK.spec' and your new RPM is read for install.
* If your build process ends with "BAD MOVE!" that's a warning to not build packages as root.

%define debug_packages	%{nil}
%define debug_package %{nil}
%define name opera
%define ver 11.60
%define rel 1185
%define _buildarch i386
Name: %{name}
Summary: %{name}
Version: %{ver}
Release: %{rel}
License: Proprietary
Group: Applications/Internet
Source0: %{name}-%{ver}.%{rel}.%{_buildarch}.rpm
BuildRequires: rpm, cpio, xz
Provides: %{name}
Vendor: Opera Software ASA
BuildRoot: %{_tmppath}/%{name}-%{version}

Opera is a small, fast, customizable, powerful and user-friendly web
browser, as well as an Internet suite, including an email client, an IRC
client, web developer tools (Opera Dragonfly), and a personal web server
(Opera Unite).

[ `id -u` -eq 0 ] && { echo 'BAD MOVE!' >/dev/stderr; exit 1; }

if [ "$RPM_BUILD_ROOT" = "%{_tmppath}/%{name}-%{version}" ]; then
	rpm2cpio ${RPM_SOURCE_DIR}/%{name}-%{ver}-%{rel}.%{_buildarch}.rpm | xz -dc | cpio --extract --make-directories --verbose
	echo "Invalid Build root "${RPM_BUILD_ROOT}"."; exit 1
# Pre-%files stage inventory
find $RPM_BUILD_ROOT -not -type d -printf "%%%attr(%%m,root,root) %%p\n" | sed -e "s|$RPM_BUILD_ROOT||g" > %{_tmppath}/%{name}_contents.txt

if [ "$RPM_BUILD_ROOT" = "%{_tmppath}/%{name}-%{version}" ]; then rm -rf $RPM_BUILD_ROOT
else echo "Invalid Build root "${RPM_BUILD_ROOT}"."; exit 1

%files -f %{_tmppath}/%{name}_contents.txt

* Sat Dec 10 2011 %{packager}
- Convert RPM due to "rpmlib(PayloadIsXz) <= 5.2-1" message on unsupported platforms.
Have fun!
Posted in Uncategorized
Views 3657 Comments 0
« Prev     Main     Next »


All times are GMT -5. The time now is 08:32 PM.

Main Menu
Write for LQ is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration