]> git.pld-linux.org Git - packages/google-chrome.git/blame_incremental - google-chrome.spec
- up to 102.0.5005.61
[packages/google-chrome.git] / google-chrome.spec
... / ...
CommitLineData
1# NOTE
2# - to look and update to new version, use update-source.sh script
3#
4# Conditional build:
5%bcond_with ffmpegsumo # using ffmpegsumo
6
7%define state stable
8%if "%{state}" == "beta" || "%{state}" == "unstable"
9%define gcsuffix -%{state}
10%endif
11Summary: Google Chrome
12Name: google-chrome%{?gcsuffix}
13Version: 102.0.5005.61
14Release: 1
15License: Multiple, see http://chrome.google.com/
16Group: Applications/Networking
17Source0: http://dl.google.com/linux/chrome/rpm/stable/x86_64/google-chrome-%{state}-%{version}-%{release}.x86_64.rpm
18# NoSource0-md5: dc5b145843e6450c748007fbe021060c
19NoSource: 0
20Source1: google-chrome.sh
21Source2: find-lang.sh
22URL: http://chrome.google.com/
23BuildRequires: rpm-utils
24BuildRequires: rpmbuild(macros) >= 1.453
25BuildRequires: sed >= 4.0
26Requires: browser-plugins >= 2.0
27Requires: cpuinfo(sse2)
28# crashes if no fontconfig font present
29Requires: fonts-Type1-urw
30Requires: hicolor-icon-theme
31# https://www.phoronix.com/scan.php?page=news_item&px=Google-Chrome-TSYNC-Kernel
32Requires: uname(release) >= 3.17
33Requires: xdg-utils >= 1.0.2-4
34Provides: wwwbrowser
35ExclusiveArch: %{x8664}
36BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
37
38%{expand:%%define crver %{version}}
39
40%define find_lang sh find-lang.sh %{buildroot}
41
42%define _enable_debug_packages 0
43%define no_install_post_strip 1
44
45%define ffmpeg_caps libffmpegsumo.so
46
47# list of script capabilities (regexps) not to be used in Provides
48%define _noautoprov %{ffmpeg_caps}
49# do not require them either
50%define _noautoreq %{_noautoprov}
51
52%description
53The web browser from Google
54
55Google Chrome is a browser that combines a minimal design with
56sophisticated technology to make the web faster, safer, and easier.
57
58%description -l hu.UTF-8
59Webböngésző a Google-től.
60
61Google Chrome egy böngésző, amely a minimalista külsőt házasítja össze
62a kifinomult technológiával, hogy a webböngészés gyorsabb,
63biztonságosabb és könnyebb legyen.
64
65%package l10n
66Summary: google chrome language packages
67Group: I18n
68Requires: %{name} = %{version}-%{release}
69
70%description l10n
71This package contains language packages for 50 languages:
72
73ar, bg, bn, ca, cs, da, de, el, en-GB, es-LA, es, et, fi, fil, fr, gu,
74he, hi, hr, hu, id, it, ja, kn, ko, lt, lv, ml, mr, nb, nl, or, pl,
75pt-BR, pt-PT, ro, ru, sk, sl, sr, sv, ta, te, th, tr, uk, vi, zh-CN,
76zh-TW
77
78%prep
79%setup -qcT
80SOURCE=%{S:0}
81
82V=$(rpm -qp --nodigest --nosignature --qf '%{V}' $SOURCE)
83R=$(rpm -qp --nodigest --nosignature --qf '%{R}' $SOURCE)
84if [ version:$V != version:%{crver} -o release:$R != release:%{release} ]; then
85 exit 1
86fi
87rpm2cpio $SOURCE | cpio -i -d
88
89mv opt/google/chrome%{?gcsuffix} .
90mv usr/share/man/man1/* .
91mv usr/share/gnome-control-center/default-apps .
92mv chrome%{?gcsuffix}/default-app-block .
93mv chrome%{?gcsuffix}/product_logo_*.{png,xpm} .
94mv usr/share/applications/google-chrome%{?gcsuffix}.desktop .
95mv chrome%{?gcsuffix}/google-chrome* .
96mv chrome%{?gcsuffix}/WidevineCdm/_platform_specific/linux_x64/libwidevinecdm.so chrome%{?gcsuffix}/
97chmod a+x chrome%{?gcsuffix}/lib*.so*
98
99# included in gnome-control-center-2.28.1-3
100rm default-app-block default-apps/google-chrome%{?gcsuffix}.xml
101
102# xdg-utils snapshot required
103rm chrome%{?gcsuffix}/xdg-settings
104rm chrome%{?gcsuffix}/xdg-mime
105
106if [ -n "$(ls *.1.gz)" ]; then
107 for file in *.1.gz; do
108 [ -f "$file" ] && gzip -d "$file"
109 done
110fi
111
112%{__sed} -e 's,@localedir@,%{_libdir}/%{name},' %{SOURCE2} > find-lang.sh
113%{__sed} -i 's;/opt/google/chrome/product_logo_48.png;%{name}.png;' google-chrome%{?gcsuffix}.desktop
114%{__sed} -i 's;/opt/google/chrome;%{_bindir};' google-chrome%{?gcsuffix}.desktop
115%{__sed} -i 's;xhtml_xml;xhtml+xml;' google-chrome%{?gcsuffix}.desktop
116%{__sed} -i 's#google-chrome-\(stable\|beta\|unstable\)#google-chrome#g' google-chrome%{?gcsuffix}.desktop
117
118%build
119
120%install
121rm -rf $RPM_BUILD_ROOT
122install -d $RPM_BUILD_ROOT{%{_bindir},%{_libdir}/%{name}/plugins,%{_mandir}/man1,%{_desktopdir},%{_libdir}/%{name}/themes} \
123 $RPM_BUILD_ROOT%{_datadir}/%{name}/extensions
124
125install -p %{SOURCE1} $RPM_BUILD_ROOT%{_bindir}/%{name}
126sed -i -e 's#RPM_STATE#%{state}#g' $RPM_BUILD_ROOT%{_bindir}/%{name}
127
128%{__sed} -i -e 's,@libdir@,%{_libdir}/%{name},' $RPM_BUILD_ROOT%{_bindir}/%{name}
129cp -a chrome%{?gcsuffix}/* $RPM_BUILD_ROOT%{_libdir}/%{name}
130cp -p google-chrome-%{state}.1 $RPM_BUILD_ROOT%{_mandir}/man1/google-chrome%{?gcsuffix}.1
131# for google-chrome --help
132echo ".so google-chrome%{?gcsuffix}.1" > $RPM_BUILD_ROOT%{_mandir}/man1/chrome%{?gcsuffix}.1
133cp -p google-chrome%{?gcsuffix}.desktop $RPM_BUILD_ROOT%{_desktopdir}/google-chrome%{?gcsuffix}.desktop
134
135for icon in product_logo_*.png; do
136 size=${icon##product_logo_}
137 size=${size%.png}
138 size=${size%_%{state}}
139
140 install -d $RPM_BUILD_ROOT%{_iconsdir}/hicolor/${size}x${size}/apps
141 cp -p $icon $RPM_BUILD_ROOT%{_iconsdir}/hicolor/${size}x${size}/apps/%{name}.png
142done
143
144%browser_plugins_add_browser %{name} -p %{_libdir}/%{name}/plugins
145
146# binary needs to be at that specific location, or it will abort:
147# [1070:1070:3265429789299:FATAL:zygote_host_linux.cc(130)] The SUID sandbox helper binary is missing: /opt/google/chrome/chrome-sandbox Aborting now.
148# Aborted
149install -d $RPM_BUILD_ROOT/opt/google
150# see if CHROME_DEVEL_SANDBOX env var helps
151# content/browser/browser_main_loop.cc
152ln -s %{_libdir}/%{name} $RPM_BUILD_ROOT/opt/google/chrome%{?gcsuffix}
153
154# find locales
155%find_lang %{name}.lang
156# always package en-US (in main package)
157%{__sed} -i -e '/en-US.pak/d' %{name}.lang
158
159%clean
160rm -rf $RPM_BUILD_ROOT
161
162%post
163%update_icon_cache hicolor
164%update_browser_plugins
165
166%postun
167if [ "$1" = 0 ]; then
168 %update_icon_cache hicolor
169 %update_browser_plugins
170fi
171
172%files
173%defattr(644,root,root,755)
174
175%{_browserpluginsconfdir}/browsers.d/%{name}.*
176%config(noreplace) %verify(not md5 mtime size) %{_browserpluginsconfdir}/blacklist.d/%{name}.*.blacklist
177
178%attr(755,root,root) %{_bindir}/%{name}
179%{_mandir}/man1/*.1*
180%{_desktopdir}/*.desktop
181%{_iconsdir}/hicolor/*/apps/%{name}.png
182
183%dir %{_libdir}/%{name}
184%{_libdir}/%{name}/MEIPreload
185%{_libdir}/%{name}/icudtl.dat
186%{_libdir}/%{name}/chrome_*_percent.pak
187%{_libdir}/google-chrome/chrome-management-service
188%{_libdir}/%{name}/resources.pak
189%{_libdir}/%{name}/v8_context_snapshot.bin
190%{_libdir}/%{name}/libEGL.so
191%{_libdir}/%{name}/libGLESv2.so
192%{_libdir}/google-chrome/liboptimization_guide_internal.so
193%{_libdir}/%{name}/libvulkan.so.1
194%dir %{_libdir}/%{name}/locales
195%{_libdir}/%{name}/locales/en-US.pak
196#%{_libdir}/%{name}/locales/fake-bidi.pak
197%dir %{_libdir}/%{name}/plugins
198%dir %{_datadir}/%{name}
199# The path to the external extension <id>.json files.
200# see https://chromium.googlesource.com/chromium/chromium/+/trunk/chrome/common/chrome_paths.cc
201%dir %{_datadir}/%{name}/extensions
202%{_libdir}/%{name}/default_apps
203%{_libdir}/%{name}/themes
204%attr(755,root,root) %{_libdir}/%{name}/chrome
205# These unique permissions are intentional and necessary for the sandboxing
206%attr(4555,root,root) %{_libdir}/%{name}/chrome-sandbox
207
208%attr(755,root,root) %{_libdir}/%{name}/chrome_crashpad_handler
209
210# nacl
211%attr(755,root,root) %{_libdir}/%{name}/nacl_helper
212%attr(755,root,root) %{_libdir}/%{name}/nacl_helper_bootstrap
213%attr(755,root,root) %{_libdir}/%{name}/nacl_irt_x86_*.nexe
214
215# DRM
216%attr(755,root,root) %{_libdir}/%{name}/libwidevinecdm.so
217
218# ffmpeg libs
219%if %{with ffmpegsumo}
220%attr(755,root,root) %{_libdir}/%{name}/libffmpegsumo.so
221%endif
222
223%attr(755,root,root) %{_libdir}/%{name}/libvk_swiftshader.so
224%{_libdir}/%{name}/vk_swiftshader_icd.json
225
226%{_libdir}/%{name}/WidevineCdm
227
228# hack
229%dir /opt/google
230/opt/google/chrome%{?gcsuffix}
231
232%files l10n -f %{name}.lang
233%defattr(644,root,root,755)
This page took 0.020944 seconds and 4 git commands to generate.