2011-09-20 16:10:49 +00:00
|
|
|
#
|
|
|
|
|
# spec file for package chromium
|
|
|
|
|
#
|
2012-01-26 08:17:54 +00:00
|
|
|
# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
2011-09-20 16:10:49 +00:00
|
|
|
#
|
|
|
|
|
# All modifications and additions to the file contributed by third parties
|
|
|
|
|
# remain the property of their copyright owners, unless otherwise agreed
|
|
|
|
|
# upon. The license for this file, and modifications and additions to the
|
|
|
|
|
# file, is the same license as for the pristine package itself (unless the
|
|
|
|
|
# license for the pristine package is not an Open Source License, in which
|
|
|
|
|
# case the license is the MIT License). An "Open Source License" is a
|
|
|
|
|
# license that conforms to the Open Source Definition (Version 1.9)
|
|
|
|
|
# published by the Open Source Initiative.
|
|
|
|
|
|
|
|
|
|
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
|
|
|
|
#
|
|
|
|
|
|
2012-02-10 05:45:26 +00:00
|
|
|
|
2012-04-26 16:00:24 +00:00
|
|
|
%define v8_ver 3.10.6.0
|
2012-04-29 15:52:36 +00:00
|
|
|
%define svn_revision 134494
|
2011-09-20 16:10:49 +00:00
|
|
|
|
|
|
|
|
Name: chromium
|
2012-04-29 15:52:36 +00:00
|
|
|
Version: 20.0.1123.0
|
2011-12-10 18:59:34 +00:00
|
|
|
Release: 0
|
2011-09-20 16:10:49 +00:00
|
|
|
Summary: Google's opens source browser project
|
2011-12-10 18:59:34 +00:00
|
|
|
License: BSD-3-Clause and LGPL-2.1+
|
2011-09-20 16:10:49 +00:00
|
|
|
Group: Productivity/Networking/Web/Browsers
|
|
|
|
|
Url: http://code.google.com/p/chromium/
|
2012-02-15 07:49:38 +00:00
|
|
|
Source0: %{name}.%{version}.svn%{svn_revision}.tar.bz2
|
2012-02-10 05:45:26 +00:00
|
|
|
%if 0%{?suse_version} == 1140
|
2011-09-20 16:14:59 +00:00
|
|
|
Source1: %{name}.easy
|
2011-09-21 13:50:46 +00:00
|
|
|
Source2: %{name}-rpmlintrc
|
2011-09-20 16:14:59 +00:00
|
|
|
%endif
|
2011-09-20 16:10:49 +00:00
|
|
|
Source20: chromium-vendor.patch.in
|
|
|
|
|
Source30: master_preferences
|
|
|
|
|
Source31: default_bookmarks.html
|
|
|
|
|
Source99: chrome-wrapper
|
|
|
|
|
Source100: chromium-browser.sh
|
|
|
|
|
Source101: chromium-browser.desktop
|
|
|
|
|
Source102: chromium-browser.xml
|
|
|
|
|
Source104: chromium-icons.tar.bz2
|
|
|
|
|
Provides: chromium-based-browser = %{version}
|
2012-02-20 14:44:25 +00:00
|
|
|
Provides: chromium-browser = %{version}
|
2012-03-06 09:34:34 +00:00
|
|
|
Provides: browser(npapi)
|
2011-09-20 16:10:49 +00:00
|
|
|
Obsoletes: chromium-browser < %{version}
|
|
|
|
|
|
|
|
|
|
## Start Patches
|
|
|
|
|
# Many changes to the gyp systems so we can use system libraries
|
|
|
|
|
# PATCH-FIX-OPENSUSE Fix build with GCC 4.6
|
|
|
|
|
Patch1: chromium-gcc46.patch
|
|
|
|
|
# PATCH-FIX-OPENSUSE patches in system zlib library
|
|
|
|
|
Patch8: chromium-codechanges-zlib.patch
|
|
|
|
|
# PATCH-FIX-OPENSUSE removes build part for courgette
|
|
|
|
|
Patch13: chromium-no-courgette.patch
|
2011-09-22 09:54:33 +00:00
|
|
|
# PATCH-FIX-OPENSUSE enables reading of the master preference
|
2011-09-20 16:10:49 +00:00
|
|
|
Patch14: chromium-master-prefs-path.patch
|
|
|
|
|
# PATCH-FIX-OPENSUSE patches in system glew library
|
|
|
|
|
Patch17: chromium-system-glew.patch
|
|
|
|
|
# PATCH-FIX-OPENSUSE patches in system expat library
|
|
|
|
|
Patch18: chromium-system-expat.patch
|
|
|
|
|
# PATCH-FIX-OPENSUSE disables the requirement for ffmpeg
|
|
|
|
|
Patch20: chromium-6.0.425.0-ffmpeg-no-pkgconfig.patch
|
|
|
|
|
# PATCH-FIX-OPENSUSE disable the use of tcmallic function
|
|
|
|
|
Patch25: tcmalloc-factory.patch
|
|
|
|
|
# PATCH-FIX-OPENSUSE make sure that Chrome remoting is linking against the system libvpx
|
|
|
|
|
Patch26: chromium-remoting-build-fix.diff
|
|
|
|
|
# PATCH-FIX-OPENSUSE patches in system speex library
|
|
|
|
|
Patch28: chromium-7.0.500.0-system-speex.patch
|
|
|
|
|
# PATCH-FIX-OPENSUSE patches in the system libvpx library
|
|
|
|
|
Patch32: chromium-7.0.542.0-system-libvpx.patch
|
|
|
|
|
# PATCH-FIX-OPENSUSE remove the rpath in the libraries
|
|
|
|
|
Patch62: chromium-norpath.patch
|
|
|
|
|
# PATCH-FIX-OPENSUSE patches in the system v8 library
|
|
|
|
|
Patch63: chromium-6.0.406.0-system-gyp-v8.patch
|
2011-12-01 12:23:55 +00:00
|
|
|
# PATCH-FIX-UPSTREAM Add more charset aliases
|
|
|
|
|
Patch64: chromium-more-codec-aliases.patch
|
2012-01-26 08:17:54 +00:00
|
|
|
# PATCH-FIX-OPENSUSE Compile the sandbox with -fPIE settings
|
|
|
|
|
Patch66: chromium-sandbox-pie.patch
|
2012-03-18 08:31:48 +00:00
|
|
|
# PATCH-FIX-OPENSUSE Compile with the standard gold linker
|
|
|
|
|
Patch67: chromium_use_gold.patch
|
2012-03-18 17:44:44 +00:00
|
|
|
# PATCH-FIX-OPENSUSE Fix build with GCC 4.7
|
|
|
|
|
Patch68: chromium-gcc47.patch
|
2011-09-20 16:10:49 +00:00
|
|
|
|
2011-12-15 09:51:34 +00:00
|
|
|
%if 0%{?suse_version} > 1210
|
|
|
|
|
BuildRequires: libjpeg8-devel
|
|
|
|
|
%endif
|
2011-09-20 16:10:49 +00:00
|
|
|
BuildRequires: Mesa-devel
|
|
|
|
|
BuildRequires: alsa-devel
|
2012-03-18 09:26:57 +00:00
|
|
|
BuildRequires: binutils-gold
|
2011-09-20 16:10:49 +00:00
|
|
|
BuildRequires: bison
|
|
|
|
|
BuildRequires: cups-devel
|
|
|
|
|
BuildRequires: desktop-file-utils
|
|
|
|
|
BuildRequires: fdupes
|
|
|
|
|
BuildRequires: flex
|
|
|
|
|
BuildRequires: freetype2-devel
|
|
|
|
|
BuildRequires: gcc
|
|
|
|
|
BuildRequires: gcc-c++
|
|
|
|
|
BuildRequires: gperf
|
|
|
|
|
BuildRequires: hunspell-devel
|
2012-03-06 09:34:34 +00:00
|
|
|
BuildRequires: krb5-devel
|
2011-09-20 16:10:49 +00:00
|
|
|
BuildRequires: libbz2-devel
|
|
|
|
|
BuildRequires: libevent
|
|
|
|
|
BuildRequires: libexpat-devel
|
|
|
|
|
BuildRequires: libgnutls-devel
|
|
|
|
|
BuildRequires: libpng-devel
|
|
|
|
|
BuildRequires: libstdc++-devel
|
|
|
|
|
BuildRequires: libvpx-devel
|
|
|
|
|
BuildRequires: libxslt-devel
|
|
|
|
|
BuildRequires: libzip-devel
|
|
|
|
|
BuildRequires: lzma
|
|
|
|
|
BuildRequires: mozilla-nspr-devel
|
|
|
|
|
BuildRequires: mozilla-nss-devel
|
|
|
|
|
BuildRequires: openssl-devel
|
|
|
|
|
BuildRequires: pam-devel
|
|
|
|
|
BuildRequires: pkg-config
|
2011-12-28 12:22:33 +00:00
|
|
|
%if 0%{?suse_version} > 1210
|
2011-12-28 12:13:39 +00:00
|
|
|
BuildRequires: perl-Switch
|
2012-01-30 21:11:21 +00:00
|
|
|
%else
|
|
|
|
|
BuildRequires: perl(Switch)
|
2011-12-28 12:22:33 +00:00
|
|
|
%endif
|
2011-09-20 16:10:49 +00:00
|
|
|
BuildRequires: dbus-1-glib-devel
|
2011-09-25 19:58:03 +00:00
|
|
|
BuildRequires: dbus-1-glib-devel
|
2012-03-06 09:34:34 +00:00
|
|
|
BuildRequires: hicolor-icon-theme
|
|
|
|
|
BuildRequires: libelf-devel
|
|
|
|
|
BuildRequires: libevent-devel
|
|
|
|
|
BuildRequires: libgnome-keyring-devel
|
|
|
|
|
BuildRequires: libicu-devel >= 4.0
|
|
|
|
|
BuildRequires: libpulse-devel
|
2011-09-20 16:10:49 +00:00
|
|
|
BuildRequires: python
|
2012-03-06 09:34:34 +00:00
|
|
|
BuildRequires: python-devel
|
2011-09-20 16:10:49 +00:00
|
|
|
BuildRequires: python-xml
|
2012-03-06 09:34:34 +00:00
|
|
|
BuildRequires: speex-devel
|
2011-09-20 16:10:49 +00:00
|
|
|
BuildRequires: sqlite3-devel
|
|
|
|
|
BuildRequires: update-desktop-files
|
|
|
|
|
BuildRequires: v8-devel = %{v8_ver}
|
|
|
|
|
BuildRequires: wdiff
|
|
|
|
|
BuildRequires: zlib-devel
|
2012-03-06 09:34:34 +00:00
|
|
|
BuildRequires: pkgconfig(cairo) >= 1.6
|
|
|
|
|
BuildRequires: pkgconfig(dbus-1)
|
|
|
|
|
BuildRequires: pkgconfig(gconf-2.0)
|
|
|
|
|
BuildRequires: pkgconfig(glib-2.0)
|
|
|
|
|
BuildRequires: pkgconfig(gtk+-2.0)
|
|
|
|
|
BuildRequires: pkgconfig(libxml-2.0)
|
|
|
|
|
BuildRequires: pkgconfig(x11)
|
|
|
|
|
BuildRequires: pkgconfig(xcomposite)
|
2012-04-08 12:17:20 +00:00
|
|
|
BuildRequires: pkgconfig(xcursor)
|
2012-03-06 09:34:34 +00:00
|
|
|
BuildRequires: pkgconfig(xext)
|
|
|
|
|
BuildRequires: pkgconfig(xfixes)
|
|
|
|
|
BuildRequires: pkgconfig(xi)
|
|
|
|
|
BuildRequires: pkgconfig(xrender)
|
|
|
|
|
BuildRequires: pkgconfig(xscrnsaver)
|
|
|
|
|
BuildRequires: pkgconfig(xt)
|
2012-01-30 21:11:21 +00:00
|
|
|
%if 0%{?suse_version} < 1210
|
2012-01-26 12:16:53 +00:00
|
|
|
BuildRequires: libudev-devel
|
2012-01-30 21:11:21 +00:00
|
|
|
%endif
|
2011-12-10 18:59:34 +00:00
|
|
|
# For NaCl
|
|
|
|
|
%ifarch x86_64
|
|
|
|
|
BuildRequires: gcc-c++-32bit
|
2012-03-06 09:34:34 +00:00
|
|
|
BuildRequires: glibc-32bit
|
2011-12-10 20:18:02 +00:00
|
|
|
BuildRequires: zlib-32bit
|
2011-12-10 18:59:34 +00:00
|
|
|
%endif
|
2011-09-20 16:10:49 +00:00
|
|
|
|
|
|
|
|
Requires: alsa
|
|
|
|
|
Requires: hicolor-icon-theme
|
2012-02-20 14:44:25 +00:00
|
|
|
Requires: libv8-3 = %{v8_ver}
|
2011-09-20 16:10:49 +00:00
|
|
|
Requires: update-alternatives
|
2012-02-20 14:44:25 +00:00
|
|
|
Requires: xdg-utils
|
2011-09-20 16:10:49 +00:00
|
|
|
|
2011-09-22 09:54:33 +00:00
|
|
|
Requires(pre): permissions
|
2011-09-21 10:51:21 +00:00
|
|
|
|
2011-09-22 09:54:33 +00:00
|
|
|
Recommends: Chromium-password = %{version}
|
|
|
|
|
Requires: %{name}-suid-helper = %{version}
|
2011-09-20 16:10:49 +00:00
|
|
|
|
|
|
|
|
# Recommends the chromium-ffmpeg library (available from packman)
|
|
|
|
|
Recommends: chromium-ffmpeg = %{version}
|
|
|
|
|
|
|
|
|
|
%description
|
|
|
|
|
Chromium is the open-source project behind Google Chrome. We invite you to join us in our effort to help build a safer, faster, and more stable way for all Internet users to experience the web, and to create a powerful platform for developing a new generation of web applications.
|
|
|
|
|
|
|
|
|
|
%package desktop-kde
|
|
|
|
|
|
|
|
|
|
Summary: Update to chromium to use KDE's kwallet to store passwords
|
2012-04-19 09:15:10 +00:00
|
|
|
License: BSD-3-Clause and LGPL-2.1+
|
2011-12-28 12:13:39 +00:00
|
|
|
Group: Productivity/Networking/Web/Browsers
|
2011-09-20 16:10:49 +00:00
|
|
|
Supplements: packageand(chromium:kdebase4-session)
|
|
|
|
|
Conflicts: chromium-desktop-gnome
|
2011-09-22 09:54:33 +00:00
|
|
|
Provides: Chromium-password = %{version}
|
|
|
|
|
Requires: chromium = %{version}
|
2011-09-20 16:10:49 +00:00
|
|
|
|
|
|
|
|
%description desktop-kde
|
2011-09-22 09:54:33 +00:00
|
|
|
By using the openSUSE update-alternatives the password store for Chromium is changed to utilize
|
|
|
|
|
KDE's kwallet. Please be aware that by this change the old password are no longer accessible and
|
2011-09-20 16:10:49 +00:00
|
|
|
are also not converted to kwallet.
|
|
|
|
|
|
|
|
|
|
%package desktop-gnome
|
|
|
|
|
|
|
|
|
|
Summary: Update to chromium to use Gnome keyring to store passwords
|
2012-04-19 09:15:10 +00:00
|
|
|
License: BSD-3-Clause and LGPL-2.1+
|
2011-12-28 12:13:39 +00:00
|
|
|
Group: Productivity/Networking/Web/Browsers
|
2011-09-20 16:10:49 +00:00
|
|
|
Supplements: packageand(chromium:gnome-session)
|
|
|
|
|
Conflicts: chromium-desktop-kde
|
2011-09-22 09:54:33 +00:00
|
|
|
Provides: Chromium-password = %{version}
|
|
|
|
|
Requires: chromium = %{version}
|
2012-04-09 10:57:09 +00:00
|
|
|
Requires: libgnome
|
2011-09-20 16:10:49 +00:00
|
|
|
|
|
|
|
|
%description desktop-gnome
|
2011-09-22 09:54:33 +00:00
|
|
|
By using the openSUSE update-alternatives the password store for Chromium is changed to utilize
|
|
|
|
|
Gnome's Keyring. Please be aware that by this change the old password are no longer accessible and
|
2011-09-20 16:10:49 +00:00
|
|
|
are also not converted to Gnome's Keyring.
|
|
|
|
|
|
|
|
|
|
%package suid-helper
|
|
|
|
|
|
|
|
|
|
Summary: A suid helper to let a process willingly drop privileges on Linux
|
2012-04-19 09:15:10 +00:00
|
|
|
License: BSD-3-Clause and LGPL-2.1+
|
2011-12-28 12:13:39 +00:00
|
|
|
Group: Productivity/Networking/Web/Browsers
|
2011-09-20 16:10:49 +00:00
|
|
|
Url: http://code.google.com/p/setuid-sandbox/
|
2011-09-22 12:21:58 +00:00
|
|
|
Requires(pre): permissions
|
2011-09-20 16:10:49 +00:00
|
|
|
|
|
|
|
|
%description suid-helper
|
|
|
|
|
t will allow a process to execute a target executable that will be able to drop privileges:
|
|
|
|
|
|
|
|
|
|
* The suid sandbox will create a new PID namespace or will switch uid/gid to isolate the process
|
2011-09-22 09:54:33 +00:00
|
|
|
* a helper process, sharing the filesystem view of the existing process, will be created. It
|
2011-09-20 16:10:49 +00:00
|
|
|
will accept a request to chroot() the process to an empty directory
|
|
|
|
|
|
2011-09-22 09:54:33 +00:00
|
|
|
This is convenient because an executable can be launched, load libraries and open files and get
|
2011-09-20 16:10:49 +00:00
|
|
|
chroot()-ed to an empty directory when it wants to drop filesystem access.
|
|
|
|
|
|
2012-04-18 14:02:36 +00:00
|
|
|
%package -n chromedriver
|
|
|
|
|
|
2012-04-19 09:15:10 +00:00
|
|
|
Summary: WebDriver for Google Chrome/Chromium
|
|
|
|
|
License: BSD-3-Clause
|
|
|
|
|
Group: Development/Tools/Other
|
|
|
|
|
Url: http://code.google.com/p/chromedriver/
|
|
|
|
|
Requires: libv8-3 = %{v8_ver}
|
2012-04-18 14:02:36 +00:00
|
|
|
|
|
|
|
|
%description -n chromedriver
|
2012-04-19 09:15:10 +00:00
|
|
|
WebDriver is an open source tool for automated testing of webapps across many browsers. It provides capabilities for navigating to web pages, user input, JavaScript execution, and more. ChromeDriver is a standalone server which implements WebDriver's wire protocol for Chromium. It is being developed by members of the Chromium and WebDriver teams.
|
2012-04-18 14:02:36 +00:00
|
|
|
|
2011-09-20 16:10:49 +00:00
|
|
|
%prep
|
2012-02-10 05:45:26 +00:00
|
|
|
%setup -q -n %{name}
|
2011-09-20 16:10:49 +00:00
|
|
|
|
|
|
|
|
%patch1 -p1
|
|
|
|
|
%patch62 -p1
|
|
|
|
|
%patch63 -p1
|
2011-12-01 12:23:55 +00:00
|
|
|
%patch64
|
2011-09-20 16:10:49 +00:00
|
|
|
%patch8 -p1
|
|
|
|
|
%patch13 -p1
|
|
|
|
|
%patch14 -p1
|
|
|
|
|
%patch17 -p1
|
|
|
|
|
%patch18 -p1
|
|
|
|
|
%patch20 -p1
|
2012-02-15 07:49:38 +00:00
|
|
|
%if 0%{?suse_version} == 1140
|
2011-09-20 16:10:49 +00:00
|
|
|
%patch25 -p1
|
2011-11-27 19:36:13 +00:00
|
|
|
%endif
|
2011-09-20 16:10:49 +00:00
|
|
|
%patch26 -p1
|
|
|
|
|
%patch28 -p1
|
|
|
|
|
%patch32 -p1
|
2012-01-26 08:17:54 +00:00
|
|
|
%patch66 -p1
|
2012-03-18 08:31:48 +00:00
|
|
|
%patch67 -p1
|
2012-03-18 17:44:44 +00:00
|
|
|
%patch68 -p1
|
2011-09-20 16:10:49 +00:00
|
|
|
|
2012-03-06 09:34:34 +00:00
|
|
|
echo "svn%{svn_revision}" > src/build/LASTCHANGE.in
|
2011-09-20 16:10:49 +00:00
|
|
|
|
|
|
|
|
# apply vendor patch after substitution
|
|
|
|
|
sed "s:RPM_VERSION:%{version}:" %{SOURCE20} | patch -p0
|
|
|
|
|
|
|
|
|
|
# Make sure that the requires legal files can be found
|
|
|
|
|
cp -a src/AUTHORS src/LICENSE .
|
|
|
|
|
|
|
|
|
|
%build
|
|
|
|
|
|
|
|
|
|
## create make files
|
|
|
|
|
|
2012-03-18 17:44:44 +00:00
|
|
|
%if 0%{?suse_version} == 1140
|
|
|
|
|
export LDFLAGS="-Wl,--reduce-memory-overheads"
|
|
|
|
|
%endif
|
2012-02-24 15:19:42 +00:00
|
|
|
|
2012-02-24 15:43:04 +00:00
|
|
|
PARSED_OPT_FLAGS=`echo \'%{optflags} -DUSE_SYSTEM_LIBEVENT -fPIC -fno-ipa-cp -fno-strict-aliasing \' | sed "s/ /',/g" | sed "s/',/', '/g"`
|
2011-09-20 16:10:49 +00:00
|
|
|
for i in src/build/common.gypi; do
|
|
|
|
|
sed -i "s|'-march=pentium4',||g" $i
|
2011-11-27 19:36:13 +00:00
|
|
|
%ifnarch x86_64
|
2011-09-20 16:10:49 +00:00
|
|
|
sed -i "s|'-mfpmath=sse',||g" $i
|
2011-11-27 19:36:13 +00:00
|
|
|
%endif
|
2011-09-20 16:10:49 +00:00
|
|
|
sed -i "s|'-O<(debug_optimize)',||g" $i
|
|
|
|
|
sed -i "s|'-m32',||g" $i
|
|
|
|
|
sed -i "s|'-fno-exceptions',|$PARSED_OPT_FLAGS|g" $i
|
|
|
|
|
sed -i "s|'-Werror'|'-Wno-error'|g" $i
|
|
|
|
|
done
|
|
|
|
|
# '
|
|
|
|
|
|
|
|
|
|
pushd src
|
|
|
|
|
|
|
|
|
|
./build/gyp_chromium -f make build/all.gyp \
|
|
|
|
|
-Dlinux_sandbox_path=%{_prefix}/lib/chrome_sandbox \
|
|
|
|
|
-Dlinux_sandbox_chrome_path=%{_libdir}/chromium/chromium \
|
|
|
|
|
-Duse_openssl=0 \
|
|
|
|
|
-Duse_system_ffmpeg=1 \
|
2012-03-06 09:52:03 +00:00
|
|
|
-Dbuild_ffmpegsumo=1 \
|
2011-09-20 16:10:49 +00:00
|
|
|
-Duse_system_zlib=1 \
|
|
|
|
|
-Duse_system_libpng=1 \
|
|
|
|
|
-Duse_system_bzip2=1 \
|
|
|
|
|
-Duse_system_libbz2=1 \
|
2012-02-23 18:07:58 +00:00
|
|
|
%if 0%{?suse_version} > 1210
|
2012-02-23 18:06:01 +00:00
|
|
|
-Duse_system_libjpeg=1 \
|
2012-02-23 18:07:58 +00:00
|
|
|
%else
|
|
|
|
|
-Duse_system_libjpeg=0 \
|
|
|
|
|
%endif
|
2011-09-20 16:10:49 +00:00
|
|
|
-Duse_system_libxml=1 \
|
|
|
|
|
-Duse_system_libxslt=1 \
|
|
|
|
|
-Duse_system_libevent=1 \
|
|
|
|
|
-Duse_system_vpx=1 \
|
|
|
|
|
-Dremove_webcore_debug_symbols=1 \
|
|
|
|
|
-Duse_system_v8=1 \
|
|
|
|
|
-Dproprietary_codecs=1 \
|
|
|
|
|
-Dlinux_fpic=1 \
|
2011-11-27 19:36:13 +00:00
|
|
|
%ifnarch x86_64
|
2011-09-20 16:10:49 +00:00
|
|
|
-Ddisable_sse2=1 \
|
2011-11-27 19:36:13 +00:00
|
|
|
%endif
|
2011-09-20 16:10:49 +00:00
|
|
|
%ifarch x86_64
|
|
|
|
|
-Dtarget_arch=x64 \
|
|
|
|
|
%endif
|
2012-03-18 17:44:44 +00:00
|
|
|
%if 0%{?suse_version} == 1140
|
2012-03-18 08:35:00 +00:00
|
|
|
-Dlinux_use_gold_flags=0 \
|
|
|
|
|
-Dlinux_use_gold_binary=0 \
|
2012-03-18 17:44:44 +00:00
|
|
|
%else
|
|
|
|
|
-Dlinux_use_gold_flags=1 \
|
|
|
|
|
-Dlinux_use_gold_binary=1 \
|
2012-03-18 08:35:00 +00:00
|
|
|
%endif
|
2011-12-15 10:02:34 +00:00
|
|
|
-Djavascript_engine=v8
|
2011-09-20 16:10:49 +00:00
|
|
|
|
2012-03-18 08:26:00 +00:00
|
|
|
make -r %{?_smp_mflags} chrome V=1 BUILDTYPE=Release
|
2012-02-23 18:07:58 +00:00
|
|
|
|
2011-09-22 09:54:33 +00:00
|
|
|
# Build the required SUID_SANDBOX helper
|
2011-11-27 19:36:13 +00:00
|
|
|
make -r %{?_smp_mflags} chrome_sandbox V=1 BUILDTYPE=Release
|
2011-09-20 16:10:49 +00:00
|
|
|
|
2012-04-18 14:02:36 +00:00
|
|
|
# Build the ChromeDriver test suite
|
2012-04-18 19:11:22 +00:00
|
|
|
make -r %{?_smp_mflags} chromedriver V=1 BUILDTYPE=Release
|
2012-04-18 14:02:36 +00:00
|
|
|
|
2011-09-20 16:10:49 +00:00
|
|
|
popd
|
|
|
|
|
|
|
|
|
|
%install
|
|
|
|
|
mkdir -p %{buildroot}%{_libdir}/chromium/
|
|
|
|
|
%ifarch x86_64
|
|
|
|
|
mkdir -p %{buildroot}%{_prefix}/lib/
|
|
|
|
|
%endif
|
|
|
|
|
install -m 755 %{SOURCE100} %{buildroot}%{_libdir}/chromium/chromium-generic
|
|
|
|
|
# x86_64 capable systems need this
|
|
|
|
|
sed -i "s|/usr/lib/chromium|%{_libdir}/chromium|g" %{buildroot}%{_libdir}/chromium/chromium-generic
|
2011-09-20 16:14:59 +00:00
|
|
|
|
2012-02-10 05:45:26 +00:00
|
|
|
%if 0%{?suse_version} == 1140
|
2011-09-20 16:14:59 +00:00
|
|
|
# Set the permissions file for distro version equal or lower than 11.4. (bnc#718016)
|
|
|
|
|
mkdir -p %{buildroot}%{_sysconfdir}/permissions.d
|
2011-09-21 07:51:17 +00:00
|
|
|
install -m 644 %{SOURCE1} %{buildroot}%{_sysconfdir}/permissions.d/chromium
|
2011-09-20 16:14:59 +00:00
|
|
|
%endif
|
2011-09-20 16:10:49 +00:00
|
|
|
|
|
|
|
|
#update the password-store settings for each alternative
|
|
|
|
|
sed "s|password-store=detect|password-store=kwallet|g" %{buildroot}%{_libdir}/chromium/chromium-generic > %{buildroot}%{_libdir}/chromium/chromium-kde
|
|
|
|
|
sed "s|password-store=detect|password-store=gnome|g" %{buildroot}%{_libdir}/chromium/chromium-generic > %{buildroot}%{_libdir}/chromium/chromium-gnome
|
|
|
|
|
mkdir -p %{buildroot}%{_mandir}/man1/
|
|
|
|
|
pushd src/out/Release
|
2011-09-23 16:02:47 +00:00
|
|
|
|
2011-09-20 16:10:49 +00:00
|
|
|
cp -a chrome_sandbox %{buildroot}%{_prefix}/lib/
|
2012-04-26 16:00:24 +00:00
|
|
|
cp -a chrome.pak ui_resources_standard.pak theme_resources_standard.pak locales xdg-mime %{buildroot}%{_libdir}/chromium/
|
2012-04-18 14:02:36 +00:00
|
|
|
cp -a chromedriver %{buildroot}%{_libdir}/chromium/
|
2011-09-22 12:16:10 +00:00
|
|
|
|
|
|
|
|
# Patch xdg-settings to use the chromium version of xdg-mime as that the system one is not KDE4 compatible
|
2011-09-25 17:30:54 +00:00
|
|
|
sed "s|xdg-mime|%{_libdir}/chromium/xdg-mime|g" xdg-settings > %{buildroot}%{_libdir}/chromium/xdg-settings
|
2011-09-22 12:16:10 +00:00
|
|
|
|
2011-09-20 16:10:49 +00:00
|
|
|
cp -a resources.pak %{buildroot}%{_libdir}/chromium/
|
|
|
|
|
cp -a chrome %{buildroot}%{_libdir}/chromium/chromium
|
|
|
|
|
cp -a chrome.1 %{buildroot}%{_mandir}/man1/chrome.1
|
|
|
|
|
cp -a chrome.1 %{buildroot}%{_mandir}/man1/chromium.1
|
|
|
|
|
%fdupes %{buildroot}%{_mandir}/man1/
|
2011-12-10 18:59:34 +00:00
|
|
|
|
|
|
|
|
# NaCl
|
|
|
|
|
cp -a nacl_helper %{buildroot}%{_libdir}/chromium/
|
|
|
|
|
cp -a nacl_helper_bootstrap %{buildroot}%{_libdir}/chromium/
|
|
|
|
|
cp -a nacl_irt_*.nexe %{buildroot}%{_libdir}/chromium/
|
|
|
|
|
cp -a libppGoogleNaClPluginChrome.so %{buildroot}%{_libdir}/chromium/
|
2011-09-20 16:10:49 +00:00
|
|
|
popd
|
|
|
|
|
|
|
|
|
|
mkdir -p %{buildroot}%{_datadir}/icons/
|
|
|
|
|
pushd %{buildroot}%{_datadir}/icons/
|
|
|
|
|
tar -xjf %{SOURCE104}
|
|
|
|
|
mv oxygen hicolor
|
|
|
|
|
popd
|
|
|
|
|
|
|
|
|
|
mkdir -p %{buildroot}%{_datadir}/applications/
|
|
|
|
|
desktop-file-install --dir %{buildroot}%{_datadir}/applications %{SOURCE101}
|
|
|
|
|
|
|
|
|
|
mkdir -p %{buildroot}%{_datadir}/gnome-control-center/default-apps/
|
|
|
|
|
cp -a %{SOURCE102} %{buildroot}%{_datadir}/gnome-control-center/default-apps/
|
|
|
|
|
|
|
|
|
|
# link to browser plugin path. Plugin patch doesn't work. Why?
|
|
|
|
|
mkdir -p %{buildroot}%{_libdir}/browser-plugins
|
|
|
|
|
pushd %{buildroot}%{_libdir}/%{name}
|
|
|
|
|
ln -s %{_libdir}/browser-plugins plugins
|
|
|
|
|
|
|
|
|
|
# Install the master_preferences file
|
|
|
|
|
mkdir -p %{buildroot}%{_sysconfdir}/%{name}
|
|
|
|
|
install -m 0644 %{SOURCE30} %{buildroot}%{_sysconfdir}/%{name}
|
|
|
|
|
install -m 0644 %{SOURCE31} %{buildroot}%{_sysconfdir}/%{name}
|
|
|
|
|
|
|
|
|
|
%clean
|
|
|
|
|
rm -rf %{buildroot}
|
|
|
|
|
|
2011-09-22 09:54:33 +00:00
|
|
|
%pre
|
2011-09-20 16:10:49 +00:00
|
|
|
if [ -f %{_bindir}/chromium -a ! -L %{_bindir}/chromium ] ; then rm -f %{_bindir}/chromium
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
# Add snipplets to update the GTK cache on package install.
|
2011-09-22 12:16:10 +00:00
|
|
|
|
2011-09-23 08:08:34 +00:00
|
|
|
%verifyscript suid-helper
|
2011-09-22 12:16:10 +00:00
|
|
|
%verify_permissions -e %{_prefix}/lib/chrome_sandbox
|
2011-09-23 08:08:34 +00:00
|
|
|
|
|
|
|
|
%post suid-helper
|
|
|
|
|
%set_permissions %{_prefix}/lib/chrome_sandbox
|
2011-09-20 16:10:49 +00:00
|
|
|
|
|
|
|
|
%post
|
|
|
|
|
%icon_theme_cache_post
|
2012-04-13 16:37:20 +00:00
|
|
|
%desktop_database_post
|
2011-09-20 16:10:49 +00:00
|
|
|
update-alternatives --install %{_bindir}/chromium chromium %{_libdir}/chromium/chromium-generic 10
|
|
|
|
|
|
|
|
|
|
%postun
|
|
|
|
|
%icon_theme_cache_postun
|
2012-04-13 16:37:20 +00:00
|
|
|
%desktop_database_postun
|
2011-09-20 16:10:49 +00:00
|
|
|
update-alternatives --remove all chromium
|
|
|
|
|
|
|
|
|
|
%post desktop-kde
|
|
|
|
|
update-alternatives --install %{_bindir}/chromium chromium %{_libdir}/chromium/chromium-kde 15
|
|
|
|
|
update-alternatives --auto chromium
|
|
|
|
|
|
|
|
|
|
%postun desktop-kde
|
|
|
|
|
update-alternatives --remove %{_bindir}/chromium %{_libdir}/chromium/chromium-kde
|
|
|
|
|
update-alternatives --auto chromium
|
|
|
|
|
|
|
|
|
|
%post desktop-gnome
|
|
|
|
|
update-alternatives --install %{_bindir}/chromium chromium %{_libdir}/chromium/chromium-gnome 15
|
|
|
|
|
update-alternatives --auto chromium
|
|
|
|
|
|
|
|
|
|
%postun desktop-gnome
|
|
|
|
|
update-alternatives --remove %{_bindir}/chromium %{_libdir}/chromium/chromium-gnome
|
|
|
|
|
update-alternatives --auto chromium
|
|
|
|
|
|
|
|
|
|
# Files!
|
|
|
|
|
|
|
|
|
|
%files
|
|
|
|
|
%defattr(-,root,root,-)
|
|
|
|
|
%doc AUTHORS LICENSE
|
|
|
|
|
%config %{_sysconfdir}/%{name}
|
|
|
|
|
%dir %{_datadir}/gnome-control-center
|
|
|
|
|
%dir %{_datadir}/gnome-control-center/default-apps
|
|
|
|
|
%dir %{_libdir}/chromium/
|
|
|
|
|
%{_libdir}/chromium/chromium
|
|
|
|
|
%{_libdir}/chromium/chromium-generic
|
|
|
|
|
%{_libdir}/chromium/plugins/
|
|
|
|
|
%{_libdir}/chromium/locales/
|
2011-12-10 18:59:34 +00:00
|
|
|
%{_libdir}/chromium/nacl_*
|
|
|
|
|
%{_libdir}/chromium/libppGoogleNaClPluginChrome.so
|
2011-09-22 19:15:12 +00:00
|
|
|
%attr(755,root,root) %{_libdir}/chromium/xdg-settings
|
|
|
|
|
%attr(755,root,root) %{_libdir}/chromium/xdg-mime
|
2011-09-20 16:10:49 +00:00
|
|
|
%{_libdir}/chromium/*.pak
|
|
|
|
|
%{_mandir}/man1/chrom*
|
|
|
|
|
%{_datadir}/applications/*.desktop
|
|
|
|
|
%{_datadir}/gnome-control-center/default-apps/chromium-browser.xml
|
|
|
|
|
%{_datadir}/icons/hicolor/
|
|
|
|
|
|
|
|
|
|
%files desktop-kde
|
|
|
|
|
%attr(755, root, root) %{_libdir}/chromium/chromium-kde
|
|
|
|
|
|
|
|
|
|
%files desktop-gnome
|
|
|
|
|
%attr(755, root, root) %{_libdir}/chromium/chromium-gnome
|
|
|
|
|
|
|
|
|
|
%files suid-helper
|
|
|
|
|
%defattr(-,root,root,-)
|
2012-02-10 05:45:26 +00:00
|
|
|
%if 0%{?suse_version} == 1140
|
2011-09-22 12:16:10 +00:00
|
|
|
%config %{_sysconfdir}/permissions.d/chromium
|
2011-09-20 16:14:59 +00:00
|
|
|
%endif
|
2011-09-23 09:07:33 +00:00
|
|
|
%verify(not mode) %{_prefix}/lib/chrome_sandbox
|
2011-09-20 16:10:49 +00:00
|
|
|
|
2012-04-18 14:02:36 +00:00
|
|
|
%files -n chromedriver
|
|
|
|
|
%defattr(-,root,root,-)
|
|
|
|
|
%{_libdir}/chromium/chromedriver
|
|
|
|
|
|
2011-09-20 16:10:49 +00:00
|
|
|
%changelog
|