- Fix youtube stop working

- Fix build errors
- Remove build_remoting, build_clear_key_cdm, policy_templates
i9e
Arkady L. Shane 2 weeks ago
parent d8193c01ef
commit 28da159c92
Signed by: tigro
GPG Key ID: 1EC08A25C9DB2503

@ -1,14 +0,0 @@
[Unit]
Description="Chrome Remote Desktop host daemon"
[Service]
User=%i
Environment=HOME=%h
ExecStart=@@CRD_PATH@@/chrome-remote-desktop --start --foreground
ExecStop=@@CRD_PATH@@/chrome-remote-desktop --stop
ExecReload=@@CRD_PATH@@/chrome-remote-desktop --reload
Restart=always
TimeoutStopSec=10
[Install]
WantedBy=multi-user.target

@ -0,0 +1,21 @@
diff -up chromium-133.0.6943.53/media/ffmpeg/ffmpeg_common.cc.me chromium-133.0.6943.53/media/ffmpeg/ffmpeg_common.cc
--- chromium-133.0.6943.53/media/ffmpeg/ffmpeg_common.cc.me 2025-02-09 19:57:35.117198035 +0100
+++ chromium-133.0.6943.53/media/ffmpeg/ffmpeg_common.cc 2025-02-09 22:57:26.429570196 +0100
@@ -76,6 +76,8 @@ const char* GetAllowedVideoDecoders() {
void ApplyCodecContextSecuritySettings(AVCodecContext* codec_context) {
// Future versions of ffmpeg may copy the allow list from the format
// context.
+// Workaround for codec whitelist with system ffmpeg
+#if 0
if (!codec_context->codec_whitelist) {
// Note: FFmpeg will try to free this string, so we must duplicate it.
codec_context->codec_whitelist =
@@ -83,7 +85,7 @@ void ApplyCodecContextSecuritySettings(A
? GetAllowedAudioDecoders()
: GetAllowedVideoDecoders());
}
-
+#endif
// Note: This is security sensitive. FFmpeg may not always continue safely
// in the presence of errors. See https://crbug.com/379418979
if (base::FeatureList::IsEnabled(kStrictFFmpegCodecs)) {

@ -8,11 +8,9 @@
<command>/usr/bin/chromium-browser %s</command> <command>/usr/bin/chromium-browser %s</command>
<icon-name>chromium-browser</icon-name> <icon-name>chromium-browser</icon-name>
<run-in-terminal>false</run-in-terminal> <run-in-terminal>false</run-in-terminal>
<netscape-remote>false</netscape-remote> <netscape-remote>true</netscape-remote>
<!-- <tab-command>/usr/bin/chromium-browser %s</tab-command>
<tab-command>false</tab-command> <win-command>/usr/bin/chromium-browser --new-window %s</win-command>
<win-command>false</win-command>
-->
</web-browser> </web-browser>
</web-browsers> </web-browsers>
</default-apps> </default-apps>

@ -61,9 +61,6 @@
%global build_chromedriver 1 %global build_chromedriver 1
%endif %endif
# enable|disable chrome-remote-desktop build
%global build_remoting 0
# set nodejs_version # set nodejs_version
%global nodejs_version v20.6.1 %global nodejs_version v20.6.1
@ -115,8 +112,6 @@
%endif %endif
%endif %endif
%global build_clear_key_cdm 0
# Disabled because of Google, starting with Chromium 88. # Disabled because of Google, starting with Chromium 88.
%global userestrictedapikeys 0 %global userestrictedapikeys 0
@ -355,6 +350,8 @@ Patch132: chromium-118-sigtrap_system_ffmpeg.patch
Patch133: chromium-121-system-old-ffmpeg.patch Patch133: chromium-121-system-old-ffmpeg.patch
# revert, it causes build error: use of undeclared identifier 'AVFMT_FLAG_NOH264PARSE' # revert, it causes build error: use of undeclared identifier 'AVFMT_FLAG_NOH264PARSE'
Patch135: chromium-133-disable-H.264-video-parser-during-demuxing.patch Patch135: chromium-133-disable-H.264-video-parser-during-demuxing.patch
# Workaround for youtube stop working
Patch136: chromium-133-workaround-system-ffmpeg-whitelist.patch
# file conflict with old kernel on el8/el9 # file conflict with old kernel on el8/el9
Patch141: chromium-118-dma_buf_export_sync_file-conflict.patch Patch141: chromium-118-dma_buf_export_sync_file-conflict.patch
@ -503,7 +500,7 @@ Source7: get_free_ffmpeg_source_files.py
Source8: get_linux_tests_names.py Source8: get_linux_tests_names.py
# GNOME stuff # GNOME stuff
Source9: chromium-browser.xml Source9: chromium-browser.xml
Source10: chrome-remote-desktop@.service Source10: chromium-browser.appdata.xml
Source11: master_preferences Source11: master_preferences
%if ! %{system_nodejs} %if ! %{system_nodejs}
@ -536,8 +533,6 @@ Source102: https://github.com/deemru/msspi/archive/%{msspi_commit}.tar.gz#/msspi
Source103: chromium-browser-gost-icons.tar.xz Source103: chromium-browser-gost-icons.tar.xz
%endif %endif
Source200: chromium-browser.appdata.xml
BuildRequires: clang BuildRequires: clang
BuildRequires: clang-tools-extra BuildRequires: clang-tools-extra
BuildRequires: llvm BuildRequires: llvm
@ -1013,34 +1008,11 @@ if proprietary CryptoPro is installed.
%package common %package common
Summary: Files needed for both the headless_shell and full Chromium Summary: Files needed for both the headless_shell and full Chromium
# -common doesn't have chrome-remote-desktop bits
# but we need to clean it up if it gets disabled again
# NOTE: Check obsoletes version to be sure it matches
%if ! %{build_remoting}
Provides: chrome-remote-desktop = %{version}-%{release}
Obsoletes: chrome-remote-desktop <= 81.0.4044.138
%endif
Requires: sphere-indexhtml Requires: sphere-indexhtml
%description common %description common
%{summary}. %{summary}.
%if %{build_remoting}
%package -n chrome-remote-desktop
Requires(pre): shadow-utils
Requires(post): systemd
Requires(preun): systemd
Requires(postun): systemd
Requires: xorg-x11-server-Xvfb
Requires: python3-psutil
Requires: %{name}-common%{_isa} = %{version}-%{release}
Summary: Remote desktop support for google-chrome & chromium
%description -n chrome-remote-desktop
Remote desktop support for google-chrome & chromium.
%endif
%package -n chromedriver %package -n chromedriver
Summary: WebDriver for Google Chrome/Chromium Summary: WebDriver for Google Chrome/Chromium
Requires: %{name}-common%{_isa} = %{version}-%{release} Requires: %{name}-common%{_isa} = %{version}-%{release}
@ -1175,6 +1147,7 @@ sed -i 's/std::string data_dir_basename = "chromium"/std::string data_dir_basena
#%%patch -P130 -p1 -b .revert-av1enc #%%patch -P130 -p1 -b .revert-av1enc
#%%patch -P133 -p1 -b .system-old-ffmpeg #%%patch -P133 -p1 -b .system-old-ffmpeg
#%%patch -P135 -p1 -b .disable-H.264-video-parser-during-demuxing #%%patch -P135 -p1 -b .disable-H.264-video-parser-during-demuxing
#%%patch -P136 -p1 -b .workaround-system-ffmpeg-whitelist
#%%endif #%%endif
#%%endif #%%endif
@ -1217,6 +1190,7 @@ sed -i 's/std::string data_dir_basename = "chromium"/std::string data_dir_basena
%endif %endif
%patch -P355 -p1 -b .hardware_destructive_interference_size %patch -P355 -p1 -b .hardware_destructive_interference_size
%patch -P358 -p1 -b .rust-clang_lib %patch -P358 -p1 -b .rust-clang_lib
%ifarch ppc64le %ifarch ppc64le
@ -1702,10 +1676,6 @@ mkdir -p %{chromebuilddir} && cp -a $(which gn) %{chromebuilddir}/
%{chromebuilddir}/gn --script-executable=%{chromium_pybin} gen --args="$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_HEADLESS_GN_DEFINES" %{headlessbuilddir} %{chromebuilddir}/gn --script-executable=%{chromium_pybin} gen --args="$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_HEADLESS_GN_DEFINES" %{headlessbuilddir}
%endif %endif
%if %{build_remoting}
%{chromebuilddir}/gn --script-executable=%{chromium_pybin} gen --args="$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_BROWSER_GN_DEFINES" %{remotingbuilddir}
%endif
%if %{build_headless} %if %{build_headless}
# Do headless first. # Do headless first.
%build_target %{headlessbuilddir} headless_shell %build_target %{headlessbuilddir} headless_shell
@ -1719,16 +1689,6 @@ mkdir -p %{chromebuilddir} && cp -a $(which gn) %{chromebuilddir}/
%endif %endif
%build_target %{chromebuilddir} libffmpeg.so %build_target %{chromebuilddir} libffmpeg.so
%if %{build_clear_key_cdm}
%build_target %{chromebuilddir} clear_key_cdm
%endif
%build_target %{chromebuilddir} policy_templates
%if %{build_remoting}
%build_target %{remotingbuilddir} remoting_all
%endif
%install %install
rm -rf %{buildroot} rm -rf %{buildroot}
@ -1805,78 +1765,13 @@ pushd %{chromebuilddir}
cp -a libqt6_shim.so %{buildroot}%{chromium_path} cp -a libqt6_shim.so %{buildroot}%{chromium_path}
%endif %endif
%if %{build_clear_key_cdm}
%ifarch x86_64
cp -a ClearKeyCdm/_platform_specific/linux_x64/libclearkeycdm.so %{buildroot}%{chromium_path}
%endif
%ifarch aarch64
cp -a ClearKeyCdm/_platform_specific/linux_arm64/libclearkeycdm.so %{buildroot}%{chromium_path}
%endif
%ifarch ppc64le
cp -a ClearKeyCdm/_platform_specific/linux_ppc64/libclearkeycdm.so %{buildroot}%{chromium_path}
%endif
%endif
%if %{build_chromedriver} %if %{build_chromedriver}
# chromedriver # chromedriver
cp -a chromedriver %{buildroot}%{chromium_path}/chromedriver cp -a chromedriver %{buildroot}%{chromium_path}/chromedriver
ln -s ../..%{chromium_path}/chromedriver %{buildroot}%{_bindir}/chromedriver ln -s ../..%{chromium_path}/chromedriver %{buildroot}%{_bindir}/chromedriver
%endif %endif
%if %{build_remoting}
# Remote desktop bits
mkdir -p %{buildroot}%{crd_path}
%endif
popd popd
%if %{build_remoting}
pushd %{remotingbuilddir}
# Hey, there is a library now.
cp -a libremoting_core.so %{buildroot}%{crd_path}/
# See remoting/host/installer/linux/Makefile for logic
mkdir -p %{buildroot}%{crd_path}/remoting_locales
cp -a remoting_native_messaging_host %{buildroot}%{crd_path}/native-messaging-host
cp -a remote_assistance_host %{buildroot}%{crd_path}/remote-assistance-host
cp -a remoting_locales/*.pak %{buildroot}%{crd_path}/remoting_locales/
cp -a remoting_me2me_host %{buildroot}%{crd_path}/chrome-remote-desktop-host
cp -a remoting_start_host %{buildroot}%{crd_path}/start-host
cp -a remoting_user_session %{buildroot}%{crd_path}/user-session
chmod +s %{buildroot}%{crd_path}/user-session
# chromium
mkdir -p %{buildroot}%{_sysconfdir}/chromium/native-messaging-hosts
# google-chrome
mkdir -p %{buildroot}%{_sysconfdir}/opt/chrome/
cp -a remoting/* %{buildroot}%{_sysconfdir}/chromium/native-messaging-hosts/
for i in %{buildroot}%{_sysconfdir}/chromium/native-messaging-hosts/*.json; do
sed -i 's|/opt/google/chrome-remote-desktop|%{crd_path}|g' $i
done
mkdir -p %{buildroot}%{_sysconfdir}/opt/chrome/native-messaging-hosts
pushd %{buildroot}%{_sysconfdir}/opt/chrome/native-messaging-hosts
for i in ../../../chromium/native-messaging-hosts/*; do
# rpm gets unhappy when we symlink here
cp -a $i .
done
popd
popd
mkdir -p %{buildroot}/var/lib/chrome-remote-desktop
touch %{buildroot}/var/lib/chrome-remote-desktop/hashes
mkdir -p %{buildroot}%{_sysconfdir}/pam.d/
pushd %{buildroot}%{_sysconfdir}/pam.d/
ln -s system-auth chrome-remote-desktop
popd
cp -a remoting/host/linux/linux_me2me_host.py %{buildroot}%{crd_path}/chrome-remote-desktop
cp -a remoting/host/installer/linux/is-remoting-session %{buildroot}%{crd_path}/
mkdir -p %{buildroot}%{_unitdir}
cp -a %{SOURCE10} %{buildroot}%{_unitdir}/
sed -i 's|@@CRD_PATH@@|%{crd_path}|g' %{buildroot}%{_unitdir}/chrome-remote-desktop@.service
%endif
%if %{build_headless} %if %{build_headless}
pushd %{headlessbuilddir} pushd %{headlessbuilddir}
cp -a *.pak headless_shell %{buildroot}%{chromium_path} cp -a *.pak headless_shell %{buildroot}%{chromium_path}
@ -1921,9 +1816,9 @@ install -m 0644 %{SOURCE11} %{buildroot}%{_sysconfdir}/%{name}/
mkdir -p %{buildroot}%{_datadir}/applications/ mkdir -p %{buildroot}%{_datadir}/applications/
desktop-file-install --dir %{buildroot}%{_datadir}/applications %{SOURCE4} desktop-file-install --dir %{buildroot}%{_datadir}/applications %{SOURCE4}
install -D -m0644 %{SOURCE200} \
${RPM_BUILD_ROOT}%{_datadir}/metainfo/%{chromium_browser_channel}.appdata.xml install -D -m0644 %{SOURCE10} ${RPM_BUILD_ROOT}%{_datadir}/appdata/%{chromium_browser_channel}.appdata.xml
appstream-util validate-relax --nonet ${RPM_BUILD_ROOT}%{_datadir}/metainfo/%{chromium_browser_channel}.appdata.xml appstream-util validate-relax --nonet ${RPM_BUILD_ROOT}%{_datadir}/appdata/%{chromium_browser_channel}.appdata.xml
mkdir -p %{buildroot}%{_datadir}/gnome-control-center/default-apps/ mkdir -p %{buildroot}%{_datadir}/gnome-control-center/default-apps/
cp -a %{SOURCE9} %{buildroot}%{_datadir}/gnome-control-center/default-apps/ cp -a %{SOURCE9} %{buildroot}%{_datadir}/gnome-control-center/default-apps/
@ -1943,39 +1838,12 @@ if selinuxenabled; then
fi fi
%endif %endif
%if %{build_remoting}
%pretrans -n chrome-remote-desktop -p <lua>
path = "/etc/opt/chrome/native-messaging-hosts"
st = posix.stat(path)
if st and st.type == "link" then
os.remove(path)
end
%endif
%if %{build_remoting}
%pre -n chrome-remote-desktop
getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-desktop
%post -n chrome-remote-desktop
%systemd_post chrome-remote-desktop@.service
%preun -n chrome-remote-desktop
%systemd_preun chrome-remote-desktop@.service
%postun -n chrome-remote-desktop
%systemd_postun_with_restart chrome-remote-desktop@.service
%endif
%files %files
%doc AUTHORS README.fedora %doc AUTHORS README.fedora
%doc chrome_policy_list.html *.json
%license LICENSE %license LICENSE
%config(noreplace) %{_sysconfdir}/%{name}/%{name}.conf %config(noreplace) %{_sysconfdir}/%{name}/%{name}.conf
%config %{_sysconfdir}/%{name}/master_preferences %config %{_sysconfdir}/%{name}/master_preferences
%config %{_sysconfdir}/%{name}/policies/ %config %{_sysconfdir}/%{name}/policies/
%if %{build_remoting}
%exclude %{_sysconfdir}/%{name}/native-messaging-hosts/*
%endif
%{_bindir}/%{chromium_browser_channel} %{_bindir}/%{chromium_browser_channel}
%{chromium_path}/*.bin %{chromium_path}/*.bin
%{chromium_path}/chrome_*.pak %{chromium_path}/chrome_*.pak
@ -1987,7 +1855,7 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt
%{_mandir}/man1/%{chromium_browser_channel}.* %{_mandir}/man1/%{chromium_browser_channel}.*
%{_datadir}/icons/hicolor/*/apps/%{chromium_browser_channel}.png %{_datadir}/icons/hicolor/*/apps/%{chromium_browser_channel}.png
%{_datadir}/applications/*.desktop %{_datadir}/applications/*.desktop
%{_datadir}/metainfo/*.appdata.xml %{_datadir}/appdata/*.appdata.xml
%{_datadir}/gnome-control-center/default-apps/chromium-browser.xml %{_datadir}/gnome-control-center/default-apps/chromium-browser.xml
%if %{use_qt} %if %{use_qt}
@ -2004,9 +1872,6 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt
%{chromium_path}/libffmpeg.so %{chromium_path}/libffmpeg.so
%files common %files common
%if %{build_clear_key_cdm}
%{chromium_path}/libclearkeycdm.so
%endif
%ifarch x86_64 aarch64 ppc64le %ifarch x86_64 aarch64 ppc64le
%{chromium_path}/libvk_swiftshader.so* %{chromium_path}/libvk_swiftshader.so*
%{chromium_path}/libvulkan.so* %{chromium_path}/libvulkan.so*
@ -2090,24 +1955,6 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt
%{chromium_path}/headless_*.pak %{chromium_path}/headless_*.pak
%endif %endif
%if %{build_remoting}
%files -n chrome-remote-desktop
%{crd_path}/chrome-remote-desktop
%{crd_path}/chrome-remote-desktop-host
%{crd_path}/is-remoting-session
%{crd_path}/libremoting_core.so*
%{crd_path}/native-messaging-host
%{crd_path}/remote-assistance-host
%{_sysconfdir}/pam.d/chrome-remote-desktop
%{_sysconfdir}/chromium/native-messaging-hosts/*
%{_sysconfdir}/opt/chrome/
%{crd_path}/remoting_locales/
%{crd_path}/start-host
%{crd_path}/user-session
%{_unitdir}/chrome-remote-desktop@.service
/var/lib/chrome-remote-desktop/
%endif
%if %{build_chromedriver} %if %{build_chromedriver}
%files -n chromedriver %files -n chromedriver
%doc AUTHORS %doc AUTHORS

Loading…
Cancel
Save