# NOTE
-# - to look for new version, use update-source.sh script
+# - to look and update to new version, use update-source.sh script
-%define svnrev 59126
-%define rel 1
+%define flashv 11.2.202.236
+%define svnrev 140965
+#define rel %{nil}
+%define state stable
Summary: Google Chrome
Name: google-chrome
-Version: 6.0.472.59
-Release: %{svnrev}.%{rel}
+Version: 19.0.1084.56
+Release: %{svnrev}%{?rel:.%{rel}}
License: Multiple, see http://chrome.google.com/
Group: Applications/Networking
-Source0: http://dl.google.com/linux/rpm/stable/i386/%{name}-stable-%{version}-%{svnrev}.i386.rpm
-# Source0-md5: ac7d36782b0e13319c5770cd791a3994
-Source1: http://dl.google.com/linux/rpm/stable/x86_64/%{name}-stable-%{version}-%{svnrev}.x86_64.rpm
-# Source1-md5: ac34c8dd58a79fba45ffd13435933c2b
+Source0: http://dl.google.com/linux/chrome/rpm/stable/i386/%{name}-%{state}-%{version}-%{svnrev}.i386.rpm
+# NoSource0-md5: c6698373f6ee99e00275719f61a054ce
+NoSource: 0
+Source1: http://dl.google.com/linux/chrome/rpm/stable/x86_64/%{name}-%{state}-%{version}-%{svnrev}.x86_64.rpm
+# NoSource1-md5: fe38f28c107038fcfda1679a7e4eb6d0
+NoSource: 1
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
+%ifarch %{ix86}
+Suggests: browser-plugin-adobe-flash
+%endif
+Suggests: browser-plugin-chrome-pdf
ExclusiveArch: %{ix86} %{x8664}
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+%{expand:%%define crver %{version}}
+
%define find_lang sh find-lang.sh %{buildroot}
%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}
a kifinomult technológiával, hogy a webböngészés gyorsabb,
biztonságosabb és könnyebb legyen.
+%package -n browser-plugin-chrome-pdf
+Summary: Chrome PDF Viewer
+Summary(pl.UTF-8): Wtyczka PDF z Google Chrome
+Group: X11/Applications/Graphics
+Requires: browser-plugins >= 2.0
+Conflicts: google-chrome < 16.0.912.75
+
+%description -n browser-plugin-chrome-pdf
+Google Chrome PDF Viewer.
+
+%description -n browser-plugin-chrome-pdf -l pl.UTF-8
+Wtyczka PDF z Google Chrome.
+
+# IMPORTANT: keep flash plugin defined as last package
+%package -n browser-plugin-adobe-flash
+Summary: Adobe Flash plugin from Google Chrome
+Summary(pl.UTF-8): Wtyczka Adobe Flash z Google Chrome
+Version: %{flashv}
+Release: %{!?rel:1}%{?rel:%{rel}}
+License: Free to use, non-distributable
+Group: X11/Applications/Multimedia
+Requires: browser-plugins >= 2.0
+Conflicts: google-chrome < 16.0.912.75
+
+%description -n browser-plugin-adobe-flash
+Adobe Flash plugin from Google Chrome, which is not available in
+Chromium.
+
+%description -n browser-plugin-adobe-flash -l pl.UTF-8
+Wtyczka Adobe Flash z Google Chrome, która nie jest dostępna w
+Chromium.
+
+
%prep
%setup -qcT
%ifarch %{ix86}
V=$(rpm -qp --nodigest --nosignature --qf '%{V}' $SOURCE)
R=$(rpm -qp --nodigest --nosignature --qf '%{R}' $SOURCE)
-if [ version:$V != version:%{version} -o svnrev:$R != svnrev:%{svnrev} ]; then
+if [ version:$V != version:%{crver} -o svnrev:$R != svnrev:%{svnrev} ]; then
exit 1
fi
rpm2cpio $SOURCE | cpio -i -d
mv chrome/google-chrome .
chmod a+x chrome/lib*.so*
+# separate to subpackage
+install -d browser-plugins
+mv chrome/libpdf.so browser-plugins
+%ifarch %{ix86}
+mv chrome/libgcflashplayer.so browser-plugins
+%endif
+
# 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
%{__sed} -i 's;/opt/google/chrome/product_logo_48.png;%{name}.png;' google-chrome.desktop
%{__sed} -i 's;/opt/google/chrome;%{_bindir};' google-chrome.desktop
+%build
+%ifarch %{ix86}
+s=$(echo 'LNX %{flashv}' | tr . ,)
+v=$(strings browser-plugins/libgcflashplayer.so | grep '^LNX ')
+if [ "$v" != "$s" ]; then
+ : wrong version
+ exit 1
+fi
+%endif
+
%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
+install -d $RPM_BUILD_ROOT%{_browserpluginsdir}
+install -p browser-plugins/*.so $RPM_BUILD_ROOT%{_browserpluginsdir}
+
+%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
+
+%post -n browser-plugin-adobe-flash
+%update_browser_plugins
+
+%postun -n browser-plugin-adobe-flash
if [ "$1" = 0 ]; then
%update_browser_plugins
fi
+%post -n browser-plugin-chrome-pdf
+%update_browser_plugins
+
+%postun -n browser-plugin-chrome-pdf
+if [ "$1" = 0 ]; then
+ %update_browser_plugins
+fi
+
+# FIXME: chrome *needs* it to be in application dir. add symlink until it can load from other places
+# for chromium, we could likely patch source
+%triggerin -n browser-plugin-chrome-pdf -- google-chrome
+test -L %{_libdir}/google-chrome/libpdf.so || ln -sf plugins/libpdf.so %{_libdir}/google-chrome/libpdf.so
+
+%triggerun -n browser-plugin-chrome-pdf -- google-chrome
+rm -f %{_libdir}/google-chrome/libpdf.so
+
+%triggerin -n browser-plugin-chrome-pdf -- chromium-browser
+test -L %{_libdir}/chromium-browser/libpdf.so || ln -sf plugins/libpdf.so %{_libdir}/chromium-browser/libpdf.so
+
+%triggerun -n browser-plugin-chrome-pdf -- chromium-browser
+rm -f %{_libdir}/chromium-browser/libpdf.so
+
+%triggerin -n browser-plugin-chrome-pdf -- chromium-browser-bin
+test -L %{_libdir}/chromium-browser-bin/libpdf.so || ln -sf plugins/libpdf.so %{_libdir}/chromium-browser-bin/libpdf.so
+
+%triggerun -n browser-plugin-chrome-pdf -- chromium-browser-bin
+rm -f %{_libdir}/chromium-browser-bin/libpdf.so
+
%files -f %{name}.lang
%defattr(644,root,root,755)
%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
-%attr(755,root,root) %{_libdir}/%{name}/libpdf.so
+# Native Client plugin, to use launch with --enable-nacl
+%attr(755,root,root) %{_libdir}/%{name}/libppGoogleNaClPluginChrome.so
+
+# 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
+
+%files -n browser-plugin-chrome-pdf
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_browserpluginsdir}/libpdf.so
+
+%ifarch %{ix86}
+%files -n browser-plugin-adobe-flash
+%defattr(644,root,root,755)
+%{_libdir}/%{name}/plugin.vch
+%attr(755,root,root) %{_browserpluginsdir}/libgcflashplayer.so
+%endif