# NOTE
-# - to look for new version, use update-source.sh script
-%define svnrev 46659
+# - to look and update to new version, use update-source.sh script
+
+%define svnrev 131933
+%define state stable
%define rel 1
Summary: Google Chrome
Name: google-chrome
-Version: 5.0.375.38
+Version: 18.0.1025.162
Release: %{svnrev}.%{rel}
License: Multiple, see http://chrome.google.com/
Group: Applications/Networking
-Source0: http://dl.google.com/linux/rpm/stable/i386/%{name}-beta-%{version}-%{svnrev}.i386.rpm
-# Source0-md5: 2b6fa81dde3702f7b28f4aecec89b8df
-Source1: http://dl.google.com/linux/rpm/stable/x86_64/%{name}-beta-%{version}-%{svnrev}.x86_64.rpm
-# Source1-md5: 579f153d2d46350b4d648a12c0bf476c
+Source0: http://dl.google.com/linux/chrome/rpm/stable/i386/%{name}-%{state}-%{version}-%{svnrev}.i386.rpm
+# Source0-md5: eff59526737ea727a85d69006c184c61
+Source1: http://dl.google.com/linux/chrome/rpm/stable/x86_64/%{name}-%{state}-%{version}-%{svnrev}.x86_64.rpm
+# Source1-md5: e89e489afbf3599c7b32c336c1c6b27d
Source2: %{name}.sh
Source4: find-lang.sh
Patch0: chrome-desktop.patch
BuildRequires: rpmbuild(macros) >= 1.453
BuildRequires: sed >= 4.0
Requires: browser-plugins >= 2.0
-Requires: nspr
-Requires: nss
-Requires: xdg-utils
+Requires: hicolor-icon-theme
+Requires: xdg-utils >= 1.0.2-4
Provides: wwwbrowser
ExclusiveArch: %{ix86} %{x8664}
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%define _enable_debug_packages 0
%define no_install_post_strip 1
-%define nss_caps libfreebl3.so libnss3.so libnssckbi.so libsmime3.so ibsoftokn3.so libssl3.so libnssutil3.so
-%define nspr_caps libnspr4.so libplc4.so libplds4.so
%define ffmpeg_caps libffmpegsumo.so
+%define jpeg_caps libpng12.so.0(PNG12_0)
+%define flash_caps libflashplayer.so
+%define chrome_caps libpdf.so libppGoogleNaClPluginChrome.so
# list of script capabilities (regexps) not to be used in Provides
-%define _noautoprov %{nss_caps} %{nspr_caps} %{ffmpeg_caps}
+%define _noautoprov %{ffmpeg_caps} %{jpeg_caps} %{flash_caps} %{chrome_caps}
# do not require them either
%define _noautoreq %{_noautoprov}
# included in gnome-control-center-2.28.1-3
rm default-app-block default-apps/google-chrome.xml
-%ifarch %{x8664}
-# go figure, 32bit one doesn't have it compressed
-gzip -d *.1.gz
-%endif
+# xdg-utils snapshot required
+rm chrome/xdg-settings
+rm chrome/xdg-mime
+
+[ -f *.1.gz ] && gzip -d *.1.gz
%patch0 -p1
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_bindir},%{_libdir}/%{name}/plugins,%{_mandir}/man1,%{_pixmapsdir},%{_desktopdir},%{_libdir}/%{name}/themes}
+install -d $RPM_BUILD_ROOT{%{_bindir},%{_libdir}/%{name}/plugins,%{_mandir}/man1,%{_desktopdir},%{_libdir}/%{name}/themes}
install -p %{SOURCE2} $RPM_BUILD_ROOT%{_bindir}/%{name}
%{__sed} -i -e 's,@libdir@,%{_libdir}/%{name},' $RPM_BUILD_ROOT%{_bindir}/%{name}
cp -a chrome/* $RPM_BUILD_ROOT%{_libdir}/%{name}
-cp -a google-chrome.1 $RPM_BUILD_ROOT%{_mandir}/man1
+cp -p google-chrome.1 $RPM_BUILD_ROOT%{_mandir}/man1
# for google-chrome --help
echo ".so google-chrome.1" > $RPM_BUILD_ROOT%{_mandir}/man1/chrome.1
-cp -a product_logo_48.png $RPM_BUILD_ROOT%{_pixmapsdir}/%{name}.png
-cp -a google-chrome.desktop $RPM_BUILD_ROOT%{_desktopdir}
+cp -p google-chrome.desktop $RPM_BUILD_ROOT%{_desktopdir}
-%browser_plugins_add_browser %{name} -p %{_libdir}/%{name}/plugins
+for icon in product_logo_*.png; do
+ size=${icon##product_logo_}
+ size=${size%.png}
-# nspr symlinks
-for a in libnspr4.so libplc4.so libplds4.so; do
- ln -s %{_libdir}/$a $RPM_BUILD_ROOT%{_libdir}/%{name}/$a.0d
-done
-# nss symlinks
-for a in libnss3.so libnssutil3.so libsmime3.so libssl3.so; do
- ln -s %{_libdir}/$a $RPM_BUILD_ROOT%{_libdir}/%{name}/$a.1d
+ install -d $RPM_BUILD_ROOT%{_iconsdir}/hicolor/${size}x${size}/apps
+ cp -p $icon $RPM_BUILD_ROOT%{_iconsdir}/hicolor/${size}x${size}/apps/%{name}.png
done
+%browser_plugins_add_browser %{name} -p %{_libdir}/%{name}/plugins
+
+# binary needs to be at that specific location, or it will abort:
+# [1070:1070:3265429789299:FATAL:zygote_host_linux.cc(130)] The SUID sandbox helper binary is missing: /opt/google/chrome/chrome-sandbox Aborting now.
+# Aborted
+install -d $RPM_BUILD_ROOT/opt/google
+ln -s %{_libdir}/%{name} $RPM_BUILD_ROOT/opt/google/chrome
+
# find locales
%find_lang %{name}.lang
rm -rf $RPM_BUILD_ROOT
%post
+%update_icon_cache hicolor
%update_browser_plugins
%postun
if [ "$1" = 0 ]; then
+ %update_icon_cache hicolor
%update_browser_plugins
fi
%attr(755,root,root) %{_bindir}/%{name}
%{_mandir}/man1/*.1*
-%{_pixmapsdir}/%{name}.png
%{_desktopdir}/*.desktop
+%{_iconsdir}/hicolor/*/apps/%{name}.png
+
%dir %{_libdir}/%{name}
%{_libdir}/%{name}/chrome.pak
+%{_libdir}/%{name}/resources.pak
%dir %{_libdir}/%{name}/locales
%dir %{_libdir}/%{name}/plugins
-%{_libdir}/%{name}/resources
+%{_libdir}/%{name}/default_apps
%{_libdir}/%{name}/themes
%attr(755,root,root) %{_libdir}/%{name}/chrome
# These unique permissions are intentional and necessary for the sandboxing
%attr(4555,root,root) %{_libdir}/%{name}/chrome-sandbox
+# Native Client plugin, to use launch with --enable-nacl
+%attr(755,root,root) %{_libdir}/%{name}/libppGoogleNaClPluginChrome.so
+
+%attr(755,root,root) %{_libdir}/%{name}/libpdf.so
+
+%ifarch %{ix86}
+# flash player
+%{_libdir}/%{name}/plugin.vch
+%attr(755,root,root) %{_libdir}/%{name}/libgcflashplayer.so
+%endif
+
+# nacl
+%attr(755,root,root) %{_libdir}/%{name}/nacl_helper
+%attr(755,root,root) %{_libdir}/%{name}/nacl_helper_bootstrap
+%attr(755,root,root) %{_libdir}/%{name}/nacl_irt_x86_*.nexe
+
# ffmpeg libs
%attr(755,root,root) %{_libdir}/%{name}/libffmpegsumo.so
-# nspr/nss symlinks
-%attr(755,root,root) %{_libdir}/%{name}/libnspr4.so.0d
-%attr(755,root,root) %{_libdir}/%{name}/libplc4.so.0d
-%attr(755,root,root) %{_libdir}/%{name}/libplds4.so.0d
-%attr(755,root,root) %{_libdir}/%{name}/libnss3.so.1d
-%attr(755,root,root) %{_libdir}/%{name}/libnssutil3.so.1d
-%attr(755,root,root) %{_libdir}/%{name}/libsmime3.so.1d
-%attr(755,root,root) %{_libdir}/%{name}/libssl3.so.1d
-
-# bundle this copy until xdg-utils will have this itself
-%attr(755,root,root) %{_libdir}/%{name}/xdg-settings
+# hack
+%dir /opt/google
+/opt/google/chrome