diff --git a/anaconda/anaconda-34.25.5.0.tar.bz2 b/anaconda/anaconda-34.25.5.0.tar.bz2 new file mode 100644 index 000000000..1e1f02c11 Binary files /dev/null and b/anaconda/anaconda-34.25.5.0.tar.bz2 differ diff --git a/anaconda/anaconda-oreon-add-minimal-repo.patch b/anaconda/anaconda-oreon-add-minimal-repo.patch new file mode 100644 index 000000000..97a384156 --- /dev/null +++ b/anaconda/anaconda-oreon-add-minimal-repo.patch @@ -0,0 +1,13 @@ +diff -Naur anaconda-34.25.0.29/pyanaconda/core/constants.py anaconda-34.25.0.29.minimal/pyanaconda/core/constants.py +--- anaconda-34.25.0.29/pyanaconda/core/constants.py 2022-03-17 17:39:24.000000000 +0100 ++++ anaconda-34.25.0.29.minimal/pyanaconda/core/constants.py 2022-05-24 14:07:32.000000000 +0200 +@@ -58,7 +58,8 @@ + "fedora-modular-server", + "rawhide", + "BaseOS", # Used by RHEL +- "baseos"] # Used by CentOS Stream ++ "baseos", # Used by CentOS Stream ++ "Minimal"] # Used by Oreon + + DBUS_ANACONDA_SESSION_ADDRESS = "DBUS_ANACONDA_SESSION_BUS_ADDRESS" + diff --git a/anaconda/anaconda-oreon-disable-cdn-radiobutton.patch b/anaconda/anaconda-oreon-disable-cdn-radiobutton.patch new file mode 100644 index 000000000..9cbde6775 --- /dev/null +++ b/anaconda/anaconda-oreon-disable-cdn-radiobutton.patch @@ -0,0 +1,12 @@ +diff -uNrp anaconda-33.16.3.26.orig/pyanaconda/ui/gui/spokes/installation_source.py anaconda-33.16.3.26/pyanaconda/ui/gui/spokes/installation_source.py +--- anaconda-33.16.3.26.orig/pyanaconda/ui/gui/spokes/installation_source.py 2020-08-24 05:10:07.000000000 -0500 ++++ anaconda-33.16.3.26/pyanaconda/ui/gui/spokes/installation_source.py 2020-11-16 10:41:09.663907591 -0600 +@@ -704,6 +704,8 @@ class SourceSpoke(NormalSpoke, GUISpokeI + self._network_button = self.builder.get_object("networkRadioButton") + self._network_box = self.builder.get_object("networkBox") + ++ really_hide(self._cdn_button) ++ + self._url_entry = self.builder.get_object("urlEntry") + self._protocol_combo_box = self.builder.get_object("protocolComboBox") + self._iso_chooser_button = self.builder.get_object("isoChooserButton") diff --git a/anaconda/anaconda-oreon-disable-subscription.patch b/anaconda/anaconda-oreon-disable-subscription.patch new file mode 100644 index 000000000..ffe6c9df1 --- /dev/null +++ b/anaconda/anaconda-oreon-disable-subscription.patch @@ -0,0 +1,14 @@ +diff -uprN a/pyanaconda/ui/gui/spokes/subscription.py b/pyanaconda/ui/gui/spokes/subscription.py +--- a/pyanaconda/ui/gui/spokes/subscription.py 2020-09-04 11:31:43.743451360 +0300 ++++ b/pyanaconda/ui/gui/spokes/subscription.py 2020-09-04 11:33:07.002306508 +0300 +@@ -540,6 +540,10 @@ class SubscriptionSpoke(NormalSpoke): + # also set the spoke warning banner + self.show_warning_message(error_message) + ++ @property ++ def showable(self): ++ return False ++ + def initialize(self): + NormalSpoke.initialize(self) + self.initialize_start() diff --git a/anaconda/anaconda-oreon-installer-colors.patch b/anaconda/anaconda-oreon-installer-colors.patch new file mode 100644 index 000000000..2727a5471 --- /dev/null +++ b/anaconda/anaconda-oreon-installer-colors.patch @@ -0,0 +1,16 @@ +diff -uprN a/data/anaconda-gtk.css b/data/anaconda-gtk.css +--- a/data/anaconda-gtk.css 2020-11-16 01:33:12.596735620 +0300 ++++ b/data/anaconda-gtk.css 2020-11-16 01:35:17.925684936 +0300 +@@ -92,10 +92,11 @@ infobar.error { + + @define-color redhat #2d2d2d; + @define-color fedora #2f4265; ++@define-color oreon #0b2335; + + /* theme colors/images */ + +-@define-color product_bg_color @fedora; ++@define-color product_bg_color @oreon; + + /* logo and sidebar classes */ + diff --git a/anaconda/anaconda-oreon-remove-visible-fedora-references.patch b/anaconda/anaconda-oreon-remove-visible-fedora-references.patch new file mode 100644 index 000000000..1fc3c21ef --- /dev/null +++ b/anaconda/anaconda-oreon-remove-visible-fedora-references.patch @@ -0,0 +1,80 @@ +diff -aruN anaconda-34.25.0.23/data/liveinst/gnome/fedora-welcome.desktop anaconda-34.25.0.23.oreon/data/liveinst/gnome/fedora-welcome.desktop +--- anaconda-34.25.0.23/data/liveinst/gnome/fedora-welcome.desktop 2021-12-09 18:57:10.000000000 +0300 ++++ anaconda-34.25.0.23.oreon/data/liveinst/gnome/fedora-welcome.desktop 2022-01-27 16:41:21.926325600 +0300 +@@ -1,5 +1,5 @@ + [Desktop Entry] +-Name=Welcome to Fedora ++Name=Welcome to Oreon + Exec=/usr/share/anaconda/gnome/fedora-welcome + Terminal=false + Type=Application +diff -aruN anaconda-34.25.0.23/data/liveinst/gnome/fedora-welcome.js anaconda-34.25.0.23.oreon/data/liveinst/gnome/fedora-welcome.js +--- anaconda-34.25.0.23/data/liveinst/gnome/fedora-welcome.js 2021-12-09 18:57:10.000000000 +0300 ++++ anaconda-34.25.0.23.oreon/data/liveinst/gnome/fedora-welcome.js 2022-01-27 16:46:02.899570400 +0300 +@@ -62,7 +62,7 @@ + default_width: 600, + default_height: 550, + skip_taskbar_hint: true, +- title: _("Welcome to Fedora"), ++ title: _("Welcome to Oreon"), + window_position: Gtk.WindowPosition.CENTER }); + this.window.connect('key-press-event', Lang.bind(this, + function(w, event) { +@@ -91,7 +91,7 @@ + spacing: 16 }); + tryContent.add(new Gtk.Image({ icon_name: 'media-optical', + pixel_size: 256 })); +- tryContent.add(makeLabel(_("Try Fedora"), true)); ++ tryContent.add(makeLabel(_("Try Oreon"), true)); + + let tryButton = new Gtk.Button({ child: tryContent }); + buttonBox.add(tryButton); +@@ -107,7 +107,7 @@ + let installButton = new Gtk.Button({ child: installContent }); + buttonBox.add(installButton); + +- this._label = makeLabel(_("You are currently running Fedora from live media.\nYou can install Fedora now, or choose \"Install to Hard Drive\" in the Activities Overview at any later time."), false); ++ this._label = makeLabel(_("You are currently running Oreon from live media.\nYou can install Oreon now, or choose \"Install to Hard Drive\" in the Activities Overview at any later time."), false); + mainGrid.add(this._label); + + installButton.connect('clicked', Lang.bind(this, +diff -aruN anaconda-34.25.0.23/docs/intro.rst anaconda-34.25.0.23.oreon/docs/intro.rst +--- anaconda-34.25.0.23/docs/intro.rst 2021-12-09 18:57:10.000000000 +0300 ++++ anaconda-34.25.0.23.oreon/docs/intro.rst 2022-01-27 16:42:10.434747900 +0300 +@@ -1,8 +1,8 @@ + Introduction to Anaconda + ======================== + +-Anaconda is the installation program used by Fedora, Red Hat Enterprise Linux +-and some other distributions. ++Anaconda is the installation program used by Fedora, Red Hat Enterprise Linux, ++Oreon and some other distributions. + + During installation, a target computer's hardware is identified and configured + and the appropriate file systems for the system's architecture are created. +diff -aruN anaconda-34.25.0.23/docs/iscsi.rst anaconda-34.25.0.23.oreon/docs/iscsi.rst +--- anaconda-34.25.0.23/docs/iscsi.rst 2021-12-09 18:57:10.000000000 +0300 ++++ anaconda-34.25.0.23.oreon/docs/iscsi.rst 2022-01-27 16:43:34.244471700 +0300 +@@ -139,7 +139,7 @@ + The booting problems are either due to incorrectly generated dracut boot + arguments or they are simply dracut bugs. + +-Note that many of the iscsi adapters are installed in different Red Hat machines ++Note that many of the iscsi adapters are installed in different Oreon machines + and so the issues can often be reproduced and debugged. + + +diff -aruN anaconda-34.25.0.23/pyanaconda/core/constants.py anaconda-34.25.0.23.oreon/pyanaconda/core/constants.py +--- anaconda-34.25.0.23/pyanaconda/core/constants.py 2021-12-09 18:59:10.000000000 +0300 ++++ anaconda-34.25.0.23.oreon/pyanaconda/core/constants.py 2022-01-27 16:54:30.830920800 +0300 +@@ -160,8 +160,8 @@ + ) + + WARNING_HARDWARE_UNSUPPORTED = N_( +- "This hardware (or a combination thereof) is not supported by Red Hat. For more information " +- "on supported hardware, please refer to http://www.redhat.com/hardware." ++ "This hardware (or a combination thereof) is not supported by Oreon. For more information " ++ "on supported hardware, please refer to https://oreonproject.org." + ) + + # Storage messages diff --git a/anaconda/anaconda.spec b/anaconda/anaconda.spec new file mode 100644 index 000000000..ee8ebfc09 --- /dev/null +++ b/anaconda/anaconda.spec @@ -0,0 +1,427 @@ +Summary: Graphical system installer +Name: anaconda +Version: 34.25.5.0 +Release: 1%{?dist}.oreon +License: GPLv2+ and MIT +URL: http://fedoraproject.org/wiki/Anaconda + +# To generate Source0 do: +# git clone https://github.com/rhinstaller/anaconda +# git checkout -b archive-branch anaconda-%%{version}-%%{release} +# ./autogen.sh +# make dist +Source0: %{name}-%{version}.tar.bz2 + +# Oreon patches +Patch1000: anaconda-oreon-installer-colors.patch +Patch1001: anaconda-oreon-disable-subscription.patch +Patch1002: anaconda-oreon-disable-cdn-radiobutton.patch +Patch1003: anaconda-oreon-remove-visible-fedora-references.patch +Patch1004: anaconda-oreon-add-minimal-repo.patch + +# Versions of required components (done so we make sure the buildrequires +# match the requires versions of things). + +%if ! 0%{?rhel} +%define blivetguiver 2.1.12-1 +%endif +%define dasbusver 1.3 +%define dbusver 1.2.3 +%define dnfver 3.6.0 +%define dracutver 034-7 +%define fcoeutilsver 1.0.12-3.20100323git +%define gettextver 0.19.8 +%define gtk3ver 3.22.17 +%define helpver 9.0.0-1 +%define isomd5sumver 1.0.10 +%define langtablever 0.0.54 +%define libarchivever 3.0.4 +%define libblockdevver 2.1 +%define libreportanacondaver 2.0.21-1 +%define libtimezonemapver 0.4.1-2 +%define libxklavierver 5.4 +%define mehver 0.23-1 +%define nmver 1.0 +%define pykickstartver 3.32.10-1 +%define pypartedver 2.5-2 +%define pythonblivetver 1:3.6.0-4 +%define rpmver 4.10.0 +%define simplelinever 1.8.3-1 +%define subscriptionmanagerver 1.29.31 +%define utillinuxver 2.15.1 + +BuildRequires: audit-libs-devel +BuildRequires: libtool +BuildRequires: gettext-devel >= %{gettextver} +BuildRequires: gtk3-devel >= %{gtk3ver} +BuildRequires: gtk-doc +BuildRequires: gtk3-devel-docs >= %{gtk3ver} +BuildRequires: glib2-doc +BuildRequires: gobject-introspection-devel +BuildRequires: glade-devel +BuildRequires: libgnomekbd-devel +BuildRequires: libxklavier-devel >= %{libxklavierver} +BuildRequires: make +BuildRequires: pango-devel +BuildRequires: python3-devel +BuildRequires: systemd +# rpm and libarchive are needed for driver disk handling +BuildRequires: rpm-devel >= %{rpmver} +BuildRequires: libarchive-devel >= %{libarchivever} +%ifarch s390 s390x +BuildRequires: s390utils-devel +%endif +BuildRequires: libtimezonemap-devel >= %{libtimezonemapver} + +# Tools used by the widgets resource bundle generation +BuildRequires: gdk-pixbuf2-devel +BuildRequires: libxml2 + +Requires: anaconda-tui = %{version}-%{release} + +%description +The anaconda package is a metapackage for the Anaconda installer. + +%package core +Summary: Core of the Anaconda installer +Requires: python3-libs +Requires: python3-dnf >= %{dnfver} +Requires: python3-blivet >= %{pythonblivetver} +Requires: python3-blockdev >= %{libblockdevver} +Requires: python3-meh >= %{mehver} +Requires: libreport-anaconda >= %{libreportanacondaver} +Requires: libselinux-python3 +Requires: python3-rpm >= %{rpmver} +Requires: python3-pyparted >= %{pypartedver} +Requires: python3-requests +Requires: python3-requests-file +Requires: python3-requests-ftp +Requires: python3-kickstart >= %{pykickstartver} +Requires: python3-langtable >= %{langtablever} +Requires: util-linux >= %{utillinuxver} +Requires: python3-gobject-base +Requires: python3-dbus +Requires: python3-pwquality +Requires: python3-systemd +Requires: python3-productmd +Requires: python3-dasbus >= %{dasbusver} +Requires: flatpak-libs +%if %{defined rhel} && %{undefined centos} +Requires: subscription-manager >= %{subscriptionmanagerver} +%endif + +# pwquality only "recommends" the dictionaries it needs to do anything useful, +# which is apparently great for containers but unhelpful for the rest of us +Requires: cracklib-dicts + +Requires: python3-pytz +Requires: teamd +%ifarch s390 s390x +Requires: openssh +%endif +Requires: NetworkManager >= %{nmver} +Requires: NetworkManager-libnm >= %{nmver} +Requires: NetworkManager-team +Requires: kbd +Requires: chrony +Requires: systemd +Requires: python3-pid + +# Required by the systemd service anaconda-fips. +Requires: crypto-policies +Requires: /usr/bin/update-crypto-policies + +# required because of the rescue mode and VNC question +Requires: anaconda-tui = %{version}-%{release} + +# Make sure we get the en locale one way or another +Requires: (glibc-langpack-en or glibc-all-langpacks) + +# anaconda literally runs its own dbus-daemon, so it needs this, +# even though the distro default is dbus-broker in F30+ +Requires: dbus-daemon + +# Ensure it's not possible for a version of grubby to be installed +# that doesn't work with btrfs subvolumes correctly... +Conflicts: grubby < 8.40-10 + +Obsoletes: anaconda-images <= 10 +Provides: anaconda-images = %{version}-%{release} +Obsoletes: anaconda-runtime < %{version}-%{release} +Provides: anaconda-runtime = %{version}-%{release} +Obsoletes: booty <= 0.107-1 + +%description core +The anaconda-core package contains the program which was used to install your +system. + +%package live +Summary: Live installation specific files and dependencies +BuildRequires: desktop-file-utils +# live installation currently implies a graphical installation +Requires: usermode +Requires: zenity + +%description live +The anaconda-live package contains scripts, data and dependencies required +for live installations. + +%package install-env-deps +Summary: Installation environment specific dependencies +Requires: udisks2-iscsi +Requires: libblockdev-plugins-all >= %{libblockdevver} +# active directory/freeipa join support +Requires: realmd +Requires: isomd5sum >= %{isomd5sumver} +%ifarch %{ix86} x86_64 +Recommends: fcoe-utils >= %{fcoeutilsver} +%endif +# likely HFS+ resize support +%ifarch %{ix86} x86_64 +%if ! 0%{?rhel} +Requires: hfsplus-tools +%endif +%endif +# kexec support +Requires: kexec-tools +# needed for proper driver disk support - if RPMs must be installed, a repo is needed +Requires: createrepo_c +# run's on TTY1 in install env +Requires: tmux +# install time crash handling +Requires: gdb +# support for installation from image and live & live image installations +Requires: rsync +# External tooling for managing NVMe-FC devices in the installation environment +Recommends: nvme-cli + +%description install-env-deps +The anaconda-install-env-deps metapackage lists all installation environment dependencies. +This makes it possible for packages (such as Initial Setup) to depend on the main Anaconda package without +pulling in all the install time dependencies as well. + +%package install-img-deps +Summary: Installation image specific dependencies +# This package must have no weak dependencies. +Requires: udisks2-iscsi +Requires: libblockdev-plugins-all >= %{libblockdevver} +# active directory/freeipa join support +Requires: realmd +Requires: isomd5sum >= %{isomd5sumver} +%ifarch %{ix86} x86_64 +Requires: fcoe-utils >= %{fcoeutilsver} +%endif +# likely HFS+ resize support +%ifarch %{ix86} x86_64 +%if ! 0%{?rhel} +Requires: hfsplus-tools +%endif +%endif +# kexec support +Requires: kexec-tools +# needed for proper driver disk support - if RPMs must be installed, a repo is needed +Requires: createrepo_c +# run's on TTY1 in install env +Requires: tmux +# install time crash handling +Requires: gdb +# support for installation from image and live & live image installations +Requires: rsync +# only WeakRequires elsewhere and not guaranteed to be present +Requires: device-mapper-multipath +Requires: zram-generator +# Submitting bugs to bugzilla +# Requires: libreport-rhel-anaconda-bugzilla +# External tooling for managing NVMe-FC devices in the installation environment +Requires: nvme-cli + +%description install-img-deps +The anaconda-install-img-deps metapackage lists all boot.iso installation image dependencies. +Add this package to an image build (eg. with lorax) to ensure all Anaconda capabilities are supported in the resulting image. + +%package gui +Summary: Graphical user interface for the Anaconda installer +Requires: anaconda-core = %{version}-%{release} +Requires: anaconda-widgets = %{version}-%{release} +Requires: python3-meh-gui >= %{mehver} +Requires: adwaita-icon-theme +Requires: tigervnc-server-minimal +Requires: libxklavier >= %{libxklavierver} +Requires: libgnomekbd +Requires: libtimezonemap >= %{libtimezonemapver} +Requires: nm-connection-editor +Requires: keybinder3 +%ifnarch s390 s390x +Requires: NetworkManager-wifi +%endif +Requires: anaconda-user-help >= %{helpver} +Requires: yelp +%if ! 0%{?rhel} +Requires: blivet-gui-runtime >= %{blivetguiver} +%endif +Requires: system-logos + +# Needed to compile the gsettings files +BuildRequires: gsettings-desktop-schemas + +%description gui +This package contains graphical user interface for the Anaconda installer. + +%package tui +Summary: Textual user interface for the Anaconda installer +Requires: anaconda-core = %{version}-%{release} +Requires: python3-simpleline >= %{simplelinever} + +%description tui +This package contains textual user interface for the Anaconda installer. + +%package widgets +Summary: A set of custom GTK+ widgets for use with anaconda +Requires: %{__python3} + +%description widgets +This package contains a set of custom GTK+ widgets used by the anaconda installer. + +%package widgets-devel +Summary: Development files for anaconda-widgets +Requires: glade +Requires: %{name}-widgets%{?_isa} = %{version}-%{release} + +%description widgets-devel +This package contains libraries and header files needed for writing the anaconda +installer. It also contains Python and Glade support files, as well as +documentation for working with this library. + +%package dracut +Summary: The anaconda dracut module +Requires: dracut >= %{dracutver} +Requires: dracut-network +Requires: dracut-live +Requires: xz +Requires: python3-kickstart + +%description dracut +The 'anaconda' dracut module handles installer-specific boot tasks and +options. This includes driver disks, kickstarts, and finding the anaconda +runtime on NFS/HTTP/FTP servers or local disks. + +%prep +%autosetup -p 1 + +# Debrand +sed -e 's/RHEL/Oreon/g' -i po/*.po +sed -e 's/Red Hat Enterprise Linux/Oreon/g' -i po/*.po + +%build +# use actual build-time release number, not tarball creation time release number +%configure ANACONDA_RELEASE=%{release} +%{__make} %{?_smp_mflags} + +%install +%{make_install} +find %{buildroot} -type f -name "*.la" | xargs %{__rm} + +# Create an empty directory for addons +mkdir %{buildroot}%{_datadir}/anaconda/addons + +# required for live installations +desktop-file-install --dir=%{buildroot}%{_datadir}/applications %{buildroot}%{_datadir}/applications/liveinst.desktop + +# If no langs found, keep going +%find_lang %{name} || : + + +# main package and install-env-deps are metapackages +%files + +%files install-env-deps + +# Allow the lang file to be empty +%define _empty_manifest_terminate_build 0 + +%files install-img-deps + +# Allow the lang file to be empty here too +%define _empty_manifest_terminate_build 0 + +%files core -f %{name}.lang +%license COPYING +%{_unitdir}/* +%{_prefix}/lib/systemd/system-generators/* +%{_bindir}/instperf +%{_bindir}/anaconda-disable-nm-ibft-plugin +%{_bindir}/anaconda-nm-disable-autocons +%{_sbindir}/anaconda +%{_sbindir}/handle-sshpw +%{_datadir}/anaconda +%{_prefix}/libexec/anaconda +%exclude %{_datadir}/anaconda/gnome +%exclude %{_datadir}/anaconda/pixmaps +%exclude %{_datadir}/anaconda/ui +%exclude %{_datadir}/anaconda/window-manager +%exclude %{_datadir}/anaconda/anaconda-gtk.css +%exclude %{_prefix}/libexec/anaconda/dd_* +%{python3_sitearch}/pyanaconda +%exclude %{python3_sitearch}/pyanaconda/rescue.py* +%exclude %{python3_sitearch}/pyanaconda/__pycache__/rescue.* +%exclude %{python3_sitearch}/pyanaconda/ui/gui/* +%exclude %{python3_sitearch}/pyanaconda/ui/tui/* +%{_bindir}/analog +%{_bindir}/anaconda-cleanup +%dir %{_sysconfdir}/%{name} +%config %{_sysconfdir}/%{name}/* +%dir %{_sysconfdir}/%{name}/conf.d +%config %{_sysconfdir}/%{name}/conf.d/* +%dir %{_sysconfdir}/%{name}/product.d +%config %{_sysconfdir}/%{name}/product.d/* + +%files live +%{_bindir}/liveinst +%{_sbindir}/liveinst +%config(noreplace) %{_sysconfdir}/pam.d/* +%config(noreplace) %{_sysconfdir}/security/console.apps/* +%{_libexecdir}/liveinst-setup.sh +%{_datadir}/applications/*.desktop +%{_datadir}/anaconda/gnome +%{_sysconfdir}/xdg/autostart/*.desktop + +%files gui +%{python3_sitearch}/pyanaconda/ui/gui/* +%{_datadir}/anaconda/pixmaps +%{_datadir}/anaconda/ui +%if 0%{?rhel} +# Remove blivet-gui +%exclude %{_datadir}/anaconda/ui/spokes/blivet_gui.* +%exclude %{python3_sitearch}/pyanaconda/ui/gui/spokes/blivet_gui.* +%endif +%{_datadir}/anaconda/window-manager +%{_datadir}/anaconda/anaconda-gtk.css + +%files tui +%{python3_sitearch}/pyanaconda/rescue.py +%{python3_sitearch}/pyanaconda/__pycache__/rescue.* +%{python3_sitearch}/pyanaconda/ui/tui/* + +%files widgets +%{_libdir}/libAnacondaWidgets.so.* +%{_libdir}/girepository*/AnacondaWidgets*typelib +%{python3_sitearch}/gi/overrides/* + +%files widgets-devel +%{_libdir}/libAnacondaWidgets.so +%{_libdir}/glade/modules/libAnacondaWidgets.so +%{_includedir}/* +%{_datadir}/glade/catalogs/AnacondaWidgets.xml +%{_datadir}/gtk-doc + +%files dracut +%dir %{_prefix}/lib/dracut/modules.d/80%{name} +%{_prefix}/lib/dracut/modules.d/80%{name}/* +%{_prefix}/libexec/anaconda/dd_* + +%changelog +* Thu Feb 14 2024 Brandon Lester - 9 +- Added to OLR2 Repos + +* Sun May 12 2024 Brandon Lester +- Update package and push to OLR2 repo diff --git a/arcmenu/arc-menu-27.zip b/arcmenu/arc-menu-27.zip new file mode 100644 index 000000000..da7fe7867 Binary files /dev/null and b/arcmenu/arc-menu-27.zip differ diff --git a/arcmenu/arcmenu.spec b/arcmenu/arcmenu.spec new file mode 100644 index 000000000..0ab0a251e --- /dev/null +++ b/arcmenu/arcmenu.spec @@ -0,0 +1,82 @@ +%global ename arc-menu-oreon + +%global extdir %{_datadir}/gnome-shell/extensions/arcmenu@arcmenu.com + +%global gschemadir %{_datadir}/glib-2.0/schemas + +Name: gnome-shell-extension-%{ename} + +Version: 27 + +Release: 1%{?dist} + +Summary: Integrated icon taskbar and status panel for Gnome Shell + +License: GPL-2.0-or-later + +URL: https://gitlab.com/arcmenu/ArcMenu + +Source0: arc-menu-27.zip + +# correct install paths + +BuildArch: noarch + +BuildRequires: gettext + +BuildRequires: make + +BuildRequires: %{_bindir}/glib-compile-schemas + +Requires: clutter + + + +%description + +Dash to Panel is an icon taskbar for Gnome Shell. This extension moves the dash + +into the gnome main panel so that the application launchers and system tray are + +combined into a single panel, similar to that found in KDE Plasma and Windows + +7+. A separate dock is no longer needed for easy access to running and favorited + +applications. + + + +%prep +%autosetup -n arc-menu-%{version} -p 1 + + +%build +%make_build + + +%install +%make_install + +# clean +mkdir -p %{buildroot}%{gschemadir} +cp -a %{buildroot}%{extdir}/schemas/org.gnome.shell.extensions.arcmenu.gschema.xml %{buildroot}%{gschemadir}/ +cp -a %{buildroot}%{gschemadir} %{buildroot}%{extdir} +%{__rm} -fr %{buildroot}%{extdir}/{COPYING*,README*} + +# Fedora handles this using triggers. +%postun +if [ $1 -eq 0 ] ; then + %{_bindir}/glib-compile-schemas %{gschemadir} &> /dev/null || : + %{_bindir}/glib-compile-schemas %{extdir}/schemas &> /dev/null || : +fi + +%posttrans +%{_bindir}/glib-compile-schemas %{gschemadir} &> /dev/null || : +%{_bindir}/glib-compile-schemas %{extdir}/schemas &> /dev/null || : + +%files +%license COPYING +%doc README.md +%{extdir} +%{gschemadir}/org.gnome.shell.extensions.arcmenu.gschema.xml +%{gschemadir} diff --git a/audiofile/822b732fd31ffcb78f6920001e9b1fbd815fa712.patch b/audiofile/822b732fd31ffcb78f6920001e9b1fbd815fa712.patch new file mode 100644 index 000000000..231021b9f --- /dev/null +++ b/audiofile/822b732fd31ffcb78f6920001e9b1fbd815fa712.patch @@ -0,0 +1,26 @@ +From 822b732fd31ffcb78f6920001e9b1fbd815fa712 Mon Sep 17 00:00:00 2001 +From: Wim Taymans +Date: Thu, 27 Sep 2018 12:11:12 +0200 +Subject: [PATCH] SimpleModule: set output chunk framecount after pull + +After pulling the data, set the output chunk to the amount of +frames we pulled so that the next module in the chain has the correct +frame count. + +Fixes #50 and #51 +--- + libaudiofile/modules/SimpleModule.cpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/libaudiofile/modules/SimpleModule.cpp b/libaudiofile/modules/SimpleModule.cpp +index 2bae1eb..e87932c 100644 +--- a/libaudiofile/modules/SimpleModule.cpp ++++ b/libaudiofile/modules/SimpleModule.cpp +@@ -26,6 +26,7 @@ + void SimpleModule::runPull() + { + pull(m_outChunk->frameCount); ++ m_outChunk->frameCount = m_inChunk->frameCount; + run(*m_inChunk, *m_outChunk); + } + diff --git a/audiofile/941774c8c0e79007196d7f1e7afdc97689f869b3.patch b/audiofile/941774c8c0e79007196d7f1e7afdc97689f869b3.patch new file mode 100644 index 000000000..978d5f459 --- /dev/null +++ b/audiofile/941774c8c0e79007196d7f1e7afdc97689f869b3.patch @@ -0,0 +1,21 @@ +From 941774c8c0e79007196d7f1e7afdc97689f869b3 Mon Sep 17 00:00:00 2001 +From: Wim Taymans +Date: Thu, 27 Sep 2018 12:09:45 +0200 +Subject: [PATCH] ALAC: set chunk frameCount to 0 on short read + +--- + libaudiofile/modules/ALAC.cpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/libaudiofile/modules/ALAC.cpp b/libaudiofile/modules/ALAC.cpp +index 7593c11..478e2af 100644 +--- a/libaudiofile/modules/ALAC.cpp ++++ b/libaudiofile/modules/ALAC.cpp +@@ -240,6 +240,7 @@ void ALAC::runPull() + if (read(m_inChunk->buffer, bytesPerPacket) < bytesPerPacket) + { + reportReadError(0, m_track->f.framesPerPacket); ++ m_outChunk->frameCount = 0; + return; + } + diff --git a/audiofile/audiofile-0.3.6-CVE-2015-7747.patch b/audiofile/audiofile-0.3.6-CVE-2015-7747.patch new file mode 100644 index 000000000..fae65f655 --- /dev/null +++ b/audiofile/audiofile-0.3.6-CVE-2015-7747.patch @@ -0,0 +1,12 @@ +diff -Nurb --strip-trailing-cr audiofile-0.3.6-orig/libaudiofile/modules/ModuleState.cpp audiofile-0.3.6/libaudiofile/modules/ModuleState.cpp +--- audiofile-0.3.6-orig/libaudiofile/modules/ModuleState.cpp 2013-03-06 06:30:03.000000000 +0100 ++++ audiofile-0.3.6/libaudiofile/modules/ModuleState.cpp 2015-10-08 11:29:51.846082162 +0200 +@@ -402,7 +402,7 @@ + addModule(new Transform(outfc, in.pcm, out.pcm)); + + if (in.channelCount != out.channelCount) +- addModule(new ApplyChannelMatrix(infc, isReading, ++ addModule(new ApplyChannelMatrix(outfc, isReading, + in.channelCount, out.channelCount, + in.pcm.minClip, in.pcm.maxClip, + track->channelMatrix)); diff --git a/audiofile/audiofile-0.3.6-CVE-2022-24599.patch b/audiofile/audiofile-0.3.6-CVE-2022-24599.patch new file mode 100644 index 000000000..18237d083 --- /dev/null +++ b/audiofile/audiofile-0.3.6-CVE-2022-24599.patch @@ -0,0 +1,45 @@ +diff --git a/sfcommands/printinfo.c b/sfcommands/printinfo.c +index 60e6947..f5cf925 100644 +--- a/sfcommands/printinfo.c ++++ b/sfcommands/printinfo.c +@@ -37,6 +37,7 @@ + #include + #include + #include ++#include + + static char *copyrightstring (AFfilehandle file); + +@@ -147,7 +148,11 @@ static char *copyrightstring (AFfilehandle file) + int i, misccount; + + misccount = afGetMiscIDs(file, NULL); +- miscids = (int *) malloc(sizeof (int) * misccount); ++ if(!misccount) ++ return NULL; ++ miscids = (int *) calloc(misccount, sizeof(int)); ++ if(!miscids) ++ return NULL; + afGetMiscIDs(file, miscids); + + for (i=0; i= INT_MAX -1 ) { ++ goto error; ++ } ++ char *data = (char *) calloc(datasize + 1, 1); + afReadMisc(file, miscids[i], data, datasize); + copyright = data; + break; + } +- ++error: + free(miscids); + + return copyright; diff --git a/audiofile/audiofile-0.3.6-left-shift-neg.patch b/audiofile/audiofile-0.3.6-left-shift-neg.patch new file mode 100644 index 000000000..deef23c0d --- /dev/null +++ b/audiofile/audiofile-0.3.6-left-shift-neg.patch @@ -0,0 +1,48 @@ +diff -Nurb --strip-trailing-cr audiofile-0.3.6-orig/libaudiofile/modules/SimpleModule.h audiofile-0.3.6/libaudiofile/modules/SimpleModule.h +--- audiofile-0.3.6-orig/libaudiofile/modules/SimpleModule.h 2013-03-06 06:30:03.000000000 +0100 ++++ audiofile-0.3.6/libaudiofile/modules/SimpleModule.h 2016-02-03 21:19:43.065454454 +0100 +@@ -123,7 +123,7 @@ + typedef typename IntTypes::UnsignedType UnsignedType; + + static const int kScaleBits = (Format + 1) * CHAR_BIT - 1; +- static const int kMinSignedValue = -1 << kScaleBits; ++ static const int kMinSignedValue = 0-(1U< + { +diff -Nurb --strip-trailing-cr audiofile-0.3.6-orig/test/FloatToInt.cpp audiofile-0.3.6/test/FloatToInt.cpp +--- audiofile-0.3.6-orig/test/FloatToInt.cpp 2013-02-11 18:23:26.000000000 +0100 ++++ audiofile-0.3.6/test/FloatToInt.cpp 2016-02-03 21:21:14.714510229 +0100 +@@ -115,7 +115,7 @@ + EXPECT_EQ(readData[i], expectedData[i]); + } + +-static const int32_t kMinInt24 = -1<<23; ++static const int32_t kMinInt24 = 0-(1U<<23); + static const int32_t kMaxInt24 = (1<<23) - 1; + + TEST_F(FloatToIntTest, Int24) +diff -Nurb --strip-trailing-cr audiofile-0.3.6-orig/test/IntToFloat.cpp audiofile-0.3.6/test/IntToFloat.cpp +--- audiofile-0.3.6-orig/test/IntToFloat.cpp 2013-02-11 18:23:26.000000000 +0100 ++++ audiofile-0.3.6/test/IntToFloat.cpp 2016-02-03 21:20:57.380445355 +0100 +@@ -117,7 +117,7 @@ + EXPECT_EQ(readData[i], expectedData[i]); + } + +-static const int32_t kMinInt24 = -1<<23; ++static const int32_t kMinInt24 = 0-(1U<<23); + static const int32_t kMaxInt24 = (1<<23) - 1; + + TEST_F(IntToFloatTest, Int24) +diff -Nurb --strip-trailing-cr audiofile-0.3.6-orig/test/Sign.cpp audiofile-0.3.6/test/Sign.cpp +--- audiofile-0.3.6-orig/test/Sign.cpp 2013-02-11 18:23:26.000000000 +0100 ++++ audiofile-0.3.6/test/Sign.cpp 2016-02-03 21:20:38.742450826 +0100 +@@ -116,7 +116,7 @@ + EXPECT_EQ(readData[i], expectedData[i]); + } + +-static const int32_t kMinInt24 = -1<<23; ++static const int32_t kMinInt24 = 0-(1U<<23); + static const int32_t kMaxInt24 = (1<<23) - 1; + static const uint32_t kMaxUInt24 = (1<<24) - 1; + diff --git a/audiofile/audiofile-0.3.6-narrowing.patch b/audiofile/audiofile-0.3.6-narrowing.patch new file mode 100644 index 000000000..f701d8937 --- /dev/null +++ b/audiofile/audiofile-0.3.6-narrowing.patch @@ -0,0 +1,52 @@ +diff -Nur audiofile-0.3.6-orig/test/NeXT.cpp audiofile-0.3.6/test/NeXT.cpp +--- audiofile-0.3.6-orig/test/NeXT.cpp 2013-02-11 18:23:26.000000000 +0100 ++++ audiofile-0.3.6/test/NeXT.cpp 2016-02-04 10:37:32.457140823 +0100 +@@ -37,13 +37,13 @@ + + #include "TestUtilities.h" + +-const char kDataUnspecifiedLength[] = ++const signed char kDataUnspecifiedLength[] = + { + '.', 's', 'n', 'd', + 0, 0, 0, 24, // offset of 24 bytes +- 0xff, 0xff, 0xff, 0xff, // unspecified length ++ -1, -1, -1, -1, // unspecified length + 0, 0, 0, 3, // 16-bit linear +- 0, 0, 172, 68, // 44100 Hz ++ 0, 0, -84, 68, // 44100 Hz (0xAC44) + 0, 0, 0, 1, // 1 channel + 0, 1, + 0, 1, +@@ -57,13 +57,13 @@ + 0, 55 + }; + +-const char kDataTruncated[] = ++const signed char kDataTruncated[] = + { + '.', 's', 'n', 'd', + 0, 0, 0, 24, // offset of 24 bytes + 0, 0, 0, 20, // length of 20 bytes + 0, 0, 0, 3, // 16-bit linear +- 0, 0, 172, 68, // 44100 Hz ++ 0, 0, -84, 68, // 44100 Hz (0xAC44) + 0, 0, 0, 1, // 1 channel + 0, 1, + 0, 1, +@@ -152,13 +152,13 @@ + ASSERT_EQ(::unlink(testFileName.c_str()), 0); + } + +-const char kDataZeroChannels[] = ++const signed char kDataZeroChannels[] = + { + '.', 's', 'n', 'd', + 0, 0, 0, 24, // offset of 24 bytes + 0, 0, 0, 2, // 2 bytes + 0, 0, 0, 3, // 16-bit linear +- 0, 0, 172, 68, // 44100 Hz ++ 0, 0, -84, 68, // 44100 Hz (0xAC44) + 0, 0, 0, 0, // 0 channels + 0, 1 + }; diff --git a/audiofile/audiofile-0.3.6-pull42.patch b/audiofile/audiofile-0.3.6-pull42.patch new file mode 100644 index 000000000..3fab3007d --- /dev/null +++ b/audiofile/audiofile-0.3.6-pull42.patch @@ -0,0 +1,176 @@ +diff -Nur audiofile-0.3.6/libaudiofile/modules/BlockCodec.cpp audiofile-0.3.6-pull42/libaudiofile/modules/BlockCodec.cpp +--- audiofile-0.3.6/libaudiofile/modules/BlockCodec.cpp 2013-03-06 06:30:03.000000000 +0100 ++++ audiofile-0.3.6-pull42/libaudiofile/modules/BlockCodec.cpp 2017-03-10 15:40:02.000000000 +0100 +@@ -52,8 +52,9 @@ + // Decompress into m_outChunk. + for (int i=0; i(m_inChunk->buffer) + i * m_bytesPerPacket, +- static_cast(m_outChunk->buffer) + i * m_framesPerPacket * m_track->f.channelCount); ++ if (decodeBlock(static_cast(m_inChunk->buffer) + i * m_bytesPerPacket, ++ static_cast(m_outChunk->buffer) + i * m_framesPerPacket * m_track->f.channelCount)==0) ++ break; + + framesRead += m_framesPerPacket; + } +diff -Nur audiofile-0.3.6/libaudiofile/modules/MSADPCM.cpp audiofile-0.3.6-pull42/libaudiofile/modules/MSADPCM.cpp +--- audiofile-0.3.6/libaudiofile/modules/MSADPCM.cpp 2013-03-06 06:30:03.000000000 +0100 ++++ audiofile-0.3.6-pull42/libaudiofile/modules/MSADPCM.cpp 2017-03-10 15:40:02.000000000 +0100 +@@ -101,24 +101,60 @@ + 768, 614, 512, 409, 307, 230, 230, 230 + }; + ++int firstBitSet(int x) ++{ ++ int position=0; ++ while (x!=0) ++ { ++ x>>=1; ++ ++position; ++ } ++ return position; ++} ++ ++#ifndef __has_builtin ++#define __has_builtin(x) 0 ++#endif ++ ++bool multiplyCheckOverflow(int a, int b, int *result) ++{ ++#if (defined __GNUC__ && __GNUC__ >= 5) || ( __clang__ && __has_builtin(__builtin_mul_overflow)) ++ return __builtin_mul_overflow(a, b, result); ++#else ++ if (firstBitSet(a)+firstBitSet(b)>31) // int is signed, so we can't use 32 bits ++ return true; ++ *result = a * b; ++ return false; ++#endif ++} ++ ++ + // Compute a linear PCM value from the given differential coded value. + static int16_t decodeSample(ms_adpcm_state &state, +- uint8_t code, const int16_t *coefficient) ++ uint8_t code, const int16_t *coefficient, bool *ok=NULL) + { + int linearSample = (state.sample1 * coefficient[0] + + state.sample2 * coefficient[1]) >> 8; ++ int delta; + + linearSample += ((code & 0x08) ? (code - 0x10) : code) * state.delta; + + linearSample = clamp(linearSample, MIN_INT16, MAX_INT16); + +- int delta = (state.delta * adaptationTable[code]) >> 8; ++ if (multiplyCheckOverflow(state.delta, adaptationTable[code], &delta)) ++ { ++ if (ok) *ok=false; ++ _af_error(AF_BAD_COMPRESSION, "Error decoding sample"); ++ return 0; ++ } ++ delta >>= 8; + if (delta < 16) + delta = 16; + + state.delta = delta; + state.sample2 = state.sample1; + state.sample1 = linearSample; ++ if (ok) *ok=true; + + return static_cast(linearSample); + } +@@ -212,13 +248,16 @@ + { + uint8_t code; + int16_t newSample; ++ bool ok; + + code = *encoded >> 4; +- newSample = decodeSample(*state[0], code, coefficient[0]); ++ newSample = decodeSample(*state[0], code, coefficient[0], &ok); ++ if (!ok) return 0; + *decoded++ = newSample; + + code = *encoded & 0x0f; +- newSample = decodeSample(*state[1], code, coefficient[1]); ++ newSample = decodeSample(*state[1], code, coefficient[1], &ok); ++ if (!ok) return 0; + *decoded++ = newSample; + + encoded++; +diff -Nur audiofile-0.3.6/libaudiofile/WAVE.cpp audiofile-0.3.6-pull42/libaudiofile/WAVE.cpp +--- audiofile-0.3.6/libaudiofile/WAVE.cpp 2013-03-06 06:30:03.000000000 +0100 ++++ audiofile-0.3.6-pull42/libaudiofile/WAVE.cpp 2017-03-10 15:40:02.000000000 +0100 +@@ -281,6 +281,12 @@ + + /* numCoefficients should be at least 7. */ + assert(numCoefficients >= 7 && numCoefficients <= 255); ++ if (numCoefficients < 7 || numCoefficients > 255) ++ { ++ _af_error(AF_BAD_HEADER, ++ "Bad number of coefficients"); ++ return AF_FAIL; ++ } + + m_msadpcmNumCoefficients = numCoefficients; + +@@ -834,6 +840,8 @@ + } + + TrackSetup *track = setup->getTrack(); ++ if (!track) ++ return AF_NULL_FILESETUP; + + if (track->f.isCompressed()) + { +diff -Nur audiofile-0.3.6/sfcommands/sfconvert.c audiofile-0.3.6-pull42/sfcommands/sfconvert.c +--- audiofile-0.3.6/sfcommands/sfconvert.c 2013-03-06 06:30:03.000000000 +0100 ++++ audiofile-0.3.6-pull42/sfcommands/sfconvert.c 2017-03-10 15:40:02.000000000 +0100 +@@ -45,6 +45,33 @@ + void usageerror (void); + bool copyaudiodata (AFfilehandle infile, AFfilehandle outfile, int trackid); + ++int firstBitSet(int x) ++{ ++ int position=0; ++ while (x!=0) ++ { ++ x>>=1; ++ ++position; ++ } ++ return position; ++} ++ ++#ifndef __has_builtin ++#define __has_builtin(x) 0 ++#endif ++ ++bool multiplyCheckOverflow(int a, int b, int *result) ++{ ++#if (defined __GNUC__ && __GNUC__ >= 5) || ( __clang__ && __has_builtin(__builtin_mul_overflow)) ++ return __builtin_mul_overflow(a, b, result); ++#else ++ if (firstBitSet(a)+firstBitSet(b)>31) // int is signed, so we can't use 32 bits ++ return true; ++ *result = a * b; ++ return false; ++#endif ++} ++ + int main (int argc, char **argv) + { + if (argc == 2) +@@ -323,8 +350,11 @@ + { + int frameSize = afGetVirtualFrameSize(infile, trackid, 1); + +- const int kBufferFrameCount = 65536; +- void *buffer = malloc(kBufferFrameCount * frameSize); ++ int kBufferFrameCount = 65536; ++ int bufferSize; ++ while (multiplyCheckOverflow(kBufferFrameCount, frameSize, &bufferSize)) ++ kBufferFrameCount /= 2; ++ void *buffer = malloc(bufferSize); + + AFframecount totalFrames = afGetFrameCount(infile, AF_DEFAULT_TRACK); + AFframecount totalFramesWritten = 0; diff --git a/audiofile/audiofile-0.3.6-pull43.patch b/audiofile/audiofile-0.3.6-pull43.patch new file mode 100644 index 000000000..4ad11520c --- /dev/null +++ b/audiofile/audiofile-0.3.6-pull43.patch @@ -0,0 +1,21 @@ +diff -Nur audiofile-0.3.6/libaudiofile/modules/IMA.cpp audiofile-0.3.6-pull43/libaudiofile/modules/IMA.cpp +--- audiofile-0.3.6/libaudiofile/modules/IMA.cpp 2013-03-06 06:30:03.000000000 +0100 ++++ audiofile-0.3.6-pull43/libaudiofile/modules/IMA.cpp 2017-03-06 18:06:35.000000000 +0100 +@@ -169,7 +169,7 @@ + if (encoded[1] & 0x80) + m_adpcmState[c].previousValue -= 0x10000; + +- m_adpcmState[c].index = encoded[2]; ++ m_adpcmState[c].index = clamp(encoded[2], 0, 88); + + *decoded++ = m_adpcmState[c].previousValue; + +@@ -210,7 +210,7 @@ + predictor -= 0x10000; + + state.previousValue = clamp(predictor, MIN_INT16, MAX_INT16); +- state.index = encoded[1] & 0x7f; ++ state.index = clamp(encoded[1] & 0x7f, 0, 88); + encoded += 2; + + for (int n=0; nbuffer, m_bytesPerPacket * blockCount); +- int blocksRead = bytesRead >= 0 ? bytesRead / m_bytesPerPacket : 0; ++ int blocksRead = (bytesRead >= 0 && m_bytesPerPacket > 0) ? bytesRead / m_bytesPerPacket : 0; + + // Decompress into m_outChunk. + for (int i=0; if.sampleWidth = 16; diff --git a/audiofile/audiofile-0.3.6.tar.gz b/audiofile/audiofile-0.3.6.tar.gz new file mode 100644 index 000000000..a5a5f853a Binary files /dev/null and b/audiofile/audiofile-0.3.6.tar.gz differ diff --git a/audiofile/audiofile.spec b/audiofile/audiofile.spec new file mode 100644 index 000000000..4e71aecfb --- /dev/null +++ b/audiofile/audiofile.spec @@ -0,0 +1,388 @@ +%global make_check 1 + +Summary: Library for accessing various audio file formats +Name: audiofile +Version: 0.3.6 +Release: 36%{?dist} +Epoch: 1 +# library is LGPL / the two programs GPL / see README +License: LGPL-2.1-or-later and GPL-2.0-or-later +Source: http://audiofile.68k.org/%{name}-%{version}.tar.gz +URL: http://audiofile.68k.org/ +BuildRequires: gcc-c++ +BuildRequires: libtool +BuildRequires: alsa-lib-devel +BuildRequires: flac-devel +BuildRequires: make +BuildRequires: chrpath +# optional for rebuilding manual pages from .txt +#BuildRequires: asciidoc + +Patch0: audiofile-0.3.6-CVE-2015-7747.patch +# fixes to make build with GCC 6 +Patch1: audiofile-0.3.6-left-shift-neg.patch +Patch2: audiofile-0.3.6-narrowing.patch +# pull requests #42,#43,#44 +Patch3: audiofile-0.3.6-pull42.patch +Patch4: audiofile-0.3.6-pull43.patch +Patch5: audiofile-0.3.6-pull44.patch +Patch6: 822b732fd31ffcb78f6920001e9b1fbd815fa712.patch +Patch7: 941774c8c0e79007196d7f1e7afdc97689f869b3.patch +Patch8: fde6d79fb8363c4a329a184ef0b107156602b225.patch +Patch9: integer-overflow.patch +Patch10: audiofile-0.3.6-CVE-2022-24599.patch + +%description +The Audio File library is an implementation of the Audio File Library +from SGI, which provides an API for accessing audio file formats like +AIFF/AIFF-C, WAVE, and NeXT/Sun .snd/.au files. This library is used +by the EsounD daemon. + +Install audiofile if you are installing EsounD or you need an API for +any of the sound file formats it can handle. + +%package devel +Summary: Development files for Audio File applications +Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release} + +%description devel +The audiofile-devel package contains libraries, include files, and +other resources you can use to develop Audio File applications. + +%prep +%setup -q +%patch -P 0 -p1 -b .CVE-2015-7747 +%patch -P 1 -p1 -b .left-shift-neg +%patch -P 2 -p1 -b .narrowing-conversion +%patch -P 3 -p1 -b .pull42 +%patch -P 4 -p1 -b .pull43 +%patch -P 5 -p1 -b .pull44 +%patch -P 6 -p1 -b .CVE-2018-17095 +%patch -P 7 -p1 -b .CVE-2018-13440 +%patch -P 8 -p1 -b .CVE-2018-13440 +%patch -P 9 -p1 -b .integer-overflow +%patch -P 10 -p1 -b .CVE-2022-24599 + +%build +%configure --disable-rpath +%make_build + +%install +%make_install + +rm -f $RPM_BUILD_ROOT%{_libdir}/*.la +rm -f $RPM_BUILD_ROOT%{_libdir}/*.a + +chrpath --delete $RPM_BUILD_ROOT%{_bindir}/sfconvert +chrpath --delete $RPM_BUILD_ROOT%{_bindir}/sfinfo + +#%check +#%if %{make_check} +#make check +#%endif + + +%ldconfig_scriptlets + + +%files +%license COPYING COPYING.GPL +%doc ACKNOWLEDGEMENTS AUTHORS NEWS NOTES README TODO +%{_bindir}/sfconvert +%{_bindir}/sfinfo +%{_libdir}/lib*.so.1* +%{_mandir}/man1/* + +%files devel +%doc ChangeLog docs/*.3.txt +%{_libdir}/lib*.so +%{_libdir}/pkgconfig/*.pc +%{_includedir}/* +%{_mandir}/man3/* + +%changelog +* Mon Nov 13 2023 Gwyn Ciesla - 1:0.3.6-36 +Patch for CVE-2022-24599 + +* Wed Jul 19 2023 Fedora Release Engineering - 1:0.3.6-35 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Thu Mar 02 2023 Gwyn Ciesla - 1:0.3.6-34 +- migrated to SPDX license + +* Wed Jan 18 2023 Fedora Release Engineering - 1:0.3.6-33 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Tue Sep 13 2022 Michel Alexandre Salim - 1:0.3.6-32 +- Rebuilt for flac 1.4.0 + +* Wed Jul 20 2022 Fedora Release Engineering - 1:0.3.6-31 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Wed Jan 19 2022 Fedora Release Engineering - 1:0.3.6-30 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Wed Jul 21 2021 Fedora Release Engineering - 1:0.3.6-29 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Thu May 27 2021 Gwyn Ciesla - 1:0.3.6-28 +- Disable RPATH. + +* Tue Jan 26 2021 Fedora Release Engineering - 1:0.3.6-27 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Mon Jan 04 2021 Timm Bäder - 1:0.3.6-26 +- Fix a integer overflow warning with gcc and error with clang + +* Mon Jul 27 2020 Fedora Release Engineering - 1:0.3.6-25 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue Jan 28 2020 Fedora Release Engineering - 1:0.3.6-24 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Wed Jul 24 2019 Fedora Release Engineering - 1:0.3.6-23 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Thu Jan 31 2019 Fedora Release Engineering - 1:0.3.6-22 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Tue Oct 09 2018 Gwyn Ciesla - 1:0.3.6-21 +- Fixes for CVE-2018-13440. + +* Tue Oct 09 2018 Gwyn Ciesla - 1:0.3.6-20 +- Fix for CVE-2018-17095. + +* Mon Aug 13 2018 Leigh Scott - 1:0.3.6-19 +- Fix build + +* Thu Jul 12 2018 Fedora Release Engineering - 1:0.3.6-18 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Fri Feb 09 2018 Igor Gnatenko - 1:0.3.6-17 +- Escape macros in %%changelog + +* Wed Feb 07 2018 Fedora Release Engineering - 1:0.3.6-16 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Wed Aug 02 2017 Fedora Release Engineering - 1:0.3.6-15 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 1:0.3.6-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Sun Mar 12 2017 Michael Schwendt - 1:0.3.6-13 +- Merge upstream pull requests #42,#43,#44 from Agostino Sarubbo to fix + security issues. CVE-2017-6827, CVE-2017-6828, + CVE-2017-6829, CVE-2017-6830, CVE-2017-6831, + CVE-2017-6832, CVE-2017-6833, CVE-2017-6834, CVE-2017-6835, + CVE-2017-6836, CVE-2017-6837, CVE-2017-6838, CVE-2017-6839 + +* Fri Feb 10 2017 Fedora Release Engineering - 1:0.3.6-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Wed Feb 3 2016 Michael Schwendt - 1:0.3.6-11 +- patch to compile with GCC 6 + +* Wed Feb 03 2016 Fedora Release Engineering - 1:0.3.6-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Thu Oct 8 2015 Michael Schwendt - 1:0.3.6-9 +- Merge fix from upstream pull request #25 for CVE-2015-7747. + Test conversion from e.g. 16-bit LE stereo to 8-bit LE mono + no longer causes corruption. + +* Wed Jun 17 2015 Fedora Release Engineering - 1:0.3.6-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Sat May 02 2015 Kalev Lember - 1:0.3.6-7 +- Rebuilt for GCC 5 C++11 ABI change + +* Wed Feb 11 2015 Michael Schwendt - 1:0.3.6-6 +- BR flac-devel for FLAC support introduced in 0.3.6. + +* Tue Feb 10 2015 Michael Schwendt - 1:0.3.6-5 +- Don't include docs subdir in base package. It duplicates the manual + pages and their .txt sources. Include the *.3.txt manual sources in + the -devel package instead. +- Spec cleanup: drop %%defattr, drop %%clean and buildroot removal. +- Drop explicit Requires on pkgconfig from -devel package + (pkg-config 0.8 is from 2002 or so, btw). +- Use %%license and add file COPYING to it. +- The two included programs are GPLv2+ licensed. +- Include more doc files. +- Add %%?_isa to base package Requires. +- Add %%check section for included testsuite. + +* Fri Aug 15 2014 Fedora Release Engineering - 1:0.3.6-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Sat Jun 07 2014 Fedora Release Engineering - 1:0.3.6-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Sat Aug 03 2013 Fedora Release Engineering - 1:0.3.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Thu Mar 07 2013 Adam Jackson 0.3.6-1 +- audiofile 0.3.6 + +* Wed Feb 06 2013 Adam Jackson 0.3.5-1 +- audiofile 0.3.5 + +* Wed Oct 10 2012 Bastien Nocera 0.3.4-1 +- Update to 0.3.4 + +* Wed Jul 18 2012 Fedora Release Engineering - 1:0.2.7-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Thu Jan 12 2012 Fedora Release Engineering - 1:0.2.7-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Mon Feb 07 2011 Fedora Release Engineering - 1:0.2.7-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Mon Mar 22 2010 Bastien Nocera 0.2.7-1 +- Update to 0.2.7 + +* Fri Jul 24 2009 Fedora Release Engineering - 1:0.2.6-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Mon Feb 23 2009 Fedora Release Engineering - 1:0.2.6-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Mon Jul 14 2008 Tom "spot" Callaway - 1:0.2.6-9 +- fix license tag + +* Mon Feb 18 2008 Fedora Release Engineering - 1:0.2.6-8 +- Autorebuild for GCC 4.3 + +* Fri Aug 24 2007 Adam Jackson - 1:0.2.6-7 +- Rebuild for build ID + +* Sat Feb 3 2007 Matthias Clasen - 1:0.2.6-6 +- Corrections from package review + +* Thu Jul 27 2006 Matthias Clasen - 1:0.2.6-5 +- Fix multilib conflicts +- Don't ship static libraries + +* Wed Jul 12 2006 Jesse Keating - 1:0.2.6-4.1 +- rebuild + +* Mon Apr 17 2006 John (J5) Palmieri - 1:0.2.6-4 +- Remove Makefile* from docs so they are not installed + +* Fri Mar 24 2006 Matthias Clasen - 1:0.2.6-3 +- Reduce memory consumption by making data tables const + +* Fri Feb 10 2006 Jesse Keating - 1:0.2.6-2.2.1 +- bump again for double-long bug on ppc(64) + +* Tue Feb 07 2006 Jesse Keating - 1:0.2.6-2.2 +- rebuilt for new gcc4.1 snapshot and glibc changes + +* Fri Dec 09 2005 Jesse Keating - 0.2.6-2.1 +- rebuilt + +* Thu Mar 17 2005 John (J5) Palmieri - 0.2.6-2 +- rebuild for gcc 4.0 + +* Fri Jul 30 2004 Colin Walters +- Update to 0.2.6 +- Rework description to not contain apostrophe that + makes emacs unhappy + +* Thu Jul 15 2004 Tim Waugh +- Fixed warnings in shipped m4 file. + +* Tue Jun 15 2004 Elliot Lee +- rebuilt + +* Tue Mar 02 2004 Elliot Lee +- rebuilt + +* Wed Feb 25 2004 Alexander Larsson 1:0.2.5-1 +- update to 0.2.5 + +* Fri Feb 13 2004 Elliot Lee +- rebuilt + +* Sun Jun 8 2003 Tim Powers 1:0.2.3-7.1 +- rebuild for RHEL + +* Wed Jun 04 2003 Elliot Lee +- rebuilt + +* Tue Jun 3 2003 Jeff Johnson +- add explicit epoch's where needed. + +* Mon Feb 10 2003 Bill Nottingham +- fix URL (#71010) + +* Wed Jan 22 2003 Tim Powers +- rebuilt + +* Tue Dec 03 2002 Elliot Lee +- Remove unpackaged files + +* Fri Jun 21 2002 Tim Powers +- automated rebuild + +* Thu May 23 2002 Tim Powers +- automated rebuild + +* Tue Jan 8 2002 Owen Taylor +- Update to 0.2.3, update URLs + +* Mon Jun 25 2001 Preston Brown +- explicit requirement of -devel package on main package (#45205) + +* Tue Apr 17 2001 Jonathan Blandford +- Bumped version to 0.2.1 + +* Mon Dec 11 2000 Preston Brown +- upgrade to 0.1.11. + +* Mon Aug 14 2000 Than Ngo +- add ldconfig to %%post and %%postun (Bug #15413) + +* Fri Aug 11 2000 Jonathan Blandford +- Up Epoch and release + +* Wed Jul 12 2000 Prospector +- automatic rebuild + +* Mon Jun 12 2000 Preston Brown +- use FHS macros + +* Thu Feb 03 2000 Preston Brown +- strip library, use configure macro. + +* Tue Sep 14 1999 Elliot Lee +- 0.1.8pre (take whatever is in CVS). + +* Fri Aug 13 1999 Michael Fulbrght +- version 1.7.0 + +* Sun Apr 18 1999 Matt Wilson +- updated patch from DaveM + +* Fri Apr 16 1999 Matt Wilson +- added patch from Dave Miller to disable byte swapping in decoding + +* Fri Mar 19 1999 Michael Fulbright +- strip binaries before packaging + +* Thu Feb 25 1999 Michael Fulbright +- Version 0.1.6 + +* Sun Feb 21 1999 Michael Fulbright +- Removed libtoolize from %%build + +* Wed Feb 3 1999 Jonathan Blandfor +- Newer version with bug fix. Upped release. + +* Wed Dec 16 1998 Michael Fulbright +- integrating into rawhide release at GNOME freeze + +* Fri Nov 20 1998 Michael Fulbright +- First try at a spec file diff --git a/audiofile/fde6d79fb8363c4a329a184ef0b107156602b225.patch b/audiofile/fde6d79fb8363c4a329a184ef0b107156602b225.patch new file mode 100644 index 000000000..ffd65b43b --- /dev/null +++ b/audiofile/fde6d79fb8363c4a329a184ef0b107156602b225.patch @@ -0,0 +1,28 @@ +From fde6d79fb8363c4a329a184ef0b107156602b225 Mon Sep 17 00:00:00 2001 +From: Wim Taymans +Date: Thu, 27 Sep 2018 10:48:45 +0200 +Subject: [PATCH] ModuleState: handle compress/decompress init failure + +When the unit initcompress or initdecompress function fails, +m_fileModule is NULL. Return AF_FAIL in that case instead of +causing NULL pointer dereferences later. + +Fixes #49 +--- + libaudiofile/modules/ModuleState.cpp | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/libaudiofile/modules/ModuleState.cpp b/libaudiofile/modules/ModuleState.cpp +index 0c29d7a..070fd9b 100644 +--- a/libaudiofile/modules/ModuleState.cpp ++++ b/libaudiofile/modules/ModuleState.cpp +@@ -75,6 +75,9 @@ status ModuleState::initFileModule(AFfilehandle file, Track *track) + m_fileModule = unit->initcompress(track, file->m_fh, file->m_seekok, + file->m_fileFormat == AF_FILE_RAWDATA, &chunkFrames); + ++ if (!m_fileModule) ++ return AF_FAIL; ++ + if (unit->needsRebuffer) + { + assert(unit->nativeSampleFormat == AF_SAMPFMT_TWOSCOMP); diff --git a/audiofile/integer-overflow.patch b/audiofile/integer-overflow.patch new file mode 100644 index 000000000..74654634e --- /dev/null +++ b/audiofile/integer-overflow.patch @@ -0,0 +1,12 @@ +diff -ruN audiofile-0.3.6.orig/test/Sign.cpp audiofile-0.3.6/test/Sign.cpp +--- audiofile-0.3.6.orig/test/Sign.cpp 2021-01-04 12:50:58.563336280 +0100 ++++ audiofile-0.3.6/test/Sign.cpp 2021-01-04 13:00:55.536214264 +0100 +@@ -157,7 +157,7 @@ + AFframecount framesRead = afReadFrames(file, AF_DEFAULT_TRACK, readData, frameCount); + ASSERT_EQ(framesRead, frameCount); + afCloseFile(file); +- const uint32_t expectedData[] = { 0, -kMinInt32, kMaxUInt32 }; ++ const uint32_t expectedData[] = { 0, static_cast(-kMinInt32), kMaxUInt32 }; + for (int i=0; i $infile + elif test ! -r "$infile"; then + echo "autoconf: ${infile}: No such file or directory" >&2 + exit 1 +--- autoconf-2.12/autoheader.sh.race Thu Aug 27 19:05:19 1998 ++++ autoconf-2.12/autoheader.sh Thu Aug 27 19:08:18 1998 +@@ -194,9 +194,9 @@ + # Some fgrep's have limits on the number of lines that can be in the + # pattern on the command line, so use a temporary file containing the + # pattern. +- (fgrep_tmp=${TMPDIR-/tmp}/autoh$$ ++ (fgrep_tmp=`/bin/mktemp ${TMPDIR-/tmp}/autoh$$.XXXXXX` + trap "rm -f $fgrep_tmp; exit 1" 1 2 15 +- cat > $fgrep_tmp <> $fgrep_tmp < conftest.$ac_ext </dev/null +--- autoconf-2.13/acspecific.m4~ Tue Jun 26 17:04:34 2001 ++++ autoconf-2.13/acspecific.m4 Tue Jun 26 17:04:34 2001 +@@ -152,8 +152,41 @@ + CXXFLAGS= + fi + fi ++ ++AC_PROG_CXX_EXIT_DECLARATION + ]) + ++ ++# AC_PROG_CXX_EXIT_DECLARATION ++# ----------------------------- ++# Find a valid prototype for exit and declare it in confdefs.h. ++AC_DEFUN(AC_PROG_CXX_EXIT_DECLARATION, ++[for ac_declaration in \ ++ ''\ ++ '#include ' \ ++ 'extern "C" void std::exit (int) throw (); using std::exit;' \ ++ 'extern "C" void std::exit (int); using std::exit;' \ ++ 'extern "C" void exit (int) throw ();' \ ++ 'extern "C" void exit (int);' \ ++ 'void exit (int);' ++do ++ AC_TRY_COMPILE([#include ++$ac_declaration], ++ [exit (42);], ++ [], ++ [continue]) ++ AC_TRY_COMPILE([$ac_declaration], ++ [exit (42);], ++ [break]) ++done ++if test -n "$ac_declaration"; then ++ echo '#ifdef __cplusplus' >>confdefs.h ++ echo $ac_declaration >>confdefs.h ++ echo '#endif' >>confdefs.h ++fi ++])# AC_PROG_CXX_EXIT_DECLARATION ++ ++ + dnl Determine a Fortran 77 compiler to use. If `F77' is not already set + dnl in the environment, check for `g77', `f77' and `f2c', in that order. + dnl Set the output variable `F77' to the name of the compiler found. diff --git a/autoconf213/autoconf-2.13-exit.patch b/autoconf213/autoconf-2.13-exit.patch new file mode 100644 index 000000000..f6acc35a4 --- /dev/null +++ b/autoconf213/autoconf-2.13-exit.patch @@ -0,0 +1,18 @@ +--- autoconf-2.13/acgeneral.m4.orig Thu Jul 26 15:13:37 2001 ++++ autoconf-2.13/acgeneral.m4 Thu Jul 26 15:14:00 2001 +@@ -1988,12 +1988,12 @@ + AC_MSG_CHECKING(size of $1) + AC_CACHE_VAL(AC_CV_NAME, + [AC_TRY_RUN([#include +-main() ++int main() + { + FILE *f=fopen("conftestval", "w"); +- if (!f) exit(1); ++ if (!f) return(1); + fprintf(f, "%d\n", sizeof($1)); +- exit(0); ++ return(0); + }], AC_CV_NAME=`cat conftestval`, AC_CV_NAME=0, ifelse([$2], , , AC_CV_NAME=$2))])dnl + AC_MSG_RESULT($AC_CV_NAME) + AC_DEFINE_UNQUOTED(AC_TYPE_NAME, $AC_CV_NAME) diff --git a/autoconf213/autoconf-2.13-headers.patch b/autoconf213/autoconf-2.13-headers.patch new file mode 100644 index 000000000..c09e28944 --- /dev/null +++ b/autoconf213/autoconf-2.13-headers.patch @@ -0,0 +1,39 @@ +--- autoconf-2.13/acspecific.m4.orig Fri Jun 29 16:26:39 2001 ++++ autoconf-2.13/acspecific.m4 Fri Jun 29 16:26:39 2001 +@@ -1010,7 +1043,7 @@ + ]) + + AC_DEFUN(AC_FUNC_MMAP, +-[AC_CHECK_HEADERS(unistd.h) ++[AC_CHECK_HEADERS(stdlib.h unistd.h sys/stat.h sys/types.h) + AC_CHECK_FUNCS(getpagesize) + AC_CACHE_CHECK(for working mmap, ac_cv_func_mmap_fixed_mapped, + [AC_TRY_RUN([ +@@ -1039,11 +1072,24 @@ + #include + #include + ++#if HAVE_SYS_TYPES_H ++# include ++#endif ++ ++#if HAVE_STDLIB_H ++# include ++#endif ++ ++#if HAVE_SYS_STAT_H ++# include ++#endif ++ ++#if HAVE_UNISTD_H ++# include ++#endif ++ + /* This mess was copied from the GNU getpagesize.h. */ + #ifndef HAVE_GETPAGESIZE +-# ifdef HAVE_UNISTD_H +-# include +-# endif + + /* Assume that all systems that can run configure have sys/param.h. */ + # ifndef HAVE_SYS_PARAM_H diff --git a/autoconf213/autoconf-2.13-make-defs-62361.patch b/autoconf213/autoconf-2.13-make-defs-62361.patch new file mode 100644 index 000000000..db1efe499 --- /dev/null +++ b/autoconf213/autoconf-2.13-make-defs-62361.patch @@ -0,0 +1,54 @@ +diff -u autoconf-2.13/acgeneral.m4~ autoconf-2.13/acgeneral.m4 +--- autoconf-2.13/acgeneral.m4~ Wed May 15 14:47:12 2002 ++++ autoconf-2.13/acgeneral.m4 Wed May 15 14:47:12 2002 +@@ -2156,20 +2156,38 @@ + dnl AC_OUTPUT_MAKE_DEFS() + define(AC_OUTPUT_MAKE_DEFS, + [# Transform confdefs.h into DEFS. +-dnl Using a here document instead of a string reduces the quoting nightmare. + # Protect against shell expansion while executing Makefile rules. + # Protect against Makefile macro expansion. +-cat > conftest.defs <<\EOF +-changequote(<<, >>)dnl +-s%<<#define>> \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g +-s%[ `~<<#>>$^&*(){}\\|;'"<>?]%\\&%g +-s%\[%\\&%g +-s%\]%\\&%g +-s%\$%$$%g +-changequote([, ])dnl +-EOF +-DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '` +-rm -f conftest.defs ++# ++# If the first sed substitution is executed (which looks for macros that ++# take arguments), then we branch to the quote section. Otherwise, ++# look for a macro that doesn't take arguments. ++cat >confdef2opt.sed <<\_ACEOF ++changequote(<<, >>)dnl ++t clear ++: clear ++s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\),-D\1=\2,g ++t quote ++s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\),-D\1=\2,g ++t quote ++d ++: quote ++s,[ `~#$^&*(){}\\|;'"<>?],\\&,g ++s,\[,\\&,g ++s,\],\\&,g ++s,\$,$$,g ++p ++changequote([, ])dnl ++_ACEOF ++# We use echo to avoid assuming a particular line-breaking character. ++# The extra dot is to prevent the shell from consuming trailing ++# line-breaks from the sub-command output. A line-break within ++# single-quotes doesn't work because, if this script is created in a ++# platform that uses two characters for line-breaks (e.g., DOS), tr ++# would break. ++ac_LF_and_DOT=`echo; echo .` ++DEFS=`sed -n -f confdef2opt.sed confdefs.h | tr "$ac_LF_and_DOT" ' .'` ++rm -f confdef2opt.sed + ]) + + dnl Do the variable substitutions to create the Makefiles or whatever. diff --git a/autoconf213/autoconf-2.13-mawk.patch b/autoconf213/autoconf-2.13-mawk.patch new file mode 100644 index 000000000..14ef5e231 --- /dev/null +++ b/autoconf213/autoconf-2.13-mawk.patch @@ -0,0 +1,41 @@ +--- autoconf-2.13/configure.mawk Tue Jan 5 08:28:57 1999 ++++ autoconf-2.13/configure Sun Mar 21 16:58:01 1999 +@@ -583,7 +583,7 @@ + done + test -n "$M4" || M4="m4" + +-for ac_prog in mawk gawk nawk awk ++for ac_prog in gawk mawk nawk awk + do + # Extract the first word of "$ac_prog", so it can be a program name with args. + set dummy $ac_prog; ac_word=$2 +--- autoconf-2.13/acspecific.m4.mawk Tue Jan 5 08:27:52 1999 ++++ autoconf-2.13/acspecific.m4 Sun Mar 21 16:58:56 1999 +@@ -479,9 +479,9 @@ + AC_DEFUN(AC_PROG_RANLIB, + [AC_CHECK_PROG(RANLIB, ranlib, ranlib, :)]) + +-dnl Check for mawk first since it's generally faster. ++dnl Don't check for mawk first even if it's generally faster. + AC_DEFUN(AC_PROG_AWK, +-[AC_CHECK_PROGS(AWK, mawk gawk nawk awk, )]) ++[AC_CHECK_PROGS(AWK, gawk mawk nawk awk, )]) + + AC_DEFUN(AC_PROG_YACC, + [AC_CHECK_PROGS(YACC, 'bison -y' byacc, yacc)]) +--- autoconf-2.13/autoconf.texi.mawk Tue Jan 5 08:28:37 1999 ++++ autoconf-2.13/autoconf.texi Sun Mar 21 16:59:42 1999 +@@ -1535,10 +1535,10 @@ + @defmac AC_PROG_AWK + @maindex PROG_AWK + @ovindex AWK +-Check for @code{mawk}, @code{gawk}, @code{nawk}, and @code{awk}, in that ++Check for @code{gawk}, @code{mawk}, @code{nawk}, and @code{awk}, in that + order, and set output variable @code{AWK} to the first one that it +-finds. It tries @code{mawk} first because that is reported to be the +-fastest implementation. ++finds. It tries @code{gawk} first because that is reported to be the ++best implementation. + @end defmac + + @defmac AC_PROG_CC diff --git a/autoconf213/autoconf-2.13-notmp.patch b/autoconf213/autoconf-2.13-notmp.patch new file mode 100644 index 000000000..eea5c245e --- /dev/null +++ b/autoconf213/autoconf-2.13-notmp.patch @@ -0,0 +1,129 @@ +--- autoconf-2.13/autoconf.sh~ Fri Mar 26 20:50:48 1999 ++++ autoconf-2.13/autoconf.sh Fri Mar 26 20:58:22 1999 +@@ -52,13 +52,13 @@ + while test $# -gt 0 ; do + case "${1}" in + -h | --help | --h* ) +- echo "${usage}" 1>&2; exit 0 ;; ++ echo "${usage}" 1>&2; rm -f $tmpout ; exit 0 ;; + --localdir=* | --l*=* ) + localdir="`echo \"${1}\" | sed -e 's/^[^=]*=//'`" + shift ;; + -l | --localdir | --l*) + shift +- test $# -eq 0 && { echo "${usage}" 1>&2; exit 1; } ++ test $# -eq 0 && { echo "${usage}" 1>&2; rm -f $tmpout; exit 1; } + localdir="${1}" + shift ;; + --macrodir=* | --m*=* ) +@@ -66,7 +66,7 @@ + shift ;; + -m | --macrodir | --m* ) + shift +- test $# -eq 0 && { echo "${usage}" 1>&2; exit 1; } ++ test $# -eq 0 && { echo "${usage}" 1>&2; rm -f $tmpout; exit 1; } + AC_MACRODIR="${1}" + shift ;; + --version | --v* ) +@@ -76,7 +76,7 @@ + - ) # Use stdin as input. + break ;; + -* ) +- echo "${usage}" 1>&2; exit 1 ;; ++ echo "${usage}" 1>&2; rm -f $tmpout; exit 1 ;; + * ) + break ;; + esac +@@ -86,13 +86,14 @@ + version=`sed -n 's/define.AC_ACVERSION.[ ]*\([0-9.]*\).*/\1/p' \ + $AC_MACRODIR/acgeneral.m4` + echo "Autoconf version $version" ++ rm -f $tmpout + exit 0 + fi + + case $# in + 0) infile=configure.in ;; + 1) infile="$1" ;; +- *) echo "$usage" >&2; exit 1 ;; ++ *) echo "$usage" >&2; rm -f $tmpout; exit 1 ;; + esac + + trap 'rm -f $tmpin $tmpout; exit 1' 1 2 15 +@@ -103,6 +104,7 @@ + infile=$tmpin + elif test ! -r "$infile"; then + echo "autoconf: ${infile}: No such file or directory" >&2 ++ rm -f $tmpin $tmpout + exit 1 + fi + +@@ -111,6 +113,8 @@ + else + use_localdir= + fi ++# Make sure we don't leave those around - they are annoying ++trap 'rm -f $tmpin $tmpout' 0 + + # Use the frozen version of Autoconf if available. + r= f= +@@ -118,7 +122,7 @@ + case `$M4 --help < /dev/null 2>&1` in + *reload-state*) test -r $AC_MACRODIR/autoconf.m4f && { r=--reload f=f; } ;; + *traditional*) ;; +-*) echo Autoconf requires GNU m4 1.1 or later >&2; rm -f $tmpin; exit 1 ;; ++*) echo Autoconf requires GNU m4 1.1 or later >&2; rm -f $tmpin $tmpout; exit 1 ;; + esac + + $M4 -I$AC_MACRODIR $use_localdir $r autoconf.m4$f $infile > $tmpout || +@@ -154,6 +158,6 @@ + /__oline__/s/^\([0-9][0-9]*\):\(.*\)__oline__/\2\1/ + ' >&4 + +-rm -f $tmpout ++rm -f $tmpout $tmpin + + exit $status +--- autoconf-2.13/autoupdate.sh~ Fri Mar 26 20:50:48 1999 ++++ autoconf-2.13/autoupdate.sh Fri Mar 26 21:02:18 1999 +@@ -35,13 +35,13 @@ + while test $# -gt 0 ; do + case "${1}" in + -h | --help | --h* ) +- echo "${usage}" 1>&2; exit 0 ;; ++ echo "${usage}" 1>&2; rm -f $sedtmp; exit 0 ;; + --macrodir=* | --m*=* ) + AC_MACRODIR="`echo \"${1}\" | sed -e 's/^[^=]*=//'`" + shift ;; + -m | --macrodir | --m* ) + shift +- test $# -eq 0 && { echo "${usage}" 1>&2; exit 1; } ++ test $# -eq 0 && { echo "${usage}" 1>&2; rm -f $sedtmp; exit 1; } + AC_MACRODIR="${1}" + shift ;; + --version | --versio | --versi | --vers) +@@ -51,7 +51,7 @@ + - ) # Use stdin as input. + break ;; + -* ) +- echo "${usage}" 1>&2; exit 1 ;; ++ echo "${usage}" 1>&2; rm -f $sedtmp; exit 1 ;; + * ) + break ;; + esac +@@ -61,6 +61,7 @@ + version=`sed -n 's/define.AC_ACVERSION.[ ]*\([0-9.]*\).*/\1/p' \ + $AC_MACRODIR/acgeneral.m4` + echo "Autoconf version $version" ++ rm -f $sedtmp + exit 0 + fi + +@@ -68,6 +69,7 @@ + + tmpout=acupo.$$ + trap 'rm -f $sedtmp $tmpout; exit 1' 1 2 15 ++trap 'rm -f $sedtmp' 0 + case $# in + 0) infile=configure.in; out="> $tmpout" + # Make sure $infile can be read, and $tmpout has the same permissions. diff --git a/autoconf213/autoconf-2.13-versioning.patch b/autoconf213/autoconf-2.13-versioning.patch new file mode 100644 index 000000000..e8541f6ea --- /dev/null +++ b/autoconf213/autoconf-2.13-versioning.patch @@ -0,0 +1,12 @@ +diff -u autoconf-2.13/Makefile.in~ autoconf-2.13/Makefile.in +--- autoconf-2.13/Makefile.in~ Wed May 15 15:36:06 2002 ++++ autoconf-2.13/Makefile.in Wed May 15 15:36:06 2002 +@@ -49,7 +49,7 @@ + + # Directory in which to install library files. + datadir = @datadir@ +-acdatadir = $(datadir)/autoconf ++acdatadir = $(datadir)/autoconf-2.13 + + # Directory in which to install documentation info files. + infodir = @infodir@ diff --git a/autoconf213/autoconf-2.13-wait3test.patch b/autoconf213/autoconf-2.13-wait3test.patch new file mode 100644 index 000000000..16572a898 --- /dev/null +++ b/autoconf213/autoconf-2.13-wait3test.patch @@ -0,0 +1,11 @@ +--- autoconf-2.13/acspecific.m4.sopwith Mon Feb 25 18:05:39 2002 ++++ autoconf-2.13/acspecific.m4 Mon Feb 25 18:18:35 2002 +@@ -1419,6 +1419,8 @@ + r.ru_majflt = r.ru_minflt = 0; + switch (fork()) { + case 0: /* Child. */ ++ /* Unless we actually _do_ something, the kernel sometimes doesn't chalk up any system time to this process. */ ++ if(fork()) { i = 123; wait(NULL); } else { i = 234; exit(0); } + sleep(1); /* Give up the CPU. */ + _exit(0); + case -1: _exit(0); /* What can we do? */ diff --git a/autoconf213/autoconf-2.13.tar.gz b/autoconf213/autoconf-2.13.tar.gz new file mode 100644 index 000000000..12adc471b Binary files /dev/null and b/autoconf213/autoconf-2.13.tar.gz differ diff --git a/autoconf213/autoconf213-destdir.patch b/autoconf213/autoconf213-destdir.patch new file mode 100644 index 000000000..214c6308f --- /dev/null +++ b/autoconf213/autoconf213-destdir.patch @@ -0,0 +1,46 @@ +--- autoconf-2.13/Makefile.in.rh1 2007-02-14 16:22:52.000000000 +0100 ++++ autoconf-2.13/Makefile.in 2007-02-14 16:23:26.000000000 +0100 +@@ -137,23 +137,23 @@ + cd testsuite && ${MAKE} AUTOCONF=${bindir}/autoconf $@ + + installdirs: +- $(SHELL) ${srcdir}/mkinstalldirs $(bindir) $(infodir) $(acdatadir) ++ $(SHELL) ${srcdir}/mkinstalldirs $(DESTDIR)/$(bindir) $(DESTDIR)/$(infodir) $(DESTDIR)/$(acdatadir) + + install: all $(M4FILES) acconfig.h installdirs install-info + for p in $(ASCRIPTS); do \ +- $(INSTALL_PROGRAM) $$p $(bindir)/`echo $$p|sed '$(transform)'`; \ ++ $(INSTALL_PROGRAM) $$p $(DESTDIR)/$(bindir)/`echo $$p|sed '$(transform)'`; \ + done + for i in $(M4FROZEN); do \ +- $(INSTALL_DATA) $$i $(acdatadir)/$$i; \ ++ $(INSTALL_DATA) $$i $(DESTDIR)/$(acdatadir)/$$i; \ + done + for i in $(M4FILES) acconfig.h; do \ +- $(INSTALL_DATA) $(srcdir)/$$i $(acdatadir)/$$i; \ ++ $(INSTALL_DATA) $(srcdir)/$$i $(DESTDIR)/$(acdatadir)/$$i; \ + done + -if test -f autoscan; then \ +- $(INSTALL_PROGRAM) autoscan $(bindir)/`echo autoscan|sed '$(transform)'`; \ ++ $(INSTALL_PROGRAM) autoscan $(DESTDIR)/$(bindir)/`echo autoscan|sed '$(transform)'`; \ + for i in acfunctions acheaders acidentifiers acprograms \ + acmakevars; do \ +- $(INSTALL_DATA) $(srcdir)/$$i $(acdatadir)/$$i; \ ++ $(INSTALL_DATA) $(srcdir)/$$i $(DESTDIR)/$(acdatadir)/$$i; \ + done; \ + else :; fi + +@@ -161,11 +161,11 @@ + install-info: info installdirs + if test -f autoconf.info; then \ + for i in *.info*; do \ +- $(INSTALL_DATA) $$i $(infodir)/$$i; \ ++ $(INSTALL_DATA) $$i $(DESTDIR)/$(infodir)/$$i; \ + done; \ + else \ + for i in $(srcdir)/*.info*; do \ +- $(INSTALL_DATA) $$i $(infodir)/`echo $$i | sed 's|^$(srcdir)/||'`; \ ++ $(INSTALL_DATA) $$i $(DESTDIR)/$(infodir)/`echo $$i | sed 's|^$(srcdir)/||'`; \ + done; \ + fi + diff --git a/autoconf213/autoconf213-info.patch b/autoconf213/autoconf213-info.patch new file mode 100644 index 000000000..65a594d23 --- /dev/null +++ b/autoconf213/autoconf213-info.patch @@ -0,0 +1,79 @@ +--- autoconf-2.13/autoconf.texi.version 2007-02-15 11:33:42.000000000 +0100 ++++ autoconf-2.13/autoconf.texi 2007-02-15 11:33:42.000000000 +0100 +@@ -1,7 +1,7 @@ + \input texinfo @c -*-texinfo-*- + @c %**start of header +-@setfilename autoconf.info +-@settitle Autoconf ++@setfilename autoconf213.info ++@settitle Autoconf-2.13 + @c For double-sided printing, uncomment: + @c @setchapternewpage odd + @c %**end of header +@@ -17,7 +17,8 @@ + @ifinfo + @format + START-INFO-DIR-ENTRY +-* Autoconf: (autoconf). Create source code configuration scripts. ++* Autoconf213: (autoconf213). Create source code configuration scripts. ++ This is a legacy version of autoconf. + END-INFO-DIR-ENTRY + @end format + +--- autoconf-2.13/Makefile.in.version 2007-02-15 11:33:42.000000000 +0100 ++++ autoconf-2.13/Makefile.in 2007-02-15 11:37:18.000000000 +0100 +@@ -68,8 +68,8 @@ + DISTFILES = AUTHORS COPYING ChangeLog ChangeLog.1 INSTALL \ + Makefile.in NEWS README TODO $(M4FILES) \ + acconfig.h acfunctions acheaders acidentifiers \ +- acmakevars acprograms autoconf.info* \ +- autoconf.sh autoconf.texi install.texi \ ++ acmakevars acprograms autoconf213.info* \ ++ autoconf.sh autoconf213.texi install.texi \ + autoheader.sh autoscan.pl autoreconf.sh autoupdate.sh ifnames.sh \ + config.guess config.sub configure configure.in \ + install-sh mkinstalldirs texinfo.tex \ +@@ -106,11 +106,11 @@ + autoconf.m4f: autoconf.m4 acgeneral.m4 acspecific.m4 acoldnames.m4 + autoheader.m4f: autoheader.m4 acgeneral.m4 acspecific.m4 acoldnames.m4 + +-info: autoconf.info @standards_info@ INSTALL ++info: autoconf213.info @standards_info@ INSTALL + + # Use --no-split to avoid creating filenames > 14 chars. +-autoconf.info: autoconf.texi install.texi +- $(MAKEINFO) -I$(srcdir) $(srcdir)/autoconf.texi --no-split --output=$@ ++autoconf213.info: autoconf213.texi install.texi ++ $(MAKEINFO) -I$(srcdir) $(srcdir)/autoconf213.texi --no-split --output=$@ + + INSTALL: install.texi + $(MAKEINFO) -I$(srcdir) $(srcdir)/install.texi --output=$@ \ +@@ -121,8 +121,8 @@ + + dvi: autoconf.dvi @standards_dvi@ + +-autoconf.dvi: autoconf.texi +- $(TEXI2DVI) $(srcdir)/autoconf.texi ++autoconf.dvi: autoconf213.texi ++ $(TEXI2DVI) $(srcdir)/autoconf213.texi + + standards.dvi: standards.texi make-stds.texi + $(TEXI2DVI) $(srcdir)/standards.texi +@@ -159,7 +159,7 @@ + + # Don't cd, to avoid breaking install-sh references. + install-info: info installdirs +- if test -f autoconf.info; then \ ++ if test -f autoconf213.info; then \ + for i in *.info*; do \ + $(INSTALL_DATA) $$i $(DESTDIR)/$(infodir)/$$i; \ + done; \ +@@ -174,7 +174,7 @@ + rm -f $(bindir)/`echo $$p|sed '$(transform)'`; \ + done + rm -fr $(acdatadir) +- cd $(infodir) && rm -f autoconf.info* ++ cd $(infodir) && rm -f autoconf213.info* + if test -f standards.info || test -f $(srcdir)/standards.info; \ + then cd $(infodir) && rm -f standards.info*; fi + diff --git a/autoconf213/autoconf213-testsuite.patch b/autoconf213/autoconf213-testsuite.patch new file mode 100644 index 000000000..4da53cee3 --- /dev/null +++ b/autoconf213/autoconf213-testsuite.patch @@ -0,0 +1,13 @@ +diff --git a/testsuite/autoconf.s/syntax.exp b/testsuite/autoconf.s/syntax.exp +index 95a4611..3c5738a 100644 +--- a/testsuite/autoconf.s/syntax.exp ++++ b/testsuite/autoconf.s/syntax.exp +@@ -2,7 +2,7 @@ + + send_user "Checking for syntax errors in the specific tests...\n" + set script {s/^AC_DEFUN(\([^,]*\).*/\1/p} +-set macros [exec sed -n $script $srcdir/../acspecific.m4] ++set macros [exec sed -n $script $srcdir/../acspecific.m4 | grep -v -e AC_FUNC_GETLOADAVG -e F77] + + foreach mac $macros { + send_user "$mac\n" diff --git a/autoconf213/autoconf213.spec b/autoconf213/autoconf213.spec new file mode 100644 index 000000000..fc1105596 --- /dev/null +++ b/autoconf213/autoconf213.spec @@ -0,0 +1,96 @@ +Summary: A GNU tool for automatically configuring source code +Name: autoconf213 +Version: 2.13 +Release: 52%{?dist} +License: GPLv2+ +URL: http://www.gnu.org/software/autoconf/ +Source: ftp://prep.ai.mit.edu/pub/gnu/autoconf/autoconf-%{version}.tar.gz +Patch0: autoconf-2.12-race.patch +Patch1: autoconf-2.13-mawk.patch +Patch2: autoconf-2.13-notmp.patch +Patch3: autoconf-2.13-c++exit.patch +Patch4: autoconf-2.13-headers.patch +Patch6: autoconf-2.13-exit.patch +Patch7: autoconf-2.13-wait3test.patch +Patch8: autoconf-2.13-make-defs-62361.patch +Patch9: autoconf-2.13-versioning.patch +Patch10: autoconf213-destdir.patch +Patch11: autoconf213-info.patch +Patch12: autoconf213-testsuite.patch +Requires: gawk, m4 >= 1.1, coreutils +Buildrequires: texinfo, m4 >= 1.1, perl, gawk, dejagnu, flex +BuildRequires: make +BuildArch: noarch + +%description +GNU's Autoconf is a tool for configuring source code and Makefiles. +Using Autoconf, programmers can create portable and configurable +packages, since the person building the package is allowed to specify +various configuration options. + +You should install Autoconf if you are developing software and you +would like to use it to create shell scripts that will configure your +source code packages. If you are installing Autoconf, you will also +need to install the GNU m4 package. + +Note that the Autoconf package is not required for the end-user who +may be configuring software with an Autoconf-generated script; +Autoconf is only required for the generation of the scripts, not their +use. + +%prep +%setup -q -n autoconf-%{version} +%patch0 -p1 +%patch1 -p1 +%patch2 -p1 +%patch3 -p1 +%patch4 -p1 +%patch6 -p1 +%patch7 -p1 +%patch8 -p1 +%patch9 -p1 +%patch10 -p1 +%patch11 -p1 +%patch12 -p1 +mv autoconf.texi autoconf213.texi +rm -f autoconf.info + +%build +%configure --program-suffix=-%{version} +make + +%install +rm -rf ${RPM_BUILD_ROOT} +#makeinstall +make install DESTDIR=$RPM_BUILD_ROOT + +rm ${RPM_BUILD_ROOT}/%{_bindir}/autoscan-%{version} + +# We don't want to include the standards.info stuff in the package, +# because it comes from binutils... +rm -f ${RPM_BUILD_ROOT}%{_infodir}/standards* + +%check +# autoconf expects a compiler that supports C89-only features. The +# test suite necessarily ignores the CC variable, so put wrapper +# scripts in front of PATH. Rewrite the c89 wrapper script so that it +# invokes /usr/bin/gcc, to avoid an infinite loop. +mkdir compiler-overrides +PATH="`pwd`/compiler-overrides:$PATH" +sed 's,^exec gcc,exec %{_bindir}/gcc,' < %{_bindir}/c89 \ + > compiler-overrides/c89 +chmod 755 compiler-overrides/c89 +ln -s c89 compiler-overrides/cc +ln -s c89 compiler-overrides/gcc +ls -l compiler-overrides/ +make check + +%files +%{_bindir}/* +%{_infodir}/*.info* +%{_datadir}/autoconf-%{version}/ +%doc AUTHORS COPYING NEWS README TODO + +%changelog +* Fri May 17 2024 Brandon Lester - 2.13-52 +- Rebuilt for Oreon diff --git a/blur-my-shell/blur-my-shell-29.zip b/blur-my-shell/blur-my-shell-29.zip new file mode 100644 index 000000000..57a3f6407 Binary files /dev/null and b/blur-my-shell/blur-my-shell-29.zip differ diff --git a/blur-my-shell/blurshell.spec b/blur-my-shell/blurshell.spec new file mode 100644 index 000000000..0f43908f6 --- /dev/null +++ b/blur-my-shell/blurshell.spec @@ -0,0 +1,61 @@ +%global extdir %{_datadir}/gnome-shell/extensions/blur-my-shell@aunetx +%global gschemadir %{_datadir}/glib-2.0/schemas + +%global sourcedir ~/rpmbuild/SOURCES/blur-my-shell-29 +Name: gnome-shell-extension-blur-my-shell-oreon +Version: 29 +Release: 1%{?dist} +Summary: Cosmetic gnome-shell blur + +License: GPLv2+ +URL: https://github.com/aunetx/blur-my-shell + +Source0: blur-my-shell-29.zip + +BuildArch: noarch + +BuildRequires: gettext +BuildRequires: make +BuildRequires: sassc +BuildRequires: %{_bindir}/glib-compile-schemas +BuildRequires: gnome-shell + +Requires: gnome-shell-extension-common +Requires: dconf-editor +Requires: dconf + +# libdbusmenu won't be part of RHEL 9, thus disable the dependency. +#Requires: libdbusmenu-gtk3 + +%description +This extension enhances the dash moving it out of the overview and +transforming it in a dock for an easier launching of applications +and a faster switching between windows and desktops without having +to leave the desktop view. + + +%prep +%autosetup -n blur-my-shell-%{version} -p 1 + + +%build +%make_build + + +%install +%make_install + +# Cleanup crap. +mkdir -p %{buildroot}%{extdir}/ +mkdir -p %{buildroot}%{gschemadir} +#mv build/blur-my-shell@aunetx.shell-extension.zip %{buildroot}%{extdir}/ +#unzip %{buildroot}%{extdir}/blur-my-shell@aunetx.shell-extension.zip -d %{buildroot}%{extdir}/ +cp -r ~/rpmbuild/SOURCES/blur-my-shell-29/. %{buildroot}%{extdir}/ +cp -r ~/rpmbuild/SOURCES/blur-my-shell-29/src/schemas/ %{buildroot}%{extdir}/ +cp %{buildroot}%{extdir}/schemas/org.gnome.shell.extensions.blur-my-shell.gschema.xml %{buildroot}%{gschemadir}/ +%{__rm} -fr %{buildroot}%{extdir}/{COPYING*,README*,schemas} + +%files +%doc README.md +%{extdir} +%{gschemadir}/org.gnome.shell.extensions.blur-my-shell.gschema.xml diff --git a/dash-to-panel/dash-to-panel-44.zip b/dash-to-panel/dash-to-panel-44.zip new file mode 100644 index 000000000..425c32d10 Binary files /dev/null and b/dash-to-panel/dash-to-panel-44.zip differ diff --git a/dash-to-panel/dashtopanel.spec b/dash-to-panel/dashtopanel.spec new file mode 100644 index 000000000..23ded6c12 --- /dev/null +++ b/dash-to-panel/dashtopanel.spec @@ -0,0 +1,65 @@ +%global extdir %{_datadir}/gnome-shell/extensions/dash-to-panel@jderose9.github.com +%global gschemadir %{_datadir}/glib-2.0/schemas + + +Name: gnome-shell-extension-dash-to-panel-oreon +Version: 44 +Release: 1%{?dist} +#Release: 5.%%{commit_date}git%%{commit_short}%%{?dist} +Summary: Gnome Shell + +License: GPLv2+ +URL: https://github.com/home-sweet-gnome/dash-to-panel +Source0: dash-to-panel-%{version}.zip + +BuildArch: noarch + +BuildRequires: gettext +BuildRequires: make +BuildRequires: sassc +BuildRequires: %{_bindir}/glib-compile-schemas + +Requires: gnome-shell-extension-common +Requires: dconf-editor +Requires: dconf +#Requires: libdbusmenu-gtk3 + +%description +This extension enhances the dash moving it out of the overview and +transforming it in a dock for an easier launching of applications +and a faster switching between windows and desktops without having +to leave the desktop view. + + +%prep +%autosetup -n dash-to-panel-%{version} -p 1 + + +%build +%make_build + + +%install +%make_install + +# Cleanup crap. +mkdir -p %{buildroot}%{gschemadir} +cp %{buildroot}%{extdir}/schemas/*gschema.xml %{buildroot}%{gschemadir}/ +%{__rm} -fr %{buildroot}%{extdir}/{COPYING*,README*,schemas} + +# Fedora handles this using triggers. +%postun +if [ $1 -eq 0 ] ; then + %{_bindir}/glib-compile-schemas %{gschemadir} &> /dev/null || : +fi + +%posttrans +%{_bindir}/glib-compile-schemas %{gschemadir} &> /dev/null || : + +%files +%license COPYING +%doc README.md +%{extdir} +%{gschemadir}/*gschema.xml + +%changelog diff --git a/dynamic-wallpaper/BingWallpaperineffable-gmail.com.v32.shell-extension.zip b/dynamic-wallpaper/BingWallpaperineffable-gmail.com.v32.shell-extension.zip new file mode 100644 index 000000000..6f951f94d Binary files /dev/null and b/dynamic-wallpaper/BingWallpaperineffable-gmail.com.v32.shell-extension.zip differ diff --git a/dynamic-wallpaper/bingwallpaper.spec b/dynamic-wallpaper/bingwallpaper.spec new file mode 100644 index 000000000..2875b005a --- /dev/null +++ b/dynamic-wallpaper/bingwallpaper.spec @@ -0,0 +1,49 @@ +%global extdir %{_datadir}/gnome-shell/extensions +%global sourcedir ~/rpmbuild/SOURCES + + +Name: gnome-shell-extension-bing-wallpaper-oreon +Version: 32 +Release: 3%{?dist} +#Release: 5.%%{commit_date}git%%{commit_short}%%{?dist} +Summary: Gnome Shell + +License: GPLv2+ +URL: https://github.com/ +Source0: BingWallpaperineffable-gmail.com.v32.shell-extension.zip + +BuildArch: noarch + +BuildRequires: gettext +#BuildRequires: make +BuildRequires: sassc +BuildRequires: %{_bindir}/glib-compile-schemas + +Requires: gnome-shell-extension-common +Requires: dconf-editor +Requires: dconf +#Requires: libdbusmenu-gtk3 + +%description +Wallpaper extension. + + +%prep +%autosetup -n BingWallpaperineffable-gmail.com.v32.shell-extension -p 1 + + +#%build +#%make_build + + +%install +mkdir -p %{buildroot}%{extdir} +cp -r %{_builddir}/BingWallpaperineffable-gmail.com.v32.shell-extension/. %{buildroot}%{extdir}/BingWallpaper@ineffable-gmail.com + +#BingWallpaper@ineffable-gmail.com# + +%files +%{extdir} +%{extdir}/BingWallpaper@ineffable-gmail.com + +%changelog diff --git a/firefox/CVE-2023-44488-libvpx.patch b/firefox/CVE-2023-44488-libvpx.patch new file mode 100644 index 000000000..79e523565 --- /dev/null +++ b/firefox/CVE-2023-44488-libvpx.patch @@ -0,0 +1,127 @@ +From 263682c9a29395055f3b3afe2d97be1828a6223f Mon Sep 17 00:00:00 2001 +From: Jerome Jiang +Date: Thu, 30 Jun 2022 13:48:56 -0400 +Subject: [PATCH] Fix bug with smaller width bigger size + +Fixed previous patch that clusterfuzz failed on. + +Bug: webm:1642 +Change-Id: If0e08e72abd2e042efe4dcfac21e4cc51afdfdb9 +--- + test/resize_test.cc | 11 +++-------- + vp9/common/vp9_alloccommon.c | 13 ++++++------- + vp9/encoder/vp9_encoder.c | 27 +++++++++++++++++++++++++-- + 3 files changed, 34 insertions(+), 17 deletions(-) + +diff --git a/test/resize_test.cc b/test/resize_test.cc +index fd1c2a92de6..20ad2229b46 100644 +--- a/test/resize_test.cc ++++ b/test/resize_test.cc +@@ -102,11 +102,8 @@ void ScaleForFrameNumber(unsigned int frame, unsigned int initial_w, + if (frame < 30) { + return; + } +- if (frame < 100) { +- *w = initial_w * 7 / 10; +- *h = initial_h * 16 / 10; +- return; +- } ++ *w = initial_w * 7 / 10; ++ *h = initial_h * 16 / 10; + return; + } + if (frame < 10) { +@@ -559,9 +556,7 @@ TEST_P(ResizeRealtimeTest, TestExternalResizeWorks) { + } + } + +-// TODO(https://crbug.com/webm/1642): This causes a segfault in +-// init_encode_frame_mb_context(). +-TEST_P(ResizeRealtimeTest, DISABLED_TestExternalResizeSmallerWidthBiggerSize) { ++TEST_P(ResizeRealtimeTest, TestExternalResizeSmallerWidthBiggerSize) { + ResizingVideoSource video; + video.flag_codec_ = true; + video.smaller_width_larger_size_ = true; +diff --git a/vp9/common/vp9_alloccommon.c b/vp9/common/vp9_alloccommon.c +index e53883f621d..9e73e40ea09 100644 +--- a/vp9/common/vp9_alloccommon.c ++++ b/vp9/common/vp9_alloccommon.c +@@ -135,13 +135,6 @@ int vp9_alloc_context_buffers(VP9_COMMON *cm, int width, int height) { + cm->free_mi(cm); + if (cm->alloc_mi(cm, new_mi_size)) goto fail; + } +- +- if (cm->seg_map_alloc_size < cm->mi_rows * cm->mi_cols) { +- // Create the segmentation map structure and set to 0. +- free_seg_map(cm); +- if (alloc_seg_map(cm, cm->mi_rows * cm->mi_cols)) goto fail; +- } +- + if (cm->above_context_alloc_cols < cm->mi_cols) { + vpx_free(cm->above_context); + cm->above_context = (ENTROPY_CONTEXT *)vpx_calloc( +@@ -156,6 +149,12 @@ int vp9_alloc_context_buffers(VP9_COMMON *cm, int width, int height) { + cm->above_context_alloc_cols = cm->mi_cols; + } + ++ if (cm->seg_map_alloc_size < cm->mi_rows * cm->mi_cols) { ++ // Create the segmentation map structure and set to 0. ++ free_seg_map(cm); ++ if (alloc_seg_map(cm, cm->mi_rows * cm->mi_cols)) goto fail; ++ } ++ + if (vp9_alloc_loop_filter(cm)) goto fail; + + return 0; +diff --git a/vp9/encoder/vp9_encoder.c b/vp9/encoder/vp9_encoder.c +index 69a4e3c314f..e3ba294c32f 100644 +--- a/vp9/encoder/vp9_encoder.c ++++ b/vp9/encoder/vp9_encoder.c +@@ -2047,6 +2047,17 @@ static void alloc_copy_partition_data(VP9_COMP *cpi) { + } + } + ++static void free_copy_partition_data(VP9_COMP *cpi) { ++ vpx_free(cpi->prev_partition); ++ cpi->prev_partition = NULL; ++ vpx_free(cpi->prev_segment_id); ++ cpi->prev_segment_id = NULL; ++ vpx_free(cpi->prev_variance_low); ++ cpi->prev_variance_low = NULL; ++ vpx_free(cpi->copied_frame_cnt); ++ cpi->copied_frame_cnt = NULL; ++} ++ + void vp9_change_config(struct VP9_COMP *cpi, const VP9EncoderConfig *oxcf) { + VP9_COMMON *const cm = &cpi->common; + RATE_CONTROL *const rc = &cpi->rc; +@@ -2126,6 +2137,8 @@ void vp9_change_config(struct VP9_COMP *cpi, const VP9EncoderConfig *oxcf) { + new_mi_size = cm->mi_stride * calc_mi_size(cm->mi_rows); + if (cm->mi_alloc_size < new_mi_size) { + vp9_free_context_buffers(cm); ++ vp9_free_pc_tree(&cpi->td); ++ vpx_free(cpi->mbmi_ext_base); + alloc_compressor_data(cpi); + realloc_segmentation_maps(cpi); + cpi->initial_width = cpi->initial_height = 0; +@@ -2144,8 +2157,18 @@ void vp9_change_config(struct VP9_COMP *cpi, const VP9EncoderConfig *oxcf) { + update_frame_size(cpi); + + if (last_w != cpi->oxcf.width || last_h != cpi->oxcf.height) { +- memset(cpi->consec_zero_mv, 0, +- cm->mi_rows * cm->mi_cols * sizeof(*cpi->consec_zero_mv)); ++ vpx_free(cpi->consec_zero_mv); ++ CHECK_MEM_ERROR( ++ &cm->error, cpi->consec_zero_mv, ++ vpx_calloc(cm->mi_rows * cm->mi_cols, sizeof(*cpi->consec_zero_mv))); ++ ++ vpx_free(cpi->skin_map); ++ CHECK_MEM_ERROR( ++ &cm->error, cpi->skin_map, ++ vpx_calloc(cm->mi_rows * cm->mi_cols, sizeof(cpi->skin_map[0]))); ++ ++ free_copy_partition_data(cpi); ++ alloc_copy_partition_data(cpi); + if (cpi->oxcf.aq_mode == CYCLIC_REFRESH_AQ) + vp9_cyclic_refresh_reset_resize(cpi); + rc->rc_1_frame = 0; diff --git a/firefox/build-big-endian-errors.patch b/firefox/build-big-endian-errors.patch new file mode 100644 index 000000000..b4bcb38f9 --- /dev/null +++ b/firefox/build-big-endian-errors.patch @@ -0,0 +1,57 @@ +diff -up firefox-102.0/third_party/libwebrtc/common_audio/wav_file.cc.big-endian-errors firefox-102.0/third_party/libwebrtc/common_audio/wav_file.cc +--- firefox-102.0/third_party/libwebrtc/common_audio/wav_file.cc.big-endian-errors 2022-08-17 13:19:53.056891028 +0200 ++++ firefox-102.0/third_party/libwebrtc/common_audio/wav_file.cc 2022-08-17 13:19:57.251879556 +0200 +@@ -89,9 +89,6 @@ void WavReader::Reset() { + + size_t WavReader::ReadSamples(const size_t num_samples, + int16_t* const samples) { +-#ifndef WEBRTC_ARCH_LITTLE_ENDIAN +-#error "Need to convert samples to big-endian when reading from WAV file" +-#endif + + size_t num_samples_left_to_read = num_samples; + size_t next_chunk_start = 0; +@@ -129,9 +126,6 @@ size_t WavReader::ReadSamples(const size + } + + size_t WavReader::ReadSamples(const size_t num_samples, float* const samples) { +-#ifndef WEBRTC_ARCH_LITTLE_ENDIAN +-#error "Need to convert samples to big-endian when reading from WAV file" +-#endif + + size_t num_samples_left_to_read = num_samples; + size_t next_chunk_start = 0; +@@ -213,9 +207,6 @@ WavWriter::WavWriter(FileWrapper file, + } + + void WavWriter::WriteSamples(const int16_t* samples, size_t num_samples) { +-#ifndef WEBRTC_ARCH_LITTLE_ENDIAN +-#error "Need to convert samples to little-endian when writing to WAV file" +-#endif + + for (size_t i = 0; i < num_samples; i += kMaxChunksize) { + const size_t num_remaining_samples = num_samples - i; +@@ -243,9 +234,6 @@ void WavWriter::WriteSamples(const int16 + } + + void WavWriter::WriteSamples(const float* samples, size_t num_samples) { +-#ifndef WEBRTC_ARCH_LITTLE_ENDIAN +-#error "Need to convert samples to little-endian when writing to WAV file" +-#endif + + for (size_t i = 0; i < num_samples; i += kMaxChunksize) { + const size_t num_remaining_samples = num_samples - i; +diff -up firefox-102.0/third_party/libwebrtc/common_audio/wav_header.cc.big-endian-errors firefox-102.0/third_party/libwebrtc/common_audio/wav_header.cc +--- firefox-102.0/third_party/libwebrtc/common_audio/wav_header.cc.big-endian-errors 2022-08-17 13:18:04.688187393 +0200 ++++ firefox-102.0/third_party/libwebrtc/common_audio/wav_header.cc 2022-08-17 13:18:22.451138816 +0200 +@@ -26,10 +26,6 @@ + namespace webrtc { + namespace { + +-#ifndef WEBRTC_ARCH_LITTLE_ENDIAN +-#error "Code not working properly for big endian platforms." +-#endif +- + #pragma pack(2) + struct ChunkHeader { + uint32_t ID; diff --git a/firefox/build-disable-elfhack.patch b/firefox/build-disable-elfhack.patch new file mode 100644 index 000000000..859c50fda --- /dev/null +++ b/firefox/build-disable-elfhack.patch @@ -0,0 +1,12 @@ +diff -up firefox-115.2.0/toolkit/moz.configure.disable-elfhack firefox-115.2.0/toolkit/moz.configure +--- firefox-115.2.0/toolkit/moz.configure.disable-elfhack 2023-09-20 21:55:41.002788320 +0200 ++++ firefox-115.2.0/toolkit/moz.configure 2023-09-20 21:56:37.343757245 +0200 +@@ -1511,7 +1511,7 @@ with only_when("--enable-compile-environ + "Cannot enable elfhack with lld." + " Use --enable-linker=bfd, --enable-linker=gold, or --disable-elf-hack" + ) +- return True ++ return False + + set_config("USE_ELF_HACK", use_elf_hack) + diff --git a/firefox/build-ppc64-abiv2.patch b/firefox/build-ppc64-abiv2.patch new file mode 100644 index 000000000..7a68390a6 --- /dev/null +++ b/firefox/build-ppc64-abiv2.patch @@ -0,0 +1,12 @@ +diff -up firefox-115.0.2/security/nss/lib/freebl/sha512-p8.s.ppc-abiv2 firefox-115.0.2/security/nss/lib/freebl/sha512-p8.s +--- firefox-115.0.2/security/nss/lib/freebl/sha512-p8.s.ppc-abiv2 2023-07-25 09:01:42.602375809 +0200 ++++ firefox-115.0.2/security/nss/lib/freebl/sha512-p8.s 2023-07-25 09:01:48.273373924 +0200 +@@ -3,7 +3,7 @@ + # See the full LICENSE under scripts/. + + .machine "any" +-.abiversion 2 ++.abiversion 1 + .text + + .globl sha512_block_p8 diff --git a/firefox/build-rhel7-lower-node-min-version.patch b/firefox/build-rhel7-lower-node-min-version.patch new file mode 100644 index 000000000..2bb39c876 --- /dev/null +++ b/firefox/build-rhel7-lower-node-min-version.patch @@ -0,0 +1,11 @@ +--- firefox-102.4.0/python/mozbuild/mozbuild/nodeutil.py.lower-node-min-version 2022-10-10 17:55:56.000000000 +0200 ++++ firefox-102.4.0/python/mozbuild/mozbuild/nodeutil.py 2022-10-17 14:57:47.476182627 +0200 +@@ -13,7 +13,7 @@ from mozboot.util import get_tools_dir + from mozfile import which + from six import PY3 + +-NODE_MIN_VERSION = StrictVersion("12.22.12") ++NODE_MIN_VERSION = StrictVersion("10.24.0") + NPM_MIN_VERSION = StrictVersion("6.14.16") + + diff --git a/firefox/build-rhel7-nasm-dwarf.patch b/firefox/build-rhel7-nasm-dwarf.patch new file mode 100644 index 000000000..5e2ba4ab0 --- /dev/null +++ b/firefox/build-rhel7-nasm-dwarf.patch @@ -0,0 +1,12 @@ +diff -up firefox-91.0.1/python/mozbuild/mozbuild/frontend/context.py.rhel7-nasm firefox-91.0.1/python/mozbuild/mozbuild/frontend/context.py +--- firefox-91.0.1/python/mozbuild/mozbuild/frontend/context.py.rhel7-nasm 2021-08-31 08:02:10.814740774 +0200 ++++ firefox-91.0.1/python/mozbuild/mozbuild/frontend/context.py 2021-08-31 08:04:03.967146994 +0200 +@@ -420,7 +420,7 @@ class AsmFlags(BaseCompileFlags): + if self._context.config.substs.get("OS_ARCH") == "WINNT": + debug_flags += ["-F", "cv8"] + elif self._context.config.substs.get("OS_ARCH") != "Darwin": +- debug_flags += ["-F", "dwarf"] ++ debug_flags += ["-f", "elf32"] + elif ( + self._context.config.substs.get("OS_ARCH") == "WINNT" + and self._context.config.substs.get("CPU_ARCH") == "aarch64" diff --git a/firefox/cbindgen-vendor.tar.xz b/firefox/cbindgen-vendor.tar.xz new file mode 100644 index 000000000..0315d8fd8 Binary files /dev/null and b/firefox/cbindgen-vendor.tar.xz differ diff --git a/firefox/disable-pipewire.patch b/firefox/disable-pipewire.patch new file mode 100644 index 000000000..cea6b6822 --- /dev/null +++ b/firefox/disable-pipewire.patch @@ -0,0 +1,242 @@ +diff --git a/dom/media/webrtc/third_party_build/webrtc.mozbuild b/dom/media/webrtc/third_party_build/webrtc.mozbuild +index 30169c36c2..335e3cb1a1 100644 +--- a/dom/media/webrtc/third_party_build/webrtc.mozbuild ++++ b/dom/media/webrtc/third_party_build/webrtc.mozbuild +@@ -35,6 +35,3 @@ if CONFIG['MOZ_WEBRTC']: + + if CONFIG['MOZ_X11']: + DEFINES['WEBRTC_USE_X11'] = True +- +- if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk": +- DEFINES['WEBRTC_USE_PIPEWIRE'] = True +diff --git a/third_party/libwebrtc/modules/desktop_capture/desktop_capture_gn/moz.build b/third_party/libwebrtc/modules/desktop_capture/desktop_capture_gn/moz.build +index 8c56b6b8e5..eaf8d7087a 100644 +--- a/third_party/libwebrtc/modules/desktop_capture/desktop_capture_gn/moz.build ++++ b/third_party/libwebrtc/modules/desktop_capture/desktop_capture_gn/moz.build +@@ -232,102 +232,6 @@ if CONFIG["CPU_ARCH"] == "aarch64": + DEFINES["WEBRTC_ARCH_ARM64"] = True + DEFINES["WEBRTC_HAS_NEON"] = True + +-if CONFIG["CPU_ARCH"] == "arm": +- +- CXXFLAGS += [ +- "-mfpu=neon" +- ] +- +- DEFINES["WEBRTC_ARCH_ARM"] = True +- DEFINES["WEBRTC_ARCH_ARM_V7"] = True +- DEFINES["WEBRTC_HAS_NEON"] = True +- DEFINES["WEBRTC_USE_PIPEWIRE"] = True +- DEFINES["_GNU_SOURCE"] = True +- +- LOCAL_INCLUDES += [ +- "/gfx/angle/checkout/include/", +- "/third_party/drm/drm/", +- "/third_party/drm/drm/include/", +- "/third_party/drm/drm/include/libdrm/", +- "/third_party/gbm/gbm/", +- "/third_party/libepoxy/libepoxy/include/", +- "/third_party/pipewire/" +- ] +- +- SOURCES += [ +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/base_capturer_pipewire.cc" +- ] +- +- UNIFIED_SOURCES += [ +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/egl_dmabuf.cc", +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/mouse_cursor_monitor_pipewire.cc", +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/restore_token_manager.cc", +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/screen_capture_portal_interface.cc", +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/screencast_portal.cc", +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/screencast_stream_utils.cc", +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/shared_screencast_stream.cc" +- ] +- +-if CONFIG["CPU_ARCH"] == "mips32": +- +- DEFINES["MIPS32_LE"] = True +- DEFINES["MIPS_FPU_LE"] = True +- DEFINES["WEBRTC_USE_PIPEWIRE"] = True +- DEFINES["_GNU_SOURCE"] = True +- +- LOCAL_INCLUDES += [ +- "/gfx/angle/checkout/include/", +- "/third_party/drm/drm/", +- "/third_party/drm/drm/include/", +- "/third_party/drm/drm/include/libdrm/", +- "/third_party/gbm/gbm/", +- "/third_party/libepoxy/libepoxy/include/", +- "/third_party/pipewire/" +- ] +- +- SOURCES += [ +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/base_capturer_pipewire.cc" +- ] +- +- UNIFIED_SOURCES += [ +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/egl_dmabuf.cc", +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/mouse_cursor_monitor_pipewire.cc", +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/restore_token_manager.cc", +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/screen_capture_portal_interface.cc", +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/screencast_portal.cc", +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/screencast_stream_utils.cc", +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/shared_screencast_stream.cc" +- ] +- +-if CONFIG["CPU_ARCH"] == "mips64": +- +- DEFINES["WEBRTC_USE_PIPEWIRE"] = True +- DEFINES["_GNU_SOURCE"] = True +- +- LOCAL_INCLUDES += [ +- "/gfx/angle/checkout/include/", +- "/third_party/drm/drm/", +- "/third_party/drm/drm/include/", +- "/third_party/drm/drm/include/libdrm/", +- "/third_party/gbm/gbm/", +- "/third_party/libepoxy/libepoxy/include/", +- "/third_party/pipewire/" +- ] +- +- SOURCES += [ +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/base_capturer_pipewire.cc" +- ] +- +- UNIFIED_SOURCES += [ +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/egl_dmabuf.cc", +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/mouse_cursor_monitor_pipewire.cc", +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/restore_token_manager.cc", +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/screen_capture_portal_interface.cc", +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/screencast_portal.cc", +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/screencast_stream_utils.cc", +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/shared_screencast_stream.cc" +- ] +- + if CONFIG["CPU_ARCH"] == "ppc64": + + DEFINES["USE_X11"] = "1" +@@ -410,97 +314,6 @@ if CONFIG["MOZ_DEBUG"] == "1" and CONFIG["OS_TARGET"] == "WINNT": + + DEFINES["_HAS_ITERATOR_DEBUGGING"] = "0" + +-if CONFIG["CPU_ARCH"] == "aarch64" and CONFIG["OS_TARGET"] == "Linux": +- +- DEFINES["WEBRTC_USE_PIPEWIRE"] = True +- DEFINES["_GNU_SOURCE"] = True +- +- LOCAL_INCLUDES += [ +- "/gfx/angle/checkout/include/", +- "/third_party/drm/drm/", +- "/third_party/drm/drm/include/", +- "/third_party/drm/drm/include/libdrm/", +- "/third_party/gbm/gbm/", +- "/third_party/libepoxy/libepoxy/include/", +- "/third_party/pipewire/" +- ] +- +- SOURCES += [ +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/base_capturer_pipewire.cc" +- ] +- +- UNIFIED_SOURCES += [ +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/egl_dmabuf.cc", +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/mouse_cursor_monitor_pipewire.cc", +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/restore_token_manager.cc", +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/screen_capture_portal_interface.cc", +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/screencast_portal.cc", +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/screencast_stream_utils.cc", +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/shared_screencast_stream.cc" +- ] +- +-if CONFIG["CPU_ARCH"] == "x86" and CONFIG["OS_TARGET"] == "Linux": +- +- CXXFLAGS += [ +- "-msse2" +- ] +- +- DEFINES["WEBRTC_USE_PIPEWIRE"] = True +- DEFINES["_GNU_SOURCE"] = True +- +- LOCAL_INCLUDES += [ +- "/gfx/angle/checkout/include/", +- "/third_party/drm/drm/", +- "/third_party/drm/drm/include/", +- "/third_party/drm/drm/include/libdrm/", +- "/third_party/gbm/gbm/", +- "/third_party/libepoxy/libepoxy/include/", +- "/third_party/pipewire/" +- ] +- +- SOURCES += [ +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/base_capturer_pipewire.cc" +- ] +- +- UNIFIED_SOURCES += [ +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/egl_dmabuf.cc", +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/mouse_cursor_monitor_pipewire.cc", +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/restore_token_manager.cc", +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/screen_capture_portal_interface.cc", +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/screencast_portal.cc", +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/screencast_stream_utils.cc", +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/shared_screencast_stream.cc" +- ] +- +-if CONFIG["CPU_ARCH"] == "x86_64" and CONFIG["OS_TARGET"] == "Linux": +- +- DEFINES["WEBRTC_USE_PIPEWIRE"] = True +- DEFINES["_GNU_SOURCE"] = True +- +- LOCAL_INCLUDES += [ +- "/gfx/angle/checkout/include/", +- "/third_party/drm/drm/", +- "/third_party/drm/drm/include/", +- "/third_party/drm/drm/include/libdrm/", +- "/third_party/gbm/gbm/", +- "/third_party/libepoxy/libepoxy/include/", +- "/third_party/pipewire/" +- ] +- +- SOURCES += [ +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/base_capturer_pipewire.cc" +- ] +- +- UNIFIED_SOURCES += [ +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/egl_dmabuf.cc", +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/mouse_cursor_monitor_pipewire.cc", +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/restore_token_manager.cc", +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/screen_capture_portal_interface.cc", +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/screencast_portal.cc", +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/screencast_stream_utils.cc", +- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/shared_screencast_stream.cc" +- ] +- + if CONFIG["CPU_ARCH"] == "aarch64" and CONFIG["MOZ_X11"] == "1" and CONFIG["OS_TARGET"] == "Linux": + + DEFINES["USE_X11"] = "1" +diff --git a/third_party/libwebrtc/modules/portal/portal_gn/moz.build b/third_party/libwebrtc/modules/portal/portal_gn/moz.build +index 77603c780b..e6f2c9e724 100644 +--- a/third_party/libwebrtc/modules/portal/portal_gn/moz.build ++++ b/third_party/libwebrtc/modules/portal/portal_gn/moz.build +@@ -26,7 +26,7 @@ DEFINES["WEBRTC_MOZILLA_BUILD"] = True + DEFINES["WEBRTC_NON_STATIC_TRACE_EVENT_HANDLERS"] = "0" + DEFINES["WEBRTC_POSIX"] = True + DEFINES["WEBRTC_STRICT_FIELD_TRIALS"] = "0" +-DEFINES["WEBRTC_USE_PIPEWIRE"] = True ++DEFINES["WEBRTC_USE_PIPEWIRE"] = False + DEFINES["_FILE_OFFSET_BITS"] = "64" + DEFINES["_GNU_SOURCE"] = True + DEFINES["_LARGEFILE64_SOURCE"] = True +diff --git a/third_party/libwebrtc/third_party/pipewire/pipewire_gn/moz.build b/third_party/libwebrtc/third_party/pipewire/pipewire_gn/moz.build +index 86a0daf8fa..e895f2eb15 100644 +--- a/third_party/libwebrtc/third_party/pipewire/pipewire_gn/moz.build ++++ b/third_party/libwebrtc/third_party/pipewire/pipewire_gn/moz.build +@@ -24,7 +24,7 @@ DEFINES["WEBRTC_MOZILLA_BUILD"] = True + DEFINES["WEBRTC_NON_STATIC_TRACE_EVENT_HANDLERS"] = "0" + DEFINES["WEBRTC_POSIX"] = True + DEFINES["WEBRTC_STRICT_FIELD_TRIALS"] = "0" +-DEFINES["WEBRTC_USE_PIPEWIRE"] = True ++DEFINES["WEBRTC_USE_PIPEWIRE"] = False + DEFINES["_FILE_OFFSET_BITS"] = "64" + DEFINES["_GNU_SOURCE"] = True + DEFINES["_LARGEFILE64_SOURCE"] = True diff --git a/firefox/distribution.ini b/firefox/distribution.ini new file mode 100644 index 000000000..75e660e3d --- /dev/null +++ b/firefox/distribution.ini @@ -0,0 +1,9 @@ +[Global] +id=almalinux +version=1.0 +about=Mozilla Firefox for AlmaLinux + +[Preferences] +app.distributor=almalinux +app.distributor.channel=almalinux +app.partner.fedora=almalinux diff --git a/firefox/fedora-shebang-build.patch b/firefox/fedora-shebang-build.patch new file mode 100644 index 000000000..9ade86c30 --- /dev/null +++ b/firefox/fedora-shebang-build.patch @@ -0,0 +1,9 @@ +diff -up firefox-73.0/build/unix/run-mozilla.sh.old firefox-73.0/build/unix/run-mozilla.sh +--- firefox-73.0/build/unix/run-mozilla.sh.old 2020-02-12 09:58:00.150895904 +0100 ++++ firefox-73.0/build/unix/run-mozilla.sh 2020-02-12 09:58:06.505860696 +0100 +@@ -1,4 +1,4 @@ +-#!/bin/sh ++#!/usr/bin/sh + # + # This Source Code Form is subject to the terms of the Mozilla Public + # License, v. 2.0. If a copy of the MPL was not distributed with this diff --git a/firefox/firefox-115.7.0esr.processed-source.tar.xz b/firefox/firefox-115.7.0esr.processed-source.tar.xz new file mode 100644 index 000000000..62a9b787c Binary files /dev/null and b/firefox/firefox-115.7.0esr.processed-source.tar.xz differ diff --git a/firefox/firefox-enable-addons.patch b/firefox/firefox-enable-addons.patch new file mode 100644 index 000000000..15d0707cf --- /dev/null +++ b/firefox/firefox-enable-addons.patch @@ -0,0 +1,13 @@ +diff -up firefox-55.0/browser/app/profile/firefox.js.addons firefox-55.0/browser/app/profile/firefox.js +--- firefox-55.0/browser/app/profile/firefox.js.addons 2017-08-02 10:58:30.566363833 +0200 ++++ firefox-55.0/browser/app/profile/firefox.js 2017-08-02 10:59:15.377216959 +0200 +@@ -65,7 +65,8 @@ pref("extensions.systemAddon.update.url" + + // Disable add-ons that are not installed by the user in all scopes by default. + // See the SCOPE constants in AddonManager.jsm for values to use here. +-pref("extensions.autoDisableScopes", 15); ++pref("extensions.autoDisableScopes", 0); ++pref("extensions.showMismatchUI", false); + // Scopes to scan for changes at startup. + pref("extensions.startupScanScopes", 0); + diff --git a/firefox/firefox-gcc-build.patch b/firefox/firefox-gcc-build.patch new file mode 100644 index 000000000..55017adfd --- /dev/null +++ b/firefox/firefox-gcc-build.patch @@ -0,0 +1,38 @@ +--- firefox-80.0.1/toolkit/crashreporter/google-breakpad/src/third_party/lss/linux_syscall_support.h 2020-08-31 10:04:19.000000000 -0400 ++++ firefox-80.0.1/toolkit/crashreporter/google-breakpad/src/third_party/lss/linux_syscall_support.h 2020-09-12 07:24:35.298931628 -0400 +@@ -1962,7 +1962,7 @@ struct kernel_statfs { + LSS_ENTRYPOINT \ + "pop %%ebx" \ + args \ +- : "esp", "memory"); \ ++ : "memory"); \ + LSS_RETURN(type,__res) + #undef _syscall0 + #define _syscall0(type,name) \ +@@ -2019,7 +2019,7 @@ struct kernel_statfs { + : "i" (__NR_##name), "ri" ((long)(arg1)), \ + "c" ((long)(arg2)), "d" ((long)(arg3)), \ + "S" ((long)(arg4)), "D" ((long)(arg5)) \ +- : "esp", "memory"); \ ++ : "memory"); \ + LSS_RETURN(type,__res); \ + } + #undef _syscall6 +@@ -2041,7 +2041,7 @@ struct kernel_statfs { + : "i" (__NR_##name), "0" ((long)(&__s)), \ + "c" ((long)(arg2)), "d" ((long)(arg3)), \ + "S" ((long)(arg4)), "D" ((long)(arg5)) \ +- : "esp", "memory"); \ ++ : "memory"); \ + LSS_RETURN(type,__res); \ + } + LSS_INLINE int LSS_NAME(clone)(int (*fn)(void *), void *child_stack, +@@ -2127,7 +2127,7 @@ struct kernel_statfs { + : "0"(-EINVAL), "i"(__NR_clone), + "m"(fn), "m"(child_stack), "m"(flags), "m"(arg), + "m"(parent_tidptr), "m"(newtls), "m"(child_tidptr) +- : "esp", "memory", "ecx", "edx", "esi", "edi"); ++ : "memory", "ecx", "edx", "esi", "edi"); + LSS_RETURN(int, __res); + } + diff --git a/firefox/firefox-langpacks-115.7.0esr-20240116.tar.xz b/firefox/firefox-langpacks-115.7.0esr-20240116.tar.xz new file mode 100644 index 000000000..9a5ca7dd1 Binary files /dev/null and b/firefox/firefox-langpacks-115.7.0esr-20240116.tar.xz differ diff --git a/firefox/firefox-mozconfig b/firefox/firefox-mozconfig new file mode 100644 index 000000000..952a799e0 --- /dev/null +++ b/firefox/firefox-mozconfig @@ -0,0 +1,29 @@ +. $topsrcdir/browser/config/mozconfig + +ac_add_options --allow-addon-sideload +ac_add_options --disable-crashreporter +ac_add_options --disable-strip +ac_add_options --disable-updater +ac_add_options --enable-av1 +ac_add_options --enable-chrome-format=omni +ac_add_options --enable-js-shell +ac_add_options --enable-necko-wifi +ac_add_options --enable-official-branding +ac_add_options --enable-pulseaudio +ac_add_options --enable-release +ac_add_options --enable-system-ffi +ac_add_options --without-sysroot +ac_add_options --without-system-icu +ac_add_options --without-wasm-sandboxed-libraries +ac_add_options --with-system-jpeg +ac_add_options --with-system-zlib +ac_add_options --with-unsigned-addon-scopes=app,system + +export BUILD_OFFICIAL=1 +export MOZILLA_OFFICIAL=1 +export MOZ_TELEMETRY_REPORTING=1 +export MOZ_UPDATE_CHANNEL=release +export MOZ_APP_REMOTINGNAME=firefox +mk_add_options BUILD_OFFICIAL=1 +mk_add_options MOZILLA_OFFICIAL=1 +mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/objdir diff --git a/firefox/firefox-nss-addon-hack.patch b/firefox/firefox-nss-addon-hack.patch new file mode 100644 index 000000000..032270772 --- /dev/null +++ b/firefox/firefox-nss-addon-hack.patch @@ -0,0 +1,19 @@ +diff -up firefox-84.0.2/security/certverifier/NSSCertDBTrustDomain.cpp.nss-hack firefox-84.0.2/security/certverifier/NSSCertDBTrustDomain.cpp +--- firefox-84.0.2/security/certverifier/NSSCertDBTrustDomain.cpp.nss-hack 2021-01-11 12:12:02.585514543 +0100 ++++ firefox-84.0.2/security/certverifier/NSSCertDBTrustDomain.cpp 2021-01-11 12:47:50.345984582 +0100 +@@ -1619,6 +1619,15 @@ SECStatus InitializeNSS(const nsACString + return srv; + } + ++ /* Sets the NSS_USE_ALG_IN_ANY_SIGNATURE bit. ++ * does not change NSS_USE_ALG_IN_CERT_SIGNATURE, ++ * so policy will still disable use of sha1 in ++ * certificate related signature processing. */ ++ srv = NSS_SetAlgorithmPolicy(SEC_OID_SHA1, NSS_USE_ALG_IN_ANY_SIGNATURE, 0); ++ if (srv != SECSuccess) { ++ NS_WARNING("Unable to use SHA1 for Add-ons, expect broken/disabled Add-ons. See https://bugzilla.redhat.com/show_bug.cgi?id=1908018 for details."); ++ } ++ + if (nssDbConfig == NSSDBConfig::ReadWrite) { + UniquePK11SlotInfo slot(PK11_GetInternalKeySlot()); + if (!slot) { diff --git a/firefox/firefox-oreon-default-prefs.js b/firefox/firefox-oreon-default-prefs.js new file mode 100644 index 000000000..a571318ee --- /dev/null +++ b/firefox/firefox-oreon-default-prefs.js @@ -0,0 +1,35 @@ +pref("app.update.auto", false); +pref("app.update.enabled", false); +pref("app.update.autoInstallEnabled", false); +pref("general.smoothScroll", true); +pref("intl.locale.requested", ""); +pref("toolkit.storage.synchronous", 0); +pref("toolkit.networkmanager.disable", false); +pref("offline.autoDetect", true); +pref("browser.backspace_action", 2); +pref("browser.display.use_system_colors", true); +pref("browser.download.folderList", 1); +pref("browser.link.open_external", 3); +pref("browser.shell.checkDefaultBrowser", false); +pref("network.manage-offline-status", true); +pref("extensions.shownSelectionUI", true); +pref("ui.SpellCheckerUnderlineStyle", 1); +pref("media.gmp-gmpopenh264.autoupdate",true); +pref("media.gmp-gmpopenh264.enabled",false); +pref("media.gmp.decoder.enabled", true); +pref("plugins.notifyMissingFlash", false); +/* See https://bugzilla.redhat.com/show_bug.cgi?id=1226489 */ +pref("browser.display.use_system_colors", false); +/* Allow sending credetials to all https:// sites */ +pref("network.negotiate-auth.trusted-uris", "https://"); +pref("security.use_sqldb", false); +pref("spellchecker.dictionary_path","/usr/share/myspell"); +/* Disable DoH by default */ +pref("network.trr.mode", 5); +/* Enable per-user policy dir, see mozbz#1583466 */ +pref("browser.policies.perUserDir", true); +pref("browser.gnome-search-provider.enabled",true); +/* Enable ffvpx playback for WebRTC */ +pref("media.navigator.mediadatadecoder_vpx_enabled", true); +/* See https://bugzilla.redhat.com/show_bug.cgi?id=1672424 */ +pref("storage.nfs_filesystem", true); diff --git a/firefox/firefox-search-provider.ini b/firefox/firefox-search-provider.ini new file mode 100644 index 000000000..3868e3d52 --- /dev/null +++ b/firefox/firefox-search-provider.ini @@ -0,0 +1,5 @@ +[Shell Search Provider] +DesktopId=firefox.desktop +BusName=org.mozilla.Firefox.SearchProvider +ObjectPath=/org/mozilla/Firefox/SearchProvider +Version=2 diff --git a/firefox/firefox-symbolic.svg b/firefox/firefox-symbolic.svg new file mode 100644 index 000000000..8ecd135c0 --- /dev/null +++ b/firefox/firefox-symbolic.svg @@ -0,0 +1,3 @@ + + + diff --git a/firefox/firefox-tests-xpcshell-freeze.patch b/firefox/firefox-tests-xpcshell-freeze.patch new file mode 100644 index 000000000..111541797 --- /dev/null +++ b/firefox/firefox-tests-xpcshell-freeze.patch @@ -0,0 +1,14 @@ +diff -up firefox-88.0/testing/xpcshell/runxpcshelltests.py.old firefox-88.0/testing/xpcshell/runxpcshelltests.py +--- firefox-88.0/testing/xpcshell/runxpcshelltests.py.old 2021-04-30 10:45:14.466616224 +0200 ++++ firefox-88.0/testing/xpcshell/runxpcshelltests.py 2021-04-30 10:45:21.339525085 +0200 +@@ -1382,8 +1382,8 @@ class XPCShellTests(object): + self.log.info("Process %s" % label) + self.log.info(msg) + +- dumpOutput(proc.stdout, "stdout") +- dumpOutput(proc.stderr, "stderr") ++ #dumpOutput(proc.stdout, "stdout") ++ #dumpOutput(proc.stderr, "stderr") + self.nodeProc = {} + + def startHttp3Server(self): diff --git a/firefox/firefox-x11.desktop b/firefox/firefox-x11.desktop new file mode 100644 index 000000000..4124891db --- /dev/null +++ b/firefox/firefox-x11.desktop @@ -0,0 +1,235 @@ +[Desktop Entry] +Version=1.0 +Name=Firefox on X11 +GenericName=Web Browser +Comment=Browse the Web +Exec=firefox-x11 --name firefox-x11 %u +Icon=firefox +Terminal=false +Type=Application +MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https; +StartupNotify=true +Categories=Network;WebBrowser; +Keywords=web;browser;internet; +Actions=new-window;new-private-window;profile-manager-window; + +[Desktop Action new-window] +Name=Open a New Window +Name[ach]=Dirica manyen +Name[af]=Nuwe venster +Name[an]=Nueva finestra +Name[ar]=نافذة جديدة +Name[as]=নতুন উইন্ডো +Name[ast]=Ventana nueva +Name[az]=Yeni Pəncərə +Name[be]=Новае акно +Name[bg]=Нов прозорец +Name[bn_BD]=নতুন উইন্ডো (N) +Name[bn_IN]=নতুন উইন্ডো +Name[br]=Prenestr nevez +Name[brx]=गोदान उइन्ड'(N) +Name[bs]=Novi prozor +Name[ca]=Finestra nova +Name[cak]=K'ak'a' tzuwäch +Name[cs]=Nové okno +Name[cy]=Ffenestr Newydd +Name[da]=Nyt vindue +Name[de]=Neues Fenster +Name[dsb]=Nowe wokno +Name[el]=Νέο παράθυρο +Name[en_GB]=New Window +Name[en_US]=New Window +Name[en_ZA]=New Window +Name[eo]=Nova fenestro +Name[es_AR]=Nueva ventana +Name[es_CL]=Nueva ventana +Name[es_ES]=Nueva ventana +Name[es_MX]=Nueva ventana +Name[et]=Uus aken +Name[eu]=Leiho berria +Name[fa]=پنجره جدید‌ +Name[ff]=Henorde Hesere +Name[fi]=Uusi ikkuna +Name[fr]=Nouvelle fenêtre +Name[fy_NL]=Nij finster +Name[ga_IE]=Fuinneog Nua +Name[gd]=Uinneag ùr +Name[gl]=Nova xanela +Name[gn]=Ovetã pyahu +Name[gu_IN]=નવી વિન્ડો +Name[he]=חלון חדש +Name[hi_IN]=नया विंडो +Name[hr]=Novi prozor +Name[hsb]=Nowe wokno +Name[hu]=Új ablak +Name[hy_AM]=Նոր Պատուհան +Name[id]=Jendela Baru +Name[is]=Nýr gluggi +Name[it]=Nuova finestra +Name[ja]=新しいウィンドウ +Name[ja_JP-mac]=新規ウインドウ +Name[ka]=ახალი ფანჯარა +Name[kk]=Жаңа терезе +Name[km]=បង្អួច​​​ថ្មី +Name[kn]=ಹೊಸ ಕಿಟಕಿ +Name[ko]=새 창 +Name[kok]=नवें जनेल +Name[ks]=نئئ وِنڈو +Name[lij]=Neuvo barcon +Name[lo]=ຫນ້າຕ່າງໃຫມ່ +Name[lt]=Naujas langas +Name[ltg]=Jauns lūgs +Name[lv]=Jauns logs +Name[mai]=नव विंडो +Name[mk]=Нов прозорец +Name[ml]=പുതിയ ജാലകം +Name[mr]=नवीन पटल +Name[ms]=Tetingkap Baru +Name[my]=ဝင်းဒိုးအသစ် +Name[nb_NO]=Nytt vindu +Name[ne_NP]=नयाँ सञ्झ्याल +Name[nl]=Nieuw venster +Name[nn_NO]=Nytt vindauge +Name[or]=ନୂତନ ୱିଣ୍ଡୋ +Name[pa_IN]=ਨਵੀਂ ਵਿੰਡੋ +Name[pl]=Nowe okno +Name[pt_BR]=Nova janela +Name[pt_PT]=Nova janela +Name[rm]=Nova fanestra +Name[ro]=Fereastră nouă +Name[ru]=Новое окно +Name[sat]=नावा विंडो (N) +Name[si]=නව කවුළුවක් +Name[sk]=Nové okno +Name[sl]=Novo okno +Name[son]=Zanfun taaga +Name[sq]=Dritare e Re +Name[sr]=Нови прозор +Name[sv_SE]=Nytt fönster +Name[ta]=புதிய சாளரம் +Name[te]=కొత్త విండో +Name[th]=หน้าต่างใหม่ +Name[tr]=Yeni pencere +Name[tsz]=Eraatarakua jimpani +Name[uk]=Нове вікно +Name[ur]=نیا دریچہ +Name[uz]=Yangi oyna +Name[vi]=Cửa sổ mới +Name[wo]=Palanteer bu bees +Name[xh]=Ifestile entsha +Name[zh_CN]=新建窗口 +Name[zh_TW]=開新視窗 +Exec=firefox-x11 --name firefox-x11 --new-window %u + +[Desktop Action new-private-window] +Name=Open a New Private Window +Name[ach]=Dirica manyen me mung +Name[af]=Nuwe privaatvenster +Name[an]=Nueva finestra privada +Name[ar]=نافذة خاصة جديدة +Name[as]=নতুন ব্যক্তিগত উইন্ডো +Name[ast]=Ventana privada nueva +Name[az]=Yeni Məxfi Pəncərə +Name[be]=Новае акно адасаблення +Name[bg]=Нов прозорец за поверително сърфиране +Name[bn_BD]=নতুন ব্যক্তিগত উইন্ডো +Name[bn_IN]=নতুন ব্যক্তিগত উইন্ডো +Name[br]=Prenestr merdeiñ prevez nevez +Name[brx]=गोदान प्राइभेट उइन्ड' +Name[bs]=Novi privatni prozor +Name[ca]=Finestra privada nova +Name[cak]=K'ak'a' ichinan tzuwäch +Name[cs]=Nové anonymní okno +Name[cy]=Ffenestr Breifat Newydd +Name[da]=Nyt privat vindue +Name[de]=Neues privates Fenster +Name[dsb]=Nowe priwatne wokno +Name[el]=Νέο παράθυρο ιδιωτικής περιήγησης +Name[en_GB]=New Private Window +Name[en_US]=New Private Window +Name[en_ZA]=New Private Window +Name[eo]=Nova privata fenestro +Name[es_AR]=Nueva ventana privada +Name[es_CL]=Nueva ventana privada +Name[es_ES]=Nueva ventana privada +Name[es_MX]=Nueva ventana privada +Name[et]=Uus privaatne aken +Name[eu]=Leiho pribatu berria +Name[fa]=پنجره ناشناس جدید +Name[ff]=Henorde Suturo Hesere +Name[fi]=Uusi yksityinen ikkuna +Name[fr]=Nouvelle fenêtre de navigation privée +Name[fy_NL]=Nij priveefinster +Name[ga_IE]=Fuinneog Nua Phríobháideach +Name[gd]=Uinneag phrìobhaideach ùr +Name[gl]=Nova xanela privada +Name[gn]=Ovetã ñemi pyahu +Name[gu_IN]=નવી ખાનગી વિન્ડો +Name[he]=חלון פרטי חדש +Name[hi_IN]=नयी निजी विंडो +Name[hr]=Novi privatni prozor +Name[hsb]=Nowe priwatne wokno +Name[hu]=Új privát ablak +Name[hy_AM]=Սկսել Գաղտնի դիտարկում +Name[id]=Jendela Mode Pribadi Baru +Name[is]=Nýr huliðsgluggi +Name[it]=Nuova finestra anonima +Name[ja]=新しいプライベートウィンドウ +Name[ja_JP-mac]=新規プライベートウインドウ +Name[ka]=ახალი პირადი ფანჯარა +Name[kk]=Жаңа жекелік терезе +Name[km]=បង្អួច​ឯកជន​ថ្មី +Name[kn]=ಹೊಸ ಖಾಸಗಿ ಕಿಟಕಿ +Name[ko]=새 사생활 보호 모드 +Name[kok]=नवो खाजगी विंडो +Name[ks]=نْو پرایوٹ وینڈو& +Name[lij]=Neuvo barcon privou +Name[lo]=ເປີດຫນ້າຕ່າງສວນຕົວຂື້ນມາໃຫມ່ +Name[lt]=Naujas privataus naršymo langas +Name[ltg]=Jauns privatais lūgs +Name[lv]=Jauns privātais logs +Name[mai]=नया निज विंडो (W) +Name[mk]=Нов приватен прозорец +Name[ml]=പുതിയ സ്വകാര്യ ജാലകം +Name[mr]=नवीन वैयक्तिक पटल +Name[ms]=Tetingkap Persendirian Baharu +Name[my]=New Private Window +Name[nb_NO]=Nytt privat vindu +Name[ne_NP]=नयाँ निजी सञ्झ्याल +Name[nl]=Nieuw privévenster +Name[nn_NO]=Nytt privat vindauge +Name[or]=ନୂତନ ବ୍ୟକ୍ତିଗତ ୱିଣ୍ଡୋ +Name[pa_IN]=ਨਵੀਂ ਪ੍ਰਾਈਵੇਟ ਵਿੰਡੋ +Name[pl]=Nowe okno prywatne +Name[pt_BR]=Nova janela privativa +Name[pt_PT]=Nova janela privada +Name[rm]=Nova fanestra privata +Name[ro]=Fereastră privată nouă +Name[ru]=Новое приватное окно +Name[sat]=नावा निजेराक् विंडो (W ) +Name[si]=නව පුද්ගලික කවුළුව (W) +Name[sk]=Nové okno v režime Súkromné prehliadanie +Name[sl]=Novo zasebno okno +Name[son]=Sutura zanfun taaga +Name[sq]=Dritare e Re Private +Name[sr]=Нови приватан прозор +Name[sv_SE]=Nytt privat fönster +Name[ta]=புதிய தனிப்பட்ட சாளரம் +Name[te]=కొత్త ఆంతరంగిక విండో +Name[th]=หน้าต่างส่วนตัวใหม่ +Name[tr]=Yeni gizli pencere +Name[tsz]=Juchiiti eraatarakua jimpani +Name[uk]=Приватне вікно +Name[ur]=نیا نجی دریچہ +Name[uz]=Yangi maxfiy oyna +Name[vi]=Cửa sổ riêng tư mới +Name[wo]=Panlanteeru biir bu bees +Name[xh]=Ifestile yangasese entsha +Name[zh_CN]=新建隐私浏览窗口 +Name[zh_TW]=新增隱私視窗 +Exec=firefox-x11 --private-window --name firefox-x11 %u + +[Desktop Action profile-manager-window] +Name=Open the Profile Manager +Name[cs]=Správa profilů +Exec=firefox-x11 --name firefox-x11 --ProfileManager diff --git a/firefox/firefox-x11.sh.in b/firefox/firefox-x11.sh.in new file mode 100644 index 000000000..94045c9c6 --- /dev/null +++ b/firefox/firefox-x11.sh.in @@ -0,0 +1,7 @@ +#!/usr/bin/bash +# +# Run Firefox on X11 backend +# + +export MOZ_DISABLE_WAYLAND=1 +exec /__PREFIX__/bin/firefox "$@" diff --git a/firefox/firefox.1 b/firefox/firefox.1 new file mode 100644 index 000000000..556cf07ee --- /dev/null +++ b/firefox/firefox.1 @@ -0,0 +1,141 @@ +.TH FIREFOX 1 "November 30, 2017" firefox "Linux User's Manual" +.SH NAME +firefox \- a Web browser for X11 derived from the Mozilla browser + +.SH SYNOPSIS +.B firefox +[\fIOPTIONS\fR ...] [\fIURL\fR] + +.B firefox-bin +[\fIOPTIONS\fR] [\fIURL\fR] + +.SH DESCRIPTION +\fBMozilla Firefox\fR is an open-source web browser, designed for +standards compliance, performance and portability. + +.SH USAGE +\fBfirefox\fR is a simple shell script that will set up the +environment for the actual executable, \fBfirefox-bin\fR. + +.SH OPTIONS +A summary of the options supported by \fBfirefox\fR is included below. + +.SS "X11 options" +.TP +.BI \-\-display= DISPLAY +X display to use +.TP +.B \--sync +Make X calls synchronous +.TP +.B \-\-g-fatal-warnings +Make all warnings fatal + +.SS "Firefox options" +.TP +.B \-h, \-help +Show summary of options. +.TP +.B \-v, \-version +Print Firefox version. +.TP +\fB\-P\fR \fIprofile\fR +Start with \fIprofile\fR. +.TP +\fB\-\-profile\fR \fIpath\fR +Start with profile at \fIpath\fR. +.TP +\fB\-\-migration\fR +Start with migration wizard. +.TP +.B \-\-ProfileManager +Start with ProfileManager. +.TP +\fB\-\-no\-remote\fR +Do not accept or send remote commands; implies \fB--new-instance\fR. +.TP +\fB\-\-new\-instance\fR +Open new instance, not a new window in running instance. +.TP +\fB\-\-UILocale\fR \fIlocale\fR +Start with \fIlocale\fR resources as UI Locale. +.TP +\fB\-\-safe\-mode\fR +Disables extensions and themes for this session. +.TP +\fB\-\-headless\fR +Run without a GUI. +.TP +\fB\-\-marionette\fR +Enable remote control server. +.TP +\fB\-\-browser\fR +Open a browser window. +.TP +\fB\-\-new-window\fR \fIurl\fR +Open \fIurl\fR in a new window. +.TP +\fB\-\-new-tab\fR \fIurl\fR +Open \fIurl\fR in a new tab. +.TP +\fB\-\-private-window\fR \fIurl\fR +Open \fIurl\fR in a new private window. +.TP +\fB\-\-preferences\fR +Open Preferences dialog. +.TP +\fB\-\-screenshot\fR [\fIpath\fR] +Save screenshot to \fIpath\fR or in working directory. +.TP +\fB\-\-window-size\fR \fIwidth\fR[,\fIheight\fR] +Width and optionally height of screenshot. +.TP +\fB\-\-search\fR \fIterm\fR +Search \fIterm\fR with your default search engine. +.TP + + +\fB\-\-jsconsole\fR +Open the Browser Console. +.TP +\fB\-\-jsdebugger\fR +Open the Browser Toolbox. +.TP +\fB\-\-wait-for-jsdebugger\fR +Spin event loop until JS debugger connects. Enables debugging (some) application startup code paths. Only has an effect when \fI--jsdebugger\fR is also supplied. +.TP +\fB\-\-devtools\fR +Open DevTools on initial load. +.TP +\fB\-\-start-debugger-server\fR [ws:][\fIport\fR|\fIpath\fR] +Start the debugger server on a TCP port or Unix domain socket path. Defaults to TCP port 6000. Use WebSocket protocol if ws: prefix is specified. +.TP +\fB\-\-recording\fR \fIfile\fR +Record drawing for a given URL. +.TP +\fB\-\-recording-output\fR \fIfile\fR +Specify destination file for a drawing recording. +.TP +\fB\-\-setDefaultBrowser\fR +Set this app as the default browser. + +.SH FILES +\fI/usr/bin/firefox\fR - shell script wrapping +\fBfirefox\fR +.br +\fI/usr/lib64/firefox/firefox-bin\fR - \fBfirefox\fR +executable + +.SH VERSION +57.0 + +.SH BUGS +To report a bug, please visit \fIhttp://bugzilla.mozilla.org/\fR + +.SH AUTHORS +.TP +.B The Mozilla Organization +.I http://www.mozilla.org/about.html +.TP +.B Tobias Girstmair +.I https://gir.st/ diff --git a/firefox/firefox.appdata.xml.in b/firefox/firefox.appdata.xml.in new file mode 100644 index 000000000..bfa9afc8a --- /dev/null +++ b/firefox/firefox.appdata.xml.in @@ -0,0 +1,59 @@ + + + + firefox.desktop + CC0-1.0 + Firefox + Web Browser + Navegador web + Webový prohlížeč + Navegador web + مرورگر اینترنتی + WWW-selain + Navigateur Web + Webböngésző + Browser Web + ウェブ・ブラウザ + 웹 브라우저 + Nettleser + Webbrowser + Nettlesar + Nettleser + Przeglądarka WWW + Navegador Web + Navegador Web + Internetový prehliadač + Webbläsare + +

+ Bringing together all kinds of awesomeness to make browsing better for you. + Get to your favorite sites quickly – even if you don’t remember the URLs. + Type your term into the location bar (aka the Awesome Bar) and the autocomplete + function will include possible matches from your browsing history, bookmarked + sites and open tabs. +

+
+ https://www.mozilla.org + stransky@redhat.com + + ModernToolkit + SearchProvider + + Mozilla + GPL-3.0+ + Mozilla Corporation + https://bugzilla.mozilla.org/ + https://support.mozilla.org/ + firefox + + firefox.desktop + + + https://raw.githubusercontent.com/hughsie/fedora-appstream/master/screenshots-extra/firefox/a.png + https://raw.githubusercontent.com/hughsie/fedora-appstream/master/screenshots-extra/firefox/b.png + https://raw.githubusercontent.com/hughsie/fedora-appstream/master/screenshots-extra/firefox/c.png + + + + +
diff --git a/firefox/firefox.desktop b/firefox/firefox.desktop new file mode 100644 index 000000000..a152ed4c1 --- /dev/null +++ b/firefox/firefox.desktop @@ -0,0 +1,275 @@ +[Desktop Entry] +Version=1.0 +Name=Firefox +GenericName=Web Browser +GenericName[ca]=Navegador web +GenericName[cs]=Webový prohlížeč +GenericName[es]=Navegador web +GenericName[fa]=مرورگر اینترنتی +GenericName[fi]=WWW-selain +GenericName[fr]=Navigateur Web +GenericName[hu]=Webböngésző +GenericName[it]=Browser Web +GenericName[ja]=ウェブ・ブラウザ +GenericName[ko]=웹 브라우저 +GenericName[nb]=Nettleser +GenericName[nl]=Webbrowser +GenericName[nn]=Nettlesar +GenericName[no]=Nettleser +GenericName[pl]=Przeglądarka WWW +GenericName[pt]=Navegador Web +GenericName[pt_BR]=Navegador Web +GenericName[sk]=Internetový prehliadač +GenericName[sv]=Webbläsare +Comment=Browse the Web +Comment[ca]=Navegueu per el web +Comment[cs]=Prohlížení stránek World Wide Webu +Comment[de]=Im Internet surfen +Comment[es]=Navegue por la web +Comment[fa]=صفحات شبکه جهانی اینترنت را مرور نمایید +Comment[fi]=Selaa Internetin WWW-sivuja +Comment[fr]=Navigue sur Internet +Comment[hu]=A világháló böngészése +Comment[it]=Esplora il web +Comment[ja]=ウェブを閲覧します +Comment[ko]=웹을 돌아 다닙니다 +Comment[nb]=Surf på nettet +Comment[nl]=Verken het internet +Comment[nn]=Surf på nettet +Comment[no]=Surf på nettet +Comment[pl]=Przeglądanie stron WWW +Comment[pt]=Navegue na Internet +Comment[pt_BR]=Navegue na Internet +Comment[sk]=Prehliadanie internetu +Comment[sv]=Surfa på webben +Exec=firefox %u +Icon=firefox +Terminal=false +Type=Application +MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https; +StartupNotify=true +Categories=Network;WebBrowser; +Keywords=web;browser;internet; +Actions=new-window;new-private-window;profile-manager-window; + +[Desktop Action new-window] +Name=Open a New Window +Name[ach]=Dirica manyen +Name[af]=Nuwe venster +Name[an]=Nueva finestra +Name[ar]=نافذة جديدة +Name[as]=নতুন উইন্ডো +Name[ast]=Ventana nueva +Name[az]=Yeni Pəncərə +Name[be]=Новае акно +Name[bg]=Нов прозорец +Name[bn_BD]=নতুন উইন্ডো (N) +Name[bn_IN]=নতুন উইন্ডো +Name[br]=Prenestr nevez +Name[brx]=गोदान उइन्ड'(N) +Name[bs]=Novi prozor +Name[ca]=Finestra nova +Name[cak]=K'ak'a' tzuwäch +Name[cs]=Nové okno +Name[cy]=Ffenestr Newydd +Name[da]=Nyt vindue +Name[de]=Neues Fenster +Name[dsb]=Nowe wokno +Name[el]=Νέο παράθυρο +Name[en_GB]=New Window +Name[en_US]=New Window +Name[en_ZA]=New Window +Name[eo]=Nova fenestro +Name[es_AR]=Nueva ventana +Name[es_CL]=Nueva ventana +Name[es_ES]=Nueva ventana +Name[es_MX]=Nueva ventana +Name[et]=Uus aken +Name[eu]=Leiho berria +Name[fa]=پنجره جدید‌ +Name[ff]=Henorde Hesere +Name[fi]=Uusi ikkuna +Name[fr]=Nouvelle fenêtre +Name[fy_NL]=Nij finster +Name[ga_IE]=Fuinneog Nua +Name[gd]=Uinneag ùr +Name[gl]=Nova xanela +Name[gn]=Ovetã pyahu +Name[gu_IN]=નવી વિન્ડો +Name[he]=חלון חדש +Name[hi_IN]=नया विंडो +Name[hr]=Novi prozor +Name[hsb]=Nowe wokno +Name[hu]=Új ablak +Name[hy_AM]=Նոր Պատուհան +Name[id]=Jendela Baru +Name[is]=Nýr gluggi +Name[it]=Nuova finestra +Name[ja]=新しいウィンドウ +Name[ja_JP-mac]=新規ウインドウ +Name[ka]=ახალი ფანჯარა +Name[kk]=Жаңа терезе +Name[km]=បង្អួច​​​ថ្មី +Name[kn]=ಹೊಸ ಕಿಟಕಿ +Name[ko]=새 창 +Name[kok]=नवें जनेल +Name[ks]=نئئ وِنڈو +Name[lij]=Neuvo barcon +Name[lo]=ຫນ້າຕ່າງໃຫມ່ +Name[lt]=Naujas langas +Name[ltg]=Jauns lūgs +Name[lv]=Jauns logs +Name[mai]=नव विंडो +Name[mk]=Нов прозорец +Name[ml]=പുതിയ ജാലകം +Name[mr]=नवीन पटल +Name[ms]=Tetingkap Baru +Name[my]=ဝင်းဒိုးအသစ် +Name[nb_NO]=Nytt vindu +Name[ne_NP]=नयाँ सञ्झ्याल +Name[nl]=Nieuw venster +Name[nn_NO]=Nytt vindauge +Name[or]=ନୂତନ ୱିଣ୍ଡୋ +Name[pa_IN]=ਨਵੀਂ ਵਿੰਡੋ +Name[pl]=Nowe okno +Name[pt_BR]=Nova janela +Name[pt_PT]=Nova janela +Name[rm]=Nova fanestra +Name[ro]=Fereastră nouă +Name[ru]=Новое окно +Name[sat]=नावा विंडो (N) +Name[si]=නව කවුළුවක් +Name[sk]=Nové okno +Name[sl]=Novo okno +Name[son]=Zanfun taaga +Name[sq]=Dritare e Re +Name[sr]=Нови прозор +Name[sv_SE]=Nytt fönster +Name[ta]=புதிய சாளரம் +Name[te]=కొత్త విండో +Name[th]=หน้าต่างใหม่ +Name[tr]=Yeni pencere +Name[tsz]=Eraatarakua jimpani +Name[uk]=Нове вікно +Name[ur]=نیا دریچہ +Name[uz]=Yangi oyna +Name[vi]=Cửa sổ mới +Name[wo]=Palanteer bu bees +Name[xh]=Ifestile entsha +Name[zh_CN]=新建窗口 +Name[zh_TW]=開新視窗 +Exec=firefox --new-window %u + +[Desktop Action new-private-window] +Name=Open a New Private Window +Name[ach]=Dirica manyen me mung +Name[af]=Nuwe privaatvenster +Name[an]=Nueva finestra privada +Name[ar]=نافذة خاصة جديدة +Name[as]=নতুন ব্যক্তিগত উইন্ডো +Name[ast]=Ventana privada nueva +Name[az]=Yeni Məxfi Pəncərə +Name[be]=Новае акно адасаблення +Name[bg]=Нов прозорец за поверително сърфиране +Name[bn_BD]=নতুন ব্যক্তিগত উইন্ডো +Name[bn_IN]=নতুন ব্যক্তিগত উইন্ডো +Name[br]=Prenestr merdeiñ prevez nevez +Name[brx]=गोदान प्राइभेट उइन्ड' +Name[bs]=Novi privatni prozor +Name[ca]=Finestra privada nova +Name[cak]=K'ak'a' ichinan tzuwäch +Name[cs]=Nové anonymní okno +Name[cy]=Ffenestr Breifat Newydd +Name[da]=Nyt privat vindue +Name[de]=Neues privates Fenster +Name[dsb]=Nowe priwatne wokno +Name[el]=Νέο παράθυρο ιδιωτικής περιήγησης +Name[en_GB]=New Private Window +Name[en_US]=New Private Window +Name[en_ZA]=New Private Window +Name[eo]=Nova privata fenestro +Name[es_AR]=Nueva ventana privada +Name[es_CL]=Nueva ventana privada +Name[es_ES]=Nueva ventana privada +Name[es_MX]=Nueva ventana privada +Name[et]=Uus privaatne aken +Name[eu]=Leiho pribatu berria +Name[fa]=پنجره ناشناس جدید +Name[ff]=Henorde Suturo Hesere +Name[fi]=Uusi yksityinen ikkuna +Name[fr]=Nouvelle fenêtre de navigation privée +Name[fy_NL]=Nij priveefinster +Name[ga_IE]=Fuinneog Nua Phríobháideach +Name[gd]=Uinneag phrìobhaideach ùr +Name[gl]=Nova xanela privada +Name[gn]=Ovetã ñemi pyahu +Name[gu_IN]=નવી ખાનગી વિન્ડો +Name[he]=חלון פרטי חדש +Name[hi_IN]=नयी निजी विंडो +Name[hr]=Novi privatni prozor +Name[hsb]=Nowe priwatne wokno +Name[hu]=Új privát ablak +Name[hy_AM]=Սկսել Գաղտնի դիտարկում +Name[id]=Jendela Mode Pribadi Baru +Name[is]=Nýr huliðsgluggi +Name[it]=Nuova finestra anonima +Name[ja]=新しいプライベートウィンドウ +Name[ja_JP-mac]=新規プライベートウインドウ +Name[ka]=ახალი პირადი ფანჯარა +Name[kk]=Жаңа жекелік терезе +Name[km]=បង្អួច​ឯកជន​ថ្មី +Name[kn]=ಹೊಸ ಖಾಸಗಿ ಕಿಟಕಿ +Name[ko]=새 사생활 보호 모드 +Name[kok]=नवो खाजगी विंडो +Name[ks]=نْو پرایوٹ وینڈو& +Name[lij]=Neuvo barcon privou +Name[lo]=ເປີດຫນ້າຕ່າງສວນຕົວຂື້ນມາໃຫມ່ +Name[lt]=Naujas privataus naršymo langas +Name[ltg]=Jauns privatais lūgs +Name[lv]=Jauns privātais logs +Name[mai]=नया निज विंडो (W) +Name[mk]=Нов приватен прозорец +Name[ml]=പുതിയ സ്വകാര്യ ജാലകം +Name[mr]=नवीन वैयक्तिक पटल +Name[ms]=Tetingkap Persendirian Baharu +Name[my]=New Private Window +Name[nb_NO]=Nytt privat vindu +Name[ne_NP]=नयाँ निजी सञ्झ्याल +Name[nl]=Nieuw privévenster +Name[nn_NO]=Nytt privat vindauge +Name[or]=ନୂତନ ବ୍ୟକ୍ତିଗତ ୱିଣ୍ଡୋ +Name[pa_IN]=ਨਵੀਂ ਪ੍ਰਾਈਵੇਟ ਵਿੰਡੋ +Name[pl]=Nowe okno prywatne +Name[pt_BR]=Nova janela privativa +Name[pt_PT]=Nova janela privada +Name[rm]=Nova fanestra privata +Name[ro]=Fereastră privată nouă +Name[ru]=Новое приватное окно +Name[sat]=नावा निजेराक् विंडो (W ) +Name[si]=නව පුද්ගලික කවුළුව (W) +Name[sk]=Nové okno v režime Súkromné prehliadanie +Name[sl]=Novo zasebno okno +Name[son]=Sutura zanfun taaga +Name[sq]=Dritare e Re Private +Name[sr]=Нови приватан прозор +Name[sv_SE]=Nytt privat fönster +Name[ta]=புதிய தனிப்பட்ட சாளரம் +Name[te]=కొత్త ఆంతరంగిక విండో +Name[th]=หน้าต่างส่วนตัวใหม่ +Name[tr]=Yeni gizli pencere +Name[tsz]=Juchiiti eraatarakua jimpani +Name[uk]=Приватне вікно +Name[ur]=نیا نجی دریچہ +Name[uz]=Yangi maxfiy oyna +Name[vi]=Cửa sổ riêng tư mới +Name[wo]=Panlanteeru biir bu bees +Name[xh]=Ifestile yangasese entsha +Name[zh_CN]=新建隐私浏览窗口 +Name[zh_TW]=新增隱私視窗 +Exec=firefox --private-window %u + +[Desktop Action profile-manager-window] +Name=Open the Profile Manager +Name[cs]=Správa profilů +Name[de]=Profilverwaltung öffnen +Exec=firefox --ProfileManager diff --git a/firefox/firefox.sh.in b/firefox/firefox.sh.in new file mode 100644 index 000000000..6a3f6e489 --- /dev/null +++ b/firefox/firefox.sh.in @@ -0,0 +1,292 @@ +#!/usr/bin/bash +# +# The contents of this file are subject to the Netscape Public +# License Version 1.1 (the "License"); you may not use this file +# except in compliance with the License. You may obtain a copy of +# the License at http://www.mozilla.org/NPL/ +# +# Software distributed under the License is distributed on an "AS +# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or +# implied. See the License for the specific language governing +# rights and limitations under the License. +# +# The Original Code is mozilla.org code. +# +# The Initial Developer of the Original Code is Netscape +# Communications Corporation. Portions created by Netscape are +# Copyright (C) 1998 Netscape Communications Corporation. All +# Rights Reserved. +# +# Contributor(s): +# + +## +## Usage: +## +## $ firefox +## +## This script is meant to run a mozilla program from the mozilla +## rpm installation. +## +## The script will setup all the environment voodoo needed to make +## mozilla work. + +cmdname=`basename $0` + +## +## Variables +## +MOZ_ARCH=$(uname -m) +case $MOZ_ARCH in + x86_64 | s390x | sparc64) + MOZ_LIB_DIR="/__PREFIX__/lib64" + SECONDARY_LIB_DIR="/__PREFIX__/lib" + ;; + * ) + MOZ_LIB_DIR="/__PREFIX__/lib" + SECONDARY_LIB_DIR="/__PREFIX__/lib64" + ;; +esac + +MOZ_FIREFOX_FILE="firefox" + +if [ ! -r $MOZ_LIB_DIR/firefox/$MOZ_FIREFOX_FILE ]; then + if [ ! -r $SECONDARY_LIB_DIR/firefox/$MOZ_FIREFOX_FILE ]; then + echo "Error: $MOZ_LIB_DIR/firefox/$MOZ_FIREFOX_FILE not found" + if [ -d $SECONDARY_LIB_DIR ]; then + echo " $SECONDARY_LIB_DIR/firefox/$MOZ_FIREFOX_FILE not found" + fi + exit 1 + fi + MOZ_LIB_DIR="$SECONDARY_LIB_DIR" +fi +MOZ_DIST_BIN="$MOZ_LIB_DIR/firefox" +MOZ_LANGPACKS_DIR="$MOZ_DIST_BIN/langpacks" +MOZ_EXTENSIONS_PROFILE_DIR="$HOME/.mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}" +MOZ_PROGRAM="$MOZ_DIST_BIN/$MOZ_FIREFOX_FILE" +MOZ_LAUNCHER="$MOZ_DIST_BIN/run-mozilla.sh" +GETENFORCE_FILE="/usr/sbin/getenforce" + +## +## Enable Wayland backend? +## +%DISABLE_WAYLAND_PLACEHOLDER% + +if ! [ $MOZ_DISABLE_WAYLAND ] && [ "$WAYLAND_DISPLAY" ]; then + if [ "$XDG_CURRENT_DESKTOP" == "GNOME" ]; then + export MOZ_ENABLE_WAYLAND=1 + fi +## Enable Wayland on KDE/Sway +## + if [ "$XDG_SESSION_TYPE" == "wayland" ]; then + export MOZ_ENABLE_WAYLAND=1 + fi +fi + +## +## Use D-Bus remote exclusively when there's Wayland display. +## +if [ "$WAYLAND_DISPLAY" ]; then + export MOZ_DBUS_REMOTE=1 +fi + +## +## Set MOZ_GRE_CONF +## +MOZ_GRE_CONF=/etc/gre.d/gre.conf +if [ "$MOZ_LIB_DIR" == "/__PREFIX__/lib64" ]; then + MOZ_GRE_CONF=/etc/gre.d/gre64.conf +fi +export MOZ_GRE_CONF + +## +## Set MOZILLA_FIVE_HOME +## +MOZILLA_FIVE_HOME="$MOZ_DIST_BIN" + +export MOZILLA_FIVE_HOME + +## +## Make sure that we set the plugin path +## +MOZ_PLUGIN_DIR="plugins" + +if [ "$MOZ_PLUGIN_PATH" ] +then + MOZ_PLUGIN_PATH=$MOZ_PLUGIN_PATH:$MOZ_LIB_DIR/mozilla/$MOZ_PLUGIN_DIR:$MOZ_DIST_BIN/$MOZ_PLUGIN_DIR +else + MOZ_PLUGIN_PATH=$MOZ_LIB_DIR/mozilla/$MOZ_PLUGIN_DIR:$MOZ_DIST_BIN/$MOZ_PLUGIN_DIR +fi +export MOZ_PLUGIN_PATH + +## +## Set MOZ_APP_LAUNCHER for gnome-session +## +export MOZ_APP_LAUNCHER="/__PREFIX__/bin/firefox" + +## +## Set FONTCONFIG_PATH for Xft/fontconfig +## +FONTCONFIG_PATH="/etc/fonts:${MOZILLA_FIVE_HOME}/res/Xft" +export FONTCONFIG_PATH + +## +## We want Firefox to use Openh264 provided by Fedora +## +export MOZ_GMP_PATH=$MOZ_LIB_DIR/mozilla/plugins/gmp-gmpopenh264/system-installed + +## +## In order to better support certain scripts (such as Indic and some CJK +## scripts), Fedora builds its Firefox, with permission from the Mozilla +## Corporation, with the Pango system as its text renderer. This change +## may negatively impact performance on some pages. To disable the use of +## Pango, set MOZ_DISABLE_PANGO=1 in your environment before launching +## Firefox. +## +# +# MOZ_DISABLE_PANGO=1 +# export MOZ_DISABLE_PANGO +# + +## +## Disable the GNOME crash dialog, Moz has it's own +## +GNOME_DISABLE_CRASH_DIALOG=1 +export GNOME_DISABLE_CRASH_DIALOG + +## +## Disable the SLICE allocator (rhbz#1014858) +## +export G_SLICE=always-malloc + +## +## Enable Xinput2 (mozbz#1207973) +## +export MOZ_USE_XINPUT2=1 + +# OK, here's where all the real work gets done + + +## +## To disable the use of Firefox localization, set MOZ_DISABLE_LANGPACKS=1 +## in your environment before launching Firefox. +## +# +# MOZ_DISABLE_LANGPACKS=1 +# export MOZ_DISABLE_LANGPACKS +# + +## +## Automatically installed langpacks are tracked by .fedora-langpack-install +## config file. +## +FEDORA_LANGPACK_CONFIG="$MOZ_EXTENSIONS_PROFILE_DIR/.fedora-langpack-install" + +# MOZ_DISABLE_LANGPACKS disables language packs completely +MOZILLA_DOWN=0 +if ! [ $MOZ_DISABLE_LANGPACKS ] || [ $MOZ_DISABLE_LANGPACKS -eq 0 ]; then + if [ -x $MOZ_DIST_BIN/$MOZ_FIREFOX_FILE ]; then + # Is firefox running? + /__PREFIX__/bin/pidof $MOZ_PROGRAM > /dev/null 2>&1 + MOZILLA_DOWN=$? + fi +fi + +# When Firefox is not running, restore SELinux labels for profile files +# (rhbz#1731371) +if [ $MOZILLA_DOWN -ne 0 ]; then + if [ -x $GETENFORCE_FILE ] && [ `$GETENFORCE_FILE` != "Disabled" ] && [ -d ~/.mozilla/firefox ]; then + (/usr/sbin/restorecon -vr ~/.mozilla/firefox &) + fi +fi + +# Modify language pack configuration only when firefox is not running +# and language packs are not disabled +if [ $MOZILLA_DOWN -ne 0 ]; then + + # Clear already installed langpacks + mkdir -p $MOZ_EXTENSIONS_PROFILE_DIR + if [ -f $FEDORA_LANGPACK_CONFIG ]; then + rm `cat $FEDORA_LANGPACK_CONFIG` > /dev/null 2>&1 + rm $FEDORA_LANGPACK_CONFIG > /dev/null 2>&1 + # remove all empty langpacks dirs while they block installation of langpacks + rmdir $MOZ_EXTENSIONS_PROFILE_DIR/langpack* > /dev/null 2>&1 + fi + + # Get locale from system + CURRENT_LOCALE=$LC_ALL + CURRENT_LOCALE=${CURRENT_LOCALE:-$LC_MESSAGES} + CURRENT_LOCALE=${CURRENT_LOCALE:-$LANG} + + # Try with a local variant first, then without a local variant + SHORTMOZLOCALE=`echo $CURRENT_LOCALE | sed "s|_\([^.]*\).*||g" | sed "s|\..*||g"` + MOZLOCALE=`echo $CURRENT_LOCALE | sed "s|_\([^.]*\).*|-\1|g" | sed "s|\..*||g"` + + function create_langpack_link() { + local language=$* + local langpack=langpack-${language}@firefox.mozilla.org.xpi + if [ -f $MOZ_LANGPACKS_DIR/$langpack ]; then + rm -rf $MOZ_EXTENSIONS_PROFILE_DIR/$langpack + # If the target file is a symlink (the fallback langpack), + # install the original file instead of the fallback one + if [ -h $MOZ_LANGPACKS_DIR/$langpack ]; then + langpack=`readlink $MOZ_LANGPACKS_DIR/$langpack` + fi + ln -s $MOZ_LANGPACKS_DIR/$langpack \ + $MOZ_EXTENSIONS_PROFILE_DIR/$langpack + echo $MOZ_EXTENSIONS_PROFILE_DIR/$langpack > $FEDORA_LANGPACK_CONFIG + return 0 + fi + return 1 + } + + create_langpack_link $MOZLOCALE || create_langpack_link $SHORTMOZLOCALE || true +fi + +# BEAST fix (rhbz#1005611) +NSS_SSL_CBC_RANDOM_IV=${NSS_SSL_CBC_RANDOM_IV-1} +export NSS_SSL_CBC_RANDOM_IV + +# Prepare command line arguments +script_args="" +pass_arg_count=0 +while [ $# -gt $pass_arg_count ] +do + case "$1" in + -g | --debug) + script_args="$script_args -g" + debugging=1 + shift + ;; + -d | --debugger) + if [ $# -gt 1 ]; then + script_args="$script_args -d $2" + shift 2 + else + shift + fi + ;; + *) + # Move the unrecognized argument to the end of the list. + arg="$1" + shift + set -- "$@" "$arg" + pass_arg_count=`expr $pass_arg_count + 1` + ;; + esac +done + +# Flatpak specific environment variables +%FLATPAK_ENV_VARS% + +# Don't throw "old profile" dialog box. +export MOZ_ALLOW_DOWNGRADE=1 + +# Run the browser +debugging=0 +if [ $debugging = 1 ] +then + echo $MOZ_LAUNCHER $script_args $MOZ_PROGRAM "$@" +fi + +exec $MOZ_LAUNCHER $script_args $MOZ_PROGRAM "$@" diff --git a/firefox/firefox.spec b/firefox/firefox.spec new file mode 100644 index 000000000..d22046a0a --- /dev/null +++ b/firefox/firefox.spec @@ -0,0 +1,1733 @@ +%define homepage %(grep '^HOME_URL\s*=' /etc/os-release | sed 's/^HOME_URL\s*=//;s/^\s*"//;s/"\s*$//') +%global disable_toolsets 0 + +# Produce debug (non-optimized) package build. Suitable for debugging only +# as the build is *very* slow. +%global debug_build 0 +# Run Mozilla test suite as a part of compile rpm section. Turn off when +# building locally and don't want to spend 24 hours waiting for results. +%global run_firefox_tests 0 + +%ifarch x86_64 %{ix86} +%global run_firefox_tests 0 +%endif + +%{lua: +function dist_to_rhel_minor(str, start) + match = string.match(str, ".module%+el8.%d+") + if match then + return string.sub(match, 13) + end + match = string.match(str, ".el8_%d+") + if match then + return string.sub(match, 6) + end + match = string.match(str, ".el8") + if match then + return 10 + end + match = string.match(str, ".module%+el9.%d+") + if match then + return string.sub(match, 13) + end + match = string.match(str, ".el9_%d+") + if match then + return string.sub(match, 6) + end + match = string.match(str, ".el9") + if match then + return 4 + end + return -1 +end} + +%global rhel_minor_version %{lua:print(dist_to_rhel_minor(rpm.expand("%dist")))} + +# System libraries options +%global system_nss 1 +%global bundle_nss 0 + +%if 0%{?rhel} == 8 + %if %{rhel_minor_version} <= 6 + %global bundle_nss 1 + %global system_nss 1 + %endif +%endif +%if 0%{?rhel} == 9 + %if %{rhel_minor_version} <= 0 + %global bundle_nss 1 + %global system_nss 1 + %endif +%endif + +%global dts_version 10 +%global llvm_version 7.0 +%global nspr_version 4.35 +%global nspr_version_max 4.36 +%global nss_version 3.90 +%global nss_version_max 3.91 +%global rust_version 1.66 +%global system_libvpx 0 + +# Toolsets setup +%global use_dts 0 +%global use_gcc_ts 0 +%global use_llvm_ts 0 +%global use_nodejs_scl 0 +%global use_rust_ts 1 +%global use_python3_scl 0 + +%global nodejs_build_req nodejs + +%if 0%{?rhel} >= 8 + %global use_rust_ts 0 +%endif + +%if 0%{?rhel} == 8 && %{rhel_minor_version} < 6 + %ifarch aarch64 +%global use_gcc_ts 1 + %endif +%endif + +%if 0%{?rhel} == 7 + %global use_dts 1 + %global use_llvm_ts 1 + %global use_nodejs_scl 1 + %global nodejs_build_req rh-nodejs10-nodejs + %global llvm_version 11.0 + %global use_python3_scl 1 +%endif + +%if 0%{?disable_toolsets} +%global use_dts 0 +%global use_llvm_ts 0 +%global use_nodejs_scl 0 +%global use_rust_ts 0 +%global use_python3_scl 0 +%endif + +%global launch_wayland_compositor 0 +%if 0%{?run_firefox_tests} + %global test_on_wayland 1 + %global launch_wayland_compositor 1 + %global build_tests 1 +%endif + + +%global mozappdir %{_libdir}/firefox +%global langpackdir %{mozappdir}/browser/extensions +%define bundled_install_path %{mozappdir}/bundled +%global pre_version esr +# Workaround the dreaded "upstream source file changed content" rpminspect failure. +# If set to .b2 or .b3 ... the processed source file needs to be renamed before upload, e.g. +# firefox-102.8.0esr.b2.processed-source.tar.xz +# When unset use processed source file name as is. +##global buildnum .b2 + +%bcond_without langpacks + +# Exclude private libraries from autogenerated provides and requires +%global __provides_exclude_from ^%{mozappdir} +%global __requires_exclude ^(%%(find %{buildroot}%{mozappdir} -name '*.so' | xargs -n1 basename | sort -u | paste -s -d '|' -)) + +Summary: Mozilla Firefox Web browser +Name: firefox +Version: 115.7.0 +Release: 1%{?dist}.oreon +URL: https://www.mozilla.org/firefox/ +License: MPLv1.1 or GPLv2+ or LGPLv2+ + +%if 0%{?rhel} == 9 +ExcludeArch: %{ix86} +%endif +%if 0%{?rhel} == 8 + # Started to ship on aarch64 in RHEL 8.2, on s390x in RHEL 8.3 + %if %{rhel_minor_version} == 1 +ExcludeArch: %{ix86} s390x aarch64 + %else + %if %{rhel_minor_version} == 2 +ExcludeArch: %{ix86} s390x + %else +ExcludeArch: %{ix86} + %endif + %endif +%endif +%if 0%{?rhel} == 7 +ExcludeArch: aarch64 s390 ppc +%endif + +# We can't use the official tarball as it contains some test files that use +# licenses that are rejected by Red Hat Legal. +# The official tarball has to be always processed by the process-official-tarball +# script +# Link to original tarball: https://archive.mozilla.org/pub/firefox/releases/%%{version}%%{?pre_version}/source/firefox-%%{version}%%{?pre_version}.source.tar.xz +Source0: firefox-%{version}%{?pre_version}%{?buildnum}.processed-source.tar.xz +%if %{with langpacks} +Source1: firefox-langpacks-%{version}%{?pre_version}-20240116.tar.xz +%endif +Source2: cbindgen-vendor.tar.xz +Source3: process-official-tarball +Source10: firefox-mozconfig +Source12: firefox-oreon-default-prefs.js +Source20: firefox.desktop +Source21: firefox.sh.in +Source23: firefox.1 +Source24: mozilla-api-key +Source25: firefox-symbolic.svg +Source26: distribution.ini +Source27: google-api-key +Source30: firefox-x11.sh.in +Source31: firefox-x11.desktop +Source32: node-stdout-nonblocking-wrapper +Source33: firefox.appdata.xml.in +Source34: firefox-search-provider.ini +Source35: google-loc-api-key +Source36: testing.sh +Source37: mochitest-python.tar.gz + +# Bundled libraries +Source401: nss-setup-flags-env.inc +Source402: nspr-4.35.0-1.el8_1.src.rpm +Source403: nss-3.90.0-3.el8_1.src.rpm +Source404: nss-3.90.0-3.el9_0.src.rpm + +# ---- RHEL specific patches --- +# -- Downstream only -- +Patch01: build-disable-elfhack.patch +Patch02: firefox-gcc-build.patch +Patch03: build-big-endian-errors.patch +Patch05: build-rhel7-lower-node-min-version.patch +Patch06: build-ppc64-abiv2.patch +Patch07: build-rhel7-nasm-dwarf.patch +# Disable PipeWire support for PipeWire 0.2 +Patch08: disable-pipewire.patch +Patch09: rhbz-2131158-webrtc-nss-fix.patch + +# -- Upstreamed patches -- +Patch51: mozilla-bmo1170092.patch + +# -- Submitted upstream, not merged -- +Patch101: mozilla-bmo1636168-fscreen.patch +Patch102: mozilla-bmo1670333.patch +# Big endian fix +Patch103: mozilla-bmo1504834-part1.patch +Patch104: mozilla-bmo1504834-part3.patch +# Big endian fix +Patch105: mozilla-bmo849632.patch +# Big endian fix +Patch106: mozilla-bmo998749.patch +# Big endian fix +Patch107: mozilla-bmo1716707-swizzle.patch +Patch108: mozilla-bmo1716707-svg.patch +Patch109: mozilla-bmo1789216-disable-av1.patch + +# ---- Fedora specific patches ---- +Patch151: firefox-enable-addons.patch +Patch152: rhbz-1173156.patch +Patch153: fedora-shebang-build.patch +Patch154: firefox-nss-addon-hack.patch +# ARM run-time patch +Patch155: rhbz-1354671.patch + +# ---- Test patches ---- +# Generate without context by +# GENDIFF_DIFF_ARGS=-U0 gendiff firefox-xxxx .firefox-tests-xpcshell +# GENDIFF_DIFF_ARGS=-U0 gendiff firefox-xxxx .firefox-tests-reftest +Patch201: firefox-tests-xpcshell-freeze.patch + +# ---- Security patches ---- +Patch301: CVE-2023-44488-libvpx.patch + +# BUILD REQURES/REQUIRES +%if %{?system_nss} && !0%{?bundle_nss} +BuildRequires: pkgconfig(nspr) >= %{nspr_version} +BuildRequires: pkgconfig(nspr) < %{nspr_version_max} +BuildRequires: pkgconfig(nss) >= %{nss_version} +BuildRequires: pkgconfig(nss) < %{nss_version_max} +BuildRequires: nss-static >= %{nss_version} +BuildRequires: nss-static < %{nss_version_max} +%endif + +%if %{?system_libvpx} +BuildRequires: libvpx-devel >= 1.8.2 +%endif + +BuildRequires: bzip2-devel +BuildRequires: dbus-glib-devel +BuildRequires: desktop-file-utils +BuildRequires: libappstream-glib +BuildRequires: libjpeg-devel +BuildRequires: libstdc++-devel +BuildRequires: libstdc++-static +BuildRequires: m4 +BuildRequires: make +BuildRequires: nasm >= 1.13 +BuildRequires: %{nodejs_build_req} >= 10.21 +BuildRequires: pciutils-libs +BuildRequires: perl-interpreter +BuildRequires: pkgconfig(alsa) +BuildRequires: pkgconfig(dri) +BuildRequires: pkgconfig(freetype2) +BuildRequires: pkgconfig(gtk+-3.0) +BuildRequires: pkgconfig(krb5) +BuildRequires: pkgconfig(libcurl) +BuildRequires: pkgconfig(libffi) +BuildRequires: pkgconfig(libnotify) +BuildRequires: pkgconfig(libpng) +BuildRequires: pkgconfig(libpulse) +BuildRequires: pkgconfig(libstartup-notification-1.0) +BuildRequires: pkgconfig(pango) +BuildRequires: pkgconfig(xrender) +BuildRequires: pkgconfig(xt) +BuildRequires: pkgconfig(xtst) +BuildRequires: pkgconfig(zlib) +BuildRequires: zip + +%if 0%{?rhel} == 7 +%if 0%{?use_python3_scl} +BuildRequires: rh-python38-python-devel +BuildRequires: rh-python38-python-setuptools +BuildRequires: scl-utils +%endif +BuildRequires: findutils +%else +BuildRequires: pipewire-devel +%endif + +%if 0%{?rhel} == 8 +BuildRequires: cargo +BuildRequires: clang-devel >= %{llvm_version} +BuildRequires: clang >= %{llvm_version} +BuildRequires: llvm-devel >= %{llvm_version} +BuildRequires: llvm >= %{llvm_version} + %if 0%{?disable_toolsets} == 0 +BuildRequires: python38-devel +BuildRequires: python38-setuptools + %endif +BuildRequires: rustfmt >= %{rust_version} +BuildRequires: rust >= %{rust_version} +%endif + +%if 0%{?rhel} == 9 +BuildRequires: cargo +BuildRequires: clang clang-libs llvm llvm-devel +BuildRequires: gcc +BuildRequires: gcc-c++ +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: rust +%endif + +%if 0%{?use_dts} +BuildRequires: devtoolset-%{dts_version}-gcc +BuildRequires: devtoolset-%{dts_version}-gcc-c++ +BuildRequires: devtoolset-%{dts_version}-libatomic-devel +%endif + +%if 0%{?use_llvm_ts} +BuildRequires: llvm-toolset-%{llvm_version} +BuildRequires: llvm-toolset-%{llvm_version}-clang +BuildRequires: llvm-toolset-%{llvm_version}-clang-devel +BuildRequires: llvm-toolset-%{llvm_version}-llvm-devel +%endif + +%if 0%{?use_rust_ts} +BuildRequires: rust-toolset-%{rust_version} +%endif + +# Bundled nss/nspr requirement +%if 0%{?bundle_nss} +BuildRequires: gawk +BuildRequires: gcc-c++ +BuildRequires: nss-softokn +BuildRequires: perl-interpreter +BuildRequires: pkgconfig +BuildRequires: psmisc +BuildRequires: sqlite-devel +BuildRequires: xmlto +BuildRequires: zlib-devel +%endif + +%if 0%{?test_on_wayland} +BuildRequires: dbus-x11 +BuildRequires: gnome-keyring +BuildRequires: gnome-settings-daemon +BuildRequires: gsettings-desktop-schemas +BuildRequires: mesa-dri-drivers +BuildRequires: mutter +BuildRequires: xorg-x11-server-Xwayland +%endif + +%if 0%{?run_firefox_tests} +BuildRequires: abattis-cantarell-fonts +BuildRequires: dbus-x11 +BuildRequires: dejavu-sans-fonts +BuildRequires: dejavu-sans-mono-fonts +BuildRequires: dejavu-serif-fonts +BuildRequires: gnome-keyring +BuildRequires: google-carlito-fonts +BuildRequires: google-droid-sans-fonts +BuildRequires: google-noto-cjk-fonts-common +BuildRequires: google-noto-emoji-color-fonts +BuildRequires: google-noto-fonts-common +BuildRequires: google-noto-sans-cjk-ttc-fonts +BuildRequires: google-noto-sans-fonts +BuildRequires: google-noto-sans-gurmukhi-fonts +BuildRequires: google-noto-sans-sinhala-vf-fonts +BuildRequires: jomolhari-fonts +BuildRequires: khmeros-base-fonts +BuildRequires: liberation-fonts-common +BuildRequires: liberation-mono-fonts +BuildRequires: liberation-sans-fonts +BuildRequires: liberation-serif-fonts +BuildRequires: lohit-tamil-fonts +BuildRequires: lohit-telugu-fonts +BuildRequires: mesa-dri-drivers +BuildRequires: nss-tools +BuildRequires: paktype-naskh-basic-fonts +BuildRequires: procps-ng +BuildRequires: pt-sans-fonts +#BuildRequires: smc-meera-fonts +BuildRequires: stix-fonts +BuildRequires: thai-scalable-fonts-common +BuildRequires: thai-scalable-waree-fonts +BuildRequires: xorg-x11-fonts-ISO8859-1-100dpi +BuildRequires: xorg-x11-fonts-misc +BuildRequires: xorg-x11-server-Xvfb +%endif + +%if 0%{?rhel} == 8 && %{rhel_minor_version} < 6 + %ifarch aarch64 +BuildRequires: gcc-toolset-12-gcc-plugin-annobin + %endif +%endif + +Requires: mozilla-filesystem +Requires: p11-kit-trust +Requires: pciutils-libs +Requires: redhat-indexhtml + +%if %{?system_nss} && !0%{?bundle_nss} +Requires: nspr >= %{nspr_version} +Requires: nss >= %{nss_version} +%endif + +Obsoletes: mozilla <= 37:1.7.13 +Provides: webclient + +# Bundled libraries +#Provides: bundled(libjxl) it's used only on nightly builds +Provides: bundled(angle) +Provides: bundled(aom) +Provides: bundled(audioipc-2) +Provides: bundled(bergamot-translator) +Provides: bundled(brotli) +Provides: bundled(bsdiff) +Provides: bundled(cairo) +Provides: bundled(cfworker) +Provides: bundled(cld2) +Provides: bundled(cubeb) +Provides: bundled(d3.js) +Provides: bundled(double-conversion) +Provides: bundled(expat) +Provides: bundled(fastText) +Provides: bundled(fathom) +Provides: bundled(fdlibm) +Provides: bundled(ffvpx) +Provides: bundled(freetype2) +Provides: bundled(function2) +Provides: bundled(gemmology) +Provides: bundled(graphite2) +Provides: bundled(harfbuzz) +Provides: bundled(highway) +Provides: bundled(hunspell) +Provides: bundled(intgemm) +Provides: bundled(irregexp) +Provides: bundled(jpeg-xl) +Provides: bundled(kissfft) +Provides: bundled(libaom) +Provides: bundled(libcubeb) +Provides: bundled(libdav1d) +Provides: bundled(libdrm) +Provides: bundled(libepoxy) +Provides: bundled(libgbm) +Provides: bundled(libjpeg) +Provides: bundled(libmar) +Provides: bundled(libmkv) +Provides: bundled(libnestegg) +Provides: bundled(libogg) +Provides: bundled(libopus) +Provides: bundled(libpng) +Provides: bundled(libprio) +Provides: bundled(libsoundtouch) +Provides: bundled(libspeex_resampler) +Provides: bundled(libsrtp) +Provides: bundled(libtheora) +Provides: bundled(libtremor) +Provides: bundled(libvorbis) +Provides: bundled(libvpx) +Provides: bundled(libwebp) +Provides: bundled(libwebrtc) +Provides: bundled(libyuv) +Provides: bundled(lit) +Provides: bundled(mp4parse-rust) +Provides: bundled(msgpack-c) +Provides: bundled(mtransport) +Provides: bundled(nestegg) +Provides: bundled(nICEr) +Provides: bundled(nimbus) +Provides: bundled(openmax_dl) +Provides: bundled(openmax_il) +Provides: bundled(ots) +Provides: bundled(pdf.js) +Provides: bundled(picosha2) +Provides: bundled(PKI) +Provides: bundled(qcms) +Provides: bundled(rlbox) +Provides: bundled(rlbox_sandboxing_api) +Provides: bundled(rlbox_wasm2c_sandbox) +Provides: bundled(sfntly) +Provides: bundled(sipcc) +Provides: bundled(skia) +Provides: bundled(soundtouch) +Provides: bundled(sqlite3) +Provides: bundled(thebes) +Provides: bundled(theora) +Provides: bundled(usrsctp) +Provides: bundled(wabt) +Provides: bundled(wasm2c) +Provides: bundled(WebRender) +Provides: bundled(wgpu) +Provides: bundled(woff2) +Provides: bundled(xsimd) +Provides: bundled(xz-embedded) +Provides: bundled(ycbcr) +Provides: bundled(zlib) + +%if 0%{?bundle_nss} +Provides: bundled(nss) = %{nss_version} +Provides: bundled(nspr) = %{nspr_version} +%endif + +# Rust third parties: +# List obtained by `get_rust_bundled_provides.sh build.log` script:: +Provides: bundled(crate(aa-stroke)) = 0.1.0 +Provides: bundled(crate(adler)) = 1.0.2 +Provides: bundled(crate(ahash)) = 0.7.6 +Provides: bundled(crate(aho-corasick)) = 0.7.20 +Provides: bundled(crate(alsa)) = 0.7.0 +Provides: bundled(crate(alsa-sys)) = 0.3.1 +Provides: bundled(crate(anyhow)) = 1.0.69 +Provides: bundled(crate(app_services_logger)) = 0.1.0 +Provides: bundled(crate(app_units)) = 0.7.2 +Provides: bundled(crate(arrayref)) = 0.3.6 +Provides: bundled(crate(arrayvec)) = 0.7.2 +Provides: bundled(crate(ash)) = 0.37.2+1.3.238 +Provides: bundled(crate(askama)) = 0.11.1 +Provides: bundled(crate(askama_derive)) = 0.11.2 +Provides: bundled(crate(askama_escape)) = 0.10.3 +Provides: bundled(crate(askama_shared)) = 0.12.2 +Provides: bundled(crate(async-task)) = 4.3.0 +Provides: bundled(crate(async-trait)) = 0.1.64 +Provides: bundled(crate(atomic_refcell)) = 0.1.9 +Provides: bundled(crate(audioipc2)) = 0.5.0 +Provides: bundled(crate(audioipc2-client)) = 0.5.0 +Provides: bundled(crate(audioipc2-server)) = 0.5.0 +Provides: bundled(crate(audio_thread_priority)) = 0.26.1 +Provides: bundled(crate(authenticator)) = 0.4.0-alpha.15 +Provides: bundled(crate(authrs_bridge)) = 0.1.0 +Provides: bundled(crate(autocfg)) = 1.1.0 +Provides: bundled(crate(base64)) = 0.13.999 +Provides: bundled(crate(base64)) = 0.21.0 +Provides: bundled(crate(bhttp)) = 0.3.1 +Provides: bundled(crate(binary_http)) = 0.1.0 +Provides: bundled(crate(bincode)) = 1.3.3 +Provides: bundled(crate(bindgen)) = 0.63.999 +Provides: bundled(crate(bindgen)) = 0.64.0 +Provides: bundled(crate(bitflags)) = 1.3.2 +Provides: bundled(crate(bitflags)) = 2.999.999 +Provides: bundled(crate(bitreader)) = 0.3.6 +Provides: bundled(crate(bit-set)) = 0.5.3 +Provides: bundled(crate(bit-vec)) = 0.6.3 +Provides: bundled(crate(block-buffer)) = 0.10.3 +Provides: bundled(crate(bookmark_sync)) = 0.1.0 +Provides: bundled(crate(build-parallel)) = 0.1.2 +Provides: bundled(crate(builtins-static)) = 0.1.0 +Provides: bundled(crate(byteorder)) = 1.4.3 +Provides: bundled(crate(bytes)) = 1.4.0 +Provides: bundled(crate(cache-padded)) = 1.2.0 +Provides: bundled(crate(camino)) = 1.1.2 +Provides: bundled(crate(cargo_metadata)) = 0.15.3 +Provides: bundled(crate(cargo-platform)) = 0.1.2 +Provides: bundled(crate(cascade_bloom_filter)) = 0.1.0 +Provides: bundled(crate(cc)) = 1.0.73 +Provides: bundled(crate(cert_storage)) = 0.0.1 +Provides: bundled(crate(cexpr)) = 0.6.0 +Provides: bundled(crate(cfg-if)) = 0.1.999 +Provides: bundled(crate(cfg-if)) = 1.0.0 +Provides: bundled(crate(chardetng)) = 0.1.9 +Provides: bundled(crate(chardetng_c)) = 0.1.2 +Provides: bundled(crate(chrono)) = 0.4.19 +Provides: bundled(crate(chunky-vec)) = 0.1.0 +Provides: bundled(crate(clang-sys)) = 1.6.0 +Provides: bundled(crate(cmake)) = 0.1.999 +Provides: bundled(crate(codespan-reporting)) = 0.11.1 +Provides: bundled(crate(cose)) = 0.1.4 +Provides: bundled(crate(cose-c)) = 0.1.5 +Provides: bundled(crate(cpufeatures)) = 0.2.5 +Provides: bundled(crate(crc32fast)) = 1.3.2 +Provides: bundled(crate(crossbeam-channel)) = 0.5.6 +Provides: bundled(crate(crossbeam-deque)) = 0.8.2 +Provides: bundled(crate(crossbeam-epoch)) = 0.9.14 +Provides: bundled(crate(crossbeam-queue)) = 0.3.8 +Provides: bundled(crate(crossbeam-utils)) = 0.8.14 +Provides: bundled(crate(crypto-common)) = 0.1.6 +Provides: bundled(crate(crypto_hash)) = 0.1.0 +Provides: bundled(crate(cssparser)) = 0.31.0 +Provides: bundled(crate(cssparser-macros)) = 0.6.0 +Provides: bundled(crate(cstr)) = 0.2.11 +Provides: bundled(crate(cty)) = 0.2.2 +Provides: bundled(crate(cubeb)) = 0.10.3 +Provides: bundled(crate(cubeb-backend)) = 0.10.3 +Provides: bundled(crate(cubeb-core)) = 0.10.3 +Provides: bundled(crate(cubeb-pulse)) = 0.4.1 +Provides: bundled(crate(cubeb-sys)) = 0.10.3 +Provides: bundled(crate(dap_ffi)) = 0.1.0 +Provides: bundled(crate(darling)) = 0.13.99 +Provides: bundled(crate(darling)) = 0.14.3 +Provides: bundled(crate(darling_core)) = 0.14.3 +Provides: bundled(crate(darling_macro)) = 0.14.3 +Provides: bundled(crate(data-encoding)) = 2.3.3 +Provides: bundled(crate(data-encoding-ffi)) = 0.1.0 +Provides: bundled(crate(dbus)) = 0.6.5 +Provides: bundled(crate(derive_common)) = 0.0.1 +Provides: bundled(crate(derive_more)) = 0.99.17 +Provides: bundled(crate(digest)) = 0.10.6 +Provides: bundled(crate(dirs)) = 4.0.0 +Provides: bundled(crate(dirs-sys)) = 0.3.7 +Provides: bundled(crate(displaydoc)) = 0.2.3 +Provides: bundled(crate(dns-parser)) = 0.8.0 +Provides: bundled(crate(dogear)) = 0.5.0 +Provides: bundled(crate(dom)) = 0.1.0 +Provides: bundled(crate(dtoa)) = 0.4.8 +Provides: bundled(crate(dtoa-short)) = 0.3.3 +Provides: bundled(crate(either)) = 1.8.1 +Provides: bundled(crate(encoding_c)) = 0.9.8 +Provides: bundled(crate(encoding_c_mem)) = 0.2.6 +Provides: bundled(crate(encoding_glue)) = 0.1.0 +Provides: bundled(crate(encoding_rs)) = 0.8.32 +Provides: bundled(crate(enumset)) = 1.0.12 +Provides: bundled(crate(enumset_derive)) = 0.6.1 +Provides: bundled(crate(env_logger)) = 0.10.0 +Provides: bundled(crate(env_logger)) = 0.9.999 +Provides: bundled(crate(error-chain)) = 0.12.4 +Provides: bundled(crate(error-support)) = 0.1.0 +Provides: bundled(crate(error-support-macros)) = 0.1.0 +Provides: bundled(crate(etagere)) = 0.2.7 +Provides: bundled(crate(euclid)) = 0.22.7 +Provides: bundled(crate(fallible_collections)) = 0.4.6 +Provides: bundled(crate(fallible-iterator)) = 0.2.0 +Provides: bundled(crate(fallible-streaming-iterator)) = 0.1.9 +Provides: bundled(crate(fastrand)) = 1.9.0 +Provides: bundled(crate(ffi-support)) = 0.4.4 +Provides: bundled(crate(firefox-on-glean)) = 0.1.0 +Provides: bundled(crate(flate2)) = 1.0.25 +Provides: bundled(crate(fluent)) = 0.16.0 +Provides: bundled(crate(fluent-bundle)) = 0.15.2 +Provides: bundled(crate(fluent-fallback)) = 0.7.0 +Provides: bundled(crate(fluent-ffi)) = 0.1.0 +Provides: bundled(crate(fluent-langneg)) = 0.13.0 +Provides: bundled(crate(fluent-langneg-ffi)) = 0.1.0 +Provides: bundled(crate(fluent-pseudo)) = 0.3.1 +Provides: bundled(crate(fluent-syntax)) = 0.11.0 +Provides: bundled(crate(fnv)) = 1.0.7 +Provides: bundled(crate(fog_control)) = 0.1.0 +Provides: bundled(crate(freetype)) = 0.7.0 +Provides: bundled(crate(fs-err)) = 2.9.0 +Provides: bundled(crate(futures)) = 0.3.26 +Provides: bundled(crate(futures-channel)) = 0.3.26 +Provides: bundled(crate(futures-core)) = 0.3.26 +Provides: bundled(crate(futures-executor)) = 0.3.26 +Provides: bundled(crate(futures-io)) = 0.3.26 +Provides: bundled(crate(futures-macro)) = 0.3.26 +Provides: bundled(crate(futures-sink)) = 0.3.26 +Provides: bundled(crate(futures-task)) = 0.3.26 +Provides: bundled(crate(futures-util)) = 0.3.26 +Provides: bundled(crate(fxhash)) = 0.2.1 +Provides: bundled(crate(gecko_logger)) = 0.1.0 +Provides: bundled(crate(gecko-profiler)) = 0.1.0 +Provides: bundled(crate(geckoservo)) = 0.0.1 +Provides: bundled(crate(generic-array)) = 0.14.6 +Provides: bundled(crate(getrandom)) = 0.2.9 +Provides: bundled(crate(gkrust)) = 0.1.0 +Provides: bundled(crate(gkrust-shared)) = 0.1.0 +Provides: bundled(crate(gkrust_utils)) = 0.1.0 +Provides: bundled(crate(gleam)) = 0.15.0 +Provides: bundled(crate(glean)) = 52.7.0 +Provides: bundled(crate(glean-core)) = 52.7.0 +Provides: bundled(crate(gl_generator)) = 0.14.0 +Provides: bundled(crate(glob)) = 0.3.1 +Provides: bundled(crate(glsl)) = 6.0.2 +Provides: bundled(crate(glslopt)) = 0.1.9 +Provides: bundled(crate(glsl-to-cxx)) = 0.1.0 +Provides: bundled(crate(goblin)) = 0.6.0 +Provides: bundled(crate(golden_gate)) = 0.1.0 +Provides: bundled(crate(gpu-alloc)) = 0.5.3 +Provides: bundled(crate(gpu-alloc-types)) = 0.2.0 +Provides: bundled(crate(gpu-descriptor)) = 0.2.3 +Provides: bundled(crate(gpu-descriptor-types)) = 0.1.1 +Provides: bundled(crate(half)) = 1.8.2 +Provides: bundled(crate(hashbrown)) = 0.12.3 +Provides: bundled(crate(hashlink)) = 0.8.1 +Provides: bundled(crate(heck)) = 0.4.1 +Provides: bundled(crate(hex)) = 0.4.3 +Provides: bundled(crate(hexf-parse)) = 0.2.1 +Provides: bundled(crate(http_sfv)) = 0.1.0 +Provides: bundled(crate(id-arena)) = 2.2.1 +Provides: bundled(crate(ident_case)) = 1.0.1 +Provides: bundled(crate(idna)) = 0.2.3 +Provides: bundled(crate(indexmap)) = 1.9.2 +Provides: bundled(crate(inherent)) = 1.0.4 +Provides: bundled(crate(instant)) = 0.1.12 +Provides: bundled(crate(interrupt-support)) = 0.1.0 +Provides: bundled(crate(intl-memoizer)) = 0.5.1 +Provides: bundled(crate(intl_pluralrules)) = 7.0.2 +Provides: bundled(crate(iovec)) = 0.1.4 +Provides: bundled(crate(ipcclientcerts-static)) = 0.1.0 +Provides: bundled(crate(itertools)) = 0.10.5 +Provides: bundled(crate(itoa)) = 1.0.5 +Provides: bundled(crate(jobserver)) = 0.1.25 +Provides: bundled(crate(jog)) = 0.1.0 +Provides: bundled(crate(jsrust)) = 0.1.0 +Provides: bundled(crate(jsrust_shared)) = 0.1.0 +Provides: bundled(crate(khronos_api)) = 3.1.0 +Provides: bundled(crate(kvstore)) = 0.1.0 +Provides: bundled(crate(l10nregistry)) = 0.3.0 +Provides: bundled(crate(l10nregistry-ffi)) = 0.1.0 +Provides: bundled(crate(lazycell)) = 1.3.0 +Provides: bundled(crate(lazy_static)) = 1.4.0 +Provides: bundled(crate(leb128)) = 0.2.5 +Provides: bundled(crate(libc)) = 0.2.139 +Provides: bundled(crate(libdbus-sys)) = 0.2.2 +Provides: bundled(crate(libloading)) = 0.7.4 +Provides: bundled(crate(libsqlite3-sys)) = 0.25.2 +Provides: bundled(crate(libudev)) = 0.2.0 +Provides: bundled(crate(libudev-sys)) = 0.1.3 +Provides: bundled(crate(lmdb-rkv)) = 0.14.0 +Provides: bundled(crate(lmdb-rkv-sys)) = 0.11.2 +Provides: bundled(crate(localization-ffi)) = 0.1.0 +Provides: bundled(crate(lock_api)) = 0.4.9 +Provides: bundled(crate(log)) = 0.4.17 +Provides: bundled(crate(malloc_size_of)) = 0.0.1 +Provides: bundled(crate(malloc_size_of_derive)) = 0.1.2 +Provides: bundled(crate(mapped_hyph)) = 0.4.3 +Provides: bundled(crate(matches)) = 0.1.10 +Provides: bundled(crate(md-5)) = 0.10.5 +Provides: bundled(crate(mdns_service)) = 0.1.1 +Provides: bundled(crate(memalloc)) = 0.1.0 +Provides: bundled(crate(memchr)) = 2.5.0 +Provides: bundled(crate(memmap2)) = 0.5.9 +Provides: bundled(crate(memoffset)) = 0.8.0 +Provides: bundled(crate(midir)) = 0.7.0 +Provides: bundled(crate(midir_impl)) = 0.1.0 +Provides: bundled(crate(mime)) = 0.3.16 +Provides: bundled(crate(mime_guess)) = 2.0.4 +Provides: bundled(crate(mime-guess-ffi)) = 0.1.0 +Provides: bundled(crate(minimal-lexical)) = 0.2.1 +Provides: bundled(crate(miniz_oxide)) = 0.6.2 +Provides: bundled(crate(mio)) = 0.8.0 +Provides: bundled(crate(moz_asserts)) = 0.1.0 +Provides: bundled(crate(mozbuild)) = 0.1.0 +Provides: bundled(crate(moz_cbor)) = 0.1.2 +Provides: bundled(crate(mozglue-static)) = 0.1.0 +Provides: bundled(crate(mozilla-central-workspace-hack)) = 0.1.0 +Provides: bundled(crate(moz_task)) = 0.1.0 +Provides: bundled(crate(mozurl)) = 0.0.1 +Provides: bundled(crate(mp4parse)) = 0.17.0 +Provides: bundled(crate(mp4parse_capi)) = 0.17.0 +Provides: bundled(crate(murmurhash3)) = 0.0.5 +Provides: bundled(crate(naga)) = 0.12.0 +Provides: bundled(crate(neqo-common)) = 0.6.4 +Provides: bundled(crate(neqo-crypto)) = 0.6.4 +Provides: bundled(crate(neqo_glue)) = 0.1.0 +Provides: bundled(crate(neqo-http3)) = 0.6.4 +Provides: bundled(crate(neqo-qpack)) = 0.6.4 +Provides: bundled(crate(neqo-transport)) = 0.6.4 +Provides: bundled(crate(netwerk_helper)) = 0.0.1 +Provides: bundled(crate(new_debug_unreachable)) = 1.0.4 +Provides: bundled(crate(nix)) = 0.24.99 +Provides: bundled(crate(nix)) = 0.26.2 +Provides: bundled(crate(nom)) = 7.1.3 +Provides: bundled(crate(nserror)) = 0.1.0 +Provides: bundled(crate(nss_build_common)) = 0.1.0 +Provides: bundled(crate(nss-gk-api)) = 0.2.1 +Provides: bundled(crate(nsstring)) = 0.1.0 +Provides: bundled(crate(num_cpus)) = 1.15.0 +Provides: bundled(crate(num-derive)) = 0.3.3 +Provides: bundled(crate(num-integer)) = 0.1.45 +Provides: bundled(crate(num-traits)) = 0.2.15 +Provides: bundled(crate(object)) = 0.30.3 +Provides: bundled(crate(oblivious_http)) = 0.1.0 +Provides: bundled(crate(ohttp)) = 0.3.1 +Provides: bundled(crate(once_cell)) = 1.17.1 +Provides: bundled(crate(ordered-float)) = 3.4.0 +Provides: bundled(crate(origin-trials-ffi)) = 0.1.0 +Provides: bundled(crate(origin-trial-token)) = 0.1.1 +Provides: bundled(crate(owning_ref)) = 0.4.1 +Provides: bundled(crate(parking_lot)) = 0.11.2 +Provides: bundled(crate(parking_lot)) = 0.12.999 +Provides: bundled(crate(parking_lot_core)) = 0.8.6 +Provides: bundled(crate(paste)) = 1.0.11 +Provides: bundled(crate(peeking_take_while)) = 0.1.2 +Provides: bundled(crate(peek-poke)) = 0.3.0 +Provides: bundled(crate(peek-poke-derive)) = 0.3.0 +Provides: bundled(crate(percent-encoding)) = 2.2.0 +Provides: bundled(crate(phf)) = 0.10.1 +Provides: bundled(crate(phf_codegen)) = 0.10.0 +Provides: bundled(crate(phf_generator)) = 0.10.0 +Provides: bundled(crate(phf_macros)) = 0.10.0 +Provides: bundled(crate(phf_shared)) = 0.10.0 +Provides: bundled(crate(pin-project-lite)) = 0.2.9 +Provides: bundled(crate(pin-utils)) = 0.1.0 +Provides: bundled(crate(pkcs11-bindings)) = 0.1.5 +Provides: bundled(crate(pkg-config)) = 0.3.26 +Provides: bundled(crate(plain)) = 0.2.3 +Provides: bundled(crate(plane-split)) = 0.18.0 +Provides: bundled(crate(ppv-lite86)) = 0.2.17 +Provides: bundled(crate(precomputed-hash)) = 0.1.1 +Provides: bundled(crate(prefs_parser)) = 0.0.1 +Provides: bundled(crate(prio)) = 0.9.1 +Provides: bundled(crate(processtools)) = 0.1.0 +Provides: bundled(crate(proc-macro2)) = 1.0.51 +Provides: bundled(crate(proc-macro-hack)) = 0.5.20+deprecated +Provides: bundled(crate(profiler_helper)) = 0.1.0 +Provides: bundled(crate(profiler-macros)) = 0.1.0 +Provides: bundled(crate(profiling)) = 1.0.7 +Provides: bundled(crate(prost)) = 0.8.0 +Provides: bundled(crate(prost-derive)) = 0.8.0 +Provides: bundled(crate(pulse)) = 0.3.0 +Provides: bundled(crate(pulse-ffi)) = 0.1.0 +Provides: bundled(crate(qcms)) = 0.2.0 +Provides: bundled(crate(qlog)) = 0.4.0 +Provides: bundled(crate(quick-error)) = 1.2.3 +Provides: bundled(crate(quote)) = 1.0.23 +Provides: bundled(crate(rand)) = 0.8.5 +Provides: bundled(crate(rand_chacha)) = 0.3.1 +Provides: bundled(crate(rand_core)) = 0.6.4 +Provides: bundled(crate(raw-window-handle)) = 0.5.0 +Provides: bundled(crate(rayon)) = 1.6.1 +Provides: bundled(crate(rayon-core)) = 1.10.2 +Provides: bundled(crate(regex)) = 1.7.1 +Provides: bundled(crate(regex-syntax)) = 0.6.28 +Provides: bundled(crate(remove_dir_all)) = 0.5.3 +Provides: bundled(crate(replace_with)) = 0.1.7 +Provides: bundled(crate(ringbuf)) = 0.2.8 +Provides: bundled(crate(rkv)) = 0.18.4 +Provides: bundled(crate(ron)) = 0.8.0 +Provides: bundled(crate(rsclientcerts)) = 0.1.0 +Provides: bundled(crate(rsdparsa_capi)) = 0.1.0 +Provides: bundled(crate(runloop)) = 0.1.0 +Provides: bundled(crate(rure)) = 0.2.2 +Provides: bundled(crate(rusqlite)) = 0.28.0 +Provides: bundled(crate(rust_cascade)) = 1.5.0 +Provides: bundled(crate(rustc-demangle)) = 0.1.21 +Provides: bundled(crate(rustc-hash)) = 1.1.0 +Provides: bundled(crate(rustc_version)) = 0.4.0 +Provides: bundled(crate(rust_decimal)) = 1.28.1 +Provides: bundled(crate(ryu)) = 1.0.12 +Provides: bundled(crate(same-file)) = 1.0.6 +Provides: bundled(crate(scopeguard)) = 1.1.0 +Provides: bundled(crate(scroll)) = 0.11.0 +Provides: bundled(crate(scroll_derive)) = 0.11.0 +Provides: bundled(crate(selectors)) = 0.22.0 +Provides: bundled(crate(self_cell)) = 0.10.2 +Provides: bundled(crate(semver)) = 1.0.16 +Provides: bundled(crate(serde)) = 1.0.152 +Provides: bundled(crate(serde_bytes)) = 0.11.9 +Provides: bundled(crate(serde_cbor)) = 0.11.2 +Provides: bundled(crate(serde_derive)) = 1.0.152 +Provides: bundled(crate(serde_json)) = 1.0.93 +Provides: bundled(crate(serde_with)) = 1.14.0 +Provides: bundled(crate(serde_with_macros)) = 1.5.2 +Provides: bundled(crate(servo_arc)) = 0.1.1 +Provides: bundled(crate(sfv)) = 0.9.3 +Provides: bundled(crate(sha1)) = 0.10.5 +Provides: bundled(crate(sha2)) = 0.10.6 +Provides: bundled(crate(shlex)) = 1.1.0 +Provides: bundled(crate(siphasher)) = 0.3.10 +Provides: bundled(crate(slab)) = 0.4.8 +Provides: bundled(crate(smallbitvec)) = 2.5.1 +Provides: bundled(crate(smallvec)) = 1.10.0 +Provides: bundled(crate(socket2)) = 0.4.7 +Provides: bundled(crate(spirv)) = 0.2.0+1.5.4 +Provides: bundled(crate(sql-support)) = 0.1.0 +Provides: bundled(crate(stable_deref_trait)) = 1.2.0 +Provides: bundled(crate(static_assertions)) = 1.1.0 +Provides: bundled(crate(static_prefs)) = 0.1.0 +Provides: bundled(crate(storage)) = 0.1.0 +Provides: bundled(crate(storage_variant)) = 0.1.0 +Provides: bundled(crate(strsim)) = 0.10.0 +Provides: bundled(crate(style)) = 0.0.1 +Provides: bundled(crate(style_derive)) = 0.0.1 +Provides: bundled(crate(style_traits)) = 0.0.1 +Provides: bundled(crate(svg_fmt)) = 0.4.1 +Provides: bundled(crate(swgl)) = 0.1.0 +Provides: bundled(crate(syn)) = 1.0.107 +Provides: bundled(crate(sync15)) = 0.1.0 +Provides: bundled(crate(sync-guid)) = 0.1.0 +Provides: bundled(crate(synstructure)) = 0.12.6 +Provides: bundled(crate(tabs)) = 0.1.0 +Provides: bundled(crate(tempfile)) = 3.3.0 +Provides: bundled(crate(termcolor)) = 1.2.0 +Provides: bundled(crate(thin-vec)) = 0.2.12 +Provides: bundled(crate(thiserror)) = 1.0.38 +Provides: bundled(crate(thiserror-impl)) = 1.0.38 +Provides: bundled(crate(threadbound)) = 0.1.5 +Provides: bundled(crate(time)) = 0.1.45 +Provides: bundled(crate(tinystr)) = 0.7.1 +Provides: bundled(crate(tinyvec)) = 1.999.999 +Provides: bundled(crate(toml)) = 0.5.11 +Provides: bundled(crate(topological-sort)) = 0.1.0 +Provides: bundled(crate(to_shmem)) = 0.0.1 +Provides: bundled(crate(to_shmem_derive)) = 0.0.1 +Provides: bundled(crate(tracy-rs)) = 0.1.2 +Provides: bundled(crate(typed-arena-nomut)) = 0.1.0 +Provides: bundled(crate(type-map)) = 0.4.0 +Provides: bundled(crate(typenum)) = 1.16.0 +Provides: bundled(crate(uluru)) = 3.0.0 +Provides: bundled(crate(unicase)) = 2.6.0 +Provides: bundled(crate(unic-langid)) = 0.9.1 +Provides: bundled(crate(unic-langid-ffi)) = 0.1.0 +Provides: bundled(crate(unic-langid-impl)) = 0.9.1 +Provides: bundled(crate(unicode-bidi)) = 0.3.8 +Provides: bundled(crate(unicode-ident)) = 1.0.6 +Provides: bundled(crate(unicode-normalization)) = 0.1.22 +Provides: bundled(crate(unicode-segmentation)) = 1.10.0 +Provides: bundled(crate(unicode-width)) = 0.1.10 +Provides: bundled(crate(unicode-xid)) = 0.2.4 +Provides: bundled(crate(uniffi)) = 0.23.0 +Provides: bundled(crate(uniffi_bindgen)) = 0.23.0 +Provides: bundled(crate(uniffi_build)) = 0.23.0 +Provides: bundled(crate(uniffi_checksum_derive)) = 0.23.0 +Provides: bundled(crate(uniffi_core)) = 0.23.0 +Provides: bundled(crate(uniffi_macros)) = 0.23.0 +Provides: bundled(crate(uniffi_meta)) = 0.23.0 +Provides: bundled(crate(uniffi_testing)) = 0.23.0 +Provides: bundled(crate(url)) = 2.1.0 +Provides: bundled(crate(uuid)) = 1.3.0 +Provides: bundled(crate(vcpkg)) = 0.2.999 +Provides: bundled(crate(version_check)) = 0.9.4 +Provides: bundled(crate(viaduct)) = 0.1.0 +Provides: bundled(crate(void)) = 1.0.2 +Provides: bundled(crate(walkdir)) = 2.3.2 +Provides: bundled(crate(wasm-encoder)) = 0.25.0 +Provides: bundled(crate(wast)) = 56.0.0 +Provides: bundled(crate(webext-storage)) = 0.1.0 +Provides: bundled(crate(webext_storage_bridge)) = 0.1.0 +Provides: bundled(crate(webrender)) = 0.62.0 +Provides: bundled(crate(webrender_api)) = 0.62.0 +Provides: bundled(crate(webrender_bindings)) = 0.1.0 +Provides: bundled(crate(webrender_build)) = 0.0.2 +Provides: bundled(crate(webrtc-sdp)) = 0.3.10 +Provides: bundled(crate(weedle2)) = 4.0.0 +Provides: bundled(crate(wgpu_bindings)) = 0.1.0 +Provides: bundled(crate(wgpu-core)) = 0.16.0 +Provides: bundled(crate(wgpu-hal)) = 0.16.0 +Provides: bundled(crate(wgpu-types)) = 0.16.0 +Provides: bundled(crate(whatsys)) = 0.3.1 +Provides: bundled(crate(wpf-gpu-raster)) = 0.1.0 +Provides: bundled(crate(wr_glyph_rasterizer)) = 0.1.0 +Provides: bundled(crate(wr_malloc_size_of)) = 0.0.2 +Provides: bundled(crate(xmldecl)) = 0.2.0 +Provides: bundled(crate(xml-rs)) = 0.8.4 +Provides: bundled(crate(xpcom)) = 0.1.0 +Provides: bundled(crate(xpcom_macros)) = 0.1.0 +Provides: bundled(crate(zeitstempel)) = 0.1.1 + +%description +Mozilla Firefox is an open-source web browser, designed for standards +compliance, performance and portability. + +%if 0%{?run_firefox_tests} +%global testsuite_pkg_name %{name}-testresults +%package -n %{testsuite_pkg_name} +Summary: Results of testsuite +%description -n %{testsuite_pkg_name} +This package contains results of tests executed during build. +%files -n %{testsuite_pkg_name} +/%{version}-%{release}/test_results +/%{version}-%{release}/test_summary.txt +/%{version}-%{release}/failures-* +%endif + +%if 0%{?rhel} >= 9 +%package x11 +Summary: Firefox X11 launcher. +Requires: %{name} = %{version}-%{release} +%description x11 +The firefox-x11 package contains launcher and desktop file +to run Firefox explicitly on X11. +%files x11 +%{_bindir}/firefox-x11 +%{_datadir}/applications/firefox-x11.desktop +%endif + +#--------------------------------------------------------------------- + +%prep +echo "Build environment" +echo "--------------------------------------------" +echo "dist %{?dist}" +echo "RHEL minor version: %{?rhel_minor_version}" +echo "bundle_nss %{?bundle_nss}" +echo "system_nss %{?system_nss}" +echo "use_rust_ts %{?use_rust_ts}" +echo "use_dts %{?use_dts}" +echo "use_nodejs_scl %{?use_nodejs_scl}" +echo "use_llvm_ts %{?use_llvm_ts}" +echo "use_python3_scl %{?use_python3_scl}" +echo "--------------------------------------------" +%setup -q -n %{name}-%{version} + +# ---- RHEL specific patches --- +# -- Downstream only -- +%patch -P1 -p1 -b .disable-elfhack +%patch -P2 -p1 -b .firefox-gcc-build +%patch -P3 -p1 -b .build-big-endian-errors +%if 0%{?rhel} == 7 +%patch -P5 -p1 -b .build-rhel7-lower-node-min-version + %ifarch ppc64 + # abiv2 version not available in RHEL7 ppc + # TODO most likely not needed with system nss +%patch -P6 -p1 -b .ppc64-abiv2 + %endif + %ifarch %{ix86} + # -F dwarf not available in RHEL7's nasm +%patch -P7 -p1 -b .build-rhel7-nasm-dwarf + %endif +%endif +%if 0%{?rhel} == 7 || (0%{?rhel} == 8 && %{rhel_minor_version} <= 2) +%patch -P8 -p1 -b .disable-pipewire +%endif +%patch -P9 -p1 -b .rhbz-2131158-webrtc-nss-fix + +# -- Upstreamed patches -- +%patch -P51 -p1 -b .mozilla-bmo1170092 + +# -- Submitted upstream, not merged -- +%patch -P101 -p1 -b .mozilla-bmo1636168-fscreen +%patch -P102 -p1 -b .mozilla-bmo1670333 +%patch -P103 -p1 -b .mozilla-bmo1504834-part1 +%patch -P104 -p1 -b .mozilla-bmo1504834-part3 +%patch -P105 -p1 -b .mozilla-bmo849632 +%patch -P106 -p1 -b .mozilla-bmo998749 +%patch -P107 -p1 -b .mozilla-bmo1716707-swizzle +%patch -P108 -p1 -b .mozilla-bmo1716707-svg +%patch -P109 -p1 -b .mozilla-bmo1789216-disable-av1 + +# ---- Fedora specific patches ---- +%patch -P151 -p1 -b .addons +%patch -P152 -p1 -b .rhbz-1173156 +%patch -P153 -p1 -b .fedora-shebang +%patch -P154 -p1 -b .addons-nss-hack +# ARM run-time patch +%ifarch aarch64 +%patch -P155 -p1 -b .rhbz-1354671 +%endif + +# ---- Test patches ---- +%patch -P201 -p1 -b .firefox-tests-xpcshell-freeze + +# ---- Security patches ---- +cd media/libvpx/libvpx +%patch -P301 -p1 -b .CVE-2023-44488-libvpx +cd - + +%{__rm} -f .mozconfig +%{__cp} %{SOURCE10} .mozconfig +%{__cp} %{SOURCE24} mozilla-api-key +%{__cp} %{SOURCE27} google-api-key +%{__cp} %{SOURCE35} google-loc-api-key + +echo "ac_add_options --prefix=\"%{_prefix}\"" >> .mozconfig +echo "ac_add_options --libdir=\"%{_libdir}\"" >> .mozconfig + +%if %{?system_nss} +echo "ac_add_options --with-system-nspr" >> .mozconfig +echo "ac_add_options --with-system-nss" >> .mozconfig +%else +echo "ac_add_options --without-system-nspr" >> .mozconfig +echo "ac_add_options --without-system-nss" >> .mozconfig +%endif + +%if %{?debug_build} +echo "ac_add_options --enable-debug" >> .mozconfig +echo "ac_add_options --disable-optimize" >> .mozconfig +%else +%global optimize_flags "none" +%ifarch s390x +%global optimize_flags "-g -O1" +%endif +%ifarch ppc64le aarch64 +%global optimize_flags "-g -O2" +%endif +%if %{optimize_flags} != "none" +echo 'ac_add_options --enable-optimize=%{?optimize_flags}' >> .mozconfig +%else +echo 'ac_add_options --enable-optimize' >> .mozconfig +%endif +echo "ac_add_options --disable-debug" >> .mozconfig +%endif + +# Second arches fail to start with jemalloc enabled +%ifnarch %{ix86} x86_64 +echo "ac_add_options --disable-jemalloc" >> .mozconfig +%endif + +%if 0%{?build_tests} +echo "ac_add_options --enable-tests" >> .mozconfig +%else +echo "ac_add_options --disable-tests" >> .mozconfig +%endif + +%if %{?system_libvpx} +echo "ac_add_options --with-system-libvpx" >> .mozconfig +%else +echo "ac_add_options --without-system-libvpx" >> .mozconfig +%endif + +%ifarch s390x +echo "ac_add_options --disable-jit" >> .mozconfig +%endif + +%ifarch ppc64 ppc64le +echo "ac_add_options --disable-webrtc" >> .mozconfig +echo "ac_add_options --disable-lto" >> .mozconfig +%endif +echo "ac_add_options --disable-lto" >> .mozconfig + +# AV1 requires newer nasm that was rebased in 8.4 +%if 0%{?rhel} == 7 || (0%{?rhel} == 8 && %{rhel_minor_version} < 4) +echo "ac_add_options --disable-av1" >> .mozconfig +%endif + +# api keys full path +echo "ac_add_options --with-mozilla-api-keyfile=`pwd`/mozilla-api-key" >> .mozconfig +echo "ac_add_options --with-google-location-service-api-keyfile=`pwd`/google-loc-api-key" >> .mozconfig +echo "ac_add_options --with-google-safebrowsing-api-keyfile=`pwd`/google-api-key" >> .mozconfig + +# May result in empty --with-libclang-path= in earlier versions. +# So far this is needed only for c8s/c9s. +%if (0%{?rhel} == 8 && %{rhel_minor_version} >= 10) || (0%{?rhel} == 9 && %{rhel_minor_version} >= 4) +# Clang 17 upstream's detection fails, tell it where to look. +echo "ac_add_options --with-libclang-path=`llvm-config --libdir`" >> .mozconfig +%endif + +echo 'export NODEJS="%{_buildrootdir}/bin/node-stdout-nonblocking-wrapper"' >> .mozconfig + +# Remove executable bit to make brp-mangle-shebangs happy. +chmod -x third_party/rust/itertools/src/lib.rs +chmod a-x third_party/rust/ash/src/extensions/ext/*.rs +chmod a-x third_party/rust/ash/src/extensions/khr/*.rs +chmod a-x third_party/rust/ash/src/extensions/nv/*.rs + +#--------------------------------------------------------------------- + +%build +# TODO: causes SIGSEGV on the webrender compilation, we might remove it with newer rust version +# Disable LTO to work around rhbz#1883904 +%define _lto_cflags %{nil} + +export PATH="%{_buildrootdir}/bin:$PATH" +# Cleanup buildroot for existing rpms from bundled nss/nspr and other packages +rm -rf %{_buildrootdir}/* + +function install_rpms_to_current_dir() { + PACKAGE_RPM=$(eval echo $1) + PACKAGE_DIR=%{_rpmdir} + + if [ ! -f $PACKAGE_DIR/$PACKAGE_RPM ]; then + # Hack for tps tests + ARCH_STR=%{_arch} + %ifarch %{ix86} + ARCH_STR="i?86" + %endif + PACKAGE_DIR="$PACKAGE_DIR/$ARCH_STR" + fi + + for package in $(ls $PACKAGE_DIR/$PACKAGE_RPM) + do + echo "$package" + rpm2cpio "$package" | cpio -idu + done +} + +%if 0%{?bundle_nss} + rpm -ivh %{SOURCE402} + rpmbuild --nodeps --define '_prefix %{bundled_install_path}' --without=tests -ba %{_specdir}/nspr.spec + pushd %{_buildrootdir} + install_rpms_to_current_dir nspr-4*.rpm + install_rpms_to_current_dir nspr-devel*.rpm + popd + echo "Setting nspr flags" + # nss-setup-flags-env.inc + sed -i 's@%{bundled_install_path}@%{_buildrootdir}%{bundled_install_path}@g' %{_buildrootdir}%{bundled_install_path}/%{_lib}/pkgconfig/nspr*.pc + cat %{_buildrootdir}%{bundled_install_path}/%{_lib}/pkgconfig/nspr*.pc + + export LDFLAGS="-L%{_buildrootdir}%{bundled_install_path}/%{_lib} $LDFLAGS" + export LDFLAGS="-Wl,-rpath,%{bundled_install_path}/%{_lib} $LDFLAGS" + export LDFLAGS="-Wl,-rpath-link,%{_buildrootdir}%{bundled_install_path}/%{_lib} $LDFLAGS" + export PKG_CONFIG_PATH=%{_buildrootdir}%{bundled_install_path}/%{_lib}/pkgconfig + pkg-config --libs-only-L nspr + pkg-config --libs nspr + export PATH="%{_buildrootdir}%{bundled_install_path}/bin:$PATH" + + export PATH=%{_buildrootdir}/%{bundled_install_path}/bin:$PATH + echo $PKG_CONFIG_PATH + +%if 0%{?rhel} == 8 + rpm -ivh %{SOURCE403} +%else + rpm -ivh %{SOURCE404} +%endif + rpmbuild --nodeps --define '_prefix %{bundled_install_path}' --without=tests -ba %{_specdir}/nss.spec + pushd %{_buildrootdir} + #cleanup + install_rpms_to_current_dir nss-3*.rpm + install_rpms_to_current_dir nss-devel*.rpm + install_rpms_to_current_dir nss-pkcs11-devel*.rpm + install_rpms_to_current_dir nss-softokn-3*.rpm + install_rpms_to_current_dir nss-softokn-devel*.rpm + install_rpms_to_current_dir nss-softokn-freebl-3*.rpm + install_rpms_to_current_dir nss-softokn-freebl-devel*.rpm + install_rpms_to_current_dir nss-util-3*.rpm + install_rpms_to_current_dir nss-util-devel*.rpm + popd + %filter_provides_in %{bundled_install_path}/%{_lib} + %filter_requires_in %{bundled_install_path}/%{_lib} + %filter_from_requires /libnss3.so.*/d + %filter_from_requires /libsmime3.so.*/d + %filter_from_requires /libssl3.so.*/d + %filter_from_requires /libnssutil3.so.*/d + %filter_from_requires /libnspr4.so.*/d + find %{_buildrootdir} +%endif + +# Enable toolsets +set +e +%if 0%{?rhel} == 8 && %{rhel_minor_version} < 6 + %ifarch aarch64 +source scl_source enable gcc-toolset-12 + %endif +%endif +%if 0%{?use_dts} +source scl_source enable devtoolset-%{dts_version} +%endif +%if 0%{?use_rust_ts} +source scl_source enable rust-toolset-%{rust_version} +%endif +%if 0%{?use_nodejs_scl} +source scl_source enable rh-nodejs10 +%endif +%if 0%{?use_llvm_ts} +source scl_source enable llvm-toolset-%{llvm_version} +%endif +%if 0%{?use_python3_scl} +source scl_source enable rh-python38 +%endif + +set -e +env +which gcc +which c++ +which g++ +which ld +which nasm +which node +which python3 +# Bundled cbindgen +mkdir -p my_rust_vendor +cd my_rust_vendor +%{__tar} xf %{SOURCE2} +mkdir -p .cargo +cat > .cargo/config < 30 +MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -fpermissive" +%endif + +MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -fPIC -Wl,-z,relro -Wl,-z,now" +%if %{?debug_build} +MOZ_OPT_FLAGS=$(echo "$MOZ_OPT_FLAGS" | %{__sed} -e 's/-O2//') +%endif + +%ifarch %{ix86} +MOZ_OPT_FLAGS=$(echo "$MOZ_OPT_FLAGS" | %{__sed} -e 's/-g/-g0/') +export MOZ_DEBUG_FLAGS=" " +%endif + +%ifarch s390x aarch64 %{ix86} +MOZ_LINK_FLAGS="-Wl,--no-keep-memory -Wl,--reduce-memory-overheads" +%endif + +%if 0%{?flatpak} +# Make sure the linker can find libraries in /app/lib64 as we don't use +# __global_ldflags that normally sets this. +MOZ_LINK_FLAGS="$MOZ_LINK_FLAGS -L%{_libdir}" +%endif +%ifarch %{ix86} %{s390x} +export RUSTFLAGS="-Cdebuginfo=0" +echo 'export RUSTFLAGS="-Cdebuginfo=0"' >> .mozconfig +%endif + +%if 0%{?bundle_nss} + mkdir -p %{_buildrootdir}%{bundled_install_path}/%{_lib} + MOZ_LINK_FLAGS="-L%{_buildrootdir}%{bundled_install_path}/%{_lib} $MOZ_LINK_FLAGS" + MOZ_LINK_FLAGS="-Wl,-rpath,%{bundled_install_path}/%{_lib} $MOZ_LINK_FLAGS" + MOZ_LINK_FLAGS="-Wl,-rpath-link,%{_buildrootdir}%{bundled_install_path}/%{_lib} $MOZ_LINK_FLAGS" +%endif + +# We don't wantfirefox to use CK_GCM_PARAMS_V3 in nss +MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -DNSS_PKCS11_3_0_STRICT" + +echo "export CFLAGS=\"$MOZ_OPT_FLAGS\"" >> .mozconfig +echo "export CXXFLAGS=\"$MOZ_OPT_FLAGS\"" >> .mozconfig +echo "export LDFLAGS=\"$MOZ_LINK_FLAGS\"" >> .mozconfig +echo "export CC=gcc" >> .mozconfig +echo "export CXX=g++" >> .mozconfig +echo "export AR=\"gcc-ar\"" >> .mozconfig +echo "export NM=\"gcc-nm\"" >> .mozconfig +echo "export RANLIB=\"gcc-ranlib\"" >> .mozconfig + +MOZ_SMP_FLAGS=-j1 +# On x86_64 architectures, Mozilla can build up to 4 jobs at once in parallel, +# however builds tend to fail on other arches when building in parallel. +#%ifarch %{ix86} s390x aarch64 ppc64le +#[ -z "$RPM_BUILD_NCPUS" ] && \ +# RPM_BUILD_NCPUS="`/usr/bin/getconf _NPROCESSORS_ONLN`" +#[ "$RPM_BUILD_NCPUS" -ge 2 ] && MOZ_SMP_FLAGS=-j2 +#%endif +#%ifarch x86_64 ppc ppc64 ppc64le +[ -z "$RPM_BUILD_NCPUS" ] && \ + RPM_BUILD_NCPUS="`/usr/bin/getconf _NPROCESSORS_ONLN`" +[ "$RPM_BUILD_NCPUS" -ge 2 ] && MOZ_SMP_FLAGS=-j2 +[ "$RPM_BUILD_NCPUS" -ge 4 ] && MOZ_SMP_FLAGS=-j4 +[ "$RPM_BUILD_NCPUS" -ge 8 ] && MOZ_SMP_FLAGS=-j8 +[ "$RPM_BUILD_NCPUS" -ge 16 ] && MOZ_SMP_FLAGS=-j16 +#%endif + +echo "mk_add_options MOZ_MAKE_FLAGS=\"$MOZ_SMP_FLAGS\"" >> .mozconfig +echo "mk_add_options MOZ_SERVICES_SYNC=1" >> .mozconfig +echo "export STRIP=/bin/true" >> .mozconfig + +%if %{launch_wayland_compositor} +cp %{SOURCE36} . +. ./testing.sh run_wayland_compositor +%endif + +# We could use %%include, but in %%files, %%post and other sections, but in these +# sections it could lead to syntax errors about unclosed %%if. Work around it by +# using the following macro +%define include_file() %{expand:%(cat '%1')} + +%if 0%{?bundle_nss} + echo "Setting nss flags" + # nss-setup-flags-env.inc + %include_file %{SOURCE401} + export PATH=%{_buildrootdir}/%{bundled_install_path}/bin:$PATH + echo $PKG_CONFIG_PATH +%endif + +./mach build -v 2>&1 || exit 1 + +#--------------------------------------------------------------------- +%install +export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=system +function install_rpms_to_current_dir() { + PACKAGE_RPM=$(eval echo $1) + PACKAGE_DIR=%{_rpmdir} + + if [ ! -f $PACKAGE_DIR/$PACKAGE_RPM ]; then + # Hack for tps tests + ARCH_STR=%{_arch} + %ifarch %{ix86} + ARCH_STR="i?86" + %endif + PACKAGE_DIR="$PACKAGE_DIR/$ARCH_STR" + fi + + for package in $(ls $PACKAGE_DIR/$PACKAGE_RPM) + do + echo "$package" + rpm2cpio "$package" | cpio -idu + done +} + +%if 0%{?bundle_nss} + pushd %{buildroot} + install_rpms_to_current_dir nspr-4*.rpm + install_rpms_to_current_dir nss-3*.rpm + install_rpms_to_current_dir nss-softokn-3*.rpm + install_rpms_to_current_dir nss-softokn-freebl-3*.rpm + install_rpms_to_current_dir nss-util-3*.rpm + + # cleanup unecessary nss files + rm -rf %{buildroot}/%{bundled_install_path}/lib/dracut + rm -rf %{buildroot}/%{bundled_install_path}/%{_lib}/nss + rm -rf %{buildroot}/%{bundled_install_path}/%{_lib}/share + rm -rf %{buildroot}/%{bundled_install_path}/share + rm -rf %{buildroot}/etc/pki + rm -rf %{buildroot}/usr/lib/.build-id + rm -rf %{buildroot}/etc/crypto-policies + popd +%endif + +# run Firefox test suite +%if %{launch_wayland_compositor} +cp %{SOURCE36} . +. ./testing.sh run_wayland_compositor +%endif + +%if 0%{?run_firefox_tests} + mkdir -p objdir/_virtualenvs/init_py3 + %{__cat} > objdir/_virtualenvs/init_py3/pip.conf << EOF +[global] +find-links=`pwd`/mochitest-python +no-index=true +EOF + tar xf %{SOURCE37} + cp %{SOURCE36} . + mkdir -p test_results + %if %{?test_on_wayland} + ./testing.sh run_tests_wayland || true + %else + ./testing.sh run_tests_x11 || true + %endif + ./testing.sh print_results > test_summary.txt 2>&1 || true + ./testing.sh print_failures || true +%endif + +# Make sure locale works for langpacks +%{__cat} > objdir/dist/bin/browser/defaults/preferences/firefox-l10n.js << EOF +pref("general.useragent.locale", "chrome://global/locale/intl.properties"); +EOF + +DESTDIR=%{buildroot} make -C objdir install + +%{__mkdir_p} %{buildroot}{%{_libdir},%{_bindir},%{_datadir}/applications} + +desktop-file-install --dir %{buildroot}%{_datadir}/applications %{SOURCE20} +%if 0%{?rhel} >= 9 +desktop-file-install --dir %{buildroot}%{_datadir}/applications %{SOURCE31} +%endif + +# set up the firefox start script +%{__rm} -rf %{buildroot}%{_bindir}/firefox +%{__sed} -e 's,/__PREFIX__,%{_prefix},g' %{SOURCE21} > %{buildroot}%{_bindir}/firefox +%{__chmod} 755 %{buildroot}%{_bindir}/firefox + +%if 0%{?flatpak} +sed -i -e 's|%FLATPAK_ENV_VARS%|export TMPDIR="$XDG_CACHE_HOME/tmp"|' %{buildroot}%{_bindir}/firefox +%else +sed -i -e 's|%FLATPAK_ENV_VARS%||' %{buildroot}%{_bindir}/firefox +%endif + +# Run firefox under wayland only on RHEL9 and newer +%if 0%{?rhel} < 9 +sed -i -e 's|%DISABLE_WAYLAND_PLACEHOLDER%|export MOZ_DISABLE_WAYLAND=1|' %{buildroot}%{_bindir}/firefox +%else +sed -i -e 's|%DISABLE_WAYLAND_PLACEHOLDER%||' %{buildroot}%{_bindir}/firefox +# firefox-x11 launch script for RHEL9 only +%{__sed} -e 's,/__PREFIX__,%{_prefix},g' %{SOURCE30} > %{buildroot}%{_bindir}/firefox-x11 +%{__chmod} 755 %{buildroot}%{_bindir}/firefox-x11 +%endif + +%{__install} -p -D -m 644 %{SOURCE23} %{buildroot}%{_mandir}/man1/firefox.1 + +%{__rm} -f %{buildroot}/%{mozappdir}/firefox-config +%{__rm} -f %{buildroot}/%{mozappdir}/update-settings.ini + +for s in 16 22 24 32 48 256; do + %{__mkdir_p} %{buildroot}%{_datadir}/icons/hicolor/${s}x${s}/apps + %{__cp} -p browser/branding/official/default${s}.png \ + %{buildroot}%{_datadir}/icons/hicolor/${s}x${s}/apps/firefox.png +done + +# Install hight contrast icon +%{__mkdir_p} %{buildroot}%{_datadir}/icons/hicolor/symbolic/apps +%{__cp} -p %{SOURCE25} \ + %{buildroot}%{_datadir}/icons/hicolor/symbolic/apps + +echo > %{name}.lang +%if %{with langpacks} +# Extract langpacks, make any mods needed, repack the langpack, and install it. +%{__mkdir_p} %{buildroot}%{langpackdir} +%{__tar} xf %{SOURCE1} +for langpack in `ls firefox-langpacks/*.xpi`; do + language=`basename $langpack .xpi` + extensionID=langpack-$language@firefox.mozilla.org + %{__mkdir_p} $extensionID + unzip -qq $langpack -d $extensionID + find $extensionID -type f | xargs chmod 644 + + cd $extensionID + zip -qq -r9mX ../${extensionID}.xpi * + cd - + + %{__install} -m 644 ${extensionID}.xpi %{buildroot}%{langpackdir} + language=`echo $language | sed -e 's/-/_/g'` +%if 0%{?flatpak} + echo "%{langpackdir}/${extensionID}.xpi" >> %{name}.lang +%else + echo "%%lang($language) %{langpackdir}/${extensionID}.xpi" >> %{name}.lang +%endif +done +%{__rm} -rf firefox-langpacks + +# Install langpack workaround (see #707100, #821169) +function create_default_langpack() { +language_long=$1 +language_short=$2 +cd %{buildroot}%{langpackdir} +ln -s langpack-$language_long@firefox.mozilla.org.xpi langpack-$language_short@firefox.mozilla.org.xpi +cd - +echo "%%lang($language_short) %{langpackdir}/langpack-$language_short@firefox.mozilla.org.xpi" >> %{name}.lang +} + +# Table of fallbacks for each language +# please file a bug at bugzilla.redhat.com if the assignment is incorrect +#create_default_langpack "bn-IN" "bn" +create_default_langpack "es-AR" "es" +create_default_langpack "fy-NL" "fy" +create_default_langpack "ga-IE" "ga" +create_default_langpack "gu-IN" "gu" +create_default_langpack "hi-IN" "hi" +create_default_langpack "hy-AM" "hy" +create_default_langpack "nb-NO" "nb" +create_default_langpack "nn-NO" "nn" +create_default_langpack "pa-IN" "pa" +create_default_langpack "pt-PT" "pt" +create_default_langpack "sv-SE" "sv" +create_default_langpack "zh-TW" "zh" +%endif + +# Keep compatibility with the old preference location. +%{__mkdir_p} %{buildroot}%{mozappdir}/defaults/preferences +%{__mkdir_p} %{buildroot}%{mozappdir}/browser/defaults +ln -s %{mozappdir}/defaults/preferences $RPM_BUILD_ROOT/%{mozappdir}/browser/defaults/preferences +# Default preferences +%{__cp} %{SOURCE12} %{buildroot}%{mozappdir}/defaults/preferences/all-redhat.js +sed -i -e 's|%PREFIX%|%{_prefix}|' %{buildroot}%{mozappdir}/defaults/preferences/all-redhat.js +sed -i -e 's|%HOMEPAGE%|%{homepage}|' %{buildroot}%{mozappdir}/defaults/preferences/all-redhat.js +# Enable modern crypto for the key export on the RHEL9 only (rhbz#1764205) +%if 0%{?rhel} == 9 + echo 'pref("security.pki.use_modern_crypto_with_pkcs12", true);' >> %{buildroot}%{mozappdir}/defaults/preferences/all-redhat.js +%endif + +%ifarch s390x + echo 'pref("gfx.webrender.force-disabled", true);' >> %{buildroot}%{mozappdir}/defaults/preferences/all-redhat.js +%endif + +%ifarch s390x ppc64 + echo 'pref("gfx.webrender.force-disabled", true);' >> %{buildroot}%{mozappdir}/defaults/preferences/all-redhat.js +%endif + +# System config dir +%{__mkdir_p} %{buildroot}/%{_sysconfdir}/%{name}/pref + +# System extensions +%global firefox_app_id \{ec8030f7-c20a-464f-9b0e-13a3a9e97384\} +%{__mkdir_p} %{buildroot}%{_datadir}/mozilla/extensions/%{firefox_app_id} +%{__mkdir_p} %{buildroot}%{_libdir}/mozilla/extensions/%{firefox_app_id} + +# Copy over the LICENSE +%{__install} -p -c -m 644 LICENSE %{buildroot}/%{mozappdir} + +# Use the system hunspell dictionaries +%{__rm} -rf %{buildroot}%{mozappdir}/dictionaries +ln -s %{_datadir}/myspell %{buildroot}%{mozappdir}/dictionaries + +%if 0%{?run_firefox_tests} +%{__mkdir_p} %{buildroot}/%{version}-%{release}/test_results +%{__cp} test_results/* %{buildroot}/%{version}-%{release}/test_results +%{__cp} test_summary.txt %{buildroot}/%{version}-%{release}/ +%{__cp} failures-* %{buildroot}/%{version}-%{release}/ || true +%endif + +# Copy over run-mozilla.sh +%{__cp} build/unix/run-mozilla.sh %{buildroot}%{mozappdir} + +# Add distribution.ini +%{__mkdir_p} %{buildroot}%{mozappdir}/distribution +%{__cp} %{SOURCE26} %{buildroot}%{mozappdir}/distribution + +# Install appdata file +mkdir -p %{buildroot}%{_datadir}/metainfo +%{__sed} -e "s/__VERSION__/%{version}/" \ + -e "s/__DATE__/$(date '+%Y-%m-%d')/" \ + %{SOURCE33} > %{buildroot}%{_datadir}/metainfo/firefox.appdata.xml + +# Install Gnome search provider files +mkdir -p %{buildroot}%{_datadir}/gnome-shell/search-providers +%{__cp} %{SOURCE34} %{buildroot}%{_datadir}/gnome-shell/search-providers + +# Remove gtk2 support as flash plugin is no longer supported +rm -rf %{buildroot}%{mozappdir}/gtk2/ + +# Create a symlink to replace libnssckbi.so with p11-kit-client.so +# instead of p11-kit-trust.so, so that Firefox can see the system +# trust store on the host through the p11-kit RPC protocol. A symlink +# to libnss3.so is also needed, because Firefox tries to load +# libnssckbi.so from the same directory where libnss3.so is loaded (as +# of Firefox 89). +%if 0%{?flatpak} +ln -sf /usr/lib64/libnss3.so %{buildroot}%{_libdir}/libnss3.so +ln -sf /usr/lib64/pkcs11/p11-kit-client.so %{buildroot}%{_libdir}/libnssckbi.so +%endif + +# clean the created bundled rpms if there are any +rm -rf %{_srcrpmdir}/libffi*.src.rpm +find %{_rpmdir} -name "libffi*.rpm" -delete +rm -rf %{_srcrpmdir}/openssl*.src.rpm +find %{_rpmdir} -name "openssl*.rpm" -delete +rm -rf %{_srcrpmdir}/nss*.src.rpm +find %{_rpmdir} -name "nss*.rpm" -delete +rm -rf %{_srcrpmdir}/nspr*.src.rpm +find %{_rpmdir} -name "nspr*.rpm" -delete + +#--------------------------------------------------------------------- + +%check +appstream-util validate-relax --nonet %{buildroot}%{_datadir}/metainfo/*.appdata.xml + +%preun +# is it a final removal? +if [ $1 -eq 0 ]; then + %{__rm} -rf %{mozappdir}/components + %{__rm} -rf %{mozappdir}/extensions + %{__rm} -rf %{mozappdir}/plugins +fi + +%post +update-desktop-database &> /dev/null || : +touch --no-create %{_datadir}/icons/hicolor &>/dev/null || : + +%postun +update-desktop-database &> /dev/null || : +if [ $1 -eq 0 ] ; then + touch --no-create %{_datadir}/icons/hicolor &>/dev/null + gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : + %{__rm} -rf %{langpackdir} +fi + +%posttrans +gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : + +%files -f %{name}.lang +%{_bindir}/firefox +%{mozappdir}/firefox +%{mozappdir}/firefox-bin +%doc %{_mandir}/man1/* +%dir %{_sysconfdir}/%{name} +%dir %{_sysconfdir}/%{name}/* +%dir %{_datadir}/mozilla/extensions/* +%dir %{_libdir}/mozilla/extensions/* +%{_datadir}/applications/%{name}.desktop +%{_datadir}/metainfo/*.appdata.xml +%{_datadir}/gnome-shell/search-providers/*.ini +%dir %{mozappdir} +%license %{mozappdir}/LICENSE +%{mozappdir}/browser/chrome +%{mozappdir}/defaults/preferences/* +%{mozappdir}/browser/defaults/preferences +%{mozappdir}/browser/features/*.xpi +%{mozappdir}/distribution/distribution.ini +# That's Windows only +%ghost %{mozappdir}/browser/features/aushelper@mozilla.org.xpi +%if %{with langpacks} +%dir %{langpackdir} +%endif +%{mozappdir}/browser/omni.ja +%{mozappdir}/run-mozilla.sh +%{mozappdir}/application.ini +%{mozappdir}/pingsender +%exclude %{mozappdir}/removed-files +%if 0%{?flatpak} +%{_libdir}/libnss3.so +%{_libdir}/libnssckbi.so +%endif +%{_datadir}/icons/hicolor/16x16/apps/firefox.png +%{_datadir}/icons/hicolor/22x22/apps/firefox.png +%{_datadir}/icons/hicolor/24x24/apps/firefox.png +%{_datadir}/icons/hicolor/256x256/apps/firefox.png +%{_datadir}/icons/hicolor/32x32/apps/firefox.png +%{_datadir}/icons/hicolor/48x48/apps/firefox.png +%{_datadir}/icons/hicolor/symbolic/apps/firefox-symbolic.svg +%{mozappdir}/*.so +%{mozappdir}/defaults/pref/channel-prefs.js +%{mozappdir}/dependentlibs.list +%{mozappdir}/dictionaries +%{mozappdir}/omni.ja +%{mozappdir}/platform.ini +%{mozappdir}/plugin-container +%{mozappdir}/gmp-clearkey +%{mozappdir}/fonts/TwemojiMozilla.ttf +%{mozappdir}/glxtest +%{mozappdir}/vaapitest + +%if !%{?system_nss} +%exclude %{mozappdir}/libnssckbi.so +%endif + +%if 0%{?bundle_nss} +%{mozappdir}/bundled/%{_lib}/libfreebl* +%{mozappdir}/bundled/%{_lib}/libnss* +%{mozappdir}/bundled/%{_lib}/libsmime3* +%{mozappdir}/bundled/%{_lib}/libsoftokn* +%{mozappdir}/bundled/%{_lib}/libssl3* +%{mozappdir}/bundled/%{_lib}/libnspr4.so +%{mozappdir}/bundled/%{_lib}/libplc4.so +%{mozappdir}/bundled/%{_lib}/libplds4.so +%endif + +#--------------------------------------------------------------------- + +%changelog +* Mon Feb 12 2024 Brandon Lester - 115.7.0-1.oreon +- FF Release for Oreon Lime R2 diff --git a/firefox/google-api-key b/firefox/google-api-key new file mode 100644 index 000000000..b95d1897d --- /dev/null +++ b/firefox/google-api-key @@ -0,0 +1 @@ +AIzaSyBPGXa4AYD4FC3HJK7LnIKxm4fDusVuuco diff --git a/firefox/google-loc-api-key b/firefox/google-loc-api-key new file mode 100644 index 000000000..f40090d99 --- /dev/null +++ b/firefox/google-loc-api-key @@ -0,0 +1 @@ +AIzaSyB2h2OuRcUgy5N-5hsZqiPW6sH3n_rptiQ diff --git a/firefox/mochitest-python.tar.gz b/firefox/mochitest-python.tar.gz new file mode 100644 index 000000000..fadfc5a32 Binary files /dev/null and b/firefox/mochitest-python.tar.gz differ diff --git a/firefox/mozilla-api-key b/firefox/mozilla-api-key new file mode 100644 index 000000000..81877bc00 --- /dev/null +++ b/firefox/mozilla-api-key @@ -0,0 +1 @@ +9008bb7e-1e22-4038-94fe-047dd48ccc0b diff --git a/firefox/mozilla-bmo1170092.patch b/firefox/mozilla-bmo1170092.patch new file mode 100644 index 000000000..36d2b00f4 --- /dev/null +++ b/firefox/mozilla-bmo1170092.patch @@ -0,0 +1,95 @@ +diff -up firefox-115.0.2/extensions/pref/autoconfig/src/nsReadConfig.cpp.1170092 firefox-115.0.2/extensions/pref/autoconfig/src/nsReadConfig.cpp +--- firefox-115.0.2/extensions/pref/autoconfig/src/nsReadConfig.cpp.1170092 2023-07-10 21:08:53.000000000 +0200 ++++ firefox-115.0.2/extensions/pref/autoconfig/src/nsReadConfig.cpp 2023-07-17 10:33:23.443355156 +0200 +@@ -263,8 +263,20 @@ nsresult nsReadConfig::openAndEvaluateJS + if (NS_FAILED(rv)) return rv; + + rv = NS_NewLocalFileInputStream(getter_AddRefs(inStr), jsFile); +- if (NS_FAILED(rv)) return rv; ++ if (NS_FAILED(rv)) { ++ // Look for cfg file in /etc//pref ++ rv = NS_GetSpecialDirectory(NS_APP_PREFS_SYSTEM_CONFIG_DIR, ++ getter_AddRefs(jsFile)); ++ NS_ENSURE_SUCCESS(rv, rv); ++ ++ rv = jsFile->AppendNative(nsLiteralCString("pref")); ++ NS_ENSURE_SUCCESS(rv, rv); ++ rv = jsFile->AppendNative(nsDependentCString(aFileName)); ++ NS_ENSURE_SUCCESS(rv, rv); + ++ rv = NS_NewLocalFileInputStream(getter_AddRefs(inStr), jsFile); ++ NS_ENSURE_SUCCESS(rv, rv); ++ } + } else { + nsAutoCString location("resource://gre/defaults/autoconfig/"); + location += aFileName; +diff -up firefox-115.0.2/modules/libpref/Preferences.cpp.1170092 firefox-115.0.2/modules/libpref/Preferences.cpp +--- firefox-115.0.2/modules/libpref/Preferences.cpp.1170092 2023-07-10 21:09:00.000000000 +0200 ++++ firefox-115.0.2/modules/libpref/Preferences.cpp 2023-07-17 10:33:23.444355156 +0200 +@@ -4825,6 +4825,9 @@ nsresult Preferences::InitInitialObjects + // + // Thus, in the omni.jar case, we always load app-specific default + // preferences from omni.jar, whether or not `$app == $gre`. ++ // ++ // At very end load configuration from system config location: ++ // - /etc/firefox/pref/*.js + + nsresult rv = NS_ERROR_FAILURE; + UniquePtr find; +diff -up firefox-115.0.2/toolkit/xre/nsXREDirProvider.cpp.1170092 firefox-115.0.2/toolkit/xre/nsXREDirProvider.cpp +--- firefox-115.0.2/toolkit/xre/nsXREDirProvider.cpp.1170092 2023-07-10 22:57:20.000000000 +0200 ++++ firefox-115.0.2/toolkit/xre/nsXREDirProvider.cpp 2023-07-17 10:56:25.309692121 +0200 +@@ -72,6 +72,7 @@ + #endif + #ifdef XP_UNIX + # include ++# include "nsIXULAppInfo.h" + #endif + #ifdef XP_IOS + # include "UIKitDirProvider.h" +@@ -478,6 +479,17 @@ nsXREDirProvider::GetFile(const char* aP + rv = file->AppendNative(nsLiteralCString(PREF_OVERRIDE_DIRNAME)); + NS_ENSURE_SUCCESS(rv, rv); + rv = EnsureDirectoryExists(file); ++ } else if (!strcmp(aProperty, NS_APP_PREFS_SYSTEM_CONFIG_DIR)) { ++ nsCString sysConfigDir = nsLiteralCString("/etc/"); ++ nsCOMPtr appInfo = do_GetService("@mozilla.org/xre/app-info;1"); ++ if (!appInfo) ++ return NS_ERROR_NOT_AVAILABLE; ++ nsCString appName; ++ appInfo->GetName(appName); ++ ToLowerCase(appName); ++ sysConfigDir.Append(appName); ++ NS_NewNativeLocalFile(sysConfigDir, false, getter_AddRefs(file)); ++ rv = EnsureDirectoryExists(file); + } else { + // We don't know anything about this property. Fail without warning, because + // otherwise we'll get too much warning spam due to +@@ -694,6 +706,16 @@ nsXREDirProvider::GetFiles(const char* a + } + #endif + ++ // Add /etc//pref/ directory if it exists ++ nsCOMPtr systemPrefDir; ++ rv = NS_GetSpecialDirectory(NS_APP_PREFS_SYSTEM_CONFIG_DIR, ++ getter_AddRefs(systemPrefDir)); ++ if (NS_SUCCEEDED(rv)) { ++ rv = systemPrefDir->AppendNative(nsLiteralCString("pref")); ++ if (NS_SUCCEEDED(rv)) ++ directories.AppendObject(systemPrefDir); ++ } ++ + rv = NS_NewArrayEnumerator(aResult, directories, NS_GET_IID(nsIFile)); + } else if (!strcmp(aProperty, NS_APP_CHROME_DIR_LIST)) { + // NS_APP_CHROME_DIR_LIST is only used to get default (native) icons +diff -up firefox-115.0.2/xpcom/io/nsAppDirectoryServiceDefs.h.1170092 firefox-115.0.2/xpcom/io/nsAppDirectoryServiceDefs.h +--- firefox-115.0.2/xpcom/io/nsAppDirectoryServiceDefs.h.1170092 2023-07-10 21:09:13.000000000 +0200 ++++ firefox-115.0.2/xpcom/io/nsAppDirectoryServiceDefs.h 2023-07-17 10:33:23.444355156 +0200 +@@ -58,6 +58,7 @@ + #define NS_APP_PREFS_DEFAULTS_DIR_LIST "PrefDL" + #define NS_APP_PREFS_OVERRIDE_DIR \ + "PrefDOverride" // Directory for per-profile defaults ++#define NS_APP_PREFS_SYSTEM_CONFIG_DIR "PrefSysConf" // Directory with system-wide configuration + + #define NS_APP_USER_PROFILE_50_DIR "ProfD" + #define NS_APP_USER_PROFILE_LOCAL_50_DIR "ProfLD" diff --git a/firefox/mozilla-bmo1504834-part1.patch b/firefox/mozilla-bmo1504834-part1.patch new file mode 100644 index 000000000..5246c5a03 --- /dev/null +++ b/firefox/mozilla-bmo1504834-part1.patch @@ -0,0 +1,86 @@ +diff -up firefox-115.2.0/gfx/2d/DrawTargetSkia.cpp.mozilla-bmo1504834-part1 firefox-115.2.0/gfx/2d/DrawTargetSkia.cpp +--- firefox-115.2.0/gfx/2d/DrawTargetSkia.cpp.mozilla-bmo1504834-part1 2023-09-20 22:15:11.850172571 +0200 ++++ firefox-115.2.0/gfx/2d/DrawTargetSkia.cpp 2023-09-20 22:16:10.446147737 +0200 +@@ -156,8 +156,8 @@ static IntRect CalculateSurfaceBounds(co + } + + static const int kARGBAlphaOffset = +- SurfaceFormat::A8R8G8B8_UINT32 == SurfaceFormat::B8G8R8A8 ? 3 : 0; +- ++ 0; // Skia is always BGRA SurfaceFormat::A8R8G8B8_UINT32 == ++ // SurfaceFormat::B8G8R8A8 ? 3 : 0; + static bool VerifyRGBXFormat(uint8_t* aData, const IntSize& aSize, + const int32_t aStride, SurfaceFormat aFormat) { + if (aFormat != SurfaceFormat::B8G8R8X8 || aSize.IsEmpty()) { +diff -up firefox-115.2.0/gfx/2d/Types.h.mozilla-bmo1504834-part1 firefox-115.2.0/gfx/2d/Types.h +--- firefox-115.2.0/gfx/2d/Types.h.mozilla-bmo1504834-part1 2023-08-21 15:43:23.000000000 +0200 ++++ firefox-115.2.0/gfx/2d/Types.h 2023-09-20 22:15:11.850172571 +0200 +@@ -89,18 +89,11 @@ enum class SurfaceFormat : int8_t { + // This represents the unknown format. + UNKNOWN, // TODO: Replace uses with Maybe. + +-// The following values are endian-independent synonyms. The _UINT32 suffix +-// indicates that the name reflects the layout when viewed as a uint32_t +-// value. +-#if MOZ_LITTLE_ENDIAN() ++ // The following values are endian-independent synonyms. The _UINT32 suffix ++ // indicates that the name reflects the layout when viewed as a uint32_t ++ // value. + A8R8G8B8_UINT32 = B8G8R8A8, // 0xAARRGGBB + X8R8G8B8_UINT32 = B8G8R8X8, // 0x00RRGGBB +-#elif MOZ_BIG_ENDIAN() +- A8R8G8B8_UINT32 = A8R8G8B8, // 0xAARRGGBB +- X8R8G8B8_UINT32 = X8R8G8B8, // 0x00RRGGBB +-#else +-# error "bad endianness" +-#endif + + // The following values are OS and endian-independent synonyms. + // +diff -up firefox-115.2.0/gfx/skia/skia/modules/skcms/skcms.cc.mozilla-bmo1504834-part1 firefox-115.2.0/gfx/skia/skia/modules/skcms/skcms.cc +--- firefox-115.2.0/gfx/skia/skia/modules/skcms/skcms.cc.mozilla-bmo1504834-part1 2023-08-21 15:43:23.000000000 +0200 ++++ firefox-115.2.0/gfx/skia/skia/modules/skcms/skcms.cc 2023-09-20 22:15:11.851172570 +0200 +@@ -30,6 +30,8 @@ + #include + #include + #endif ++#else ++ #define SKCMS_PORTABLE + #endif + + static bool runtime_cpu_detection = true; +@@ -324,20 +326,28 @@ enum { + static uint16_t read_big_u16(const uint8_t* ptr) { + uint16_t be; + memcpy(&be, ptr, sizeof(be)); +-#if defined(_MSC_VER) +- return _byteswap_ushort(be); ++#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ ++ return be; + #else +- return __builtin_bswap16(be); ++ #if defined(_MSC_VER) ++ return _byteswap_ushort(be); ++ #else ++ return __builtin_bswap16(be); ++ #endif + #endif + } + + static uint32_t read_big_u32(const uint8_t* ptr) { + uint32_t be; + memcpy(&be, ptr, sizeof(be)); +-#if defined(_MSC_VER) +- return _byteswap_ulong(be); ++#if __BYTE_ORDER == __ORDER_BIG_ENDIAN__ ++ return be; + #else +- return __builtin_bswap32(be); ++ #if defined(_MSC_VER) ++ return _byteswap_ulong(be); ++ #else ++ return __builtin_bswap32(be); ++ #endif + #endif + } + diff --git a/firefox/mozilla-bmo1504834-part3.patch b/firefox/mozilla-bmo1504834-part3.patch new file mode 100644 index 000000000..9c2ece0d8 --- /dev/null +++ b/firefox/mozilla-bmo1504834-part3.patch @@ -0,0 +1,17 @@ +# HG changeset patch +# Parent 09cd4ac2cc607e85aa572425b824fbab386af607 +For FF68, AntiAliasing of XULTexts seem to be broken on big endian (s390x). Text and icons of the sandwich-menu to the +right of the address bar, as well as plugin-windows appears transparant, which usually means unreadable (white on white). + +diff --git a/gfx/skia/skia/src/opts/SkBlitMask_opts.h b/gfx/skia/skia/src/opts/SkBlitMask_opts.h +--- a/gfx/skia/skia/src/opts/SkBlitMask_opts.h ++++ b/gfx/skia/skia/src/opts/SkBlitMask_opts.h +@@ -210,6 +210,8 @@ namespace SK_OPTS_NS { + // ~~~> + // a = 1*aa + d(1-1*aa) = aa + d(1-aa) + // c = 0*aa + d(1-1*aa) = d(1-aa) ++ // TODO: Check this for endian-issues! ++ // Do we need to switch 255 to the front for all of those tuples? + return (aa & Sk4px(skvx::byte16{0,0,0,255, 0,0,0,255, 0,0,0,255, 0,0,0,255})) + + d.approxMulDiv255(aa.inv()); + }; diff --git a/firefox/mozilla-bmo1636168-fscreen.patch b/firefox/mozilla-bmo1636168-fscreen.patch new file mode 100644 index 000000000..e8bb31033 --- /dev/null +++ b/firefox/mozilla-bmo1636168-fscreen.patch @@ -0,0 +1,82 @@ +diff -up firefox-114.0/widget/gtk/nsWindow.cpp.D110204-fscreen.diff firefox-114.0/widget/gtk/nsWindow.cpp +--- firefox-114.0/widget/gtk/nsWindow.cpp.D110204-fscreen.diff 2023-05-17 10:43:02.000000000 +0200 ++++ firefox-114.0/widget/gtk/nsWindow.cpp 2023-05-17 13:53:54.000443278 +0200 +@@ -100,6 +100,7 @@ + #include "ScreenHelperGTK.h" + #include "SystemTimeConverter.h" + #include "WidgetUtilsGtk.h" ++#include "nsIBrowserHandler.h" + + #ifdef ACCESSIBILITY + # include "mozilla/a11y/LocalAccessible.h" +@@ -173,7 +174,8 @@ const gint kEvents = GDK_TOUCHPAD_GESTUR + GDK_ENTER_NOTIFY_MASK | GDK_LEAVE_NOTIFY_MASK | + GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | + GDK_SMOOTH_SCROLL_MASK | GDK_TOUCH_MASK | GDK_SCROLL_MASK | +- GDK_POINTER_MOTION_MASK | GDK_PROPERTY_CHANGE_MASK; ++ GDK_POINTER_MOTION_MASK | GDK_PROPERTY_CHANGE_MASK | ++ GDK_FOCUS_CHANGE_MASK; + + /* utility functions */ + static bool is_mouse_in_window(GdkWindow* aWindow, gdouble aMouseX, +@@ -433,7 +435,8 @@ nsWindow::nsWindow() + mResizedAfterMoveToRect(false), + mConfiguredClearColor(false), + mGotNonBlankPaint(false), +- mNeedsToRetryCapturingMouse(false) { ++ mNeedsToRetryCapturingMouse(false), ++ mPendingFullscreen(false) { + mWindowType = WindowType::Child; + mSizeConstraints.mMaxSize = GetSafeWindowSize(mSizeConstraints.mMaxSize); + +@@ -5263,6 +5266,19 @@ void nsWindow::OnWindowStateEvent(GtkWid + ClearTransparencyBitmap(); + } + } ++ ++ // Hack to ensure window switched to fullscreen - avoid to fail when starting ++ // in kiosk mode ++ if (mPendingFullscreen && ++ !(aEvent->new_window_state & GDK_WINDOW_STATE_FULLSCREEN)) { ++ LOG( ++ " Window should be fullscreen, but it's not, retrying set to " ++ "fullscreen.\n"); ++ MakeFullScreen(true); ++ } else { ++ LOG(" Window successfully switched to fullscreen, happy now\n"); ++ mPendingFullscreen = false; ++ } + } + + void nsWindow::OnDPIChanged() { +@@ -7409,6 +7425,19 @@ nsresult nsWindow::MakeFullScreen(bool a + } + } + ++ // if in kiosk, ensure the fullscreen is called ++ nsCOMPtr browserHandler = ++ do_GetService("@mozilla.org/browser/clh;1"); ++ if (browserHandler) { ++ bool isKiosk; ++ browserHandler->GetKiosk(&isKiosk); ++ if (isKiosk) { ++ LOG(" is kiosk, ensure the window switch to fullscreen\n"); ++ mPendingFullscreen = true; ++ } ++ } else { ++ LOG(" Cannot find the browserHandler service.\n"); ++ } + gtk_window_fullscreen(GTK_WINDOW(mShell)); + } else { + gtk_window_unfullscreen(GTK_WINDOW(mShell)); +diff -up firefox-114.0/widget/gtk/nsWindow.h.D110204-fscreen.diff firefox-114.0/widget/gtk/nsWindow.h +--- firefox-114.0/widget/gtk/nsWindow.h.D110204-fscreen.diff 2023-05-17 08:46:16.000000000 +0200 ++++ firefox-114.0/widget/gtk/nsWindow.h 2023-05-17 13:51:29.502159247 +0200 +@@ -752,6 +752,7 @@ class nsWindow final : public nsBaseWidg + * move-to-rect callback we set mMovedAfterMoveToRect/mResizedAfterMoveToRect. + */ + bool mWaitingForMoveToRectCallback : 1; ++ bool mPendingFullscreen : 1; + bool mMovedAfterMoveToRect : 1; + bool mResizedAfterMoveToRect : 1; + diff --git a/firefox/mozilla-bmo1670333.patch b/firefox/mozilla-bmo1670333.patch new file mode 100644 index 000000000..7126d4337 --- /dev/null +++ b/firefox/mozilla-bmo1670333.patch @@ -0,0 +1,69 @@ +diff -up firefox-115.0/dom/media/mp4/MP4Demuxer.cpp.1670333 firefox-115.0/dom/media/mp4/MP4Demuxer.cpp +--- firefox-115.0/dom/media/mp4/MP4Demuxer.cpp.1670333 2023-06-06 23:14:43.000000000 +0200 ++++ firefox-115.0/dom/media/mp4/MP4Demuxer.cpp 2023-06-08 08:15:48.214109403 +0200 +@@ -32,6 +32,8 @@ mozilla::LogModule* GetDemuxerLog() { re + DDMOZ_LOG(gMediaDemuxerLog, mozilla::LogLevel::Debug, "::%s: " arg, \ + __func__, ##__VA_ARGS__) + ++extern bool gUseKeyframeFromContainer; ++ + namespace mozilla { + + using TimeUnit = media::TimeUnit; +@@ -404,6 +406,12 @@ already_AddRefed MP4TrackD + [[fallthrough]]; + case H264::FrameType::OTHER: { + bool keyframe = type == H264::FrameType::I_FRAME; ++ if (gUseKeyframeFromContainer) { ++ if (sample->mKeyframe && sample->mKeyframe != keyframe) { ++ sample->mKeyframe = keyframe; ++ } ++ break; ++ } + if (sample->mKeyframe != keyframe) { + NS_WARNING(nsPrintfCString("Frame incorrectly marked as %skeyframe " + "@ pts:%" PRId64 " dur:%" PRId64 +diff -up firefox-115.0/dom/media/platforms/PDMFactory.cpp.1670333 firefox-115.0/dom/media/platforms/PDMFactory.cpp +--- firefox-115.0/dom/media/platforms/PDMFactory.cpp.1670333 2023-06-06 23:14:44.000000000 +0200 ++++ firefox-115.0/dom/media/platforms/PDMFactory.cpp 2023-06-08 08:09:33.145289602 +0200 +@@ -67,6 +67,8 @@ + + #include + ++bool gUseKeyframeFromContainer = false; ++ + using DecodeSupport = mozilla::media::DecodeSupport; + using DecodeSupportSet = mozilla::media::DecodeSupportSet; + using MediaCodec = mozilla::media::MediaCodec; +@@ -562,7 +564,7 @@ void PDMFactory::CreateRddPDMs() { + #ifdef MOZ_FFMPEG + if (StaticPrefs::media_ffmpeg_enabled() && + StaticPrefs::media_rdd_ffmpeg_enabled() && +- !CreateAndStartupPDM()) { ++ !(mFFmpegUsed = CreateAndStartupPDM())) { + mFailureFlags += GetFailureFlagBasedOnFFmpegStatus( + FFmpegRuntimeLinker::LinkStatusCode()); + } +@@ -738,9 +740,10 @@ void PDMFactory::CreateDefaultPDMs() { + + CreateAndStartupPDM(); + +- if (StaticPrefs::media_gmp_decoder_enabled() && ++ if (StaticPrefs::media_gmp_decoder_enabled() && !mFFmpegUsed && + !StartupPDM(GMPDecoderModule::Create(), + StaticPrefs::media_gmp_decoder_preferred())) { ++ gUseKeyframeFromContainer = true; + mFailureFlags += DecoderDoctorDiagnostics::Flags::GMPPDMFailedToStartup; + } + } +diff -up firefox-115.0/dom/media/platforms/PDMFactory.h.1670333 firefox-115.0/dom/media/platforms/PDMFactory.h +--- firefox-115.0/dom/media/platforms/PDMFactory.h.1670333 2023-06-06 23:14:42.000000000 +0200 ++++ firefox-115.0/dom/media/platforms/PDMFactory.h 2023-06-08 08:09:33.145289602 +0200 +@@ -103,6 +103,7 @@ class PDMFactory final { + RefPtr mNullPDM; + + DecoderDoctorDiagnostics::FlagsSet mFailureFlags; ++ bool mFFmpegUsed = false; + + friend class RemoteVideoDecoderParent; + static void EnsureInit(); diff --git a/firefox/mozilla-bmo1716707-svg.patch b/firefox/mozilla-bmo1716707-svg.patch new file mode 100644 index 000000000..9c0559caa --- /dev/null +++ b/firefox/mozilla-bmo1716707-svg.patch @@ -0,0 +1,29 @@ +# HG changeset patch +# User M. Sirringhaus +# Date 1645518286 -3600 +# Tue Feb 22 09:24:46 2022 +0100 +# Node ID 81832d035e101471dcf52dd91de287268add7a91 +# Parent 66f7ce16eb4965108687280e5443edd610631efb +imported patch svg-rendering.patch + +diff --git a/image/imgFrame.cpp b/image/imgFrame.cpp +--- a/image/imgFrame.cpp ++++ b/image/imgFrame.cpp +@@ -372,6 +372,17 @@ nsresult imgFrame::InitWithDrawable(gfxD + return NS_ERROR_OUT_OF_MEMORY; + } + ++#if MOZ_BIG_ENDIAN() ++ if (aBackend == gfx::BackendType::SKIA && canUseDataSurface) { ++ // SKIA is lying about what format it returns on big endian ++ for (int ii=0; ii < mRawSurface->GetSize().Height()*mRawSurface->Stride() / 4; ++ii) { ++ uint32_t *vals = (uint32_t*)(mRawSurface->GetData()); ++ uint32_t val = ((vals[ii] << 8) & 0xFF00FF00 ) | ((vals[ii] >> 8) & 0xFF00FF ); ++ vals[ii] = (val << 16) | (val >> 16); ++ } ++ } ++#endif ++ + if (!canUseDataSurface) { + // We used an offscreen surface, which is an "optimized" surface from + // imgFrame's perspective. diff --git a/firefox/mozilla-bmo1716707-swizzle.patch b/firefox/mozilla-bmo1716707-swizzle.patch new file mode 100644 index 000000000..bb375602e --- /dev/null +++ b/firefox/mozilla-bmo1716707-swizzle.patch @@ -0,0 +1,34 @@ +# HG changeset patch +# User M. Sirringhaus +# Date 1645518286 -3600 +# Tue Feb 22 09:24:46 2022 +0100 +# Node ID 494640792b4677f6462e95b90a54a4e22aeb738b +# Parent 81832d035e101471dcf52dd91de287268add7a91 +imported patch one_swizzle_to_rule_them_all.patch + +Index: firefox-102.0/gfx/webrender_bindings/RenderCompositorSWGL.cpp +=================================================================== +--- firefox-102.0.orig/gfx/webrender_bindings/RenderCompositorSWGL.cpp ++++ firefox-102.0/gfx/webrender_bindings/RenderCompositorSWGL.cpp +@@ -7,6 +7,7 @@ + #include "RenderCompositorSWGL.h" + + #include "mozilla/gfx/Logging.h" ++#include "mozilla/gfx/Swizzle.h" + #include "mozilla/widget/CompositorWidget.h" + + #ifdef MOZ_WIDGET_GTK +@@ -235,6 +237,13 @@ void RenderCompositorSWGL::CommitMappedB + } + mDT->Flush(); + ++#if MOZ_BIG_ENDIAN() ++ // One swizzle to rule them all. ++ gfx::SwizzleData(mMappedData, mMappedStride, gfx::SurfaceFormat::B8G8R8A8, ++ mMappedData, mMappedStride, gfx::SurfaceFormat::A8R8G8B8, ++ mDT->GetSize()); ++#endif ++ + // Done with the DT. Hand it back to the widget and clear out any trace of it. + mWidget->EndRemoteDrawingInRegion(mDT, mDirtyRegion); + mDirtyRegion.SetEmpty(); diff --git a/firefox/mozilla-bmo1789216-disable-av1.patch b/firefox/mozilla-bmo1789216-disable-av1.patch new file mode 100644 index 000000000..ce91a124b --- /dev/null +++ b/firefox/mozilla-bmo1789216-disable-av1.patch @@ -0,0 +1,89 @@ +diff --git a/media/ffvpx/libavcodec/allcodecs.c b/media/ffvpx/libavcodec/allcodecs.c +--- a/media/ffvpx/libavcodec/allcodecs.c ++++ b/media/ffvpx/libavcodec/allcodecs.c +@@ -755,12 +755,15 @@ + extern FFCodec ff_libaom_av1_encoder; + extern const FFCodec ff_libaribb24_decoder; + extern const FFCodec ff_libcelt_decoder; + extern const FFCodec ff_libcodec2_encoder; + extern const FFCodec ff_libcodec2_decoder; ++#if CONFIG_MOZ_AV1 + extern const FFCodec ff_libdav1d_decoder; + extern const FFCodec ff_libdavs2_decoder; ++extern const FFCodec ff_libuavs3d_decoder; ++#endif + extern const FFCodec ff_libfdk_aac_encoder; + extern const FFCodec ff_libfdk_aac_decoder; + extern const FFCodec ff_libgsm_encoder; + extern const FFCodec ff_libgsm_decoder; + extern const FFCodec ff_libgsm_ms_encoder; +@@ -783,11 +786,10 @@ + extern const FFCodec ff_libspeex_encoder; + extern const FFCodec ff_libspeex_decoder; + extern const FFCodec ff_libsvtav1_encoder; + extern const FFCodec ff_libtheora_encoder; + extern const FFCodec ff_libtwolame_encoder; +-extern const FFCodec ff_libuavs3d_decoder; + extern const FFCodec ff_libvo_amrwbenc_encoder; + extern const FFCodec ff_libvorbis_encoder; + extern const FFCodec ff_libvorbis_decoder; + extern const FFCodec ff_libvpx_vp8_encoder; + extern const FFCodec ff_libvpx_vp8_decoder; +diff --git a/media/ffvpx/libavcodec/codec_list.c b/media/ffvpx/libavcodec/codec_list.c +--- a/media/ffvpx/libavcodec/codec_list.c ++++ b/media/ffvpx/libavcodec/codec_list.c +@@ -9,12 +9,14 @@ + &ff_flac_decoder, + #endif + #if CONFIG_MP3_DECODER + &ff_mp3_decoder, + #endif ++#if CONFIG_MOZ_AV1 + #if CONFIG_LIBDAV1D + &ff_libdav1d_decoder, + #endif + #if CONFIG_AV1_DECODER + &ff_av1_decoder, + #endif ++#endif + NULL }; +diff --git a/media/ffvpx/libavcodec/moz.build b/media/ffvpx/libavcodec/moz.build +--- a/media/ffvpx/libavcodec/moz.build ++++ b/media/ffvpx/libavcodec/moz.build +@@ -84,11 +84,10 @@ + 'cbs.c', + 'cbs_av1.c', + 'golomb.c', + 'h264pred.c', + 'imgconvert.c', +- 'libdav1d.c', + 'mathtables.c', + 'qsv_api.c', + 'raw.c', + 'videodsp.c', + 'vp8.c', +@@ -107,14 +106,19 @@ + 'vp9mvs.c', + 'vp9prob.c', + 'vp9recon.c', + 'vpx_rac.c', + ] +- USE_LIBS += [ +- 'dav1d', +- 'media_libdav1d_asm', +- ] ++ if CONFIG['MOZ_AV1']: ++ USE_LIBS += [ ++ 'dav1d', ++ 'media_libdav1d_asm', ++ ] ++ SOURCES += [ ++ 'libdav1d.c', ++ ] ++ + if CONFIG['MOZ_WAYLAND']: + LOCAL_INCLUDES += ['/media/mozva'] + SOURCES += [ + 'vaapi_av1.c', + 'vaapi_decode.c', + diff --git a/firefox/mozilla-bmo849632.patch b/firefox/mozilla-bmo849632.patch new file mode 100644 index 000000000..913d6bcdd --- /dev/null +++ b/firefox/mozilla-bmo849632.patch @@ -0,0 +1,26 @@ +# HG changeset patch +# Parent 3de59fe1b8708c01e134ce698c4232b8a854f617 +Problem: webGL sites are displayed in the wrong color (usually blue-ish) +Solution: Problem is with skia once again. Output of webgl seems endian-correct, but skia only + knows how to deal with little endian. + So we swizzle the output of webgl after reading it from readpixels() +Note: This does not fix all webGL sites, but is a step in the right direction + +Index: firefox-115.0/gfx/gl/GLContext.h +=================================================================== +--- firefox-115.0.orig/gfx/gl/GLContext.h ++++ firefox-115.0/gfx/gl/GLContext.h +@@ -1560,6 +1560,13 @@ class GLContext : public GenericAtomicRe + BEFORE_GL_CALL; + mSymbols.fReadPixels(x, y, width, height, format, type, pixels); + OnSyncCall(); ++#if MOZ_BIG_ENDIAN() ++ uint8_t* itr = (uint8_t*)pixels; ++ for (GLsizei i = 0; i < width * height; i++) { ++ NativeEndian::swapToLittleEndianInPlace((uint32_t*)itr, 1); ++ itr += 4; ++ } ++#endif + AFTER_GL_CALL; + mHeavyGLCallsSinceLastFlush = true; + } diff --git a/firefox/mozilla-bmo998749.patch b/firefox/mozilla-bmo998749.patch new file mode 100644 index 000000000..50e22b569 --- /dev/null +++ b/firefox/mozilla-bmo998749.patch @@ -0,0 +1,29 @@ +# HG changeset patch +# User msirringhaus@suse.de +# Date 1583738770 -3600 +# Mon Mar 09 08:26:10 2020 +0100 +# Node ID 34676feac1a542e409e22acf5b98735f8313b1ce +# Parent 506857dace0a08d1c9685e3ac264646590b3e27f +[mq]: mozilla-bmo998749.patch + +diff -r 506857dace0a -r 34676feac1a5 gfx/2d/FilterProcessing.h +--- a/gfx/2d/FilterProcessing.h Fri Feb 28 12:31:51 2020 +0100 ++++ b/gfx/2d/FilterProcessing.h Mon Mar 09 08:26:10 2020 +0100 +@@ -13,10 +13,17 @@ + namespace mozilla { + namespace gfx { + ++#if MOZ_BIG_ENDIAN() ++const ptrdiff_t B8G8R8A8_COMPONENT_BYTEOFFSET_B = 3; ++const ptrdiff_t B8G8R8A8_COMPONENT_BYTEOFFSET_G = 2; ++const ptrdiff_t B8G8R8A8_COMPONENT_BYTEOFFSET_R = 1; ++const ptrdiff_t B8G8R8A8_COMPONENT_BYTEOFFSET_A = 0; ++#else + const ptrdiff_t B8G8R8A8_COMPONENT_BYTEOFFSET_B = 0; + const ptrdiff_t B8G8R8A8_COMPONENT_BYTEOFFSET_G = 1; + const ptrdiff_t B8G8R8A8_COMPONENT_BYTEOFFSET_R = 2; + const ptrdiff_t B8G8R8A8_COMPONENT_BYTEOFFSET_A = 3; ++#endif + + class FilterProcessing { + public: diff --git a/firefox/node-stdout-nonblocking-wrapper b/firefox/node-stdout-nonblocking-wrapper new file mode 100755 index 000000000..7dfb51396 --- /dev/null +++ b/firefox/node-stdout-nonblocking-wrapper @@ -0,0 +1,2 @@ +#!/bin/sh +exec node "$@" 2>&1 | cat - diff --git a/firefox/nspr-4.35.0-1.el8_1.src.rpm b/firefox/nspr-4.35.0-1.el8_1.src.rpm new file mode 100644 index 000000000..6f4d6793f Binary files /dev/null and b/firefox/nspr-4.35.0-1.el8_1.src.rpm differ diff --git a/firefox/nss-3.90.0-3.el8_1.src.rpm b/firefox/nss-3.90.0-3.el8_1.src.rpm new file mode 100644 index 000000000..80b91bce2 Binary files /dev/null and b/firefox/nss-3.90.0-3.el8_1.src.rpm differ diff --git a/firefox/nss-3.90.0-3.el9_0.src.rpm b/firefox/nss-3.90.0-3.el9_0.src.rpm new file mode 100644 index 000000000..d2572eacd Binary files /dev/null and b/firefox/nss-3.90.0-3.el9_0.src.rpm differ diff --git a/firefox/nss-setup-flags-env.inc b/firefox/nss-setup-flags-env.inc new file mode 100644 index 000000000..45f6e7938 --- /dev/null +++ b/firefox/nss-setup-flags-env.inc @@ -0,0 +1,7 @@ +sed -i 's@%{bundled_install_path}@%{_buildrootdir}%{bundled_install_path}@g' %{_buildrootdir}%{bundled_install_path}/%{_lib}/pkgconfig/nss*.pc + +export LDFLAGS="-L%{_buildrootdir}%{bundled_install_path}/%{_lib} $LDFLAGS" +export LDFLAGS="-Wl,-rpath,%{bundled_install_path}/%{_lib} $LDFLAGS" +export LDFLAGS="-Wl,-rpath-link,%{_buildrootdir}%{bundled_install_path}/%{_lib} $LDFLAGS" +export PKG_CONFIG_PATH=%{_buildrootdir}%{bundled_install_path}/%{_lib}/pkgconfig +export PATH="{_buildrootdir}%{bundled_install_path}/bin:$PATH" diff --git a/firefox/process-official-tarball b/firefox/process-official-tarball new file mode 100755 index 000000000..449e7bbd7 --- /dev/null +++ b/firefox/process-official-tarball @@ -0,0 +1,23 @@ +#!/bin/sh + +rm -rf ./process-tarball-dir +mkdir ./process-tarball-dir +tar -xJf $1 --directory process-tarball-dir + +rm -vf ./process-tarball-dir/*/testing/web-platform/tests/conformance-checkers/html-rdfa/0030-isvalid.html +rm -vf ./process-tarball-dir/*/testing/web-platform/tests/conformance-checkers/html-rdfa/0008-isvalid.html +rm -vf ./process-tarball-dir/*/testing/web-platform/tests/conformance-checkers/html-rdfalite/0030-isvalid.html +rm -vf ./process-tarball-dir/*/testing/web-platform/tests/css/css-ui/support/cursors/woolly-64.svg +rm -vf ./process-tarball-dir/*/testing/web-platform/tests/css/css-ui/support/cursors/woolly.svg +rm -vf ./process-tarball-dir/*/testing/web-platform/tests/conformance-checkers/html-rdfa/0230-novalid.html +rm -vf ./process-tarball-dir/*/testing/web-platform/tests/conformance-checkers/html-rdfa/0231-isvalid.html +rm -vf ./process-tarball-dir/*/layout/inspector/tests/chrome/test_fontVariationsAPI.css + +processed_tarball=${1/source/processed-source} + +cd ./process-tarball-dir +tar -cf - ./* | xz -9 -T 0 -f > $processed_tarball +mv $processed_tarball .. +cd .. + +rm -rf ./process-tarball-dir diff --git a/firefox/rhbz-1173156.patch b/firefox/rhbz-1173156.patch new file mode 100644 index 000000000..c35d901df --- /dev/null +++ b/firefox/rhbz-1173156.patch @@ -0,0 +1,12 @@ +diff -up firefox-60.5.0/extensions/auth/nsAuthSambaNTLM.cpp.rhbz-1173156 firefox-60.5.0/extensions/auth/nsAuthSambaNTLM.cpp +--- firefox-60.5.0/extensions/auth/nsAuthSambaNTLM.cpp.rhbz-1173156 2019-01-22 10:36:09.284069020 +0100 ++++ firefox-60.5.0/extensions/auth/nsAuthSambaNTLM.cpp 2019-01-22 10:37:12.669757744 +0100 +@@ -161,7 +161,7 @@ nsresult nsAuthSambaNTLM::SpawnNTLMAuthH + const char* username = PR_GetEnv("USER"); + if (!username) return NS_ERROR_FAILURE; + +- const char* const args[] = {"ntlm_auth", ++ const char* const args[] = {"/usr/bin/ntlm_auth", + "--helper-protocol", + "ntlmssp-client-1", + "--use-cached-creds", diff --git a/firefox/rhbz-1354671.patch b/firefox/rhbz-1354671.patch new file mode 100644 index 000000000..b6e8bbd06 --- /dev/null +++ b/firefox/rhbz-1354671.patch @@ -0,0 +1,12 @@ +diff -up firefox-70.0/layout/base/PresShell.h.1354671 firefox-70.0/layout/base/PresShell.h +--- firefox-70.0/layout/base/PresShell.h.1354671 2019-10-22 12:33:12.987775587 +0200 ++++ firefox-70.0/layout/base/PresShell.h 2019-10-22 12:36:39.999366086 +0200 +@@ -257,7 +257,7 @@ class PresShell final : public nsStubDoc + * to the same aSize value. AllocateFrame is infallible and will abort + * on out-of-memory. + */ +- void* AllocateFrame(nsQueryFrame::FrameIID aID, size_t aSize) { ++ void* __attribute__((optimize("no-lifetime-dse"))) AllocateFrame(nsQueryFrame::FrameIID aID, size_t aSize) { + #define FRAME_ID(classname, ...) \ + static_assert(size_t(nsQueryFrame::FrameIID::classname##_id) == \ + size_t(eArenaObjectID_##classname), \ diff --git a/firefox/rhbz-2131158-webrtc-nss-fix.patch b/firefox/rhbz-2131158-webrtc-nss-fix.patch new file mode 100644 index 000000000..78b458d05 --- /dev/null +++ b/firefox/rhbz-2131158-webrtc-nss-fix.patch @@ -0,0 +1,25 @@ +diff -up firefox-102.3.0/third_party/libsrtp/src/crypto/cipher/aes_gcm_nss.c.webrtc-fix firefox-102.3.0/third_party/libsrtp/src/crypto/cipher/aes_gcm_nss.c +--- firefox-102.3.0/third_party/libsrtp/src/crypto/cipher/aes_gcm_nss.c.webrtc-fix 2022-10-04 18:58:30.563683229 +0200 ++++ firefox-102.3.0/third_party/libsrtp/src/crypto/cipher/aes_gcm_nss.c 2022-10-04 18:58:44.583652963 +0200 +@@ -293,7 +293,7 @@ static srtp_err_status_t srtp_aes_gcm_ns + + int rv; + SECItem param = { siBuffer, (unsigned char *)&c->params, +- sizeof(CK_GCM_PARAMS) }; ++ sizeof(CK_NSS_GCM_PARAMS) }; + if (encrypt) { + rv = PK11_Encrypt(c->key, CKM_AES_GCM, ¶m, buf, enc_len, + *enc_len + 16, buf, *enc_len); +diff -up firefox-102.3.0/third_party/libsrtp/src/crypto/include/aes_gcm.h.webrtc-fix firefox-102.3.0/third_party/libsrtp/src/crypto/include/aes_gcm.h +--- firefox-102.3.0/third_party/libsrtp/src/crypto/include/aes_gcm.h.webrtc-fix 2022-10-04 18:59:16.635583764 +0200 ++++ firefox-102.3.0/third_party/libsrtp/src/crypto/include/aes_gcm.h 2022-10-04 18:59:31.848550924 +0200 +@@ -101,7 +101,7 @@ typedef struct { + uint8_t iv[12]; + uint8_t aad[MAX_AD_SIZE]; + int aad_size; +- CK_GCM_PARAMS params; ++ CK_NSS_GCM_PARAMS params; + uint8_t tag[16]; + } srtp_aes_gcm_ctx_t; + +diff -up firefox-102.3.0/third_party/prio/prio/encrypt.c.webrtc-fix firefox-102.3.0/third_party/prio/prio/encrypt.c diff --git a/firefox/testing.sh b/firefox/testing.sh new file mode 100755 index 000000000..ef868ecc4 --- /dev/null +++ b/firefox/testing.sh @@ -0,0 +1,260 @@ +#!/usr/bin/bash + + +function run_tests_wayland { + # usage: run-tests-wayland [test flavour] + + set -x + + RUN_XPCSHELL_TEST=1 + RUN_REFTEST=1 + RUN_MOCHITEST=1 + RUN_CRASHTEST=1 + + while (( "$#" )); do + SELECTED_TEST=$1 + if [ "$SELECTED_TEST" = "xpcshell" ] ; then + RUN_XPCSHELL_TEST=1 + elif [ "$SELECTED_TEST" = "reftest" ] ; then + RUN_REFTEST=1 + elif [ "$SELECTED_TEST" = "mochitest" ] ; then + RUN_MOCHITEST=1 + elif [ "$SELECTED_TEST" = "crashtest" ] ; then + RUN_CRASHTEST=1 + fi + shift + done + + export MACH_USE_SYSTEM_PYTHON=1 + export MOZ_NODE_PATH=/usr/bin/node + + MOCHITEST_PARAMS="--timeout 1 --chunk-by-dir 4" + TEST_DIR="test_results" + mkdir $TEST_DIR + + env | grep "DISPLAY" + + # Fix for system nss + ln -s /usr/bin/certutil objdir/dist/bin/certutil + ln -s /usr/bin/pk12util objdir/dist/bin/pk12util + + NCPUS="`/usr/bin/getconf _NPROCESSORS_ONLN`" + + export MOZ_ENABLE_WAYLAND=1 + + if [ $RUN_XPCSHELL_TEST -ne 0 ] ; then + # ./mach xpcshell-test 2>&1 | cat - | tee $TEST_DIR/xpcshell + ./mach xpcshell-test --enable-webrender 2>&1 | cat - | tee $TEST_DIR/xpcshell-wr + sleep 60 + fi + + # Basic render testing + export TEST_PARAMS="--setpref reftest.ignoreWindowSize=true --setpref widget.wayland.test-workarounds.enabled=true" + #export TEST_FLAVOUR="" + #if [ $RUN_REFTEST -ne 0 ] ; then + # ./mach reftest --marionette localhost:$(($(($RANDOM))+2000)) $TEST_PARAMS 2>&1 | tee $TEST_DIR/reftest$TEST_FLAVOUR + #fi + #if [ $RUN_CRASHTEST -ne 0 ] ; then + # ./mach crashtest --marionette localhost:$(($(($RANDOM))+2000)) $TEST_PARAMS 2>&1 | tee $TEST_DIR/crashtest$TEST_FLAVOUR + #fi + #if [ $RUN_MOCHITEST -ne 0 ] ; then + # ./mach mochitest --marionette localhost:$(($(($RANDOM))+2000)) $MOCHITEST_PARAMS $TEST_PARAMS 2>&1 | tee $TEST_DIR/mochitest$TEST_FLAVOUR + #fi + + # WebRender testing + export TEST_PARAMS="--enable-webrender $TEST_PARAMS" + export TEST_FLAVOUR="-wr" + # Use dom/base/test or dom/base/test/chrome for short version + export MOCHITEST_DIR='dom' + if [ $RUN_REFTEST -ne 0 ] ; then + ./mach reftest $TEST_PARAMS 2>&1 | tee $TEST_DIR/reftest$TEST_FLAVOUR + sleep 60 + fi + if [ $RUN_CRASHTEST -ne 0 ] ; then + ./mach crashtest $TEST_PARAMS 2>&1 | tee $TEST_DIR/crashtest$TEST_FLAVOUR + sleep 60 + fi + if [ $RUN_MOCHITEST -ne 0 ] ; then + ./mach mochitest $MOCHITEST_DIR $MOCHITEST_PARAMS $TEST_PARAMS 2>&1 | tee $TEST_DIR/mochitest$TEST_FLAVOUR + sleep 60 + fi + + rm -f objdir/dist/bin/certutil + rm -f objdir/dist/bin/pk12util +} + +function run_tests_x11() { + set -x + + export MACH_USE_SYSTEM_PYTHON=1 + export MOZ_NODE_PATH=/usr/bin/node + export X_PARAMS="-screen 0 1600x1200x24" + export MOCHITEST_PARAMS="--timeout 1 --chunk-by-dir 4" + export TEST_DIR="test_results" + + # Fix for system nss + ln -s /usr/bin/certutil objdir/dist/bin/certutil + ln -s /usr/bin/pk12util objdir/dist/bin/pk12util + + NCPUS="`/usr/bin/getconf _NPROCESSORS_ONLN`" + + # Basic render testing + export TEST_PARAMS="" + export TEST_FLAVOUR="" + #xvfb-run -s "$X_PARAMS" -n 91 ./mach xpcshell-test --sequential $TEST_PARAMS 2>&1 | cat - | tee $TEST_DIR/xpcshell + #xvfb-run -s "$X_PARAMS" -n 92 ./mach reftest --marionette localhost:$(($(($RANDOM))+2000)) $TEST_PARAMS 2>&1 | tee $TEST_DIR/reftest$TEST_FLAVOUR + #xvfb-run -s "$X_PARAMS" -n 93 ./mach crashtest --marionette localhost:$(($(($RANDOM))+2000)) $TEST_PARAMS 2>&1 | tee $TEST_DIR/crashtest$TEST_FLAVOUR + #xvfb-run -s "$X_PARAMS" -n 94 ./mach mochitest --marionette localhost:$(($(($RANDOM))+2000)) $MOCHITEST_PARAMS $TEST_PARAMS 2>&1 | tee $TEST_DIR/mochitest$TEST_FLAVOUR + + # WebRender testing + export TEST_PARAMS="--enable-webrender $TEST_PARAMS" + export TEST_FLAVOUR="-wr" + #xvfb-run -s "$X_PARAMS" -n 95 ./mach xpcshell-test --sequential $TEST_PARAMS 2>&1 | cat - | tee $TEST_DIR/xpcshell-wr + #sleep 60 + #xvfb-run -s "$X_PARAMS" -n 96 ./mach reftest $TEST_PARAMS 2>&1 | tee $TEST_DIR/reftest$TEST_FLAVOUR + #sleep 60 + #xvfb-run -s "$X_PARAMS" -n 97 ./mach crashtest $TEST_PARAMS 2>&1 | tee $TEST_DIR/crashtest$TEST_FLAVOUR + #sleep 60 + #export DISPLAY=:0 + #./mach mochitest dom/base/test/ $MOCHITEST_PARAMS $TEST_PARAMS 2>&1 | tee $TEST_DIR/mochitest$TEST_FLAVOUR + export DISPLAY=:98 + xvfb-run -s "$X_PARAMS" -n 98 ./mach mochitest dom/base/test/ $MOCHITEST_PARAMS $TEST_PARAMS 2>&1 | tee $TEST_DIR/mochitest$TEST_FLAVOUR + + rm -f objdir/dist/bin/certutil + rm -f objdir/dist/bin/pk12util +} + +function run_wayland_compositor() { + # Run wayland compositor and set WAYLAND_DISPLAY env variable + set -x + + echo export DESKTOP_SESSION=gnome > $HOME/.xsessionrc + echo export XDG_CURRENT_DESKTOP=GNOME > $HOME/.xsessionrc + echo export XDG_SESSION_TYPE=wayland >> $HOME/.xsessionrc + + # Turn off the screen saver and screen locking + gsettings set org.gnome.desktop.screensaver idle-activation-enabled false + gsettings set org.gnome.desktop.screensaver lock-enabled false + gsettings set org.gnome.desktop.screensaver lock-delay 3600 + + # Disable the screen saver + # This starts the gnome-keyring-daemon with an unlocked login keyring. libsecret uses this to + # store secrets. Firefox uses libsecret to store a key that protects sensitive information like + # credit card numbers. + if test -z "$DBUS_SESSION_BUS_ADDRESS" ; then + # if not found, launch a new one + eval `dbus-launch --sh-syntax` + fi + eval `echo '' | /usr/bin/gnome-keyring-daemon -r -d --unlock --components=secrets` + + if [ -z "$XDG_RUNTIME_DIR" ]; then + export XDG_RUNTIME_DIR=$HOME + fi + + . xvfb-run -s "-screen 0 1600x1200x24" -n 80 mutter --display=:80 --wayland --nested & + export DISPLAY=:80 + + if [ -z "$WAYLAND_DISPLAY" ] ; then + export WAYLAND_DISPLAY=wayland-0 + else + export WAYLAND_DISPLAY=wayland-1 + fi + sleep 10 + retry_count=0 + max_retries=5 + until [ $retry_count -gt $max_retries ]; do + if [ -S "$XDG_RUNTIME_DIR/$WAYLAND_DISPLAY" ]; then + retry_count=$(($max_retries + 1)) + else + retry_count=$(($retry_count + 1)) + echo "Waiting for Mutter, retry: $retry_count" + sleep 2 + fi + done + + env | grep "DISPLAY" +} + +function print_error_reftest() { + # Print reftest failures and compose them to html + + TEST_DIR="$1" + TEST_FLAVOUR="$2" + OUTPUT_FILE="failures-reftest$TEST_FLAVOUR.html" + + grep --text -e "REFTEST TEST-UNEXPECTED-PASS" -e "REFTEST TEST-UNEXPECTED-FAIL" -e "IMAGE 1 (TEST):" -e "IMAGE 2 (REFERENCE):" $TEST_DIR/reftest$TEST_FLAVOUR 2>&1 > $OUTPUT_FILE + sed -i '/REFTEST IMAGE 1/a ">' $OUTPUT_FILE + sed -i '/REFTEST IMAGE 2/a ">

' $OUTPUT_FILE + sed -i '/REFTEST TEST/a
' $OUTPUT_FILE + sed -i -e 's/^REFTEST IMAGE 1 (TEST): /&1 > failures-mochitest$TEST_FLAVOUR.txt + grep --text -e " FAIL " -e " TIMEOUT " $TEST_DIR/xpcshell$TEST_FLAVOUR 2>&1 > failures-xpcshell$TEST_FLAVOUR.txt + grep --text -e "REFTEST TEST-UNEXPECTED-PASS" -e "REFTEST TEST-UNEXPECTED-FAIL" $TEST_DIR/reftest$TEST_FLAVOUR 2>&1 > failures-reftest$TEST_FLAVOUR.txt +} + +function print_failures() { + #!/usr/bin/bash + # Analyze and print test failures + + export TEST_DIR="test_results" + + #./print-errors $TEST_DIR "" + print_errors $TEST_DIR "-wr" + #./print-error-reftest $TEST_DIR "" + print_error_reftest $TEST_DIR "-wr" +} + +function psummary() { + #!/usr/bin/bash + # Analyze and print specialized (basic/webrender) test results + + TEST_DIR=$1 + TEST_FLAVOUR=$2 + + MPASS=`grep "TEST_END: Test OK" $TEST_DIR/mochitest$TEST_FLAVOUR | wc -l` + MERR=`grep "TEST_END: Test ERROR" $TEST_DIR/mochitest$TEST_FLAVOUR | wc -l` + MUNEX=`grep "TEST-UNEXPECTED-FAIL" $TEST_DIR/mochitest$TEST_FLAVOUR | wc -l` + echo "Mochitest PASSED: $MPASS FAILED: $MERR UNEXPECTED-FAILURES: $MUNEX" + + XPCPASS=`grep --text "Expected results:" $TEST_DIR/xpcshell$TEST_FLAVOUR | cut -d ' ' -f 3` + XPCFAIL=`grep --text "Unexpected results:" $TEST_DIR/xpcshell$TEST_FLAVOUR | cut -d ' ' -f 3` + echo "XPCShell: PASSED: $XPCPASS FAILED: $XPCFAIL" + + CRPASS=`grep "REFTEST INFO | Successful:" $TEST_DIR/crashtest$TEST_FLAVOUR | cut -d ' ' -f 5` + CRFAIL=`grep "^REFTEST INFO | Unexpected:" $TEST_DIR/crashtest$TEST_FLAVOUR | cut -d ' ' -f 5` + echo "Crashtest: PASSED: $CRPASS FAILED: $CRFAIL" + + RFPASS=`grep --text "REFTEST INFO | Successful:" $TEST_DIR/reftest$TEST_FLAVOUR | cut -d ' ' -f 5` + RFUN=`grep --text "^REFTEST INFO | Unexpected:" $TEST_DIR/reftest$TEST_FLAVOUR | cut -d ' ' -f 5` + RFKNOWN=`grep --text "REFTEST INFO | Known problems:" $TEST_DIR/reftest$TEST_FLAVOUR | cut -d ' ' -f 6` + echo "Reftest: PASSED: $RFPASS FAILED: $RFUN Known issues: $RFKNOWN" +} + +function print_results() { + #!/usr/bin/bash + # Analyze and print general test results + + export TEST_DIR="test_results" + + echo "Test results" + #echo "Basic compositor" + #./psummary $TEST_DIR "" + echo "WebRender" + psummary $TEST_DIR "-wr" +} + +set -x +first=$1 +shift +$first $* + diff --git a/limefalls/limefalls.spec b/limefalls/limefalls.spec new file mode 100644 index 000000000..4a98b4f2f --- /dev/null +++ b/limefalls/limefalls.spec @@ -0,0 +1,33 @@ +Name: limefalls +Version: 1 +Release: 4%{?dist} +Summary: Gnome Shell + +License: GPLv2+ +URL: https://boostyconnect.com/oreon +Source0: limefalls.zip + +BuildArch: noarch + +BuildRequires: gettext +BuildRequires: sassc +BuildRequires: make +Requires: dconf-editor +Requires: dconf +Requires: libdbusmenu-gtk3 +Requires: oreon-backgrounds +Requires: oreon-backgrounds-extras + +%description +Themes + + +%prep +%autosetup -n limefalls -p 1 + +%install +mkdir -p %{buildroot}/usr/share/backgrounds/ +cp -r %{_builddir}/limefalls/. %{buildroot}/usr/share/backgrounds + +%files +/usr/share/backgrounds diff --git a/limefalls/limefalls.zip b/limefalls/limefalls.zip new file mode 100644 index 000000000..823c98ac4 Binary files /dev/null and b/limefalls/limefalls.zip differ diff --git a/mingw-wine-gecko/libffi-3.4.2.tar.gz b/mingw-wine-gecko/libffi-3.4.2.tar.gz new file mode 100644 index 000000000..6752a2768 Binary files /dev/null and b/mingw-wine-gecko/libffi-3.4.2.tar.gz differ diff --git a/mingw-wine-gecko/mingw-wine-gecko-gcc11.patch b/mingw-wine-gecko/mingw-wine-gecko-gcc11.patch new file mode 100644 index 000000000..d3a618574 --- /dev/null +++ b/mingw-wine-gecko/mingw-wine-gecko-gcc11.patch @@ -0,0 +1,29 @@ +--- a/old-configure.in 2020-11-30 06:47:56.000000000 -0600 ++++ b/old-configure.in 2022-01-27 07:24:48.411615321 -0600 +@@ -2071,7 +2071,7 @@ + # and NSS with -mnop-fun-dllimport flag. The drawback of this solution is that + # function thunks need to be generated for cross-DLL calls. + MOZ_FOLD_LIBS_FLAGS="-mnop-fun-dllimport" +- LDFLAGS="$LDFLAGS -Wl,--file-alignment,0x1000" ++ LDFLAGS="$LDFLAGS -Wl,--file-alignment,0x1000 -Wl,--image-base,0x10000000" + else + # Silence problematic clang warnings + CXXFLAGS="$CXXFLAGS -Wno-incompatible-ms-struct" +--- a/gfx/2d/Matrix.h 2020-11-30 06:47:56.000000000 -0600 ++++ b/gfx/2d/Matrix.h 2022-01-24 17:23:38.812193714 -0600 +@@ -11,6 +11,7 @@ + #include "Point.h" + #include "Quaternion.h" + #include ++#include + #include + #include "mozilla/Attributes.h" + #include "mozilla/DebugOnly.h" +--- a/js/src/ctypes/libffi/configure 2022-01-25 15:31:21.136318541 -0600 ++++ b/js/src/ctypes/libffi/configure 2022-01-27 07:20:06.853378891 -0600 +@@ -22137,4 +22137,5 @@ + + # Copy this file instead of using AC_CONFIG_LINK in order to support + # compiling with MSVC, which won't understand cygwin style symlinks. ++mkdir include + cp ${srcdir}/src/$TARGETDIR/ffitarget.h include/ffitarget.h diff --git a/mingw-wine-gecko/mingw-wine-gecko-header.patch b/mingw-wine-gecko/mingw-wine-gecko-header.patch new file mode 100644 index 000000000..7bd5d014c --- /dev/null +++ b/mingw-wine-gecko/mingw-wine-gecko-header.patch @@ -0,0 +1,168 @@ +--- a/accessible/windows/uia/uiaRawElmProvider.h 2022-07-12 08:33:06.000000000 -0500 ++++ b/accessible/windows/uia/uiaRawElmProvider.h 2022-10-10 21:00:37.312691681 -0500 +@@ -10,7 +10,12 @@ + #include "objbase.h" + #include "AccessibleWrap.h" + #include "IUnknownImpl.h" +-#include "uiautomation.h" ++//#include "uiautomation.h" ++#include ++#include ++ ++// from mingw/include/uiautomationcoreapi.h ++#define UiaAppendRuntimeId 3 + + namespace mozilla { + namespace a11y { +--- a/accessible/interfaces/msaa/ISimpleDOMDocument.idl 2022-07-12 08:33:06.000000000 -0500 ++++ b/accessible/interfaces/msaa/ISimpleDOMDocument.idl 2022-10-10 21:50:49.789611875 -0500 +@@ -54,6 +54,9 @@ + cpp_quote("///////////////////////////////////////////////////////////////////////////////////////////////////////") + cpp_quote("") + cpp_quote("") ++cpp_quote("HRESULT STDMETHODCALLTYPE IUnknown_QueryInterface_Proxy(IUnknown *This, REFIID riid, void **ppvObject);") ++cpp_quote("ULONG STDMETHODCALLTYPE IUnknown_AddRef_Proxy(IUnknown *This);") ++cpp_quote("ULONG STDMETHODCALLTYPE IUnknown_Release_Proxy(IUnknown *This);") + + import "objidl.idl"; + import "oaidl.idl"; +--- a/accessible/interfaces/msaa/ISimpleDOMText.idl 2022-10-10 21:50:58.653700783 -0500 ++++ b/accessible/interfaces/msaa/ISimpleDOMText.idl 2022-10-10 21:48:31.824229684 -0500 +@@ -50,6 +50,9 @@ + cpp_quote("///////////////////////////////////////////////////////////////////////////////////////////////////////") + cpp_quote("") + cpp_quote("") ++cpp_quote("HRESULT STDMETHODCALLTYPE IUnknown_QueryInterface_Proxy(IUnknown *This, REFIID riid, void **ppvObject);") ++cpp_quote("ULONG STDMETHODCALLTYPE IUnknown_AddRef_Proxy(IUnknown *This);") ++cpp_quote("ULONG STDMETHODCALLTYPE IUnknown_Release_Proxy(IUnknown *This);") + + [object, uuid(4e747be5-2052-4265-8af0-8ecad7aad1c0)] + interface ISimpleDOMText: IUnknown +--- a/other-licenses/ia2/Accessible2.idl 2022-07-12 08:33:06.000000000 -0500 ++++ b/other-licenses/ia2/Accessible2.idl 2022-10-10 21:53:19.401141868 -0500 +@@ -349,6 +349,10 @@ + + **/ + ++cpp_quote("HRESULT STDMETHODCALLTYPE IUnknown_QueryInterface_Proxy(IUnknown *This, REFIID riid, void **ppvObject);") ++cpp_quote("ULONG STDMETHODCALLTYPE IUnknown_AddRef_Proxy(IUnknown *This);") ++cpp_quote("ULONG STDMETHODCALLTYPE IUnknown_Release_Proxy(IUnknown *This);") ++ + import "objidl.idl"; + import "oaidl.idl"; + import "oleacc.idl"; +--- other-licenses/ia2/AccessibleAction.idl 2022-07-12 08:33:06.000000000 -0500 ++++ b/other-licenses/ia2/AccessibleAction.idl 2022-10-10 21:56:07.888866970 -0500 +@@ -51,6 +51,10 @@ + * + ************************************************************************/ + ++cpp_quote("HRESULT STDMETHODCALLTYPE IUnknown_QueryInterface_Proxy(IUnknown *This, REFIID riid, void **ppvObject);") ++cpp_quote("ULONG STDMETHODCALLTYPE IUnknown_AddRef_Proxy(IUnknown *This);") ++cpp_quote("ULONG STDMETHODCALLTYPE IUnknown_Release_Proxy(IUnknown *This);") ++ + import "objidl.idl"; + import "oaidl.idl"; + import "oleacc.idl"; +--- a/other-licenses/ia2/AccessibleApplication.idl 2022-07-12 08:33:06.000000000 -0500 ++++ b/other-licenses/ia2/AccessibleApplication.idl 2022-10-10 21:58:51.334540452 -0500 +@@ -51,6 +51,9 @@ + * + ************************************************************************/ + ++cpp_quote("HRESULT STDMETHODCALLTYPE IUnknown_QueryInterface_Proxy(IUnknown *This, REFIID riid, void **ppvObject);") ++cpp_quote("ULONG STDMETHODCALLTYPE IUnknown_AddRef_Proxy(IUnknown *This);") ++cpp_quote("ULONG STDMETHODCALLTYPE IUnknown_Release_Proxy(IUnknown *This);") + + import "objidl.idl"; + import "oaidl.idl"; +--- a/other-licenses/ia2/AccessibleComponent.idl 2022-07-12 08:33:06.000000000 -0500 ++++ b/other-licenses/ia2/AccessibleComponent.idl 2022-10-10 22:00:46.459714290 -0500 +@@ -51,6 +51,10 @@ + * + ************************************************************************/ + ++cpp_quote("HRESULT STDMETHODCALLTYPE IUnknown_QueryInterface_Proxy(IUnknown *This, REFIID riid, void **ppvObject);") ++cpp_quote("ULONG STDMETHODCALLTYPE IUnknown_AddRef_Proxy(IUnknown *This);") ++cpp_quote("ULONG STDMETHODCALLTYPE IUnknown_Release_Proxy(IUnknown *This);") ++ + import "objidl.idl"; + import "oaidl.idl"; + import "oleacc.idl"; +--- a/other-licenses/ia2/AccessibleDocument.idl 2022-07-12 08:33:06.000000000 -0500 ++++ b/other-licenses/ia2/AccessibleDocument.idl 2022-10-10 22:03:37.926434136 -0500 +@@ -49,6 +49,10 @@ + * + ************************************************************************/ + ++cpp_quote("HRESULT STDMETHODCALLTYPE IUnknown_QueryInterface_Proxy(IUnknown *This, REFIID riid, void **ppvObject);") ++cpp_quote("ULONG STDMETHODCALLTYPE IUnknown_AddRef_Proxy(IUnknown *This);") ++cpp_quote("ULONG STDMETHODCALLTYPE IUnknown_Release_Proxy(IUnknown *This);") ++ + import "objidl.idl"; + import "oaidl.idl"; + import "oleacc.idl"; +--- a/other-licenses/ia2/AccessibleEditableText.idl 2022-07-12 08:33:06.000000000 -0500 ++++ b/other-licenses/ia2/AccessibleEditableText.idl 2022-10-10 22:05:03.473292177 -0500 +@@ -51,6 +51,10 @@ + * + ************************************************************************/ + ++cpp_quote("HRESULT STDMETHODCALLTYPE IUnknown_QueryInterface_Proxy(IUnknown *This, REFIID riid, void **ppvObject);") ++cpp_quote("ULONG STDMETHODCALLTYPE IUnknown_AddRef_Proxy(IUnknown *This);") ++cpp_quote("ULONG STDMETHODCALLTYPE IUnknown_Release_Proxy(IUnknown *This);") ++ + import "objidl.idl"; + import "oaidl.idl"; + import "oleacc.idl"; +--- a/other-licenses/ia2/AccessibleImage.idl 2022-07-12 08:33:06.000000000 -0500 ++++ b/other-licenses/ia2/AccessibleImage.idl 2022-10-10 22:09:56.002205574 -0500 +@@ -50,6 +50,9 @@ + * Policy to indicate compliance with the IAccessible2 specification. + * + ************************************************************************/ ++cpp_quote("HRESULT STDMETHODCALLTYPE IUnknown_QueryInterface_Proxy(IUnknown *This, REFIID riid, void **ppvObject);") ++cpp_quote("ULONG STDMETHODCALLTYPE IUnknown_AddRef_Proxy(IUnknown *This);") ++cpp_quote("ULONG STDMETHODCALLTYPE IUnknown_Release_Proxy(IUnknown *This);") + + import "objidl.idl"; + import "oaidl.idl"; +--- a/other-licenses/ia2/AccessibleRelation.idl 2022-07-12 08:33:06.000000000 -0500 ++++ b/other-licenses/ia2/AccessibleRelation.idl 2022-10-10 22:12:04.181447409 -0500 +@@ -51,6 +51,10 @@ + * + ************************************************************************/ + ++cpp_quote("HRESULT STDMETHODCALLTYPE IUnknown_QueryInterface_Proxy(IUnknown *This, REFIID riid, void **ppvObject);") ++cpp_quote("ULONG STDMETHODCALLTYPE IUnknown_AddRef_Proxy(IUnknown *This);") ++cpp_quote("ULONG STDMETHODCALLTYPE IUnknown_Release_Proxy(IUnknown *This);") ++ + import "objidl.idl"; + import "oaidl.idl"; + import "oleacc.idl"; +--- a/other-licenses/ia2/AccessibleText.idl 2022-07-12 08:33:06.000000000 -0500 ++++ b/other-licenses/ia2/AccessibleText.idl 2022-10-10 22:15:18.708332033 -0500 +@@ -51,6 +51,10 @@ + * + ************************************************************************/ + ++cpp_quote("HRESULT STDMETHODCALLTYPE IUnknown_QueryInterface_Proxy(IUnknown *This, REFIID riid, void **ppvObject);") ++cpp_quote("ULONG STDMETHODCALLTYPE IUnknown_AddRef_Proxy(IUnknown *This);") ++cpp_quote("ULONG STDMETHODCALLTYPE IUnknown_Release_Proxy(IUnknown *This);") ++ + import "objidl.idl"; + import "oaidl.idl"; + import "oleacc.idl"; +--- a/other-licenses/ia2/AccessibleValue.idl 2022-07-12 08:33:06.000000000 -0500 ++++ b/other-licenses/ia2/AccessibleValue.idl 2022-10-10 22:18:05.236944031 -0500 +@@ -51,6 +51,10 @@ + * + ************************************************************************/ + ++cpp_quote("HRESULT STDMETHODCALLTYPE IUnknown_QueryInterface_Proxy(IUnknown *This, REFIID riid, void **ppvObject);") ++cpp_quote("ULONG STDMETHODCALLTYPE IUnknown_AddRef_Proxy(IUnknown *This);") ++cpp_quote("ULONG STDMETHODCALLTYPE IUnknown_Release_Proxy(IUnknown *This);") ++ + import "objidl.idl"; + import "oaidl.idl"; + import "oleacc.idl"; diff --git a/mingw-wine-gecko/mingw-wine-gecko.spec b/mingw-wine-gecko/mingw-wine-gecko.spec new file mode 100644 index 000000000..86b23b838 --- /dev/null +++ b/mingw-wine-gecko/mingw-wine-gecko.spec @@ -0,0 +1,141 @@ +%?mingw_package_header +%undefine _auto_set_build_flags + +Name: mingw-wine-gecko +Version: 2.47.4 +Release: 4%{?dist} +Summary: Gecko library required for Wine + +License: MPLv1.1 or GPLv2+ or LGPLv2+ +URL: http://wiki.winehq.org/Gecko +Source0: http://dl.winehq.org/wine/wine-gecko/%{version}/wine-gecko-%{version}-src.tar.xz +# https://bugs.winehq.org/show_bug.cgi?id=52455 +Source1: https://github.com/libffi/libffi/releases/download/v3.4.2/libffi-3.4.2.tar.gz +# https://bugs.winehq.org/show_bug.cgi?id=52085 +Patch1: %{name}-gcc11.patch +#Patch2: %%{name}-python311.patch +# bad hack for mingw header issue +Patch3: %{name}-header.patch + +BuildArch: noarch + +# This project is only useful with wine, and wine doesn't support PPC. +# We will adopt the same arch support that wine does. +ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 + +# 64 +BuildRequires: mingw64-filesystem >= 95 +BuildRequires: mingw64-binutils +BuildRequires: mingw64-headers +BuildRequires: mingw64-cpp +BuildRequires: mingw64-gcc +BuildRequires: mingw64-gcc-c++ +BuildRequires: mingw64-crt +BuildRequires: mingw64-winpthreads-static +# 32 +BuildRequires: mingw32-filesystem >= 95 +BuildRequires: mingw32-binutils +BuildRequires: mingw32-headers +BuildRequires: mingw32-cpp +BuildRequires: mingw32-gcc +BuildRequires: mingw32-gcc-c++ +BuildRequires: mingw32-crt +BuildRequires: mingw32-winpthreads-static + +BuildRequires: autoconf213 +BuildRequires: gcc +BuildRequires: gcc-c++ +BuildRequires: git +BuildRequires: pkgconfig +%if 0%{?fedora} > 36 +BuildRequires: python3.10 +%else +BuildRequires: python3 +%endif +BuildRequires: perl-Getopt-Long +BuildRequires: yasm +BuildRequires: zip +BuildRequires: wine-core +BuildRequires: wine-devel + +%description +Windows Gecko library required for Wine. + +%package -n mingw32-wine-gecko +Summary: Gecko library for 32bit wine +Requires: wine-common + +%description -n mingw32-wine-gecko +Windows Gecko library required for Wine. + +%package -n mingw64-wine-gecko +Summary: Gecko library for 64bit wine +Requires: wine-common + +%description -n mingw64-wine-gecko +Windows Gecko library required for Wine. + +%prep +%setup -q -c -n wine-gecko-%{version} +cd wine-gecko-%{version}/ +pushd js/src/ctypes/libffi +rm -rf ./* +gzip -dc %{SOURCE1} | tar -xf - --strip-components=1 +popd +%patch -P 1 -p1 +#patch -P 2 -p1 +%patch -P 3 -p1 + +# fix nsprpub cross compile detection +sed -i 's,cross_compiling=.*$,cross_compiling=yes,' nsprpub/configure + +# remove blank includes +rm -f media/libstagefright/ports/win32/include/pthread.h + +# fix wine cabinet tool +sed -i 's,$WINE cabarc.exe -r -m mszip N $cabfile msi/files,$WINE cabarc.exe -r -m mszip N $cabfile msi/files/*,' wine/make_package + +%build +cd wine-gecko-%{version} +# setup build options... +echo "mk_add_options MOZ_MAKE_FLAGS=%{_smp_mflags}" >> wine/mozconfig-common +echo "export CFLAGS=\"-DWINE_GECKO_SRC\"" >> wine/mozconfig-common + +cp wine/mozconfig-common wine/mozconfig-common.build + +# ... and build + +%if 0%{?fedora} > 36 +python3.10 -m venv env +source env/bin/activate +%endif + +# Make jobserver is broken under Python 3.10 +#TOOLCHAIN_PREFIX=i686-w64-mingw32- MAKEOPTS="%%{_smp_mflags}" ./wine/make_package --msi-package -win32 +TOOLCHAIN_PREFIX=i686-w64-mingw32- MAKEOPTS="-j1" ./wine/make_package --msi-package -win32 + +#TOOLCHAIN_PREFIX=x86_64-w64-mingw32- MAKEOPTS="%%{_smp_mflags}" ./wine/make_package --msi-package -win64 +TOOLCHAIN_PREFIX=x86_64-w64-mingw32- MAKEOPTS="-j1" ./wine/make_package --msi-package -win64 + +%install +mkdir -p %{buildroot}%{_datadir}/wine/gecko +install -p -m 0644 wine-gecko-%{version}-x86/dist/wine-gecko-%{version}-x86.msi \ + %{buildroot}%{_datadir}/wine/gecko/wine-gecko-%{version}-x86.msi +install -p -m 0644 wine-gecko-%{version}-x86_64/dist/wine-gecko-%{version}-x86_64.msi \ + %{buildroot}%{_datadir}/wine/gecko/wine-gecko-%{version}-x86_64.msi + +%files -n mingw32-wine-gecko +%license wine-gecko-%{version}/LICENSE +%doc wine-gecko-%{version}/LEGAL +%doc wine-gecko-%{version}/README.txt +%{_datadir}/wine/gecko/wine-gecko-%{version}-x86.msi + +%files -n mingw64-wine-gecko +%license wine-gecko-%{version}/LICENSE +%doc wine-gecko-%{version}/LEGAL +%doc wine-gecko-%{version}/README.txt +%{_datadir}/wine/gecko/wine-gecko-%{version}-x86_64.msi + +%changelog +* Fri May 17 2024 Brandon Lester - 2.47.4-4 +- Rebuilt for Oreon diff --git a/mingw-wine-gecko/wine-gecko-2.47.4-src.tar.xz b/mingw-wine-gecko/wine-gecko-2.47.4-src.tar.xz new file mode 100644 index 000000000..010bd734d Binary files /dev/null and b/mingw-wine-gecko/wine-gecko-2.47.4-src.tar.xz differ diff --git a/oreon-backgrounds/gnome-backgrounds.spec b/oreon-backgrounds/gnome-backgrounds.spec new file mode 100644 index 000000000..4ac307da7 --- /dev/null +++ b/oreon-backgrounds/gnome-backgrounds.spec @@ -0,0 +1,65 @@ +%global tarball_version %%(echo %{version} | tr '~' '.') + +Name: oreon-backgrounds +Version: 40.1 +Release: 2%{?dist} +Summary: Desktop backgrounds packaged with Oreon + +License: GPLv2 +URL: http://www.gnome.org +Source0: oreon-backgrounds-40.1.tar.xz + +BuildArch: noarch +BuildRequires: gettext +BuildRequires: meson + +%description +The oreon-backgrounds package contains the default +desktop background, known as the Adwaita background, +for the GNOME Desktop version + +%package extras +Summary: Additional Oreon Backgrounds +Requires: %{name} = %{version}-%{release} + +%description extras +This package contains the additional desktop backgrounds +which are packaged with the GNOME desktop. + +%prep +%autosetup -p1 -n %{name}-%{tarball_version} + +%build +%meson +%meson_build + +%install +%meson_install + +mkdir -p $RPM_BUILD_ROOT%{_datadir}/backgrounds/images + +# all translations are merged back into xml by intltool +rm -rf $RPM_BUILD_ROOT%{_datadir}/locale + +%files +%license COPYING +%doc AUTHORS NEWS README.md +%{_datadir}/gnome-background-properties/adwaita.xml +%{_datadir}/backgrounds/gnome/adwaita-day.png +%{_datadir}/backgrounds/gnome/adwaita-morning.png +%{_datadir}/backgrounds/gnome/adwaita-night.png +%{_datadir}/backgrounds/gnome/adwaita-timed.xml + +%files extras +%{_datadir}/gnome-background-properties/gnome-backgrounds.xml +%{_datadir}/backgrounds/gnome/limefalls.png +%{_datadir}/backgrounds/gnome/orange.png +%{_datadir}/backgrounds/gnome/IceCrystals.jpg +%{_datadir}/backgrounds/gnome/Lava.jpg +%{_datadir}/backgrounds/gnome/red.png +%{_datadir}/backgrounds/gnome/blue.png +%{_datadir}/backgrounds/gnome/Loveles.jpg +%{_datadir}/backgrounds/gnome/Symbolics-1.png +%{_datadir}/backgrounds/gnome/Tree.jpg +%{_datadir}/backgrounds/gnome/VNC.png +%{_datadir}/backgrounds/gnome/Wood.jpg diff --git a/oreon-backgrounds/oreon-backgrounds-40.1.tar.xz b/oreon-backgrounds/oreon-backgrounds-40.1.tar.xz new file mode 100644 index 000000000..c746cb7dc Binary files /dev/null and b/oreon-backgrounds/oreon-backgrounds-40.1.tar.xz differ diff --git a/oreon-logos/oreon-logos-9.tar.gz b/oreon-logos/oreon-logos-9.tar.gz new file mode 100644 index 000000000..d1eac15fe Binary files /dev/null and b/oreon-logos/oreon-logos-9.tar.gz differ diff --git a/oreon-logos/oreon-logos.spec b/oreon-logos/oreon-logos.spec new file mode 100644 index 000000000..331f99eac --- /dev/null +++ b/oreon-logos/oreon-logos.spec @@ -0,0 +1,1217 @@ +Name: oreon-logos +Summary: Oreon Branding +Version: 9 +Release: 2%{?dist} +URL: https://pagure.io/fedora-logos +Source0: oreon-logos-%{version}.tar.gz +Source1: oreon_darkbackground.svg +License: Licensed only for approved usage, see COPYING for details. +Provides: redhat-logos = %{version}-%{release} +Provides: gnome-logos = %{version}-%{release} +Provides: system-logos = %{version}-%{release} +Provides: oreon-logos +Provides: fedora-logos +Obsoletes: fedora-logos +BuildArch: noarch +BuildRequires: hardlink + +%if ! 0%{?eln} +# For _kde4_* macros: +BuildRequires: kde-filesystem +%endif + +%description +The fedora-logos package contains image files which incorporate the +Fedora trademarks (the "Marks"). The Marks are trademarks or registered +trademarks of Red Hat, Inc. in the United States and other countries and +are used by permission. + +This package and its content may not be distributed with anything but +unmodified packages from Fedora Project. It can be used in a Fedora Spin, +but not in a Fedora Remix. If necessary, this package can be replaced by +the more liberally licensed generic-logos package. + +See the included COPYING file for full information on copying and +redistribution of this package and its contents. + +%package httpd +Summary: Oreon Branding +Provides: system-logos-httpd = %{version}-%{release} +BuildArch: noarch +Recommends: julietaula-montserrat-fonts +Provides: system-logos(httpd-logo-ng) + +%description httpd +The fedora-logos-httpd package contains image files which incorporate the +Fedora trademarks (the "Marks"). The Marks are trademarks or registered +trademarks of Red Hat, Inc. in the United States and other countries and +are used by permission. + +This package and its content may not be distributed with anything but +unmodified packages from Fedora Project. It can be used in a Fedora Spin, +but not in a Fedora Remix. If necessary, this package can be replaced by +the more liberally licensed generic-logos package. + +See the included COPYING file for full information on copying and +redistribution of this package and its contents. + +%package classic +Summary: Classic versions of the Fedora icons and pictures +BuildArch: noarch + +%description classic +The fedora-logos-classic package contains image files which incorporate the +classic Fedora trademarks (the "Marks"). The Marks are trademarks or +registered trademarks of Red Hat, Inc. in the United States and other +countries and are used by permission. + +This package and its content may not be distributed with anything but +unmodified packages from Fedora Project. + +See the included COPYING file for full information on copying and +redistribution of this package and its contents. + +PLEASE NOTE: This package does not provide system-logos and cannot be +used as a drop-in replacement for fedora-logos. + +%prep +%autosetup -p1 + +%build + +%install +# Bootloader related files +mkdir -p $RPM_BUILD_ROOT%{_datadir}/pixmaps/bootloader +# To regenerate this file, see the bootloader/fedora.icns entry in the Makefile +install -p -m 644 bootloader/fedora.icns $RPM_BUILD_ROOT%{_datadir}/pixmaps/bootloader + +# Classic variant +install -p -m 644 bootloader/fedora_classic.icns $RPM_BUILD_ROOT%{_datadir}/pixmaps/bootloader + +# To regenerate these files, run: +# pngtopnm foo.png | ppmtoapplevol > foo.vol +install -p -m 644 bootloader/fedora.vol bootloader/fedora-media.vol $RPM_BUILD_ROOT%{_datadir}/pixmaps/bootloader + +# General purpose Fedora logos +for i in pixmaps/* ; do + install -p -m 644 $i $RPM_BUILD_ROOT%{_datadir}/pixmaps +done + +# Anaconda release notes (that contain Fedora logos) +# Pretty sure these are legacy/unused now (2021). +for i in rnotes/* ; do + mkdir -p $RPM_BUILD_ROOT%{_datadir}/anaconda/pixmaps/$i + install -p -m 644 $i/* $RPM_BUILD_ROOT%{_datadir}/anaconda/pixmaps/$i +done + +# OLD LOGO ONLY +# The Plymouth charge theme (uses the Fedora logo) +mkdir -p $RPM_BUILD_ROOT%{_datadir}/plymouth/themes/charge +for i in plymouth/charge/* ; do + install -p -m 644 $i $RPM_BUILD_ROOT%{_datadir}/plymouth/themes/charge +done + +# The Plymoth spinner theme Fedora logo bits +mkdir -p $RPM_BUILD_ROOT%{_datadir}/plymouth/themes/spinner +touch watermark.png +install -p -m 644 watermark.png $RPM_BUILD_ROOT%{_datadir}/plymouth/themes/spinner/watermark.png + + +# Fedora logo icons +for size in 16x16 22x22 24x24 32x32 36x36 48x48 96x96 256x256 ; do + mkdir -p $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/$size/apps + mkdir -p $RPM_BUILD_ROOT%{_datadir}/icons/Bluecurve/$size/apps + pushd $RPM_BUILD_ROOT%{_datadir}/icons/Bluecurve/$size/apps + ln -s ../../../hicolor/$size/apps/fedora-logo-icon.png icon-panel-menu.png + ln -s ../../../hicolor/$size/apps/fedora-logo-icon_classic.png icon-panel-menu_classic.png + ln -s ../../../hicolor/$size/apps/fedora-logo-icon.png gnome-main-menu.png + ln -s ../../../hicolor/$size/apps/fedora-logo-icon_classic.png gnome-main-menu_classic.png + ln -s ../../../hicolor/$size/apps/fedora-logo-icon.png kmenu.png + ln -s ../../../hicolor/$size/apps/fedora-logo-icon_classic.png kmenu_classic.png + ln -s ../../../hicolor/$size/apps/fedora-logo-icon.png start-here.png + ln -s ../../../hicolor/$size/apps/fedora-logo-icon_classic.png start-here_classic.png + popd + for i in icons/hicolor/$size/apps/* ; do + install -p -m 644 $i $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/$size/apps + done +done + +for i in 16 22 24 32 36 48 96 256 ; do + mkdir -p $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/${i}x${i}/places + install -p -m 644 -D $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/${i}x${i}/apps/fedora-logo-icon.png $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/${i}x${i}/places/start-here.png + install -p -m 644 -D $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/${i}x${i}/apps/fedora-logo-icon_classic.png $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/${i}x${i}/places/start-here_classic.png +%if ! 0%{?eln} + install -p -m 644 -D $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/${i}x${i}/apps/fedora-logo-icon.png $RPM_BUILD_ROOT%{_kde4_iconsdir}/oxygen/${i}x${i}/places/start-here-kde-fedora.png + install -p -m 644 -D $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/${i}x${i}/apps/fedora-logo-icon_classic.png $RPM_BUILD_ROOT%{_kde4_iconsdir}/oxygen/${i}x${i}/places/start-here-kde-fedora_classic.png +%endif +done + +%if ! 0%{?eln} +mkdir -p $RPM_BUILD_ROOT%{_kde4_iconsdir}/oxygen/scalable/apps/ +install -p -m 644 icons/hicolor/scalable/apps/org.fedoraproject.AnacondaInstaller.svg $RPM_BUILD_ROOT%{_kde4_iconsdir}/oxygen/scalable/apps/ +install -p -m 644 icons/hicolor/scalable/apps/org.fedoraproject.AnacondaInstaller_classic.svg $RPM_BUILD_ROOT%{_kde4_iconsdir}/oxygen/scalable/apps/ +%endif + +# Fedora favicon +mkdir -p $RPM_BUILD_ROOT%{_sysconfdir} +pushd $RPM_BUILD_ROOT%{_sysconfdir} + ln -s %{_datadir}/icons/hicolor/16x16/apps/fedora-logo-icon.png favicon.png + ln -s %{_datadir}/icons/hicolor/16x16/apps/fedora-logo-icon_classic.png favicon_classic.png +popd + +# Fedora hicolor icons +mkdir -p $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/scalable/apps +install -p -m 644 icons/hicolor/scalable/apps/xfce4_xicon1.svg $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/scalable/apps +install -p -m 644 icons/hicolor/scalable/apps/xfce4_xicon1_classic.svg $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/scalable/apps +install -p -m 644 icons/hicolor/scalable/apps/fedora-logo-icon.svg $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/scalable/apps/start-here.svg +install -p -m 644 icons/hicolor/scalable/apps/fedora-logo-icon_classic.svg $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/scalable/apps/start-here_classic.svg +install -p -m 644 icons/hicolor/scalable/apps/org.fedoraproject.AnacondaInstaller.svg $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/scalable/apps/org.fedoraproject.AnacondaInstaller.svg +install -p -m 644 icons/hicolor/scalable/apps/org.fedoraproject.AnacondaInstaller_classic.svg $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/scalable/apps/org.fedoraproject.AnacondaInstaller_classic.svg +mkdir -p $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/scalable/places/ +pushd $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/scalable/places/ + ln -s ../apps/start-here.svg . + ln -s ../apps/start-here_classic.svg . +popd +mkdir -p $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/symbolic/apps +install -p -m 644 icons/hicolor/symbolic/apps/org.fedoraproject.AnacondaInstaller-symbolic.svg $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/symbolic/apps/ +install -p -m 644 icons/hicolor/symbolic/apps/org.fedoraproject.AnacondaInstaller-symbolic_classic.svg $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/symbolic/apps/ + +# Fedora logos for the clearlooks theme (icewm) +mkdir -p $RPM_BUILD_ROOT%{_datadir}/icewm/themes/clearlooks/taskbar/ +install -p -m 644 icons/clearlooks/taskbar/icewm_taskbar_logos_fedora.tar.gz $RPM_BUILD_ROOT%{_datadir}/icewm/themes/clearlooks/taskbar/ +install -p -m 644 icons/clearlooks/taskbar/linux.xpm $RPM_BUILD_ROOT%{_datadir}/icewm/themes/clearlooks/taskbar/ +install -p -m 644 icons/clearlooks/taskbar/linux_fedora.xpm $RPM_BUILD_ROOT%{_datadir}/icewm/themes/clearlooks/taskbar/ +install -p -m 644 icons/clearlooks/taskbar/linux_fedora_logo.xpm $RPM_BUILD_ROOT%{_datadir}/icewm/themes/clearlooks/taskbar/ +install -p -m 644 icons/clearlooks/taskbar/icewm_taskbar_logos_fedora_classic.tar.gz $RPM_BUILD_ROOT%{_datadir}/icewm/themes/clearlooks/taskbar/ +install -p -m 644 icons/clearlooks/taskbar/linux_classic.xpm $RPM_BUILD_ROOT%{_datadir}/icewm/themes/clearlooks/taskbar/ +install -p -m 644 icons/clearlooks/taskbar/linux_fedora_classic.xpm $RPM_BUILD_ROOT%{_datadir}/icewm/themes/clearlooks/taskbar/ +install -p -m 644 icons/clearlooks/taskbar/linux_fedora_logo_classic.xpm $RPM_BUILD_ROOT%{_datadir}/icewm/themes/clearlooks/taskbar/ +mkdir -p $RPM_BUILD_ROOT%{_datadir}/icewm/themes/clearlooks-2px/taskbar/ +install -p -m 644 icons/clearlooks/taskbar/icewm_taskbar_logos_fedora.tar.gz $RPM_BUILD_ROOT%{_datadir}/icewm/themes/clearlooks-2px/taskbar/ +install -p -m 644 icons/clearlooks/taskbar/linux.xpm $RPM_BUILD_ROOT%{_datadir}/icewm/themes/clearlooks-2px/taskbar/ +install -p -m 644 icons/clearlooks/taskbar/linux_fedora.xpm $RPM_BUILD_ROOT%{_datadir}/icewm/themes/clearlooks-2px/taskbar/ +install -p -m 644 icons/clearlooks/taskbar/linux_fedora_logo.xpm $RPM_BUILD_ROOT%{_datadir}/icewm/themes/clearlooks-2px/taskbar/ +install -p -m 644 icons/clearlooks/taskbar/icewm_taskbar_logos_fedora_classic.tar.gz $RPM_BUILD_ROOT%{_datadir}/icewm/themes/clearlooks-2px/taskbar/ +install -p -m 644 icons/clearlooks/taskbar/linux_classic.xpm $RPM_BUILD_ROOT%{_datadir}/icewm/themes/clearlooks-2px/taskbar/ +install -p -m 644 icons/clearlooks/taskbar/linux_fedora_classic.xpm $RPM_BUILD_ROOT%{_datadir}/icewm/themes/clearlooks-2px/taskbar/ +install -p -m 644 icons/clearlooks/taskbar/linux_fedora_logo_classic.xpm $RPM_BUILD_ROOT%{_datadir}/icewm/themes/clearlooks-2px/taskbar/ + +# Fedora art in anaconda +# To regenerate the lss file, see anaconda/Makefile +mkdir -p %{buildroot}%{_datadir}/anaconda/boot +install -p -m 644 anaconda/splash.lss %{buildroot}%{_datadir}/anaconda/boot/ +install -p -m 644 anaconda/syslinux-splash.png %{buildroot}%{_datadir}/anaconda/boot/ +# note the filename change +install -p -m 644 anaconda/syslinux-vesa-splash.png %{buildroot}%{_datadir}/anaconda/boot/splash.png +mkdir -p %{buildroot}%{_datadir}/anaconda/pixmaps +install -p -m 644 anaconda/anaconda_header.png %{buildroot}%{_datadir}/anaconda/pixmaps/ +install -p -m 644 anaconda/anaconda_header_classic.png %{buildroot}%{_datadir}/anaconda/pixmaps/ +# This had not been regenerated since Fedora 17. Clearly not used anymore. +# install -p -m 644 anaconda/progress_first.png %%{buildroot}%%{_datadir}/anaconda/pixmaps/ +# install -p -m 644 anaconda/splash.png %%{buildroot}%%{_datadir}/anaconda/pixmaps/ +install -p -m 644 anaconda/sidebar-logo.png %{buildroot}%{_datadir}/anaconda/pixmaps/ +install -p -m 644 anaconda/sidebar-logo_classic.png %{buildroot}%{_datadir}/anaconda/pixmaps/ +install -p -m 644 anaconda/sidebar-bg.png %{buildroot}%{_datadir}/anaconda/pixmaps/ +install -p -m 644 anaconda/topbar-bg.png %{buildroot}%{_datadir}/anaconda/pixmaps/ +install -p -m 644 anaconda/fedora.css %{buildroot}%{_datadir}/anaconda/pixmaps/ + +# Variant Anaconda art +pushd anaconda +for i in atomic cloud server silverblue workstation ; do + cp -a $i $RPM_BUILD_ROOT%{_datadir}/anaconda/pixmaps/ +done +popd + +%if ! 0%{?eln} +# KDE Theme logos +# DO NOT REMOVE THIS ICON!!! We still support the Leonidas and Solar themes! +mkdir -p $RPM_BUILD_ROOT%{_kde4_appsdir}/ksplash/Themes/Leonidas/2048x1536/ +install -p -m 644 kde-splash/Leonidas-fedora.png $RPM_BUILD_ROOT%{_kde4_appsdir}/ksplash/Themes/Leonidas/2048x1536/logo.png +install -p -m 644 kde-splash/Leonidas-fedora_classic.png $RPM_BUILD_ROOT%{_kde4_appsdir}/ksplash/Themes/Leonidas/2048x1536/logo_classic.png +%endif + +# SVG Fedora logos +mkdir -p $RPM_BUILD_ROOT%{_datadir}/%{name} +cp -a oreon/*.svg $RPM_BUILD_ROOT%{_datadir}/%{name} + +# HTTP files +cp -a css3 $RPM_BUILD_ROOT%{_datadir}/%{name}/ +mkdir -p $RPM_BUILD_ROOT%{_datadir}/fedora-testpage/ +cp -a testpage/index.html $RPM_BUILD_ROOT%{_datadir}/fedora-testpage/ + +# The proper path should be unbranded, but because of history it's easier for +# this package to symlink the old path to the proper one. This avoids having +# to perform scriptlet trickery to handle upgrades from the directory to a +# symlink. +ln -s fedora-testpage $RPM_BUILD_ROOT%{_datadir}/testpage + +# save some dup'd icons +# Except in /boot. Because some people think it is fun to use VFAT for /boot. +# hardlink is /usr/sbin/hardlink on Fedora <= 30 and /usr/bin/hardlink on F31+ +hardlink -vv %{buildroot}/usr + +%files +%license COPYING +%config(noreplace) %{_sysconfdir}/favicon.png +%{_datadir}/plymouth/themes/spinner/ +%if ! 0%{?eln} +# No one else before us owns this, so we shall. +%dir %{_kde4_sharedir}/kde4/ +%exclude %{_kde4_iconsdir}/oxygen/*/places/start-here-kde-fedora_classic.png +%exclude %{_kde4_iconsdir}/oxygen/scalable/apps/org.fedoraproject.AnacondaInstaller_classic.svg +%{_kde4_iconsdir}/oxygen/ +# DO NOT REMOVE THIS ICON!!! We still support the Leonidas and Solar themes! +%{_kde4_appsdir}/ksplash/Themes/Leonidas/2048x1536/logo.png +%endif +# in -classic +%exclude %{_datadir}/pixmaps/bootloader/fedora_classic.icns +%exclude %{_datadir}/pixmaps/fedora-gdm-logo_classic.png +%exclude %{_datadir}/pixmaps/fedora-logo_classic.png +%exclude %{_datadir}/pixmaps/fedora-logo-small_classic.png +%exclude %{_datadir}/pixmaps/fedora-logo-sprite_classic.png +%exclude %{_datadir}/pixmaps/fedora-logo-sprite_classic.svg +%exclude %{_datadir}/pixmaps/fedora_whitelogo_classic.svg +%exclude %{_datadir}/pixmaps/poweredby_classic.png +%exclude %{_datadir}/pixmaps/system-logo-white_classic.png +%{_datadir}/pixmaps/* +# This lives in the http subpackage +%exclude %{_datadir}/pixmaps/poweredby.png +%exclude %{_datadir}/anaconda/pixmaps/*_classic* +%exclude %{_datadir}/anaconda/pixmaps/*/*_classic* +%{_datadir}/anaconda/pixmaps/* +%{_datadir}/anaconda/boot/splash.lss +%{_datadir}/anaconda/boot/syslinux-splash.png +%{_datadir}/anaconda/boot/splash.png +%exclude %{_datadir}/icewm/themes/clearlooks/taskbar/*_classic* +%exclude %{_datadir}/icewm/themes/clearlooks-2px/taskbar/*_classic* +%{_datadir}/icewm/themes/clearlooks/taskbar/* +%{_datadir}/icewm/themes/clearlooks-2px/taskbar/* +%exclude %{_datadir}/icons/hicolor/*/apps/*_classic* +%exclude %{_datadir}/icons/hicolor/*/places/*_classic* +%exclude %{_datadir}/icons/Bluecurve/*/apps/*_classic* +%{_datadir}/icons/hicolor/*/apps/* +%{_datadir}/icons/hicolor/*/places/* +%{_datadir}/icons/Bluecurve/*/apps/* +%exclude %{_datadir}/%{name}/*_classic* +# old logo +%exclude %{_datadir}/%{name}/css3 +%{_datadir}/%{name}/ +# we multi-own these directories, so as not to require the packages that +# provide them, thereby dragging in excess dependencies. +%dir %{_datadir}/icons/Bluecurve/ +%dir %{_datadir}/icons/Bluecurve/16x16/ +%dir %{_datadir}/icons/Bluecurve/16x16/apps/ +%dir %{_datadir}/icons/Bluecurve/22x22/ +%dir %{_datadir}/icons/Bluecurve/22x22/apps/ +%dir %{_datadir}/icons/Bluecurve/24x24/ +%dir %{_datadir}/icons/Bluecurve/24x24/apps/ +%dir %{_datadir}/icons/Bluecurve/32x32/ +%dir %{_datadir}/icons/Bluecurve/32x32/apps/ +%dir %{_datadir}/icons/Bluecurve/36x36/ +%dir %{_datadir}/icons/Bluecurve/36x36/apps/ +%dir %{_datadir}/icons/Bluecurve/48x48/ +%dir %{_datadir}/icons/Bluecurve/48x48/apps/ +%dir %{_datadir}/icons/Bluecurve/96x96/ +%dir %{_datadir}/icons/Bluecurve/96x96/apps/ +%dir %{_datadir}/icons/Bluecurve/256x256/ +%dir %{_datadir}/icons/Bluecurve/256x256/apps/ +%dir %{_datadir}/icons/hicolor/ +%dir %{_datadir}/icons/hicolor/16x16/ +%dir %{_datadir}/icons/hicolor/16x16/apps/ +%dir %{_datadir}/icons/hicolor/16x16/places/ +%dir %{_datadir}/icons/hicolor/22x22/ +%dir %{_datadir}/icons/hicolor/22x22/apps/ +%dir %{_datadir}/icons/hicolor/22x22/places/ +%dir %{_datadir}/icons/hicolor/24x24/ +%dir %{_datadir}/icons/hicolor/24x24/apps/ +%dir %{_datadir}/icons/hicolor/24x24/places/ +%dir %{_datadir}/icons/hicolor/32x32/ +%dir %{_datadir}/icons/hicolor/32x32/apps/ +%dir %{_datadir}/icons/hicolor/32x32/places/ +%dir %{_datadir}/icons/hicolor/36x36/ +%dir %{_datadir}/icons/hicolor/36x36/apps/ +%dir %{_datadir}/icons/hicolor/36x36/places/ +%dir %{_datadir}/icons/hicolor/48x48/ +%dir %{_datadir}/icons/hicolor/48x48/apps/ +%dir %{_datadir}/icons/hicolor/48x48/places/ +%dir %{_datadir}/icons/hicolor/96x96/ +%dir %{_datadir}/icons/hicolor/96x96/apps/ +%dir %{_datadir}/icons/hicolor/96x96/places/ +%dir %{_datadir}/icons/hicolor/256x256/ +%dir %{_datadir}/icons/hicolor/256x256/apps/ +%dir %{_datadir}/icons/hicolor/256x256/places/ +%dir %{_datadir}/icons/hicolor/scalable/ +%dir %{_datadir}/icons/hicolor/scalable/apps/ +%dir %{_datadir}/icons/hicolor/scalable/places/ +%dir %{_datadir}/anaconda +%dir %{_datadir}/anaconda/boot/ +%dir %{_datadir}/anaconda/pixmaps/ +%dir %{_datadir}/plymouth/ +%dir %{_datadir}/plymouth/themes/ +%if ! 0%{?eln} +# DO NOT REMOVE THESE DIRS!!! We still support the Leonidas and Solar themes! +%dir %{_kde4_appsdir} +%dir %{_kde4_appsdir}/ksplash +%dir %{_kde4_appsdir}/ksplash/Themes/ +%dir %{_kde4_appsdir}/ksplash/Themes/Leonidas/ +%dir %{_kde4_appsdir}/ksplash/Themes/Leonidas/2048x1536 +%endif + +%files httpd +%license COPYING +%dir %{_datadir}/fedora-testpage +%{_datadir}/testpage +%{_datadir}/fedora-testpage/index.html +%{_datadir}/pixmaps/poweredby.png + +# EVERYTHING IN CLASSIC USES OLD LOGO +%files classic +%license COPYING +%if ! 0%{?eln} +%{_kde4_iconsdir}/oxygen/*/places/start-here-kde-fedora_classic.png +%{_kde4_iconsdir}/oxygen/scalable/apps/org.fedoraproject.AnacondaInstaller_classic.svg +%{_kde4_appsdir}/ksplash/Themes/Leonidas/2048x1536/logo_classic.png +%endif +%{_sysconfdir}/favicon_classic.png +%{_datadir}/anaconda/pixmaps/*_classic* +%{_datadir}/anaconda/pixmaps/*/*_classic* +%{_datadir}/icewm/themes/clearlooks/taskbar/*_classic* +%{_datadir}/icewm/themes/clearlooks-2px/taskbar/*_classic* +%{_datadir}/icons/hicolor/*/apps/*_classic* +%{_datadir}/icons/hicolor/*/places/*_classic* +%{_datadir}/icons/Bluecurve/*/apps/*_classic* +%{_datadir}/%{name}/*_classic* +%{_datadir}/%{name}/css3/ +%{_datadir}/pixmaps/bootloader/fedora_classic.icns +%{_datadir}/pixmaps/fedora-gdm-logo_classic.png +%{_datadir}/pixmaps/fedora-logo_classic.png +%{_datadir}/pixmaps/fedora-logo-small_classic.png +%{_datadir}/pixmaps/fedora-logo-sprite_classic.png +%{_datadir}/pixmaps/fedora-logo-sprite_classic.svg +%{_datadir}/pixmaps/fedora_whitelogo_classic.svg +%{_datadir}/pixmaps/poweredby_classic.png +%{_datadir}/pixmaps/system-logo-white_classic.png +%{_datadir}/plymouth/themes/charge/ + + + +%changelog +* Mon Apr 04 2022 Nils Philippsen - 36.0.0-2 +- Add logo for dark backgrounds + +* Mon Mar 28 2022 Kevin Fenzi - 36.0.0-1 +- Add bootloader logos for m1n1 + +* Thu Jan 20 2022 Fedora Release Engineering - 35.0.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Tue Oct 26 2021 Parag Nemade - 35.0.0-2 +- Change Recommends: from julietaula-montserrat-base-web-fonts to julietaula-montserrat-fonts + +* Fri Oct 8 2021 Tom Callaway - 35.0.0-1 +- add silverblue files + +* Wed Jul 21 2021 Fedora Release Engineering - 34.0.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Wed Jul 14 2021 Tom Callaway - 34.0.4-1 +- update to fix anaconda/pixmaps/topbar-bg.png (bz1959160) + +* Thu Apr 29 2021 Tom Callaway - 34.0.3-1 +- add logo file that breeze-icon-theme needs + +* Mon Apr 12 2021 Lubos Uhliarik - 34.0.2-3 +- Provide: system-logos(httpd-logo-ng) for httpd subpackage + +* Mon Apr 12 2021 Tom Callaway - 34.0.2-2 +- install anaconda/fedora.css + +* Wed Mar 31 2021 Tom Callaway - 34.0.2-1 +- fix logo without "f" cutout + +* Fri Mar 26 2021 Tom Callaway - 34.0.1-1 +- pull latest changes for new logo + +* Tue Mar 23 2021 Tom Callaway - 34.0.0-1 +- update to new logo +- make -classic subpackage + +* Tue Feb 09 2021 Jan Grulich - 33.0.0-3 +- Do not require kde-filesystem on ELN + +* Tue Jan 26 2021 Fedora Release Engineering - 33.0.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Tue Oct 27 2020 Tom Callaway - 33.0.0-1 +- drop fedora 17 conditionals (lol) +- get rid of firstboot themed files (it went away after Fedora 18) +- use pre-generated files +- clean up spec file +- make it noarch again + +* Mon Jul 27 2020 Fedora Release Engineering - 30.0.2-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue Jan 28 2020 Fedora Release Engineering - 30.0.2-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Thu Jul 25 2019 Fedora Release Engineering - 30.0.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Tue May 14 2019 Stephen Gallagher - 30.0.2-2 +- Make the httpd testpage path non-branded. +- Clean up the display of the "powered by" icons in the httpd testpage + +* Mon Apr 15 2019 Tom Callaway - 30.0.2-1 +- update to 30.0.2 (update anaconda icons) + +* Mon Mar 18 2019 Tom Callaway - 30.0.1-1 +- update to 30.0.1 (fixes rnotes not rendering text) + +* Thu Mar 7 2019 Tim Landscheidt - 30.0.0-5 +- Remove obsolete requirements for post scriptlet + +* Wed Feb 13 2019 Hans de Goede - 30.0.0-4 +- Add plymouth spinner theme watermark to brand the new plymouth theme for: + https://fedoraproject.org/wiki/Changes/FlickerFreeBoot + +* Thu Jan 31 2019 Fedora Release Engineering - 30.0.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Fri Nov 9 2018 Tom Callaway - 30.0.0-2 +- removed all scriptlets (they were not really useful) + +* Thu Oct 4 2018 Tom Callaway - 30.0.0-1 +- update to 30.0.0 +- httpd subpackage now has a "test page" index.html + +* Fri Jul 13 2018 Fedora Release Engineering - 28.0.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Thu Apr 12 2018 Tom Callaway - 28.0.3-1 +- update to 28.0.3 to fix server image + +* Fri Feb 09 2018 Igor Gnatenko - 28.0.2-3 +- Escape macros in %%changelog + +* Wed Feb 07 2018 Fedora Release Engineering - 28.0.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Thu Jan 04 2018 Tom Callaway - 28.0.2-1 +- create atomic files for anaconda to use + +* Mon Dec 04 2017 Stephen Gallagher - 28.0.1-1 +- Move CSS for logos in the graphical installer into fedora-logos + +* Wed Aug 02 2017 Fedora Release Engineering - 26.0.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 26.0.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Tue May 23 2017 Tom Callaway - 26.0.1-1 +- update to 26.0.1, add fedora/fedora_lightbackground.svg + +* Wed Feb 8 2017 Tom Callaway - 26.0.0-2 +- mark license files correctly + +* Tue Jan 03 2017 Tom Callaway - 26.0.0-1 +- move icewm fedora logos into this package + +* Wed Feb 03 2016 Fedora Release Engineering - 22.0.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Wed Jun 17 2015 Fedora Release Engineering - 22.0.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Fri May 1 2015 Tom Callaway - 22.0.0-1 +- fix "join us" rnote to have new url (thanks to Zamir SUN) + +* Wed Nov 19 2014 Tom Callaway - 21.0.5-1 +- add fedora logo for background overlay +- move anaconda logo files into hicolor (drop old "Fedora" dir) +- add anaconda theme art for "no product", workstation, server, cloud + +* Tue Sep 23 2014 Tom Callaway - 21.0.4-1 +- update rnotes images to include de translations (thanks Roman Spirgi and Dominique) + +* Sat Aug 16 2014 Fedora Release Engineering - 21.0.3-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Sat Jun 07 2014 Fedora Release Engineering - 21.0.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Tue Feb 4 2014 Tom Callaway - 21.0.3-1 +- optimize pngs +- own /usr/share/kde4/ +- update rnote svg to include bulgarian and croatian + +* Mon Dec 30 2013 Tom Callaway - 21.0.2-1 +- move to svg versions of rnotes (RIP HAL-9000 rnote) + +* Thu Dec 12 2013 Tom Callaway - 21.0.1-2 +- do not make useless debuginfo package (bz 1035928) + +* Tue Nov 19 2013 Tom Callaway - 21.0.1-1 +- make arch specific package so that it always builds +- add lang specific rnotes + +* Wed Oct 9 2013 Tom Callaway - 21.0.0-1 +- update to 21.0.0 +- arch conditionalize the lss magic, cannot use ifarch because it checks + _target_cpu, not _arch, and _target_cpu evals to "noarch" here + +* Wed Oct 9 2013 Tom Callaway - 19.0.4-4 +- subpackage poweredby.png to minimize httpd footprint + +* Sat Aug 03 2013 Fedora Release Engineering - 19.0.4-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Wed Jun 19 2013 Tom Callaway - 19.0.4-2 +- drop the hal9000 release note, with great sadness + +* Fri May 24 2013 Tom Callaway - 19.0.4-1 +- bring back the grub2 background/fireworks files + +* Fri May 17 2013 Tom Callaway - 19.0.3-1 +- drop unused files to trim down this package size a bit + +* Tue May 7 2013 Tom Callaway - 19.0.2-1 +- add fedora-gdm-logo.png for login screen + +* Thu Apr 4 2013 Tom Callaway - 19.0.1-1 +- add tm mark to SVG +- removed the gradient version of the SVG from fedora-logo-sprite.svg + +* Thu Feb 14 2013 Tom Callaway - 19.0.0-1 +- add rnotes +- do not hardlink anything in /boot + +* Sun Feb 03 2013 Kevin Kofler - 17.0.3-3 +- drop unused directory ownership I accidentally reenabled in -2 + +* Sun Feb 03 2013 Kevin Kofler - 17.0.3-2 +- restore Leonidas KSplash icon, fixes Leonidas and Solar KSplash themes + +* Fri Sep 21 2012 Tom Callaway - 17.0.3-1 +- update to 17.0.3 (adds css3 bits) +- make fireworks.png an actual file instead of a symlink (bz853494) +- conditionalize grub1 art so it is packaged for f17 and older + +* Tue Sep 4 2012 Tom Callaway - 17.0.2-6 +- drop grub1 art (nothing uses it anymore) + +* Tue Aug 21 2012 Tom Callaway - 17.0.2-5 +- add fireworks.png symlink + +* Thu Aug 2 2012 Tom Callaway - 17.0.2-4 +- codename update for f18 +- drop unused kde dir ownerships + +* Thu Jul 19 2012 Fedora Release Engineering - 17.0.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Tue Jun 12 2012 Rex Dieter 17.0.2-2 +- drop reference to (old/f11) Leonidas ksplash theme + +* Wed May 9 2012 Tom Callaway - 17.0.2-1 +- add grub2 background.png + +* Tue May 1 2012 Tom Callaway - 17.0.1-1 +- add apple efi label images +- fix copyright date on splash (bz815012) + +* Tue Feb 14 2012 Tom Callaway - 17.0.0-1 +- anaconda splash art specifying a version updated to 17 + +* Fri Jan 13 2012 Fedora Release Engineering - 16.0.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Tue Sep 13 2011 Tom Callaway - 16.0.2-1 +- 16.0.2 +- moved syslinux-vesa-splash.jpg to boot/splash.png + +* Wed Sep 7 2011 Tom Callaway - 16.0.1-1 +- 16.0.1 +- updated beta art and codename + +* Fri Aug 5 2011 Tom Callaway - 16.0.0-1 +- 16.0.0 +- updated progress_first.png +- added script and svg to generate new progress_first.png + +* Wed Jun 15 2011 Tom Callaway - 15.0.1-1 +- 15.0.1 +- add svg logos +- get the last few unowned directories + +* Thu Jun 02 2011 Tom Callaway - 15.0.0-4 +- fix unowned directories (bz 709510) + +* Sat May 07 2011 Christopher Aillon - 15.0.0-3 +- Update icon cache scriptlet + +* Wed Mar 30 2011 Tom Callaway +- Provides/Obsoletes gnome-logos (bz 692231) + +* Mon Mar 21 2011 Tom Callaway +- update with F-15 beta images, codename + +* Tue Feb 08 2011 Fedora Release Engineering - 14.0.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Wed Jan 05 2011 Matthew Garrett - 14.0.2-1 +- Add logo for EFI Macs + +* Fri Oct 15 2010 Tom "spot" Callaway - 14.0.1-500 +- convert missing Requires to BuildRequires +- no longer package splashtolss.sh +- package splash.lss +- update to 14.0.1-500, so we are equal to (or greater than) generic-logos. + Hey notting, stop bumping past me in version, its not a race! ;) + +* Wed Oct 13 2010 Tom "spot" Callaway - 14.0.0-3 +- add missing Requires for splashtolss.sh (bz 635289) + +* Tue Sep 28 2010 Rex Dieter - 14.0.0-2 +- s/Fedora-KDE/oxygen/ icons (#615621) +- use hardlink to save a little space + +* Mon Sep 13 2010 Tom "spot" Callaway - 14.0.0-1 +- update to 14.0.0 + +* Sun Jul 18 2010 Mamoru Tasaka - 13.0.3-3 +- And fix another %%postun scriptlet error + +* Sat Jul 17 2010 Rex Dieter - 13.0.3-2 +- fix %%postun scriptlet error + +* Fri Jul 16 2010 Tom "spot" Callaway 13.0.3-1 +- Anaconda changed where it puts and looks for items, so we need to place + our files in the correct spot. + +* Fri Jun 25 2010 Rex Dieter - 13.0.2-2 +- Fedora-KDE icons are now fedora-kde-icons-theme, not kde-settings +- simplify Fedora-KDE multidir ownership +- optimize icon scriplets +- drop ancient Conflicts: kdebase ... + +* Wed May 5 2010 Tom "spot" Callaway - 13.0.2-1 +- add scalable start-here svg + +* Mon May 3 2010 Tom "spot" Callaway - 13.0.1-1 +- fix makefile to not overwrite progress_first.png + +* Mon May 3 2010 Tom "spot" Callaway - 13.0.0-1 +- f13 art, improved fedora icon + +* Wed Nov 4 2009 Tom "spot" Callaway - 12.0.3-2 +- kde icon installation + +* Thu Oct 29 2009 Tom "spot" Callaway - 12.0.3-1 +- Update to 12.0.3, yet another name for system-software-install icons + +* Wed Oct 28 2009 Tom "spot" Callaway - 12.0.2-2 +- Fixed 12.0.2 source, package up scalable svg source for system-software-install icon + +* Wed Oct 28 2009 Tom "spot" Callaway - 12.0.2-1 +- Update to 12.0.2, has improved system-software-install icon + +* Wed Oct 21 2009 Tom "spot" Callaway - 12.0.1-1 +- Update to 12.0.1, switch to generic version of firstboot-left.png + +* Thu Oct 1 2009 Tom "spot" Callaway - 12.0.0-1 +- Update to 12.0.0, F12 art (except KDE) + +* Fri Sep 4 2009 Tom "spot" Callaway - 11.0.7-1 +- Update to 11.0.7, fix license tag, description + +* Fri Jul 24 2009 Fedora Release Engineering - 11.0.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Mon May 18 2009 Tom "spot" Callaway 11.0.6-1 +- drop "lowres" image, saves a small amount of diskspace + +* Wed May 06 2009 Ray Strode 11.0.5-1 +- Add plymouth "Charge" theme artwork + +* Wed Apr 22 2009 Tom "spot" Callaway 11.0.4-1 +- update to 11.0.4, fix art to actually be in leonidas theme + +* Wed Apr 22 2009 Tom "spot" Callaway 11.0.3-1 +- update to 11.0.3, adds KDE splash + +* Mon Apr 20 2009 Tom "spot" Callaway 11.0.2-1 +- fix missing progress files + +* Sun Apr 19 2009 Lubomir Rintel - 11.0.1-2 +- fix bootsplash to be a bit more psychadelic + +* Fri Apr 17 2009 Tom "spot" Callaway - 11.0.1-1 +- fix bootsplash to be less psychadelic + +* Wed Apr 15 2009 Tom "spot" Callaway - 11.0.0-1 +- Update to 11.0.0 art (except for KDE splash) + +* Tue Feb 24 2009 Fedora Release Engineering - 10.0.1-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Wed Jan 14 2009 Tom "spot" Callaway 10.0.1-4 +- actually, no. I won't make a grub subpackage. No real benefit aside from saving 1MB on disk. + +* Wed Jan 14 2009 Tom "spot" Callaway 10.0.1-3 +- make grub subpackage (bz 479949) + +* Thu Nov 6 2008 Tom "spot" Callaway 10.0.1-2 +- pull .git files out of source tarball to keep SRPM size down + +* Thu Nov 6 2008 Tom "spot" Callaway 10.0.1-1 +- fix broken xfce4 icon (bz 470353) +- own directories for clean removal (bz 169282) + +* Sun Oct 26 2008 Kevin Kofler 10.0.0-2 +- Add (current version of) Fedora logo for SolarComet KSplash theme + +* Fri Oct 24 2008 Tom "spot" Callaway 10.0.0-1 +- New solar art + +* Thu Oct 23 2008 Colin Walters - 0.99.4-3 +- Install logo as /etc/favicon.png (http://cgwalters.livejournal.com/19030.html) + +* Thu Oct 2 2008 Matthias Clasen - 9.99.4-2 +- Don't ship the screensaver desktop file thats in fedora-screensaver-theme + +* Tue Sep 23 2008 Tom "spot" Callaway - 9.99.4-1 +- update to 9.99.4 +- replace firstboot workstation logo with something modern for F10 + +* Wed Sep 10 2008 Tom "spot" Callaway - 9.99.3-1 +- move to its new home +- package up xfce4_xicon1.svg (bz 445986) + +* Mon Aug 25 2008 Ray Strode - 9.99.2-1 +- Move kde background upstream + +* Mon Aug 25 2008 Ray Strode - 9.99.1-1 +- add a logo for xfce (bug 445986) + +* Wed Jul 9 2008 Matthias Clasen - 9.99.0-1 +- rhgb is no more + +* Thu May 29 2008 Ray Strode - 9.0.1-1 +- Add logo with white type face + +* Mon Apr 28 2008 Matthias Clasen - 9.0.0-3 +- Remove a broken symlink (#444298) + +* Mon Apr 28 2008 Kevin Kofler - 9.0.0-2 +- use bg image without rounded corners for kde-splash (Pavel Shevchuk, #443308) + +* Fri Apr 11 2008 Ray Strode - 9.0.0-1 +- update grub splash screen to not have sulfur and look better + on EFI systems + +* Thu Apr 10 2008 Rex Dieter - 8.99.2-2 +- kde-splash: rename to FedoraWaves, fixup animation +- include start-here icons for Fedora-KDE icon theme + +* Wed Apr 2 2008 Ray Strode - 8.99.2-1 +- firstboot changed artwork locations + +* Tue Apr 1 2008 Ray Strode - 8.99.1-1 +- Add grub, firstboot and anaconda artwork +- merge kde artwork from downstream +- drop unused images + +* Tue Apr 1 2008 Ray Strode - 8.99.0-1 +- Add F-9 rhgb artwork + +* Thu Mar 27 2008 Kevin Kofler - 8.0.3-4 +- Include Waves KSplash theme for KDE 4 + +* Thu Mar 27 2008 Kevin Kofler - 8.0.3-3 +- Don't ship KDE 3 KSplash and KDM themes (which don't work in KDE 4) + +* Fri Mar 21 2008 Matthias Clasen - 8.0.3-2 +- Don't ship parts of gdm themes that gdm doesn't use anymore + +* Wed Nov 14 2007 Ray Strode - 8.0.3-1 +- Install Fedora Flying High GDM logo (woops, bug 382281) + +* Mon Oct 29 2007 Matthias Clasen - 8.0.2-2 +- Fix a typo in the description (Stepan Kasal) + +* Mon Oct 29 2007 Matthias Clasen - 8.0.2-1 +- Add Infinity splash screens for KDE and Gnome + +* Fri Oct 19 2007 Matthias Clasen - 8.0.0-2 +- Silence %%post (#340551) + +* Wed Oct 17 2007 Ray Strode - 8.0.0-1 +- Drop Fedora Infinity gdm theme + +* Tue Oct 16 2007 Ray Strode - 7.96.0-1 +- Fix up some %%install goo +- drop bluecurve kdm fedora logo images too + +* Tue Oct 16 2007 Ray Strode - 7.95.0-1 +- actually drop bluecurve gdm fedora logo images that aren't trademarked + +* Wed Oct 10 2007 Ray Strode - 7.94.0-1 +- drop bluecurve gdm fedora logo images that aren't trademarked + +* Wed Oct 10 2007 Ray Strode - 7.93.0-1 +- Install fedora 7 logo in the right place + +* Wed Sep 19 2007 Matthias Clasen - 7.92.4-1 +- Acutally install the gdm theme + +* Wed Sep 19 2007 Matthias Clasen - 7.92.3-1 +- Add infinity gdm theme + +* Wed Sep 19 2007 Matthias Clasen - 7.92.2-1 +- Add infinity lock dialog + +* Thu Sep 13 2007 Bill Nottingham - 7.92.1-1 +- add the powered-by logo (#250676) + +* Wed Sep 5 2007 Jeremy Katz - 7.92.0-4 +- merge back changes that got lost + +* Fri Aug 31 2007 Jeremy Katz - 7.92.0-3 +- fix grub splash image to be an actual image + +* Tue Aug 28 2007 Máirín Duffy - 7.92.0-1 +- update the anaconda artwork +- changed default backgrounds + +* Mon Aug 27 2007 Ray Strode - 7.90.2-1 +- update the firstboot artwork +- update the grub artwork + +* Mon Aug 27 2007 Ray Strode - 7.90.1-1 +- update the rhgb artwork + +* Fri Aug 24 2007 Ray Strode - 7.90.0-1 +- add a 150px variant of the fedora logo + (requested by Paul Frields) +- update license field to be more clear + +* Wed Jul 04 2007 Florian La Roche 6.0.98-5 +- require coreutils for the %%post script + +* Fri Jun 15 2007 Adam Jackson 6.0.98-4 +- Remove the Requires on redhat-artwork and fedora-icon-theme, and just + multi-own the directories. Fixes some hilarious dependency chains. + +* Mon Apr 23 2007 Matthias Clasen - 6.0.98-3 +- Clean up %%post scriptlet (#237428) + +* Fri Apr 20 2007 Matthias Clasen - 6.0.98-2 +- Add a Fedora icon theme + +* Thu Apr 05 2007 Than Ngo - 6.0.98-1 +- fix ksplash BlueCurve theme + +* Wed Mar 28 2007 Matthias Clasen 6.0.97-2 +- Save some space by linking backgrounds + +* Thu Mar 22 2007 Than Ngo 6.0.97-1 +- Add new Ksplash theme for Fedora 7 + +* Tue Mar 20 2007 Matthias Clasen - 6.0.96-1 +- Add dual screen backgrounds + +* Thu Mar 15 2007 Ray Strode - 6.0.95-1 +- Drop weird gnome-logo-icon-transparent.png symlink that + makes fedora show up where gnome logo is supposed to + +* Thu Mar 15 2007 Matthias Clasen - 6.0.94-1 +- Retouch parts of the rhgb image to align it + better with the login screen + +* Fri Feb 23 2007 Matthias Clasen - 6.0.93-1 +- New backgrounds (dual versions still missing) + +* Fri Feb 23 2007 Matthias Clasen - 6.0.92-5 +- Directory ownership fixes + +* Thu Feb 22 2007 Jeremy Katz - 6.0.92-4 +- resave the syslinux splash so that it works (lalalala....) + +* Thu Feb 22 2007 Matthias Clasen - 6.0.92-3 +- Improve the branded lock dialog + +* Wed Feb 21 2007 Matthias Clasen - 6.0.92-2 +- Some more new images + +* Wed Feb 21 2007 Matthias Clasen - 6.0.92-1 +- New lock dialog + +* Tue Feb 20 2007 Matthias Clasen - 6.0.91-3 +- Some more new anaconda images +- Slight update to one rhgb image + +* Sun Feb 18 2007 Matthias Clasen - 6.0.91-2 +- Add new gnome splash +- New firstboot images +- Add some new anaconda images +- Add new grub image + +* Sun Feb 18 2007 Matthias Clasen - 6.0.91-1 +- Add new RHGB images + +* Thu Jan 18 2007 Jeremy Katz - 6.0.90-1 +- add syslinux splash for use with graphical menu + +* Fri Sep 22 2006 Than Ngo - 6.0.6-1 +- add FedoraDNA theme for KDM + +* Fri Sep 22 2006 Matthias Clasen - 6.0.5-1 +- Add a description for the default backgrounds + +* Fri Sep 22 2006 Ray Strode - 6.0.2-1 +- update screenshot in FedoraDNA theme + +* Fri Sep 22 2006 Than Ngo - 6.0.1-1 +- update kde ksplash + +* Fri Sep 22 2006 Ray Strode - 6.0.0-1 +- drop unused n-small image in FedoraDNA gdm theme +- rename fedora.png to logo.png in FedoraDNA gdm theme +- crop fedora.png to not have uneven padding in FedoraDNA + gdm theme + +* Fri Sep 22 2006 Bill Nottingham +- update grub splash (#207637) + +* Thu Sep 21 2006 Matthias Clasen - 1.1.55-1 +- Final update for FC6 graphics + +* Wed Sep 20 2006 Matthias Clasen - 1.1.54-1 +- Update to themed lock dialog + +* Thu Sep 7 2006 Matthias Clasen - 1.1.53-1 +- Update the syslinux splash + +* Thu Sep 7 2006 Matthias Clasen - 1.1.52-1 +- Fix the colors in the grub splash + +* Thu Sep 7 2006 Matthias Clasen - 1.1.51-1 +- Add new gdm theme + +* Wed Sep 06 2006 John (J5) Palmieri - 1.1.50-1 +- cvs add the new backgrounds this time + +* Tue Sep 05 2006 John (J5) Palmieri - 1.1.49-1 +- New graphics for fc6 +- Remove the 4:3 background and add 5:4 ratio background + +* Sun Aug 20 2006 Matthias Clasen - 1.1.48-1.fc6 +- Update lock dialog to work with current gnome-screensaver + +* Sun Aug 13 2006 Matthias Clasen - 1.1.47-2.fc6 +- Add links for new icon name used in the gnome-panel menubar + +* Fri Jul 28 2006 John (J5) Palmieri - 1.1.47-1 +- Add a 4:3 aspect ratio background +- Fix extention to be .jpg on backgrounds + +* Thu Jul 27 2006 John (J5) Palmieri - 1.1.46-1 +- Add new default backgrounds + +* Wed Jul 26 2006 Alexander Larsson - 1.1.45-1 +- Add wide version of default desktop background + +* Tue Jul 25 2006 Florian La Roche +- add version/release to the Provides: in the specfile + +* Tue Jul 11 2006 Matthias Clasen 1.1.44-1 +- Move the complete lock dialog theme here + +* Mon Jun 5 2006 Matthias Clasen 1.1.43-1 +- Add branded desktop background and move the lock dialog + background to the right directory + +* Tue Feb 28 2006 Matthias Clasen 1.1.42-1 +- New artwork for gdm, kdm Bluecurve from Diana Fong + +* Wed Jan 25 2006 Chris Lumens 1.1.41-1 +- New artwork for firstboot from dfong (#178106). + +* Fri Jan 20 2006 Ray Strode - 1.1.40-1 +- update the logo in the corner + +* Thu Jan 19 2006 Ray Strode - 1.1.39-1 +- give rhgb a new look from Diana Fong + +* Tue Jan 17 2006 Ray Strode - 1.1.38-1 +- add logo bits of new gdm theme + +* Tue Dec 20 2005 Ray Strode - 1.1.37-1 +- another new image from dfong (splash screen) +- move screensaver lock dialog background here + +* Tue Dec 20 2005 Ray Strode - 1.1.36-1 +- another new image from dfong (screensaver sprite) + +* Mon Dec 19 2005 Jeremy Katz - 1.1.35-1 +- new images from dfong + +* Fri Dec 09 2005 Jesse Keating +- rebuilt + +* Thu Nov 10 2005 John (J5) Palmieri - 1.1.34-1 +- Symlink fedora-logo-icon into Bluecurve instead of hicolor + to avoid conflicts with other packages + +* Thu Nov 10 2005 John (J5) Palmieri - 1.1.33-1 +- Add symlinks for the panel icons to be the fedora logos + +* Thu Nov 10 2005 John (J5) Palmieri - 1.1.32-1 +- Add new fedora logos to pixmap and icons/hicolor + +* Mon May 23 2005 Jeremy Katz - 1.1.31-1 +- copyright date on anaconda splash (#153964) + +* Mon Apr 18 2005 Than Ngo 1.1.30-1 +- add missing fedora logos for kdmtheme + +* Tue Oct 26 2004 Jeremy Katz - 1.1.29-1 +- non-test anaconda splash + +* Tue Oct 26 2004 Jeremy Katz - 1.1.28-1 +- generic Fedora Core graphics for !test release + +* Thu Sep 30 2004 Than Ngo 1.1.27-1 +- fix kde splash + +* Sat Jun 5 2004 Jeremy Katz - 1.1.26-1 +- provide: system-logos + +* Thu Jun 3 2004 Jeremy Katz - 1.1.25-1 +- add anaconda bits with fedora logos + +* Wed May 5 2004 Jeremy Katz - 1.1.24-1 +- newer grub image for fc2 + +* Tue Mar 23 2004 Alexander Larsson 1.1.23-1 +- Use correct gdm logo + +* Tue Mar 23 2004 Alexander Larsson 1.1.22-1 +- fix up gdm logo and add screenshot + +* Tue Feb 3 2004 Jonathan Blandford 1.1.21-1 +- add rhgb logo + +* Tue Nov 11 2003 Than Ngo 1.1.20.2-1 +- added Preview for ksplash + +* Mon Nov 10 2003 Than Ngo 1.1.20.1-1 +- added new BlueCurve Ksplash Theme for KDE 3.2 + +* Thu Oct 30 2003 Havoc Pennington 1.1.20-1 +- build new stuff from garrett + +* Thu Oct 9 2003 Bill Nottingham 1.1.19-1 +- add a symlink for up2date + +* Tue Oct 7 2003 Bill Nottingham 1.1.18-1 +- rename package + +* Wed Sep 24 2003 Bill Nottingham 1.1.17-1 +- new license + +* Tue Sep 23 2003 Michael Fulbright 1.1.16-1 +- added Fedora graphics + +* Fri Jul 18 2003 Havoc Pennington 1.1.15-1 +- build new stuff from garrett + +* Wed Feb 26 2003 Havoc Pennington 1.1.14-1 +- build new stuff in cvs + +* Mon Feb 24 2003 Jeremy Katz 1.1.12-1 +- updated again +- actually update the grub splash + +* Fri Feb 21 2003 Jeremy Katz 1.1.11-1 +- updated splash screens from Garrett + +* Tue Feb 18 2003 Havoc Pennington 1.1.10-1 +- move in a logo from gdm theme #84543 + +* Mon Feb 3 2003 Havoc Pennington 1.1.9-1 +- rebuild + +* Wed Jan 15 2003 Brent Fox 1.1.8-1 +- rebuild for completeness + +* Mon Dec 16 2002 Havoc Pennington +- rebuild + +* Thu Sep 5 2002 Havoc Pennington +- add firstboot images to makefile/specfile +- add /usr/share/pixmaps stuff +- add splash screen images +- add COPYING + +* Thu Sep 5 2002 Jeremy Katz +- add boot loader images + +* Thu Sep 5 2002 Havoc Pennington +- move package to CVS + +* Tue Jun 25 2002 Owen Taylor +- Add a shadowman-only derived from redhat-transparent.png + +* Thu May 23 2002 Tim Powers +- automated rebuild + +* Wed Jan 09 2002 Tim Powers +- automated rebuild + +* Thu May 31 2001 Owen Taylor +- Fix alpha channel in redhat-transparent.png + +* Wed Jul 12 2000 Prospector +- automatic rebuild + +* Mon Jun 19 2000 Owen Taylor +- Add %%defattr + +* Mon Jun 19 2000 Owen Taylor +- Add version of logo for embossing on the desktop + +* Tue May 16 2000 Preston Brown +- add black and white version of our logo (for screensaver). + +* Mon Feb 07 2000 Preston Brown +- rebuild for new description. + +* Sat Sep 25 1999 Bill Nottingham +- different. + +* Mon Sep 13 1999 Preston Brown +- added transparent mini and 32x32 round icons + +* Sat Apr 10 1999 Michael Fulbright +- added rhad logos + +* Thu Apr 08 1999 Bill Nottingham +- added smaller redhat logo for use on web page + +* Wed Apr 07 1999 Preston Brown +- added transparent large redhat logo + +* Tue Apr 06 1999 Bill Nottingham +- added mini-* links to make AnotherLevel happy + +* Mon Apr 05 1999 Preston Brown +- added copyright + +* Tue Mar 30 1999 Michael Fulbright +- added 48 pixel rounded logo image for gmc use + +* Mon Mar 29 1999 Preston Brown +- package created diff --git a/oreon-logos/oreon_darkbackground.svg b/oreon-logos/oreon_darkbackground.svg new file mode 100644 index 000000000..b0bf832e5 Binary files /dev/null and b/oreon-logos/oreon_darkbackground.svg differ diff --git a/oreon-release/50-redhat.conf b/oreon-release/50-redhat.conf new file mode 100644 index 000000000..a975a1347 --- /dev/null +++ b/oreon-release/50-redhat.conf @@ -0,0 +1,7 @@ +# https://bugzilla.redhat.com/show_bug.cgi?id=1689346 +kernel.kptr_restrict = 1 + +# Source route verification +net.ipv4.conf.default.rp_filter = 1 +net.ipv4.conf.*.rp_filter = 1 +-net.ipv4.conf.all.rp_filter diff --git a/oreon-release/85-display-manager.preset b/oreon-release/85-display-manager.preset new file mode 100644 index 000000000..08d506039 --- /dev/null +++ b/oreon-release/85-display-manager.preset @@ -0,0 +1,11 @@ +# We enable all display managers by default. Since only one can +# actually be enabled at the same time the one which is installed +# first wins + +enable gdm.service +enable lightdm.service +enable slim.service +enable lxdm.service +enable sddm.service +enable kdm.service +enable xdm.service diff --git a/oreon-release/90-default-user.preset b/oreon-release/90-default-user.preset new file mode 100644 index 000000000..499067153 --- /dev/null +++ b/oreon-release/90-default-user.preset @@ -0,0 +1,25 @@ +# Enable the D-Bus service (including its socket for socket activation) +# unconditionally. It is used throughout Fedora and required on all machines. +# https://src.fedoraproject.org/rpms/fedora-release/pull-request/4 +# https://fedoraproject.org/w/index.php?title=Starting_services_by_default&oldid=377748 +enable dbus.socket +enable dbus-broker.service + +# Socket-activated pipewire service for individual user sessions +# https://bugzilla.redhat.com/show_bug.cgi?id=1592434 +enable pipewire.socket + +# Enable the PipeWire PulseAudio compatibility socket interface +# https://bugzilla.redhat.com/show_bug.cgi?id=1904239 +# https://bugzilla.redhat.com/show_bug.cgi?id=1907906 +# https://fedoraproject.org/wiki/Changes/DefaultPipeWire +enable pipewire-pulse.socket + +# https://bugzilla.redhat.com/show_bug.cgi?id=1976006 +enable pipewire-media-session.service + +# https://bugzilla.redhat.com/show_bug.cgi?id=2022717 +enable wireplumber.service + +# https://bugzilla.redhat.com/show_bug.cgi?id=2181984 +enable obex.service diff --git a/oreon-release/90-default.preset b/oreon-release/90-default.preset new file mode 100644 index 000000000..92129c200 --- /dev/null +++ b/oreon-release/90-default.preset @@ -0,0 +1,227 @@ +# Also see: +# https://fedoraproject.org/wiki/Starting_services_by_default + +disable systemd-timesyncd.service +disable systemd-resolved.service + +# systemd +enable remote-fs.target +enable getty@tty1.service + +# System stuff +enable sshd.service +enable atd.* +enable crond.* +enable chronyd.service +enable rpcbind.* +enable NetworkManager.service +enable NetworkManager-dispatcher.service +enable ModemManager.service +enable auditd.service +enable restorecond.service +enable bluetooth.* +enable avahi-daemon.* +enable cups.* + +# The various syslog implementations +enable rsyslog.* +enable syslog-ng.* +enable sysklogd.* + +# Network facing +enable firewalld.service +enable xinetd.service +enable ladvd.service + +# Virtualization driver specific daemons. Start by defalt at boot for VM +# autostart, but shutdown after 2 mins and socket activated thereafter +enable virtqemud.service + +# Compatibility with libvirtd sockets for old clients and expose TCP sockets +enable virtproxyd.socket + +# Secondary drivers providing supporting functionality to main virtualization +# drivers, socket activated only when required +enable virtinterfaced.socket +enable virtnetworkd.socket +enable virtnodedevd.socket +enable virtnwfilterd.socket +enable virtsecretd.socket +enable virtstoraged.socket + +# Storage +enable multipathd.service +enable libstoragemgmt.service +enable lvm2-lvmpolld.socket +enable lvm2-monitor.* +enable lvm2-lvmetad.* +enable dm-event.* +enable dmraid-activation.service + +# https://bugzilla.redhat.com/show_bug.cgi?id=855372 +enable mdmonitor.service +enable mdmonitor-takeover.service + +# https://bugzilla.redhat.com/show_bug.cgi?id=876237 +enable spice-vdagentd.service + +# https://bugzilla.redhat.com/show_bug.cgi?id=885406 +enable qemu-guest-agent.service + +# https://bugzilla.redhat.com/show_bug.cgi?id=928726 +enable dnf-makecache.timer + +# https://bugzilla.redhat.com/show_bug.cgi?id=957135 +enable vmtoolsd.service + +# mcelog is a utility that collects and decodes Machine Check Exception data +# on x86-32 and x86-64 systems. +# https://bugzilla.redhat.com/show_bug.cgi?id=1302179 +enable mcelog.service + +#https://bugzilla.redhat.com/show_bug.cgi?id=995987 +enable kdump.service + +#https://bugzilla.redhat.com/show_bug.cgi?id=1009970 +enable tuned.service + +# https://bugzilla.redhat.com/show_bug.cgi?id=1215645 +enable unbound-anchor.timer + +# Enable SSSD Kerberos Credential Cache Server +# https://bugzilla.redhat.com/show_bug.cgi?id=1558927 +enable sssd-kcm.socket + +# https://bugzilla.redhat.com/show_bug.cgi?id=1578833 +enable sssd.service + +# Hardware +enable gpm.* +enable gpsd.* +enable irqbalance.service +enable lm_sensors.service +enable mcelog.* +enable microcode.service +enable smartd.service +enable pcscd.socket +enable rngd.service + +# Other stuff +enable abrtd.service +enable abrt-journal-core.service +enable abrt-oops.service +enable abrt-xorg.service +enable abrt-vmcore.service +enable lttng-sessiond.service +enable ksm.service +enable ksmtuned.service +enable rootfs-resize.service +enable sysstat.service +enable uuidd.service + +# https://bugzilla.redhat.com/show_bug.cgi?id=1193616 +enable hypervfcopyd.service +enable hypervkvpd.service +enable hypervvssd.service + +# Desktop stuff +enable accounts-daemon.service +enable rtkit-daemon.service +enable upower.service +enable udisks2.service +enable packagekit-offline-update.service +enable PackageKit.service +# https://bugzilla.redhat.com/show_bug.cgi?id=2011240 +enable power-profiles-daemon.service + +# Initial Setup reconfiguration service +enable initial-setup-reconfiguration.service + +# https://bugzilla.redhat.com/show_bug.cgi?id=1312446 +enable opal-prd.service + +# virtlog.service is sometimes used by VMs started by libvirt.service +# Enable virtlog.socket to have it socket activated +# https://bugzilla.redhat.com/show_bug.cgi?id=1325503 +enable virtlogd.socket + + +# https://bugzilla.redhat.com/show_bug.cgi?id=1271839 +enable rhsmcertd.service + +# https://bugzilla.redhat.com/show_bug.cgi?id=1359645 +enable brandbot.* + +# https://bugzilla.redhat.com/show_bug.cgi?id=1572550 +enable timedatex.service + +# https://bugzilla.redhat.com/show_bug.cgi?id=1578870 +enable selinux-autorelabel-mark.service +enable rhel-configure.service +enable rhel-dmesg.service + +# https://github.com/fedora-sysv/initscripts/commit/37109fdf9808 +enable nis-domainname.service +enable import-state.service +enable loadmodules.service +enable readonly-root.service + +# https://bugzilla.redhat.com/show_bug.cgi?id=1630200 +# s390x specific services +enable cpi.service +enable device_cio_free.service + +# Enable the stratis daemon for managing stratis storage +# https://bugzilla.redhat.com/show_bug.cgi?id=1632510 +enable stratisd.service + +# https://bugzilla.redhat.com/show_bug.cgi?id=1817591 +enable mlocate-updatedb.timer + +# nvme auto connect +# https://bugzilla.redhat.com/show_bug.cgi?id=1805466 +enable nvmefc-boot-connections.service + +# OSTree based systems need to remount /sysroot and +# /var as rw via ostree-remount.service +# ignored by non-OSTree based systems +# https://bugzilla.redhat.com/show_bug.cgi?id=1848453 +enable ostree-remount.service + +# DBus needed by Anaconda +enable dbus.socket +enable dbus-broker.service + +# Enable iscsi service files +# https://bugzilla.redhat.com/show_bug.cgi?id=1930458 +enable iscsi.service +enable iscsid.socket +enable iscsiuio.socket +enable iscsi-onboot.service + +# Enable logrotate.timer +# https://bugzilla.redhat.com/show_bug.cgi?id=1977865 +enable logrotate.timer + +# Enable greenboot +# https://bugzilla.redhat.com/show_bug.cgi?id=2005552 +enable greenboot-grub2-set-counter.service +enable greenboot-grub2-set-success.service +enable greenboot-healthcheck.service +enable greenboot-rpm-ostree-grub2-check-fallback.service +enable greenboot-status.service +enable greenboot-task-runner.service +enable redboot-auto-reboot.service +enable redboot-task-runner.service +# https://bugzilla.redhat.com/show_bug.cgi?id=2108625 +enable greenboot-service-monitor.service + +# https://bugzilla.redhat.com/show_bug.cgi?id=2013299 +enable low-memory-monitor.service + +# https://bugzilla.redhat.com/show_bug.cgi?id=2049627 +enable switcheroo-control.service + +# https://bugzilla.redhat.com/show_bug.cgi?id=2106811 +enable clevis-luks-askpass.path + diff --git a/oreon-release/99-default-disable.preset b/oreon-release/99-default-disable.preset new file mode 100644 index 000000000..1f29b5059 --- /dev/null +++ b/oreon-release/99-default-disable.preset @@ -0,0 +1 @@ +disable * diff --git a/oreon-release/EULA b/oreon-release/EULA new file mode 100644 index 000000000..cad291f56 --- /dev/null +++ b/oreon-release/EULA @@ -0,0 +1,8 @@ +Oreon Lime R2 EULA + +Oreon Lime R2 comes with no guarantees or warranties of any sorts, +either written or implied. + +The Distribution is released as GPLv2. Individual packages in the +distribution come with their own licences. A copy of the GPLv2 license +is included with the distribution media. diff --git a/oreon-release/LICENSE b/oreon-release/LICENSE new file mode 100644 index 000000000..d159169d1 --- /dev/null +++ b/oreon-release/LICENSE @@ -0,0 +1,339 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. diff --git a/oreon-release/RPM-GPG-KEY-Oreon-Lime b/oreon-release/RPM-GPG-KEY-Oreon-Lime new file mode 100644 index 000000000..d4165d581 --- /dev/null +++ b/oreon-release/RPM-GPG-KEY-Oreon-Lime @@ -0,0 +1,52 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +mQINBGHmnykBEACuIcqcNYTmu2q58XI5NRZowdJGAxxs+6ExX7qsa4vbPp6St7lB +JmLpwf5p6czIBhLL4b8E7zJpu57tVDo7Ejw6Hv584rbI8vw7pnMTe6XUFhMTL8FT +lyAmn8xAIlcyM+SzshnxAc5b8E0p/egMonr3J1QnvMSfixMQ59GrmLVyece7Vv3J +4fREh6k31kg7eQdEkzRQhRdO2KyxWYLR0A6haXSXVaiBOjFF7iUs7anlJSfeD3FO +afPq0Ix8oWi+mUc4txkABMdsGpdkE/MHOwN90FB8EG5XVrdv3emm3yzKMMzb53Yd +jcf0fovIeRloQyl9+CrVCnkBjFcIFBZZddsB43kM7eTflmAQ+tanOZ8OKBRPMtmI +56b/vk31ozHUoST/NmjbEI5tu+QYCuFSZ++mC06qJg0Bkw821DTAsM7Kynuj7K2f +WWQjlDL9ZsFifLqDXRymL+sn6g142hHQOa5KSHtT7cAcrm6L48gEL3fPntVSOU/H +BlTnODiSSTIsIRNA7kBkbSP3wWoYC1JQPmNYbUtZ7va2uXNb9dGT2k7Ae0465WND +wqRQJDxsr6TLYFpti+JRaOpSMNclXz4kRSP263Y4ZzQvkMGgSgwqg7JU00Uahk2p +KTlJAA8AiaMBdShlo/QXvL29Lyg0Y5klq2HCNziJDupWhXto5j5pjixrpwARAQAB +tCdBbG1hTGludXggT1MgOSA8cGFja2FnZXJAYWxtYWxpbnV4Lm9yZz6JAk4EEwEI +ADgWIQS/GKwodheJCNbnEmfTbLhsuGs3FgUCYeafKQIbAwULCQgHAgYVCgkICwIE +FgIDAQIeAQIXgAAKCRDTbLhsuGs3FrvnD/9X1wDM/C214t3UVsMVjTLdIJDGG+iU +E7Uk7QGeyeNif19rRatzXUHBBGjiAwpxe2rkveWBHCHPSUKqsAR9Arv3nMKiaGfA +0nomzDndLEDIgv35xzaU6OhX95mZzvj+9PThuxDxUnsNoA+7vGkaiRw+cyyDdTJQ +bKwum8bx1gS8Kbqo9mqrMekQ4NHCodq9bb2hI6pAxlYa472QuwFAXFAzbE3LIMIK +hzLkew7nxwP0txP/zzqPw4lYN38fg9AlHL2qgf0twCFO4N/ftkw25qwoiBhiwaWT +Ca8Z9wUJx35Z/ufscbNrtRrIGYNXTDFJdGY/WxKDp7QsyOx/sclcsSksKoC/52tL +2yFLQrMXsqnLjAQajA6adaeCAAwvp2/8VP8R65O4KMuKghMneCGwXVlVVYyRUXJD +Kjg7EvmmMGuh/Lj2A/vj+mQMmlS2kAl0qOsK9DtUIA7Z9m98zI3UmN/5BMb/HdqW +KADagOW9IPyo6IaSIT+A+7npTN1Y7m1aIrL1vsAKrus4MrCvAs1vYqzqIikv88Di +EWYVFCWTsTWf7jxBCVTLn1Lr7Mj08i+7OgRgguQGpcnvKsbwq1v2whQrs+YKR9hP +vVaW5DmGJ5brPykJUaQS6p5Esp1q3HBk0HbBxiiGIwGsKbLp0pKsk5TLzMIJwIG/ +lEolCV+fJ0P4nLkCDQRh5p8pARAAvXTL29arJ5Dl9FXVpE4Km1jJLaK2WfbQARJz +ygQKps9QNqS1yz7C7mYdTtgRxeK2eqcX5oA83w3ppJ0DTsxfAkY3nqAXS8+QRORU +ffSFvhdsU1G/qpvhX0Aq62gr4y1bkIMr9GlLq86uVKIQrNdmto4NDfQc1bDD5e4j +KaNMmNLXxq/s67AxFW/yLchYYZ7cMqQd6Ab4lacqpGdYFIAkBkVMmj3GUSo+FLpl ++4c50AZ8O0aB+xkrjch+4PoVyIpIC1IuqNYBYn2wMYFB414QY2iDopzpZXUhpCqx +NP4Zyhl1noUcOtH/wUfH1JsIcYRn0ixWF6JnE9KmjpkqBuM2/4Ot/bl67iPiN/if +vf3Z1kYjNPaszoMW3kmJj8MlBCSH9w6nQRG/eikihbeUDBB6rh2O7Dz8ltFqlt8N +asbngRoNZMnWMnItRV67Fo0pfn/DZA8VvI029apE21sNp6l7MUa8Z2/I/PNq10E8 +rPMQM//k9y2kgxz52i6iCyesobPvun6UC4xuFoYKUTQMgKQgqOhyZ4evkepFhmHg +Gzx+F8EmwN1FtxfNxfLtQZSUT3kxuUDizwpaH/LkSkRXpJOQyHJL6VBINNTjB4j1 +3+0jD+lCV6xIt88NYkGJL9rtKwZLQHSDPiI0ooCJ69GKy8SmSx04AwSsY67In1q8 ++FQjT20AEQEAAYkCNgQYAQgAIBYhBL8YrCh2F4kI1ucSZ9NsuGy4azcWBQJh5p8p +AhsMAAoJENNsuGy4azcW0KkP/i0YLRv+pDiSC4034oboczAnNrzJnBhqTi9cUEGn +Xpqvf/Zz3opqvRQiqZAgVcCtxfW+P9J3Vb/mBJ6OkR/jywAlY5il2dzK08YfVXmP +cEf6RF4M0KNtlYJmPlnQCZjMJaisrPmYD3Yy8ER1qJ5JQZ7n0REHZCbBCqH8w+5r +j4ohEHY7xXbd7+tvWTCk2MkHaide/UV/04WiO064AoZSUze/vaAx8Ll4AyFpxuIk +ktXZXbq7MaVzqYYJptiRB6TljzMwIbblLm9A7T7YTA/1rNe12OhDT8VoR3gG2C/l +Mtf37EmYq3QVqFlbj4+ouQWIiQmp5dQenH5ugf+Bob7IiENpxzF1cIu6wd4p5Y64 +3cdYUoxrjhsCM6W1lSqECoN8yXJnRTxpBwwm65SVk477KS2h77aJfa+v5UnBhpSt +eVlAhs0A8Qp/hX3o7qMO1jWca3zdJwXppLlFEYTVaFUOUrc4Lhlbi0gAnn8aBwSx +xF1r5GhPGIBzHtRgulwZkmS6VwtDMuC6KlrASu9f93D5gLZqVk22Oar9LpgCEACd +8Gw/+BFbdANqo9IKmDrWf7k/YuEqZ3h+eoyKI/2z7dKh/fcVEydMTn3LB4nFRvSD +AZ27tvC0IUXCUNx7iJdrD5kDsMhZRl5/dXbe539G4y2W00QYuJC0DpUvGdtOuaFx +1WKL +=jk2t +-----END PGP PUBLIC KEY BLOCK----- diff --git a/oreon-release/alsecureboot001.cer b/oreon-release/alsecureboot001.cer new file mode 100644 index 000000000..6a4e99b9e Binary files /dev/null and b/oreon-release/alsecureboot001.cer differ diff --git a/oreon-release/oreon-appstream.repo b/oreon-release/oreon-appstream.repo new file mode 100644 index 000000000..54076362c --- /dev/null +++ b/oreon-release/oreon-appstream.repo @@ -0,0 +1,50 @@ +[appstream] +name=Oreon - AppStream +mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/appstream +# baseurl=https://repo.almalinux.org/almalinux/$releasever/AppStream/$basearch/os/ +enabled=1 +exclude=firefox* +gpgcheck=1 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Oreon-Lime +countme=1 +metadata_expire=86400 +enabled_metadata=1 + +[extras] +name=Oreon - Extras +mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/extras +# baseurl=https://repo.almalinux.org/almalinux/$releasever/Extras/$basearch/os/ +enabled=1 +exclude=almalinux-release,centos-release +gpgcheck=1 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Oreon-Lime +countme=1 +metadata_expire=86400 +enabled_metadata=1 + +[docker-ce-stable] +name=Docker CE Stable - $basearch +baseurl=https://download.docker.com/linux/rhel/9/$basearch/stable +enabled=1 +gpgcheck=1 +gpgkey=https://download.docker.com/linux/rhel/gpg + +[appstream-debuginfo] +name=Oreon - AppStream - Debug +mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/appstream-debug +# baseurl=https://repo.almalinux.org/vault/$releasever/AppStream/debug/$basearch/ +enabled=0 +gpgcheck=1 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Oreon-Lime +metadata_expire=86400 +enabled_metadata=0 + +[appstream-source] +name=Oreon - AppStream - Source +mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/appstream-source +# baseurl=https://repo.almalinux.org/vault/$releasever/AppStream/Source/ +enabled=0 +gpgcheck=1 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Oreon-Lime +metadata_expire=86400 +enabled_metadata=0 diff --git a/oreon-release/oreon-baseos.repo b/oreon-release/oreon-baseos.repo new file mode 100644 index 000000000..f6f9c5712 --- /dev/null +++ b/oreon-release/oreon-baseos.repo @@ -0,0 +1,39 @@ +[baseos] +name=Oreon - BaseOS +mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/baseos +# baseurl=https://repo.almalinux.org/almalinux/$releasever/BaseOS/$basearch/os/ +enabled=1 +gpgcheck=1 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Oreon-Lime +countme=1 +metadata_expire=86400 +enabled_metadata=1 + +[oreon-mainstream] +name=Oreon - Mainstream +baseurl=http://packages.boostyconnect.com/oreon-lime-r2/mainstream +enabled=1 +countme=1 +repo_gpgcheck=0 +type=rpm +gpgcheck=0 + +[baseos-debuginfo] +name=Oreon $releasever - BaseOS - Debug +mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/baseos-debug +# baseurl=https://repo.almalinux.org/vault/$releasever/BaseOS/debug/$basearch/ +enabled=0 +gpgcheck=1 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Oreon-Lime +metadata_expire=86400 +enabled_metadata=0 + +[baseos-source] +name=Oreon - BaseOS - Source +mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/baseos-source +# baseurl=https://repo.almalinux.org/vault/$releasever/BaseOS/Source/ +enabled=0 +gpgcheck=1 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Oreon-Lime +metadata_expire=86400 +enabled_metadata=0 diff --git a/oreon-release/oreon-crb.repo b/oreon-release/oreon-crb.repo new file mode 100644 index 000000000..43c53371f --- /dev/null +++ b/oreon-release/oreon-crb.repo @@ -0,0 +1,30 @@ +[crb] +name=Oreon - CRB +mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/crb +# baseurl=https://repo.almalinux.org/almalinux/$releasever/CRB/$basearch/os/ +enabled=1 +gpgcheck=1 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Oreon-Lime +countme=1 +metadata_expire=86400 +enabled_metadata=0 + +[crb-debuginfo] +name=Oreon - CRB - Debug +mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/crb-debug +# baseurl=https://repo.almalinux.org/vault/$releasever/CRB/debug/$basearch/ +enabled=0 +gpgcheck=1 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Oreon-Lime +metadata_expire=86400 +enabled_metadata=0 + +[crb-source] +name=Oreon - CRB - Source +mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/crb-source +# baseurl=https://repo.almalinux.org/vault/$releasever/CRB/Source/ +enabled=0 +gpgcheck=1 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Oreon-Lime +metadata_expire=86400 +enabled_metadata=0 diff --git a/oreon-release/oreon-highavailability.repo b/oreon-release/oreon-highavailability.repo new file mode 100644 index 000000000..8bb69b05c --- /dev/null +++ b/oreon-release/oreon-highavailability.repo @@ -0,0 +1,30 @@ +[highavailability] +name=Oreon - HighAvailability +mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/highavailability +# baseurl=https://repo.almalinux.org/almalinux/$releasever/HighAvailability/$basearch/os/ +enabled=0 +gpgcheck=1 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Oreon-Lime +countme=1 +metadata_expire=86400 +enabled_metadata=0 + +[highavailability-debuginfo] +name=Oreon - HighAvailability - Debug +mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/highavailability-debug +# baseurl=https://repo.almalinux.org/vault/$releasever/HighAvailability/debug/$basearch/ +enabled=0 +gpgcheck=1 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Oreon-Lime +metadata_expire=86400 +enabled_metadata=0 + +[highavailability-source] +name=Oreon - HighAvailability - Source +mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/highavailability-source +# baseurl=https://repo.almalinux.org/vault/$releasever/HighAvailability/Source/ +enabled=0 +gpgcheck=1 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Oreon-Lime +metadata_expire=86400 +enabled_metadata=0 diff --git a/oreon-release/oreon-nfv.repo b/oreon-release/oreon-nfv.repo new file mode 100644 index 000000000..6af467427 --- /dev/null +++ b/oreon-release/oreon-nfv.repo @@ -0,0 +1,30 @@ +[nfv] +name=Oreon - NFV +mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/nfv +# baseurl=https://repo.almalinux.org/almalinux/$releasever/NFV/$basearch/os/ +enabled=0 +gpgcheck=1 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Oreon-Lime +countme=1 +metadata_expire=86400 +enabled_metadata=0 + +[nfv-debuginfo] +name=Oreon - NFV - Debug +mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/nfv-debug +# baseurl=https://repo.almalinux.org/vault/$releasever/NFV/debug/$basearch/ +enabled=0 +gpgcheck=1 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Oreon-Lime +metadata_expire=86400 +enabled_metadata=0 + +[nfv-source] +name=Oreon - NFV - Source +mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/nfv-source +# baseurl=https://repo.almalinux.org/vault/$releasever/NFV/Source/ +enabled=0 +gpgcheck=1 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Oreon-Lime +metadata_expire=86400 +enabled_metadata=0 diff --git a/oreon-release/oreon-plus.repo b/oreon-release/oreon-plus.repo new file mode 100644 index 000000000..7e11ee8f5 --- /dev/null +++ b/oreon-release/oreon-plus.repo @@ -0,0 +1,30 @@ +[plus] +name=Oreon - Plus +mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/plus +# baseurl=https://repo.almalinux.org/almalinux/$releasever/plus/$basearch/os/ +enabled=0 +gpgcheck=1 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Oreon-Lime +countme=1 +metadata_expire=86400 +enabled_metadata=0 + +[plus-debuginfo] +name=Oreon - Plus - Debug +mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/plus-debug +# baseurl=https://repo.almalinux.org/vault/$releasever/plus/debug/$basearch/ +enabled=0 +gpgcheck=1 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Oreon-Lime +metadata_expire=86400 +enabled_metadata=0 + +[plus-source] +name=Oreon - Plus - Source +mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/plus-source +# baseurl=https://repo.almalinux.org/vault/$releasever/plus/Source/ +enabled=0 +gpgcheck=1 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Oreon-Lime +metadata_expire=86400 +enabled_metadata=0 diff --git a/oreon-release/oreon-release.spec b/oreon-release/oreon-release.spec new file mode 100644 index 000000000..1b910f051 --- /dev/null +++ b/oreon-release/oreon-release.spec @@ -0,0 +1,337 @@ +%global distro Oreon +%global release_name Lime (R2) +%global major 9 +%global minor 3 + +Name: oreon-release +Version: %{major}.%{minor} +Release: 7%{?dist} +Summary: %{distro} release files +License: GPLv2 +URL: https://oreonproject.org + +Provides: centos-release = %{version}-%{release} + +# Required for a lorax run (to generate install media) +Requires: oreon-repos = %{version}-%{release} +Provides: centos-release-eula +Provides: redhat-release-eula + +# required by epel-release +Provides: redhat-release = %{version}-%{release} + +# required by dnf +# https://github.com/rpm-software-management/dnf/blob/4.2.23/dnf/const.py.in#L26 +Provides: system-release = %{version}-%{release} +Provides: system-release(releasever) = %{major} + +# required by libdnf +# https://github.com/rpm-software-management/libdnf/blob/0.48.0/libdnf/module/ModulePackage.cpp#L472 +Provides: base-module(platform:el%{major}) + +Source200: EULA +Source201: LICENSE + +Source300: 85-display-manager.preset +Source301: 90-default.preset +Source302: 90-default-user.preset +Source303: 99-default-disable.preset +Source304: 50-redhat.conf +Source500: oreon-appstream.repo +Source501: oreon-baseos.repo +Source502: oreon-crb.repo +Source504: oreon-highavailability.repo +Source505: oreon-resilientstorage.repo +Source506: oreon-sap.repo +Source507: oreon-saphana.repo +Source508: oreon-plus.repo +# Only for x86_64 +Source510: oreon-nfv.repo +Source511: oreon-rt.repo + +Source600: RPM-GPG-KEY-Oreon-Lime + +# CERTS +Source400: alsecureboot001.cer +# kernel signing certificate +Source401: alsecureboot001.cer +# grub2 signing certificate +Source402: alsecureboot001.cer +# Fwupd signing certificate +Source403: alsecureboot001.cer +# UKI signing certificate +Source404: alsecureboot001.cer + +%package -n oreon-sb-certs +Summary: %{distro} public secureboot certificates +Group: System Environment/Base +Provides: system-sb-certs = %{version}-%{release} +Provides: redhat-sb-certs = %{version}-%{release} + +%package -n oreon-repos +Summary: %{distro} package repositories +Requires: oreon-release = %{version}-%{release} +Requires: oreon-gpg-keys = %{version}-%{release} +Requires: epel-release + +%package -n oreon-gpg-keys +Summary: %{distro} RPM keys + + +%description +%{distro} release files. + +%description -n oreon-sb-certs +%{distro} secureboot certificates + +%description -n oreon-repos +This package provides the package repository files for %{distro}. + +%description -n oreon-gpg-keys +This package provides the RPM signature keys for %{distro}. + + +%install +# copy license and contributors doc here for %%license and %%doc macros +mkdir -p ./docs +cp %{SOURCE201} ./docs + +# create /etc/system-release and /etc/redhat-release +install -d -m 0755 %{buildroot}%{_sysconfdir} +echo "%{distro} release %{major}.%{minor}%{?beta: %{beta}} (%{release_name})" > %{buildroot}%{_sysconfdir}/oreon-release +ln -s oreon-release %{buildroot}%{_sysconfdir}/system-release +ln -s oreon-release %{buildroot}%{_sysconfdir}/redhat-release + +# ------------------------------------------------------------------------- +# Definitions for /etc/os-release and for macros in macros.dist. These +# macros are useful for spec files where distribution-specific identifiers +# are used to customize packages. + +# Name of vendor / name of distribution. Typically used to identify where +# the binary comes from in --help or --version messages of programs. +# Examples: gdb.spec, clang.spec +%global dist_vendor BoostyConnect Technologies +%global dist_name %{distro} + +# URL of the homepage of the distribution +# Example: gstreamer1-plugins-base.spec +%global dist_home_url https://oreonproject.org/ + +# Bugzilla / bug reporting URLs shown to users. +# Examples: gcc.spec +%global dist_bug_report_url https://bugs.oreonproject.org/ + +# debuginfod server, as used in elfutils.spec. +# %global dist_debuginfod_url %{nil} +# ------------------------------------------------------------------------- + +# Create the os-release file +install -d -m 0755 %{buildroot}%{_prefix}/lib +cat > %{buildroot}%{_prefix}/lib/os-release << EOF +NAME="%{distro}" +VERSION="%{release_name}" +ID="oreon" +ID_LIKE="rhel centos fedora" +VERSION_ID="%{major}.%{minor}" +PLATFORM_ID="platform:el%{major}" +PRETTY_NAME="%{distro} Lime Desktop Standard (R2)" +ANSI_COLOR="0;34" +LOGO="fedora-logo-icon" +CPE_NAME="cpe:/o:oreon:oreon:%{major}::baseos" +HOME_URL="%{dist_home_url}" +DOCUMENTATION_URL="https://oreonproject.org/" +BUG_REPORT_URL="%{dist_bug_report_url}" + +OREON_MANTISBT_PROJECT="oreon-%{major}" +OREON_MANTISBT_PROJECT_VERSION="%{major}.%{minor}" +REDHAT_SUPPORT_PRODUCT="%{distro}" +REDHAT_SUPPORT_PRODUCT_VERSION="%{major}.%{minor}%{?beta: %{beta}}" +EOF + +# Create the symlink for /etc/os-release +ln -s ../usr/lib/os-release %{buildroot}%{_sysconfdir}/os-release + +# write cpe to /etc/system/release-cpe +echo "cpe:/o:oreon:oreon:%{major}::baseos" > %{buildroot}%{_sysconfdir}/system-release-cpe + +# create /etc/issue, /etc/issue.net and /etc/issue.d +echo '\S' > %{buildroot}%{_sysconfdir}/issue +echo 'Kernel \r on an \m' >> %{buildroot}%{_sysconfdir}/issue +cp %{buildroot}%{_sysconfdir}/issue{,.net} +echo >> %{buildroot}%{_sysconfdir}/issue +mkdir -p %{buildroot}%{_sysconfdir}/issue.d + +# set up the dist tag macros +mkdir -p %{buildroot}%{_rpmmacrodir} +cat > %{buildroot}%{_rpmmacrodir}/macros.dist << EOF +# dist macros. + +%%__bootstrap ~bootstrap +%%oreon_ver %{major} +%%oreon %{major} +%%centos_ver %{major} +%%centos %{major} +%%rhel %{major} +%%dist %%{!?distprefix0:%%{?distprefix}}%%{expand:%%{lua:for i=0,9999 do print("%%{?distprefix" .. i .."}") end}}.el%{major}%%{?with_bootstrap:%{__bootstrap}} +%%el%{major} 1 +%%dist_vendor %{dist_vendor} +%%dist_name %{dist_name} +%%dist_home_url %{dist_home_url} +%%dist_bug_report_url %{dist_bug_report_url} +EOF + +# use unbranded datadir +install -d -m 0755 %{buildroot}%{_datadir}/oreon-release +ln -s oreon-release %{buildroot}%{_datadir}/redhat-release +install -p -m 0644 %{SOURCE200} %{buildroot}%{_datadir}/oreon-release/ + +# copy systemd presets +install -d -m 0755 %{buildroot}%{_prefix}/lib/systemd/system-preset/ +install -d -m 0755 %{buildroot}%{_prefix}/lib/systemd/user-preset +install -p -m 0644 %{SOURCE300} %{buildroot}%{_prefix}/lib/systemd/system-preset/ +install -p -m 0644 %{SOURCE301} %{buildroot}%{_prefix}/lib/systemd/system-preset/ +install -p -m 0644 %{SOURCE302} %{buildroot}%{_prefix}/lib/systemd/user-preset/ + +# installing the same file for both system and user presets to set the same behavior for both +install -p -m 0644 %{SOURCE303} %{buildroot}%{_prefix}/lib/systemd/system-preset/ +install -p -m 0644 %{SOURCE303} %{buildroot}%{_prefix}/lib/systemd/user-preset/ + +# copy sysctl presets +mkdir -p %{buildroot}/%{_prefix}/lib/sysctl.d/ +install -m 0644 %{SOURCE304} %{buildroot}/%{_prefix}/lib/sysctl.d/ + +# Create stub yum repos +mkdir %{buildroot}%{_sysconfdir}/yum.repos.d +touch %{buildroot}%{_sysconfdir}/yum.repos.d/redhat.repo + +# Copy secureboot certificates +install -d -m 0755 %{buildroot}%{_sysconfdir}/pki/sb-certs/ +install -d -m 0755 %{buildroot}%{_datadir}/pki/sb-certs/ + +# Install aarch64 certs +install -m 644 %{SOURCE400} %{buildroot}%{_datadir}/pki/sb-certs/secureboot-ca-aarch64.cer +install -m 644 %{SOURCE401} %{buildroot}%{_datadir}/pki/sb-certs/secureboot-kernel-aarch64.cer +install -m 644 %{SOURCE402} %{buildroot}%{_datadir}/pki/sb-certs/secureboot-grub2-aarch64.cer +install -m 644 %{SOURCE403} %{buildroot}%{_datadir}/pki/sb-certs/secureboot-fwupd-aarch64.cer +install -m 644 %{SOURCE404} %{buildroot}%{_datadir}/pki/sb-certs/secureboot-uki-virt-aarch64.cer + +# Install x86_64 certs +install -m 644 %{SOURCE400} %{buildroot}%{_datadir}/pki/sb-certs/secureboot-ca-x86_64.cer +install -m 644 %{SOURCE401} %{buildroot}%{_datadir}/pki/sb-certs/secureboot-kernel-x86_64.cer +install -m 644 %{SOURCE402} %{buildroot}%{_datadir}/pki/sb-certs/secureboot-grub2-x86_64.cer +install -m 644 %{SOURCE403} %{buildroot}%{_datadir}/pki/sb-certs/secureboot-fwupd-x86_64.cer +install -m 644 %{SOURCE404} %{buildroot}%{_datadir}/pki/sb-certs/secureboot-uki-virt-x86_64.cer + +# Install ppc64le certs +install -m 644 %{SOURCE400} %{buildroot}%{_datadir}/pki/sb-certs/secureboot-ca-ppc64le.cer +install -m 644 %{SOURCE401} %{buildroot}%{_datadir}/pki/sb-certs/secureboot-kernel-ppc64le.cer +install -m 644 %{SOURCE402} %{buildroot}%{_datadir}/pki/sb-certs/secureboot-grub2-ppc64le.cer +install -m 644 %{SOURCE404} %{buildroot}%{_datadir}/pki/sb-certs/secureboot-uki-virt-ppc64le.cer + +# Install s390x certs +install -m 644 %{SOURCE400} %{buildroot}%{_datadir}/pki/sb-certs/secureboot-ca-s390x.cer +install -m 644 %{SOURCE401} %{buildroot}%{_datadir}/pki/sb-certs/secureboot-kernel-s390x.cer +install -m 644 %{SOURCE404} %{buildroot}%{_datadir}/pki/sb-certs/secureboot-uki-virt-s390x.cer + +# Link x86_64 certs +ln -sr %{buildroot}%{_datadir}/pki/sb-certs/secureboot-ca-x86_64.cer %{buildroot}%{_sysconfdir}/pki/sb-certs/secureboot-ca-x86_64.cer +ln -sr %{buildroot}%{_datadir}/pki/sb-certs/secureboot-kernel-x86_64.cer %{buildroot}%{_sysconfdir}/pki/sb-certs/secureboot-kernel-x86_64.cer +ln -sr %{buildroot}%{_datadir}/pki/sb-certs/secureboot-grub2-x86_64.cer %{buildroot}%{_sysconfdir}/pki/sb-certs/secureboot-grub2-x86_64.cer +ln -sr %{buildroot}%{_datadir}/pki/sb-certs/secureboot-fwupd-x86_64.cer %{buildroot}%{_sysconfdir}/pki/sb-certs/secureboot-fwupd-x86_64.cer +ln -sr %{buildroot}%{_datadir}/pki/sb-certs/secureboot-uki-virt-x86_64.cer %{buildroot}%{_sysconfdir}/pki/sb-certs/secureboot-uki-virt-x86_64.cer + +# Link aarch64 certs +ln -sr %{buildroot}%{_datadir}/pki/sb-certs/secureboot-ca-aarch64.cer %{buildroot}%{_sysconfdir}/pki/sb-certs/secureboot-ca-aarch64.cer +ln -sr %{buildroot}%{_datadir}/pki/sb-certs/secureboot-kernel-aarch64.cer %{buildroot}%{_sysconfdir}/pki/sb-certs/secureboot-kernel-aarch64.cer +ln -sr %{buildroot}%{_datadir}/pki/sb-certs/secureboot-grub2-aarch64.cer %{buildroot}%{_sysconfdir}/pki/sb-certs/secureboot-grub2-aarch64.cer +ln -sr %{buildroot}%{_datadir}/pki/sb-certs/secureboot-fwupd-aarch64.cer %{buildroot}%{_sysconfdir}/pki/sb-certs/secureboot-fwupd-aarch64.cer +ln -sr %{buildroot}%{_datadir}/pki/sb-certs/secureboot-uki-virt-aarch64.cer %{buildroot}%{_sysconfdir}/pki/sb-certs/secureboot-uki-virt-aarch64.cer + +# Link ppc64le certs +ln -sr %{buildroot}%{_datadir}/pki/sb-certs/secureboot-ca-ppc64le.cer %{buildroot}%{_sysconfdir}/pki/sb-certs/secureboot-ca-ppc64le.cer +ln -sr %{buildroot}%{_datadir}/pki/sb-certs/secureboot-kernel-ppc64le.cer %{buildroot}%{_sysconfdir}/pki/sb-certs/secureboot-kernel-ppc64le.cer +ln -sr %{buildroot}%{_datadir}/pki/sb-certs/secureboot-grub2-ppc64le.cer %{buildroot}%{_sysconfdir}/pki/sb-certs/secureboot-grub2-ppc64le.cer +ln -sr %{buildroot}%{_datadir}/pki/sb-certs/secureboot-uki-virt-ppc64le.cer %{buildroot}%{_sysconfdir}/pki/sb-certs/secureboot-uki-virt-ppc64le.cer + +# Link s390x certs +ln -sr %{buildroot}%{_datadir}/pki/sb-certs/secureboot-ca-s390x.cer %{buildroot}%{_sysconfdir}/pki/sb-certs/secureboot-ca-s390x.cer +ln -sr %{buildroot}%{_datadir}/pki/sb-certs/secureboot-kernel-s390x.cer %{buildroot}%{_sysconfdir}/pki/sb-certs/secureboot-kernel-s390x.cer +ln -sr %{buildroot}%{_datadir}/pki/sb-certs/secureboot-uki-virt-s390x.cer %{buildroot}%{_sysconfdir}/pki/sb-certs/secureboot-uki-virt-s390x.cer + + +# copy yum repos +install -d -m 0755 %{buildroot}%{_sysconfdir}/yum.repos.d +install -p -m 0644 %{SOURCE500} %{buildroot}%{_sysconfdir}/yum.repos.d/ +install -p -m 0644 %{SOURCE501} %{buildroot}%{_sysconfdir}/yum.repos.d/ +install -p -m 0644 %{SOURCE502} %{buildroot}%{_sysconfdir}/yum.repos.d/ +install -p -m 0644 %{SOURCE504} %{buildroot}%{_sysconfdir}/yum.repos.d/ +install -p -m 0644 %{SOURCE505} %{buildroot}%{_sysconfdir}/yum.repos.d/ +install -p -m 0644 %{SOURCE506} %{buildroot}%{_sysconfdir}/yum.repos.d/ +install -p -m 0644 %{SOURCE507} %{buildroot}%{_sysconfdir}/yum.repos.d/ +install -p -m 0644 %{SOURCE508} %{buildroot}%{_sysconfdir}/yum.repos.d/ +# RT and NFV are only for x86_64 +%ifarch x86_64 +install -p -m 0644 %{SOURCE510} %{buildroot}%{_sysconfdir}/yum.repos.d/ +install -p -m 0644 %{SOURCE511} %{buildroot}%{_sysconfdir}/yum.repos.d/ +%endif + +# dnf variables +install -d -m 0755 %{buildroot}%{_sysconfdir}/dnf/vars +echo "%{major}-stream" > %{buildroot}%{_sysconfdir}/dnf/vars/stream + +# copy GPG keys +install -d -m 0755 %{buildroot}%{_sysconfdir}/pki/rpm-gpg +install -p -m 0644 %{SOURCE600} %{buildroot}%{_sysconfdir}/pki/rpm-gpg/ + + + + +%files +%license docs/LICENSE +%{_sysconfdir}/redhat-release +%{_sysconfdir}/system-release +%{_sysconfdir}/oreon-release +%config(noreplace) %{_sysconfdir}/os-release +%config %{_sysconfdir}/system-release-cpe +%config(noreplace) %{_sysconfdir}/issue +%config(noreplace) %{_sysconfdir}/issue.net +%dir %{_sysconfdir}/issue.d +%dir %{_sysconfdir}/yum.repos.d +%ghost %{_sysconfdir}/yum.repos.d/redhat.repo +%{_rpmmacrodir}/macros.dist +%{_datadir}/redhat-release +%{_datadir}/oreon-release +%{_prefix}/lib/os-release +%{_prefix}/lib/systemd/system-preset/* +%{_prefix}/lib/systemd/user-preset/* +%{_prefix}/lib/sysctl.d/50-redhat.conf + +%files -n oreon-repos +%config(noreplace) %{_sysconfdir}/yum.repos.d/oreon-appstream.repo +%config(noreplace) %{_sysconfdir}/yum.repos.d/oreon-baseos.repo +%config(noreplace) %{_sysconfdir}/yum.repos.d/oreon-crb.repo +%config(noreplace) %{_sysconfdir}/yum.repos.d/oreon-highavailability.repo +%config(noreplace) %{_sysconfdir}/yum.repos.d/oreon-resilientstorage.repo +%config(noreplace) %{_sysconfdir}/yum.repos.d/oreon-sap.repo +%config(noreplace) %{_sysconfdir}/yum.repos.d/oreon-saphana.repo +%config(noreplace) %{_sysconfdir}/yum.repos.d/oreon-plus.repo +%ifarch x86_64 +%config(noreplace) %{_sysconfdir}/yum.repos.d/oreon-nfv.repo +%config(noreplace) %{_sysconfdir}/yum.repos.d/oreon-rt.repo +%endif +%config(noreplace) %{_sysconfdir}/dnf/vars/stream + +%files -n oreon-gpg-keys +%{_sysconfdir}/pki/rpm-gpg + + +%files -n oreon-sb-certs +# Note to future packagers: +# resetting the symlinks in /etc/pki/sb-certs on upgrade is the intended behavior here +%dir %{_sysconfdir}/pki/sb-certs +%dir %{_datadir}/pki/sb-certs/ +%{_sysconfdir}/pki/sb-certs/*.cer +%{_datadir}/pki/sb-certs/*.cer + + +%changelog diff --git a/oreon-release/oreon-resilientstorage.repo b/oreon-release/oreon-resilientstorage.repo new file mode 100644 index 000000000..eba51896a --- /dev/null +++ b/oreon-release/oreon-resilientstorage.repo @@ -0,0 +1,30 @@ +[resilientstorage] +name=Oreon - ResilientStorage +mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/resilientstorage +# baseurl=https://repo.almalinux.org/almalinux/$releasever/ResilientStorage/$basearch/os/ +enabled=0 +gpgcheck=1 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Oreon-Lime +countme=1 +metadata_expire=86400 +enabled_metadata=0 + +[resilientstorage-debuginfo] +name=Oreon - ResilientStorage - Debug +mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/resilientstorage-debug +# baseurl=https://repo.almalinux.org/vault/$releasever/ResilientStorage/debug/$basearch/ +enabled=0 +gpgcheck=1 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Oreon-Lime +metadata_expire=86400 +enabled_metadata=0 + +[resilientstorage-source] +name=Oreon - ResilientStorage - Source +mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/resilientstorage-source +# baseurl=https://repo.almalinux.org/vault/$releasever/ResilientStorage/Source/ +enabled=0 +gpgcheck=1 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Oreon-Lime +metadata_expire=86400 +enabled_metadata=0 diff --git a/oreon-release/oreon-rt.repo b/oreon-release/oreon-rt.repo new file mode 100644 index 000000000..e67c613c5 --- /dev/null +++ b/oreon-release/oreon-rt.repo @@ -0,0 +1,30 @@ +[rt] +name=Oreon - RT +mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/rt +# baseurl=https://repo.almalinux.org/almalinux/$releasever/RT/$basearch/os/ +enabled=0 +gpgcheck=1 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Oreon-Lime +countme=1 +metadata_expire=86400 +enabled_metadata=0 + +[rt-debuginfo] +name=Oreon - RT - Debug +mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/rt-debug +# baseurl=https://repo.almalinux.org/vault/$releasever/RT/debug/$basearch/ +enabled=0 +gpgcheck=1 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Oreon-Lime +metadata_expire=86400 +enabled_metadata=0 + +[rt-source] +name=Oreon - RT - Source +mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/rt-source +# baseurl=https://repo.almalinux.org/vault/$releasever/RT/Source/ +enabled=0 +gpgcheck=1 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Oreon-Lime +metadata_expire=86400 +enabled_metadata=0 diff --git a/oreon-release/oreon-sap.repo b/oreon-release/oreon-sap.repo new file mode 100644 index 000000000..61d34746f --- /dev/null +++ b/oreon-release/oreon-sap.repo @@ -0,0 +1,30 @@ +[sap] +name=Oreon - SAP +mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/sap +# baseurl=https://repo.almalinux.org/almalinux/$releasever/SAP/$basearch/os/ +enabled=0 +gpgcheck=1 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Oreon-Lime +countme=1 +metadata_expire=86400 +enabled_metadata=0 + +[sap-debuginfo] +name=Oreon - SAP - Debug +mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/sap-debug +# baseurl=https://repo.almalinux.org/vault/$releasever/SAP/debug/$basearch/ +enabled=0 +gpgcheck=1 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Oreon-Lime +metadata_expire=86400 +enabled_metadata=0 + +[sap-source] +name=Oreon - SAP - Source +mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/sap-source +# baseurl=https://repo.almalinux.org/vault/$releasever/SAP/Source/ +enabled=0 +gpgcheck=1 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Oreon-Lime +metadata_expire=86400 +enabled_metadata=0 diff --git a/oreon-release/oreon-saphana.repo b/oreon-release/oreon-saphana.repo new file mode 100644 index 000000000..333f4fa32 --- /dev/null +++ b/oreon-release/oreon-saphana.repo @@ -0,0 +1,30 @@ +[saphana] +name=Oreon - SAPHANA +mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/saphana +# baseurl=https://repo.almalinux.org/almalinux/$releasever/SAPHANA/$basearch/os/ +enabled=1 +gpgcheck=1 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Oreon-Lime +countme=1 +metadata_expire=86400 +enabled_metadata=0 + +[saphana-debuginfo] +name=Oreon - SAPHANA - Debug +mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/saphana-debug +# baseurl=https://repo.almalinux.org/vault/$releasever/SAPHANA/debug/$basearch/ +enabled=0 +gpgcheck=1 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Oreon-Lime +metadata_expire=86400 +enabled_metadata=0 + +[saphana-source] +name=Oreon - SAPHANA - Source +mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/saphana-source +# baseurl=https://repo.almalinux.org/vault/$releasever/SAPHANA/Source/ +enabled=0 +gpgcheck=1 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Oreon-Lime +metadata_expire=86400 +enabled_metadata=0 diff --git a/oreon-theming/00-gnome-oreon-extensions.conf b/oreon-theming/00-gnome-oreon-extensions.conf new file mode 100644 index 000000000..c8186c7e4 --- /dev/null +++ b/oreon-theming/00-gnome-oreon-extensions.conf @@ -0,0 +1,12 @@ +[org/gnome/shell] +enabled-extensions=['arcmenu@arcmenu.com', 'blur-my-shell@aunetx', 'dash-to-panel@jderose9.github.com', 'user-theme@gnome-shell-extensions.gcampax.github.com'] +[org/gnome/shell/extensions/user-theme] +name='Fluent' +[org/gnome/desktop/interface] +icon-theme='Fluent-yellow' +[org/gnome/desktop/wm/preferences] +button-layout='appmenu:minimize,maximize,close' +[org/gnome/desktop/background] +picture-uri='file:///usr/share/backgrounds/limefalls.png' +[org/gnome/desktop/background] +picture-uri-dark='file:///usr/share/backgrounds/limefalls.png' diff --git a/oreon-theming/gnome-shell-oreon-theming.spec b/oreon-theming/gnome-shell-oreon-theming.spec new file mode 100644 index 000000000..66e12d00a --- /dev/null +++ b/oreon-theming/gnome-shell-oreon-theming.spec @@ -0,0 +1,33 @@ +Name: gnome-shell-oreon-theming +Version: 1 +Release: 13%{?dist} +#Release: 5.%%{commit_date}git%%{commit_short}%%{?dist} +Summary: Provides configuration for theming, etc. + +License: GPLv2+ +Source0: 00-gnome-oreon-extensions.conf + +BuildArch: noarch + +BuildRequires: gettext +BuildRequires: make +BuildRequires: sassc + +Requires: dconf-editor +Requires: dconf +Requires: gnome-shell-extension-bing-wallpaper-oreon + +%description +Provides /etc/dconf/db/local.d/00-gnome-oreon-extensions.conf + +%prep + +# Cleanup crap. +mkdir -p %{buildroot}%{_sysconfdir}/dconf/db/local.d/ +cp %{SOURCE0} %{buildroot}%{_sysconfdir}/dconf/db/local.d/ + +%posttrans +dconf update + +%files +%{_sysconfdir}/dconf/db/local.d/00-gnome-oreon-extensions.conf diff --git a/python-pkgconfig/pkgconfig-1.5.5.tar.gz b/python-pkgconfig/pkgconfig-1.5.5.tar.gz new file mode 100644 index 000000000..556238948 Binary files /dev/null and b/python-pkgconfig/pkgconfig-1.5.5.tar.gz differ diff --git a/python-pkgconfig/python-pkgconfig.spec b/python-pkgconfig/python-pkgconfig.spec new file mode 100644 index 000000000..9983c4158 --- /dev/null +++ b/python-pkgconfig/python-pkgconfig.spec @@ -0,0 +1,112 @@ +%global srcname pkgconfig +%if 0%{?fedora} && 0%{?fedora} <= 30 +%bcond_without python2 +%else +%bcond_with python2 +%endif + +Name: python-%{srcname} +Version: 1.5.5 +Release: 9%{?dist} +Summary: Python interface to the pkg-config command line tool + +License: MIT +URL: https://github.com/matze/pkgconfig +Source: %{pypi_source} + +BuildArch: noarch + +%description +pkgconfig is a Python module to interface with the pkg-config command line +tool and supports Python 2.6+. + +It can be used to + +* check if a package exists +* check if a package meets certain version requirements +* query CFLAGS and LDFLAGS +* parse the output to build extensions with setup.py + +If pkg-config is not on the path, raises EnvironmentError. + +%if %{with python2} +%package -n python2-%{srcname} +Summary: Python2 interface to the pkg-config ocmmand line tool +%{?python_provide:%python_provide python2-%{srcname}} +BuildRequires: python2-devel +BuildRequires: python2-setuptools +Requires: %{_bindir}/pkg-config + +%description -n python2-%{srcname} +pkgconfig is a Python module to interface with the pkg-config command line +tool and supports Python 2.6+. + +It can be used to + +* check if a package exists +* check if a package meets certain version requirements +* query CFLAGS and LDFLAGS +* parse the output to build extensions with setup.py + +If pkg-config is not on the path, raises EnvironmentError. + +Python 2 version. +%endif + +%package -n python3-%{srcname} +Summary: Python3 interface to the pkg-config command line tool +%{?python_provide:%python_provide python3-%{srcname}} +BuildRequires: python3-devel +BuildRequires: python3-setuptools +Requires: %{_bindir}/pkg-config + +%description -n python3-%{srcname} +pkgconfig is a Python module to interface with the pkg-config command line +tool and supports Python 2.6+. + +It can be used to + +* check if a package exists +* check if a package meets certain version requirements +* query CFLAGS and LDFLAGS +* parse the output to build extensions with setup.py + +If pkg-config is not on the path, raises EnvironmentError. + +Python 3 version. + +%prep +%autosetup -n %{srcname}-%{version} +# We need to keep egg-info as a directory +# https://github.com/sdispater/poetry/issues/866 +sed -i -e s/distutils.core/setuptools/ setup.py + +%build +%if %{with python2} +%py2_build +%endif +%py3_build + +%install +%if %{with python2} +%py2_install +%endif +%py3_install + +%if %{with python2} +%files -n python2-%{srcname} +%license LICENSE +%doc README.rst +%{python2_sitelib}/%{srcname}-*.egg-info/ +%{python2_sitelib}/%{srcname}/ +%endif + +%files -n python3-%{srcname} +%license LICENSE +%doc README.rst +%{python3_sitelib}/%{srcname}-*.egg-info/ +%{python3_sitelib}/%{srcname}/ + +%changelog +* Fri May 24 2024 Brandon Lester - 1.5.5-9 +- Port to Oreon diff --git a/selinux-policy/Makefile.devel b/selinux-policy/Makefile.devel new file mode 100644 index 000000000..b1c6bfe71 --- /dev/null +++ b/selinux-policy/Makefile.devel @@ -0,0 +1,22 @@ +# installation paths +SHAREDIR := /usr/share/selinux + +AWK ?= gawk +NAME ?= $(strip $(shell $(AWK) -F= '/^SELINUXTYPE/{ print $$2 }' /etc/selinux/config)) + +ifeq ($(MLSENABLED),) + MLSENABLED := 1 +endif + +ifeq ($(MLSENABLED),1) + NTYPE = mcs +endif + +ifeq ($(NAME),mls) + NTYPE = mls +endif + +TYPE ?= $(NTYPE) + +HEADERDIR := $(SHAREDIR)/devel/include +include $(HEADERDIR)/Makefile diff --git a/selinux-policy/booleans-minimum.conf b/selinux-policy/booleans-minimum.conf new file mode 100644 index 000000000..59dac1f68 --- /dev/null +++ b/selinux-policy/booleans-minimum.conf @@ -0,0 +1,248 @@ +# Allow making anonymous memory executable, e.g.for runtime-code generation or executable stack. +# +allow_execmem = false + +# Allow making a modified private filemapping executable (text relocation). +# +allow_execmod = false + +# Allow making the stack executable via mprotect.Also requires allow_execmem. +# +allow_execstack = true + +# Allow ftpd to read cifs directories. +# +allow_ftpd_use_cifs = false + +# Allow ftpd to read nfs directories. +# +allow_ftpd_use_nfs = false + +# Allow ftp servers to modify public filesused for public file transfer services. +# +allow_ftpd_anon_write = false + +# Allow gssd to read temp directory. +# +allow_gssd_read_tmp = true + +# Allow Apache to modify public filesused for public file transfer services. +# +allow_httpd_anon_write = false + +# Allow Apache to use mod_auth_pam module +# +allow_httpd_mod_auth_pam = false + +# Allow system to run with kerberos +# +allow_kerberos = true + +# Allow rsync to modify public filesused for public file transfer services. +# +allow_rsync_anon_write = false + +# Allow sasl to read shadow +# +allow_saslauthd_read_shadow = false + +# Allow samba to modify public filesused for public file transfer services. +# +allow_smbd_anon_write = false + +# Allow system to run with NIS +# +allow_ypbind = false + +# Allow zebra to write it own configuration files +# +allow_zebra_write_config = false + +# Enable extra rules in the cron domainto support fcron. +# +fcron_crond = false + +# +# allow httpd to connect to mysql/posgresql +httpd_can_network_connect_db = false + +# +# allow httpd to send dbus messages to avahi +httpd_dbus_avahi = true + +# +# allow httpd to network relay +httpd_can_network_relay = false + +# Allow httpd to use built in scripting (usually php) +# +httpd_builtin_scripting = true + +# Allow http daemon to tcp connect +# +httpd_can_network_connect = false + +# Allow httpd cgi support +# +httpd_enable_cgi = true + +# Allow httpd to act as a FTP server bylistening on the ftp port. +# +httpd_enable_ftp_server = false + +# Allow httpd to read home directories +# +httpd_enable_homedirs = false + +# Run SSI execs in system CGI script domain. +# +httpd_ssi_exec = false + +# Allow http daemon to communicate with the TTY +# +httpd_tty_comm = false + +# Run CGI in the main httpd domain +# +httpd_unified = false + +# Allow BIND to write the master zone files.Generally this is used for dynamic DNS. +# +named_write_master_zones = false + +# Allow nfs to be exported read/write. +# +nfs_export_all_rw = true + +# Allow nfs to be exported read only +# +nfs_export_all_ro = true + +# Allow pppd to load kernel modules for certain modems +# +pppd_can_insmod = false + +# Allow reading of default_t files. +# +read_default_t = false + +# Allow samba to export user home directories. +# +samba_enable_home_dirs = false + +# Allow squid to connect to all ports, not justHTTP, FTP, and Gopher ports. +# +squid_connect_any = false + +# Support NFS home directories +# +use_nfs_home_dirs = true + +# Support SAMBA home directories +# +use_samba_home_dirs = false + +# Control users use of ping and traceroute +# +user_ping = false + +# allow host key based authentication +# +allow_ssh_keysign = false + +# Allow pppd to be run for a regular user +# +pppd_for_user = false + +# Allow applications to read untrusted contentIf this is disallowed, Internet content hasto be manually relabeled for read access to be granted +# +read_untrusted_content = false + +# Allow spamd to write to users homedirs +# +spamd_enable_home_dirs = false + +# Allow regular users direct mouse access +# +user_direct_mouse = false + +# Allow users to read system messages. +# +user_dmesg = false + +# Allow user to r/w files on filesystemsthat do not have extended attributes (FAT, CDROM, FLOPPY) +# +user_rw_noexattrfile = false + +# Allow users to run TCP servers (bind to ports and accept connection fromthe same domain and outside users) disabling this forces FTP passive modeand may change other protocols. +# +user_tcp_server = false + +# Allow w to display everyone +# +user_ttyfile_stat = false + +# Allow applications to write untrusted contentIf this is disallowed, no Internet contentwill be stored. +# +write_untrusted_content = false + +# Allow all domains to talk to ttys +# +allow_daemons_use_tty = false + +# Allow login domains to polyinstatiate directories +# +allow_polyinstantiation = false + +# Allow all domains to dump core +# +allow_daemons_dump_core = true + +# Allow samba to act as the domain controller +# +samba_domain_controller = false + +# Allow samba to export user home directories. +# +samba_run_unconfined = false + +# Allows XServer to execute writable memory +# +allow_xserver_execmem = false + +# disallow guest accounts to execute files that they can create +# +allow_guest_exec_content = false +allow_xguest_exec_content = false + +# Only allow browser to use the web +# +browser_confine_xguest=false + +# Allow postfix locat to write to mail spool +# +allow_postfix_local_write_mail_spool=false + +# Allow common users to read/write noexattrfile systems +# +user_rw_noexattrfile=true + +# Allow qemu to connect fully to the network +# +qemu_full_network=true + +# Allow nsplugin execmem/execstack for bad plugins +# +allow_nsplugin_execmem=true + +# Allow unconfined domain to transition to confined domain +# +allow_unconfined_nsplugin_transition=true + +# System uses init upstart program +# +init_upstart = true + +# Allow mount to mount any file/dir +# +allow_mount_anyfile = true diff --git a/selinux-policy/booleans-mls.conf b/selinux-policy/booleans-mls.conf new file mode 100644 index 000000000..65ccfa4a4 --- /dev/null +++ b/selinux-policy/booleans-mls.conf @@ -0,0 +1,6 @@ +kerberos_enabled = true +mount_anyfile = true +polyinstantiation_enabled = true +ftpd_is_daemon = true +selinuxuser_ping = true +xserver_object_manager = true diff --git a/selinux-policy/booleans-targeted.conf b/selinux-policy/booleans-targeted.conf new file mode 100644 index 000000000..8789a08b2 --- /dev/null +++ b/selinux-policy/booleans-targeted.conf @@ -0,0 +1,25 @@ +gssd_read_tmp = true +httpd_builtin_scripting = true +httpd_enable_cgi = true +kerberos_enabled = true +mount_anyfile = true +nfs_export_all_ro = true +nfs_export_all_rw = true +nscd_use_shm = true +openvpn_enable_homedirs = true +postfix_local_write_mail_spool=true +pppd_can_insmod = false +privoxy_connect_any = true +selinuxuser_direct_dri_enabled = true +selinuxuser_execmem = true +selinuxuser_execmod = true +selinuxuser_execstack = true +selinuxuser_rw_noexattrfile=true +selinuxuser_ping = true +squid_connect_any = true +telepathy_tcp_connect_generic_network_ports=true +unconfined_chrome_sandbox_transition=true +unconfined_mozilla_plugin_transition=true +xguest_exec_content = true +mozilla_plugin_can_network_connect = true +use_virtualbox = true diff --git a/selinux-policy/booleans.subs_dist b/selinux-policy/booleans.subs_dist new file mode 100644 index 000000000..fed7d8cff --- /dev/null +++ b/selinux-policy/booleans.subs_dist @@ -0,0 +1,54 @@ +allow_auditadm_exec_content auditadm_exec_content +allow_console_login login_console_enabled +allow_cvs_read_shadow cvs_read_shadow +allow_daemons_dump_core daemons_dump_core +allow_daemons_use_tcp_wrapper daemons_use_tcp_wrapper +allow_daemons_use_tty daemons_use_tty +allow_domain_fd_use domain_fd_use +allow_execheap selinuxuser_execheap +allow_execmod selinuxuser_execmod +allow_execstack selinuxuser_execstack +allow_ftpd_anon_write ftpd_anon_write +allow_ftpd_full_access ftpd_full_access +allow_ftpd_use_cifs ftpd_use_cifs +allow_ftpd_use_nfs ftpd_use_nfs +allow_gssd_read_tmp gssd_read_tmp +allow_guest_exec_content guest_exec_content +allow_httpd_anon_write httpd_anon_write +allow_httpd_mod_auth_ntlm_winbind httpd_mod_auth_ntlm_winbind +allow_httpd_mod_auth_pam httpd_mod_auth_pam +allow_httpd_sys_script_anon_write httpd_sys_script_anon_write +allow_kerberos kerberos_enabled +allow_mplayer_execstack mplayer_execstack +allow_mount_anyfile mount_anyfile +allow_nfsd_anon_write nfsd_anon_write +allow_polyinstantiation polyinstantiation_enabled +allow_postfix_local_write_mail_spool postfix_local_write_mail_spool +allow_rsync_anon_write rsync_anon_write +allow_saslauthd_read_shadow saslauthd_read_shadow +allow_secadm_exec_content secadm_exec_content +allow_smbd_anon_write smbd_anon_write +allow_ssh_keysign ssh_keysign +allow_staff_exec_content staff_exec_content +allow_sysadm_exec_content sysadm_exec_content +allow_user_exec_content user_exec_content +allow_user_mysql_connect selinuxuser_mysql_connect_enabled +allow_user_postgresql_connect selinuxuser_postgresql_connect_enabled +allow_write_xshm xserver_clients_write_xshm +allow_xguest_exec_content xguest_exec_content +allow_xserver_execmem xserver_execmem +allow_ypbind nis_enabled +allow_zebra_write_config zebra_write_config +user_direct_dri selinuxuser_direct_dri_enabled +user_ping selinuxuser_ping +user_share_music selinuxuser_share_music +user_tcp_server selinuxuser_tcp_server +sepgsql_enable_pitr_implementation postgresql_can_rsync +sepgsql_enable_users_ddl postgresql_selinux_users_ddl +sepgsql_transmit_client_label postgresql_selinux_transmit_client_label +sepgsql_unconfined_dbadm postgresql_selinux_unconfined_dbadm +clamd_use_jit antivirus_use_jit +amavis_use_jit antivirus_use_jit +logwatch_can_sendmail logwatch_can_network_connect_mail +puppet_manage_all_files puppetagent_manage_all_files +virt_sandbox_use_nfs virt_use_nfs diff --git a/selinux-policy/container-selinux.tgz b/selinux-policy/container-selinux.tgz new file mode 100644 index 000000000..539c9a2df Binary files /dev/null and b/selinux-policy/container-selinux.tgz differ diff --git a/selinux-policy/customizable_types b/selinux-policy/customizable_types new file mode 100644 index 000000000..b3f6cb087 --- /dev/null +++ b/selinux-policy/customizable_types @@ -0,0 +1,14 @@ +container_file_t +sandbox_file_t +svirt_image_t +svirt_home_t +svirt_sandbox_file_t +virt_content_t +httpd_user_htaccess_t +httpd_user_script_exec_t +httpd_user_rw_content_t +httpd_user_ra_content_t +httpd_user_content_t +git_session_content_t +home_bin_t +user_tty_device_t diff --git a/selinux-policy/file_contexts.subs_dist b/selinux-policy/file_contexts.subs_dist new file mode 100644 index 000000000..6afa41b37 --- /dev/null +++ b/selinux-policy/file_contexts.subs_dist @@ -0,0 +1,24 @@ +/var/run /run +/var/lock /run/lock +/run/systemd/system /usr/lib/systemd/system +/run/systemd/generator /usr/lib/systemd/system +/run/systemd/generator.early /usr/lib/systemd/system +/run/systemd/generator.late /usr/lib/systemd/system +/lib /usr/lib +/lib64 /usr/lib +/usr/lib64 /usr/lib +/usr/local/lib64 /usr/lib +/usr/local/lib32 /usr/lib +/etc/systemd/system /usr/lib/systemd/system +/var/lib/xguest/home /home +/var/named/chroot/usr/lib64 /usr/lib +/var/named/chroot/lib64 /usr/lib +/var/named/chroot/var /var +/home-inst /home +/home/home-inst /home +/var/roothome /root +/sbin /usr/sbin +/sysroot/tmp /tmp +/var/usrlocal /usr/local +/var/mnt /mnt +/bin /usr/bin diff --git a/selinux-policy/macro-expander b/selinux-policy/macro-expander new file mode 100644 index 000000000..2670b61dc --- /dev/null +++ b/selinux-policy/macro-expander @@ -0,0 +1,81 @@ +#!/bin/bash + +function usage { + echo "Usage: $0 [ -c | -t [ -M ] ] " + echo "Options: + -c generate CIL output + -t generate standard policy source format (.te) allow rules - this is default + -M generate complete module .te output +" +} + +function cleanup { + rm -rf $TEMP_STORE +} + +while getopts "chMt" opt; do + case $opt in + c) GENCIL=1 + ;; + t) GENTE=1 + ;; + M) GENTEMODULE=1 + ;; + h) usage + exit 0 + ;; + \?) usage + exit 1 + ;; + esac +done + +shift $((OPTIND-1)) + +SELINUX_MACRO=$1 + +if [ -z "$SELINUX_MACRO" ] +then + exit 1 +fi + +TEMP_STORE="$(mktemp -d)" +cd $TEMP_STORE || exit 1 + +IFS="(" +set $1 +SELINUX_DOMAIN="${2::-1}" + +echo -e "policy_module(expander, 1.0.0) \n" \ + "gen_require(\`\n" \ + "type $SELINUX_DOMAIN ; \n" \ + "')" > expander.te + +echo "$SELINUX_MACRO" >> expander.te + +make -f /usr/share/selinux/devel/Makefile tmp/all_interfaces.conf &> /dev/null + +if [ "x$GENCIL" = "x1" ]; then + + make -f /usr/share/selinux/devel/Makefile expander.pp &> /dev/null + MAKE_RESULT=$? + + if [ $MAKE_RESULT -ne 2 ] + then + /usr/libexec/selinux/hll/pp < $TEMP_STORE/expander.pp > $TEMP_STORE/expander.cil 2> /dev/null + grep -v "cil_gen_require" $TEMP_STORE/expander.cil | sort -u + fi +fi + +if [ "$GENTE" = "1" ] || [ "x$GENCIL" != "x1" ]; then + m4 -D enable_mcs -D distro_redhat -D hide_broken_symptoms -D mls_num_sens=16 -D mls_num_cats=1024 -D mcs_num_cats=1024 -s /usr/share/selinux/devel/include/support/file_patterns.spt /usr/share/selinux/devel/include/support/ipc_patterns.spt /usr/share/selinux/devel/include/support/obj_perm_sets.spt /usr/share/selinux/devel/include/support/misc_patterns.spt /usr/share/selinux/devel/include/support/misc_macros.spt /usr/share/selinux/devel/include/support/all_perms.spt /usr/share/selinux/devel/include/support/mls_mcs_macros.spt /usr/share/selinux/devel/include/support/loadable_module.spt tmp/all_interfaces.conf expander.te > expander.tmp 2> /dev/null + if [ "x$GENTEMODULE" = "x1" ]; then + # sed '/^#.*$/d;/^\s*$/d;/^\s*class .*/d;/^\s*category .*/d;s/^\s*//' expander.tmp + sed '/^#.*$/d;/^\s*$/d;/^\s*category .*/d;s/^\s*//' expander.tmp + else + grep '^\s*allow' expander.tmp | sed 's/^\s*//' + fi +fi + +cd - > /dev/null || exit 1 +cleanup diff --git a/selinux-policy/modules-mls-base.conf b/selinux-policy/modules-mls-base.conf new file mode 100644 index 000000000..5b21a3ebe --- /dev/null +++ b/selinux-policy/modules-mls-base.conf @@ -0,0 +1,380 @@ +# Layer: kernel +# Module: bootloader +# +# Policy for the kernel modules, kernel image, and bootloader. +# +bootloader = module + +# Layer: kernel +# Module: corenetwork +# Required in base +# +# Policy controlling access to network objects +# +corenetwork = base + +# Layer: admin +# Module: dmesg +# +# Policy for dmesg. +# +dmesg = module + +# Layer: admin +# Module: netutils +# +# Network analysis utilities +# +netutils = module + +# Layer: admin +# Module: sudo +# +# Execute a command with a substitute user +# +sudo = module + +# Layer: admin +# Module: su +# +# Run shells with substitute user and group +# +su = module + +# Layer: admin +# Module: usermanage +# +# Policy for managing user accounts. +# +usermanage = module + +# Layer: apps +# Module: seunshare +# +# seunshare executable +# +seunshare = module + +# Layer: kernel +# Module: corecommands +# Required in base +# +# Core policy for shells, and generic programs +# in /bin, /sbin, /usr/bin, and /usr/sbin. +# +corecommands = base + +# Module: devices +# Required in base +# +# Device nodes and interfaces for many basic system devices. +# +devices = base + +# Module: domain +# Required in base +# +# Core policy for domains. +# +domain = base + +# Layer: system +# Module: userdomain +# +# Policy for user domains +# +userdomain = module + +# Module: files +# Required in base +# +# Basic filesystem types and interfaces. +# +files = base + +# Module: filesystem +# Required in base +# +# Policy for filesystems. +# +filesystem = base + +# Module: kernel +# Required in base +# +# Policy for kernel threads, proc filesystem,and unlabeled processes and objects. +# +kernel = base + +# Module: mcs +# Required in base +# +# MultiCategory security policy +# +mcs = base + +# Module: mls +# Required in base +# +# Multilevel security policy +# +mls = base + +# Module: selinux +# Required in base +# +# Policy for kernel security interface, in particular, selinuxfs. +# +selinux = base + +# Layer: kernel +# Module: storage +# +# Policy controlling access to storage devices +# +storage = base + +# Module: terminal +# Required in base +# +# Policy for terminals. +# +terminal = base + +# Layer: kernel +# Module: ubac +# +# +# +ubac = base + +# Layer: kernel +# Module: unlabelednet +# +# The unlabelednet module. +# +unlabelednet = module + +# Layer: role +# Module: auditadm +# +# auditadm account on tty logins +# +auditadm = module + +# Layer: role +# Module: logadm +# +# Minimally prived root role for managing logging system +# +logadm = module + +# Layer: role +# Module: secadm +# +# secadm account on tty logins +# +secadm = module + +# Layer:role +# Module: staff +# +# admin account +# +staff = module + +# Layer:role +# Module: sysadm_secadm +# +# System Administrator with Security Admin rules +# +sysadm_secadm = module + +# Layer:role +# Module: sysadm +# +# System Administrator +# +sysadm = module + +# Layer: role +# Module: unprivuser +# +# Minimally privs guest account on tty logins +# +unprivuser = module + +# Layer: services +# Module: postgresql +# +# PostgreSQL relational database +# +postgresql = module + +# Layer: services +# Module: ssh +# +# Secure shell client and server policy. +# +ssh = module + +# Layer: services +# Module: xserver +# +# X windows login display manager +# +xserver = module + +# Module: application +# Required in base +# +# Defines attributs and interfaces for all user applications +# +application = module + +# Layer: system +# Module: authlogin +# +# Common policy for authentication and user login. +# +authlogin = module + +# Layer: system +# Module: clock +# +# Policy for reading and setting the hardware clock. +# +clock = module + +# Layer: system +# Module: fstools +# +# Tools for filesystem management, such as mkfs and fsck. +# +fstools = module + +# Layer: system +# Module: getty +# +# Policy for getty. +# +getty = module + +# Layer: system +# Module: hostname +# +# Policy for changing the system host name. +# +hostname = module + +# Layer: system +# Module: init +# +# System initialization programs (init and init scripts). +# +init = module + +# Layer: system +# Module: ipsec +# +# TCP/IP encryption +# +ipsec = module + +# Layer: system +# Module: iptables +# +# Policy for iptables. +# +iptables = module + +# Layer: system +# Module: libraries +# +# Policy for system libraries. +# +libraries = module + +# Layer: system +# Module: locallogin +# +# Policy for local logins. +# +locallogin = module + +# Layer: system +# Module: logging +# +# Policy for the kernel message logger and system logging daemon. +# +logging = module + +# Layer: system +# Module: lvm +# +# Policy for logical volume management programs. +# +lvm = module + +# Layer: system +# Module: miscfiles +# +# Miscelaneous files. +# +miscfiles = module + +# Layer: system +# Module: modutils +# +# Policy for kernel module utilities +# +modutils = module + +# Layer: system +# Module: mount +# +# Policy for mount. +# +mount = module + +# Layer: system +# Module: netlabel +# +# Basic netlabel types and interfaces. +# +netlabel = module + +# Layer: system +# Module: selinuxutil +# +# Policy for SELinux policy and userland applications. +# +selinuxutil = module + +# Module: setrans +# Required in base +# +# Policy for setrans +# +setrans = module + +# Layer: system +# Module: sysnetwork +# +# Policy for network configuration: ifconfig and dhcp client. +# +sysnetwork = module + +# Layer: system +# Module: systemd +# +# Policy for systemd components +# +systemd = module + +# Layer: system +# Module: udev +# +# Policy for udev. +# +udev = module diff --git a/selinux-policy/modules-mls-contrib.conf b/selinux-policy/modules-mls-contrib.conf new file mode 100644 index 000000000..bfa841fb6 --- /dev/null +++ b/selinux-policy/modules-mls-contrib.conf @@ -0,0 +1,1581 @@ +# Layer: services +# Module: accountsd +# +# An application to view and modify user accounts information +# +accountsd = module + +# Layer: admin +# Module: acct +# +# Berkeley process accounting +# +acct = module + +# Layer: services +# Module: afs +# +# Andrew Filesystem server +# +afs = module + +# Layer: services +# Module: aide +# +# Policy for aide +# +aide = module + +# Layer: admin +# Module: alsa +# +# Ainit ALSA configuration tool +# +alsa = module + +# Layer: admin +# Module: amanda +# +# Automated backup program. +# +amanda = module + +# Layer: contrib +# Module: antivirus +# +# Anti-virus +# +antivirus = module + +# Layer: admin +# Module: amtu +# +# Abstract Machine Test Utility (AMTU) +# +amtu = module + +# Layer: admin +# Module: anaconda +# +# Policy for the Anaconda installer. +# +anaconda = module + +# Layer: services +# Module: apache +# +# Apache web server +# +apache = module + +# Layer: services +# Module: apcupsd +# +# daemon for most APC’s UPS for Linux +# +apcupsd = module + +# Layer: services +# Module: apm +# +# Advanced power management daemon +# +apm = module + +# Layer: services +# Module: arpwatch +# +# Ethernet activity monitor. +# +arpwatch = module + +# Layer: services +# Module: automount +# +# Filesystem automounter service. +# +automount = module + +# Layer: services +# Module: avahi +# +# mDNS/DNS-SD daemon implementing Apple ZeroConf architecture +# +avahi = module + +# Layer: modules +# Module: awstats +# +# awstats executable +# +awstats = module + +# Layer: services +# Module: bind +# +# Berkeley internet name domain DNS server. +# +bind = module + +# Layer: services +# Module: bitlbee +# +# An IRC to other chat networks gateway +# +bitlbee = module + +# Layer: services +# Module: bluetooth +# +# Bluetooth tools and system services. +# +bluetooth = module + +# Layer: services +# Module: boinc +# +# Berkeley Open Infrastructure for Network Computing +# +boinc = module + +# Layer: system +# Module: brctl +# +# Utilities for configuring the linux ethernet bridge +# +brctl = module + +# Layer: services +# Module: bugzilla +# +# Bugzilla server +# +bugzilla = module + +# Layer: services +# Module: cachefilesd +# +# CacheFiles userspace management daemon +# +cachefilesd = module + +# Module: calamaris +# +# +# Squid log analysis +# +calamaris = module + +# Layer: services +# Module: canna +# +# Canna - kana-kanji conversion server +# +canna = module + +# Layer: services +# Module: ccs +# +# policy for ccs +# +ccs = module + +# Layer: apps +# Module: cdrecord +# +# Policy for cdrecord +# +cdrecord = module + +# Layer: admin +# Module: certmaster +# +# Digital Certificate master +# +certmaster = module + +# Layer: services +# Module: certmonger +# +# Certificate status monitor and PKI enrollment client +# +certmonger = module + +# Layer: admin +# Module: certwatch +# +# Digital Certificate Tracking +# +certwatch = module + +# Layer: services +# Module: cgroup +# +# Tools and libraries to control and monitor control groups +# +cgroup = module + +# Layer: apps +# Module: chrome +# +# chrome sandbox +# +chrome = module + +# Layer: services +# Module: chronyd +# +# Daemon for maintaining clock time +# +chronyd = module + +# Layer: services +# Module: cipe +# +# Encrypted tunnel daemon +# +cipe = module + +# Layer: services +# Module: clogd +# +# clogd - clustered mirror log server +# +clogd = module + +# Layer: services +# Module: cmirrord +# +# cmirrord - daemon providing device-mapper-base mirrors in a shared-storege cluster +# +cmirrord = module + +# Layer: services +# Module: colord +# +# color device daemon +# +colord = module + +# Layer: services +# Module: comsat +# +# Comsat, a biff server. +# +comsat = module + +# Layer: services +# Module: courier +# +# IMAP and POP3 email servers +# +courier = module + +# Layer: services +# Module: cpucontrol +# +# Services for loading CPU microcode and CPU frequency scaling. +# +cpucontrol = module + +# Layer: apps +# Module: cpufreqselector +# +# cpufreqselector executable +# +cpufreqselector = module + +# Layer: services +# Module: cron +# +# Periodic execution of scheduled commands. +# +cron = module + +# Layer: services +# Module: cups +# +# Common UNIX printing system +# +cups = module + +# Layer: services +# Module: cvs +# +# Concurrent versions system +# +cvs = module + +# Layer: services +# Module: cyphesis +# +# cyphesis game server +# +cyphesis = module + +# Layer: services +# Module: cyrus +# +# Cyrus is an IMAP service intended to be run on sealed servers +# +cyrus = module + +# Layer: system +# Module: daemontools +# +# Collection of tools for managing UNIX services +# +daemontools = module + +# Layer: role +# Module: dbadm +# +# Minimally prived root role for managing databases +# +dbadm = module + +# Layer: services +# Module: dbskk +# +# Dictionary server for the SKK Japanese input method system. +# +dbskk = module + +# Layer: services +# Module: dbus +# +# Desktop messaging bus +# +dbus = module + +# Layer: services +# Module: dcc +# +# A distributed, collaborative, spam detection and filtering network. +# +dcc = module + +# Layer: admin +# Module: ddcprobe +# +# ddcprobe retrieves monitor and graphics card information +# +ddcprobe = off + +# Layer: services +# Module: devicekit +# +# devicekit-daemon +# +devicekit = module + +# Layer: services +# Module: dhcp +# +# Dynamic host configuration protocol (DHCP) server +# +dhcp = module + +# Layer: services +# Module: dictd +# +# Dictionary daemon +# +dictd = module + +# Layer: services +# Module: distcc +# +# Distributed compiler daemon +# +distcc = off + +# Layer: admin +# Module: dmidecode +# +# Decode DMI data for x86/ia64 bioses. +# +dmidecode = module + +# Layer: services +# Module: dnsmasq +# +# A lightweight DHCP and caching DNS server. +# +dnsmasq = module + +# Layer: services +# Module: dnssec +# +# A dnssec server application +# +dnssec = module + +# Layer: services +# Module: dovecot +# +# Dovecot POP and IMAP mail server +# +dovecot = module + +# Layer: services +# Module: entropy +# +# Generate entropy from audio input +# +entropyd = module + +# Layer: services +# Module: exim +# +# exim mail server +# +exim = module + +# Layer: services +# Module: fail2ban +# +# daiemon that bans IP that makes too many password failures +# +fail2ban = module + +# Layer: services +# Module: fetchmail +# +# Remote-mail retrieval and forwarding utility +# +fetchmail = module + +# Layer: services +# Module: finger +# +# Finger user information service. +# +finger = module + +# Layer: services +# Module: firewalld +# +# firewalld is firewall service daemon that provides dynamic customizable +# +firewalld = module + +# Layer: apps +# Module: firewallgui +# +# policy for system-config-firewall +# +firewallgui = module + +# Module: firstboot +# +# Final system configuration run during the first boot +# after installation of Red Hat/Fedora systems. +# +firstboot = module + +# Layer: services +# Module: fprintd +# +# finger print server +# +fprintd = module + +# Layer: services +# Module: ftp +# +# File transfer protocol service +# +ftp = module + +# Layer: apps +# Module: games +# +# The Open Group Pegasus CIM/WBEM Server. +# +games = module + +# Layer: apps +# Module: gitosis +# +# Policy for gitosis +# +gitosis = module + +# Layer: services +# Module: git +# +# Policy for the stupid content tracker +# +git = module + +# Layer: services +# Module: glance +# +# Policy for glance +# +glance = module + +# Layer: apps +# Module: gnome +# +# gnome session and gconf +# +gnome = module + +# Layer: apps +# Module: gpg +# +# Policy for Mozilla and related web browsers +# +gpg = module + +# Layer: services +# Module: gpm +# +# General Purpose Mouse driver +# +gpm = module + +# Module: gpsd +# +# gpsd monitor daemon +# +# +gpsd = module + +# Module: gssproxy +# +# A proxy for GSSAPI credential handling +# +# +gssproxy = module + +# Layer: role +# Module: guest +# +# Minimally privs guest account on tty logins +# +guest = module + +# Layer: services +# Module: i18n_input +# +# IIIMF htt server +# +i18n_input = off + +# Layer: services +# Module: inetd +# +# Internet services daemon. +# +inetd = module + +# Layer: services +# Module: inn +# +# Internet News NNTP server +# +inn = module + +# Layer: apps +# Module: irc +# +# IRC client policy +# +irc = module + +# Layer: services +# Module: irqbalance +# +# IRQ balancing daemon +# +irqbalance = module + +# Layer: system +# Module: iscsi +# +# Open-iSCSI daemon +# +iscsi = module + +# Layer: services +# Module: jabber +# +# Jabber instant messaging server +# +jabber = module + +# Layer: apps +# Module: kdumpgui +# +# system-config-kdump policy +# +kdumpgui = module + +# Layer: admin +# Module: kdump +# +# kdump is kernel crash dumping mechanism +# +kdump = module + +# Layer: services +# Module: kerberos +# +# MIT Kerberos admin and KDC +# +kerberos = module + +# Layer: services +# Module: kismet +# +# Wireless sniffing and monitoring +# +kismet = module + +# Layer: services +# Module: ktalk +# +# KDE Talk daemon +# +ktalk = module + +# Layer: services +# Module: ldap +# +# OpenLDAP directory server +# +ldap = module + +# Layer: services +# Module: lircd +# +# LIRC daemon - decodes infrared signals and provides them on a Unix domain socket. +# +lircd = module + +# Layer: apps +# Module: loadkeys +# +# Load keyboard mappings. +# +loadkeys = module + +# Layer: apps +# Module: lockdev +# +# device locking policy for lockdev +# +lockdev = module + +# Layer: admin +# Module: logrotate +# +# Rotate and archive system logs +# +logrotate = module + +# Layer: services +# Module: logwatch +# +# logwatch executable +# +logwatch = module + +# Layer: services +# Module: lpd +# +# Line printer daemon +# +lpd = module + +# Layer: services +# Module: lsm +# +# lsm policy +# +lsm = module + +# Layer: services +# Module: mailman +# +# Mailman is for managing electronic mail discussion and e-newsletter lists +# +mailman = module + +# Layer: admin +# Module: mcelog +# +# mcelog is a daemon that collects and decodes Machine Check Exception data on x86-64 machines. +# +mcelog = module + +# Layer: services +# Module: memcached +# +# high-performance memory object caching system +# +memcached = module + +# Layer: services +# Module: milter +# +# +# +milter = module + +# Layer: services +# Module: modemmanager +# +# Manager for dynamically switching between modems. +# +modemmanager = module + +# Layer: services +# Module: mojomojo +# +# Wiki server +# +mojomojo = module + +# Layer: apps +# Module: mozilla +# +# Policy for Mozilla and related web browsers +# +mozilla = module + +# Layer: apps +# Module: mplayer +# +# Policy for Mozilla and related web browsers +# +mplayer = module + +# Layer: admin +# Module: mrtg +# +# Network traffic graphing +# +mrtg = module + +# Layer: services +# Module: mta +# +# Policy common to all email tranfer agents. +# +mta = module + +# Layer: services +# Module: munin +# +# Munin +# +munin = module + +# Layer: services +# Module: mysql +# +# Policy for MySQL +# +mysql = module + +# Layer: services +# Module: nagios +# +# policy for nagios Host/service/network monitoring program +# +nagios = module + +# Layer: apps +# Module: namespace +# +# policy for namespace.init script +# +namespace = module + +# Layer: admin +# Module: ncftool +# +# Tool to modify the network configuration of a system +# +ncftool = module + +# Layer: services +# Module: networkmanager +# +# Manager for dynamically switching between networks. +# +networkmanager = module + +# Layer: services +# Module: nis +# +# Policy for NIS (YP) servers and clients +# +nis = module + +# Layer: services +# Module: nscd +# +# Name service cache daemon +# +nscd = module + +# Layer: services +# Module: nslcd +# +# Policy for nslcd +# +nslcd = module + +# Layer: services +# Module: ntop +# +# Policy for ntop +# +ntop = module + +# Layer: services +# Module: ntp +# +# Network time protocol daemon +# +ntp = module + +# Layer: services +# Module: nx +# +# NX Remote Desktop +# +nx = module + +# Layer: services +# Module: oddjob +# +# policy for oddjob +# +oddjob = module + +# Layer: services +# Module: openct +# +# Service for handling smart card readers. +# +openct = off + +# Layer: service +# Module: openct +# +# Middleware framework for smart card terminals +# +openct = module + +# Layer: services +# Module: openvpn +# +# Policy for OPENVPN full-featured SSL VPN solution +# +openvpn = module + +# Layer: contrib +# Module: prelude +# +# SELinux policy for prelude +# +prelude = module + +# Layer: contrib +# Module: prosody +# +# SELinux policy for prosody flexible communications server for Jabber/XMPP +# +prosody = module + +# Layer: services +# Module: pads +# +pads = module + +# Layer: system +# Module: pcmcia +# +# PCMCIA card management services +# +pcmcia = module + +# Layer: service +# Module: pcscd +# +# PC/SC Smart Card Daemon +# +pcscd = module + +# Layer: services +# Module: pegasus +# +# The Open Group Pegasus CIM/WBEM Server. +# +pegasus = module + + +# Layer: services +# Module: pingd +# +# +pingd = module + +# Layer: services +# Module: piranha +# +# piranha - various tools to administer and configure the Linux Virtual Server +# +piranha = module + +# Layer: services +# Module: plymouthd +# +# Plymouth +# +plymouthd = module + +# Layer: apps +# Module: podsleuth +# +# Podsleuth probes, identifies, and exposes properties and metadata bound to iPods. +# +podsleuth = module + +# Layer: services +# Module: policykit +# +# Hardware abstraction layer +# +policykit = module + +# Layer: services +# Module: polipo +# +# polipo +# +polipo = module + +# Layer: services +# Module: portmap +# +# RPC port mapping service. +# +portmap = module + +# Layer: services +# Module: portreserve +# +# reserve ports to prevent portmap mapping them +# +portreserve = module + +# Layer: services +# Module: postfix +# +# Postfix email server +# +postfix = module + +o# Layer: services +# Module: postgrey +# +# email scanner +# +postgrey = module + +# Layer: services +# Module: ppp +# +# Point to Point Protocol daemon creates links in ppp networks +# +ppp = module + +# Layer: admin +# Module: prelink +# +# Manage temporary directory sizes and file ages +# +prelink = module + +unprivuser = module + +# Layer: services +# Module: privoxy +# +# Privacy enhancing web proxy. +# +privoxy = module + +# Layer: services +# Module: procmail +# +# Procmail mail delivery agent +# +procmail = module + +# Layer: services +# Module: psad +# +# Analyze iptables log for hostile traffic +# +psad = module + +# Layer: apps +# Module: ptchown +# +# helper function for grantpt(3), changes ownship and permissions of pseudotty +# +ptchown = module + +# Layer: services +# Module: publicfile +# +# publicfile supplies files to the public through HTTP and FTP +# +publicfile = module + +# Layer: apps +# Module: pulseaudio +# +# The PulseAudio Sound System +# +pulseaudio = module + +# Layer: services +# Module: qmail +# +# Policy for qmail +# +qmail = module + +# Layer: services +# Module: qpidd +# +# Policy for qpidd +# +qpid = module + +# Layer: admin +# Module: quota +# +# File system quota management +# +quota = module + +# Layer: services +# Module: radius +# +# RADIUS authentication and accounting server. +# +radius = module + +# Layer: services +# Module: radvd +# +# IPv6 router advertisement daemon +# +radvd = module + +# Layer: system +# Module: raid +# +# RAID array management tools +# +raid = module + +# Layer: services +# Module: rdisc +# +# Network router discovery daemon +# +rdisc = module + +# Layer: admin +# Module: readahead +# +# Readahead, read files into page cache for improved performance +# +readahead = module + +# Layer: services +# Module: remotelogin +# +# Policy for rshd, rlogind, and telnetd. +# +remotelogin = module + +# Layer: services +# Module: rhcs +# +# RHCS - Red Hat Cluster Suite +# +rhcs = module + +# Layer: services +# Module: rhgb +# +# X windows login display manager +# +rhgb = module + +# Layer: services +# Module: ricci +# +# policy for ricci +# +ricci = module + +# Layer: services +# Module: rlogin +# +# Remote login daemon +# +rlogin = module + +# Layer: services +# Module: roundup +# +# Roundup Issue Tracking System policy +# +roundup = module + +# Layer: services +# Module: rpcbind +# +# universal addresses to RPC program number mapper +# +rpcbind = module + +# Layer: services +# Module: rpc +# +# Remote Procedure Call Daemon for managment of network based process communication +# +rpc = module + +# Layer: admin +# Module: rpm +# +# Policy for the RPM package manager. +# +rpm = module + +# Layer: services +# Module: rshd +# +# Remote shell service. +# +rshd = module + +# Layer: services +# Module: rsync +# +# Fast incremental file transfer for synchronization +# +rsync = module + +# Layer: services +# Module: rtkit +# +# Real Time Kit Daemon +# +rtkit = module + +# Layer: services +# Module: rwho +# +# who is logged in on local machines +# +rwho = module + +# Layer: apps +# Module: sambagui +# +# policy for system-config-samba +# +sambagui = module + +# +# SMB and CIFS client/server programs for UNIX and +# name Service Switch daemon for resolving names +# from Windows NT servers. +# +samba = module + +# Layer: services +# Module: sasl +# +# SASL authentication server +# +sasl = module + +# Layer: apps +# Module: screen +# +# GNU terminal multiplexer +# +screen = module + +# Layer: services +# Module: sendmail +# +# Policy for sendmail. +# +sendmail = module + +# Layer: services +# Module: setroubleshoot +# +# Policy for the SELinux troubleshooting utility +# +setroubleshoot = module + +# Layer: admin +# Module: shorewall +# +# Policy for shorewall +# +shorewall = module + +# Layer: apps +# Module: slocate +# +# Update database for mlocate +# +slocate = module + +# Layer: services +# Module: slrnpull +# +# Service for downloading news feeds the slrn newsreader. +# +slrnpull = off + +# Layer: services +# Module: smartmon +# +# Smart disk monitoring daemon policy +# +smartmon = module + +# Layer: services +# Module: snmp +# +# Simple network management protocol services +# +snmp = module + +# Layer: services +# Module: snort +# +# Snort network intrusion detection system +# +snort = module + +# Layer: admin +# Module: sosreport +# +# sosreport debuggin information generator +# +sosreport = module + +# Layer: services +# Module: soundserver +# +# sound server for network audio server programs, nasd, yiff, etc +# +soundserver = module + +# Layer: services +# Module: spamassassin +# +# Filter used for removing unsolicited email. +# +spamassassin = module + +# Layer: services +# Module: squid +# +# Squid caching http proxy server +# +squid = module + +# Layer: services +# Module: sssd +# +# System Security Services Daemon +# +sssd = module + +# Layer: services +# Module: stunnel +# +# SSL Tunneling Proxy +# +stunnel = module + +# Layer: services +# Module: sysstat +# +# Policy for sysstat. Reports on various system states +# +sysstat = module + +# Layer: services +# Module: tcpd +# +# Policy for TCP daemon. +# +tcpd = module + +# Layer: services +# Module: tcsd +# +# tcsd - daemon that manages Trusted Computing resources +# +tcsd = module + +# Layer: apps +# Module: telepathy +# +# telepathy - Policy for Telepathy framework +# +telepathy = module + +# Layer: services +# Module: telnet +# +# Telnet daemon +# +telnet = module + +# Layer: services +# Module: tftp +# +# Trivial file transfer protocol daemon +# +tftp = module + +# Layer: services +# Module: tgtd +# +# Linux Target Framework Daemon. +# +tgtd = module + +# Layer: apps +# Module: thumb +# +# Thumbnailer confinement +# +thumb = module + +# Layer: services +# Module: timidity +# +# MIDI to WAV converter and player configured as a service +# +timidity = off + +# Layer: admin +# Module: tmpreaper +# +# Manage temporary directory sizes and file ages +# +tmpreaper = module + +# Layer: services +# Module: tor +# +# TOR, the onion router +# +tor = module + +# Layer: services +# Module: ksmtuned +# +# Kernel Samepage Merging (KSM) Tuning Daemon +# +ksmtuned = module + +# Layer: services +# Module: tuned +# +# Dynamic adaptive system tuning daemon +# +tuned = module + +# Layer: apps +# Module: tvtime +# +# tvtime - a high quality television application +# +tvtime = module + +# Layer: services +# Module: ulogd +# +# +# +ulogd = module + +# Layer: apps +# Module: uml +# +# Policy for UML +# +uml = module + +# Layer: admin +# Module: updfstab +# +# Red Hat utility to change /etc/fstab. +# +updfstab = module + +# Layer: admin +# Module: usbmodules +# +# List kernel modules of USB devices +# +usbmodules = module + +# Layer: apps +# Module: userhelper +# +# A helper interface to pam. +# +userhelper = module + +# Layer: apps +# Module: usernetctl +# +# User network interface configuration helper +# +usernetctl = module + +# Layer: services +# Module: uucp +# +# Unix to Unix Copy +# +uucp = module + +# Layer: services +# Module: virt +# +# Virtualization libraries +# +virt = module + +# Layer: apps +# Module: vmware +# +# VMWare Workstation virtual machines +# +vmware = module + +# Layer: contrib +# Module: openvswitch +# +# SELinux policy for openvswitch programs +# +openvswitch = module + +# Layer: admin +# Module: vpn +# +# Virtual Private Networking client +# +vpn = module + +# Layer: services +# Module: w3c +# +# w3c +# +w3c = module + +# Layer: role +# Module: webadm +# +# Minimally prived root role for managing apache +# +webadm = module + +# Layer: apps +# Module: webalizer +# +# Web server log analysis +# +webalizer = module + +# Layer: apps +# Module: wine +# +# wine executable +# +wine = module + +# Layer: apps +# Module: wireshark +# +# wireshark executable +# +wireshark = module + +# Layer: apps +# Module: wm +# +# X windows window manager +# +wm = module + +# Layer: system +# Module: xen +# +# virtualization software +# +xen = module + +# Layer: role +# Module: xguest +# +# Minimally privs guest account on X Windows logins +# +xguest = module + +# Layer: services +# Module: zabbix +# +# Open-source monitoring solution for your IT infrastructure +# +zabbix = module + +# Layer: services +# Module: zebra +# +# Zebra border gateway protocol network routing service +# +zebra = module + +# Layer: services +# Module: zosremote +# +# policy for z/OS Remote-services Audit dispatcher plugin +# +zosremote = module + +# Layer: contrib +# Module: mandb +# +# Policy for mandb +# +mandb = module diff --git a/selinux-policy/modules-targeted-base.conf b/selinux-policy/modules-targeted-base.conf new file mode 100644 index 000000000..e7456ef91 --- /dev/null +++ b/selinux-policy/modules-targeted-base.conf @@ -0,0 +1,393 @@ +# Layer: kernel +# Module: bootloader +# +# Policy for the kernel modules, kernel image, and bootloader. +# +bootloader = module + +# Layer: kernel +# Module: corecommands +# Required in base +# +# Core policy for shells, and generic programs +# in /bin, /sbin, /usr/bin, and /usr/sbin. +# +corecommands = base + +# Layer: kernel +# Module: corenetwork +# Required in base +# +# Policy controlling access to network objects +# +corenetwork = base + +# Layer: admin +# Module: dmesg +# +# Policy for dmesg. +# +dmesg = module + +# Layer: admin +# Module: netutils +# +# Network analysis utilities +# +netutils = module + +# Layer: admin +# Module: sudo +# +# Execute a command with a substitute user +# +sudo = module + +# Layer: admin +# Module: su +# +# Run shells with substitute user and group +# +su = module + +# Layer: admin +# Module: usermanage +# +# Policy for managing user accounts. +# +usermanage = module + +# Layer: apps +# Module: seunshare +# +# seunshare executable +# +seunshare = module + +# Module: devices +# Required in base +# +# Device nodes and interfaces for many basic system devices. +# +devices = base + +# Module: domain +# Required in base +# +# Core policy for domains. +# +domain = base + +# Layer: system +# Module: userdomain +# +# Policy for user domains +# +userdomain = module + +# Module: files +# Required in base +# +# Basic filesystem types and interfaces. +# +files = base + +# Layer: system +# Module: miscfiles +# +# Miscelaneous files. +# +miscfiles = module + +# Module: filesystem +# Required in base +# +# Policy for filesystems. +# +filesystem = base + +# Module: kernel +# Required in base +# +# Policy for kernel threads, proc filesystem,and unlabeled processes and objects. +# +kernel = base + +# Module: mcs +# Required in base +# +# MultiCategory security policy +# +mcs = base + +# Module: mls +# Required in base +# +# Multilevel security policy +# +mls = base + +# Module: selinux +# Required in base +# +# Policy for kernel security interface, in particular, selinuxfs. +# +selinux = base + +# Layer: kernel +# Module: storage +# +# Policy controlling access to storage devices +# +storage = base + +# Module: terminal +# Required in base +# +# Policy for terminals. +# +terminal = base + +# Layer: kernel +# Module: ubac +# +# +# +ubac = base + +# Layer: kernel +# Module: unconfined +# +# The unlabelednet module. +# +unlabelednet = module + +# Layer: role +# Module: auditadm +# +# auditadm account on tty logins +# +auditadm = module + +# Layer: role +# Module: logadm +# +# Minimally prived root role for managing logging system +# +logadm = module + +# Layer: role +# Module: secadm +# +# secadm account on tty logins +# +secadm = module + +# Layer:role +# Module: sysadm_secadm +# +# System Administrator with Security Admin rules +# +sysadm_secadm = module + +# Module: staff +# +# admin account +# +staff = module + +# Layer:role +# Module: sysadm +# +# System Administrator +# +sysadm = module + +# Layer: role +# Module: unconfineduser +# +# The unconfined user domain. +# +unconfineduser = module + +# Layer: role +# Module: unprivuser +# +# Minimally privs guest account on tty logins +# +unprivuser = module + +# Layer: services +# Module: postgresql +# +# PostgreSQL relational database +# +postgresql = module + +# Layer: services +# Module: ssh +# +# Secure shell client and server policy. +# +ssh = module + +# Layer: services +# Module: xserver +# +# X windows login display manager +# +xserver = module + +# Module: application +# Required in base +# +# Defines attributs and interfaces for all user applications +# +application = module + +# Layer: system +# Module: authlogin +# +# Common policy for authentication and user login. +# +authlogin = module + +# Layer: system +# Module: clock +# +# Policy for reading and setting the hardware clock. +# +clock = module + +# Layer: system +# Module: fstools +# +# Tools for filesystem management, such as mkfs and fsck. +# +fstools = module + +# Layer: system +# Module: getty +# +# Policy for getty. +# +getty = module + +# Layer: system +# Module: hostname +# +# Policy for changing the system host name. +# +hostname = module + +# Layer: system +# Module: init +# +# System initialization programs (init and init scripts). +# +init = module + +# Layer: system +# Module: ipsec +# +# TCP/IP encryption +# +ipsec = module + +# Layer: system +# Module: iptables +# +# Policy for iptables. +# +iptables = module + +# Layer: system +# Module: libraries +# +# Policy for system libraries. +# +libraries = module + +# Layer: system +# Module: locallogin +# +# Policy for local logins. +# +locallogin = module + +# Layer: system +# Module: logging +# +# Policy for the kernel message logger and system logging daemon. +# +logging = module + +# Layer: system +# Module: lvm +# +# Policy for logical volume management programs. +# +lvm = module + +# Layer: system +# Module: modutils +# +# Policy for kernel module utilities +# +modutils = module + +# Layer: system +# Module: mount +# +# Policy for mount. +# +mount = module + +# Layer: system +# Module: netlabel +# +# Basic netlabel types and interfaces. +# +netlabel = module + +# Layer: system +# Module: selinuxutil +# +# Policy for SELinux policy and userland applications. +# +selinuxutil = module + +# Module: setrans +# Required in base +# +# Policy for setrans +# +setrans = module + +# Layer: system +# Module: sysnetwork +# +# Policy for network configuration: ifconfig and dhcp client. +# +sysnetwork = module + +# Layer: system +# Module: systemd +# +# Policy for systemd components +# +systemd = module + +# Layer: system +# Module: udev +# +# Policy for udev. +# +udev = module + +# Layer: system +# Module: unconfined +# +# The unconfined domain. +# +unconfined = module diff --git a/selinux-policy/modules-targeted-contrib.conf b/selinux-policy/modules-targeted-contrib.conf new file mode 100644 index 000000000..f5bb9065c --- /dev/null +++ b/selinux-policy/modules-targeted-contrib.conf @@ -0,0 +1,2784 @@ +# Layer: services +# Module: abrt +# +# Automatic bug detection and reporting tool +# +abrt = module + +# Layer: services +# Module: accountsd +# +# An application to view and modify user accounts information +# +accountsd = module + +# Layer: admin +# Module: acct +# +# Berkeley process accounting +# +acct = module + +# Layer: services +# Module: afs +# +# Andrew Filesystem server +# +afs = module + +# Layer: services +# Module: aiccu +# +# SixXS Automatic IPv6 Connectivity Client Utility +# +aiccu = module + +# Layer: services +# Module: aide +# +# Policy for aide +# +aide = module + +# Layer: services +# Module: ajaxterm +# +# Web Based Terminal +# +ajaxterm = module + +# Layer: admin +# Module: alsa +# +# Ainit ALSA configuration tool +# +alsa = module + +# Layer: admin +# Module: amanda +# +# Automated backup program. +# +amanda = module + +# Layer: admin +# Module: amtu +# +# Abstract Machine Test Utility (AMTU) +# +amtu = module + +# Layer: admin +# Module: anaconda +# +# Policy for the Anaconda installer. +# +anaconda = module + +# Layer: contrib +# Module: antivirus +# +# SELinux policy for antivirus programs +# +antivirus = module + +# Layer: services +# Module: apache +# +# Apache web server +# +apache = module + +# Layer: services +# Module: apcupsd +# +# daemon for most APC’s UPS for Linux +# +apcupsd = module + +# Layer: services +# Module: apm +# +# Advanced power management daemon +# +apm = module + +# Layer: services +# Module: arpwatch +# +# Ethernet activity monitor. +# +arpwatch = module + +# Layer: services +# Module: asterisk +# +# Asterisk IP telephony server +# +asterisk = module + +# Layer: contrib +# Module: authconfig +# +# Authorization configuration tool +# +authconfig = module + +# Layer: services +# Module: automount +# +# Filesystem automounter service. +# +automount = module + +# Layer: services +# Module: avahi +# +# mDNS/DNS-SD daemon implementing Apple ZeroConf architecture +# +avahi = module + +# Layer: module +# Module: awstats +# +# awstats executable +# +awstats = module + +# Layer: services +# Module: bcfg2 +# +# Configuration management server +# +bcfg2 = module + +# Layer: services +# Module: bind +# +# Berkeley internet name domain DNS server. +# +bind = module + +# Layer: contrib +# Module: rngd +# +# Daemon used to feed random data from hardware device to kernel random device +# +rngd = module + +# Layer: services +# Module: bitlbee +# +# An IRC to other chat networks gateway +# +bitlbee = module + +# Layer: services +# Module: blueman +# +# Blueman tools and system services. +# +blueman = module + +# Layer: services +# Module: bluetooth +# +# Bluetooth tools and system services. +# +bluetooth = module + +# Layer: services +# Module: boinc +# +# Berkeley Open Infrastructure for Network Computing +# +boinc = module + +# Layer: system +# Module: brctl +# +# Utilities for configuring the linux ethernet bridge +# +brctl = module + +# Layer: services +# Module: bugzilla +# +# Bugzilla server +# +bugzilla = module + +# Layer: services +# Module: bumblebee +# +# Support NVIDIA Optimus technology under Linux +# +bumblebee = module + +# Layer: services +# Module: cachefilesd +# +# CacheFiles userspace management daemon +# +cachefilesd = module + +# Module: calamaris +# +# +# Squid log analysis +# +calamaris = module + +# Layer: services +# Module: callweaver +# +# callweaver telephony sever +# +callweaver = module + +# Layer: services +# Module: canna +# +# Canna - kana-kanji conversion server +# +canna = module + +# Layer: services +# Module: ccs +# +# policy for ccs +# +ccs = module + +# Layer: apps +# Module: cdrecord +# +# Policy for cdrecord +# +cdrecord = module + +# Layer: admin +# Module: certmaster +# +# Digital Certificate master +# +certmaster = module + +# Layer: services +# Module: certmonger +# +# Certificate status monitor and PKI enrollment client +# +certmonger = module + +# Layer: admin +# Module: certwatch +# +# Digital Certificate Tracking +# +certwatch = module + +# Layer: services +# Module: cfengine +# +# cfengine +# +cfengine = module + +# Layer: services +# Module: cgroup +# +# Tools and libraries to control and monitor control groups +# +cgroup = module + +# Layer: apps +# Module: chrome +# +# chrome sandbox +# +chrome = module + +# Layer: services +# Module: chronyd +# +# Daemon for maintaining clock time +# +chronyd = module + +# Layer: services +# Module: cipe +# +# Encrypted tunnel daemon +# +cipe = module + + +# Layer: services +# Module: clogd +# +# clogd - clustered mirror log server +# +clogd = module + +# Layer: services +# Module: cloudform +# +# cloudform daemons +# +cloudform = module + +# Layer: services +# Module: cmirrord +# +# cmirrord - daemon providing device-mapper-base mirrors in a shared-storege cluster +# +cmirrord = module + +# Layer: services +# Module: cobbler +# +# cobbler +# +cobbler = module + +# Layer: services +# Module: collectd +# +# Statistics collection daemon for filling RRD files +# +collectd = module + +# Layer: services +# Module: colord +# +# color device daemon +# +colord = module + +# Layer: services +# Module: comsat +# +# Comsat, a biff server. +# +comsat = module + +# Layer: services +# Module: condor +# +# policy for condor +# +condor = module + +# Layer: services +# Module: conman +# +# Conman is a program for connecting to remote consoles being managed by conmand +# +conman = module + +# Layer: services +# Module: consolekit +# +# ConsoleKit is a system daemon for tracking what users are logged +# +consolekit = module + +# Layer: services +# Module: couchdb +# +# Apache CouchDB database server +# +couchdb = module + +# Layer: services +# Module: courier +# +# IMAP and POP3 email servers +# +courier = module + +# Layer: services +# Module: cpucontrol +# +# Services for loading CPU microcode and CPU frequency scaling. +# +cpucontrol = module + +# Layer: apps +# Module: cpufreqselector +# +# cpufreqselector executable +# +cpufreqselector = module + +# Layer: services +# Module: cron +# +# Periodic execution of scheduled commands. +# +cron = module + +# Layer: services +# Module: ctdbd +# +# Cluster Daemon +# +ctdb = module + +# Layer: services +# Module: cups +# +# Common UNIX printing system +# +cups = module + +# Layer: services +# Module: cvs +# +# Concurrent versions system +# +cvs = module + +# Layer: services +# Module: cyphesis +# +# cyphesis game server +# +cyphesis = module + +# Layer: services +# Module: cyrus +# +# Cyrus is an IMAP service intended to be run on sealed servers +# +cyrus = module + +# Layer: system +# Module: daemontools +# +# Collection of tools for managing UNIX services +# +daemontools = module + +# Layer: role +# Module: dbadm +# +# Minimally prived root role for managing databases +# +dbadm = module + +# Layer: services +# Module: dbskk +# +# Dictionary server for the SKK Japanese input method system. +# +dbskk = module + +# Layer: services +# Module: dbus +# +# Desktop messaging bus +# +dbus = module + +# Layer: services +# Module: dcc +# +# A distributed, collaborative, spam detection and filtering network. +# +dcc = module + +# Layer: services +# Module: ddclient +# +# Update dynamic IP address at DynDNS.org +# +ddclient = module + +# Layer: admin +# Module: ddcprobe +# +# ddcprobe retrieves monitor and graphics card information +# +ddcprobe = off + +# Layer: services +# Module: denyhosts +# +# script to help thwart ssh server attacks +# +denyhosts = module + +# Layer: services +# Module: devicekit +# +# devicekit-daemon +# +devicekit = module + +# Layer: services +# Module: dhcp +# +# Dynamic host configuration protocol (DHCP) server +# +dhcp = module + +# Layer: services +# Module: dictd +# +# Dictionary daemon +# +dictd = module + +# Layer: services +# Module: dirsrv-admin +# +# An 309 directory admin server +# +dirsrv-admin = module + +# Layer: services +# Module: dirsrv +# +# An 309 directory server +# +dirsrv = module + +# Layer: services +# Module: distcc +# +# Distributed compiler daemon +# +distcc = off + +# Layer: admin +# Module: dmidecode +# +# Decode DMI data for x86/ia64 bioses. +# +dmidecode = module + +# Layer: services +# Module: dnsmasq +# +# A lightweight DHCP and caching DNS server. +# +dnsmasq = module + +# Layer: services +# Module: dnssec +# +# A dnssec server application +# +dnssec = module + +# Layer: services +# Module: dovecot +# +# Dovecot POP and IMAP mail server +# +dovecot = module + +# Layer: services +# Module: drbd +# +# DRBD mirrors a block device over the network to another machine. +# +drbd = module + +# Layer: services +# Module: dspam +# +# dspam - library and Mail Delivery Agent for Bayesian SPAM filtering +# +dspam = module + +# Layer: services +# Module: entropy +# +# Generate entropy from audio input +# +entropyd = module + +# Layer: services +# Module: exim +# +# exim mail server +# +exim = module + +# Layer: services +# Module: fail2ban +# +# daiemon that bans IP that makes too many password failures +# +fail2ban = module + +# Layer: services +# Module: fcoe +# +# fcoe +# +fcoe = module + +# Layer: services +# Module: fetchmail +# +# Remote-mail retrieval and forwarding utility +# +fetchmail = module + +# Layer: services +# Module: finger +# +# Finger user information service. +# +finger = module + +# Layer: services +# Module: firewalld +# +# firewalld is firewall service daemon that provides dynamic customizable +# +firewalld = module + +# Layer: apps +# Module: firewallgui +# +# policy for system-config-firewall +# +firewallgui = module + +# Module: firstboot +# +# Final system configuration run during the first boot +# after installation of Red Hat/Fedora systems. +# +firstboot = module + +# Layer: services +# Module: fprintd +# +# finger print server +# +fprintd = module + +# Layer: services +# Module: freqset +# +# Utility for CPU frequency scaling +# +freqset = module + +# Layer: services +# Module: ftp +# +# File transfer protocol service +# +ftp = module + +# Layer: apps +# Module: games +# +# The Open Group Pegasus CIM/WBEM Server. +# +games = module + +# Layer: apps +# Module: gitosis +# +# Policy for gitosis +# +gitosis = module + +# Layer: services +# Module: git +# +# Policy for the stupid content tracker +# +git = module + +# Layer: services +# Module: glance +# +# Policy for glance +# +glance = module + +# Layer: contrib +# Module: glusterd +# +# policy for glusterd service +# +glusterd = module + +# Layer: apps +# Module: gnome +# +# gnome session and gconf +# +gnome = module + +# Layer: apps +# Module: gpg +# +# Policy for GNU Privacy Guard and related programs. +# +gpg = module + +# Layer: services +# Module: gpm +# +# General Purpose Mouse driver +# +gpm = module + +# Module: gpsd +# +# gpsd monitor daemon +# +# +gpsd = module + +# Module: gssproxy +# +# A proxy for GSSAPI credential handling +# +# +gssproxy = module + +# Layer: role +# Module: guest +# +# Minimally privs guest account on tty logins +# +guest = module + +# Layer: role +# Module: xguest +# +# Minimally privs guest account on X Windows logins +# +xguest = module + +# Layer: services +# Module: hddtemp +# +# hddtemp hard disk temperature tool running as a daemon +# +hddtemp = module + +# Layer: services +# Module: hostapd +# +# hostapd - IEEE 802.11 AP, IEEE 802.1X/WPA/WPA2/EAP/RADIUS Authenticator +# +hostapd = module + +# Layer: services +# Module: i18n_input +# +# IIIMF htt server +# +i18n_input = off + +# Layer: services +# Module: icecast +# +# ShoutCast compatible streaming media server +# +icecast = module + +# Layer: services +# Module: inetd +# +# Internet services daemon. +# +inetd = module + +# Layer: services +# Module: inn +# +# Internet News NNTP server +# +inn = module + +# Layer: services +# Module: lircd +# +# LIRC daemon - decodes infrared signals and provides them on a Unix domain socket. +# +lircd = module + +# Layer: apps +# Module: irc +# +# IRC client policy +# +irc = module + +# Layer: services +# Module: irqbalance +# +# IRQ balancing daemon +# +irqbalance = module + +# Layer: system +# Module: iscsi +# +# Open-iSCSI daemon +# +iscsi = module + +# Layer: system +# Module: isnsd +# +# +# +isns = module + +# Layer: services +# Module: jabber +# +# Jabber instant messaging server +# +jabber = module + +# Layer: services +# Module: jetty +# +# Java based http server +# +jetty = module + +# Layer: apps +# Module: jockey +# +# policy for jockey-backend +# +jockey = module + +# Layer: apps +# Module: kdumpgui +# +# system-config-kdump policy +# +kdumpgui = module + +# Layer: admin +# Module: kdump +# +# kdump is kernel crash dumping mechanism +# +kdump = module + +# Layer: services +# Module: kerberos +# +# MIT Kerberos admin and KDC +# +kerberos = module + +# Layer: services +# Module: keepalived +# +# keepalived - load-balancing and high-availability service +# +keepalived = module + +# Module: keyboardd +# +# system-setup-keyboard is a keyboard layout daemon that monitors +# /etc/sysconfig/keyboard and writes out an xorg.conf.d snippet +# +keyboardd = module + +# Layer: services +# Module: keystone +# +# openstack-keystone +# +keystone = module + +# Layer: services +# Module: kismet +# +# Wireless sniffing and monitoring +# +kismet = module + +# Layer: services +# Module: ksmtuned +# +# Kernel Samepage Merging (KSM) Tuning Daemon +# +ksmtuned = module + +# Layer: services +# Module: ktalk +# +# KDE Talk daemon +# +ktalk = module + +# Layer: services +# Module: l2ltpd +# +# Layer 2 Tunnelling Protocol Daemon +# +l2tp = module + +# Layer: services +# Module: ldap +# +# OpenLDAP directory server +# +ldap = module + +# Layer: services +# Module: likewise +# +# Likewise Active Directory support for UNIX +# +likewise = module + +# Layer: apps +# Module: livecd +# +# livecd creator +# +livecd = module + +# Layer: services +# Module: lldpad +# +# lldpad - Link Layer Discovery Protocol (LLDP) agent daemon +# +lldpad = module + +# Layer: apps +# Module: loadkeys +# +# Load keyboard mappings. +# +loadkeys = module + +# Layer: apps +# Module: lockdev +# +# device locking policy for lockdev +# +lockdev = module + +# Layer: admin +# Module: logrotate +# +# Rotate and archive system logs +# +logrotate = module + +# Layer: services +# Module: logwatch +# +# logwatch executable +# +logwatch = module + +# Layer: services +# Module: lpd +# +# Line printer daemon +# +lpd = module + +# Layer: services +# Module: mailman +# +# Mailman is for managing electronic mail discussion and e-newsletter lists +# +mailman = module + +# Layer: services +# Module: mailman +# +# Policy for mailscanner +# +mailscanner = module + +# Layer: apps +# Module: man2html +# +# policy for man2html apps +# +man2html = module + +# Layer: admin +# Module: mcelog +# +# Policy for mcelog. +# +mcelog = module + +# Layer: apps +# Module: mediawiki +# +# mediawiki +# +mediawiki = module + +# Layer: services +# Module: memcached +# +# high-performance memory object caching system +# +memcached = module + +# Layer: services +# Module: milter +# +# +# +milter = module + +# Layer: services +# Module: mip6d +# +# UMIP Mobile IPv6 and NEMO Basic Support protocol implementation +# +mip6d = module + +# Layer: services +# Module: mock +# +# Policy for mock rpm builder +# +mock = module + +# Layer: services +# Module: modemmanager +# +# Manager for dynamically switching between modems. +# +modemmanager = module + +# Layer: services +# Module: mojomojo +# +# Wiki server +# +mojomojo = module + +# Layer: apps +# Module: mozilla +# +# Policy for Mozilla and related web browsers +# +mozilla = module + +# Layer: services +# Module: mpd +# +# mpd - daemon for playing music +# +mpd = module + +# Layer: apps +# Module: mplayer +# +# Policy for Mozilla and related web browsers +# +mplayer = module + +# Layer: admin +# Module: mrtg +# +# Network traffic graphing +# +mrtg = module + +# Layer: services +# Module: mta +# +# Policy common to all email tranfer agents. +# +mta = module + +# Layer: services +# Module: munin +# +# Munin +# +munin = module + +# Layer: services +# Module: mysql +# +# Policy for MySQL +# +mysql = module + +# Layer: contrib +# Module: mythtv +# +# Policy for Mythtv (Web Server) +# +mythtv = module + +# Layer: services +# Module: nagios +# +# policy for nagios Host/service/network monitoring program +# +nagios = module + +# Layer: apps +# Module: namespace +# +# policy for namespace.init script +# +namespace = module + +# Layer: admin +# Module: ncftool +# +# Tool to modify the network configuration of a system +# +ncftool = module + +# Layer: services +# Module: networkmanager +# +# Manager for dynamically switching between networks. +# +networkmanager = module + +# Layer: services +# Module: ninfod +# +# Respond to IPv6 Node Information Queries +# +ninfod = module + +# Layer: services +# Module: nis +# +# Policy for NIS (YP) servers and clients +# +nis = module + +# Layer: services +# Module: nova +# +# openstack-nova +# +nova = module + +# Layer: services +# Module: nscd +# +# Name service cache daemon +# +nscd = module + +# Layer: services +# Module: nslcd +# +# Policy for nslcd +# +nslcd = module + +# Layer: services +# Module: ntop +# +# Policy for ntop +# +ntop = module + +# Layer: services +# Module: ntp +# +# Network time protocol daemon +# +ntp = module + +# Layer: services +# Module: numad +# +# numad - user-level daemon that provides advice and managment for optimum use of CPUs and memory on systems with NUMA topology +# +numad = module + +# Layer: services +# Module: nut +# +# nut - Network UPS Tools +# +nut = module + +# Layer: services +# Module: nx +# +# NX Remote Desktop +# +nx = module + +# Layer: services +# Module: obex +# +# policy for obex-data-server +# +obex = module + +# Layer: services +# Module: oddjob +# +# policy for oddjob +# +oddjob = module + +# Layer: services +# Module: openct +# +# Service for handling smart card readers. +# +openct = off + +# Layer: service +# Module: openct +# +# Middleware framework for smart card terminals +# +openct = module + +# Layer: contrib +# Module: openshift-origin +# +# Origin version of openshift policy +# +openshift-origin = module +# Layer: contrib +# Module: openshift +# +# Core openshift policy +# +openshift = module + +# Layer: services +# Module: opensm +# +# InfiniBand subnet manager and administration (SM/SA) +# +opensm = module + +# Layer: services +# Module: openvpn +# +# Policy for OPENVPN full-featured SSL VPN solution +# +openvpn = module + +# Layer: contrib +# Module: openvswitch +# +# SELinux policy for openvswitch programs +# +openvswitch = module + +# Layer: services +# Module: openwsman +# +# WS-Management Server +# +openwsman = module + +# Layer: services +# Module: osad +# +# Client-side service written in Python that responds to pings +# +osad = module + +# Layer: contrib +# Module: prelude +# +# SELinux policy for prelude +# +prelude = module + +# Layer: contrib +# Module: prosody +# +# SELinux policy for prosody flexible communications server for Jabber/XMPP +# +prosody = module + +# Layer: services +# Module: pads +# +pads = module + +# Layer: services +# Module: passenger +# +# Passenger +# +passenger = module + +# Layer: system +# Module: pcmcia +# +# PCMCIA card management services +# +pcmcia = module + +# Layer: service +# Module: pcscd +# +# PC/SC Smart Card Daemon +# +pcscd = module + +# Layer: services +# Module: pdns +# +# PowerDNS DNS server +# +pdns = module + +# Layer: services +# Module: pegasus +# +# The Open Group Pegasus CIM/WBEM Server. +# +pegasus = module + +# Layer: services +# Module: pingd +# +# +pingd = module + +# Layer: services +# Module: piranha +# +# piranha - various tools to administer and configure the Linux Virtual Server +# +piranha = module + +# Layer: contrib +# Module: pkcs +# +# daemon manages PKCS#11 objects between PKCS#11-enabled applications +# +pkcs = module + +# Layer: services +# Module: plymouthd +# +# Plymouth +# +plymouthd = module + +# Layer: apps +# Module: podsleuth +# +# Podsleuth probes, identifies, and exposes properties and metadata bound to iPods. +# +podsleuth = module + +# Layer: services +# Module: policykit +# +# Hardware abstraction layer +# +policykit = module + +# Layer: services +# Module: polipo +# +# polipo +# +polipo = module + +# Layer: services +# Module: portmap +# +# RPC port mapping service. +# +portmap = module + +# Layer: services +# Module: portreserve +# +# reserve ports to prevent portmap mapping them +# +portreserve = module + +# Layer: services +# Module: postfix +# +# Postfix email server +# +postfix = module + +# Layer: services +# Module: postgrey +# +# email scanner +# +postgrey = module + +# Layer: services +# Module: ppp +# +# Point to Point Protocol daemon creates links in ppp networks +# +ppp = module + +# Layer: admin +# Module: prelink +# +# Manage temporary directory sizes and file ages +# +prelink = module + +# Layer: services +# Module: privoxy +# +# Privacy enhancing web proxy. +# +privoxy = module + +# Layer: services +# Module: procmail +# +# Procmail mail delivery agent +# +procmail = module + +# Layer: services +# Module: psad +# +# Analyze iptables log for hostile traffic +# +psad = module + +# Layer: apps +# Module: ptchown +# +# helper function for grantpt(3), changes ownship and permissions of pseudotty +# +ptchown = module + +# Layer: services +# Module: publicfile +# +# publicfile supplies files to the public through HTTP and FTP +# +publicfile = module + +# Layer: apps +# Module: pulseaudio +# +# The PulseAudio Sound System +# +pulseaudio = module + +# Layer: services +# Module: puppet +# +# A network tool for managing many disparate systems +# +puppet = module + +# Layer: apps +# Module: pwauth +# +# External plugin for mod_authnz_external authenticator +# +pwauth = module + +# Layer: services +# Module: qmail +# +# Policy for qmail +# +qmail = module + +# Layer: services +# Module: qpidd +# +# Policy for qpidd +# +qpid = module + +# Layer: services +# Module: quantum +# +# Quantum is a virtual network service for Openstack +# +quantum = module + +# Layer: admin +# Module: quota +# +# File system quota management +# +quota = module + +# Layer: services +# Module: rabbitmq +# +# rabbitmq daemons +# +rabbitmq = module + +# Layer: services +# Module: radius +# +# RADIUS authentication and accounting server. +# +radius = module + +# Layer: services +# Module: radvd +# +# IPv6 router advertisement daemon +# +radvd = module + +# Layer: system +# Module: raid +# +# RAID array management tools +# +raid = module + +# Layer: services +# Module: rasdaemon +# +# The rasdaemon program is a daemon with monitors the RAS trace events from /sys/kernel/debug/tracing +# +rasdaemon = module + +# Layer: services +# Module: rdisc +# +# Network router discovery daemon +# +rdisc = module + +# Layer: admin +# Module: readahead +# +# Readahead, read files into page cache for improved performance +# +readahead = module + +# Layer: contrib +# Module: stapserver +# +# dbus system service which manages discovery and enrollment in realms and domains like Active Directory or IPA +# +realmd = module + +# Layer: services +# Module: remotelogin +# +# Policy for rshd, rlogind, and telnetd. +# +remotelogin = module + +# Layer: services +# Module: rhcs +# +# RHCS - Red Hat Cluster Suite +# +rhcs = module + +# Layer: services +# Module: rhev +# +# rhev policy module contains policies for rhev apps +# +rhev = module + +# Layer: services +# Module: rhgb +# +# X windows login display manager +# +rhgb = module + +# Layer: services +# Module: rhsmcertd +# +# Subscription Management Certificate Daemon policy +# +rhsmcertd = module + +# Layer: services +# Module: ricci +# +# policy for ricci +# +ricci = module + +# Layer: services +# Module: rlogin +# +# Remote login daemon +# +rlogin = module + +# Layer: services +# Module: roundup +# +# Roundup Issue Tracking System policy +# +roundup = module + +# Layer: services +# Module: rpcbind +# +# universal addresses to RPC program number mapper +# +rpcbind = module + +# Layer: services +# Module: rpc +# +# Remote Procedure Call Daemon for managment of network based process communication +# +rpc = module + +# Layer: admin +# Module: rpm +# +# Policy for the RPM package manager. +# +rpm = module + +# Layer: services +# Module: rshd +# +# Remote shell service. +# +rshd = module + +# Layer: apps +# Module: rssh +# +# Restricted (scp/sftp) only shell +# +rssh = module + +# Layer: services +# Module: rsync +# +# Fast incremental file transfer for synchronization +# +rsync = module + +# Layer: services +# Module: rtkit +# +# Real Time Kit Daemon +# +rtkit = module + +# Layer: services +# Module: rwho +# +# who is logged in on local machines +# +rwho = module + +# Layer: apps +# Module: sambagui +# +# policy for system-config-samba +# +sambagui = module + +# +# SMB and CIFS client/server programs for UNIX and +# name Service Switch daemon for resolving names +# from Windows NT servers. +# +samba = module + +# Layer: apps +# Module: sandbox +# +# Policy for running apps within a sandbox +# +sandbox = module + +# Layer: apps +# Module: sandbox +# +# Policy for running apps within a X sandbox +# +sandboxX = module + +# Layer: services +# Module: sanlock +# +# sanlock policy +# +sanlock = module + +# Layer: services +# Module: sasl +# +# SASL authentication server +# +sasl = module + +# Layer: services +# Module: sblim +# +# sblim +# +sblim = module + +# Layer: apps +# Module: screen +# +# GNU terminal multiplexer +# +screen = module + +# Layer: admin +# Module: sectoolm +# +# Policy for sectool-mechanism +# +sectoolm = module + +# Layer: services +# Module: sendmail +# +# Policy for sendmail. +# +sendmail = module + +# Layer: contrib +# Module: sensord +# +# Sensor information logging daemon +# +sensord = module + +# Layer: services +# Module: setroubleshoot +# +# Policy for the SELinux troubleshooting utility +# +setroubleshoot = module + +# Layer: services +# Module: sge +# +# policy for grindengine MPI jobs +# +sge = module + +# Layer: admin +# Module: shorewall +# +# Policy for shorewall +# +shorewall = module + +# Layer: apps +# Module: slocate +# +# Update database for mlocate +# +slocate = module + +# Layer: contrib +# Module: slpd +# +# OpenSLP server daemon to dynamically register services +# +slpd = module + +# Layer: services +# Module: slrnpull +# +# Service for downloading news feeds the slrn newsreader. +# +slrnpull = off + +# Layer: services +# Module: smartmon +# +# Smart disk monitoring daemon policy +# +smartmon = module + +# Layer: services +# Module: smokeping +# +# Latency Logging and Graphing System +# +smokeping = module + +# Layer: admin +# Module: smoltclient +# +#The Fedora hardware profiler client +# +smoltclient = module + +# Layer: services +# Module: snmp +# +# Simple network management protocol services +# +snmp = module + +# Layer: services +# Module: snort +# +# Snort network intrusion detection system +# +snort = module + +# Layer: admin +# Module: sosreport +# +# sosreport debuggin information generator +# +sosreport = module + +# Layer: services +# Module: soundserver +# +# sound server for network audio server programs, nasd, yiff, etc +# +soundserver = module + +# Layer: services +# Module: spamassassin +# +# Filter used for removing unsolicited email. +# +spamassassin = module + +# Layer: services +# Module: speech-dispatcher +# +# speech-dispatcher - server process managing speech requests in Speech Dispatcher +# +speech-dispatcher = module + +# Layer: services +# Module: squid +# +# Squid caching http proxy server +# +squid = module + +# Layer: services +# Module: sssd +# +# System Security Services Daemon +# +sssd = module + +# Layer: services +# Module: sslh +# +# Applicative protocol(SSL/SSH) multiplexer +# +sslh = module + +# Layer: contrib +# Module: stapserver +# +# Instrumentation System Server +# +stapserver = module + +# Layer: services +# Module: stunnel +# +# SSL Tunneling Proxy +# +stunnel = module + +# Layer: services +# Module: svnserve +# +# policy for subversion service +# +svnserve = module + +# Layer: services +# Module: swift +# +# openstack-swift +# +swift = module + +# Layer: services +# Module: sysstat +# +# Policy for sysstat. Reports on various system states +# +sysstat = module + +# Layer: services +# Module: tcpd +# +# Policy for TCP daemon. +# +tcpd = module + +# Layer: services +# Module: tcsd +# +# tcsd - daemon that manages Trusted Computing resources +# +tcsd = module + +# Layer: apps +# Module: telepathy +# +# telepathy - Policy for Telepathy framework +# +telepathy = module + +# Layer: services +# Module: telnet +# +# Telnet daemon +# +telnet = module + +# Layer: services +# Module: tftp +# +# Trivial file transfer protocol daemon +# +tftp = module + +# Layer: services +# Module: tgtd +# +# Linux Target Framework Daemon. +# +tgtd = module + +# Layer: apps +# Module: thumb +# +# Thumbnailer confinement +# +thumb = module + +# Layer: services +# Module: timidity +# +# MIDI to WAV converter and player configured as a service +# +timidity = off + +# Layer: admin +# Module: tmpreaper +# +# Manage temporary directory sizes and file ages +# +tmpreaper = module + +# Layer: contrib +# Module: glusterd +# +# policy for tomcat service +# +tomcat = module +# Layer: services +# Module: tor +# +# TOR, the onion router +# +tor = module + +# Layer: services +# Module: tuned +# +# Dynamic adaptive system tuning daemon +# +tuned = module + +# Layer: apps +# Module: tvtime +# +# tvtime - a high quality television application +# +tvtime = module + +# Layer: services +# Module: ulogd +# +# netfilter/iptables ULOG daemon +# +ulogd = module + +# Layer: apps +# Module: uml +# +# Policy for UML +# +uml = module + +# Layer: admin +# Module: updfstab +# +# Red Hat utility to change /etc/fstab. +# +updfstab = module + +# Layer: admin +# Module: usbmodules +# +# List kernel modules of USB devices +# +usbmodules = module + +# Layer: services +# Module: usbmuxd +# +# Daemon for communicating with Apple's iPod Touch and iPhone +# +usbmuxd = module + +# Layer: apps +# Module: userhelper +# +# A helper interface to pam. +# +userhelper = module + +# Layer: apps +# Module: usernetctl +# +# User network interface configuration helper +# +usernetctl = module + +# Layer: services +# Module: uucp +# +# Unix to Unix Copy +# +uucp = module + +# Layer: services +# Module: uuidd +# +# UUID generation daemon +# +uuidd = module + +# Layer: services +# Module: varnishd +# +# Varnishd http accelerator daemon +# +varnishd = module + +# Layer: services +# Module: vdagent +# +# vdagent +# +vdagent = module + +# Layer: services +# Module: vhostmd +# +# vhostmd - spice guest agent daemon. +# +vhostmd = module + +# Layer: services +# Module: virt +# +# Virtualization libraries +# +virt = module + +# Layer: apps +# Module: vhostmd +# +# vlock - Virtual Console lock program +# +vlock = module + +# Layer: services +# Module: vmtools +# +# VMware Tools daemon +# +vmtools = module + +# Layer: apps +# Module: vmware +# +# VMWare Workstation virtual machines +# +vmware = module + +# Layer: services +# Module: vnstatd +# +# Network traffic Monitor +# +vnstatd = module + +# Layer: admin +# Module: vpn +# +# Virtual Private Networking client +# +vpn = module + +# Layer: services +# Module: w3c +# +# w3c +# +w3c = module + +# Layer: services +# Module: wdmd +# +# wdmd policy +# +wdmd = module + +# Layer: role +# Module: webadm +# +# Minimally prived root role for managing apache +# +webadm = module + +# Layer: apps +# Module: webalizer +# +# Web server log analysis +# +webalizer = module + +# Layer: apps +# Module: wine +# +# wine executable +# +wine = module + +# Layer: apps +# Module: wireshark +# +# wireshark executable +# +wireshark = module + +# Layer: system +# Module: xen +# +# virtualization software +# +xen = module + +# Layer: services +# Module: zabbix +# +# Open-source monitoring solution for your IT infrastructure +# +zabbix = module + +# Layer: services +# Module: zarafa +# +# Zarafa Collaboration Platform +# +zarafa = module + +# Layer: services +# Module: zebra +# +# Zebra border gateway protocol network routing service +# +zebra = module + +# Layer: services +# Module: zoneminder +# +# Zoneminder Camera Security Surveillance Solution +# +zoneminder = module + +# Layer: services +# Module: zosremote +# +# policy for z/OS Remote-services Audit dispatcher plugin +# +zosremote = module + +# Layer: contrib +# Module: thin +# +# Policy for thin +# +thin = module + +# Layer: contrib +# Module: mandb +# +# Policy for mandb +# +mandb = module + +# Layer: services +# Module: pki +# +# policy for pki +# +pki = module + +# Layer: services +# Module: smsd +# +# policy for smsd +# +smsd = module + +# Layer: contrib +# Module: pesign +# +# policy for pesign +# +pesign = module + +# Layer: contrib +# Module: nsd +# +# Fast and lean authoritative DNS Name Server +# +nsd = module + +# Layer: contrib +# Module: iodine +# +# Fast and lean authoritative DNS Name Server +# +iodine = module + +# Layer: contrib +# Module: openhpid +# +# OpenHPI daemon runs as a background process and accepts connecti +# +openhpid = module + +# Layer: contrib +# Module: watchdog +# +# Watchdog policy +# +watchdog = module + +# Layer: contrib +# Module: oracleasm +# +# oracleasm policy +# +oracleasm = module + +# Layer: contrib +# Module: redis +# +# redis policy +# +redis = module + +# Layer: contrib +# Module: hypervkvp +# +# hypervkvp policy +# +hypervkvp = module + +# Layer: contrib +# Module: lsm +# +# lsm policy +# +lsm = module + +# Layer: contrib +# Module: motion +# +# Daemon for detect motion using a video4linux device +motion = module + +# Layer: contrib +# Module: rtas +# +# rtas policy +# +rtas = module + +# Layer: contrib +# Module: journalctl +# +# journalctl policy +# +journalctl = module + +# Layer: contrib +# Module: gdomap +# +# gdomap policy +# +gdomap = module + +# Layer: contrib +# Module: minidlna +# +# minidlna policy +# +minidlna = module + +# Layer: contrib +# Module: minissdpd +# +# minissdpd policy +# +minissdpd = module + +# Layer: contrib +# Module: freeipmi +# +# Remote-Console (out-of-band) and System Management Software (in-band) +# based on IntelligentPlatform Management Interface specification +# +freeipmi = module + +# Layer: contrib +# Module: mirrormanager +# +# mirrormanager policy +# +mirrormanager = module + +# Layer: contrib +# Module: snapper +# +# snapper policy +# +snapper = module + +# Layer: contrib +# Module: pcp +# +# pcp policy +# +pcp = module + +# Layer: contrib +# Module: geoclue +# +# Add policy for Geoclue. Geoclue is a D-Bus service that provides location information +# +geoclue = module + +# Layer: contrib +# Module: rkhunter +# +# rkhunter policy for /var/lib/rkhunter +# +rkhunter = module + +# Layer: contrib +# Module: bacula +# +# bacula policy +# +bacula = module + +# Layer: contrib +# Module: rhnsd +# +# rhnsd policy +# +rhnsd = module + +# Layer: contrib +# Module: mongodb +# +# mongodb policy +# + +mongodb = module + +# Layer: contrib +# Module: iotop +# +# iotop policy +# + +iotop = module + +# Layer: contrib +# Module: kmscon +# +# kmscon policy +# + +kmscon = module + +# Layer: contrib +# Module: naemon +# +# naemon policy +# +naemon = module + +# Layer: contrib +# Module: brltty +# +# brltty policy +# +brltty = module + +# Layer: contrib +# Module: cpuplug +# +# cpuplug policy +# +cpuplug = module + +# Layer: contrib +# Module: mon_statd +# +# mon_statd policy +# +mon_statd = module + +# Layer: contrib +# Module: cinder +# +# openstack-cinder policy +# +cinder = module + +# Layer: contrib +# Module: linuxptp +# +# linuxptp policy +# +linuxptp = module + +# Layer: contrib +# Module: rolekit +# +# rolekit policy +# +rolekit = module + +# Layer: contrib +# Module: targetd +# +# targetd policy +# +targetd = module + +# Layer: contrib +# Module: hsqldb +# +# Hsqldb is transactional database engine with in-memory and disk-based tables, supporting embedded and server modes. +# +hsqldb = module + +# Layer: contrib +# Module: blkmapd +# +# The blkmapd daemon performs device discovery and mapping for pNFS block layout client. +# +blkmapd = module + +# Layer: contrib +# Module: pkcs11proxyd +# +# pkcs11proxyd policy +# +pkcs11proxyd = module + +# Layer: contrib +# Module: ipmievd +# +# IPMI event daemon for sending events to syslog +# +ipmievd = module + +# Layer: contrib +# Module: openfortivpn +# +# Fortinet compatible SSL VPN daemons. +# +openfortivpn = module + +# Layer: contrib +# Module: fwupd +# +# fwupd is a daemon to allow session software to update device firmware. +# +fwupd = module + +# Layer: contrib +# Module: lttng-tools +# +# LTTng 2.x central tracing registry session daemon. +# +lttng-tools = module + +# Layer: contrib +# Module: rkt +# +# CLI for running app containers +# +rkt = module + +# Layer: contrib +# Module: opendnssec +# +# opendnssec +# +opendnssec = module + +# Layer: contrib +# Module: hwloc +# +# hwloc +# +hwloc = module + +# Layer: contrib +# Module: sbd +# +# sbd +# +sbd = module + +# Layer: contrib +# Module: tlp +# +# tlp +# +tlp = module + +# Layer: contrib +# Module: conntrackd +# +# conntrackd +# +conntrackd = module + +# Layer: contrib +# Module: tangd +# +# tangd +# +tangd = module + +# Layer: contrib +# Module: ibacm +# +# ibacm +# +ibacm = module + +# Layer: contrib +# Module: opafm +# +# opafm +# +opafm = module + +# Layer: contrib +# Module: boltd +# +# boltd +# +boltd = module + +# Layer: contrib +# Module: kpatch +# +# kpatch +# +kpatch = module + +# Layer: contrib +# Module: timedatex +# +# timedatex +# +timedatex = module + +# Layer: contrib +# Module: rrdcached +# +# rrdcached +# +rrdcached = module + +# Layer: contrib +# Module: stratisd +# +# stratisd +# +stratisd = module + +# Layer: contrib +# Module: ica +# +# ica +# +ica = module + +# Layer: contrib +# Module: fedoratp +# +# fedoratp +# +fedoratp = module + +# Layer: contrib +# Module: insights_client +# +# insights_client +# +insights_client = module + +# Layer: contrib +# Module: stalld +# +# stalld +# +stalld = module + +# Layer: contrib +# Module: rhcd +# +# rhcd +# +rhcd = module + +# Layer: contrib +# Module: wireguard +# +# wireguard +# +wireguard = module + +# Layer: contrib +# Module: mptcpd +# +# mptcpd +# +mptcpd = module + +# Layer: contrib +# Module: rshim +# +# rshim +# +rshim = module + +# Layer: contrib +# Module: keyutils +# +# keyutils +# +keyutils = module + +# Layer: contrib +# Module: cifsutils +# +# cifsutils - Utilities for managing CIFS mounts +# +cifsutils = module + +# Layer: contrib +# Module: boothd +# +# boothd - Booth cluster ticket manager +# +boothd = module + +# Layer: contrib +# Module: kafs +# +# kafs - Tools for kAFS +# +kafs = module + +# Layer: contrib +# Module: bootupd +# +# bootupd - bootloader update daemon +# +bootupd = module + +# Layer: contrib +# Module: fdo +# +# fdo - fido device onboard protocol for IoT devices +# +fdo = module + +# Layer: contrib +# Module: qatlib +# +# qatlib - Intel QuickAssist technology library and resources management +# +qatlib = module + +# Layer: services +# Module: virt_supplementary +# +# non-libvirt virtualization libraries +# +virt_supplementary = module + +# Layer: contrib +# Module: nvme_stas +# +# nvme_stas +# +nvme_stas = module + +# Layer: contrib +# Module: coreos_installer +# +# coreos_installer +# +coreos_installer = module + +# Layer: contrib +# Module: afterburn +# +# afterburn +# +afterburn = module diff --git a/selinux-policy/permissivedomains.cil b/selinux-policy/permissivedomains.cil new file mode 100644 index 000000000..400bcf60c --- /dev/null +++ b/selinux-policy/permissivedomains.cil @@ -0,0 +1,2 @@ +(roleattributeset cil_gen_require system_r) + diff --git a/selinux-policy/rpm.macros b/selinux-policy/rpm.macros new file mode 100644 index 000000000..f63f5fedc --- /dev/null +++ b/selinux-policy/rpm.macros @@ -0,0 +1,182 @@ +# Copyright (C) 2017 Red Hat, Inc. All rights reserved. +# +# Author: Petr Lautrbach +# Author: Lukáš Vrabec +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# RPM macros for packages installing SELinux modules + +%_selinux_policy_version SELINUXPOLICYVERSION + +%_selinux_store_path SELINUXSTOREPATH +%_selinux_store_policy_path %{_selinux_store_path}/${_policytype} + +%_file_context_file %{_sysconfdir}/selinux/${SELINUXTYPE}/contexts/files/file_contexts +%_file_context_file_pre %{_localstatedir}/lib/rpm-state/file_contexts.pre + +%_file_custom_defined_booleans %{_selinux_store_policy_path}/rpmbooleans.custom +%_file_custom_defined_booleans_tmp %{_selinux_store_policy_path}/rpmbooleans.custom.tmp + +# %selinux_requires +%selinux_requires \ +Requires: selinux-policy >= %{_selinux_policy_version} \ +BuildRequires: pkgconfig(systemd) \ +BuildRequires: selinux-policy \ +BuildRequires: selinux-policy-devel \ +Requires(post): selinux-policy-base >= %{_selinux_policy_version} \ +Requires(post): libselinux-utils \ +Requires(post): policycoreutils \ +%if 0%{?fedora} || 0%{?rhel} > 7\ +Requires(post): policycoreutils-python-utils \ +%else \ +Requires(post): policycoreutils-python \ +%endif \ +%{nil} + +# %selinux_modules_install [-s ] [-p ] module [module]... +%selinux_modules_install("s:p:") \ +if [ -e /etc/selinux/config ]; then \ + . /etc/selinux/config \ +fi \ +_policytype=%{-s*} \ +if [ -z "${_policytype}" ]; then \ + _policytype="targeted" \ +fi \ +if [ "${SELINUXTYPE}" = "${_policytype}" ]; then \ + %{_sbindir}/semodule -n -s ${_policytype} -X %{!-p:200}%{-p*} -i %* || : \ + %{_sbindir}/selinuxenabled && %{_sbindir}/load_policy || : \ +fi \ +%{nil} + +# %selinux_modules_uninstall [-s ] [-p ] module [module]... +%selinux_modules_uninstall("s:p:") \ +if [ -e /etc/selinux/config ]; then \ + . /etc/selinux/config \ +fi \ +_policytype=%{-s*} \ +if [ -z "${_policytype}" ]; then \ + _policytype="targeted" \ +fi \ +if [ $1 -eq 0 ]; then \ + if [ "${SELINUXTYPE}" = "${_policytype}" ]; then \ + %{_sbindir}/semodule -n -X %{!-p:200}%{-p*} -s ${_policytype} -r %* &> /dev/null || : \ + %{_sbindir}/selinuxenabled && %{_sbindir}/load_policy || : \ + fi \ +fi \ +%{nil} + +# %selinux_relabel_pre [-s ] +%selinux_relabel_pre("s:") \ +if %{_sbindir}/selinuxenabled; then \ + if [ -e /etc/selinux/config ]; then \ + . /etc/selinux/config \ + fi \ + _policytype=%{-s*} \ + if [ -z "${_policytype}" ]; then \ + _policytype="targeted" \ + fi \ + if [ "${SELINUXTYPE}" = "${_policytype}" ]; then \ + [ -f %{_file_context_file_pre} ] || cp -f %{_file_context_file} %{_file_context_file_pre} \ + fi \ +fi \ +%{nil} + + +# %selinux_relabel_post [-s ] +%selinux_relabel_post("s:") \ +if [ -e /etc/selinux/config ]; then \ + . /etc/selinux/config \ +fi \ +_policytype=%{-s*} \ +if [ -z "${_policytype}" ]; then \ + _policytype="targeted" \ +fi \ +if %{_sbindir}/selinuxenabled && [ "${SELINUXTYPE}" = "${_policytype}" ]; then \ + if [ -f %{_file_context_file_pre} ]; then \ + %{_sbindir}/fixfiles -C %{_file_context_file_pre} restore &> /dev/null \ + rm -f %{_file_context_file_pre} \ + fi \ +fi \ +%{nil} + +# %selinux_set_booleans [-s ] boolean [boolean]... +%selinux_set_booleans("s:") \ +if [ -e /etc/selinux/config ]; then \ + . /etc/selinux/config \ +fi \ +_policytype=%{-s*} \ +if [ -z "${_policytype}" ]; then \ + _policytype="targeted" \ +fi \ +if [ -d "%{_selinux_store_policy_path}" ]; then \ + LOCAL_MODIFICATIONS=$(%{_sbindir}/semanage boolean -E) \ + if [ ! -f %_file_custom_defined_booleans ]; then \ + /bin/echo "# This file is managed by macros.selinux-policy. Do not edit it manually" > %_file_custom_defined_booleans \ + fi \ + semanage_import='' \ + for boolean in %*; do \ + boolean_name=${boolean%=*} \ + boolean_value=${boolean#*=} \ + boolean_local_string=$(grep "$boolean_name\$" <<<$LOCAL_MODIFICATIONS) \ + if [ -n "$boolean_local_string" ]; then \ + semanage_import="${semanage_import}\\nboolean -m -$boolean_value $boolean_name" \ + boolean_customized_string=$(grep "$boolean_name\$" %_file_custom_defined_booleans | tail -n 1) \ + if [ -n "$boolean_customized_string" ]; then \ + /bin/echo $boolean_customized_string >> %_file_custom_defined_booleans \ + else \ + /bin/echo $boolean_local_string >> %_file_custom_defined_booleans \ + fi \ + else \ + semanage_import="${semanage_import}\\nboolean -m -$boolean_value $boolean_name" \ + boolean_default_value=$(LC_ALL=C %{_sbindir}/semanage boolean -l | grep "^$boolean_name " | sed 's/[^(]*([^,]*, *\\(on\\|off\\).*/\\1/') \ + /bin/echo "boolean -m --$boolean_default_value $boolean_name" >> %_file_custom_defined_booleans \ + fi \ + done; \ + if %{_sbindir}/selinuxenabled && [ "${SELINUXTYPE}" = "${_policytype}" ]; then \ + /bin/echo -e "$semanage_import" | %{_sbindir}/semanage import -S "${_policytype}" \ + elif test -d /usr/share/selinux/"${_policytype}"/base.lst; then \ + /bin/echo -e "$semanage_import" | %{_sbindir}/semanage import -S "${_policytype}" -N \ + fi \ +fi \ +%{nil} + +# %selinux_unset_booleans [-s ] boolean [boolean]... +%selinux_unset_booleans("s:") \ +if [ -e /etc/selinux/config ]; then \ + . /etc/selinux/config \ +fi \ +_policytype=%{-s*} \ +if [ -z "${_policytype}" ]; then \ + _policytype="targeted" \ +fi \ +if [ -d "%{_selinux_store_policy_path}" ]; then \ + semanage_import='' \ + for boolean in %*; do \ + boolean_name=${boolean%=*} \ + boolean_customized_string=$(grep "$boolean_name\$" %_file_custom_defined_booleans | tail -n 1) \ + if [ -n "$boolean_customized_string" ]; then \ + awk "/$boolean_customized_string/ && !f{f=1; next} 1" %_file_custom_defined_booleans > %_file_custom_defined_booleans_tmp && mv %_file_custom_defined_booleans_tmp %_file_custom_defined_booleans \ + if ! grep -q "$boolean_name\$" %_file_custom_defined_booleans; then \ + semanage_import="${semanage_import}\\n${boolean_customized_string}" \ + fi \ + fi \ + done; \ + if %{_sbindir}/selinuxenabled && [ "${SELINUXTYPE}" = "${_policytype}" ]; then \ + /bin/echo -e "$semanage_import" | %{_sbindir}/semanage import -S "${_policytype}" \ + elif test -d /usr/share/selinux/"${_policytype}"/base.lst; then \ + /bin/echo -e "$semanage_import" | %{_sbindir}/semanage import -S "${_policytype}" -N \ + fi \ +fi \ +%{nil} diff --git a/selinux-policy/securetty_types-minimum b/selinux-policy/securetty_types-minimum new file mode 100644 index 000000000..7055096f7 --- /dev/null +++ b/selinux-policy/securetty_types-minimum @@ -0,0 +1,4 @@ +console_device_t +sysadm_tty_device_t +user_tty_device_t +staff_tty_device_t diff --git a/selinux-policy/securetty_types-mls b/selinux-policy/securetty_types-mls new file mode 100644 index 000000000..89bf54d7b --- /dev/null +++ b/selinux-policy/securetty_types-mls @@ -0,0 +1,6 @@ +console_device_t +sysadm_tty_device_t +user_tty_device_t +staff_tty_device_t +auditadm_tty_device_t +secureadm_tty_device_t diff --git a/selinux-policy/securetty_types-targeted b/selinux-policy/securetty_types-targeted new file mode 100644 index 000000000..7055096f7 --- /dev/null +++ b/selinux-policy/securetty_types-targeted @@ -0,0 +1,4 @@ +console_device_t +sysadm_tty_device_t +user_tty_device_t +staff_tty_device_t diff --git a/selinux-policy/selinux-check-proper-disable.service b/selinux-policy/selinux-check-proper-disable.service new file mode 100644 index 000000000..8f3b4daed --- /dev/null +++ b/selinux-policy/selinux-check-proper-disable.service @@ -0,0 +1,15 @@ +[Unit] +Description=Check that SELinux is not disabled the unsafe way +ConditionKernelCommandLine=!selinux=0 +After=sysinit.target + +[Service] +Type=oneshot +EnvironmentFile=/etc/selinux/config +ExecCondition=test "$SELINUX" = disabled +ExecStart=/usr/bin/echo 'SELINUX=disabled in /etc/selinux/config, but no selinux=0 on kernel command line - SELinux may not be fully disabled. Please update bootloader configuration to pass selinux=0 to kernel at boot.' +StandardOutput=journal+console +SyslogLevel=warning + +[Install] +WantedBy=multi-user.target diff --git a/selinux-policy/selinux-policy-d9f4a2b.tar.gz b/selinux-policy/selinux-policy-d9f4a2b.tar.gz new file mode 100644 index 000000000..0c07f2d0e Binary files /dev/null and b/selinux-policy/selinux-policy-d9f4a2b.tar.gz differ diff --git a/selinux-policy/selinux-policy.conf b/selinux-policy/selinux-policy.conf new file mode 100644 index 000000000..f2f1cedc2 --- /dev/null +++ b/selinux-policy/selinux-policy.conf @@ -0,0 +1,4 @@ +z /sys/devices/system/cpu/online - - - +Z /sys/class/net - - - +z /sys/kernel/uevent_helper - - - +w /sys/fs/selinux/checkreqprot - - - - 0 diff --git a/selinux-policy/selinux-policy.spec b/selinux-policy/selinux-policy.spec new file mode 100644 index 000000000..ce9ba89ff --- /dev/null +++ b/selinux-policy/selinux-policy.spec @@ -0,0 +1,1770 @@ +# github repo with selinux-policy sources +%global giturl https://github.com/fedora-selinux/selinux-policy +%global commit d9f4a2bbeb91fd95d0c35a90936efb9ea99d2455 +%global shortcommit %(c=%{commit}; echo ${c:0:7}) + +%define distro redhat +%define polyinstatiate n +%define monolithic n +%if %{?BUILD_DOC:0}%{!?BUILD_DOC:1} +%define BUILD_DOC 1 +%endif +%if %{?BUILD_TARGETED:0}%{!?BUILD_TARGETED:1} +%define BUILD_TARGETED 1 +%endif +%if %{?BUILD_MINIMUM:0}%{!?BUILD_MINIMUM:1} +%define BUILD_MINIMUM 1 +%endif +%if %{?BUILD_MLS:0}%{!?BUILD_MLS:1} +%define BUILD_MLS 1 +%endif +%define POLICYVER 33 +%define POLICYCOREUTILSVER 3.4-1 +%define CHECKPOLICYVER 3.2 +Summary: SELinux policy configuration +Name: selinux-policy +Version: 40.13 +Release: 1%{?dist} +License: GPL-2.0-or-later +Source: %{giturl}/archive/%{commit}/%{name}-%{shortcommit}.tar.gz +Source1: modules-targeted-base.conf +Source31: modules-targeted-contrib.conf +Source2: booleans-targeted.conf +Source3: Makefile.devel +Source4: setrans-targeted.conf +Source5: modules-mls-base.conf +Source32: modules-mls-contrib.conf +Source6: booleans-mls.conf +Source8: setrans-mls.conf +Source14: securetty_types-targeted +Source15: securetty_types-mls +#Source16: modules-minimum.conf +Source17: booleans-minimum.conf +Source18: setrans-minimum.conf +Source19: securetty_types-minimum +Source20: customizable_types +Source22: users-mls +Source23: users-targeted +Source25: users-minimum +Source26: file_contexts.subs_dist +Source27: selinux-policy.conf +Source28: permissivedomains.cil +Source30: booleans.subs_dist + +# Tool helps during policy development, to expand system m4 macros to raw allow rules +# Git repo: https://github.com/fedora-selinux/macro-expander.git +Source33: macro-expander + +# Include SELinux policy for container from separate container-selinux repo +# Git repo: https://github.com/containers/container-selinux.git +Source35: container-selinux.tgz + +Source36: selinux-check-proper-disable.service + +# Script to convert /var/run file context entries to /run +Source37: varrun-convert.sh + +# Provide rpm macros for packages installing SELinux modules +Source102: rpm.macros + +Url: %{giturl} +BuildArch: noarch +BuildRequires: python3 gawk checkpolicy >= %{CHECKPOLICYVER} m4 policycoreutils-devel >= %{POLICYCOREUTILSVER} bzip2 +BuildRequires: make +BuildRequires: systemd-rpm-macros +Requires(pre): policycoreutils >= %{POLICYCOREUTILSVER} +Requires(post): /bin/awk /usr/bin/sha512sum +Requires(meta): rpm-plugin-selinux +Requires: selinux-policy-any = %{version}-%{release} +Provides: selinux-policy-base = %{version}-%{release} +Suggests: selinux-policy-targeted + +%description +SELinux core policy package. +Originally based off of reference policy, +the policy has been adjusted to provide support for Fedora. + +%files +%{!?_licensedir:%global license %%doc} +%license COPYING +%dir %{_datadir}/selinux +%dir %{_datadir}/selinux/packages +%dir %{_sysconfdir}/selinux +%ghost %config(noreplace) %{_sysconfdir}/selinux/config +%ghost %{_sysconfdir}/sysconfig/selinux +%{_usr}/lib/tmpfiles.d/selinux-policy.conf +%{_rpmconfigdir}/macros.d/macros.selinux-policy +%{_unitdir}/selinux-check-proper-disable.service +%{_libexecdir}/selinux/varrun-convert.sh + +%package sandbox +Summary: SELinux sandbox policy +Requires(pre): selinux-policy-base = %{version}-%{release} +Requires(pre): selinux-policy-targeted = %{version}-%{release} + +%description sandbox +SELinux sandbox policy for use with the sandbox utility. + +%files sandbox +%verify(not md5 size mtime) %{_datadir}/selinux/packages/sandbox.pp + +%post sandbox +rm -f %{_sysconfdir}/selinux/*/modules/active/modules/sandbox.pp.disabled 2>/dev/null +rm -f %{_sharedstatedir}/selinux/*/active/modules/disabled/sandbox 2>/dev/null +%{_sbindir}/semodule -n -X 100 -i %{_datadir}/selinux/packages/sandbox.pp +if %{_sbindir}/selinuxenabled ; then + %{_sbindir}/load_policy +fi; +exit 0 + +%preun sandbox +if [ $1 -eq 0 ] ; then + %{_sbindir}/semodule -n -d sandbox 2>/dev/null + if %{_sbindir}/selinuxenabled ; then + %{_sbindir}/load_policy + fi; +fi; +exit 0 + +%package devel +Summary: SELinux policy development files +Requires(pre): selinux-policy = %{version}-%{release} +Requires: selinux-policy = %{version}-%{release} +Requires: m4 checkpolicy >= %{CHECKPOLICYVER} +Requires: /usr/bin/make +Requires(post): policycoreutils-devel >= %{POLICYCOREUTILSVER} + +%description devel +SELinux policy development package. +This package contains: +- interfaces, macros, and patterns for policy development +- a policy example +- the macro-expander utility +and some additional files. + +%files devel +%{_bindir}/macro-expander +%dir %{_datadir}/selinux/devel +%dir %{_datadir}/selinux/devel/include +%{_datadir}/selinux/devel/include/* +%exclude %{_datadir}/selinux/devel/include/contrib/container.if +%dir %{_datadir}/selinux/devel/html +%{_datadir}/selinux/devel/html/*html +%{_datadir}/selinux/devel/html/*css +%{_datadir}/selinux/devel/Makefile +%{_datadir}/selinux/devel/example.* +%{_datadir}/selinux/devel/policy.* +%ghost %verify(not md5 size mode mtime) %{_sharedstatedir}/sepolgen/interface_info + +%post devel +%{_sbindir}/selinuxenabled && %{_bindir}/sepolgen-ifgen 2>/dev/null +exit 0 + +%package doc +Summary: SELinux policy documentation +Requires(pre): selinux-policy = %{version}-%{release} +Requires: selinux-policy = %{version}-%{release} + +%description doc +SELinux policy documentation package. +This package contains manual pages and documentation of the policy modules. + +%files doc +%{_mandir}/man*/* +%{_mandir}/ru/*/* +%exclude %{_mandir}/man8/container_selinux.8.gz +%doc %{_datadir}/doc/%{name} + +%define common_params DISTRO=%{distro} UBAC=n DIRECT_INITRC=n MONOLITHIC=%{monolithic} MLS_CATS=1024 MCS_CATS=1024 + +%define makeCmds() \ +%make_build %common_params UNK_PERMS=%3 NAME=%1 TYPE=%2 bare \ +%make_build %common_params UNK_PERMS=%3 NAME=%1 TYPE=%2 conf \ +cp -f selinux_config/booleans-%1.conf ./policy/booleans.conf \ +cp -f selinux_config/users-%1 ./policy/users \ +#cp -f selinux_config/modules-%1-base.conf ./policy/modules.conf \ + +%define makeModulesConf() \ +cp -f selinux_config/modules-%1-%2.conf ./policy/modules-base.conf \ +cp -f selinux_config/modules-%1-%2.conf ./policy/modules.conf \ +if [ %3 == "contrib" ];then \ + cp selinux_config/modules-%1-%3.conf ./policy/modules-contrib.conf; \ + cat selinux_config/modules-%1-%3.conf >> ./policy/modules.conf; \ +fi; \ + +%define installCmds() \ +%make_build %common_params UNK_PERMS=%3 NAME=%1 TYPE=%2 base.pp \ +%make_build %common_params UNK_PERMS=%3 NAME=%1 TYPE=%2 validate modules \ +make %common_params UNK_PERMS=%3 NAME=%1 TYPE=%2 DESTDIR=%{buildroot} install \ +make %common_params UNK_PERMS=%3 NAME=%1 TYPE=%2 DESTDIR=%{buildroot} install-appconfig \ +make %common_params UNK_PERMS=%3 NAME=%1 TYPE=%2 DESTDIR=%{buildroot} SEMODULE="%{_sbindir}/semodule -p %{buildroot} -X 100 " load \ +%{__mkdir} -p %{buildroot}%{_sysconfdir}/selinux/%1/logins \ +touch %{buildroot}%{_sysconfdir}/selinux/%1/contexts/files/file_contexts.subs \ +install -m0644 selinux_config/securetty_types-%1 %{buildroot}%{_sysconfdir}/selinux/%1/contexts/securetty_types \ +install -m0644 selinux_config/file_contexts.subs_dist %{buildroot}%{_sysconfdir}/selinux/%1/contexts/files \ +install -m0644 selinux_config/setrans-%1.conf %{buildroot}%{_sysconfdir}/selinux/%1/setrans.conf \ +install -m0644 selinux_config/customizable_types %{buildroot}%{_sysconfdir}/selinux/%1/contexts/customizable_types \ +touch %{buildroot}%{_sysconfdir}/selinux/%1/contexts/files/file_contexts.bin \ +touch %{buildroot}%{_sysconfdir}/selinux/%1/contexts/files/file_contexts.local \ +touch %{buildroot}%{_sysconfdir}/selinux/%1/contexts/files/file_contexts.local.bin \ +cp %{SOURCE30} %{buildroot}%{_sysconfdir}/selinux/%1 \ +rm -f %{buildroot}%{_datadir}/selinux/%1/*pp* \ +%{_bindir}/sha512sum %{buildroot}%{_sysconfdir}/selinux/%1/policy/policy.%{POLICYVER} | cut -d' ' -f 1 > %{buildroot}%{_sysconfdir}/selinux/%1/.policy.sha512; \ +rm -rf %{buildroot}%{_sysconfdir}/selinux/%1/contexts/netfilter_contexts \ +rm -rf %{buildroot}%{_sysconfdir}/selinux/%1/modules/active/policy.kern \ +rm -f %{buildroot}%{_sharedstatedir}/selinux/%1/active/*.linked \ +%nil + +%define fileList() \ +%defattr(-,root,root) \ +%dir %{_sysconfdir}/selinux/%1 \ +%config(noreplace) %{_sysconfdir}/selinux/%1/setrans.conf \ +%config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/selinux/%1/seusers \ +%dir %{_sysconfdir}/selinux/%1/logins \ +%dir %{_sharedstatedir}/selinux/%1/active \ +%verify(not md5 size mtime) %{_sharedstatedir}/selinux/%1/semanage.read.LOCK \ +%verify(not md5 size mtime) %{_sharedstatedir}/selinux/%1/semanage.trans.LOCK \ +%dir %attr(700,root,root) %dir %{_sharedstatedir}/selinux/%1/active/modules \ +%verify(not md5 size mtime) %{_sharedstatedir}/selinux/%1/active/modules/100/base \ +%dir %{_sysconfdir}/selinux/%1/policy/ \ +%verify(not md5 size mtime) %{_sysconfdir}/selinux/%1/policy/policy.%{POLICYVER} \ +%{_sysconfdir}/selinux/%1/.policy.sha512 \ +%dir %{_sysconfdir}/selinux/%1/contexts \ +%config %{_sysconfdir}/selinux/%1/contexts/customizable_types \ +%config(noreplace) %{_sysconfdir}/selinux/%1/contexts/securetty_types \ +%config(noreplace) %{_sysconfdir}/selinux/%1/contexts/dbus_contexts \ +%config %{_sysconfdir}/selinux/%1/contexts/x_contexts \ +%config %{_sysconfdir}/selinux/%1/contexts/default_contexts \ +%config %{_sysconfdir}/selinux/%1/contexts/virtual_domain_context \ +%config %{_sysconfdir}/selinux/%1/contexts/virtual_image_context \ +%config %{_sysconfdir}/selinux/%1/contexts/lxc_contexts \ +%config %{_sysconfdir}/selinux/%1/contexts/systemd_contexts \ +%config %{_sysconfdir}/selinux/%1/contexts/sepgsql_contexts \ +%config %{_sysconfdir}/selinux/%1/contexts/openssh_contexts \ +%config %{_sysconfdir}/selinux/%1/contexts/snapperd_contexts \ +%config(noreplace) %{_sysconfdir}/selinux/%1/contexts/default_type \ +%config(noreplace) %{_sysconfdir}/selinux/%1/contexts/failsafe_context \ +%config(noreplace) %{_sysconfdir}/selinux/%1/contexts/initrc_context \ +%config(noreplace) %{_sysconfdir}/selinux/%1/contexts/removable_context \ +%config(noreplace) %{_sysconfdir}/selinux/%1/contexts/userhelper_context \ +%dir %{_sysconfdir}/selinux/%1/contexts/files \ +%verify(not md5 size mtime) %{_sysconfdir}/selinux/%1/contexts/files/file_contexts \ +%ghost %{_sysconfdir}/selinux/%1/contexts/files/file_contexts.bin \ +%verify(not md5 size mtime) %{_sysconfdir}/selinux/%1/contexts/files/file_contexts.homedirs \ +%ghost %{_sysconfdir}/selinux/%1/contexts/files/file_contexts.homedirs.bin \ +%config(noreplace) %{_sysconfdir}/selinux/%1/contexts/files/file_contexts.local \ +%ghost %{_sysconfdir}/selinux/%1/contexts/files/file_contexts.local.bin \ +%config(noreplace) %{_sysconfdir}/selinux/%1/contexts/files/file_contexts.subs \ +%{_sysconfdir}/selinux/%1/contexts/files/file_contexts.subs_dist \ +%{_sysconfdir}/selinux/%1/booleans.subs_dist \ +%config %{_sysconfdir}/selinux/%1/contexts/files/media \ +%dir %{_sysconfdir}/selinux/%1/contexts/users \ +%config(noreplace) %{_sysconfdir}/selinux/%1/contexts/users/root \ +%config(noreplace) %{_sysconfdir}/selinux/%1/contexts/users/guest_u \ +%config(noreplace) %{_sysconfdir}/selinux/%1/contexts/users/xguest_u \ +%config(noreplace) %{_sysconfdir}/selinux/%1/contexts/users/user_u \ +%config(noreplace) %{_sysconfdir}/selinux/%1/contexts/users/staff_u \ +%dir %{_datadir}/selinux/%1 \ +%{_datadir}/selinux/%1/base.lst \ +%{_datadir}/selinux/%1/modules-base.lst \ +%{_datadir}/selinux/%1/modules-contrib.lst \ +%{_datadir}/selinux/%1/nonbasemodules.lst \ +%dir %{_sharedstatedir}/selinux/%1 \ +%verify(not md5 size mtime) %{_sharedstatedir}/selinux/%1/active/commit_num \ +%verify(not md5 size mtime) %{_sharedstatedir}/selinux/%1/active/users_extra \ +%verify(not md5 size mtime) %{_sharedstatedir}/selinux/%1/active/homedir_template \ +%verify(not md5 size mtime) %{_sharedstatedir}/selinux/%1/active/seusers \ +%verify(not md5 size mtime) %{_sharedstatedir}/selinux/%1/active/file_contexts \ +%verify(not md5 size mtime) %{_sharedstatedir}/selinux/%1/active/policy.kern \ +%ghost %{_sharedstatedir}/selinux/%1/active/policy.linked \ +%ghost %{_sharedstatedir}/selinux/%1/active/seusers.linked \ +%ghost %{_sharedstatedir}/selinux/%1/active/users_extra.linked \ +%verify(not md5 size mtime) %{_sharedstatedir}/selinux/%1/active/file_contexts.homedirs \ +%verify(not md5 size mtime) %{_sharedstatedir}/selinux/%1/active/modules_checksum \ +%ghost %{_sharedstatedir}/selinux/%1/active/modules/400/extra_varrun \ +%nil + +%define relabel() \ +if [ -s %{_sysconfdir}/selinux/config ]; then \ + . %{_sysconfdir}/selinux/config &> /dev/null || true; \ +fi; \ +FILE_CONTEXT=%{_sysconfdir}/selinux/%1/contexts/files/file_contexts; \ +if %{_sbindir}/selinuxenabled && [ "${SELINUXTYPE}" = %1 -a -f ${FILE_CONTEXT}.pre ]; then \ + %{_sbindir}/fixfiles -C ${FILE_CONTEXT}.pre restore &> /dev/null > /dev/null; \ + rm -f ${FILE_CONTEXT}.pre; \ +fi; \ +# rebuilding the rpm database still can sometimes result in an incorrect context \ +%{_sbindir}/restorecon -R /usr/lib/sysimage/rpm \ +if %{_sbindir}/restorecon -e /run/media -R /root /var/log /var/run /etc/passwd* /etc/group* /etc/*shadow* 2> /dev/null;then \ + continue; \ +fi; + +%define preInstall() \ +if [ $1 -ne 1 ] && [ -s %{_sysconfdir}/selinux/config ]; then \ + for MOD_NAME in ganesha ipa_custodia kdbus; do \ + if [ -d %{_sharedstatedir}/selinux/%1/active/modules/100/$MOD_NAME ]; then \ + %{_sbindir}/semodule -n -d $MOD_NAME; \ + fi; \ + done; \ + . %{_sysconfdir}/selinux/config; \ + FILE_CONTEXT=%{_sysconfdir}/selinux/%1/contexts/files/file_contexts; \ + if [ "${SELINUXTYPE}" = %1 -a -f ${FILE_CONTEXT} ]; then \ + [ -f ${FILE_CONTEXT}.pre ] || cp -f ${FILE_CONTEXT} ${FILE_CONTEXT}.pre; \ + fi; \ + touch %{_sysconfdir}/selinux/%1/.rebuild; \ + if [ -e %{_sysconfdir}/selinux/%1/.policy.sha512 ]; then \ + POLICY_FILE=`ls %{_sysconfdir}/selinux/%1/policy/policy.* | sort | head -1` \ + sha512=`sha512sum $POLICY_FILE | cut -d ' ' -f 1`; \ + checksha512=`cat %{_sysconfdir}/selinux/%1/.policy.sha512`; \ + if [ "$sha512" == "$checksha512" ] ; then \ + rm %{_sysconfdir}/selinux/%1/.rebuild; \ + fi; \ + fi; \ +fi; + +%define postInstall() \ +if [ -s %{_sysconfdir}/selinux/config ]; then \ + . %{_sysconfdir}/selinux/config &> /dev/null || true; \ +fi; \ +if [ -e %{_sysconfdir}/selinux/%2/.rebuild ]; then \ + rm %{_sysconfdir}/selinux/%2/.rebuild; \ +fi; \ +%{_sbindir}/semodule -B -n -s %2; \ +[ "${SELINUXTYPE}" == "%2" ] && %{_sbindir}/selinuxenabled && load_policy; \ +if [ %1 -eq 1 ]; then \ + %{_sbindir}/restorecon -R /root /var/log /run /etc/passwd* /etc/group* /etc/*shadow* 2> /dev/null; \ +else \ +%relabel %2 \ +fi; + +%define modulesList() \ +awk '$1 !~ "/^#/" && $2 == "=" && $3 == "module" { printf "%%s ", $1 }' ./policy/modules-base.conf > %{buildroot}%{_datadir}/selinux/%1/modules-base.lst \ +awk '$1 !~ "/^#/" && $2 == "=" && $3 == "base" { printf "%%s ", $1 }' ./policy/modules-base.conf > %{buildroot}%{_datadir}/selinux/%1/base.lst \ +if [ -e ./policy/modules-contrib.conf ];then \ + awk '$1 !~ "/^#/" && $2 == "=" && $3 == "module" { printf "%%s ", $1 }' ./policy/modules-contrib.conf > %{buildroot}%{_datadir}/selinux/%1/modules-contrib.lst; \ +fi; + +%define nonBaseModulesList() \ +contrib_modules=`cat %{buildroot}%{_datadir}/selinux/%1/modules-contrib.lst` \ +base_modules=`cat %{buildroot}%{_datadir}/selinux/%1/modules-base.lst` \ +for i in $contrib_modules $base_modules; do \ + if [ $i != "sandbox" ];then \ + echo "%verify(not md5 size mtime) %{_sharedstatedir}/selinux/%1/active/modules/100/$i" >> %{buildroot}%{_datadir}/selinux/%1/nonbasemodules.lst \ + fi; \ +done; + +# Make sure the config is consistent with what packages are installed in the system +# this covers cases when system is installed with selinux-policy-{mls,minimal} +# or selinux-policy-{targeted,mls,minimal} where switched but the machine has not +# been rebooted yet. +# The macro should be called at the beginning of "post" (to make sure load_policy does not fail) +# and in "posttrans" (to make sure that the store is consistent when all package transitions are done) +# Parameter determines the policy type to be set in case of miss-configuration (if backup value is not usable) +# Steps: +# * load values from config and its backup +# * check whether SELINUXTYPE from backup is usable and make sure that it's set in the config if so +# * use "targeted" if it's being installed and BACKUP_SELINUXTYPE cannot be used +# * check whether SELINUXTYPE in the config is usable and change it to newly installed policy if it isn't +%define checkConfigConsistency() \ +if [ -f %{_sysconfdir}/selinux/.config_backup ]; then \ + . %{_sysconfdir}/selinux/.config_backup; \ +else \ + BACKUP_SELINUXTYPE=targeted; \ +fi; \ +if [ -s %{_sysconfdir}/selinux/config ]; then \ + . %{_sysconfdir}/selinux/config; \ + if ls %{_sysconfdir}/selinux/$BACKUP_SELINUXTYPE/policy/policy.* &>/dev/null; then \ + if [ "$BACKUP_SELINUXTYPE" != "$SELINUXTYPE" ]; then \ + sed -i 's/^SELINUXTYPE=.*/SELINUXTYPE='"$BACKUP_SELINUXTYPE"'/g' %{_sysconfdir}/selinux/config; \ + fi; \ + elif [ "%1" = "targeted" ]; then \ + if [ "%1" != "$SELINUXTYPE" ]; then \ + sed -i 's/^SELINUXTYPE=.*/SELINUXTYPE=%1/g' %{_sysconfdir}/selinux/config; \ + fi; \ + elif ! ls %{_sysconfdir}/selinux/$SELINUXTYPE/policy/policy.* &>/dev/null; then \ + if [ "%1" != "$SELINUXTYPE" ]; then \ + sed -i 's/^SELINUXTYPE=.*/SELINUXTYPE=%1/g' %{_sysconfdir}/selinux/config; \ + fi; \ + fi; \ +fi; + +# Create hidden backup of /etc/selinux/config and prepend BACKUP_ to names +# of variables inside so that they are easy to use later +# This should be done in "pretrans" because config content can change during RPM operations +# The macro has to be used in a script slot with "-p " +%define backupConfigLua() \ +local sysconfdir = rpm.expand("%{_sysconfdir}") \ +local config_file = sysconfdir .. "/selinux/config" \ +local config_backup = sysconfdir .. "/selinux/.config_backup" \ +os.remove(config_backup) \ +if posix.stat(config_file) then \ + local f = assert(io.open(config_file, "r"), "Failed to read " .. config_file) \ + local content = f:read("*all") \ + f:close() \ + local backup = content:gsub("SELINUX", "BACKUP_SELINUX") \ + local bf = assert(io.open(config_backup, "w"), "Failed to open " .. config_backup) \ + bf:write(backup) \ + bf:close() \ +end + +%build + +%prep +%autosetup -p 1 -n %{name}-%{commit} +tar -C policy/modules/contrib -xf %{SOURCE35} + +mkdir selinux_config +for i in %{SOURCE1} %{SOURCE2} %{SOURCE3} %{SOURCE4} %{SOURCE5} %{SOURCE6} %{SOURCE8} %{SOURCE14} %{SOURCE15} %{SOURCE17} %{SOURCE18} %{SOURCE19} %{SOURCE20} %{SOURCE22} %{SOURCE23} %{SOURCE25} %{SOURCE26} %{SOURCE31} %{SOURCE32};do + cp $i selinux_config +done + +%install +# Build targeted policy +%{__rm} -fR %{buildroot} +mkdir -p %{buildroot}%{_sysconfdir}/selinux +mkdir -p %{buildroot}%{_sysconfdir}/sysconfig +touch %{buildroot}%{_sysconfdir}/selinux/config +touch %{buildroot}%{_sysconfdir}/sysconfig/selinux +mkdir -p %{buildroot}%{_usr}/lib/tmpfiles.d/ +cp %{SOURCE27} %{buildroot}%{_usr}/lib/tmpfiles.d/ +mkdir -p %{buildroot}%{_bindir} +install -m 755 %{SOURCE33} %{buildroot}%{_bindir}/ +mkdir -p %{buildroot}%{_libexecdir}/selinux +install -m 755 %{SOURCE37} %{buildroot}%{_libexecdir}/selinux + +# Always create policy module package directories +mkdir -p %{buildroot}%{_datadir}/selinux/{targeted,mls,minimum,modules}/ +mkdir -p %{buildroot}%{_sharedstatedir}/selinux/{targeted,mls,minimum,modules}/ + +mkdir -p %{buildroot}%{_datadir}/selinux/packages + +# Install devel +make clean +%if %{BUILD_TARGETED} +# Build targeted policy +%makeCmds targeted mcs allow +%makeModulesConf targeted base contrib +%installCmds targeted mcs allow +# install permissivedomains.cil +%{_sbindir}/semodule -p %{buildroot} -X 100 -s targeted -i %{SOURCE28} +# recreate sandbox.pp +rm -rf %{buildroot}%{_sharedstatedir}/selinux/targeted/active/modules/100/sandbox +%make_build %common_params UNK_PERMS=allow NAME=targeted TYPE=mcs sandbox.pp +mv sandbox.pp %{buildroot}%{_datadir}/selinux/packages/sandbox.pp +%modulesList targeted +%nonBaseModulesList targeted +%endif + +%if %{BUILD_MINIMUM} +# Build minimum policy +%makeCmds minimum mcs allow +%makeModulesConf targeted base contrib +%installCmds minimum mcs allow +rm -rf %{buildroot}%{_sharedstatedir}/selinux/minimum/active/modules/100/sandbox +%modulesList minimum +%nonBaseModulesList minimum +%endif + +%if %{BUILD_MLS} +# Build mls policy +%makeCmds mls mls deny +%makeModulesConf mls base contrib +%installCmds mls mls deny +%modulesList mls +%nonBaseModulesList mls +%endif + +# remove leftovers when save-previous=true (semanage.conf) is used +rm -rf %{buildroot}%{_sharedstatedir}/selinux/{minimum,targeted,mls}/previous + +mkdir -p %{buildroot}%{_mandir} +cp -R man/* %{buildroot}%{_mandir} +make %common_params UNK_PERMS=allow NAME=targeted TYPE=mcs DESTDIR=%{buildroot} PKGNAME=%{name} install-docs +make %common_params UNK_PERMS=allow NAME=targeted TYPE=mcs DESTDIR=%{buildroot} PKGNAME=%{name} install-headers +mkdir %{buildroot}%{_datadir}/selinux/devel/ +mv %{buildroot}%{_datadir}/selinux/targeted/include %{buildroot}%{_datadir}/selinux/devel/include +install -m 644 selinux_config/Makefile.devel %{buildroot}%{_datadir}/selinux/devel/Makefile +install -m 644 doc/example.* %{buildroot}%{_datadir}/selinux/devel/ +install -m 644 doc/policy.* %{buildroot}%{_datadir}/selinux/devel/ +%{_bindir}/sepolicy manpage -a -p %{buildroot}%{_datadir}/man/man8/ -w -r %{buildroot} +mkdir %{buildroot}%{_datadir}/selinux/devel/html +mv %{buildroot}%{_datadir}/man/man8/*.html %{buildroot}%{_datadir}/selinux/devel/html +mv %{buildroot}%{_datadir}/man/man8/style.css %{buildroot}%{_datadir}/selinux/devel/html + +mkdir -p %{buildroot}%{_rpmconfigdir}/macros.d +install -m 644 %{SOURCE102} %{buildroot}%{_rpmconfigdir}/macros.d/macros.selinux-policy +sed -i 's/SELINUXPOLICYVERSION/%{version}/' %{buildroot}%{_rpmconfigdir}/macros.d/macros.selinux-policy +sed -i 's@SELINUXSTOREPATH@%{_sharedstatedir}/selinux@' %{buildroot}%{_rpmconfigdir}/macros.d/macros.selinux-policy + +mkdir -p %{buildroot}%{_unitdir} +install -m 644 %{SOURCE36} %{buildroot}%{_unitdir} + +rm -rf selinux_config + +%post +%systemd_post selinux-check-proper-disable.service +if [ ! -s %{_sysconfdir}/selinux/config ]; then +# +# New install so we will default to targeted policy +# +echo " +# This file controls the state of SELinux on the system. +# SELINUX= can take one of these three values: +# enforcing - SELinux security policy is enforced. +# permissive - SELinux prints warnings instead of enforcing. +# disabled - No SELinux policy is loaded. +# See also: +# https://docs.fedoraproject.org/en-US/quick-docs/getting-started-with-selinux/#getting-started-with-selinux-selinux-states-and-modes +# +# NOTE: In earlier Fedora kernel builds, SELINUX=disabled would also +# fully disable SELinux during boot. If you need a system with SELinux +# fully disabled instead of SELinux running with no policy loaded, you +# need to pass selinux=0 to the kernel command line. You can use grubby +# to persistently set the bootloader to boot with selinux=0: +# +# grubby --update-kernel ALL --args selinux=0 +# +# To revert back to SELinux enabled: +# +# grubby --update-kernel ALL --remove-args selinux +# +SELINUX=enforcing +# SELINUXTYPE= can take one of these three values: +# targeted - Targeted processes are protected, +# minimum - Modification of targeted policy. Only selected processes are protected. +# mls - Multi Level Security protection. +SELINUXTYPE=targeted + +" > %{_sysconfdir}/selinux/config + + ln -sf ../selinux/config %{_sysconfdir}/sysconfig/selinux + %{_sbindir}/restorecon %{_sysconfdir}/selinux/config 2> /dev/null || : +else + . %{_sysconfdir}/selinux/config +fi +exit 0 + +%preun +%systemd_preun selinux-check-proper-disable.service + +%postun +%systemd_postun selinux-check-proper-disable.service +if [ $1 = 0 ]; then + %{_sbindir}/setenforce 0 2> /dev/null + if [ ! -s %{_sysconfdir}/selinux/config ]; then + echo "SELINUX=disabled" > %{_sysconfdir}/selinux/config + else + sed -i 's/^SELINUX=.*/SELINUX=disabled/g' %{_sysconfdir}/selinux/config + fi +fi +exit 0 + +%if %{BUILD_TARGETED} +%package targeted +Summary: SELinux targeted policy +Provides: selinux-policy-any = %{version}-%{release} +Obsoletes: selinux-policy-targeted-sources < 2 +Requires(pre): policycoreutils >= %{POLICYCOREUTILSVER} +Requires(pre): coreutils +Requires(pre): selinux-policy = %{version}-%{release} +Requires: selinux-policy = %{version}-%{release} +Conflicts: audispd-plugins <= 1.7.7-1 +Obsoletes: mod_fcgid-selinux <= %{version}-%{release} +Obsoletes: cachefilesd-selinux <= 0.10-1 +Conflicts: seedit +Conflicts: 389-ds-base < 1.2.7, 389-admin < 1.1.12 +Conflicts: container-selinux < 2:1.12.1-22 + +%description targeted +SELinux targeted policy package. + +%pretrans targeted -p +%backupConfigLua + +%pre targeted +%preInstall targeted + +%post targeted +%checkConfigConsistency targeted +%postInstall $1 targeted +exit 0 + +%posttrans targeted +%checkConfigConsistency targeted +%{_libexecdir}/selinux/varrun-convert.sh targeted +%{_sbindir}/restorecon -Ri /usr/lib/sysimage/rpm /var/lib/rpm + +%postun targeted +if [ $1 = 0 ]; then + if [ -s %{_sysconfdir}/selinux/config ]; then + source %{_sysconfdir}/selinux/config &> /dev/null || true + fi + if [ "$SELINUXTYPE" = "targeted" ]; then + %{_sbindir}/setenforce 0 2> /dev/null + if [ ! -s %{_sysconfdir}/selinux/config ]; then + echo "SELINUX=disabled" > %{_sysconfdir}/selinux/config + else + sed -i 's/^SELINUX=.*/SELINUX=disabled/g' %{_sysconfdir}/selinux/config + fi + fi +fi +exit 0 + + +%triggerin -- pcre2 +%{_sbindir}/selinuxenabled && %{_sbindir}/semodule -nB +exit 0 + +%triggerpostun -- selinux-policy-targeted < 3.12.1-74 +rm -f %{_sysconfdir}/selinux/*/modules/active/modules/sandbox.pp.disabled 2>/dev/null +exit 0 + +%triggerpostun targeted -- selinux-policy-targeted < 3.13.1-138 +CR=$'\n' +INPUT="" +for i in `find %{_sysconfdir}/selinux/targeted/modules/active/modules/ -name \*disabled`; do + module=`basename $i | sed 's/.pp.disabled//'` + if [ -d %{_sharedstatedir}/selinux/targeted/active/modules/100/$module ]; then + touch %{_sharedstatedir}/selinux/targeted/active/modules/disabled/$p + fi +done +for i in `find %{_sysconfdir}/selinux/targeted/modules/active/modules/ -name \*.pp`; do + INPUT="${INPUT}${CR}module -N -a $i" +done +for i in $(find %{_sysconfdir}/selinux/targeted/modules/active -name \*.local); do + cp $i %{_sharedstatedir}/selinux/targeted/active +done +echo "$INPUT" | %{_sbindir}/semanage import -S targeted -N +if %{_sbindir}/selinuxenabled ; then + %{_sbindir}/load_policy +fi +exit 0 + +%files targeted -f %{buildroot}%{_datadir}/selinux/targeted/nonbasemodules.lst +%config(noreplace) %{_sysconfdir}/selinux/targeted/contexts/users/unconfined_u +%config(noreplace) %{_sysconfdir}/selinux/targeted/contexts/users/sysadm_u +%fileList targeted +%verify(not md5 size mtime) %{_sharedstatedir}/selinux/targeted/active/modules/100/permissivedomains +%endif + +%if %{BUILD_MINIMUM} +%package minimum +Summary: SELinux minimum policy +Provides: selinux-policy-any = %{version}-%{release} +Requires(post): policycoreutils-python-utils >= %{POLICYCOREUTILSVER} +Requires(pre): coreutils +Requires(pre): selinux-policy = %{version}-%{release} +Requires: selinux-policy = %{version}-%{release} +Conflicts: seedit +Conflicts: container-selinux <= 1.9.0-9 + +%description minimum +SELinux minimum policy package. + +%pretrans minimum -p +%backupConfigLua + +%pre minimum +%preInstall minimum +if [ $1 -ne 1 ]; then + %{_sbindir}/semodule -s minimum --list-modules=full | awk '{ if ($4 != "disabled") print $2; }' > %{_datadir}/selinux/minimum/instmodules.lst +fi + +%post minimum +%checkConfigConsistency minimum +contribpackages=`cat %{_datadir}/selinux/minimum/modules-contrib.lst` +basepackages=`cat %{_datadir}/selinux/minimum/modules-base.lst` +if [ ! -d %{_sharedstatedir}/selinux/minimum/active/modules/disabled ]; then + mkdir %{_sharedstatedir}/selinux/minimum/active/modules/disabled +fi +if [ $1 -eq 1 ]; then +for p in $contribpackages; do + touch %{_sharedstatedir}/selinux/minimum/active/modules/disabled/$p +done +for p in $basepackages apache dbus inetd kerberos mta nis; do + rm -f %{_sharedstatedir}/selinux/minimum/active/modules/disabled/$p +done +%{_sbindir}/semanage import -S minimum -f - << __eof +login -m -s unconfined_u -r s0-s0:c0.c1023 __default__ +login -m -s unconfined_u -r s0-s0:c0.c1023 root +__eof +%{_sbindir}/restorecon -R /root /var/log /var/run 2> /dev/null +%{_sbindir}/semodule -B -s minimum +else +instpackages=`cat %{_datadir}/selinux/minimum/instmodules.lst` +for p in $contribpackages; do + touch %{_sharedstatedir}/selinux/minimum/active/modules/disabled/$p +done +for p in $instpackages apache dbus inetd kerberos mta nis; do + rm -f %{_sharedstatedir}/selinux/minimum/active/modules/disabled/$p +done +%{_sbindir}/semodule -B -s minimum +%relabel minimum +fi +exit 0 + +%posttrans minimum +%checkConfigConsistency minimum +%{_libexecdir}/selinux/varrun-convert.sh minimum +%{_sbindir}/restorecon -Ri /usr/lib/sysimage/rpm /var/lib/rpm + +%postun minimum +if [ $1 = 0 ]; then + if [ -s %{_sysconfdir}/selinux/config ]; then + source %{_sysconfdir}/selinux/config &> /dev/null || true + fi + if [ "$SELINUXTYPE" = "minimum" ]; then + %{_sbindir}/setenforce 0 2> /dev/null + if [ ! -s %{_sysconfdir}/selinux/config ]; then + echo "SELINUX=disabled" > %{_sysconfdir}/selinux/config + else + sed -i 's/^SELINUX=.*/SELINUX=disabled/g' %{_sysconfdir}/selinux/config + fi + fi +fi +exit 0 + +%triggerpostun minimum -- selinux-policy-minimum < 3.13.1-138 +if [ `ls -A %{_sharedstatedir}/selinux/minimum/active/modules/disabled/` ]; then + rm -f %{_sharedstatedir}/selinux/minimum/active/modules/disabled/* +fi +CR=$'\n' +INPUT="" +for i in `find %{_sysconfdir}/selinux/minimum/modules/active/modules/ -name \*disabled`; do + module=`basename $i | sed 's/.pp.disabled//'` + if [ -d %{_sharedstatedir}/selinux/minimum/active/modules/100/$module ]; then + touch %{_sharedstatedir}/selinux/minimum/active/modules/disabled/$p + fi +done +for i in `find %{_sysconfdir}/selinux/minimum/modules/active/modules/ -name \*.pp`; do + INPUT="${INPUT}${CR}module -N -a $i" +done +echo "$INPUT" | %{_sbindir}/semanage import -S minimum -N +if %{_sbindir}/selinuxenabled ; then + %{_sbindir}/load_policy +fi +exit 0 + +%files minimum -f %{buildroot}%{_datadir}/selinux/minimum/nonbasemodules.lst +%config(noreplace) %{_sysconfdir}/selinux/minimum/contexts/users/unconfined_u +%config(noreplace) %{_sysconfdir}/selinux/minimum/contexts/users/sysadm_u +%fileList minimum +%endif + +%if %{BUILD_MLS} +%package mls +Summary: SELinux MLS policy +Provides: selinux-policy-any = %{version}-%{release} +Obsoletes: selinux-policy-mls-sources < 2 +Requires: policycoreutils-newrole >= %{POLICYCOREUTILSVER} setransd +Requires(pre): policycoreutils >= %{POLICYCOREUTILSVER} +Requires(pre): coreutils +Requires(pre): selinux-policy = %{version}-%{release} +Requires: selinux-policy = %{version}-%{release} +Conflicts: seedit +Conflicts: container-selinux <= 1.9.0-9 + +%description mls +SELinux MLS (Multi Level Security) policy package. + +%pretrans mls -p +%backupConfigLua + +%pre mls +%preInstall mls + +%post mls +%checkConfigConsistency mls +%postInstall $1 mls +exit 0 + +%posttrans mls +%checkConfigConsistency mls +%{_libexecdir}/selinux/varrun-convert.sh mls +%{_sbindir}/restorecon -Ri /usr/lib/sysimage/rpm /var/lib/rpm + +%postun mls +if [ $1 = 0 ]; then + if [ -s %{_sysconfdir}/selinux/config ]; then + source %{_sysconfdir}/selinux/config &> /dev/null || true + fi + if [ "$SELINUXTYPE" = "mls" ]; then + %{_sbindir}/setenforce 0 2> /dev/null + if [ ! -s %{_sysconfdir}/selinux/config ]; then + echo "SELINUX=disabled" > %{_sysconfdir}/selinux/config + else + sed -i 's/^SELINUX=.*/SELINUX=disabled/g' %{_sysconfdir}/selinux/config + fi + fi +fi +exit 0 + +%triggerpostun mls -- selinux-policy-mls < 3.13.1-138 +CR=$'\n' +INPUT="" +for i in `find %{_sysconfdir}/selinux/mls/modules/active/modules/ -name \*disabled`; do + module=`basename $i | sed 's/.pp.disabled//'` + if [ -d %{_sharedstatedir}/selinux/mls/active/modules/100/$module ]; then + touch %{_sharedstatedir}/selinux/mls/active/modules/disabled/$p + fi +done +for i in `find %{_sysconfdir}/selinux/mls/modules/active/modules/ -name \*.pp`; do + INPUT="${INPUT}${CR}module -N -a $i" +done +echo "$INPUT" | %{_sbindir}/semanage import -S mls -N +if %{_sbindir}/selinuxenabled ; then + %{_sbindir}/load_policy +fi +exit 0 + + +%files mls -f %{buildroot}%{_datadir}/selinux/mls/nonbasemodules.lst +%config(noreplace) %{_sysconfdir}/selinux/mls/contexts/users/unconfined_u +%fileList mls +%endif + +%changelog +* Mon Feb 12 2024 Zdenek Pytela - 40.13-1 +- Only allow confined user domains to login locally without unconfined_login +- Add userdom_spec_domtrans_confined_admin_users interface +- Only allow admindomain to execute shell via ssh with ssh_sysadm_login +- Add userdom_spec_domtrans_admin_users interface +- Move ssh dyntrans to unconfined inside unconfined_login tunable policy +- Update ssh_role_template() for user ssh-agent type +- Allow init to inherit system DBus file descriptors +- Allow init to inherit fds from syslogd +- Allow any domain to inherit fds from rpm-ostree +- Update afterburn policy +- Allow init_t nnp domain transition to abrtd_t + +* Tue Feb 06 2024 Zdenek Pytela - 40.12-1 +- Rename all /var/lock file context entries to /run/lock +- Rename all /var/run file context entries to /run +- Invert the "/var/run = /run" equivalency + +* Mon Feb 05 2024 Zdenek Pytela - 40.11-1 +- Replace init domtrans rule for confined users to allow exec init +- Update dbus_role_template() to allow user service status +- Allow polkit status all systemd services +- Allow setroubleshootd create and use inherited io_uring +- Allow load_policy read and write generic ptys +- Allow gpg manage rpm cache +- Allow login_userdomain name_bind to howl and xmsg udp ports +- Allow rules for confined users logged in plasma +- Label /dev/iommu with iommu_device_t +- Remove duplicate file context entries in /run +- Dontaudit getty and plymouth the checkpoint_restore capability +- Allow su domains write login records +- Revert "Allow su domains write login records" +- Allow login_userdomain delete session dbusd tmp socket files +- Allow unix dgram sendto between exim processes +- Allow su domains write login records +- Allow smbd_t to watch user_home_dir_t if samba_enable_home_dirs is on + +* Wed Jan 24 2024 Zdenek Pytela - 40.10-1 +- Allow chronyd-restricted read chronyd key files +- Allow conntrackd_t to use bpf capability2 +- Allow systemd-networkd manage its runtime socket files +- Allow init_t nnp domain transition to colord_t +- Allow polkit status systemd services +- nova: Fix duplicate declarations +- Allow httpd work with PrivateTmp +- Add interfaces for watching and reading ifconfig_var_run_t +- Allow collectd read raw fixed disk device +- Allow collectd read udev pid files +- Set correct label on /etc/pki/pki-tomcat/kra +- Allow systemd domains watch system dbus pid socket files +- Allow certmonger read network sysctls +- Allow mdadm list stratisd data directories +- Allow syslog to run unconfined scripts conditionally +- Allow syslogd_t nnp_transition to syslogd_unconfined_script_t +- Allow qatlib set attributes of vfio device files + +* Tue Jan 09 2024 Zdenek Pytela - 40.9-1 +- Allow systemd-sleep set attributes of efivarfs files +- Allow samba-dcerpcd read public files +- Allow spamd_update_t the sys_ptrace capability in user namespace +- Allow bluetooth devices work with alsa +- Allow alsa get attributes filesystems with extended attributes + +* Tue Jan 02 2024 Yaakov Selkowitz - 40.8-2 +- Limit %%selinux_requires to version, not release + +* Thu Dec 21 2023 Zdenek Pytela - 40.8-1 +- Allow hypervkvp_t write access to NetworkManager_etc_rw_t +- Add interface for write-only access to NetworkManager rw conf +- Allow systemd-sleep send a message to syslog over a unix dgram socket +- Allow init create and use netlink netfilter socket +- Allow qatlib load kernel modules +- Allow qatlib run lspci +- Allow qatlib manage its private runtime socket files +- Allow qatlib read/write vfio devices +- Label /etc/redis.conf with redis_conf_t +- Remove the lockdown-class rules from the policy +- Allow init read all non-security socket files +- Replace redundant dnsmasq pattern macros +- Remove unneeded symlink perms in dnsmasq.if +- Add additions to dnsmasq interface +- Allow nvme_stas_t create and use netlink kobject uevent socket +- Allow collectd connect to statsd port +- Allow keepalived_t to use sys_ptrace of cap_userns +- Allow dovecot_auth_t connect to postgresql using UNIX socket + +* Wed Dec 13 2023 Zdenek Pytela - 40.7-1 +- Make named_zone_t and named_var_run_t a part of the mountpoint attribute +- Allow sysadm execute traceroute in sysadm_t domain using sudo +- Allow sysadm execute tcpdump in sysadm_t domain using sudo +- Allow opafm search nfs directories +- Add support for syslogd unconfined scripts +- Allow gpsd use /dev/gnss devices +- Allow gpg read rpm cache +- Allow virtqemud additional permissions +- Allow virtqemud manage its private lock files +- Allow virtqemud use the io_uring api +- Allow ddclient send e-mail notifications +- Allow postfix_master_t map postfix data files +- Allow init create and use vsock sockets +- Allow thumb_t append to init unix domain stream sockets +- Label /dev/vas with vas_device_t +- Change domain_kernel_load_modules boolean to true +- Create interface selinux_watch_config and add it to SELinux users + +* Tue Nov 28 2023 Zdenek Pytela - 40.6-1 +- Add afterburn to modules-targeted-contrib.conf +- Update cifs interfaces to include fs_search_auto_mountpoints() +- Allow sudodomain read var auth files +- Allow spamd_update_t read hardware state information +- Allow virtnetworkd domain transition on tc command execution +- Allow sendmail MTA connect to sendmail LDA +- Allow auditd read all domains process state +- Allow rsync read network sysctls +- Add dhcpcd bpf capability to run bpf programs +- Dontaudit systemd-hwdb dac_override capability +- Allow systemd-sleep create efivarfs files + +* Tue Nov 14 2023 Zdenek Pytela - 40.5-1 +- Allow map xserver_tmpfs_t files when xserver_clients_write_xshm is on +- Allow graphical applications work in Wayland +- Allow kdump work with PrivateTmp +- Allow dovecot-auth work with PrivateTmp +- Allow nfsd get attributes of all filesystems +- Allow unconfined_domain_type use io_uring cmd on domain +- ci: Only run Rawhide revdeps tests on the rawhide branch +- Label /var/run/auditd.state as auditd_var_run_t +- Allow fido-device-onboard (FDO) read the crack database +- Allow ip an explicit domain transition to other domains +- Label /usr/libexec/selinux/selinux-autorelabel with semanage_exec_t +- Allow winbind_rpcd_t processes access when samba_export_all_* is on +- Enable NetworkManager and dhclient to use initramfs-configured DHCP connection +- Allow ntp to bind and connect to ntske port. +- Allow system_mail_t manage exim spool files and dirs +- Dontaudit keepalived setattr on keepalived_unconfined_script_exec_t +- Label /run/pcsd.socket with cluster_var_run_t +- ci: Run cockpit tests in PRs + +* Thu Oct 19 2023 Zdenek Pytela - 40.4-1 +- Add map_read map_write to kernel_prog_run_bpf +- Allow systemd-fstab-generator read all symlinks +- Allow systemd-fstab-generator the dac_override capability +- Allow rpcbind read network sysctls +- Support using systemd containers +- Allow sysadm_t to connect to iscsid using a unix domain stream socket +- Add policy for coreos installer +- Add coreos_installer to modules-targeted-contrib.conf + +* Tue Oct 17 2023 Zdenek Pytela - 40.3-1 +- Add policy for nvme-stas +- Confine systemd fstab,sysv,rc-local +- Label /etc/aliases.lmdb with etc_aliases_t +- Create policy for afterburn +- Add nvme_stas to modules-targeted-contrib.conf +- Add plans/tests.fmf + +* Tue Oct 10 2023 Zdenek Pytela - 40.2-1 +- Add the virt_supplementary module to modules-targeted-contrib.conf +- Make new virt drivers permissive +- Split virt policy, introduce virt_supplementary module +- Allow apcupsd cgi scripts read /sys +- Merge pull request #1893 from WOnder93/more-early-boot-overlay-fixes +- Allow kernel_t to manage and relabel all files +- Add missing optional_policy() to files_relabel_all_files() + +* Tue Oct 03 2023 Zdenek Pytela - 40.1-1 +- Allow named and ndc use the io_uring api +- Deprecate common_anon_inode_perms usage +- Improve default file context(None) of /var/lib/authselect/backups +- Allow udev_t to search all directories with a filesystem type +- Implement proper anon_inode support +- Allow targetd write to the syslog pid sock_file +- Add ipa_pki_retrieve_key_exec() interface +- Allow kdumpctl_t to list all directories with a filesystem type +- Allow udev additional permissions +- Allow udev load kernel module +- Allow sysadm_t to mmap modules_object_t files +- Add the unconfined_read_files() and unconfined_list_dirs() interfaces +- Set default file context of HOME_DIR/tmp/.* to <> +- Allow kernel_generic_helper_t to execute mount(1) + +* Fri Sep 29 2023 Zdenek Pytela - 38.29-1 +- Allow sssd send SIGKILL to passkey_child running in ipa_otpd_t +- Allow systemd-localed create Xserver config dirs +- Allow sssd read symlinks in /etc/sssd +- Label /dev/gnss[0-9] with gnss_device_t +- Allow systemd-sleep read/write efivarfs variables +- ci: Fix version number of packit generated srpms +- Dontaudit rhsmcertd write memory device +- Allow ssh_agent_type create a sockfile in /run/user/USERID +- Set default file context of /var/lib/authselect/backups to <> +- Allow prosody read network sysctls +- Allow cupsd_t to use bpf capability + +* Fri Sep 15 2023 Zdenek Pytela - 38.28-1 +- Allow sssd domain transition on passkey_child execution conditionally +- Allow login_userdomain watch lnk_files in /usr +- Allow login_userdomain watch video4linux devices +- Change systemd-network-generator transition to include class file +- Revert "Change file transition for systemd-network-generator" +- Allow nm-dispatcher winbind plugin read/write samba var files +- Allow systemd-networkd write to cgroup files +- Allow kdump create and use its memfd: objects + +* Thu Aug 31 2023 Zdenek Pytela - 38.27-1 +- Allow fedora-third-party get generic filesystem attributes +- Allow sssd use usb devices conditionally +- Update policy for qatlib +- Allow ssh_agent_type manage generic cache home files + +* Thu Aug 24 2023 Zdenek Pytela - 38.26-1 +- Change file transition for systemd-network-generator +- Additional support for gnome-initial-setup +- Update gnome-initial-setup policy for geoclue +- Allow openconnect vpn open vhost net device +- Allow cifs.upcall to connect to SSSD also through the /var/run socket +- Grant cifs.upcall more required capabilities +- Allow xenstored map xenfs files +- Update policy for fdo +- Allow keepalived watch var_run dirs +- Allow svirt to rw /dev/udmabuf +- Allow qatlib to modify hardware state information. +- Allow key.dns_resolve connect to avahi over a unix stream socket +- Allow key.dns_resolve create and use unix datagram socket +- Use quay.io as the container image source for CI + +* Fri Aug 11 2023 Zdenek Pytela - 38.25-1 +- ci: Move srpm/rpm build to packit +- .copr: Avoid subshell and changing directory +- Allow gpsd, oddjob and oddjob_mkhomedir_t write user_tty_device_t chr_file +- Label /usr/libexec/openssh/ssh-pkcs11-helper with ssh_agent_exec_t +- Make insights_client_t an unconfined domain +- Allow insights-client manage user temporary files +- Allow insights-client create all rpm logs with a correct label +- Allow insights-client manage generic logs +- Allow cloud_init create dhclient var files and init_t manage net_conf_t +- Allow insights-client read and write cluster tmpfs files +- Allow ipsec read nsfs files +- Make tuned work with mls policy +- Remove nsplugin_role from mozilla.if +- allow mon_procd_t self:cap_userns sys_ptrace +- Allow pdns name_bind and name_connect all ports +- Set the MLS range of fsdaemon_t to s0 - mls_systemhigh +- ci: Move to actions/checkout@v3 version +- .copr: Replace chown call with standard workflow safe.directory setting +- .copr: Enable `set -u` for robustness +- .copr: Simplify root directory variable + +* Fri Aug 04 2023 Zdenek Pytela - 38.24-1 +- Allow rhsmcertd dbus chat with policykit +- Allow polkitd execute pkla-check-authorization with nnp transition +- Allow user_u and staff_u get attributes of non-security dirs +- Allow unconfined user filetrans chrome_sandbox_home_t +- Allow svnserve execute postdrop with a transition +- Do not make postfix_postdrop_t type an MTA executable file +- Allow samba-dcerpc service manage samba tmp files +- Add use_nfs_home_dirs boolean for mozilla_plugin +- Fix labeling for no-stub-resolv.conf + +* Wed Aug 02 2023 Zdenek Pytela - 38.23-1 +- Revert "Allow winbind-rpcd use its private tmp files" +- Allow upsmon execute upsmon via a helper script +- Allow openconnect vpn read/write inherited vhost net device +- Allow winbind-rpcd use its private tmp files +- Update samba-dcerpc policy for printing +- Allow gpsd,oddjob,oddjob_mkhomedir rw user domain pty +- Allow nscd watch system db dirs +- Allow qatlib to read sssd public files +- Allow fedora-third-party read /sys and proc +- Allow systemd-gpt-generator mount a tmpfs filesystem +- Allow journald write to cgroup files +- Allow rpc.mountd read network sysctls +- Allow blueman read the contents of the sysfs filesystem +- Allow logrotate_t to map generic files in /etc +- Boolean: Allow virt_qemu_ga create ssh directory + +* Tue Jul 25 2023 Zdenek Pytela - 38.22-1 +- Allow systemd-network-generator send system log messages +- Dontaudit the execute permission on sock_file globally +- Allow fsadm_t the file mounton permission +- Allow named and ndc the io_uring sqpoll permission +- Allow sssd io_uring sqpoll permission +- Fix location for /run/nsd +- Allow qemu-ga get fixed disk devices attributes +- Update bitlbee policy +- Label /usr/sbin/sos with sosreport_exec_t +- Update policy for the sblim-sfcb service +- Add the files_getattr_non_auth_dirs() interface +- Fix the CI to work with DNF5 + +* Sat Jul 22 2023 Fedora Release Engineering - 38.21-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Thu Jul 13 2023 Zdenek Pytela - 38.21-1 +- Make systemd_tmpfiles_t MLS trusted for lowering the level of files +- Revert "Allow insights client map cache_home_t" +- Allow nfsidmapd connect to systemd-machined over a unix socket +- Allow snapperd connect to kernel over a unix domain stream socket +- Allow virt_qemu_ga_t create .ssh dir with correct label +- Allow targetd read network sysctls +- Set the abrt_handle_event boolean to on +- Permit kernel_t to change the user identity in object contexts +- Allow insights client map cache_home_t +- Label /usr/sbin/mariadbd with mysqld_exec_t +- Trim changelog so that it starts at F37 time +- Define equivalency for /run/systemd/generator.early + +* Thu Jun 29 2023 Zdenek Pytela - 38.20-1 +- Allow httpd tcp connect to redis port conditionally +- Label only /usr/sbin/ripd and ripngd with zebra_exec_t +- Dontaudit aide the execmem permission +- Remove permissive from fdo +- Allow sa-update manage spamc home files +- Allow sa-update connect to systemlog services +- Label /usr/lib/systemd/system/mimedefang.service with antivirus_unit_file_t +- Allow nsd_crond_t write nsd_var_run_t & connectto nsd_t +- Allow bootupd search EFI directory + +* Tue Jun 27 2023 Zdenek Pytela - 38.19-1 +- Change init_audit_control default value to true +- Allow nfsidmapd connect to systemd-userdbd with a unix socket +- Add the qatlib module +- Add the fdo module +- Add the bootupd module +- Set default ports for keylime policy +- Create policy for qatlib +- Add policy for FIDO Device Onboard +- Add policy for bootupd +- Add the qatlib module +- Add the fdo module +- Add the bootupd module + +* Sun Jun 25 2023 Zdenek Pytela - 38.18-1 +- Add support for kafs-dns requested by keyutils +- Allow insights-client execmem +- Add support for chronyd-restricted +- Add init_explicit_domain() interface +- Allow fsadm_t to get attributes of cgroup filesystems +- Add list_dir_perms to kerberos_read_keytab +- Label /var/run/tmpfiles.d/static-nodes.conf with kmod_var_run_t +- Allow sendmail manage its runtime files +- Allow keyutils_dns_resolver_exec_t be an entrypoint +- Allow collectd_t read network state symlinks +- Revert "Allow collectd_t read proc_net link files" +- Allow nfsd_t to list exports_t dirs +- Allow cupsd dbus chat with xdm +- Allow haproxy read hardware state information +- Add the kafs module + +* Thu Jun 15 2023 Zdenek Pytela - 38.17-1 +- Label /dev/userfaultfd with userfaultfd_t +- Allow blueman send general signals to unprivileged user domains +- Allow dkim-milter domain transition to sendmail +- Label /usr/sbin/cifs.idmap with cifs_helper_exec_t +- Allow cifs-helper read sssd kerberos configuration files +- Allow rpm_t sys_admin capability +- Allow dovecot_deliver_t create/map dovecot_spool_t dir/file +- Allow collectd_t read proc_net link files +- Allow insights-client getsession process permission +- Allow insights-client work with pipe and socket tmp files +- Allow insights-client map generic log files +- Update cyrus_stream_connect() to use sockets in /run +- Allow keyutils-dns-resolver read/view kernel key ring +- Label /var/log/kdump.log with kdump_log_t + +* Fri Jun 09 2023 Zdenek Pytela - 38.16-1 +- Add support for the systemd-pstore service +- Allow kdumpctl_t to execmem +- Update sendmail policy module for opensmtpd +- Allow nagios-mail-plugin exec postfix master +- Allow subscription-manager execute ip +- Allow ssh client connect with a user dbus instance +- Add support for ksshaskpass +- Allow rhsmcertd file transition in /run also for socket files +- Allow keyutils_dns_resolver_t execute keyutils_dns_resolver_exec_t +- Allow plymouthd read/write X server miscellaneous devices +- Allow systemd-sleep read udev pid files +- Allow exim read network sysctls +- Allow sendmail request load module +- Allow named map its conf files +- Allow squid map its cache files +- Allow NetworkManager_dispatcher_dhclient_t to execute shells without a domain transition + +* Tue May 30 2023 Zdenek Pytela - 38.15-1 +- Update policy for systemd-sleep +- Remove permissive domain for rshim_t +- Remove permissive domain for mptcpd_t +- Allow systemd-bootchartd the sys_ptrace userns capability +- Allow sysadm_t read nsfs files +- Allow sysadm_t run kernel bpf programs +- Update ssh_role_template for ssh-agent +- Update ssh_role_template to allow read/write unallocated ttys +- Add the booth module to modules.conf +- Allow firewalld rw ica_tmpfs_t files + +* Fri May 26 2023 Zdenek Pytela - 38.14-1 +- Remove permissive domain for cifs_helper_t +- Update the cifs-helper policy +- Replace cifsutils_helper_domtrans() with keyutils_request_domtrans_to() +- Update pkcsslotd policy for sandboxing +- Allow abrt_t read kernel persistent storage files +- Dontaudit targetd search httpd config dirs +- Allow init_t nnp domain transition to policykit_t +- Allow rpcd_lsad setcap and use generic ptys +- Allow samba-dcerpcd connect to systemd_machined over a unix socket +- Allow wireguard to rw network sysctls +- Add policy for boothd +- Allow kernel to manage its own BPF objects +- Label /usr/lib/systemd/system/proftpd.* & vsftpd.* with ftpd_unit_file_t + +* Mon May 22 2023 Zdenek Pytela - 38.13-1 +- Add initial policy for cifs-helper +- Label key.dns_resolver with keyutils_dns_resolver_exec_t +- Allow unconfined_service_t to create .gnupg labeled as gpg_secret_t +- Allow some systemd services write to cgroup files +- Allow NetworkManager_dispatcher_dhclient_t to read the DHCP configuration files +- Allow systemd resolved to bind to arbitrary nodes +- Allow plymouthd_t bpf capability to run bpf programs +- Allow cupsd to create samba_var_t files +- Allow rhsmcert request the kernel to load a module +- Allow virsh name_connect virt_port_t +- Allow certmonger manage cluster library files +- Allow plymouthd read init process state +- Add chromium_sandbox_t setcap capability +- Allow snmpd read raw disk data +- Allow samba-rpcd work with passwords +- Allow unconfined service inherit signal state from init +- Allow cloud-init manage gpg admin home content +- Allow cluster_t dbus chat with various services +- Allow nfsidmapd work with systemd-userdbd and sssd +- Allow unconfined_domain_type use IORING_OP_URING_CMD on all device nodes +- Allow plymouthd map dri and framebuffer devices +- Allow rpmdb_migrate execute rpmdb +- Allow logrotate dbus chat with systemd-hostnamed +- Allow icecast connect to kernel using a unix stream socket +- Allow lldpad connect to systemd-userdbd over a unix socket +- Allow journalctl open user domain ptys and ttys +- Allow keepalived to manage its tmp files +- Allow ftpd read network sysctls +- Label /run/bgpd with zebra_var_run_t +- Allow gssproxy read network sysctls +- Add the cifsutils module + +* Tue Apr 25 2023 Zdenek Pytela - 38.12-1 +- Allow telnetd read network sysctls +- Allow munin system plugin read generic SSL certificates +- Allow munin system plugin create and use netlink generic socket +- Allow login_userdomain create user namespaces +- Allow request-key to send syslog messages +- Allow request-key to read/view any key +- Add fs_delete_pstore_files() interface +- Allow insights-client work with teamdctl +- Allow insights-client read unconfined service semaphores +- Allow insights-client get quotas of all filesystems +- Add fs_read_pstore_files() interface +- Allow generic kernel helper to read inherited kernel pipes + +* Fri Apr 14 2023 Zdenek Pytela - 38.11-1 +- Allow dovecot-deliver write to the main process runtime fifo files +- Allow dmidecode write to cloud-init tmp files +- Allow chronyd send a message to cloud-init over a datagram socket +- Allow cloud-init domain transition to insights-client domain +- Allow mongodb read filesystem sysctls +- Allow mongodb read network sysctls +- Allow accounts-daemon read generic systemd unit lnk files +- Allow blueman watch generic device dirs +- Allow nm-dispatcher tlp plugin create tlp dirs +- Allow systemd-coredump mounton /usr +- Allow rabbitmq to read network sysctls + +* Tue Apr 04 2023 Zdenek Pytela - 38.10-1 +- Allow certmonger dbus chat with the cron system domain +- Allow geoclue read network sysctls +- Allow geoclue watch the /etc directory +- Allow logwatch_mail_t read network sysctls +- Allow insights-client read all sysctls +- Allow passt manage qemu pid sock files + +* Fri Mar 24 2023 Zdenek Pytela - 38.9-1 +- Allow sssd read accountsd fifo files +- Add support for the passt_t domain +- Allow virtd_t and svirt_t work with passt +- Add new interfaces in the virt module +- Add passt interfaces defined conditionally +- Allow tshark the setsched capability +- Allow poweroff create connections to system dbus +- Allow wg load kernel modules, search debugfs dir +- Boolean: allow qemu-ga manage ssh home directory +- Label smtpd with sendmail_exec_t +- Label msmtp and msmtpd with sendmail_exec_t +- Allow dovecot to map files in /var/spool/dovecot + +* Fri Mar 03 2023 Zdenek Pytela - 38.8-1 +- Confine gnome-initial-setup +- Allow qemu-guest-agent create and use vsock socket +- Allow login_pgm setcap permission +- Allow chronyc read network sysctls +- Enhancement of the /usr/sbin/request-key helper policy +- Fix opencryptoki file names in /dev/shm +- Allow system_cronjob_t transition to rpm_script_t +- Revert "Allow system_cronjob_t domtrans to rpm_script_t" +- Add tunable to allow squid bind snmp port +- Allow staff_t getattr init pid chr & blk files and read krb5 +- Allow firewalld to rw z90crypt device +- Allow httpd work with tokens in /dev/shm +- Allow svirt to map svirt_image_t char files +- Allow sysadm_t run initrc_t script and sysadm_r role access +- Allow insights-client manage fsadm pid files + +* Wed Feb 08 2023 Zdenek Pytela - 38.7-1 +- Allowing snapper to create snapshots of /home/ subvolume/partition +- Add boolean qemu-ga to run unconfined script +- Label systemd-journald feature LogNamespace +- Add none file context for polyinstantiated tmp dirs +- Allow certmonger read the contents of the sysfs filesystem +- Add journalctl the sys_resource capability +- Allow nm-dispatcher plugins read generic files in /proc +- Add initial policy for the /usr/sbin/request-key helper +- Additional support for rpmdb_migrate +- Add the keyutils module + +* Mon Jan 30 2023 Zdenek Pytela - 38.6-1 +- Boolean: allow qemu-ga read ssh home directory +- Allow kernel_t to read/write all sockets +- Allow kernel_t to UNIX-stream connect to all domains +- Allow systemd-resolved send a datagram to journald +- Allow kernel_t to manage and have "execute" access to all files +- Fix the files_manage_all_files() interface +- Allow rshim bpf cap2 and read sssd public files +- Allow insights-client work with su and lpstat +- Allow insights-client tcp connect to all ports +- Allow nm-cloud-setup dispatcher plugin restart nm services +- Allow unconfined user filetransition for sudo log files +- Allow modemmanager create hardware state information files +- Allow ModemManager all permissions for netlink route socket +- Allow wg to send msg to kernel, write to syslog and dbus connections +- Allow hostname_t to read network sysctls. +- Dontaudit ftpd the execmem permission +- Allow svirt request the kernel to load a module +- Allow icecast rename its log files +- Allow upsd to send signal to itself +- Allow wireguard to create udp sockets and read net_conf +- Use '%autosetup' instead of '%setup' +- Pass -p 1 to '%autosetup' + +* Sat Jan 21 2023 Fedora Release Engineering - 38.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Fri Jan 13 2023 Zdenek Pytela - 38.5-1 +- Allow insights client work with gluster and pcp +- Add insights additional capabilities +- Add interfaces in domain, files, and unconfined modules +- Label fwupdoffline and fwupd-detect-cet with fwupd_exec_t +- Allow sudodomain use sudo.log as a logfile +- Allow pdns server map its library files and bind to unreserved ports +- Allow sysadm_t read/write ipmi devices +- Allow prosody manage its runtime socket files +- Allow kernel threads manage kernel keys +- Allow systemd-userdbd the sys_resource capability +- Allow systemd-journal list cgroup directories +- Allow apcupsd dbus chat with systemd-logind +- Allow nut_domain manage also files and sock_files in /var/run +- Allow winbind-rpcd make a TCP connection to the ldap port +- Label /usr/lib/rpm/rpmdb_migrate with rpmdb_exec_t +- Allow tlp read generic SSL certificates +- Allow systemd-resolved watch tmpfs directories +- Revert "Allow systemd-resolved watch tmpfs directories" + +* Mon Dec 19 2022 Zdenek Pytela - 38.4-1 +- Allow NetworkManager and wpa_supplicant the bpf capability +- Allow systemd-rfkill the bpf capability +- Allow winbind-rpcd manage samba_share_t files and dirs +- Label /var/lib/httpd/md(/.*)? with httpd_sys_rw_content_t +- Allow gpsd the sys_ptrace userns capability +- Introduce gpsd_tmp_t for sockfiles managed by gpsd_t +- Allow load_policy_t write to unallocated ttys +- Allow ndc read hardware state information +- Allow system mail service read inherited certmonger runtime files +- Add lpr_roles to system_r roles +- Revert "Allow insights-client run lpr and allow the proper role" +- Allow stalld to read /sys/kernel/security/lockdown file +- Allow keepalived to set resource limits +- Add policy for mptcpd +- Add policy for rshim +- Allow admin users to create user namespaces +- Allow journalctl relabel with var_log_t and syslogd_var_run_t files +- Do not run restorecon /etc/NetworkManager/dispatcher.d in targeted +- Trim changelog so that it starts at F35 time +- Add mptcpd and rshim modules + +* Wed Dec 14 2022 Zdenek Pytela - 38.3-1 +- Allow insights-client dbus chat with various services +- Allow insights-client tcp connect to various ports +- Allow insights-client run lpr and allow the proper role +- Allow insights-client work with pcp and manage user config files +- Allow redis get user names +- Allow kernel threads to use fds from all domains +- Allow systemd-modules-load load kernel modules +- Allow login_userdomain watch systemd-passwd pid dirs +- Allow insights-client dbus chat with abrt +- Grant kernel_t certain permissions in the system class +- Allow systemd-resolved watch tmpfs directories +- Allow systemd-timedated watch init runtime dir +- Make `bootc` be `install_exec_t` +- Allow systemd-coredump create user_namespace +- Allow syslog the setpcap capability +- donaudit virtlogd and dnsmasq execmem + +* Tue Dec 06 2022 Zdenek Pytela - 38.2-1 +- Don't make kernel_t an unconfined domain +- Don't allow kernel_t to execute bin_t/usr_t binaries without a transition +- Allow kernel_t to execute systemctl to do a poweroff/reboot +- Grant basic permissions to the domain created by systemd_systemctl_domain() +- Allow kernel_t to request module loading +- Allow kernel_t to do compute_create +- Allow kernel_t to manage perf events +- Grant almost all capabilities to kernel_t +- Allow kernel_t to fully manage all devices +- Revert "In domain_transition_pattern there is no permission allowing caller domain to execu_no_trans on entrypoint, this patch fixing this issue" +- Allow pulseaudio to write to session_dbusd tmp socket files +- Allow systemd and unconfined_domain_type create user_namespace +- Add the user_namespace security class +- Reuse tmpfs_t also for the ramfs filesystem +- Label udf tools with fsadm_exec_t +- Allow networkmanager_dispatcher_plugin work with nscd +- Watch_sb all file type directories. +- Allow spamc read hardware state information files +- Allow sysadm read ipmi devices +- Allow insights client communicate with cupsd, mysqld, openvswitch, redis +- Allow insights client read raw memory devices +- Allow the spamd_update_t domain get generic filesystem attributes +- Dontaudit systemd-gpt-generator the sys_admin capability +- Allow ipsec_t only read tpm devices +- Allow cups-pdf connect to the system log service +- Allow postfix/smtpd read kerberos key table +- Allow syslogd read network sysctls +- Allow cdcc mmap dcc-client-map files +- Add watch and watch_sb dosfs interface + +* Mon Nov 21 2022 Zdenek Pytela - 38.1-1 +- Revert "Allow sysadm_t read raw memory devices" +- Allow systemd-socket-proxyd get attributes of cgroup filesystems +- Allow rpc.gssd read network sysctls +- Allow winbind-rpcd get attributes of device and pty filesystems +- Allow insights-client domain transition on semanage execution +- Allow insights-client create gluster log dir with a transition +- Allow insights-client manage generic locks +- Allow insights-client unix_read all domain semaphores +- Add domain_unix_read_all_semaphores() interface +- Allow winbind-rpcd use the terminal multiplexor +- Allow mrtg send mails +- Allow systemd-hostnamed dbus chat with init scripts +- Allow sssd dbus chat with system cronjobs +- Add interface to watch all filesystems +- Add watch_sb interfaces +- Add watch interfaces +- Allow dhcpd bpf capability to run bpf programs +- Allow netutils and traceroute bpf capability to run bpf programs +- Allow pkcs_slotd_t bpf capability to run bpf programs +- Allow xdm bpf capability to run bpf programs +- Allow pcscd bpf capability to run bpf programs +- Allow lldpad bpf capability to run bpf programs +- Allow keepalived bpf capability to run bpf programs +- Allow ipsec bpf capability to run bpf programs +- Allow fprintd bpf capability to run bpf programs +- Allow systemd-socket-proxyd get filesystems attributes +- Allow dirsrv_snmp_t to manage dirsrv_config_t & dirsrv_var_run_t files + +* Mon Oct 31 2022 Zdenek Pytela - 37.14-1 +- Allow rotatelogs read httpd_log_t symlinks +- Add winbind-rpcd to samba_enable_home_dirs boolean +- Allow system cronjobs dbus chat with setroubleshoot +- Allow setroubleshootd read device sysctls +- Allow virt_domain read device sysctls +- Allow rhcd compute selinux access vector +- Allow insights-client manage samba var dirs +- Label ports 10161-10162 tcp/udp with snmp +- Allow aide to connect to systemd_machined with a unix socket. +- Allow samba-dcerpcd use NSCD services over a unix stream socket +- Allow vlock search the contents of the /dev/pts directory +- Allow insights-client send null signal to rpm and system cronjob +- Label port 15354/tcp and 15354/udp with opendnssec +- Allow ftpd map ftpd_var_run files +- Allow targetclid to manage tmp files +- Allow insights-client connect to postgresql with a unix socket +- Allow insights-client domtrans on unix_chkpwd execution +- Add file context entries for insights-client and rhc +- Allow pulseaudio create gnome content (~/.config) +- Allow login_userdomain dbus chat with rhsmcertd +- Allow sbd the sys_ptrace capability +- Allow ptp4l_t name_bind ptp_event_port_t + +* Mon Oct 03 2022 Zdenek Pytela - 37.13-1 +- Remove the ipa module +- Allow sss daemons read/write unnamed pipes of cloud-init +- Allow postfix_mailqueue create and use unix dgram sockets +- Allow xdm watch user home directories +- Allow nm-dispatcher ddclient plugin load a kernel module +- Stop ignoring standalone interface files +- Drop cockpit module +- Allow init map its private tmp files +- Allow xenstored change its hard resource limits +- Allow system_mail-t read network sysctls +- Add bgpd sys_chroot capability + +* Thu Sep 22 2022 Zdenek Pytela - 37.12-1 +- nut-upsd: kernel_read_system_state, fs_getattr_cgroup +- Add numad the ipc_owner capability +- Allow gst-plugin-scanner read virtual memory sysctls +- Allow init read/write inherited user fifo files +- Update dnssec-trigger policy: setsched, module_request +- added policy for systemd-socket-proxyd +- Add the new 'cmd' permission to the 'io_uring' class +- Allow winbind-rpcd read and write its key ring +- Label /run/NetworkManager/no-stub-resolv.conf net_conf_t +- blueman-mechanism can read ~/.local/lib/python*/site-packages directory +- pidof executed by abrt can readlink /proc/*/exe +- Fix typo in comment +- Do not run restorecon /etc/NetworkManager/dispatcher.d in mls and minimum + +* Wed Sep 14 2022 Zdenek Pytela - 37.11-1 +- Allow tor get filesystem attributes +- Allow utempter append to login_userdomain stream +- Allow login_userdomain accept a stream connection to XDM +- Allow login_userdomain write to boltd named pipes +- Allow staff_u and user_u users write to bolt pipe +- Allow login_userdomain watch various directories +- Update rhcd policy for executing additional commands 5 +- Update rhcd policy for executing additional commands 4 +- Allow rhcd create rpm hawkey logs with correct label +- Allow systemd-gpt-auto-generator to check for empty dirs +- Update rhcd policy for executing additional commands 3 +- Allow journalctl read rhcd fifo files +- Update insights-client policy for additional commands execution 5 +- Allow init remount all file_type filesystems +- Confine insights-client systemd unit +- Update insights-client policy for additional commands execution 4 +- Allow pcp pmcd search tracefs and acct_data dirs +- Allow httpd read network sysctls +- Dontaudit domain map permission on directories +- Revert "Allow X userdomains to mmap user_fonts_cache_t dirs" +- Revert "Allow xdm_t domain to mmap /var/lib/gdm/.cache/fontconfig BZ(1725509)" +- Update insights-client policy for additional commands execution 3 +- Allow systemd permissions needed for sandboxed services +- Add rhcd module +- Make dependency on rpm-plugin-selinux unordered + +* Fri Sep 02 2022 Zdenek Pytela - 37.10-1 +- Allow ipsec_t read/write tpm devices +- Allow rhcd execute all executables +- Update rhcd policy for executing additional commands 2 +- Update insights-client policy for additional commands execution 2 +- Allow sysadm_t read raw memory devices +- Allow chronyd send and receive chronyd/ntp client packets +- Allow ssh client read kerberos homedir config files +- Label /var/log/rhc-worker-playbook with rhcd_var_log_t +- Update insights-client policy (auditctl, gpg, journal) +- Allow system_cronjob_t domtrans to rpm_script_t +- Allow smbd_t process noatsecure permission for winbind_rpcd_t +- Update tor_bind_all_unreserved_ports interface +- Allow chronyd bind UDP sockets to ptp_event ports. +- Allow unconfined and sysadm users transition for /root/.gnupg +- Add gpg_filetrans_admin_home_content() interface +- Update rhcd policy for executing additional commands +- Update insights-client policy for additional commands execution +- Add userdom_view_all_users_keys() interface +- Allow gpg read and write generic pty type +- Allow chronyc read and write generic pty type +- Allow system_dbusd ioctl kernel with a unix stream sockets +- Allow samba-bgqd to read a printer list +- Allow stalld get and set scheduling policy of all domains. +- Allow unconfined_t transition to targetclid_home_t + +* Thu Aug 11 2022 Zdenek Pytela - 37.9-1 +- Allow nm-dispatcher custom plugin dbus chat with nm +- Allow nm-dispatcher sendmail plugin get status of systemd services +- Allow xdm read the kernel key ring +- Allow login_userdomain check status of mount units +- Allow postfix/smtp and postfix/virtual read kerberos key table +- Allow services execute systemd-notify +- Do not allow login_userdomain use sd_notify() +- Allow launch-xenstored read filesystem sysctls +- Allow systemd-modules-load write to /dev/kmsg and send a message to syslogd +- Allow openvswitch fsetid capability +- Allow openvswitch use its private tmpfs files and dirs +- Allow openvswitch search tracefs dirs +- Allow pmdalinux read files on an nfsd filesystem +- Allow winbind-rpcd write to winbind pid files +- Allow networkmanager to signal unconfined process +- Allow systemd_hostnamed label /run/systemd/* as hostnamed_etc_t +- Allow samba-bgqd get a printer list +- fix(init.fc): Fix section description +- Allow fedora-third-party read the passwords file +- Remove permissive domain for rhcd_t +- Allow pmie read network state information and network sysctls +- Revert "Dontaudit domain the fowner capability" +- Allow sysadm_t to run bpftool on the userdomain attribute +- Add the userdom_prog_run_bpf_userdomain() interface +- Allow insights-client rpm named file transitions +- Add /var/tmp/insights-archive to insights_client_filetrans_named_content + +* Mon Aug 01 2022 Zdenek Pytela - 37.8-1 +- Allow sa-update to get init status and start systemd files +- Use insights_client_filetrans_named_content +- Make default file context match with named transitions +- Allow nm-dispatcher tlp plugin send system log messages +- Allow nm-dispatcher tlp plugin create and use unix_dgram_socket +- Add permissions to manage lnk_files into gnome_manage_home_config +- Allow rhsmcertd to read insights config files +- Label /etc/insights-client/machine-id +- fix(devices.fc): Replace single quote in comment to solve parsing issues +- Make NetworkManager_dispatcher_custom_t an unconfined domain + +* Sat Jul 23 2022 Fedora Release Engineering - 37.7-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Thu Jul 14 2022 Zdenek Pytela - 37.7-1 +- Update winbind_rpcd_t +- Allow some domains use sd_notify() +- Revert "Allow rabbitmq to use systemd notify" +- fix(sedoctool.py): Fix syntax warning: "is not" with a literal +- Allow nm-dispatcher console plugin manage etc files +- Allow networkmanager_dispatcher_plugin list NetworkManager_etc_t dirs +- Allow nm-dispatcher console plugin setfscreate +- Support using systemd-update-helper in rpm scriptlets +- Allow nm-dispatcher winbind plugin read samba config files +- Allow domain use userfaultfd over all domains +- Allow cups-lpd read network sysctls + +* Wed Jun 29 2022 Zdenek Pytela - 37.6-1 +- Allow stalld set scheduling policy of kernel threads +- Allow targetclid read /var/target files +- Allow targetclid read generic SSL certificates (fixed) +- Allow firewalld read the contents of the sysfs filesystem +- Fix file context pattern for /var/target +- Use insights_client_etc_t in insights_search_config() +- Allow nm-dispatcher ddclient plugin handle systemd services +- Allow nm-dispatcher winbind plugin run smbcontrol +- Allow nm-dispatcher custom plugin create and use unix dgram socket +- Update samba-dcerpcd policy for kerberos usage 2 +- Allow keepalived read the contents of the sysfs filesystem +- Allow amandad read network sysctls +- Allow cups-lpd read network sysctls +- Allow kpropd read network sysctls +- Update insights_client_filetrans_named_content() +- Allow rabbitmq to use systemd notify +- Label /var/target with targetd_var_t +- Allow targetclid read generic SSL certificates +- Update rhcd policy +- Allow rhcd search insights configuration directories +- Add the kernel_read_proc_files() interface +- Require policycoreutils >= 3.4-1 +- Add a script for enclosing interfaces in ifndef statements +- Disable rpm verification on interface_info + +* Wed Jun 22 2022 Zdenek Pytela - 37.5-1 +- Allow transition to insights_client named content +- Add the insights_client_filetrans_named_content() interface +- Update policy for insights-client to run additional commands 3 +- Allow dhclient manage pid files used by chronyd +- Allow stalld get scheduling policy of kernel threads +- Allow samba-dcerpcd work with sssd +- Allow dlm_controld send a null signal to a cluster daemon +- Allow ksmctl create hardware state information files +- Allow winbind_rpcd_t connect to self over a unix_stream_socket +- Update samba-dcerpcd policy for kerberos usage +- Allow insights-client execute its private memfd: objects +- Update policy for insights-client to run additional commands 2 +- Use insights_client_tmp_t instead of insights_client_var_tmp_t +- Change space indentation to tab in insights-client +- Use socket permissions sets in insights-client +- Update policy for insights-client to run additional commands +- Change rpm_setattr_db_files() to use a pattern +- Allow init_t to rw insights_client unnamed pipe +- Add rpm setattr db files macro +- Fix insights client +- Update kernel_read_unix_sysctls() for sysctl_net_unix_t handling +- Allow rabbitmq to access its private memfd: objects +- Update policy for samba-dcerpcd +- Allow stalld setsched and sys_nice + +* Tue Jun 07 2022 Zdenek Pytela - 37.4-1 +- Allow auditd_t noatsecure for a transition to audisp_remote_t +- Allow ctdbd nlmsg_read on netlink_tcpdiag_socket +- Allow pcp_domain execute its private memfd: objects +- Add support for samba-dcerpcd +- Add policy for wireguard +- Confine targetcli +- Allow systemd work with install_t unix stream sockets +- Allow iscsid the sys_ptrace userns capability +- Allow xdm connect to unconfined_service_t over a unix stream socket + +* Fri May 27 2022 Zdenek Pytela - 37.3-1 +- Allow nm-dispatcher custom plugin execute systemctl +- Allow nm-dispatcher custom plugin dbus chat with nm +- Allow nm-dispatcher custom plugin create and use udp socket +- Allow nm-dispatcher custom plugin create and use netlink_route_socket +- Use create_netlink_socket_perms in netlink_route_socket class permissions +- Add support for nm-dispatcher sendmail scripts +- Allow sslh net_admin capability +- Allow insights-client manage gpg admin home content +- Add the gpg_manage_admin_home_content() interface +- Allow rhsmcertd create generic log files +- Update logging_create_generic_logs() to use create_files_pattern() +- Label /var/cache/insights with insights_client_cache_t +- Allow insights-client search gconf homedir +- Allow insights-client create and use unix_dgram_socket +- Allow blueman execute its private memfd: files +- Move the chown call into make-srpm.sh + +* Fri May 06 2022 Zdenek Pytela - 37.2-1 +- Use the networkmanager_dispatcher_plugin attribute in allow rules +- Make a custom nm-dispatcher plugin transition +- Label port 4784/tcp and 4784/udp with bfd_multi +- Allow systemd watch and watch_reads user ptys +- Allow sblim-gatherd the kill capability +- Label more vdsm utils with virtd_exec_t +- Add ksm service to ksmtuned +- Add rhcd policy +- Dontaudit guest attempts to dbus chat with systemd domains +- Dontaudit guest attempts to dbus chat with system bus types +- Use a named transition in systemd_hwdb_manage_config() +- Add default fc specifications for patterns in /opt +- Add the files_create_etc_files() interface +- Allow nm-dispatcher console plugin create and write files in /etc +- Allow nm-dispatcher console plugin transition to the setfiles domain +- Allow more nm-dispatcher plugins append to init stream sockets +- Allow nm-dispatcher tlp plugin dbus chat with nm +- Reorder networkmanager_dispatcher_plugin_template() calls +- Allow svirt connectto virtlogd +- Allow blueman map its private memfd: files +- Allow sysadm user execute init scripts with a transition +- Allow sblim-sfcbd connect to sblim-reposd stream +- Allow keepalived_unconfined_script_t dbus chat with init +- Run restorecon with "-i" not to report errors + +* Mon May 02 2022 Zdenek Pytela - 37.1-1 +- Fix users for SELinux userspace 3.4 +- Label /var/run/machine-id as machineid_t +- Add stalld to modules.conf +- Use files_tmpfs_file() for rhsmcertd_tmpfs_t +- Allow blueman read/write its private memfd: objects +- Allow insights-client read rhnsd config files +- Allow insights-client create_socket_perms for tcp/udp sockets diff --git a/selinux-policy/setrans-minimum.conf b/selinux-policy/setrans-minimum.conf new file mode 100644 index 000000000..09a6ce3dd --- /dev/null +++ b/selinux-policy/setrans-minimum.conf @@ -0,0 +1,19 @@ +# +# Multi-Category Security translation table for SELinux +# +# Uncomment the following to disable translation libary +# disable=1 +# +# Objects can be categorized with 0-1023 categories defined by the admin. +# Objects can be in more than one category at a time. +# Categories are stored in the system as c0-c1023. Users can use this +# table to translate the categories into a more meaningful output. +# Examples: +# s0:c0=CompanyConfidential +# s0:c1=PatientRecord +# s0:c2=Unclassified +# s0:c3=TopSecret +# s0:c1,c3=CompanyConfidentialRedHat +s0=SystemLow +s0-s0:c0.c1023=SystemLow-SystemHigh +s0:c0.c1023=SystemHigh diff --git a/selinux-policy/setrans-mls.conf b/selinux-policy/setrans-mls.conf new file mode 100644 index 000000000..eb181d2f3 --- /dev/null +++ b/selinux-policy/setrans-mls.conf @@ -0,0 +1,52 @@ +# +# Multi-Level Security translation table for SELinux +# +# Uncomment the following to disable translation libary +# disable=1 +# +# Objects can be labeled with one of 16 levels and be categorized with 0-1023 +# categories defined by the admin. +# Objects can be in more than one category at a time. +# Users can modify this table to translate the MLS labels for different purpose. +# +# Assumptions: using below MLS labels. +# SystemLow +# SystemHigh +# Unclassified +# Secret with compartments A and B. +# +# SystemLow and SystemHigh +s0=SystemLow +s15:c0.c1023=SystemHigh +s0-s15:c0.c1023=SystemLow-SystemHigh + +# Unclassified level +s1=Unclassified + +# Secret level with compartments +s2=Secret +s2:c0=A +s2:c1=B + +# ranges for Unclassified +s0-s1=SystemLow-Unclassified +s1-s2=Unclassified-Secret +s1-s15:c0.c1023=Unclassified-SystemHigh + +# ranges for Secret with compartments +s0-s2=SystemLow-Secret +s0-s2:c0=SystemLow-Secret:A +s0-s2:c1=SystemLow-Secret:B +s0-s2:c0,c1=SystemLow-Secret:AB +s1-s2:c0=Unclassified-Secret:A +s1-s2:c1=Unclassified-Secret:B +s1-s2:c0,c1=Unclassified-Secret:AB +s2-s2:c0=Secret-Secret:A +s2-s2:c1=Secret-Secret:B +s2-s2:c0,c1=Secret-Secret:AB +s2-s15:c0.c1023=Secret-SystemHigh +s2:c0-s2:c0,c1=Secret:A-Secret:AB +s2:c0-s15:c0.c1023=Secret:A-SystemHigh +s2:c1-s2:c0,c1=Secret:B-Secret:AB +s2:c1-s15:c0.c1023=Secret:B-SystemHigh +s2:c0,c1-s15:c0.c1023=Secret:AB-SystemHigh diff --git a/selinux-policy/setrans-targeted.conf b/selinux-policy/setrans-targeted.conf new file mode 100644 index 000000000..09a6ce3dd --- /dev/null +++ b/selinux-policy/setrans-targeted.conf @@ -0,0 +1,19 @@ +# +# Multi-Category Security translation table for SELinux +# +# Uncomment the following to disable translation libary +# disable=1 +# +# Objects can be categorized with 0-1023 categories defined by the admin. +# Objects can be in more than one category at a time. +# Categories are stored in the system as c0-c1023. Users can use this +# table to translate the categories into a more meaningful output. +# Examples: +# s0:c0=CompanyConfidential +# s0:c1=PatientRecord +# s0:c2=Unclassified +# s0:c3=TopSecret +# s0:c1,c3=CompanyConfidentialRedHat +s0=SystemLow +s0-s0:c0.c1023=SystemLow-SystemHigh +s0:c0.c1023=SystemHigh diff --git a/selinux-policy/users-minimum b/selinux-policy/users-minimum new file mode 100644 index 000000000..66af86081 --- /dev/null +++ b/selinux-policy/users-minimum @@ -0,0 +1,39 @@ +################################## +# +# Core User configuration. +# + +# +# gen_user(username, prefix, role_set, mls_defaultlevel, mls_range, [mcs_catetories]) +# +# Note: Identities without a prefix wil not be listed +# in the users_extra file used by genhomedircon. + +# +# system_u is the user identity for system processes and objects. +# There should be no corresponding Unix user identity for system, +# and a user process should never be assigned the system user +# identity. +# +gen_user(system_u,, system_r unconfined_r, s0, s0 - mls_systemhigh, mcs_allcats) + +# +# user_u is a generic user identity for Linux users who have no +# SELinux user identity defined. The modified daemons will use +# this user identity in the security context if there is no matching +# SELinux user identity for a Linux user. If you do not want to +# permit any access to such users, then remove this entry. +# +gen_user(user_u, user, user_r, s0, s0) +gen_user(staff_u, user, staff_r system_r sysadm_r unconfined_r, s0, s0 - mls_systemhigh, mcs_allcats) +gen_user(sysadm_u, user, sysadm_r, s0, s0 - mls_systemhigh, mcs_allcats) + +# +# The following users correspond to Unix identities. +# These identities are typically assigned as the user attribute +# when login starts the user shell. Users with access to the sysadm_r +# role should use the staff_r role instead of the user_r role when +# not in the sysadm_r. +# +gen_user(root, user, unconfined_r sysadm_r staff_r system_r, s0, s0 - mls_systemhigh, mcs_allcats) +gen_user(unconfined_u, user, unconfined_r system_r, s0, s0 - mls_systemhigh, mcs_allcats) diff --git a/selinux-policy/users-mls b/selinux-policy/users-mls new file mode 100644 index 000000000..8fad9ea21 --- /dev/null +++ b/selinux-policy/users-mls @@ -0,0 +1,40 @@ +################################## +# +# Core User configuration. +# + +# +# gen_user(username, prefix, role_set, mls_defaultlevel, mls_range, [mcs_catetories]) +# +# Note: Identities without a prefix wil not be listed +# in the users_extra file used by genhomedircon. + +# +# system_u is the user identity for system processes and objects. +# There should be no corresponding Unix user identity for system, +# and a user process should never be assigned the system user +# identity. +# +gen_user(system_u,, system_r, s0, s0 - mls_systemhigh, mcs_allcats) + +# +# user_u is a generic user identity for Linux users who have no +# SELinux user identity defined. The modified daemons will use +# this user identity in the security context if there is no matching +# SELinux user identity for a Linux user. If you do not want to +# permit any access to such users, then remove this entry. +# +gen_user(user_u, user, user_r, s0, s0) +gen_user(staff_u, user, staff_r system_r sysadm_r secadm_r auditadm_r, s0, s0 - mls_systemhigh, mcs_allcats) +gen_user(sysadm_u, user, sysadm_r, s0, s0 - mls_systemhigh, mcs_allcats) + +# +# The following users correspond to Unix identities. +# These identities are typically assigned as the user attribute +# when login starts the user shell. Users with access to the sysadm_r +# role should use the staff_r role instead of the user_r role when +# not in the sysadm_r. +# +gen_user(root, user, sysadm_r staff_r secadm_r auditadm_r system_r, s0, s0 - mls_systemhigh, mcs_allcats) +gen_user(guest_u, user, guest_r, s0, s0) +gen_user(xguest_u, user, xguest_r, s0, s0) diff --git a/selinux-policy/users-targeted b/selinux-policy/users-targeted new file mode 100644 index 000000000..a875306f1 --- /dev/null +++ b/selinux-policy/users-targeted @@ -0,0 +1,41 @@ +################################## +# +# Core User configuration. +# + +# +# gen_user(username, prefix, role_set, mls_defaultlevel, mls_range, [mcs_catetories]) +# +# Note: Identities without a prefix wil not be listed +# in the users_extra file used by genhomedircon. + +# +# system_u is the user identity for system processes and objects. +# There should be no corresponding Unix user identity for system, +# and a user process should never be assigned the system user +# identity. +# +gen_user(system_u,, system_r unconfined_r, s0, s0 - mls_systemhigh, mcs_allcats) + +# +# user_u is a generic user identity for Linux users who have no +# SELinux user identity defined. The modified daemons will use +# this user identity in the security context if there is no matching +# SELinux user identity for a Linux user. If you do not want to +# permit any access to such users, then remove this entry. +# +gen_user(user_u, user, user_r, s0, s0) +gen_user(staff_u, user, staff_r system_r sysadm_r unconfined_r, s0, s0 - mls_systemhigh, mcs_allcats) +gen_user(sysadm_u, user, sysadm_r, s0, s0 - mls_systemhigh, mcs_allcats) + +# +# The following users correspond to Unix identities. +# These identities are typically assigned as the user attribute +# when login starts the user shell. Users with access to the sysadm_r +# role should use the staff_r role instead of the user_r role when +# not in the sysadm_r. +# +gen_user(root, user, unconfined_r sysadm_r staff_r system_r, s0, s0 - mls_systemhigh, mcs_allcats) +gen_user(unconfined_u, user, unconfined_r system_r, s0, s0 - mls_systemhigh, mcs_allcats) +gen_user(guest_u, user, guest_r, s0, s0) +gen_user(xguest_u, user, xguest_r, s0, s0) diff --git a/selinux-policy/varrun-convert.sh b/selinux-policy/varrun-convert.sh new file mode 100755 index 000000000..5dbd0d601 --- /dev/null +++ b/selinux-policy/varrun-convert.sh @@ -0,0 +1,80 @@ +#!/bin/bash +### varrun-convert.sh +### convert legacy filecontext entries containing /var/run to /run +### and load an extra selinux module with the new content +### the script takes a policy name as an argument + +# Set DEBUG=yes before running the script to get more verbose output +if [ "${DEBUG}" = "yes" ]; then + set -x +fi + +# Look for working files and log in OUTPUTDIR +OUTPUTDIR="/run/selinux-policy" +LOG="$OUTPUTDIR/log" +mkdir -p ${OUTPUTDIR} + +if [ -z ${1} ]; then + [ "${DEBUG}" = "yes" ] && echo "Error: Policy name required as an argument (e.g. targeted)" >> $LOG + exit +fi + +FILE_CONTEXTS="/etc/selinux/${1}/contexts/files/file_contexts" +if [ ! -f ${FILE_CONTEXTS} ]; then + [ "${DEBUG}" = "yes" ] && echo "Error: File context database file does not exist" >> $LOG + exit +fi + +SEMODULEOPT="-s ${1}" +[ "${DEBUG}" = "yes" ] && SEMODULEOPT="-v ${SEMODULEOPT}" + +if ! grep -q ^/var/run ${FILE_CONTEXTS}; then + [ "${DEBUG}" = "yes" ] && echo "Info: No entries containing /var/run" >> $LOG + exit +fi + +EXTRA_VARRUN_ENTRIES="$OUTPUTDIR/extra_varrun_entries.txt" +EXTRA_VARRUN_CIL="/$OUTPUTDIR/extra_varrun.cil" + +# Print only /var/run entries +grep ^/var/run ${FILE_CONTEXTS} > ${EXTRA_VARRUN_ENTRIES} + +# Unify whitespace separators +sed -i 's/[ \t]\+/ /g' ${EXTRA_VARRUN_ENTRIES} + +# Change /var/run to /run +sed -i 's|^/var/run|/run|' ${EXTRA_VARRUN_ENTRIES} + +# Exception handling: packages with already duplicate entries +sed -i '/^\/run\/snapd/d' ${EXTRA_VARRUN_ENTRIES} +sed -i '/^\/run\/vfrnav/d' ${EXTRA_VARRUN_ENTRIES} +sed -i '/^\/run\/waydroid/d' ${EXTRA_VARRUN_ENTRIES} + +# Change format to cil +sed -i 's/^\([^ ]\+\) \([^-]\)/\1 any \2/' ${EXTRA_VARRUN_ENTRIES} +sed -i 's/^\([^ ]\+\) -- /\1 file /' ${EXTRA_VARRUN_ENTRIES} +sed -i 's/^\([^ ]\+\) -b /\1 block /' ${EXTRA_VARRUN_ENTRIES} +sed -i 's/^\([^ ]\+\) -c /\1 char /' ${EXTRA_VARRUN_ENTRIES} +sed -i 's/^\([^ ]\+\) -d /\1 dir /' ${EXTRA_VARRUN_ENTRIES} +sed -i 's/^\([^ ]\+\) -l /\1 symlink /' ${EXTRA_VARRUN_ENTRIES} +sed -i 's/^\([^ ]\+\) -p /\1 pipe /' ${EXTRA_VARRUN_ENTRIES} +sed -i 's/^\([^ ]\+\) -s /\1 socket /' ${EXTRA_VARRUN_ENTRIES} +sed -i 's/^\([^ ]\+\) /(filecon "\1" /' ${EXTRA_VARRUN_ENTRIES} +sed -i 's/system_u:object_r:\([^:]*\):\(.*\)$/(system_u object_r \1 ((\2) (\2))))/' ${EXTRA_VARRUN_ENTRIES} + +# Handle entries with <> which do not match previous regexps +sed -i s'/ <>$/ ())/' ${EXTRA_VARRUN_ENTRIES} + +# Wrap each line with an optional block +i=1 +while read line +do + echo "(optional extra_var_run_${i}" + echo " $line" + echo ")" + ((i++)) +done < ${EXTRA_VARRUN_ENTRIES} > ${EXTRA_VARRUN_CIL} + +# Load module +/usr/sbin/semodule ${SEMODULEOPT} -i ${EXTRA_VARRUN_CIL} + diff --git a/tela-icons/Fluent-yellow.tar.gz b/tela-icons/Fluent-yellow.tar.gz new file mode 100644 index 000000000..6647a650a Binary files /dev/null and b/tela-icons/Fluent-yellow.tar.gz differ diff --git a/tela-icons/fluent-icon.spec b/tela-icons/fluent-icon.spec new file mode 100644 index 000000000..e337381e4 --- /dev/null +++ b/tela-icons/fluent-icon.spec @@ -0,0 +1,30 @@ +Name: fluent-icons-oreon +Version: 1 +Release: 3%{?dist} +Summary: Gnome Shell + +License: GPLv2+ +URL: https://boostyconnect.com/oreon +Source0: Fluent-yellow.tar.gz + +BuildArch: noarch + +BuildRequires: gettext +BuildRequires: sassc +Requires: dconf-editor +Requires: dconf + +%description +Themes + + +%prep +%autosetup -n Fluent-yellow -p 1 + +%install +mkdir -p %{buildroot}/usr/share/icons/ +cp -r %{_builddir}/Fluent-yellow/ %{buildroot}/usr/share/icons/Fluent-yellow + +%files +/usr/share/icons/Fluent-yellow + diff --git a/vkd3d/vkd3d-1.9.tar.xz b/vkd3d/vkd3d-1.9.tar.xz new file mode 100644 index 000000000..110f6ff3b Binary files /dev/null and b/vkd3d/vkd3d-1.9.tar.xz differ diff --git a/vkd3d/vkd3d.spec b/vkd3d/vkd3d.spec new file mode 100644 index 000000000..8889580aa --- /dev/null +++ b/vkd3d/vkd3d.spec @@ -0,0 +1,244 @@ +Name: vkd3d +Version: 1.9 +Release: 2%{?dist} +Summary: D3D12 to Vulkan translation library + +License: LGPLv2+ +URL: https://source.winehq.org/git/vkd3d.git +Source0: https://dl.winehq.org/vkd3d/source/%{name}-%{version}.tar.xz + +BuildRequires: make +BuildRequires: bison +BuildRequires: flex +BuildRequires: gcc +BuildRequires: libxcb-devel +BuildRequires: spirv-headers-devel +BuildRequires: spirv-tools-devel +BuildRequires: vulkan-loader-devel +BuildRequires: xcb-util-devel +BuildRequires: xcb-util-keysyms-devel +BuildRequires: xcb-util-wm-devel + +BuildRequires: mingw32-filesystem >= 95 +BuildRequires: mingw32-gcc +BuildRequires: mingw32-spirv-headers +BuildRequires: mingw32-spirv-tools +BuildRequires: mingw32-vulkan-headers +BuildRequires: mingw32-vulkan-loader + +BuildRequires: mingw64-filesystem >= 95 +BuildRequires: mingw64-gcc +BuildRequires: mingw64-spirv-headers +BuildRequires: mingw64-spirv-tools +BuildRequires: mingw64-vulkan-headers +BuildRequires: mingw64-vulkan-loader + +# Wine does not build on aarch64 due to clang requires +# vulkan is not available in RHEL 7+ for aarch64 either +%if 0%{?rhel} >= 7 +ExclusiveArch: %{ix86} x86_64 %{arm} +%else +ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 +%endif + +%description +The vkd3d project includes libraries, shaders, utilities, and demos for +translating D3D12 to Vulkan. + + +%package -n libvkd3d +Summary: D3D12 to Vulkan translation library + + +%description -n libvkd3d +libvkd3d is the main component of the vkd3d project. It's a 3D graphics +library built on top of Vulkan with an API very similar to Direct3D 12. + + +%package -n libvkd3d-devel +Summary: Development files for vkd3d +Requires: libvkd3d%{?_isa} = %{version}-%{release} + + +%description -n libvkd3d-devel +Development files for vkd3d + + +%package -n vkd3d-compiler +Summary: Compiler tool for vkd3d + + +%description -n vkd3d-compiler +Compiler tool for vkd3d + + +%package -n libvkd3d-shader +Summary: Shader library for vkd3d + + +%description -n libvkd3d-shader +Shader library for vkd3d + + +%package -n libvkd3d-shader-devel +Summary: Development files for libvkd3d-shader +Requires: libvkd3d-devel%{?_isa} = %{version}-%{release} +Requires: libvkd3d-shader%{?_isa} = %{version}-%{release} + + +%description -n libvkd3d-shader-devel +Development files for libvkd3d-shader + + +%package -n libvkd3d-utils +Summary: Utility library for vkd3d + + +%description -n libvkd3d-utils +libvkd3d-utils contains simple implementations of various functions which +might be useful for source ports of Direct3D 12 applications. + + +%package -n libvkd3d-utils-devel +Summary: Development files for libvkd3d-utils +Requires: libvkd3d-devel%{?_isa} = %{version}-%{release} +Requires: libvkd3d-utils%{?_isa} = %{version}-%{release} + + +%description -n libvkd3d-utils-devel +Development files for libvkd3d-utils + + +%package -n mingw32-%{name} +Summary: %{summary} +BuildArch: noarch + + +%description -n mingw32-%{name} +%{summary}. + + +%package -n mingw64-%{name} +Summary: %{summary} +BuildArch: noarch + + +%description -n mingw64-%{name} +%{summary}. + + +%{?mingw_debug_package} + + +%prep +%autosetup +mkdir ../mingw-build +cp -rp . ../mingw-build + + +%build +%configure +%make_build + +pushd ../mingw-build +export SONAME_LIBVULKAN=lvulkan-1 +%mingw_configure +%mingw_make %{?_smp_mflags} +popd + + +%install +%make_install +pushd ../mingw-build +%mingw_make_install +%mingw_debug_install_post +popd + +#Remove libtool files and static libraries +find %{buildroot} -regextype egrep -regex '.*\.a$|.*\.la$' ! -iname '*.dll.a' -delete + + +%files -n libvkd3d +%doc AUTHORS INSTALL README +%license COPYING LICENSE +%{_libdir}/libvkd3d.so.1 +%{_libdir}/libvkd3d.so.1.* + + +%files -n libvkd3d-devel +%dir %{_includedir}/vkd3d +%{_includedir}/vkd3d/vkd3d.h +%{_includedir}/vkd3d/vkd3d_d3d12.h +%{_includedir}/vkd3d/vkd3d_d3d12sdklayers.h +%{_includedir}/vkd3d/vkd3d_d3d9types.h +%{_includedir}/vkd3d/vkd3d_d3dcommon.h +%{_includedir}/vkd3d/vkd3d_d3dcompiler.h +%{_includedir}/vkd3d/vkd3d_d3dx9shader.h +%{_includedir}/vkd3d/vkd3d_dxgibase.h +%{_includedir}/vkd3d/vkd3d_dxgiformat.h +%{_includedir}/vkd3d/vkd3d_types.h +%{_includedir}/vkd3d/vkd3d_windows.h +%{_libdir}/libvkd3d.so +%{_libdir}/pkgconfig/libvkd3d.pc + + +%files -n vkd3d-compiler +%{_bindir}/vkd3d-compiler + + +%files -n libvkd3d-shader +%license COPYING LICENSE +%{_libdir}/libvkd3d-shader.so.1 +%{_libdir}/libvkd3d-shader.so.1.* + + +%files -n libvkd3d-shader-devel +%{_includedir}/vkd3d/vkd3d_shader.h +%{_libdir}/libvkd3d-shader.so +%{_libdir}/pkgconfig/libvkd3d-shader.pc + + +%files -n libvkd3d-utils +%{_libdir}/libvkd3d-utils.so.1 +%{_libdir}/libvkd3d-utils.so.1.* + + +%files -n libvkd3d-utils-devel +%{_includedir}/vkd3d/vkd3d_utils.h +%{_libdir}/libvkd3d-utils.so +%{_libdir}/pkgconfig/libvkd3d-utils.pc + + +%files -n mingw32-%{name} +%license COPYING LICENSE +%{mingw32_bindir}/libvkd3d-1.dll +%{mingw32_bindir}/libvkd3d-shader-1.dll +%{mingw32_bindir}/libvkd3d-utils-1.dll +%{mingw32_includedir}/%{name}/ +%{mingw32_bindir}/vkd3d-compiler.exe +%{mingw32_libdir}/pkgconfig/libvkd3d.pc +%{mingw32_libdir}/pkgconfig/libvkd3d-shader.pc +%{mingw32_libdir}/pkgconfig/libvkd3d-utils.pc +%{mingw32_libdir}/libvkd3d.dll.a +%{mingw32_libdir}/libvkd3d-shader.dll.a +%{mingw32_libdir}/libvkd3d-utils.dll.a + + +%files -n mingw64-%{name} +%license COPYING LICENSE +%{mingw64_bindir}/libvkd3d-1.dll +%{mingw64_bindir}/libvkd3d-shader-1.dll +%{mingw64_bindir}/libvkd3d-utils-1.dll +%{mingw64_bindir}/vkd3d-compiler.exe +%{mingw64_includedir}/%{name}/ +%{mingw64_libdir}/pkgconfig/libvkd3d.pc +%{mingw64_libdir}/pkgconfig/libvkd3d-shader.pc +%{mingw64_libdir}/pkgconfig/libvkd3d-utils.pc +%{mingw64_libdir}/libvkd3d.dll.a +%{mingw64_libdir}/libvkd3d-shader.dll.a +%{mingw64_libdir}/libvkd3d-utils.dll.a + + +%changelog +* Fri May 17 2024 Brandon Lester - 1.9-2 +- Rebuilt for Oreon diff --git a/wine/wine-32.conf b/wine/wine-32.conf new file mode 100644 index 000000000..d9d71cd8a --- /dev/null +++ b/wine/wine-32.conf @@ -0,0 +1 @@ +/usr/lib/wine/ diff --git a/wine/wine-64.conf b/wine/wine-64.conf new file mode 100644 index 000000000..268f698c2 --- /dev/null +++ b/wine/wine-64.conf @@ -0,0 +1 @@ +/usr/lib64/wine/ diff --git a/wine/wine-7.22-autoconf-2.72.patch b/wine/wine-7.22-autoconf-2.72.patch new file mode 100644 index 000000000..781bb9af8 --- /dev/null +++ b/wine/wine-7.22-autoconf-2.72.patch @@ -0,0 +1,25 @@ +--- wine-7.20.old/aclocal.m4 2022-11-17 17:19:01.772386752 +0100 ++++ wine-7.20/aclocal.m4 2022-11-17 17:24:03.721683055 +0100 +@@ -279,15 +279,17 @@ + dnl + dnl Usage: WINE_CHECK_DEFINE(name),[action-if-yes,[action-if-no]]) + dnl + AC_DEFUN([WINE_CHECK_DEFINE], + [AS_VAR_PUSHDEF([ac_var],[ac_cv_cpp_def_$1])dnl +-AC_CACHE_CHECK([whether we need to define $1],ac_var, +- AC_EGREP_CPP(yes,[#ifndef $1 +-yes +-#endif], +- [AS_VAR_SET(ac_var,yes)],[AS_VAR_SET(ac_var,no)])) ++AC_CACHE_CHECK([whether we need to define $1], ac_var, ++ [AC_PREPROC_IFELSE([[ ++#ifndef $1 ++#error not defined ++#endif ++]], ++ [AS_VAR_SET(ac_var,no)],[AS_VAR_SET(ac_var,yes)])]) + AS_VAR_IF([ac_var],[yes], + [CFLAGS="$CFLAGS -D$1" + LINTFLAGS="$LINTFLAGS -D$1"])dnl + AS_VAR_POPDEF([ac_var])]) + diff --git a/wine/wine-9.1.tar.xz b/wine/wine-9.1.tar.xz new file mode 100644 index 000000000..cc697cd67 Binary files /dev/null and b/wine/wine-9.1.tar.xz differ diff --git a/wine/wine-README-Fedora b/wine/wine-README-Fedora new file mode 100644 index 000000000..3765ea070 --- /dev/null +++ b/wine/wine-README-Fedora @@ -0,0 +1,44 @@ +Wine directory structure used in Fedora Linux: +============================================== + +${HOME}/.wine/drive_c is the root directory (aka C: drive) wine looks for +by default. It is created with (empty) C:\windows and C:\windows\system +directories, needed to operate Wine without an existing Windows +installation, if it does not already exist. + +If you want to use Wine with an existing Windows installation that is +mounted, for example, in /mnt/windows-c, change the symlink +${HOME}/.wine/dosdevices/c: to point to /mnt/windows-c instead of the +defaults set by installation. + +If you do this, you can safely remove ${HOME}/.wine/drive_c. +(Alternatively, just mount your Windows partition to ${HOME}/.wine/drive_c.) + +Wine bugs: +========== +If you find a bug, please take the time to move your ${HOME}/.wine directory +someplace and try with a fresh version (like mv ${HOME}/.wine{,-save}). If the +bug is still there look through https://bugzilla.redhat.com and see if the bug +has already been reported. In case it was not please report it. + +CJK support: +============ +Fedora carries a modified wine.inf file with support for cjk complying to the +fedora default fonts (see +http://tagoh.fedorapeople.org/fonts/fedora-current-defaultfonts.html) + +wine does _not_ pull in the cjk font packages automatically. The following +font packages may need to be installed depending on your locale: + +zh_CN: +wqy-microhei + +jp: +vlgothic-fonts +vlgothic-p-fonts +ipa-mincho-fonts +ipa-pmincho-fonts + +ko: +nhn-nanum-gothic-fonts +nhn-nanum-myeongjo-fonts.noarch diff --git a/wine/wine-README-tahoma b/wine/wine-README-tahoma new file mode 100644 index 000000000..da228152c --- /dev/null +++ b/wine/wine-README-tahoma @@ -0,0 +1,19 @@ += wine-tahoma-fonts = +Wine provides the wine tahoma font family. In fedora embedded bitmaps are +turned off per default (/etc/fonts/conf.d/20-wine-tahoma-nobitmaps.conf) as +this will provide smoother letters for most users. + +If you do not like the wine tahoma font experience but want to keep it +installed you can turn it of by adding the following to ~/.fonts.conf or by +adding a file containing the following to ~/.fonts.conf.d/: + + + + + + + +*/wine-tahoma-fonts/* + + + diff --git a/wine/wine-cjk.patch b/wine/wine-cjk.patch new file mode 100644 index 000000000..ed7af8fd9 --- /dev/null +++ b/wine/wine-cjk.patch @@ -0,0 +1,22 @@ +Index: wine-1.7.22/loader/wine.inf.in +=================================================================== +--- wine-1.7.22.orig/loader/wine.inf.in ++++ wine-1.7.22/loader/wine.inf.in +@@ -568,6 +568,17 @@ HKLM,%FontSubStr%,"Times New Roman CE,23 + HKLM,%FontSubStr%,"Times New Roman CYR,204",,"Times New Roman,204" + HKLM,%FontSubStr%,"Times New Roman Greek,161",,"Times New Roman,161" + HKLM,%FontSubStr%,"Times New Roman TUR,162",,"Times New Roman,162" ++HKCU,Software\Wine\Fonts\Replacements,"SimSun",,"WenQuanYi Zen Hei Sharp" ++HKCU,Software\Wine\Fonts\Replacements,"PMingLiU",,"WenQuanYi Zen Hei Sharp" ++HKCU,Software\Wine\Fonts\Replacements,"MS Gothic",,"VL Gothic" ++HKCU,Software\Wine\Fonts\Replacements,"MS PGothic",,"VL PGothic" ++HKCU,Software\Wine\Fonts\Replacements,"MS UI Gothic",,"VL Gothic" ++HKCU,Software\Wine\Fonts\Replacements,"MS Mincho",,"IPAMincho" ++HKCU,Software\Wine\Fonts\Replacements,"MS PMincho",,"IPAPMincho" ++HKCU,Software\Wine\Fonts\Replacements,"Batang",,"NanumMyeongjo" ++HKCU,Software\Wine\Fonts\Replacements,"Dotum",,"NanumGothic" ++HKCU,Software\Wine\Fonts\Replacements,"Gulim",,"NanumGothic" ++HKCU,Software\Wine\Fonts\Replacements,"Arial Unicode MS",,"Droid Sans Fallback" + HKLM,System\CurrentControlSet\Hardware Profiles\Current\Software\Fonts,"LogPixels",0x10003,0x00000060 + + [MCI] diff --git a/wine/wine-mime-msi.desktop b/wine/wine-mime-msi.desktop new file mode 100644 index 000000000..bbe985389 --- /dev/null +++ b/wine/wine-mime-msi.desktop @@ -0,0 +1,9 @@ +[Desktop Entry] +Type=Application +Name=Windows Installer File +Name[ar]=مثبت حزم واين +Exec=wine %f +MimeType=application/x-ole-storage;text/mspg-legacyinfo; +Hidden=true +StartupNotify=true +StartupWMClass=msiexec.exe diff --git a/wine/wine-notepad.desktop b/wine/wine-notepad.desktop new file mode 100644 index 000000000..62d11e230 --- /dev/null +++ b/wine/wine-notepad.desktop @@ -0,0 +1,12 @@ +[Desktop Entry] +Name=Notepad +Comment=Text Editor +Name[ar]=مفكرة +Comment[ar]=محرر النّصوص مفكرة واين +Exec=notepad +Icon=notepad +Terminal=false +Type=Application +StartupNotify=true +StartupWMClass=notepad.exe +Categories=X-Wine; diff --git a/wine/wine-oleview.desktop b/wine/wine-oleview.desktop new file mode 100644 index 000000000..6bb3aa77d --- /dev/null +++ b/wine/wine-oleview.desktop @@ -0,0 +1,12 @@ +[Desktop Entry] +Name=Wine OLE View +Comment=Windows OLE View +Name[ar]=عارض العناصر +Comment[ar]=لعرض العناصر البيئية في واين +Exec=wine oleview.exe +Icon=wine +Terminal=false +Type=Application +StartupNotify=true +StartupWMClass=oleview.exe +Categories=X-Wine; diff --git a/wine/wine-regedit.desktop b/wine/wine-regedit.desktop new file mode 100644 index 000000000..b6e4a6766 --- /dev/null +++ b/wine/wine-regedit.desktop @@ -0,0 +1,12 @@ +[Desktop Entry] +Name=Regedit +Comment=Wine registry editor +Name[ar]=محرر السّجل +Comment[ar]=محرر لسجلات واين +Exec=regedit +Icon=regedit +Terminal=false +Type=Application +StartupNotify=true +StartupWMClass=regedit.exe +Categories=X-Wine; diff --git a/wine/wine-staging-9.0.patch b/wine/wine-staging-9.0.patch new file mode 100644 index 000000000..daad50e47 --- /dev/null +++ b/wine/wine-staging-9.0.patch @@ -0,0 +1,115 @@ +--- patches/eventfd_synchronization/0003-ntdll-Create-eventfd-based-objects-for-semaphores.patch.orig 2024-01-16 15:47:35.000000000 -0600 ++++ patches/eventfd_synchronization/0003-ntdll-Create-eventfd-based-objects-for-semaphores.patch 2024-01-17 20:36:36.796186786 -0600 +@@ -197,7 +197,7 @@ + + } + + } + + +-+ if (!InterlockedCompareExchange( (int *)&esync_list[entry][idx].type, type, 0 )) +++ if (!InterlockedCompareExchange( (LONG *)&esync_list[entry][idx].type, type, 0 )) + + { + + esync_list[entry][idx].fd = fd; + + esync_list[entry][idx].shm = shm; +--- patches/eventfd_synchronization/0005-ntdll-Implement-NtClose.patch.orig 2024-01-16 15:47:35.000000000 -0600 ++++ patches/eventfd_synchronization/0005-ntdll-Implement-NtClose.patch 2024-01-17 20:22:59.170405980 -0600 +@@ -25,7 +25,7 @@ + + + + if (entry < ESYNC_LIST_ENTRIES && esync_list[entry]) + + { +-+ if (InterlockedExchange((int *)&esync_list[entry][idx].type, 0)) +++ if (InterlockedExchange((LONG *)&esync_list[entry][idx].type, 0)) + + { + + close( esync_list[entry][idx].fd ); + + return STATUS_SUCCESS; +--- patches/eventfd_synchronization/0004-ntdll-Implement-NtReleaseSemaphore.patch.orig 2024-01-16 15:47:35.000000000 -0600 ++++ patches/eventfd_synchronization/0004-ntdll-Implement-NtReleaseSemaphore.patch 2024-01-17 20:25:51.399420034 -0600 +@@ -60,7 +60,7 @@ + + + + if (count + current > semaphore->max) + + return STATUS_SEMAPHORE_LIMIT_EXCEEDED; +-+ } while (InterlockedCompareExchange( &semaphore->count, count + current, current ) != current); +++ } while (InterlockedCompareExchange( (LONG *) &semaphore->count, count + current, current ) != current); + + + + if (prev) *prev = current; + + +--- patches/eventfd_synchronization/0050-ntdll-server-Try-to-avoid-poll-for-signaled-events.patch.orig 2024-01-16 15:47:35.000000000 -0600 ++++ patches/eventfd_synchronization/0050-ntdll-server-Try-to-avoid-poll-for-signaled-events.patch 2024-01-17 20:29:39.020112232 -0600 +@@ -90,7 +90,7 @@ + + if (obj->type == ESYNC_MANUAL_EVENT) + + { + + /* Acquire the spinlock. */ +-+ while (InterlockedCompareExchange( &event->locked, 1, 0 )) +++ while (InterlockedCompareExchange( (LONG *) &event->locked, 1, 0 )) + + small_pause(); + + } + + +@@ -103,7 +103,7 @@ + + * eventfd is unsignaled (i.e. reset shm, set shm, set fd, reset fd), we + + * *must* signal the fd now, or any waiting threads will never wake up. */ + + +-+ if (!InterlockedExchange( &event->signaled, 1 ) || obj->type == ESYNC_AUTO_EVENT) +++ if (!InterlockedExchange( (LONG *) &event->signaled, 1 ) || obj->type == ESYNC_AUTO_EVENT) + + { + + if (write( obj->fd, &value, sizeof(value) ) == -1) + + ERR("write: %s\n", strerror(errno)); +@@ -137,7 +137,7 @@ + + if (obj->type == ESYNC_MANUAL_EVENT) + + { + + /* Acquire the spinlock. */ +-+ while (InterlockedCompareExchange( &event->locked, 1, 0 )) +++ while (InterlockedCompareExchange( (LONG *) &event->locked, 1, 0 )) + + small_pause(); + + } + + +@@ -147,7 +147,7 @@ + + * For auto-reset events, we have no guarantee that the previous "signaled" + + * state is actually correct. We need to leave both states unsignaled after + + * leaving this function, so we always have to read(). */ +-+ if (InterlockedExchange( &event->signaled, 0 ) || obj->type == ESYNC_AUTO_EVENT) +++ if (InterlockedExchange( (LONG *) &event->signaled, 0 ) || obj->type == ESYNC_AUTO_EVENT) + + { + + if (read( obj->fd, &value, sizeof(value) ) == -1 && errno != EWOULDBLOCK && errno != EAGAIN) + + { +--- patches/eventfd_synchronization/0006-ntdll-Implement-NtWaitForMultipleObjects.patch.orig 2024-01-16 15:47:35.000000000 -0600 ++++ patches/eventfd_synchronization/0006-ntdll-Implement-NtWaitForMultipleObjects.patch 2024-01-17 20:31:23.217332813 -0600 +@@ -82,7 +82,7 @@ + + * fact that we were able to grab it at all means the count is nonzero, + + * and if someone else grabbed it then the count must have been >= 2, + + * etc. */ +-+ InterlockedExchangeAdd( &semaphore->count, -1 ); +++ InterlockedExchangeAdd( (LONG *) &semaphore->count, -1 ); + + } + +} + + +--- patches/eventfd_synchronization/0007-ntdll-server-Implement-NtCreateEvent.patch.orig 2024-01-16 15:47:35.000000000 -0600 ++++ patches/eventfd_synchronization/0007-ntdll-server-Implement-NtCreateEvent.patch 2024-01-17 20:31:54.500700144 -0600 +@@ -49,7 +49,7 @@ + + @@ -339,6 +358,14 @@ static void update_grabbed_object( struct esync *obj ) + * etc. */ +- InterlockedExchangeAdd( &semaphore->count, -1 ); ++ InterlockedExchangeAdd( (LONG *) &semaphore->count, -1 ); + } + + else if (obj->type == ESYNC_AUTO_EVENT) + + { +--- patches/eventfd_synchronization/0049-ntdll-Try-to-avoid-poll-for-uncontended-objects.patch.orig 2024-01-16 15:47:35.000000000 -0600 ++++ patches/eventfd_synchronization/0049-ntdll-Try-to-avoid-poll-for-uncontended-objects.patch 2024-01-17 21:07:47.674962176 -0600 +@@ -68,7 +68,7 @@ + + if ((size = read( obj->fd, &value, sizeof(value) )) == sizeof(value)) + + { + + TRACE("Woken up by handle %p [%d].\n", handles[i], i); +-+ InterlockedDecrement( &semaphore->count ); +++ InterlockedDecrement( (LONG *) &semaphore->count ); + + return i; + + } + + } +--- patches/gdi32-rotation/0002-gdi32-fix-for-rotated-ellipse.patch.orig 2024-01-16 15:47:35.000000000 -0600 ++++ patches/gdi32-rotation/0002-gdi32-fix-for-rotated-ellipse.patch 2024-01-18 08:19:37.882485865 -0600 +@@ -74,7 +74,7 @@ + + } + + + + if (pdev->brush.style != BS_NULL && +-+ !(interior = ULongToHandle(NtGdiPolyPolyDraw( ULongToHandle(ALTERNATE), points, (const UINT *)&count, 1, NtGdiPolyPolygonRgn )))) +++ !(interior = ULongToHandle(NtGdiPolyPolyDraw( ULongToHandle(ALTERNATE), points, (const ULONG *)&count, 1, NtGdiPolyPolygonRgn )))) + + { + + free( points ); + + if (outline) NtGdiDeleteObjectApp( outline ); diff --git a/wine/wine-staging-9.1.tar.gz b/wine/wine-staging-9.1.tar.gz new file mode 100644 index 000000000..51ad73c34 Binary files /dev/null and b/wine/wine-staging-9.1.tar.gz differ diff --git a/wine/wine-tahoma.conf b/wine/wine-tahoma.conf new file mode 100644 index 000000000..d8af4392b --- /dev/null +++ b/wine/wine-tahoma.conf @@ -0,0 +1,11 @@ + + + + + + + + Tahoma + false + + diff --git a/wine/wine-uninstaller.desktop b/wine/wine-uninstaller.desktop new file mode 100644 index 000000000..47653edff --- /dev/null +++ b/wine/wine-uninstaller.desktop @@ -0,0 +1,12 @@ +[Desktop Entry] +Name=Wine Software Uninstaller +Comment=Interface to uninstall software +Name[ar]=مزيل التطبيقات من واين +Comment[ar]=واجهة إزالة التّطبيقات من واين +Exec=wine uninstaller.exe +Icon=msiexec +Terminal=false +Type=Application +StartupNotify=true +StartupWMClass=uninstaller.exe +Categories=X-Wine; diff --git a/wine/wine-wineboot.desktop b/wine/wine-wineboot.desktop new file mode 100644 index 000000000..9796c1385 --- /dev/null +++ b/wine/wine-wineboot.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Name=Wine Boot +Comment=Simulate restart +Name[ar]=إقلاع واين +Comment[ar]=محاكاة إعادة التشغيل لواين +Exec=wineboot +Icon=wine +Terminal=false +Type=Application +Categories=X-Wine; diff --git a/wine/wine-winecfg.desktop b/wine/wine-winecfg.desktop new file mode 100644 index 000000000..78546d34d --- /dev/null +++ b/wine/wine-winecfg.desktop @@ -0,0 +1,12 @@ +[Desktop Entry] +Name=Wine Configuration +Comment=Interface to set wine parameters +Name[ar]=إعدادات واين +Comment[ar]=لوحة تحكم بمنظومة واين +Exec=winecfg +Icon=winecfg +Terminal=false +Type=Application +StartupNotify=true +StartupWMClass=winecfg.exe +Categories=X-Wine; diff --git a/wine/wine-winefile.desktop b/wine/wine-winefile.desktop new file mode 100644 index 000000000..d87955bcc --- /dev/null +++ b/wine/wine-winefile.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Name=Wine File +Comment=Wine File Browser +Name[ar]=مدير ملفات واين +Comment[ar]=إدارة الملفات بطريقة واين +Exec=winefile +Icon=winefile +Terminal=false +Type=Application +Categories=X-Wine; diff --git a/wine/wine-winemine.desktop b/wine/wine-winemine.desktop new file mode 100644 index 000000000..1bead9b3a --- /dev/null +++ b/wine/wine-winemine.desktop @@ -0,0 +1,12 @@ +[Desktop Entry] +Name=WineMine +Comment=Wine Minesweeper +Name[ar]=كانسة ألغام واين +Comment[ar]=لعبة كانسة ألغام واين +Exec=winemine +Icon=winemine +Terminal=false +Type=Application +StartupNotify=true +StartupWMClass=winemine.exe +Categories=Game;LogicGame; diff --git a/wine/wine-winhelp.desktop b/wine/wine-winhelp.desktop new file mode 100644 index 000000000..5280b2088 --- /dev/null +++ b/wine/wine-winhelp.desktop @@ -0,0 +1,12 @@ +[Desktop Entry] +Name=Wine Help +Comment=Windows Help Browser +Name[ar]=أداة المساعدة في واين +Comment[ar]=استعراض ملفات المساعدة بتنسيقات وندوز +Exec=wine winhlp32.exe +Icon=winhelp +Terminal=false +Type=Application +StartupNotify=true +StartupWMClass=winhlp32.exe +Categories=X-Wine; diff --git a/wine/wine-wordpad.desktop b/wine/wine-wordpad.desktop new file mode 100644 index 000000000..044a027ef --- /dev/null +++ b/wine/wine-wordpad.desktop @@ -0,0 +1,12 @@ +[Desktop Entry] +Name=Wine Wordpad +Comment=Text Editor +Name[ar]=دفتر واين +Comment[ar]=محرر النّصوص دفتر واين +Exec=wine wordpad.exe +Icon=wordpad +Terminal=false +Type=Application +StartupNotify=true +StartupWMClass=wordpad.exe +Categories=X-Wine; diff --git a/wine/wine.appdata.xml b/wine/wine.appdata.xml new file mode 100644 index 000000000..15c33b649 --- /dev/null +++ b/wine/wine.appdata.xml @@ -0,0 +1,25 @@ + + + wine.desktop + CC0-1.0 + LGPLv2+ + Wine + A compatibility layer for Windows applications + +

+ Wine (originally an acronym for "Wine Is Not an Emulator") is a compatibility + layer capable of running Windows applications on several POSIX-compliant operating + systems, such as Linux, macOS, & BSD. Instead of simulating internal Windows + logic like a virtual machine or emulator, Wine translates Windows API calls into + POSIX calls on-the-fly, eliminating the performance and memory penalties of other + methods and allowing you to cleanly integrate Windows applications into your desktop. +

+
+ https://www.winehq.org/ + https://bugs.winehq.org/ + https://wiki.winehq.org/FAQ + https://wiki.winehq.org/ + https://www.winehq.org/donate + https://wiki.winehq.org/Translating +
+ diff --git a/wine/wine.directory b/wine/wine.directory new file mode 100644 index 000000000..9fdb800f9 --- /dev/null +++ b/wine/wine.directory @@ -0,0 +1,5 @@ +[Desktop Entry] +Encoding=UTF-8 +Type=Directory +Name=Wine +Icon=wine diff --git a/wine/wine.init b/wine/wine.init new file mode 100644 index 000000000..990bb8342 --- /dev/null +++ b/wine/wine.init @@ -0,0 +1,89 @@ +#!/bin/sh +# +# wine Allow users to run Windows(tm) applications by just clicking on them +# (or typing ./file.exe) +# +# chkconfig: 35 98 10 +# description: Allow users to run Windows(tm) applications by just clicking \ +# on them (or typing ./file.exe) +### BEGIN INIT INFO +# Provides: wine-binfmt +# Required-Start: +# Required-Stop: +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Add and remove wine binary handler +# Description: Allow users to run Windows(tm) applications by just clicking +# on them (or typing ./file.exe) +### END INIT INFO + + +. /etc/rc.d/init.d/functions +RETVAL=0 + +start() { +# fix bug on changing runlevels #213230 + if [ -e /proc/sys/fs/binfmt_misc/windows ]; then + echo -n $"Binary handler for Windows applications already registered" + else + echo -n $"Registering binary handler for Windows applications: " + /sbin/modprobe binfmt_misc &>/dev/null + echo ':windows:M::MZ::/usr/bin/wine:' >/proc/sys/fs/binfmt_misc/register || : + echo ':windowsPE:M::PE::/usr/bin/wine:' >/proc/sys/fs/binfmt_misc/register || : + RETVAL=$? + [ $RETVAL -eq 0 ] && success || failure + fi + echo +} + +stop() { + echo -n $"Unregistering binary handler for Windows applications: " + echo "-1" >/proc/sys/fs/binfmt_misc/windows || : + echo "-1" >/proc/sys/fs/binfmt_misc/windowsPE || : + RETVAL=$? + [ $RETVAL -eq 0 ] && success || failure + echo +} + +wine_status() { + if [ -e /proc/sys/fs/binfmt_misc/windows ]; then + echo $"Wine binary format handlers are registered." + return 0 + else + echo $"Wine binary format handlers are not registered." + return 3 + fi +} + +case "$1" in + start) + start + ;; + stop) + stop + ;; + status) + wine_status + RETVAL=$? + ;; + restart) + stop + start + ;; + reload) + stop + start + ;; + condrestart|try-restart) + + if [ -e /proc/sys/fs/binfmt_misc/windows ]; then + stop + start + fi + ;; + *) + echo $"Usage: $prog {start|stop|status|restart|reload|try-restart}" + exit 1 +esac +exit $RETVAL + diff --git a/wine/wine.menu b/wine/wine.menu new file mode 100644 index 000000000..5fdb60fc4 --- /dev/null +++ b/wine/wine.menu @@ -0,0 +1,13 @@ + + + Applications + + wine-wine + Wine.directory + + X-Wine + + + diff --git a/wine/wine.spec b/wine/wine.spec new file mode 100644 index 000000000..4b726b08f --- /dev/null +++ b/wine/wine.spec @@ -0,0 +1,3051 @@ +# Compiling the preloader fails with hardening enabled +%undefine _hardened_build + +%global no64bit 0 +%global winegecko 2.47.4 +%global winemono 8.1.0 +#global _default_patch_fuzz 2 +%ifarch %{ix86} +%global winepedir i386-windows +%global winesodir i386-unix +%endif +%ifarch x86_64 +%global winepedir x86_64-windows +%global winesodir x86_64-unix +%endif +%ifarch %{arm} +%global winepedir arm-windows +%global winesodir arm-unix +%endif +%ifarch aarch64 +%global winepedir aarch64-windows +%global winesodir aarch64-unix +%global __brp_llvm_compile_lto_elf %nil +%global __brp_strip_lto %nil +%global __brp_strip_static_archive %nil +%endif + +# build with wine-staging patches, see: https://github.com/wine-staging/wine-staging +%if 0%{?fedora} || 0%{?rhel} +%global wine_staging 1 +%endif +# 0%%{?fedora} + +# binfmt macros for RHEL +%if 0%{?rhel} == 7 +%global _binfmtdir /usr/lib/binfmt.d +%global binfmt_apply() \ +/usr/lib/systemd/systemd-binfmt %{?*} >/dev/null 2>&1 || : \ +%{nil} +%endif + +Name: wine +Version: 9.1 +Release: 1%{?dist} +Summary: A compatibility layer for windows applications + +License: LGPL-2.1-or-later +URL: https://www.winehq.org/ +Source0: https://dl.winehq.org/wine/source/9.x/wine-%{version}.tar.xz + +Source1: wine.systemd +Source2: wine-README-Fedora +Source3: wine.init +Source4: wine-32.conf +Source5: wine-64.conf + +# desktop files +Source100: wine-notepad.desktop +Source101: wine-regedit.desktop +Source102: wine-uninstaller.desktop +Source103: wine-winecfg.desktop +Source104: wine-winefile.desktop +Source105: wine-winemine.desktop +Source106: wine-winhelp.desktop +Source107: wine-wineboot.desktop +Source108: wine-wordpad.desktop +Source109: wine-oleview.desktop + +# AppData files +Source150: wine.appdata.xml + +# wine bugs + +# desktop dir +Source200: wine.menu +Source201: wine.directory + +# mime types +Source300: wine-mime-msi.desktop + + +# smooth tahoma (#693180) +# disable embedded bitmaps +Source501: wine-tahoma.conf +# and provide a readme +Source502: wine-README-tahoma + +# Autoconf 2.72 support - https://bugzilla.redhat.com/show_bug.cgi?id=2143724 +Patch100: wine-7.22-autoconf-2.72.patch + +Patch511: wine-cjk.patch + +Patch900: wine-staging-9.0.patch + +%if 0%{?wine_staging} +# wine-staging patches +# pulseaudio-patch is covered by that patch-set, too. +Source900: https://github.com/wine-staging/wine-staging/archive/v%{version}.tar.gz#/wine-staging-%{version}.tar.gz +%endif + +%if !%{?no64bit} +%if 0%{?fedora} > 36 +ExclusiveArch: %{ix86} x86_64 aarch64 +%else +# Fedora 36 Clang doesn't build PE binaries on ARM at the moment +ExclusiveArch: %{ix86} x86_64 +%endif +%else +ExclusiveArch: %{ix86} +%endif + +BuildRequires: bison +BuildRequires: flex +%ifarch %{arm} aarch64 +BuildRequires: clang +BuildRequires: lld +%else +BuildRequires: gcc +%endif +BuildRequires: autoconf +BuildRequires: make +BuildRequires: desktop-file-utils +BuildRequires: alsa-lib-devel +BuildRequires: audiofile-devel +BuildRequires: freeglut-devel +BuildRequires: libieee1284-devel + +BuildRequires: librsvg2 +BuildRequires: librsvg2-devel +BuildRequires: libstdc++-devel +BuildRequires: pkgconfig(libusb-1.0) +%if 0%{?fedora} +BuildRequires: ocl-icd-devel +BuildRequires: opencl-headers +%endif +BuildRequires: openldap-devel +BuildRequires: perl-generators +BuildRequires: unixODBC-devel +BuildRequires: sane-backends-devel +BuildRequires: systemd-devel +BuildRequires: fontforge freetype-devel +BuildRequires: libgphoto2-devel +BuildRequires: libpcap-devel +# modular x +BuildRequires: libX11-devel +BuildRequires: mesa-libGL-devel mesa-libGLU-devel mesa-libOSMesa-devel +BuildRequires: libXxf86dga-devel libXxf86vm-devel +BuildRequires: libXrandr-devel libXrender-devel +BuildRequires: libXext-devel +BuildRequires: libXinerama-devel +BuildRequires: libXcomposite-devel +BuildRequires: fontconfig-devel +BuildRequires: giflib-devel +BuildRequires: cups-devel +BuildRequires: libXmu-devel +BuildRequires: libXi-devel +BuildRequires: libXcursor-devel +BuildRequires: dbus-devel +BuildRequires: gnutls-devel +BuildRequires: pulseaudio-libs-devel +BuildRequires: gsm-devel +BuildRequires: libv4l-devel +BuildRequires: fontpackages-devel +BuildRequires: gettext-devel +BuildRequires: chrpath +BuildRequires: gstreamer1-devel +BuildRequires: gstreamer1-plugins-base-devel +%if 0%{?fedora} > 24 +BuildRequires: mpg123-devel +%endif +BuildRequires: SDL2-devel +BuildRequires: vulkan-devel +BuildRequires: libappstream-glib + +# Silverlight DRM-stuff needs XATTR enabled. +%if 0%{?wine_staging} +BuildRequires: gtk3-devel +BuildRequires: libattr-devel +BuildRequires: libva-devel +%endif +# 0%%{?wine_staging} + +BuildRequires: icoutils + +%ifarch %{ix86} x86_64 +BuildRequires: mingw32-FAudio +BuildRequires: mingw64-FAudio +BuildRequires: mingw32-gcc +BuildRequires: mingw64-gcc +BuildRequires: mingw32-lcms2 +BuildRequires: mingw64-lcms2 +BuildRequires: mingw32-libpng +BuildRequires: mingw64-libpng +BuildRequires: mingw32-libtiff +BuildRequires: mingw64-libtiff +BuildRequires: mingw32-libxml2 +BuildRequires: mingw64-libxml2 +BuildRequires: mingw32-libxslt +BuildRequires: mingw64-libxslt +BuildRequires: mingw32-vkd3d +BuildRequires: mingw64-vkd3d +BuildRequires: mingw32-vulkan-headers +BuildRequires: mingw64-vulkan-headers +BuildRequires: mingw32-zlib +BuildRequires: mingw64-zlib +%endif + +Requires: wine-common = %{version}-%{release} +Requires: wine-desktop = %{version}-%{release} +Requires: wine-fonts = %{version}-%{release} + +# x86-32 parts +%ifarch %{ix86} x86_64 +%if 0%{?fedora} || 0%{?rhel} <= 6 +Requires: wine-core(x86-32) = %{version}-%{release} +Requires: wine-cms(x86-32) = %{version}-%{release} +Requires: wine-ldap(x86-32) = %{version}-%{release} +Requires: wine-twain(x86-32) = %{version}-%{release} +Requires: wine-pulseaudio(x86-32) = %{version}-%{release} +%if 0%{?fedora} +Requires: wine-opencl(x86-32) = %{version}-%{release} +%endif +%if 0%{?fedora} +Requires: mingw32-wine-gecko = %winegecko +Requires: wine-mono = %winemono +%endif +# wait for rhbz#968860 to require arch-specific samba-winbind-clients +Requires: /usr/bin/ntlm_auth +Requires: mesa-dri-drivers(x86-32) +%endif +%if 0%{?fedora} +Recommends: wine-dxvk(x86-32) +Recommends: dosbox-staging +%endif +Recommends: gstreamer1-plugins-good(x86-32) +%endif + +# x86-64 parts +%ifarch x86_64 +Requires: wine-core(x86-64) = %{version}-%{release} +Requires: wine-cms(x86-64) = %{version}-%{release} +Requires: wine-ldap(x86-64) = %{version}-%{release} +Requires: wine-twain(x86-64) = %{version}-%{release} +Requires: wine-pulseaudio(x86-64) = %{version}-%{release} +%if 0%{?fedora} +Requires: wine-opencl(x86-64) = %{version}-%{release} +%endif +%if 0%{?fedora} +Requires: mingw64-wine-gecko = %winegecko +Requires: wine-mono = %winemono +%endif +Requires: mesa-dri-drivers(x86-64) +%if 0%{?fedora} +Recommends: wine-dxvk(x86-64) +Recommends: dosbox-staging +%endif +Recommends: gstreamer1-plugins-good(x86-64) +%endif + +# ARM parts +%ifarch %{arm} aarch64 +Requires: wine-core = %{version}-%{release} +Requires: wine-cms = %{version}-%{release} +Requires: wine-ldap = %{version}-%{release} +Requires: wine-twain = %{version}-%{release} +Requires: wine-pulseaudio = %{version}-%{release} +%if 0%{?fedora} +Requires: wine-opencl = %{version}-%{release} +%endif +Requires: mesa-dri-drivers +Requires: samba-winbind-clients +%endif + +# aarch64 parts +%ifarch aarch64 +Requires: wine-core(aarch-64) = %{version}-%{release} +Requires: wine-cms(aarch-64) = %{version}-%{release} +Requires: wine-ldap(aarch-64) = %{version}-%{release} +Requires: wine-twain(aarch-64) = %{version}-%{release} +Requires: wine-pulseaudio(aarch-64) = %{version}-%{release} +Requires: wine-opencl(aarch-64) = %{version}-%{release} +Requires: mingw64-wine-gecko = %winegecko +Requires: mesa-dri-drivers(aarch-64) +%endif + +%description +Wine as a compatibility layer for UNIX to run Windows applications. This +package includes a program loader, which allows unmodified Windows +3.x/9x/NT binaries to run on x86 and x86_64 Unixes. Wine can use native system +.dll files if they are available. + +In Fedora wine is a meta-package which will install everything needed for wine +to work smoothly. Smaller setups can be achieved by installing some of the +wine-* sub packages. + +%package core +Summary: Wine core package +Requires(postun): /sbin/ldconfig +Requires(posttrans): %{_sbindir}/alternatives +Requires(preun): %{_sbindir}/alternatives + +# require -filesystem +Requires: wine-filesystem = %{version}-%{release} + +%ifarch %{ix86} +# CUPS support uses dlopen - rhbz#1367537 +Requires: cups-libs(x86-32) +Requires: freetype(x86-32) +Requires: (nss-mdns(x86-32) if nss-mdns(x86-64)) +Requires: gnutls(x86-32) +Requires: libXcomposite(x86-32) +Requires: libXcursor(x86-32) +Requires: libXinerama(x86-32) +Requires: libXrandr(x86-32) +Requires: libXrender(x86-32) +#dlopen in windowscodesc (fixes rhbz#1085075) +Requires: libpng(x86-32) +Requires: libpcap(x86-32) +Requires: mesa-libOSMesa(x86-32) +Requires: libv4l(x86-32) +Requires: unixODBC(x86-32) +Requires: SDL2(x86-32) +Requires: vulkan-loader(x86-32) +%if 0%{?wine_staging} +Requires: libva(x86-32) +%endif +Requires: mingw32-FAudio +Requires: mingw32-lcms2 +Requires: mingw32-libjpeg-turbo +Requires: mingw32-libpng +Requires: mingw32-libtiff +Requires: mingw32-libxml2 +Requires: mingw32-libxslt +Requires: mingw32-vkd3d +Requires: mingw32-win-iconv +Requires: mingw32-zlib +%endif + +%ifarch x86_64 +# CUPS support uses dlopen - rhbz#1367537 +Requires: cups-libs(x86-64) +Requires: freetype(x86-64) +Requires: (nss-mdns(x86-64) if nss-mdns(x86-32)) +Requires: gnutls(x86-64) +Requires: libXcomposite(x86-64) +Requires: libXcursor(x86-64) +Requires: libXinerama(x86-64) +Requires: libXrandr(x86-64) +Requires: libXrender(x86-64) +#dlopen in windowscodesc (fixes rhbz#1085075) +Requires: libpng(x86-64) +Requires: libpcap(x86-64) +Requires: mesa-libOSMesa(x86-64) +Requires: libv4l(x86-64) +Requires: unixODBC(x86-64) +Requires: SDL2(x86-64) +Requires: vulkan-loader(x86-64) +%if 0%{?wine_staging} +Requires: libva(x86-64) +%endif +Requires: mingw64-FAudio +Requires: mingw64-lcms2 +Requires: mingw64-libjpeg-turbo +Requires: mingw64-libpng +Requires: mingw64-libtiff +Requires: mingw64-libxml2 +Requires: mingw64-libxslt +Requires: mingw64-vkd3d +Requires: mingw64-win-iconv +Requires: mingw64-zlib +%endif + +%ifarch %{arm} aarch64 +# CUPS support uses dlopen - rhbz#1367537 +Requires: cups-libs +Requires: freetype +Requires: nss-mdns +Requires: gnutls +Requires: libXrender +Requires: libXcursor +#dlopen in windowscodesc (fixes rhbz#1085075) +Requires: libpng +Requires: libpcap +Requires: mesa-libOSMesa +Requires: libv4l +Requires: unixODBC +Requires: SDL2 +Requires: vulkan-loader +%if 0%{?wine_staging} +Requires: libva +%endif +%endif + +Provides: bundled(libjpeg) = 9e +Provides: bundled(mpg123-libs) = 1.29.3 + +# removed as of 7.21 +Obsoletes: wine-openal < 7.21 +Provides: wine-openal = %{version}-%{release} + +%description core +Wine core package includes the basic wine stuff needed by all other packages. + +%package systemd +Summary: Systemd config for the wine binfmt handler +Requires: systemd +BuildArch: noarch +Requires(post): systemd +Requires(postun): systemd +Obsoletes: wine-sysvinit < %{version}-%{release} + +%description systemd +Register the wine binary handler for windows executables via systemd binfmt +handling. See man binfmt.d for further information. + +%package filesystem +Summary: Filesystem directories for wine +BuildArch: noarch + +%description filesystem +Filesystem directories and basic configuration for wine. + +%package common +Summary: Common files +Requires: wine-core = %{version}-%{release} +BuildArch: noarch + +%description common +Common wine files and scripts. + +%package desktop +Summary: Desktop integration features for wine +Requires(post): desktop-file-utils +Requires(postun): desktop-file-utils +Requires: wine-core = %{version}-%{release} +Requires: wine-common = %{version}-%{release} +Requires: wine-systemd = %{version}-%{release} +Requires: hicolor-icon-theme +BuildArch: noarch + +%description desktop +Desktop integration features for wine, including mime-types and a binary format +handler service. + +%package fonts +Summary: Wine font files +BuildArch: noarch +# arial-fonts are available with wine-staging patchset, only. +%if 0%{?wine_staging} +Requires: wine-arial-fonts = %{version}-%{release} +%else +# 0%%{?wine_staging} +Obsoletes: wine-arial-fonts <= %{version}-%{release} +%endif +# 0%%{?wine_staging} +Requires: wine-courier-fonts = %{version}-%{release} +Requires: wine-fixedsys-fonts = %{version}-%{release} +Requires: wine-small-fonts = %{version}-%{release} +Requires: wine-system-fonts = %{version}-%{release} +Requires: wine-marlett-fonts = %{version}-%{release} +Requires: wine-ms-sans-serif-fonts = %{version}-%{release} +Requires: wine-tahoma-fonts = %{version}-%{release} +# times-new-roman-fonts are available with wine_staging-patchset, only. +%if 0%{?wine_staging} +Requires: wine-times-new-roman-fonts = %{version}-%{release} +%else +# 0%%{?wine_staging} +Obsoletes: wine-times-new-roman-fonts <= %{version}-%{release} +Obsoletes: wine-times-new-roman-fonts-system <= %{version}-%{release} +%endif +# 0%%{?wine_staging} +Requires: wine-symbol-fonts = %{version}-%{release} +Requires: wine-webdings-fonts = %{version}-%{release} +Requires: wine-wingdings-fonts = %{version}-%{release} +# intermediate fix for #593140 +Requires: liberation-sans-fonts liberation-serif-fonts liberation-mono-fonts +Requires: liberation-narrow-fonts + +%description fonts +%{summary} + +%if 0%{?wine_staging} +%package arial-fonts +Summary: Wine Arial font family +BuildArch: noarch +Requires: fontpackages-filesystem + +%description arial-fonts +%{summary} +%endif +# 0%%{?wine_staging} + +%package courier-fonts +Summary: Wine Courier font family +BuildArch: noarch +Requires: fontpackages-filesystem + +%description courier-fonts +%{summary} + +%package fixedsys-fonts +Summary: Wine Fixedsys font family +BuildArch: noarch +Requires: fontpackages-filesystem + +%description fixedsys-fonts +%{summary} + +%package small-fonts +Summary: Wine Small font family +BuildArch: noarch +Requires: fontpackages-filesystem + +%description small-fonts +%{summary} + +%package system-fonts +Summary: Wine System font family +BuildArch: noarch +Requires: fontpackages-filesystem + +%description system-fonts +%{summary} + + +%package marlett-fonts +Summary: Wine Marlett font family +BuildArch: noarch +Requires: fontpackages-filesystem + +%description marlett-fonts +%{summary} + + +%package ms-sans-serif-fonts +Summary: Wine MS Sans Serif font family +BuildArch: noarch +Requires: fontpackages-filesystem + +%description ms-sans-serif-fonts +%{summary} + +# rhbz#693180 +# http://lists.fedoraproject.org/pipermail/devel/2012-June/168153.html +%package tahoma-fonts +Summary: Wine Tahoma font family +BuildArch: noarch +Requires: wine-filesystem = %{version}-%{release} + +%description tahoma-fonts +%{summary} +Please note: If you want system integration for wine tahoma fonts install the +wine-tahoma-fonts-system package. + +%package tahoma-fonts-system +Summary: Wine Tahoma font family system integration +BuildArch: noarch +Requires: fontpackages-filesystem +Requires: wine-tahoma-fonts = %{version}-%{release} + +%description tahoma-fonts-system +%{summary} + +%if 0%{?wine_staging} +%package times-new-roman-fonts +Summary: Wine Times New Roman font family +BuildArch: noarch +Requires: wine-filesystem = %{version}-%{release} + +%description times-new-roman-fonts +%{summary} +Please note: If you want system integration for wine times new roman fonts install the +wine-times-new-roman-fonts-system package. + +%package times-new-roman-fonts-system +Summary: Wine Times New Roman font family system integration +BuildArch: noarch +Requires: fontpackages-filesystem +Requires: wine-times-new-roman-fonts = %{version}-%{release} + +%description times-new-roman-fonts-system +%{summary} +%endif + +%package symbol-fonts +Summary: Wine Symbol font family +BuildArch: noarch +Requires: fontpackages-filesystem + +%description symbol-fonts +%{summary} + +%package webdings-fonts +Summary: Wine Webdings font family +BuildArch: noarch +Requires: fontpackages-filesystem + +%description webdings-fonts +%{summary} + +%package wingdings-fonts +Summary: Wine Wingdings font family +BuildArch: noarch +Requires: fontpackages-filesystem + +%description wingdings-fonts +%{summary} +Please note: If you want system integration for wine wingdings fonts install the +wine-wingdings-fonts-system package. + +%package wingdings-fonts-system +Summary: Wine Wingdings font family system integration +BuildArch: noarch +Requires: fontpackages-filesystem +Requires: wine-wingdings-fonts = %{version}-%{release} + +%description wingdings-fonts-system +%{summary} + + +%package ldap +Summary: LDAP support for wine +Requires: wine-core = %{version}-%{release} + +%description ldap +LDAP support for wine + +%package cms +Summary: Color Management for wine +Requires: wine-core = %{version}-%{release} + +%description cms +Color Management for wine + +%package twain +Summary: Twain support for wine +Requires: wine-core = %{version}-%{release} +%ifarch %{ix86} +Requires: sane-backends-libs(x86-32) +%endif +%ifarch x86_64 +Requires: sane-backends-libs(x86-64) +%endif +%ifarch %{arm} aarch64 +Requires: sane-backends-libs +%endif + +%description twain +Twain support for wine + +%package devel +Summary: Wine development environment +Requires: wine-core = %{version}-%{release} + +%description devel +Header, include files and library definition files for developing applications +with the Wine Windows(TM) emulation libraries. + +%package pulseaudio +Summary: Pulseaudio support for wine +Requires: wine-core = %{version}-%{release} +# midi output +Requires: wine-alsa%{?_isa} = %{version}-%{release} + +%description pulseaudio +This package adds a pulseaudio driver for wine. + +%package alsa +Summary: Alsa support for wine +Requires: wine-core = %{version}-%{release} + +%description alsa +This package adds an alsa driver for wine. + +%if 0%{?fedora} +%package opencl +Summary: OpenCL support for wine +Requires: wine-core = %{version}-%{release} + +%Description opencl +This package adds the opencl driver for wine. +%endif + +%prep +%setup -qn wine-%{version} +%patch -P 100 -p1 -b.autoconf +%patch -P 511 -p1 -b.cjk + +%if 0%{?wine_staging} +# setup and apply wine-staging patches +gzip -dc %{SOURCE900} | tar -xf - --strip-components=1 + +# https://bugs.winehq.org/show_bug.cgi?id=54868 +sed -i 's/DWORD pitch_in, DWORD pitch_out/unsigned int pitch_in, unsigned int pitch_out/' patches/wined3d-WINED3DFMT_B8G8R8X8_UNORM/0001-wined3d-Implement-WINED3DFMT_B8G8R8X8_UNORM-to-WINED.patch +# Fix pointer types for i686 build +%patch -P 900 -p0 -b.staging +staging/patchinstall.py DESTDIR="`pwd`" --all + +%endif +# 0%%{?wine_staging} + +%build +# This package uses top level ASM constructs which are incompatible with LTO. +# Top level ASMs are often used to implement symbol versioning. gcc-10 +# introduces a new mechanism for symbol versioning which works with LTO. +# Converting packages to use that mechanism instead of toplevel ASMs is +# recommended. +# Disable LTO +%define _lto_cflags %{nil} + +# disable fortify as it breaks wine +# http://bugs.winehq.org/show_bug.cgi?id=24606 +# http://bugs.winehq.org/show_bug.cgi?id=25073 +%undefine _fortify_level +# Disable Red Hat specs for package notes (Fedora 38+) and annobin. +# MinGW GCC does not support these options. +%if 0%{?fedora_version} == 36 +export LDFLAGS="$(echo "%{build_ldflags}" | sed -e 's/-Wl,-z,relro//' -e 's/-Wl,--build-id=sha1//' -e 's/-Wl,-dT,\/home\/abuild\/rpmbuild\/BUILD\/wine.*//' -e 's/-specs=\/usr\/lib\/rpm\/redhat\/redhat-annobin-cc1//')" +%else +export LDFLAGS="$(echo "%{build_ldflags}" | sed -e 's/-Wl,-z,relro//' -e 's/-Wl,--build-id=sha1//' -e 's/-specs=\/usr\/lib\/rpm\/redhat\/redhat-package-notes//' -e 's/-specs=\/usr\/lib\/rpm\/redhat\/redhat-annobin-cc1//')" +%endif +%ifarch x86_64 +export CFLAGS="$(echo "%{optflags}" | sed -e 's/-O2//' -e 's/-fcf-protection//' -e 's/-fstack-protector-strong//' -e 's/-fstack-clash-protection//' -e 's/-specs=\/usr\/lib\/rpm\/redhat\/redhat-annobin-cc1//') -O2" +%else +export CFLAGS="$(echo "%{optflags}" | sed -e 's/-fcf-protection//' -e 's/-fstack-protector-strong//' -e 's/-fstack-clash-protection//' -e 's/-specs=\/usr\/lib\/rpm\/redhat\/redhat-annobin-cc1//')" +%endif + +%ifarch %{arm} aarch64 +# Wine enabled -Wl,-WX that turns linker warnings into errors +# Fedora passes '--as-needed' for all binaries and this is a warning from the linker, now an error, so disable flag for now +sed -i 's/-Wl,-WX//g' configure +%if 0%{?fedora} +%global toolchain clang +%else +# ARM64 now requires clang +# https://source.winehq.org/git/wine.git/commit/8fb8cc03c3edb599dd98f369e14a08f899cbff95 +export CC="/usr/bin/clang" +# Fedora's default compiler flags now conflict with what clang supports +# https://bugzilla.redhat.com/show_bug.cgi?id=1658311 +export CFLAGS="`echo $CFLAGS | sed -e 's/-fstack-clash-protection//'`" +%endif +%endif +%ifarch armv7hl +export CFLAGS="`echo $CFLAGS | sed -e 's/-fexceptions//'`" +%endif + +# required so that both Linux and Windows development files can be found +unset PKG_CONFIG_PATH + +%configure \ + --sysconfdir=%{_sysconfdir}/wine \ + --x-includes=%{_includedir} --x-libraries=%{_libdir} \ + --with-dbus \ + --with-x \ +%ifarch %{arm} + --with-float-abi=hard \ +%endif +%ifarch x86_64 aarch64 + --enable-win64 \ +%ifarch x86_64 + --with-system-dllpath=%{mingw64_bindir} \ +%endif +%endif +%ifarch %{ix86} + --with-system-dllpath=%{mingw32_bindir} \ +%endif +%{?wine_staging: --with-xattr} \ + --disable-tests + +%make_build TARGETFLAGS="" + +%install + +%make_install \ + LDCONFIG=/bin/true \ + UPDATE_DESKTOP_DATABASE=/bin/true + +# setup for alternatives usage +%ifarch x86_64 aarch64 +%ifarch aarch64 +mv %{buildroot}%{_bindir}/wine %{buildroot}%{_bindir}/wine64 +mv %{buildroot}%{_bindir}/wine-preloader %{buildroot}%{_bindir}/wine64-preloader +%endif +mv %{buildroot}%{_bindir}/wineserver %{buildroot}%{_bindir}/wineserver64 +%endif +%ifarch %{ix86} %{arm} +mv %{buildroot}%{_bindir}/wine %{buildroot}%{_bindir}/wine32 +mv %{buildroot}%{_bindir}/wineserver %{buildroot}%{_bindir}/wineserver32 +%endif +%ifnarch aarch64 x86_64 +mv %{buildroot}%{_bindir}/wine-preloader %{buildroot}%{_bindir}/wine32-preloader +%endif +touch %{buildroot}%{_bindir}/wine +touch %{buildroot}%{_bindir}/wine-preloader +touch %{buildroot}%{_bindir}/wineserver +mv %{buildroot}%{_libdir}/wine/%{winepedir}/dxgi.dll %{buildroot}%{_libdir}/wine/%{winepedir}/wine-dxgi.dll +mv %{buildroot}%{_libdir}/wine/%{winepedir}/d3d9.dll %{buildroot}%{_libdir}/wine/%{winepedir}/wine-d3d9.dll +mv %{buildroot}%{_libdir}/wine/%{winepedir}/d3d10.dll %{buildroot}%{_libdir}/wine/%{winepedir}/wine-d3d10.dll +mv %{buildroot}%{_libdir}/wine/%{winepedir}/d3d10_1.dll %{buildroot}%{_libdir}/wine/%{winepedir}/wine-d3d10_1.dll +mv %{buildroot}%{_libdir}/wine/%{winepedir}/d3d10core.dll %{buildroot}%{_libdir}/wine/%{winepedir}/wine-d3d10core.dll +mv %{buildroot}%{_libdir}/wine/%{winepedir}/d3d11.dll %{buildroot}%{_libdir}/wine/%{winepedir}/wine-d3d11.dll +touch %{buildroot}%{_libdir}/wine/%{winepedir}/dxgi.dll +touch %{buildroot}%{_libdir}/wine/%{winepedir}/d3d9.dll +touch %{buildroot}%{_libdir}/wine/%{winepedir}/d3d10.dll +touch %{buildroot}%{_libdir}/wine/%{winepedir}/d3d10_1.dll +touch %{buildroot}%{_libdir}/wine/%{winepedir}/d3d10core.dll +touch %{buildroot}%{_libdir}/wine/%{winepedir}/d3d11.dll + +# remove rpath +chrpath --delete %{buildroot}%{_bindir}/wmc +chrpath --delete %{buildroot}%{_bindir}/wrc +%ifarch x86_64 aarch64 +chrpath --delete %{buildroot}%{_bindir}/wine64 +chrpath --delete %{buildroot}%{_bindir}/wineserver64 +%else +chrpath --delete %{buildroot}%{_bindir}/wine32 +chrpath --delete %{buildroot}%{_bindir}/wineserver32 +%endif + +mkdir -p %{buildroot}%{_sysconfdir}/wine + +# Allow users to launch Windows programs by just clicking on the .exe file... +mkdir -p %{buildroot}%{_binfmtdir} +install -p -c -m 644 %{SOURCE1} %{buildroot}%{_binfmtdir}/wine.conf + +# add wine dir to desktop +mkdir -p %{buildroot}%{_sysconfdir}/xdg/menus/applications-merged +install -p -m 644 %{SOURCE200} \ +%{buildroot}%{_sysconfdir}/xdg/menus/applications-merged/wine.menu +mkdir -p %{buildroot}%{_datadir}/desktop-directories +install -p -m 644 %{SOURCE201} \ +%{buildroot}%{_datadir}/desktop-directories/Wine.directory + +# add gecko dir +mkdir -p %{buildroot}%{_datadir}/wine/gecko + +# add mono dir +mkdir -p %{buildroot}%{_datadir}/wine/mono + +# extract and install icons +mkdir -p %{buildroot}%{_datadir}/icons/hicolor/scalable/apps + +# This replacement masks a composite program icon .SVG down +# so that only its full-size scalable icon is visible +PROGRAM_ICONFIX='s/height="272"/height="256"/;'\ +'s/width="632"/width="256"\n'\ +' x="368"\n'\ +' y="8"\n'\ +' viewBox="368, 8, 256, 256"/;' +MAIN_ICONFIX='s/height="272"/height="256"/;'\ +'s/width="632"/width="256"\n'\ +' x="8"\n'\ +' y="8"\n'\ +' viewBox="8, 8, 256, 256"/;' + +# This icon file is still in the legacy format +install -p -m 644 dlls/user32/resources/oic_winlogo.svg \ + %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/wine.svg +sed -i -e "$MAIN_ICONFIX" %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/wine.svg + +# The rest come from programs/, and contain larger scalable icons +# with a new layout that requires the PROGRAM_ICONFIX sed adjustment +install -p -m 644 programs/notepad/notepad.svg \ + %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/notepad.svg +sed -i -e "$PROGRAM_ICONFIX" %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/notepad.svg + +install -p -m 644 programs/regedit/regedit.svg \ + %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/regedit.svg +sed -i -e "$PROGRAM_ICONFIX" %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/regedit.svg + +install -p -m 644 programs/msiexec/msiexec.svg \ + %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/msiexec.svg +sed -i -e "$PROGRAM_ICONFIX" %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/msiexec.svg + +install -p -m 644 programs/winecfg/winecfg.svg \ + %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/winecfg.svg +sed -i -e "$PROGRAM_ICONFIX" %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/winecfg.svg + +install -p -m 644 programs/winefile/winefile.svg \ + %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/winefile.svg +sed -i -e "$PROGRAM_ICONFIX" %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/winefile.svg + +install -p -m 644 programs/winemine/winemine.svg \ + %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/winemine.svg +sed -i -e "$PROGRAM_ICONFIX" %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/winemine.svg + +install -p -m 644 programs/winhlp32/winhelp.svg \ + %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/winhelp.svg +sed -i -e "$PROGRAM_ICONFIX" %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/winhelp.svg + +install -p -m 644 programs/wordpad/wordpad.svg \ + %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/wordpad.svg +sed -i -e "$PROGRAM_ICONFIX" %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/wordpad.svg + +# install desktop files +desktop-file-install \ + --dir=%{buildroot}%{_datadir}/applications \ + %{SOURCE100} + +desktop-file-install \ + --dir=%{buildroot}%{_datadir}/applications \ + %{SOURCE101} + +desktop-file-install \ + --dir=%{buildroot}%{_datadir}/applications \ + %{SOURCE102} + +desktop-file-install \ + --dir=%{buildroot}%{_datadir}/applications \ + %{SOURCE103} + +desktop-file-install \ + --dir=%{buildroot}%{_datadir}/applications \ + %{SOURCE104} + +desktop-file-install \ + --dir=%{buildroot}%{_datadir}/applications \ + %{SOURCE105} + +desktop-file-install \ + --dir=%{buildroot}%{_datadir}/applications \ + %{SOURCE106} + +desktop-file-install \ + --dir=%{buildroot}%{_datadir}/applications \ + %{SOURCE107} + +desktop-file-install \ + --dir=%{buildroot}%{_datadir}/applications \ + %{SOURCE108} + +desktop-file-install \ + --dir=%{buildroot}%{_datadir}/applications \ + %{SOURCE109} + +desktop-file-install \ + --dir=%{buildroot}%{_datadir}/applications \ + --delete-original \ + %{buildroot}%{_datadir}/applications/wine.desktop + +#mime-types +desktop-file-install \ + --dir=%{buildroot}%{_datadir}/applications \ + %{SOURCE300} + +cp -p %{SOURCE2} README-FEDORA + +cp -p %{SOURCE502} README-tahoma + +mkdir -p %{buildroot}%{_sysconfdir}/ld.so.conf.d/ + +%ifarch %{ix86} %{arm} +install -p -m644 %{SOURCE4} %{buildroot}%{_sysconfdir}/ld.so.conf.d/ +%endif + +%ifarch x86_64 aarch64 +install -p -m644 %{SOURCE5} %{buildroot}%{_sysconfdir}/ld.so.conf.d/ +%endif + + +# install Tahoma font for system package +install -p -m 0755 -d %{buildroot}/%{_datadir}/fonts/wine-tahoma-fonts +pushd %{buildroot}/%{_datadir}/fonts/wine-tahoma-fonts +ln -s ../../wine/fonts/tahoma.ttf tahoma.ttf +ln -s ../../wine/fonts/tahomabd.ttf tahomabd.ttf +popd + +# add config and readme for tahoma +install -m 0755 -d %{buildroot}%{_fontconfig_templatedir} \ + %{buildroot}%{_fontconfig_confdir} +install -p -m 0644 %{SOURCE501} %{buildroot}%{_fontconfig_templatedir}/20-wine-tahoma-nobitmaps.conf + +ln -s %{_fontconfig_templatedir}/20-wine-tahoma-nobitmaps.conf \ + %{buildroot}%{_fontconfig_confdir}/20-wine-tahoma-nobitmaps.conf + +%if 0%{?wine_staging} +# install Times New Roman font for system package +install -p -m 0755 -d %{buildroot}/%{_datadir}/fonts/wine-times-new-roman-fonts +pushd %{buildroot}/%{_datadir}/fonts/wine-times-new-roman-fonts +ln -s ../../wine/fonts/times.ttf times.ttf +popd +%endif + +# install Wingdings font for system package +install -p -m 0755 -d %{buildroot}/%{_datadir}/fonts/wine-wingdings-fonts +pushd %{buildroot}/%{_datadir}/fonts/wine-wingdings-fonts +ln -s ../../wine/fonts/wingding.ttf wingding.ttf +popd + +# clean readme files +pushd documentation +for lang in it hu sv es pt pt_br; +do iconv -f iso8859-1 -t utf-8 README.$lang > \ + README.$lang.conv && mv -f README.$lang.conv README.$lang +done; +popd + +rm -f %{buildroot}%{_initrddir}/wine + +# wine makefiles are currently broken and don't install the wine man page +install -p -m 0644 loader/wine.man %{buildroot}%{_mandir}/man1/wine.1 +install -p -m 0644 loader/wine.de.UTF-8.man %{buildroot}%{_mandir}/de.UTF-8/man1/wine.1 +install -p -m 0644 loader/wine.fr.UTF-8.man %{buildroot}%{_mandir}/fr.UTF-8/man1/wine.1 +mkdir -p %{buildroot}%{_mandir}/pl.UTF-8/man1 +install -p -m 0644 loader/wine.pl.UTF-8.man %{buildroot}%{_mandir}/pl.UTF-8/man1/wine.1 + +# install and validate AppData file +mkdir -p %{buildroot}/%{_metainfodir}/ +install -p -m 0644 %{SOURCE150} %{buildroot}/%{_metainfodir}/%{name}.appdata.xml +appstream-util validate-relax --nonet %{buildroot}/%{_metainfodir}/%{name}.appdata.xml + + +%post systemd +%binfmt_apply wine.conf + +%postun systemd +if [ $1 -eq 0 ]; then +/bin/systemctl try-restart systemd-binfmt.service +fi + +%ldconfig_post core + +%posttrans core +# handle upgrades for a few package updates +%{_sbindir}/alternatives --remove 'wine-dxgi%{?_isa}' %{_libdir}/wine/wine-dxgi.dll 2>/dev/null +%{_sbindir}/alternatives --remove 'wine-d3d9%{?_isa}' %{_libdir}/wine/wine-d3d9.dll 2>/dev/null +%{_sbindir}/alternatives --remove 'wine-d3d10%{?_isa}' %{_libdir}/wine/wine-d3d10.dll 2>/dev/null +%{_sbindir}/alternatives --remove 'wine-d3d11%{?_isa}' %{_libdir}/wine/wine-d3d11.dll 2>/dev/null +%ifarch x86_64 aarch64 +%{_sbindir}/alternatives --install %{_bindir}/wine \ + wine %{_bindir}/wine64 10 \ + --slave %{_bindir}/wine-preloader wine-preloader %{_bindir}/wine64-preloader +%{_sbindir}/alternatives --install %{_bindir}/wineserver \ + wineserver %{_bindir}/wineserver64 20 +%else +%{_sbindir}/alternatives --install %{_bindir}/wine \ + wine %{_bindir}/wine32 20 \ + --slave %{_bindir}/wine-preloader wine-preloader %{_bindir}/wine32-preloader +%{_sbindir}/alternatives --install %{_bindir}/wineserver \ + wineserver %{_bindir}/wineserver32 10 +%endif +%{_sbindir}/alternatives --install %{_libdir}/wine/%{winepedir}/dxgi.dll \ + 'wine-dxgi%{?_isa}' %{_libdir}/wine/%{winepedir}/wine-dxgi.dll 10 +%{_sbindir}/alternatives --install %{_libdir}/wine/%{winepedir}/d3d9.dll \ + 'wine-d3d9%{?_isa}' %{_libdir}/wine/%{winepedir}/wine-d3d9.dll 10 +%{_sbindir}/alternatives --install %{_libdir}/wine/%{winepedir}/d3d10.dll \ + 'wine-d3d10%{?_isa}' %{_libdir}/wine/%{winepedir}/wine-d3d10.dll 10 \ + --slave %{_libdir}/wine/%{winepedir}/d3d10_1.dll 'wine-d3d10_1%{?_isa}' %{_libdir}/wine/%{winepedir}/wine-d3d10_1.dll \ + --slave %{_libdir}/wine/%{winepedir}/d3d10core.dll 'wine-d3d10core%{?_isa}' %{_libdir}/wine/%{winepedir}/wine-d3d10core.dll +%{_sbindir}/alternatives --install %{_libdir}/wine/%{winepedir}/d3d11.dll \ + 'wine-d3d11%{?_isa}' %{_libdir}/wine/%{winepedir}/wine-d3d11.dll 10 + +%postun core +%{?ldconfig} +if [ $1 -eq 0 ] ; then +%ifarch x86_64 aarch64 + %{_sbindir}/alternatives --remove wine %{_bindir}/wine64 + %{_sbindir}/alternatives --remove wineserver %{_bindir}/wineserver64 +%else + %{_sbindir}/alternatives --remove wine %{_bindir}/wine32 + %{_sbindir}/alternatives --remove wineserver %{_bindir}/wineserver32 +%endif + %{_sbindir}/alternatives --remove 'wine-dxgi%{?_isa}' %{_libdir}/wine/%{winepedir}/wine-dxgi.dll + %{_sbindir}/alternatives --remove 'wine-d3d9%{?_isa}' %{_libdir}/wine/%{winepedir}/wine-d3d9.dll + %{_sbindir}/alternatives --remove 'wine-d3d10%{?_isa}' %{_libdir}/wine/%{winepedir}/wine-d3d10.dll + %{_sbindir}/alternatives --remove 'wine-d3d11%{?_isa}' %{_libdir}/wine/%{winepedir}/wine-d3d11.dll +fi + +%ldconfig_scriptlets ldap + +%ldconfig_scriptlets cms + +%ldconfig_scriptlets twain + +%ldconfig_scriptlets alsa + +%files +# meta package + +%files core +%doc ANNOUNCE.md +%doc COPYING.LIB +%doc LICENSE +%doc LICENSE.OLD +%doc AUTHORS +%doc README-FEDORA +%doc README.md +%doc VERSION +# do not include huge changelogs .OLD .ALPHA .BETA (#204302) +%doc documentation/README.* +%{_bindir}/msidb +%{_bindir}/winedump +%{_libdir}/wine/%{winepedir}/explorer.exe +%{_libdir}/wine/%{winepedir}/cabarc.exe +%{_libdir}/wine/%{winepedir}/control.exe +%{_libdir}/wine/%{winepedir}/cmd.exe +%{_libdir}/wine/%{winepedir}/dxdiag.exe +%{_libdir}/wine/%{winepedir}/notepad.exe +%{_libdir}/wine/%{winepedir}/plugplay.exe +%{_libdir}/wine/%{winepedir}/progman.exe +%{_libdir}/wine/%{winepedir}/taskmgr.exe +%{_libdir}/wine/%{winepedir}/winedbg.exe +%{_libdir}/wine/%{winepedir}/winefile.exe +%{_libdir}/wine/%{winepedir}/winemine.exe +%{_libdir}/wine/%{winepedir}/winemsibuilder.exe +%{_libdir}/wine/%{winepedir}/winepath.exe +%{_libdir}/wine/%{winepedir}/winmgmt.exe +%{_libdir}/wine/%{winepedir}/winver.exe +%{_libdir}/wine/%{winepedir}/wordpad.exe +%{_libdir}/wine/%{winepedir}/write.exe +%{_libdir}/wine/%{winepedir}/wusa.exe + +%ifarch %{ix86} %{arm} +%{_bindir}/wine32 +%{_bindir}/wine32-preloader +%{_bindir}/wineserver32 +%config %{_sysconfdir}/ld.so.conf.d/wine-32.conf +%endif + +%ifarch x86_64 aarch64 +%{_bindir}/wine64 +%{_bindir}/wineserver64 +%config %{_sysconfdir}/ld.so.conf.d/wine-64.conf +%endif +%ifarch x86_64 aarch64 +%{_bindir}/wine64-preloader +%endif + +%ghost %{_bindir}/wine +%ghost %{_bindir}/wine-preloader +%ghost %{_bindir}/wineserver + +%dir %{_libdir}/wine + +%{_libdir}/wine/%{winepedir}/attrib.exe +%{_libdir}/wine/%{winepedir}/arp.exe +%{_libdir}/wine/%{winepedir}/aspnet_regiis.exe +%{_libdir}/wine/%{winepedir}/cacls.exe +%{_libdir}/wine/%{winepedir}/certutil.exe +%{_libdir}/wine/%{winepedir}/conhost.exe +%{_libdir}/wine/%{winepedir}/cscript.exe +%{_libdir}/wine/%{winepedir}/dism.exe +%{_libdir}/wine/%{winepedir}/dllhost.exe +%{_libdir}/wine/%{winepedir}/dplaysvr.exe +%ifarch %{ix86} x86_64 +%{_libdir}/wine/%{winepedir}/dpnsvr.exe +%endif +%{_libdir}/wine/%{winepedir}/dpvsetup.exe +%{_libdir}/wine/%{winepedir}/eject.exe +%{_libdir}/wine/%{winepedir}/expand.exe +%{_libdir}/wine/%{winepedir}/extrac32.exe +%{_libdir}/wine/%{winepedir}/fc.exe +%{_libdir}/wine/%{winepedir}/find.exe +%{_libdir}/wine/%{winepedir}/findstr.exe +%{_libdir}/wine/%{winepedir}/fsutil.exe +%{_libdir}/wine/%{winepedir}/hostname.exe +%{_libdir}/wine/%{winepedir}/ipconfig.exe +%{_libdir}/wine/%{winepedir}/klist.exe +%{_libdir}/wine/%{winepedir}/mshta.exe +%{_libdir}/wine/%{winepedir}/msidb.exe +%{_libdir}/wine/%{winepedir}/msiexec.exe +%{_libdir}/wine/%{winepedir}/net.exe +%{_libdir}/wine/%{winepedir}/netstat.exe +%{_libdir}/wine/%{winepedir}/ngen.exe +%{_libdir}/wine/%{winepedir}/ntoskrnl.exe +%{_libdir}/wine/%{winepedir}/oleview.exe +%{_libdir}/wine/%{winepedir}/ping.exe +%{_libdir}/wine/%{winepedir}/pnputil.exe +%{_libdir}/wine/%{winepedir}/powershell.exe +%{_libdir}/wine/%{winepedir}/reg.exe +%{_libdir}/wine/%{winepedir}/regasm.exe +%{_libdir}/wine/%{winepedir}/regedit.exe +%{_libdir}/wine/%{winepedir}/regsvcs.exe +%{_libdir}/wine/%{winepedir}/regsvr32.exe +%{_libdir}/wine/%{winepedir}/rpcss.exe +%{_libdir}/wine/%{winepedir}/rundll32.exe +%{_libdir}/wine/%{winepedir}/schtasks.exe +%{_libdir}/wine/%{winepedir}/sdbinst.exe +%{_libdir}/wine/%{winepedir}/secedit.exe +%{_libdir}/wine/%{winepedir}/servicemodelreg.exe +%{_libdir}/wine/%{winepedir}/services.exe +%{_libdir}/wine/%{winepedir}/setx.exe +%{_libdir}/wine/%{winepedir}/start.exe +%{_libdir}/wine/%{winepedir}/tasklist.exe +%{_libdir}/wine/%{winepedir}/termsv.exe +%{_libdir}/wine/%{winepedir}/view.exe +%{_libdir}/wine/%{winepedir}/wevtutil.exe +%{_libdir}/wine/%{winepedir}/where.exe +%{_libdir}/wine/%{winepedir}/whoami.exe +%{_libdir}/wine/%{winepedir}/wineboot.exe +%{_libdir}/wine/%{winepedir}/winebrowser.exe +%{_libdir}/wine/%{winepedir}/wineconsole.exe +%{_libdir}/wine/%{winepedir}/winemenubuilder.exe +%{_libdir}/wine/%{winepedir}/winecfg.exe +%{_libdir}/wine/%{winepedir}/winedevice.exe +%{_libdir}/wine/%{winepedir}/winhlp32.exe +%{_libdir}/wine/%{winepedir}/wmplayer.exe +%{_libdir}/wine/%{winepedir}/wscript.exe +%{_libdir}/wine/%{winepedir}/uninstaller.exe + +%{_libdir}/wine/%{winepedir}/acledit.dll +%{_libdir}/wine/%{winepedir}/aclui.dll +%{_libdir}/wine/%{winepedir}/activeds.dll +%{_libdir}/wine/%{winepedir}/activeds.tlb +%{_libdir}/wine/%{winepedir}/actxprxy.dll +%{_libdir}/wine/%{winepedir}/adsldp.dll +%{_libdir}/wine/%{winepedir}/adsldpc.dll +%{_libdir}/wine/%{winepedir}/advapi32.dll +%{_libdir}/wine/%{winepedir}/advpack.dll +%{_libdir}/wine/%{winepedir}/amsi.dll +%{_libdir}/wine/%{winepedir}/amstream.dll +%{_libdir}/wine/%{winepedir}/apisetschema.dll +%{_libdir}/wine/%{winepedir}/apphelp.dll +%{_libdir}/wine/%{winepedir}/appwiz.cpl +%{_libdir}/wine/%{winepedir}/appxdeploymentclient.dll +%{_libdir}/wine/%{winepedir}/atl.dll +%{_libdir}/wine/%{winepedir}/atl80.dll +%{_libdir}/wine/%{winepedir}/atl90.dll +%{_libdir}/wine/%{winepedir}/atl100.dll +%{_libdir}/wine/%{winepedir}/atl110.dll +%{_libdir}/wine/%{winepedir}/atlthunk.dll +%{_libdir}/wine/%{winepedir}/atmlib.dll +%{_libdir}/wine/%{winepedir}/authz.dll +%{_libdir}/wine/%{winepedir}/avicap32.dll +%{_libdir}/wine/%{winesodir}/avicap32.so +%{_libdir}/wine/%{winepedir}/avifil32.dll +%{_libdir}/wine/%{winepedir}/avrt.dll +%{_libdir}/wine/%{winesodir}/bcrypt.so +%{_libdir}/wine/%{winepedir}/bcrypt.dll +%{_libdir}/wine/%{winepedir}/bcryptprimitives.dll +%{_libdir}/wine/%{winepedir}/bluetoothapis.dll +%{_libdir}/wine/%{winepedir}/browseui.dll +%{_libdir}/wine/%{winepedir}/bthprops.cpl +%{_libdir}/wine/%{winepedir}/cabinet.dll +%{_libdir}/wine/%{winepedir}/cards.dll +%{_libdir}/wine/%{winepedir}/cdosys.dll +%{_libdir}/wine/%{winepedir}/cfgmgr32.dll +%{_libdir}/wine/%{winepedir}/chcp.com +%{_libdir}/wine/%{winepedir}/clock.exe +%{_libdir}/wine/%{winepedir}/clusapi.dll +%{_libdir}/wine/%{winepedir}/cng.sys +%{_libdir}/wine/%{winepedir}/combase.dll +%{_libdir}/wine/%{winepedir}/comcat.dll +%{_libdir}/wine/%{winepedir}/comctl32.dll +%{_libdir}/wine/%{winepedir}/comdlg32.dll +%{_libdir}/wine/%{winepedir}/coml2.dll +%{_libdir}/wine/%{winepedir}/compstui.dll +%{_libdir}/wine/%{winepedir}/comsvcs.dll +%{_libdir}/wine/%{winepedir}/concrt140.dll +%{_libdir}/wine/%{winepedir}/connect.dll +%{_libdir}/wine/%{winepedir}/credui.dll +%{_libdir}/wine/%{winepedir}/crtdll.dll +%{_libdir}/wine/%{winesodir}/crypt32.so +%{_libdir}/wine/%{winepedir}/crypt32.dll +%{_libdir}/wine/%{winepedir}/cryptdlg.dll +%{_libdir}/wine/%{winepedir}/cryptdll.dll +%{_libdir}/wine/%{winepedir}/cryptext.dll +%{_libdir}/wine/%{winepedir}/cryptnet.dll +%{_libdir}/wine/%{winepedir}/cryptowinrt.dll +%{_libdir}/wine/%{winepedir}/cryptsp.dll +%{_libdir}/wine/%{winepedir}/cryptui.dll +%{_libdir}/wine/%{winepedir}/ctapi32.dll +%{_libdir}/wine/%{winesodir}/ctapi32.so +%{_libdir}/wine/%{winepedir}/ctl3d32.dll +%{_libdir}/wine/%{winepedir}/d2d1.dll +%ghost %{_libdir}/wine/%{winepedir}/d3d10.dll +%ghost %{_libdir}/wine/%{winepedir}/d3d10_1.dll +%ghost %{_libdir}/wine/%{winepedir}/d3d10core.dll +%{_libdir}/wine/%{winepedir}/wine-d3d10.dll +%{_libdir}/wine/%{winepedir}/wine-d3d10_1.dll +%{_libdir}/wine/%{winepedir}/wine-d3d10core.dll +%ghost %{_libdir}/wine/%{winepedir}/d3d11.dll +%{_libdir}/wine/%{winepedir}/wine-d3d11.dll +%{_libdir}/wine/%{winepedir}/d3d12.dll +%{_libdir}/wine/%{winepedir}/d3d12core.dll +%{_libdir}/wine/%{winepedir}/d3dcompiler_*.dll +%{_libdir}/wine/%{winepedir}/d3dim.dll +%{_libdir}/wine/%{winepedir}/d3dim700.dll +%{_libdir}/wine/%{winepedir}/d3drm.dll +%{_libdir}/wine/%{winepedir}/d3dx9_*.dll +%{_libdir}/wine/%{winepedir}/d3dx10_*.dll +%{_libdir}/wine/%{winepedir}/d3dx11_42.dll +%{_libdir}/wine/%{winepedir}/d3dx11_43.dll +%{_libdir}/wine/%{winepedir}/d3dxof.dll +%{_libdir}/wine/%{winepedir}/davclnt.dll +%{_libdir}/wine/%{winepedir}/dbgeng.dll +%{_libdir}/wine/%{winepedir}/dbghelp.dll +%{_libdir}/wine/%{winepedir}/dciman32.dll +%{_libdir}/wine/%{winepedir}/dcomp.dll +%{_libdir}/wine/%{winepedir}/ddraw.dll +%{_libdir}/wine/%{winepedir}/ddrawex.dll +%{_libdir}/wine/%{winepedir}/devenum.dll +%{_libdir}/wine/%{winepedir}/dhcpcsvc.dll +%{_libdir}/wine/%{winepedir}/dhcpcsvc6.dll +%{_libdir}/wine/%{winepedir}/dhtmled.ocx +%{_libdir}/wine/%{winepedir}/diasymreader.dll +%{_libdir}/wine/%{winepedir}/difxapi.dll +%{_libdir}/wine/%{winepedir}/dinput.dll +%{_libdir}/wine/%{winepedir}/dinput8.dll +%{_libdir}/wine/%{winepedir}/directmanipulation.dll +%{_libdir}/wine/%{winepedir}/dispex.dll +%{_libdir}/wine/%{winepedir}/dmband.dll +%{_libdir}/wine/%{winepedir}/dmcompos.dll +%{_libdir}/wine/%{winepedir}/dmime.dll +%{_libdir}/wine/%{winepedir}/dmloader.dll +%{_libdir}/wine/%{winepedir}/dmscript.dll +%{_libdir}/wine/%{winepedir}/dmstyle.dll +%{_libdir}/wine/%{winepedir}/dmsynth.dll +%{_libdir}/wine/%{winepedir}/dmusic.dll +%{_libdir}/wine/%{winepedir}/dmusic32.dll +%{_libdir}/wine/%{winepedir}/dplay.dll +%{_libdir}/wine/%{winepedir}/dplayx.dll +%{_libdir}/wine/%{winepedir}/dpnaddr.dll +%{_libdir}/wine/%{winepedir}/dpnet.dll +%{_libdir}/wine/%{winepedir}/dpnhpast.dll +%{_libdir}/wine/%{winepedir}/dpnhupnp.dll +%{_libdir}/wine/%{winepedir}/dpnlobby.dll +%{_libdir}/wine/%{winepedir}/dpvoice.dll +%{_libdir}/wine/%{winepedir}/dpwsockx.dll +%{_libdir}/wine/%{winepedir}/drmclien.dll +%{_libdir}/wine/%{winepedir}/dsound.dll +%{_libdir}/wine/%{winepedir}/dsdmo.dll +%{_libdir}/wine/%{winepedir}/dsquery.dll +%{_libdir}/wine/%{winepedir}/dssenh.dll +%{_libdir}/wine/%{winepedir}/dsuiext.dll +%{_libdir}/wine/%{winepedir}/dswave.dll +%{_libdir}/wine/%{winepedir}/dwmapi.dll +%{_libdir}/wine/%{winepedir}/dwrite.dll +%{_libdir}/wine/%{winesodir}/dwrite.so +%{_libdir}/wine/%{winepedir}/dx8vb.dll +%{_libdir}/wine/%{winepedir}/dxcore.dll +%{_libdir}/wine/%{winepedir}/dxdiagn.dll +%ghost %{_libdir}/wine/%{winepedir}/dxgi.dll +%{_libdir}/wine/%{winepedir}/wine-dxgi.dll +%if 0%{?wine_staging} +%{_libdir}/wine/%{winepedir}/dxgkrnl.sys +%{_libdir}/wine/%{winepedir}/dxgmms1.sys +%endif +%{_libdir}/wine/%{winepedir}/dxtrans.dll +%{_libdir}/wine/%{winepedir}/dxva2.dll +%{_libdir}/wine/%{winepedir}/esent.dll +%{_libdir}/wine/%{winepedir}/evr.dll +%{_libdir}/wine/%{winepedir}/explorerframe.dll +%{_libdir}/wine/%{winepedir}/faultrep.dll +%{_libdir}/wine/%{winepedir}/feclient.dll +%{_libdir}/wine/%{winepedir}/fltlib.dll +%{_libdir}/wine/%{winepedir}/fltmgr.sys +%{_libdir}/wine/%{winepedir}/fntcache.dll +%{_libdir}/wine/%{winepedir}/fontsub.dll +%{_libdir}/wine/%{winepedir}/fusion.dll +%{_libdir}/wine/%{winepedir}/fwpuclnt.dll +%{_libdir}/wine/%{winepedir}/gameux.dll +%{_libdir}/wine/%{winepedir}/gamingtcui.dll +%{_libdir}/wine/%{winepedir}/gdi32.dll +%{_libdir}/wine/%{winepedir}/gdiplus.dll +%{_libdir}/wine/%{winepedir}/geolocation.dll +%{_libdir}/wine/%{winepedir}/glu32.dll +%{_libdir}/wine/%{winepedir}/gphoto2.ds +%{_libdir}/wine/%{winesodir}/gphoto2.so +%{_libdir}/wine/%{winepedir}/gpkcsp.dll +%{_libdir}/wine/%{winepedir}/graphicscapture.dll +%{_libdir}/wine/%{winepedir}/hal.dll +%{_libdir}/wine/%{winepedir}/hh.exe +%{_libdir}/wine/%{winepedir}/hhctrl.ocx +%{_libdir}/wine/%{winepedir}/hid.dll +%{_libdir}/wine/%{winepedir}/hidclass.sys +%{_libdir}/wine/%{winepedir}/hidparse.sys +%{_libdir}/wine/%{winepedir}/hlink.dll +%{_libdir}/wine/%{winepedir}/hnetcfg.dll +%{_libdir}/wine/%{winepedir}/hrtfapo.dll +%{_libdir}/wine/%{winepedir}/http.sys +%{_libdir}/wine/%{winepedir}/httpapi.dll +%{_libdir}/wine/%{winepedir}/hvsimanagementapi.dll +%{_libdir}/wine/%{winepedir}/ia2comproxy.dll +%{_libdir}/wine/%{winepedir}/icacls.exe +%{_libdir}/wine/%{winepedir}/iccvid.dll +%{_libdir}/wine/%{winepedir}/icinfo.exe +%{_libdir}/wine/%{winepedir}/icmp.dll +%{_libdir}/wine/%{winepedir}/ieframe.dll +%{_libdir}/wine/%{winepedir}/ieproxy.dll +%{_libdir}/wine/%{winepedir}/imaadp32.acm +%{_libdir}/wine/%{winepedir}/imagehlp.dll +%{_libdir}/wine/%{winepedir}/imm32.dll +%{_libdir}/wine/%{winepedir}/inetcomm.dll +%{_libdir}/wine/%{winepedir}/inetcpl.cpl +%{_libdir}/wine/%{winepedir}/inetmib1.dll +%{_libdir}/wine/%{winepedir}/infosoft.dll +%{_libdir}/wine/%{winepedir}/initpki.dll +%{_libdir}/wine/%{winepedir}/inkobj.dll +%{_libdir}/wine/%{winepedir}/inseng.dll +%{_libdir}/wine/%{winepedir}/iphlpapi.dll +%{_libdir}/wine/%{winepedir}/iprop.dll +%{_libdir}/wine/%{winepedir}/irprops.cpl +%{_libdir}/wine/%{winepedir}/ir50_32.dll +%{_libdir}/wine/%{winepedir}/itircl.dll +%{_libdir}/wine/%{winepedir}/itss.dll +%{_libdir}/wine/%{winepedir}/joy.cpl +%{_libdir}/wine/%{winepedir}/jscript.dll +%{_libdir}/wine/%{winepedir}/jsproxy.dll +%{_libdir}/wine/%{winesodir}/kerberos.so +%{_libdir}/wine/%{winepedir}/kerberos.dll +%{_libdir}/wine/%{winepedir}/kernel32.dll +%{_libdir}/wine/%{winepedir}/kernelbase.dll +%{_libdir}/wine/%{winepedir}/ksecdd.sys +%{_libdir}/wine/%{winepedir}/ksproxy.ax +%{_libdir}/wine/%{winepedir}/ksuser.dll +%{_libdir}/wine/%{winepedir}/ktmw32.dll +%{_libdir}/wine/%{winepedir}/l3codeca.acm +%{_libdir}/wine/%{winepedir}/light.msstyles +%{_libdir}/wine/%{winepedir}/loadperf.dll +%{_libdir}/wine/%{winesodir}/localspl.so +%{_libdir}/wine/%{winepedir}/localspl.dll +%{_libdir}/wine/%{winepedir}/localui.dll +%{_libdir}/wine/%{winepedir}/lodctr.exe +%{_libdir}/wine/%{winepedir}/lz32.dll +%{_libdir}/wine/%{winepedir}/magnification.dll +%{_libdir}/wine/%{winepedir}/mapi32.dll +%{_libdir}/wine/%{winepedir}/mapistub.dll +%{_libdir}/wine/%{winepedir}/mciavi32.dll +%{_libdir}/wine/%{winepedir}/mcicda.dll +%{_libdir}/wine/%{winepedir}/mciqtz32.dll +%{_libdir}/wine/%{winepedir}/mciseq.dll +%{_libdir}/wine/%{winepedir}/mciwave.dll +%{_libdir}/wine/%{winepedir}/mf.dll +%{_libdir}/wine/%{winepedir}/mf3216.dll +%{_libdir}/wine/%{winepedir}/mferror.dll +%{_libdir}/wine/%{winepedir}/mfmediaengine.dll +%{_libdir}/wine/%{winepedir}/mfplat.dll +%{_libdir}/wine/%{winepedir}/mfplay.dll +%{_libdir}/wine/%{winepedir}/mfreadwrite.dll +%{_libdir}/wine/%{winepedir}/mfsrcsnk.dll +%{_libdir}/wine/%{winepedir}/mgmtapi.dll +%{_libdir}/wine/%{winepedir}/midimap.dll +%{_libdir}/wine/%{winepedir}/mlang.dll +%{_libdir}/wine/%{winepedir}/mmcndmgr.dll +%{_libdir}/wine/%{winepedir}/mmdevapi.dll +%{_libdir}/wine/%{winepedir}/mofcomp.exe +%{_libdir}/wine/%{winesodir}/mountmgr.so +%{_libdir}/wine/%{winepedir}/mountmgr.sys +%{_libdir}/wine/%{winepedir}/mp3dmod.dll +%{_libdir}/wine/%{winepedir}/mpr.dll +%{_libdir}/wine/%{winepedir}/mprapi.dll +%{_libdir}/wine/%{winepedir}/msacm32.dll +%{_libdir}/wine/%{winepedir}/msacm32.drv +%{_libdir}/wine/%{winepedir}/msado15.dll +%{_libdir}/wine/%{winepedir}/msadp32.acm +%{_libdir}/wine/%{winepedir}/msasn1.dll +%{_libdir}/wine/%{winepedir}/msauddecmft.dll +%{_libdir}/wine/%{winepedir}/mscat32.dll +%{_libdir}/wine/%{winepedir}/mscoree.dll +%{_libdir}/wine/%{winepedir}/mscorwks.dll +%{_libdir}/wine/%{winepedir}/msctf.dll +%{_libdir}/wine/%{winepedir}/msctfmonitor.dll +%{_libdir}/wine/%{winepedir}/msctfp.dll +%{_libdir}/wine/%{winepedir}/msdaps.dll +%{_libdir}/wine/%{winepedir}/msdasql.dll +%{_libdir}/wine/%{winepedir}/msdelta.dll +%{_libdir}/wine/%{winepedir}/msdmo.dll +%{_libdir}/wine/%{winepedir}/msdrm.dll +%{_libdir}/wine/%{winepedir}/msftedit.dll +%{_libdir}/wine/%{winepedir}/msg711.acm +%{_libdir}/wine/%{winepedir}/msgsm32.acm +%{_libdir}/wine/%{winepedir}/mshtml.dll +%{_libdir}/wine/%{winepedir}/mshtml.tlb +%{_libdir}/wine/%{winepedir}/msi.dll +%{_libdir}/wine/%{winepedir}/msident.dll +%{_libdir}/wine/%{winepedir}/msimtf.dll +%{_libdir}/wine/%{winepedir}/msimg32.dll +%{_libdir}/wine/%{winepedir}/msimsg.dll +%{_libdir}/wine/%{winepedir}/msinfo32.exe +%{_libdir}/wine/%{winepedir}/msisip.dll +%{_libdir}/wine/%{winepedir}/msisys.ocx +%{_libdir}/wine/%{winepedir}/msls31.dll +%{_libdir}/wine/%{winepedir}/msmpeg2vdec.dll +%{_libdir}/wine/%{winepedir}/msnet32.dll +%{_libdir}/wine/%{winepedir}/mspatcha.dll +%{_libdir}/wine/%{winepedir}/msports.dll +%{_libdir}/wine/%{winepedir}/msscript.ocx +%{_libdir}/wine/%{winepedir}/mssign32.dll +%{_libdir}/wine/%{winepedir}/mssip32.dll +%{_libdir}/wine/%{winepedir}/msrle32.dll +%{_libdir}/wine/%{winepedir}/mstask.dll +%{_libdir}/wine/%{winepedir}/msttsengine.dll +%{_libdir}/wine/%{winepedir}/msv1_0.dll +%{_libdir}/wine/%{winesodir}/msv1_0.so +%{_libdir}/wine/%{winepedir}/msvcirt.dll +%{_libdir}/wine/%{winepedir}/msvcm80.dll +%{_libdir}/wine/%{winepedir}/msvcm90.dll +%{_libdir}/wine/%{winepedir}/msvcp_win.dll +%{_libdir}/wine/%{winepedir}/msvcp60.dll +%{_libdir}/wine/%{winepedir}/msvcp70.dll +%{_libdir}/wine/%{winepedir}/msvcp71.dll +%{_libdir}/wine/%{winepedir}/msvcp80.dll +%{_libdir}/wine/%{winepedir}/msvcp90.dll +%{_libdir}/wine/%{winepedir}/msvcp100.dll +%{_libdir}/wine/%{winepedir}/msvcp110.dll +%{_libdir}/wine/%{winepedir}/msvcp120.dll +%{_libdir}/wine/%{winepedir}/msvcp120_app.dll +%{_libdir}/wine/%{winepedir}/msvcp140.dll +%{_libdir}/wine/%{winepedir}/msvcp140_1.dll +%{_libdir}/wine/%{winepedir}/msvcp140_2.dll +%{_libdir}/wine/%{winepedir}/msvcp140_atomic_wait.dll +%{_libdir}/wine/%{winepedir}/msvcp140_codecvt_ids.dll +%{_libdir}/wine/%{winepedir}/msvcr70.dll +%{_libdir}/wine/%{winepedir}/msvcr71.dll +%{_libdir}/wine/%{winepedir}/msvcr80.dll +%{_libdir}/wine/%{winepedir}/msvcr90.dll +%{_libdir}/wine/%{winepedir}/msvcr100.dll +%{_libdir}/wine/%{winepedir}/msvcr110.dll +%{_libdir}/wine/%{winepedir}/msvcr120.dll +%{_libdir}/wine/%{winepedir}/msvcr120_app.dll +%{_libdir}/wine/%{winepedir}/msvcrt.dll +%{_libdir}/wine/%{winepedir}/msvcrt20.dll +%{_libdir}/wine/%{winepedir}/msvcrt40.dll +%{_libdir}/wine/%{winepedir}/msvcrtd.dll +%{_libdir}/wine/%{winepedir}/msvfw32.dll +%{_libdir}/wine/%{winepedir}/msvidc32.dll +%{_libdir}/wine/%{winepedir}/mswsock.dll +%{_libdir}/wine/%{winepedir}/msxml.dll +%{_libdir}/wine/%{winepedir}/msxml2.dll +%{_libdir}/wine/%{winepedir}/msxml3.dll +%{_libdir}/wine/%{winepedir}/msxml4.dll +%{_libdir}/wine/%{winepedir}/msxml6.dll +%{_libdir}/wine/%{winepedir}/mtxdm.dll +%{_libdir}/wine/%{winepedir}/nddeapi.dll +%{_libdir}/wine/%{winepedir}/ncrypt.dll +%{_libdir}/wine/%{winepedir}/ndis.sys +%{_libdir}/wine/%{winesodir}/netapi32.so +%{_libdir}/wine/%{winepedir}/netapi32.dll +%{_libdir}/wine/%{winepedir}/netcfgx.dll +%{_libdir}/wine/%{winepedir}/netio.sys +%{_libdir}/wine/%{winepedir}/netprofm.dll +%{_libdir}/wine/%{winepedir}/netsh.exe +%{_libdir}/wine/%{winepedir}/netutils.dll +%{_libdir}/wine/%{winepedir}/newdev.dll +%{_libdir}/wine/%{winepedir}/ninput.dll +%{_libdir}/wine/%{winepedir}/normaliz.dll +%{_libdir}/wine/%{winepedir}/npmshtml.dll +%{_libdir}/wine/%{winepedir}/npptools.dll +%{_libdir}/wine/%{winepedir}/nsi.dll +%{_libdir}/wine/%{winesodir}/nsiproxy.so +%{_libdir}/wine/%{winepedir}/nsiproxy.sys +%{_libdir}/wine/%{winesodir}/ntdll.so +%{_libdir}/wine/%{winepedir}/ntdll.dll +%{_libdir}/wine/%{winepedir}/ntdsapi.dll +%{_libdir}/wine/%{winepedir}/ntprint.dll +%if 0%{?wine_staging} +#%%{_libdir}/wine/%%{winepedir}/nvcuda.dll +#%%{_libdir}/wine/%%{winesodir}/nvcuda.dll.so +#%%{_libdir}/wine/%%{winepedir}/nvcuvid.dll +#%%{_libdir}/wine/%%{winesodir}/nvcuvid.dll.so +%endif +%{_libdir}/wine/%{winepedir}/objsel.dll +%{_libdir}/wine/%{winesodir}/odbc32.so +%{_libdir}/wine/%{winepedir}/odbc32.dll +%{_libdir}/wine/%{winepedir}/odbcbcp.dll +%{_libdir}/wine/%{winepedir}/odbccp32.dll +%{_libdir}/wine/%{winepedir}/odbccu32.dll +%{_libdir}/wine/%{winepedir}/ole32.dll +%{_libdir}/wine/%{winepedir}/oleacc.dll +%{_libdir}/wine/%{winepedir}/oleaut32.dll +%{_libdir}/wine/%{winepedir}/olecli32.dll +%{_libdir}/wine/%{winepedir}/oledb32.dll +%{_libdir}/wine/%{winepedir}/oledlg.dll +%{_libdir}/wine/%{winepedir}/olepro32.dll +%{_libdir}/wine/%{winepedir}/olesvr32.dll +%{_libdir}/wine/%{winepedir}/olethk32.dll +%{_libdir}/wine/%{winepedir}/opcservices.dll +%{_libdir}/wine/%{winepedir}/packager.dll +%{_libdir}/wine/%{winepedir}/pdh.dll +%{_libdir}/wine/%{winepedir}/photometadatahandler.dll +%{_libdir}/wine/%{winepedir}/pidgen.dll +%{_libdir}/wine/%{winepedir}/powrprof.dll +%{_libdir}/wine/%{winepedir}/presentationfontcache.exe +%{_libdir}/wine/%{winepedir}/printui.dll +%{_libdir}/wine/%{winepedir}/prntvpt.dll +%{_libdir}/wine/%{winepedir}/propsys.dll +%{_libdir}/wine/%{winepedir}/psapi.dll +%{_libdir}/wine/%{winepedir}/pstorec.dll +%{_libdir}/wine/%{winepedir}/pwrshplugin.dll +%{_libdir}/wine/%{winepedir}/qasf.dll +%{_libdir}/wine/%{winepedir}/qcap.dll +%{_libdir}/wine/%{winesodir}/qcap.so +%{_libdir}/wine/%{winepedir}/qdvd.dll +%{_libdir}/wine/%{winepedir}/qedit.dll +%{_libdir}/wine/%{winepedir}/qmgr.dll +%{_libdir}/wine/%{winepedir}/qmgrprxy.dll +%{_libdir}/wine/%{winepedir}/quartz.dll +%{_libdir}/wine/%{winepedir}/query.dll +%{_libdir}/wine/%{winepedir}/qwave.dll +%{_libdir}/wine/%{winepedir}/rasapi32.dll +%{_libdir}/wine/%{winepedir}/rasdlg.dll +%{_libdir}/wine/%{winepedir}/regapi.dll +%{_libdir}/wine/%{winepedir}/regini.exe +%{_libdir}/wine/%{winepedir}/resutils.dll +%{_libdir}/wine/%{winepedir}/riched20.dll +%{_libdir}/wine/%{winepedir}/riched32.dll +%{_libdir}/wine/%{winepedir}/robocopy.exe +%{_libdir}/wine/%{winepedir}/rpcrt4.dll +%{_libdir}/wine/%{winepedir}/rsabase.dll +%{_libdir}/wine/%{winepedir}/rsaenh.dll +%{_libdir}/wine/%{winepedir}/rstrtmgr.dll +%{_libdir}/wine/%{winepedir}/rtutils.dll +%{_libdir}/wine/%{winepedir}/rtworkq.dll +%{_libdir}/wine/%{winepedir}/samlib.dll +%{_libdir}/wine/%{winepedir}/sapi.dll +%{_libdir}/wine/%{winepedir}/sas.dll +%{_libdir}/wine/%{winepedir}/sc.exe +%{_libdir}/wine/%{winepedir}/scarddlg.dll +%{_libdir}/wine/%{winepedir}/scardsvr.dll +%{_libdir}/wine/%{winepedir}/sccbase.dll +%{_libdir}/wine/%{winepedir}/schannel.dll +%{_libdir}/wine/%{winepedir}/scrobj.dll +%{_libdir}/wine/%{winepedir}/scrrun.dll +%{_libdir}/wine/%{winepedir}/scsiport.sys +%{_libdir}/wine/%{winepedir}/sechost.dll +%{_libdir}/wine/%{winepedir}/secur32.dll +%{_libdir}/wine/%{winesodir}/secur32.so +%{_libdir}/wine/%{winepedir}/sensapi.dll +%{_libdir}/wine/%{winepedir}/serialui.dll +%{_libdir}/wine/%{winepedir}/setupapi.dll +%{_libdir}/wine/%{winepedir}/sfc_os.dll +%{_libdir}/wine/%{winepedir}/shcore.dll +%{_libdir}/wine/%{winepedir}/shdoclc.dll +%{_libdir}/wine/%{winepedir}/shdocvw.dll +%{_libdir}/wine/%{winepedir}/schedsvc.dll +%{_libdir}/wine/%{winepedir}/shell32.dll +%{_libdir}/wine/%{winepedir}/shfolder.dll +%{_libdir}/wine/%{winepedir}/shlwapi.dll +%{_libdir}/wine/%{winepedir}/shutdown.exe +%{_libdir}/wine/%{winepedir}/slbcsp.dll +%{_libdir}/wine/%{winepedir}/slc.dll +%{_libdir}/wine/%{winepedir}/snmpapi.dll +%{_libdir}/wine/%{winepedir}/softpub.dll +%{_libdir}/wine/%{winepedir}/spoolsv.exe +%{_libdir}/wine/%{winepedir}/sppc.dll +%{_libdir}/wine/%{winepedir}/srclient.dll +%{_libdir}/wine/%{winepedir}/srvcli.dll +%{_libdir}/wine/%{winepedir}/srvsvc.dll +%{_libdir}/wine/%{winepedir}/sspicli.dll +%{_libdir}/wine/%{winepedir}/stdole2.tlb +%{_libdir}/wine/%{winepedir}/stdole32.tlb +%{_libdir}/wine/%{winepedir}/sti.dll +%{_libdir}/wine/%{winepedir}/strmdll.dll +%{_libdir}/wine/%{winepedir}/subst.exe +%{_libdir}/wine/%{winepedir}/svchost.exe +%{_libdir}/wine/%{winepedir}/svrapi.dll +%{_libdir}/wine/%{winepedir}/sxs.dll +%{_libdir}/wine/%{winepedir}/systeminfo.exe +%{_libdir}/wine/%{winepedir}/t2embed.dll +%{_libdir}/wine/%{winepedir}/tapi32.dll +%{_libdir}/wine/%{winepedir}/taskkill.exe +%{_libdir}/wine/%{winepedir}/taskschd.dll +%{_libdir}/wine/%{winepedir}/tbs.dll +%{_libdir}/wine/%{winepedir}/tdh.dll +%{_libdir}/wine/%{winepedir}/tdi.sys +%{_libdir}/wine/%{winepedir}/threadpoolwinrt.dll +%{_libdir}/wine/%{winepedir}/traffic.dll +%{_libdir}/wine/%{winepedir}/twinapi.appcore.dll +%{_libdir}/wine/%{winepedir}/tzres.dll +%{_libdir}/wine/%{winepedir}/ucrtbase.dll +%{_libdir}/wine/%{winepedir}/uianimation.dll +%{_libdir}/wine/%{winepedir}/uiautomationcore.dll +%{_libdir}/wine/%{winepedir}/uiribbon.dll +%{_libdir}/wine/%{winepedir}/unicows.dll +%{_libdir}/wine/%{winepedir}/unlodctr.exe +%{_libdir}/wine/%{winepedir}/updspapi.dll +%{_libdir}/wine/%{winepedir}/url.dll +%{_libdir}/wine/%{winepedir}/urlmon.dll +%{_libdir}/wine/%{winepedir}/usbd.sys +%{_libdir}/wine/%{winepedir}/user32.dll +%{_libdir}/wine/%{winepedir}/usp10.dll +%{_libdir}/wine/%{winepedir}/utildll.dll +%{_libdir}/wine/%{winepedir}/uxtheme.dll +%{_libdir}/wine/%{winepedir}/userenv.dll +%{_libdir}/wine/%{winepedir}/vbscript.dll +%{_libdir}/wine/%{winepedir}/vcomp.dll +%{_libdir}/wine/%{winepedir}/vcomp90.dll +%{_libdir}/wine/%{winepedir}/vcomp100.dll +%{_libdir}/wine/%{winepedir}/vcomp110.dll +%{_libdir}/wine/%{winepedir}/vcomp120.dll +%{_libdir}/wine/%{winepedir}/vcomp140.dll +%{_libdir}/wine/%{winepedir}/vcruntime140.dll +%ifarch x86_64 +%{_libdir}/wine/%{winepedir}/vcruntime140_1.dll +%endif +%{_libdir}/wine/%{winepedir}/vdmdbg.dll +%{_libdir}/wine/%{winepedir}/version.dll +%{_libdir}/wine/%{winepedir}/vga.dll +%{_libdir}/wine/%{winepedir}/virtdisk.dll +%{_libdir}/wine/%{winepedir}/vssapi.dll +%{_libdir}/wine/%{winepedir}/vulkan-1.dll +%{_libdir}/wine/%{winepedir}/wbemdisp.dll +%{_libdir}/wine/%{winepedir}/wbemprox.dll +%{_libdir}/wine/%{winepedir}/wdscore.dll +%{_libdir}/wine/%{winepedir}/webservices.dll +%{_libdir}/wine/%{winepedir}/websocket.dll +%{_libdir}/wine/%{winepedir}/wer.dll +%{_libdir}/wine/%{winepedir}/wevtapi.dll +%{_libdir}/wine/%{winepedir}/wevtsvc.dll +%{_libdir}/wine/%{winepedir}/wiaservc.dll +%{_libdir}/wine/%{winepedir}/wimgapi.dll +%if 0%{?wine_staging} +%{_libdir}/wine/%{winepedir}/win32k.sys +%endif +%{_libdir}/wine/%{winepedir}/win32u.dll +%{_libdir}/wine/%{winepedir}/windows.applicationmodel.dll +%{_libdir}/wine/%{winepedir}/windows.devices.bluetooth.dll +%{_libdir}/wine/%{winepedir}/windows.devices.enumeration.dll +%{_libdir}/wine/%{winepedir}/windows.devices.usb.dll +%{_libdir}/wine/%{winepedir}/windows.gaming.ui.gamebar.dll +%{_libdir}/wine/%{winepedir}/windows.gaming.input.dll +%{_libdir}/wine/%{winepedir}/windows.globalization.dll +%{_libdir}/wine/%{winepedir}/windows.media.dll +%{_libdir}/wine/%{winepedir}/windows.media.devices.dll +%{_libdir}/wine/%{winepedir}/windows.media.mediacontrol.dll +%{_libdir}/wine/%{winepedir}/windows.media.speech.dll +%if 0%{?wine_staging} +%{_libdir}/wine/%{winepedir}/windows.networking.connectivity +%endif +%{_libdir}/wine/%{winepedir}/windows.networking.dll +%{_libdir}/wine/%{winepedir}/windows.networking.hostname.dll +%{_libdir}/wine/%{winepedir}/windows.perception.stub.dll +%{_libdir}/wine/%{winepedir}/windows.security.credentials.ui.userconsentverifier.dll +%{_libdir}/wine/%{winepedir}/windows.storage.applicationdata.dll +%{_libdir}/wine/%{winepedir}/windows.system.profile.systemmanufacturers.dll +%{_libdir}/wine/%{winepedir}/windows.ui.dll +%{_libdir}/wine/%{winepedir}/windowscodecs.dll +%{_libdir}/wine/%{winepedir}/windowscodecsext.dll +%{_libdir}/wine/%{winepedir}/winebus.sys +%{_libdir}/wine/%{winesodir}/winegstreamer.so +%{_libdir}/wine/%{winepedir}/winegstreamer.dll +%{_libdir}/wine/%{winepedir}/winehid.sys +%{_libdir}/wine/%{winepedir}/winemapi.dll +%{_libdir}/wine/%{winepedir}/wineusb.sys +%{_libdir}/wine/%{winesodir}/wineusb.so +%{_libdir}/wine/%{winesodir}/winevulkan.so +%{_libdir}/wine/%{winepedir}/winevulkan.dll +%{_libdir}/wine/%{winepedir}/winewayland.drv +%{_libdir}/wine/%{winesodir}/winewayland.so +%{_libdir}/wine/%{winepedir}/winex11.drv +%{_libdir}/wine/%{winesodir}/winex11.so +%{_libdir}/wine/%{winepedir}/wing32.dll +%{_libdir}/wine/%{winepedir}/winhttp.dll +%{_libdir}/wine/%{winepedir}/wininet.dll +%{_libdir}/wine/%{winepedir}/winmm.dll +%{_libdir}/wine/%{winepedir}/winnls32.dll +%{_libdir}/wine/%{winepedir}/winprint.dll +%{_libdir}/wine/%{winepedir}/winspool.drv +%{_libdir}/wine/%{winesodir}/winspool.so +%{_libdir}/wine/%{winepedir}/winsta.dll +%{_libdir}/wine/%{winepedir}/wintypes.dll +%{_libdir}/wine/%{winepedir}/wldp.dll +%{_libdir}/wine/%{winepedir}/wmasf.dll +%{_libdir}/wine/%{winepedir}/wmi.dll +%{_libdir}/wine/%{winepedir}/wmic.exe +%{_libdir}/wine/%{winepedir}/wmiutils.dll +%{_libdir}/wine/%{winepedir}/wmp.dll +%{_libdir}/wine/%{winepedir}/wmvcore.dll +%{_libdir}/wine/%{winepedir}/spoolss.dll +%{_libdir}/wine/%{winesodir}/win32u.so +%{_libdir}/wine/%{winesodir}/winebus.so +%{_libdir}/wine/%{winepedir}/winexinput.sys +%{_libdir}/wine/%{winepedir}/wintab32.dll +%{_libdir}/wine/%{winepedir}/wintrust.dll +%{_libdir}/wine/%{winepedir}/winusb.dll +%{_libdir}/wine/%{winepedir}/wlanapi.dll +%{_libdir}/wine/%{winepedir}/wlanui.dll +%{_libdir}/wine/%{winepedir}/wmphoto.dll +%{_libdir}/wine/%{winepedir}/wnaspi32.dll +%{_libdir}/wine/%{winepedir}/wofutil.dll +%ifarch x86_64 aarch64 +%{_libdir}/wine/%{winepedir}/wow64.dll +%{_libdir}/wine/%{winepedir}/wow64win.dll +%endif +%ifarch x86_64 +%{_libdir}/wine/%{winepedir}/wow64cpu.dll +%endif +%{_libdir}/wine/%{winepedir}/wpc.dll +%{_libdir}/wine/%{winepedir}/wpcap.dll +%{_libdir}/wine/%{winesodir}/wpcap.so +%{_libdir}/wine/%{winepedir}/ws2_32.dll +%{_libdir}/wine/%{winesodir}/ws2_32.so +%{_libdir}/wine/%{winepedir}/wsdapi.dll +%{_libdir}/wine/%{winepedir}/wshom.ocx +%{_libdir}/wine/%{winepedir}/wsnmp32.dll +%{_libdir}/wine/%{winepedir}/wsock32.dll +%{_libdir}/wine/%{winepedir}/wtsapi32.dll +%{_libdir}/wine/%{winepedir}/wuapi.dll +%{_libdir}/wine/%{winepedir}/wuaueng.dll +%{_libdir}/wine/%{winepedir}/wuauserv.exe +%ifarch %{arm} +%{_libdir}/wine/%{winesodir}/wuauserv.exe.so +%endif +%{_libdir}/wine/%{winepedir}/security.dll +%{_libdir}/wine/%{winepedir}/sfc.dll +%{_libdir}/wine/%{winepedir}/wineps.drv +%{_libdir}/wine/%{winesodir}/wineps.so +%{_libdir}/wine/%{winepedir}/d3d8.dll +%{_libdir}/wine/%{winepedir}/d3d8thk.dll +%ghost %{_libdir}/wine/%{winepedir}/d3d9.dll +%{_libdir}/wine/%{winepedir}/wine-d3d9.dll +%{_libdir}/wine/%{winesodir}/opengl32.so +%{_libdir}/wine/%{winepedir}/opengl32.dll +%{_libdir}/wine/%{winepedir}/wined3d.dll +%{_libdir}/wine/%{winepedir}/dnsapi.dll +%{_libdir}/wine/%{winesodir}/dnsapi.so +%{_libdir}/wine/%{winepedir}/iexplore.exe +%{_libdir}/wine/%{winepedir}/x3daudio1_0.dll +%{_libdir}/wine/%{winepedir}/x3daudio1_1.dll +%{_libdir}/wine/%{winepedir}/x3daudio1_2.dll +%{_libdir}/wine/%{winepedir}/x3daudio1_3.dll +%{_libdir}/wine/%{winepedir}/x3daudio1_4.dll +%{_libdir}/wine/%{winepedir}/x3daudio1_5.dll +%{_libdir}/wine/%{winepedir}/x3daudio1_6.dll +%{_libdir}/wine/%{winepedir}/x3daudio1_7.dll +%{_libdir}/wine/%{winepedir}/xactengine2_0.dll +%{_libdir}/wine/%{winepedir}/xactengine2_4.dll +%{_libdir}/wine/%{winepedir}/xactengine2_7.dll +%{_libdir}/wine/%{winepedir}/xactengine2_9.dll +%{_libdir}/wine/%{winepedir}/xactengine3_0.dll +%{_libdir}/wine/%{winepedir}/xactengine3_1.dll +%{_libdir}/wine/%{winepedir}/xactengine3_2.dll +%{_libdir}/wine/%{winepedir}/xactengine3_3.dll +%{_libdir}/wine/%{winepedir}/xactengine3_4.dll +%{_libdir}/wine/%{winepedir}/xactengine3_5.dll +%{_libdir}/wine/%{winepedir}/xactengine3_6.dll +%{_libdir}/wine/%{winepedir}/xactengine3_7.dll +%{_libdir}/wine/%{winepedir}/xapofx1_1.dll +%{_libdir}/wine/%{winepedir}/xapofx1_2.dll +%{_libdir}/wine/%{winepedir}/xapofx1_3.dll +%{_libdir}/wine/%{winepedir}/xapofx1_4.dll +%{_libdir}/wine/%{winepedir}/xapofx1_5.dll +%{_libdir}/wine/%{winepedir}/xaudio2_0.dll +%{_libdir}/wine/%{winepedir}/xaudio2_1.dll +%{_libdir}/wine/%{winepedir}/xaudio2_2.dll +%{_libdir}/wine/%{winepedir}/xaudio2_3.dll +%{_libdir}/wine/%{winepedir}/xaudio2_4.dll +%{_libdir}/wine/%{winepedir}/xaudio2_5.dll +%{_libdir}/wine/%{winepedir}/xaudio2_6.dll +%{_libdir}/wine/%{winepedir}/xaudio2_7.dll +%{_libdir}/wine/%{winepedir}/xaudio2_8.dll +%{_libdir}/wine/%{winepedir}/xaudio2_9.dll +%{_libdir}/wine/%{winepedir}/xcopy.exe +%{_libdir}/wine/%{winepedir}/xinput1_1.dll +%{_libdir}/wine/%{winepedir}/xinput1_2.dll +%{_libdir}/wine/%{winepedir}/xinput1_3.dll +%{_libdir}/wine/%{winepedir}/xinput1_4.dll +%{_libdir}/wine/%{winepedir}/xinput9_1_0.dll +%{_libdir}/wine/%{winepedir}/xinputuap.dll +%{_libdir}/wine/%{winepedir}/xmllite.dll +%{_libdir}/wine/%{winepedir}/xolehlp.dll +%{_libdir}/wine/%{winepedir}/xpsprint.dll +%{_libdir}/wine/%{winepedir}/xpssvcs.dll + +%if 0%{?wine_staging} +%ifarch x86_64 aarch64 +#%%{_libdir}/wine/%%{winepedir}/nvapi64.dll +#%%{_libdir}/wine/%%{winepedir}/nvencodeapi64.dll +#%%{_libdir}/wine/%%{winesodir}/nvencodeapi64.dll.so +%else +#%%{_libdir}/wine/%%{winepedir}/nvapi.dll +%ifarch %{arm} +#%%{_libdir}/wine/%%{winesodir}/nvapi.dll.so +%endif +#%%{_libdir}/wine/%%{winepedir}/nvencodeapi.dll +#%%{_libdir}/wine/%%{winesodir}/nvencodeapi.dll.so +%endif +%endif + +# 16 bit and other non 64bit stuff +%ifnarch x86_64 %{arm} aarch64 +%{_libdir}/wine/%{winepedir}/winevdm.exe +%{_libdir}/wine/%{winepedir}/ifsmgr.vxd +%{_libdir}/wine/%{winepedir}/mmdevldr.vxd +%{_libdir}/wine/%{winepedir}/monodebg.vxd +%{_libdir}/wine/%{winepedir}/rundll.exe16 +%{_libdir}/wine/%{winepedir}/vdhcp.vxd +%{_libdir}/wine/%{winepedir}/user.exe16 +%{_libdir}/wine/%{winepedir}/vmm.vxd +%{_libdir}/wine/%{winepedir}/vnbt.vxd +%{_libdir}/wine/%{winepedir}/vnetbios.vxd +%{_libdir}/wine/%{winepedir}/vtdapi.vxd +%{_libdir}/wine/%{winepedir}/vwin32.vxd +%{_libdir}/wine/%{winepedir}/w32skrnl.dll +%{_libdir}/wine/%{winepedir}/avifile.dll16 +%{_libdir}/wine/%{winepedir}/comm.drv16 +%{_libdir}/wine/%{winepedir}/commdlg.dll16 +%{_libdir}/wine/%{winepedir}/compobj.dll16 +%{_libdir}/wine/%{winepedir}/ctl3d.dll16 +%{_libdir}/wine/%{winepedir}/ctl3dv2.dll16 +%{_libdir}/wine/%{winepedir}/ddeml.dll16 +%{_libdir}/wine/%{winepedir}/dispdib.dll16 +%{_libdir}/wine/%{winepedir}/display.drv16 +%{_libdir}/wine/%{winepedir}/gdi.exe16 +%{_libdir}/wine/%{winepedir}/imm.dll16 +%{_libdir}/wine/%{winepedir}/krnl386.exe16 +%{_libdir}/wine/%{winepedir}/keyboard.drv16 +%{_libdir}/wine/%{winepedir}/lzexpand.dll16 +%{_libdir}/wine/%{winepedir}/mmsystem.dll16 +%{_libdir}/wine/%{winepedir}/mouse.drv16 +%{_libdir}/wine/%{winepedir}/msacm.dll16 +%{_libdir}/wine/%{winepedir}/msvideo.dll16 +%{_libdir}/wine/%{winepedir}/ole2.dll16 +%{_libdir}/wine/%{winepedir}/ole2conv.dll16 +%{_libdir}/wine/%{winepedir}/ole2disp.dll16 +%{_libdir}/wine/%{winepedir}/ole2nls.dll16 +%{_libdir}/wine/%{winepedir}/ole2prox.dll16 +%{_libdir}/wine/%{winepedir}/ole2thk.dll16 +%{_libdir}/wine/%{winepedir}/olecli.dll16 +%{_libdir}/wine/%{winepedir}/olesvr.dll16 +%{_libdir}/wine/%{winepedir}/rasapi16.dll16 +%{_libdir}/wine/%{winepedir}/setupx.dll16 +%{_libdir}/wine/%{winepedir}/shell.dll16 +%{_libdir}/wine/%{winepedir}/sound.drv16 +%{_libdir}/wine/%{winepedir}/storage.dll16 +%{_libdir}/wine/%{winepedir}/stress.dll16 +%{_libdir}/wine/%{winepedir}/system.drv16 +%{_libdir}/wine/%{winepedir}/toolhelp.dll16 +%{_libdir}/wine/%{winepedir}/twain.dll16 +%{_libdir}/wine/%{winepedir}/typelib.dll16 +%{_libdir}/wine/%{winepedir}/ver.dll16 +%{_libdir}/wine/%{winepedir}/w32sys.dll16 +%{_libdir}/wine/%{winepedir}/win32s16.dll16 +%{_libdir}/wine/%{winepedir}/win87em.dll16 +%{_libdir}/wine/%{winepedir}/winaspi.dll16 +%{_libdir}/wine/%{winepedir}/windebug.dll16 +%{_libdir}/wine/%{winepedir}/wineps16.drv16 +%{_libdir}/wine/%{winepedir}/wing.dll16 +%{_libdir}/wine/%{winepedir}/winhelp.exe16 +%{_libdir}/wine/%{winepedir}/winnls.dll16 +%{_libdir}/wine/%{winepedir}/winoldap.mod16 +%{_libdir}/wine/%{winepedir}/winsock.dll16 +%{_libdir}/wine/%{winepedir}/wintab.dll16 +%{_libdir}/wine/%{winepedir}/wow32.dll +%endif + +# ARM SOs +%ifarch %{arm} +%{_libdir}/wine/%{winesodir}/explorer.exe.so +%{_libdir}/wine/%{winesodir}/cabarc.exe.so +%{_libdir}/wine/%{winesodir}/control.exe.so +%{_libdir}/wine/%{winesodir}/cmd.exe.so +%{_libdir}/wine/%{winesodir}/dxdiag.exe.so +%{_libdir}/wine/%{winesodir}/notepad.exe.so +%{_libdir}/wine/%{winesodir}/plugplay.exe.so +%{_libdir}/wine/%{winesodir}/progman.exe.so +%{_libdir}/wine/%{winesodir}/taskmgr.exe.so +%{_libdir}/wine/%{winesodir}/winebrowser.exe.so +%{_libdir}/wine/%{winesodir}/winecfg.exe.so +%{_libdir}/wine/%{winesodir}/winedbg.exe.so +%{_libdir}/wine/%{winesodir}/winefile.exe.so +%{_libdir}/wine/%{winesodir}/winemenubuilder.exe.so +%{_libdir}/wine/%{winesodir}/winemine.exe.so +%{_libdir}/wine/%{winesodir}/winemsibuilder.exe.so +%{_libdir}/wine/%{winesodir}/winepath.exe.so +%{_libdir}/wine/%{winesodir}/winmgmt.exe.so +%{_libdir}/wine/%{winesodir}/winver.exe.so +%{_libdir}/wine/%{winesodir}/wordpad.exe.so +%{_libdir}/wine/%{winesodir}/write.exe.so +%{_libdir}/wine/%{winesodir}/wusa.exe.so +%{_libdir}/wine/%{winesodir}/attrib.exe.so +%{_libdir}/wine/%{winesodir}/arp.exe.so +%{_libdir}/wine/%{winesodir}/aspnet_regiis.exe.so +%{_libdir}/wine/%{winesodir}/cacls.exe.so +%{_libdir}/wine/%{winesodir}/conhost.exe.so +%{_libdir}/wine/%{winesodir}/cscript.exe.so +%{_libdir}/wine/%{winesodir}/dism.exe.so +%{_libdir}/wine/%{winesodir}/dllhost.exe.so +%{_libdir}/wine/%{winesodir}/dplaysvr.exe.so +%{_libdir}/wine/%{winesodir}/dpnsvr.exe.so +%{_libdir}/wine/%{winesodir}/dpvsetup.exe.so +%{_libdir}/wine/%{winesodir}/eject.exe.so +%{_libdir}/wine/%{winesodir}/expand.exe.so +%{_libdir}/wine/%{winesodir}/extrac32.exe.so +%{_libdir}/wine/%{winesodir}/fc.exe.so +%{_libdir}/wine/%{winesodir}/find.exe.so +%{_libdir}/wine/%{winesodir}/findstr.exe.so +%{_libdir}/wine/%{winesodir}/fsutil.exe.so +%{_libdir}/wine/%{winesodir}/hostname.exe.so +%{_libdir}/wine/%{winesodir}/ipconfig.exe.so +%{_libdir}/wine/%{winesodir}/klist.exe.so +%{_libdir}/wine/%{winesodir}/winhlp32.exe.so +%{_libdir}/wine/%{winesodir}/mshta.exe.so +%if 0%{?wine_staging} +%{_libdir}/wine/%{winesodir}/msidb.exe.so +%endif +%{_libdir}/wine/%{winesodir}/msiexec.exe.so +%{_libdir}/wine/%{winesodir}/net.exe.so +%{_libdir}/wine/%{winesodir}/netstat.exe.so +%{_libdir}/wine/%{winesodir}/ngen.exe.so +%{_libdir}/wine/%{winesodir}/ntoskrnl.exe.so +%{_libdir}/wine/%{winesodir}/oleview.exe.so +%{_libdir}/wine/%{winesodir}/ping.exe.so +%{_libdir}/wine/%{winesodir}/pnputil.exe.so +%{_libdir}/wine/%{winesodir}/powershell.exe.so +%{_libdir}/wine/%{winesodir}/reg.exe.so +%{_libdir}/wine/%{winesodir}/regasm.exe.so +%{_libdir}/wine/%{winesodir}/regedit.exe.so +%{_libdir}/wine/%{winesodir}/regsvcs.exe.so +%{_libdir}/wine/%{winesodir}/regsvr32.exe.so +%{_libdir}/wine/%{winesodir}/rpcss.exe.so +%{_libdir}/wine/%{winesodir}/rundll32.exe.so +%{_libdir}/wine/%{winesodir}/schtasks.exe.so +%{_libdir}/wine/%{winesodir}/sdbinst.exe.so +%{_libdir}/wine/%{winesodir}/secedit.exe.so +%{_libdir}/wine/%{winesodir}/servicemodelreg.exe.so +%{_libdir}/wine/%{winesodir}/services.exe.so +%{_libdir}/wine/%{winesodir}/start.exe.so +%{_libdir}/wine/%{winesodir}/tasklist.exe.so +%{_libdir}/wine/%{winesodir}/termsv.exe.so +%{_libdir}/wine/%{winesodir}/view.exe.so +%{_libdir}/wine/%{winesodir}/wevtutil.exe.so +%{_libdir}/wine/%{winesodir}/where.exe.so +%{_libdir}/wine/%{winesodir}/whoami.exe.so +%{_libdir}/wine/%{winesodir}/wineboot.exe.so +%{_libdir}/wine/%{winesodir}/wineconsole.exe.so +%{_libdir}/wine/%{winesodir}/winedevice.exe.so +%{_libdir}/wine/%{winesodir}/wmplayer.exe.so +%{_libdir}/wine/%{winesodir}/wscript.exe.so +%{_libdir}/wine/%{winesodir}/uninstaller.exe.so +%{_libdir}/wine/%{winesodir}/acledit.dll.so +%{_libdir}/wine/%{winesodir}/aclui.dll.so +%{_libdir}/wine/%{winesodir}/activeds.dll.so +%{_libdir}/wine/%{winesodir}/actxprxy.dll.so +%{_libdir}/wine/%{winesodir}/adsldp.dll.so +%{_libdir}/wine/%{winesodir}/adsldpc.dll.so +%{_libdir}/wine/%{winesodir}/advapi32.dll.so +%{_libdir}/wine/%{winesodir}/advpack.dll.so +%{_libdir}/wine/%{winesodir}/amsi.dll.so +%{_libdir}/wine/%{winesodir}/amstream.dll.so +%{_libdir}/wine/%{winesodir}/apphelp.dll.so +%{_libdir}/wine/%{winesodir}/appwiz.cpl.so +%{_libdir}/wine/%{winesodir}/appxdeploymentclient.dll.so +%{_libdir}/wine/%{winesodir}/atl.dll.so +%{_libdir}/wine/%{winesodir}/atl80.dll.so +%{_libdir}/wine/%{winesodir}/atl90.dll.so +%{_libdir}/wine/%{winesodir}/atl100.dll.so +%{_libdir}/wine/%{winesodir}/atl110.dll.so +%{_libdir}/wine/%{winesodir}/atlthunk.dll.so +%{_libdir}/wine/%{winesodir}/atmlib.dll.so +%{_libdir}/wine/%{winesodir}/authz.dll.so +%{_libdir}/wine/%{winesodir}/avicap32.dll.so +%{_libdir}/wine/%{winesodir}/avifil32.dll.so +%{_libdir}/wine/%{winesodir}/avrt.dll.so +%{_libdir}/wine/%{winesodir}/bcrypt.dll.so +%{_libdir}/wine/%{winesodir}/bcryptprimitives.dll.so +%{_libdir}/wine/%{winesodir}/bluetoothapis.dll.so +%{_libdir}/wine/%{winesodir}/browseui.dll.so +%{_libdir}/wine/%{winesodir}/bthprops.cpl.so +%{_libdir}/wine/%{winesodir}/cabinet.dll.so +%{_libdir}/wine/%{winesodir}/cards.dll.so +%{_libdir}/wine/%{winesodir}/cdosys.dll.so +%{_libdir}/wine/%{winesodir}/cfgmgr32.dll.so +%{_libdir}/wine/%{winesodir}/chcp.com.so +%{_libdir}/wine/%{winesodir}/clock.exe.so +%{_libdir}/wine/%{winesodir}/clusapi.dll.so +%{_libdir}/wine/%{winesodir}/cng.sys.so +%{_libdir}/wine/%{winesodir}/combase.dll.so +%{_libdir}/wine/%{winesodir}/comcat.dll.so +%{_libdir}/wine/%{winesodir}/comctl32.dll.so +%{_libdir}/wine/%{winesodir}/comdlg32.dll.so +%{_libdir}/wine/%{winesodir}/coml2.dll.so +%{_libdir}/wine/%{winesodir}/compstui.dll.so +%{_libdir}/wine/%{winesodir}/comsvcs.dll.so +%{_libdir}/wine/%{winesodir}/concrt140.dll.so +%{_libdir}/wine/%{winesodir}/connect.dll.so +%{_libdir}/wine/%{winesodir}/credui.dll.so +%{_libdir}/wine/%{winesodir}/crtdll.dll.so +%{_libdir}/wine/%{winesodir}/crypt32.dll.so +%{_libdir}/wine/%{winesodir}/cryptdlg.dll.so +%{_libdir}/wine/%{winesodir}/cryptdll.dll.so +%{_libdir}/wine/%{winesodir}/cryptext.dll.so +%{_libdir}/wine/%{winesodir}/cryptnet.dll.so +%{_libdir}/wine/%{winesodir}/cryptowinrt.dll.so +%{_libdir}/wine/%{winesodir}/cryptsp.dll.so +%{_libdir}/wine/%{winesodir}/cryptui.dll.so +%{_libdir}/wine/%{winesodir}/ctapi32.dll.so +%{_libdir}/wine/%{winesodir}/ctl3d32.dll.so +%{_libdir}/wine/%{winesodir}/d2d1.dll.so +%{_libdir}/wine/%{winesodir}/d3d10.dll.so +%{_libdir}/wine/%{winesodir}/d3d10_1.dll.so +%{_libdir}/wine/%{winesodir}/d3d10core.dll.so +%{_libdir}/wine/%{winesodir}/d3d11.dll.so +%{_libdir}/wine/%{winesodir}/d3d12.dll.so +%{_libdir}/wine/%{winesodir}/d3d12core.dll.so +%{_libdir}/wine/%{winesodir}/d3dcompiler_*.dll.so +%{_libdir}/wine/%{winesodir}/d3dim.dll.so +%{_libdir}/wine/%{winesodir}/d3dim700.dll.so +%{_libdir}/wine/%{winesodir}/d3drm.dll.so +%{_libdir}/wine/%{winesodir}/d3dx9_*.dll.so +%{_libdir}/wine/%{winesodir}/d3dx10_*.dll.so +%{_libdir}/wine/%{winesodir}/d3dx11_42.dll.so +%{_libdir}/wine/%{winesodir}/d3dx11_43.dll.so +%{_libdir}/wine/%{winesodir}/d3dxof.dll.so +%{_libdir}/wine/%{winesodir}/davclnt.dll.so +%{_libdir}/wine/%{winesodir}/dbgeng.dll.so +%{_libdir}/wine/%{winesodir}/dbghelp.dll.so +%{_libdir}/wine/%{winesodir}/dciman32.dll.so +%{_libdir}/wine/%{winesodir}/dcomp.dll.so +%{_libdir}/wine/%{winesodir}/ddraw.dll.so +%{_libdir}/wine/%{winesodir}/ddrawex.dll.so +%{_libdir}/wine/%{winesodir}/devenum.dll.so +%{_libdir}/wine/%{winesodir}/dhcpcsvc.dll.so +%{_libdir}/wine/%{winesodir}/dhcpcsvc6.dll.so +%{_libdir}/wine/%{winesodir}/dhtmled.ocx.so +%{_libdir}/wine/%{winesodir}/diasymreader.dll.so +%{_libdir}/wine/%{winesodir}/difxapi.dll.so +%{_libdir}/wine/%{winesodir}/dinput.dll.so +%{_libdir}/wine/%{winesodir}/dinput8.dll.so +%{_libdir}/wine/%{winesodir}/directmanipulation.dll.so +%{_libdir}/wine/%{winesodir}/dispex.dll.so +%{_libdir}/wine/%{winesodir}/dmband.dll.so +%{_libdir}/wine/%{winesodir}/dmcompos.dll.so +%{_libdir}/wine/%{winesodir}/dmime.dll.so +%{_libdir}/wine/%{winesodir}/dmloader.dll.so +%{_libdir}/wine/%{winesodir}/dmscript.dll.so +%{_libdir}/wine/%{winesodir}/dmstyle.dll.so +%{_libdir}/wine/%{winesodir}/dmsynth.dll.so +%{_libdir}/wine/%{winesodir}/dmusic.dll.so +%{_libdir}/wine/%{winesodir}/dmusic32.dll.so +%{_libdir}/wine/%{winesodir}/dplay.dll.so +%{_libdir}/wine/%{winesodir}/dplayx.dll.so +%{_libdir}/wine/%{winesodir}/dpnaddr.dll.so +%{_libdir}/wine/%{winesodir}/dpnet.dll.so +%{_libdir}/wine/%{winesodir}/dpnhpast.dll.so +%{_libdir}/wine/%{winesodir}/dpnhupnp.dll.so +%{_libdir}/wine/%{winesodir}/dpnlobby.dll.so +%{_libdir}/wine/%{winesodir}/dpvoice.dll.so +%{_libdir}/wine/%{winesodir}/dpwsockx.dll.so +%{_libdir}/wine/%{winesodir}/drmclien.dll.so +%{_libdir}/wine/%{winesodir}/dsound.dll.so +%{_libdir}/wine/%{winesodir}/dsdmo.dll.so +%{_libdir}/wine/%{winesodir}/dsquery.dll.so +%{_libdir}/wine/%{winesodir}/dssenh.dll.so +%{_libdir}/wine/%{winesodir}/dsuiext.dll.so +%{_libdir}/wine/%{winesodir}/dswave.dll.so +%{_libdir}/wine/%{winesodir}/dwmapi.dll.so +%{_libdir}/wine/%{winesodir}/dwrite.dll.so +%{_libdir}/wine/%{winesodir}/dx8vb.dll.so +%{_libdir}/wine/%{winesodir}/dxcore.dll.so +%{_libdir}/wine/%{winesodir}/dxdiagn.dll.so +%ghost %{_libdir}/wine/%{winesodir}/dxgi.dll.so +%{_libdir}/wine/%{winesodir}/wine-dxgi.dll.so +%{_libdir}/wine/%{winesodir}/dxgkrnl.sys.so +%{_libdir}/wine/%{winesodir}/dxgmms1.sys.so +%{_libdir}/wine/%{winesodir}/dxtrans.dll.so +%{_libdir}/wine/%{winesodir}/dxva2.dll.so +%{_libdir}/wine/%{winesodir}/esent.dll.so +%{_libdir}/wine/%{winesodir}/evr.dll.so +%{_libdir}/wine/%{winesodir}/explorerframe.dll.so +%{_libdir}/wine/%{winesodir}/faultrep.dll.so +%{_libdir}/wine/%{winesodir}/feclient.dll.so +%{_libdir}/wine/%{winesodir}/fltlib.dll.so +%{_libdir}/wine/%{winesodir}/fltmgr.sys.so +%{_libdir}/wine/%{winesodir}/fntcache.dll.so +%{_libdir}/wine/%{winesodir}/fontsub.dll.so +%{_libdir}/wine/%{winesodir}/fusion.dll.so +%{_libdir}/wine/%{winesodir}/fwpuclnt.dll.so +%{_libdir}/wine/%{winesodir}/gameux.dll.so +%{_libdir}/wine/%{winesodir}/gamingtcui.dll.so +%{_libdir}/wine/%{winesodir}/gdi32.dll.so +%{_libdir}/wine/%{winesodir}/gdiplus.dll.so +%{_libdir}/wine/%{winesodir}/geolocation.dll.so +%{_libdir}/wine/%{winesodir}/glu32.dll.so +%{_libdir}/wine/%{winesodir}/gphoto2.ds.so +%{_libdir}/wine/%{winesodir}/gpkcsp.dll.so +%{_libdir}/wine/%{winesodir}/graphicscapture.dll.so +%{_libdir}/wine/%{winesodir}/hal.dll.so +%{_libdir}/wine/%{winesodir}/hh.exe.so +%{_libdir}/wine/%{winesodir}/hhctrl.ocx.so +%{_libdir}/wine/%{winesodir}/hid.dll.so +%{_libdir}/wine/%{winesodir}/hidclass.sys.so +%{_libdir}/wine/%{winesodir}/hidparse.sys.so +%{_libdir}/wine/%{winesodir}/hlink.dll.so +%{_libdir}/wine/%{winesodir}/hnetcfg.dll.so +%{_libdir}/wine/%{winesodir}/hrtfapo.dll.so +%{_libdir}/wine/%{winesodir}/http.sys.so +%{_libdir}/wine/%{winesodir}/httpapi.dll.so +%{_libdir}/wine/%{winesodir}/hvsimanagementapi.dll.so +%{_libdir}/wine/%{winesodir}/ia2comproxy.dll.so +%{_libdir}/wine/%{winesodir}/icacls.exe.so +%{_libdir}/wine/%{winesodir}/iccvid.dll.so +%{_libdir}/wine/%{winesodir}/icinfo.exe.so +%{_libdir}/wine/%{winesodir}/ieframe.dll.so +%{_libdir}/wine/%{winesodir}/ieproxy.dll.so +%{_libdir}/wine/%{winesodir}/imaadp32.acm.so +%{_libdir}/wine/%{winesodir}/imagehlp.dll.so +%{_libdir}/wine/%{winesodir}/imm32.dll.so +%{_libdir}/wine/%{winesodir}/inetcomm.dll.so +%{_libdir}/wine/%{winesodir}/inetcpl.cpl.so +%{_libdir}/wine/%{winesodir}/inetmib1.dll.so +%{_libdir}/wine/%{winesodir}/infosoft.dll.so +%{_libdir}/wine/%{winesodir}/initpki.dll.so +%{_libdir}/wine/%{winesodir}/inkobj.dll.so +%{_libdir}/wine/%{winesodir}/inseng.dll.so +%{_libdir}/wine/%{winesodir}/iphlpapi.dll.so +%{_libdir}/wine/%{winesodir}/iprop.dll.so +%{_libdir}/wine/%{winesodir}/irprops.cpl.so +%{_libdir}/wine/%{winesodir}/ir50_32.dll.so +%{_libdir}/wine/%{winesodir}/itircl.dll.so +%{_libdir}/wine/%{winesodir}/itss.dll.so +%{_libdir}/wine/%{winesodir}/joy.cpl.so +%{_libdir}/wine/%{winesodir}/jscript.dll.so +%{_libdir}/wine/%{winesodir}/jsproxy.dll.so +%{_libdir}/wine/%{winesodir}/kerberos.dll.so +%{_libdir}/wine/%{winesodir}/kernel32.dll.so +%{_libdir}/wine/%{winesodir}/kernelbase.dll.so +%{_libdir}/wine/%{winesodir}/ksecdd.sys.so +%{_libdir}/wine/%{winesodir}/ksproxy.ax.so +%{_libdir}/wine/%{winesodir}/ksuser.dll.so +%{_libdir}/wine/%{winesodir}/ktmw32.dll.so +%{_libdir}/wine/%{winesodir}/l3codeca.acm.so +%{_libdir}/wine/%{winesodir}/loadperf.dll.so +%{_libdir}/wine/%{winesodir}/localspl.dll.so +%{_libdir}/wine/%{winesodir}/localui.dll.so +%{_libdir}/wine/%{winesodir}/lodctr.exe.so +%{_libdir}/wine/%{winesodir}/magnification.dll.so +%{_libdir}/wine/%{winesodir}/mapi32.dll.so +%{_libdir}/wine/%{winesodir}/mapistub.dll.so +%{_libdir}/wine/%{winesodir}/mciavi32.dll.so +%{_libdir}/wine/%{winesodir}/mcicda.dll.so +%{_libdir}/wine/%{winesodir}/mciqtz32.dll.so +%{_libdir}/wine/%{winesodir}/mciseq.dll.so +%{_libdir}/wine/%{winesodir}/mciwave.dll.so +%{_libdir}/wine/%{winesodir}/mf.dll.so +%{_libdir}/wine/%{winesodir}/mf3216.dll.so +%{_libdir}/wine/%{winesodir}/mfmediaengine.dll.so +%{_libdir}/wine/%{winesodir}/mfplat.dll.so +%{_libdir}/wine/%{winesodir}/mfplay.dll.so +%{_libdir}/wine/%{winesodir}/mfreadwrite.dll.so +%{_libdir}/wine/%{winesodir}/mfsrcsnk.dll.so +%{_libdir}/wine/%{winesodir}/mgmtapi.dll.so +%{_libdir}/wine/%{winesodir}/midimap.dll.so +%{_libdir}/wine/%{winesodir}/mlang.dll.so +%{_libdir}/wine/%{winesodir}/mmcndmgr.dll.so +%{_libdir}/wine/%{winesodir}/mmdevapi.dll.so +%{_libdir}/wine/%{winesodir}/mofcomp.exe.so +%{_libdir}/wine/%{winesodir}/mountmgr.sys.so +%{_libdir}/wine/%{winesodir}/mp3dmod.dll.so +%{_libdir}/wine/%{winesodir}/mpr.dll.so +%{_libdir}/wine/%{winesodir}/mprapi.dll.so +%{_libdir}/wine/%{winesodir}/msacm32.dll.so +%{_libdir}/wine/%{winesodir}/msacm32.drv.so +%{_libdir}/wine/%{winesodir}/msado15.dll.so +%{_libdir}/wine/%{winesodir}/msadp32.acm.so +%{_libdir}/wine/%{winesodir}/msasn1.dll.so +%{_libdir}/wine/%{winesodir}/msauddecmft.dll.so +%{_libdir}/wine/%{winesodir}/mscat32.dll.so +%{_libdir}/wine/%{winesodir}/mscoree.dll.so +%{_libdir}/wine/%{winesodir}/mscorwks.dll.so +%{_libdir}/wine/%{winesodir}/msctf.dll.so +%{_libdir}/wine/%{winesodir}/msctfmonitor.dll.so +%{_libdir}/wine/%{winesodir}/msctfp.dll.so +%{_libdir}/wine/%{winesodir}/msdaps.dll.so +%{_libdir}/wine/%{winesodir}/msdasql.dll.so +%{_libdir}/wine/%{winesodir}/msdelta.dll.so +%{_libdir}/wine/%{winesodir}/msdmo.dll.so +%{_libdir}/wine/%{winesodir}/msdrm.dll.so +%{_libdir}/wine/%{winesodir}/msftedit.dll.so +%{_libdir}/wine/%{winesodir}/msg711.acm.so +%{_libdir}/wine/%{winesodir}/mshtml.dll.so +%{_libdir}/wine/%{winesodir}/msgsm32.acm.so +%{_libdir}/wine/%{winesodir}/msi.dll.so +%{_libdir}/wine/%{winesodir}/msident.dll.so +%{_libdir}/wine/%{winesodir}/msimtf.dll.so +%{_libdir}/wine/%{winesodir}/msimg32.dll.so +%{_libdir}/wine/%{winesodir}/msinfo32.exe.so +%{_libdir}/wine/%{winesodir}/msisip.dll.so +%{_libdir}/wine/%{winesodir}/msisys.ocx.so +%{_libdir}/wine/%{winesodir}/msls31.dll.so +%{_libdir}/wine/%{winesodir}/msmpeg2vdec.dll.so +%{_libdir}/wine/%{winesodir}/msnet32.dll.so +%{_libdir}/wine/%{winesodir}/mspatcha.dll.so +%{_libdir}/wine/%{winesodir}/msports.dll.so +%{_libdir}/wine/%{winesodir}/msscript.ocx.so +%{_libdir}/wine/%{winesodir}/mssign32.dll.so +%{_libdir}/wine/%{winesodir}/mssip32.dll.so +%{_libdir}/wine/%{winesodir}/msrle32.dll.so +%{_libdir}/wine/%{winesodir}/mstask.dll.so +%{_libdir}/wine/%{winesodir}/msttsengine.dll.so +%{_libdir}/wine/%{winesodir}/msv1_0.dll.so +%{_libdir}/wine/%{winesodir}/msvcirt.dll.so +%{_libdir}/wine/%{winesodir}/msvcm80.dll.so +%{_libdir}/wine/%{winesodir}/msvcm90.dll.so +%{_libdir}/wine/%{winesodir}/msvcp_win.dll.so +%{_libdir}/wine/%{winesodir}/msvcp60.dll.so +%{_libdir}/wine/%{winesodir}/msvcp70.dll.so +%{_libdir}/wine/%{winesodir}/msvcp71.dll.so +%{_libdir}/wine/%{winesodir}/msvcp80.dll.so +%{_libdir}/wine/%{winesodir}/msvcp90.dll.so +%{_libdir}/wine/%{winesodir}/msvcp100.dll.so +%{_libdir}/wine/%{winesodir}/msvcp110.dll.so +%{_libdir}/wine/%{winesodir}/msvcp120.dll.so +%{_libdir}/wine/%{winesodir}/msvcp120_app.dll.so +%{_libdir}/wine/%{winesodir}/msvcp140.dll.so +%{_libdir}/wine/%{winesodir}/msvcp140_1.dll.so +%{_libdir}/wine/%{winesodir}/msvcp140_2.dll.so +%{_libdir}/wine/%{winesodir}/msvcp140_atomic_wait.dll.so +%{_libdir}/wine/%{winesodir}/msvcp140_codecvt_ids.dll.so +%{_libdir}/wine/%{winesodir}/msvcr70.dll.so +%{_libdir}/wine/%{winesodir}/msvcr71.dll.so +%{_libdir}/wine/%{winesodir}/msvcr80.dll.so +%{_libdir}/wine/%{winesodir}/msvcr90.dll.so +%{_libdir}/wine/%{winesodir}/msvcr100.dll.so +%{_libdir}/wine/%{winesodir}/msvcr110.dll.so +%{_libdir}/wine/%{winesodir}/msvcr120.dll.so +%{_libdir}/wine/%{winesodir}/msvcr120_app.dll.so +%{_libdir}/wine/%{winesodir}/msvcrt.dll.so +%{_libdir}/wine/%{winesodir}/msvcrt20.dll.so +%{_libdir}/wine/%{winesodir}/msvcrt40.dll.so +%{_libdir}/wine/%{winesodir}/msvcrtd.dll.so +%{_libdir}/wine/%{winesodir}/msvfw32.dll.so +%{_libdir}/wine/%{winesodir}/msvidc32.dll.so +%{_libdir}/wine/%{winesodir}/mswsock.dll.so +%{_libdir}/wine/%{winesodir}/msxml.dll.so +%{_libdir}/wine/%{winesodir}/msxml2.dll.so +%{_libdir}/wine/%{winesodir}/msxml3.dll.so +%{_libdir}/wine/%{winesodir}/msxml4.dll.so +%{_libdir}/wine/%{winesodir}/msxml6.dll.so +%{_libdir}/wine/%{winesodir}/mtxdm.dll.so +%{_libdir}/wine/%{winesodir}/nddeapi.dll.so +%{_libdir}/wine/%{winesodir}/ncrypt.dll.so +%{_libdir}/wine/%{winesodir}/ndis.sys.so +%{_libdir}/wine/%{winesodir}/netapi32.dll.so +%{_libdir}/wine/%{winesodir}/netcfgx.dll.so +%{_libdir}/wine/%{winesodir}/netio.sys.so +%{_libdir}/wine/%{winesodir}/netprofm.dll.so +%{_libdir}/wine/%{winesodir}/netsh.exe.so +%if 0%{?wine_staging} +%{_libdir}/wine/%{winesodir}/netutils.dll.so +%endif +%{_libdir}/wine/%{winesodir}/newdev.dll.so +%{_libdir}/wine/%{winesodir}/ninput.dll.so +%{_libdir}/wine/%{winesodir}/npmshtml.dll.so +%{_libdir}/wine/%{winesodir}/npptools.dll.so +%{_libdir}/wine/%{winesodir}/nsi.dll.so +%{_libdir}/wine/%{winesodir}/nsiproxy.sys.so +%{_libdir}/wine/%{winesodir}/ntdll.dll.so +%{_libdir}/wine/%{winesodir}/ntdsapi.dll.so +%{_libdir}/wine/%{winesodir}/ntprint.dll.so +%{_libdir}/wine/%{winesodir}/objsel.dll.so +%{_libdir}/wine/%{winesodir}/odbc32.dll.so +%{_libdir}/wine/%{winesodir}/odbcbcp.dll.so +%{_libdir}/wine/%{winesodir}/odbccp32.dll.so +%{_libdir}/wine/%{winesodir}/odbccu32.dll.so +%{_libdir}/wine/%{winesodir}/ole32.dll.so +%{_libdir}/wine/%{winesodir}/oleacc.dll.so +%{_libdir}/wine/%{winesodir}/oleaut32.dll.so +%{_libdir}/wine/%{winesodir}/olecli32.dll.so +%{_libdir}/wine/%{winesodir}/oledb32.dll.so +%{_libdir}/wine/%{winesodir}/oledlg.dll.so +%{_libdir}/wine/%{winesodir}/olepro32.dll.so +%{_libdir}/wine/%{winesodir}/olesvr32.dll.so +%{_libdir}/wine/%{winesodir}/olethk32.dll.so +%{_libdir}/wine/%{winesodir}/opcservices.dll.so +%{_libdir}/wine/%{winesodir}/opengl32.dll.so +%{_libdir}/wine/%{winesodir}/packager.dll.so +%{_libdir}/wine/%{winesodir}/pdh.dll.so +%{_libdir}/wine/%{winesodir}/photometadatahandler.dll.so +%{_libdir}/wine/%{winesodir}/pidgen.dll.so +%{_libdir}/wine/%{winesodir}/powrprof.dll.so +%{_libdir}/wine/%{winesodir}/presentationfontcache.exe.so +%{_libdir}/wine/%{winesodir}/printui.dll.so +%{_libdir}/wine/%{winesodir}/prntvpt.dll.so +%{_libdir}/wine/%{winesodir}/propsys.dll.so +%{_libdir}/wine/%{winesodir}/psapi.dll.so +%{_libdir}/wine/%{winesodir}/pstorec.dll.so +%{_libdir}/wine/%{winesodir}/pwrshplugin.dll.so +%{_libdir}/wine/%{winesodir}/qasf.dll.so +%{_libdir}/wine/%{winesodir}/qcap.dll.so +%{_libdir}/wine/%{winesodir}/qdvd.dll.so +%{_libdir}/wine/%{winesodir}/qedit.dll.so +%{_libdir}/wine/%{winesodir}/qmgr.dll.so +%{_libdir}/wine/%{winesodir}/qmgrprxy.dll.so +%{_libdir}/wine/%{winesodir}/quartz.dll.so +%{_libdir}/wine/%{winesodir}/query.dll.so +%{_libdir}/wine/%{winesodir}/qwave.dll.so +%{_libdir}/wine/%{winesodir}/rasapi32.dll.so +%{_libdir}/wine/%{winesodir}/rasdlg.dll.so +%{_libdir}/wine/%{winesodir}/regapi.dll.so +%{_libdir}/wine/%{winesodir}/regini.exe.so +%{_libdir}/wine/%{winesodir}/resutils.dll.so +%{_libdir}/wine/%{winesodir}/riched20.dll.so +%{_libdir}/wine/%{winesodir}/riched32.dll.so +%{_libdir}/wine/%{winesodir}/robocopy.exe.so +%{_libdir}/wine/%{winesodir}/rpcrt4.dll.so +%{_libdir}/wine/%{winesodir}/rsabase.dll.so +%{_libdir}/wine/%{winesodir}/rsaenh.dll.so +%{_libdir}/wine/%{winesodir}/rstrtmgr.dll.so +%{_libdir}/wine/%{winesodir}/rtutils.dll.so +%{_libdir}/wine/%{winesodir}/rtworkq.dll.so +%{_libdir}/wine/%{winesodir}/samlib.dll.so +%{_libdir}/wine/%{winesodir}/sapi.dll.so +%{_libdir}/wine/%{winesodir}/sas.dll.so +%{_libdir}/wine/%{winesodir}/sc.exe.so +%{_libdir}/wine/%{winesodir}/scarddlg.dll.so +%{_libdir}/wine/%{winesodir}/scardsvr.dll.so +%{_libdir}/wine/%{winesodir}/sccbase.dll.so +%{_libdir}/wine/%{winesodir}/schannel.dll.so +%{_libdir}/wine/%{winesodir}/scrobj.dll.so +%{_libdir}/wine/%{winesodir}/scrrun.dll.so +%{_libdir}/wine/%{winesodir}/scsiport.sys.so +%{_libdir}/wine/%{winesodir}/sechost.dll.so +%{_libdir}/wine/%{winesodir}/secur32.dll.so +%{_libdir}/wine/%{winesodir}/sensapi.dll.so +%{_libdir}/wine/%{winesodir}/serialui.dll.so +%{_libdir}/wine/%{winesodir}/setupapi.dll.so +%{_libdir}/wine/%{winesodir}/sfc_os.dll.so +%{_libdir}/wine/%{winesodir}/shcore.dll.so +%{_libdir}/wine/%{winesodir}/shdocvw.dll.so +%{_libdir}/wine/%{winesodir}/schedsvc.dll.so +%{_libdir}/wine/%{winesodir}/shell32.dll.so +%{_libdir}/wine/%{winesodir}/shfolder.dll.so +%{_libdir}/wine/%{winesodir}/shlwapi.dll.so +%{_libdir}/wine/%{winesodir}/shutdown.exe.so +%{_libdir}/wine/%{winesodir}/slbcsp.dll.so +%{_libdir}/wine/%{winesodir}/slc.dll.so +%{_libdir}/wine/%{winesodir}/snmpapi.dll.so +%{_libdir}/wine/%{winesodir}/softpub.dll.so +%{_libdir}/wine/%{winesodir}/spoolsv.exe.so +%{_libdir}/wine/%{winesodir}/sppc.dll.so +%{_libdir}/wine/%{winesodir}/srclient.dll.so +%if 0%{?wine_staging} +%{_libdir}/wine/%{winesodir}/srvcli.dll.so +%endif +%{_libdir}/wine/%{winesodir}/srvsvc.dll.so +%{_libdir}/wine/%{winesodir}/sspicli.dll.so +%{_libdir}/wine/%{winesodir}/sti.dll.so +%{_libdir}/wine/%{winesodir}/strmdll.dll.so +%{_libdir}/wine/%{winesodir}/subst.exe.so +%{_libdir}/wine/%{winesodir}/svchost.exe.so +%{_libdir}/wine/%{winesodir}/svrapi.dll.so +%{_libdir}/wine/%{winesodir}/sxs.dll.so +%{_libdir}/wine/%{winesodir}/systeminfo.exe.so +%{_libdir}/wine/%{winesodir}/t2embed.dll.so +%{_libdir}/wine/%{winesodir}/tapi32.dll.so +%{_libdir}/wine/%{winesodir}/taskkill.exe.so +%{_libdir}/wine/%{winesodir}/taskschd.dll.so +%{_libdir}/wine/%{winesodir}/tbs.dll.so +%{_libdir}/wine/%{winesodir}/tdh.dll.so +%{_libdir}/wine/%{winesodir}/tdi.sys.so +%{_libdir}/wine/%{winesodir}/threadpoolwinrt.dll.so +%{_libdir}/wine/%{winesodir}/traffic.dll.so +%{_libdir}/wine/%{winesodir}/twinapi.appcore.dll.so +%{_libdir}/wine/%{winesodir}/ucrtbase.dll.so +%if 0%{?wine_staging} +%{_libdir}/wine/%{winesodir}/uianimation.dll.so +%endif +%{_libdir}/wine/%{winesodir}/uiautomationcore.dll.so +%{_libdir}/wine/%{winesodir}/uiribbon.dll.so +%{_libdir}/wine/%{winesodir}/unicows.dll.so +%{_libdir}/wine/%{winesodir}/unlodctr.exe.so +%{_libdir}/wine/%{winesodir}/updspapi.dll.so +%{_libdir}/wine/%{winesodir}/url.dll.so +%{_libdir}/wine/%{winesodir}/urlmon.dll.so +%{_libdir}/wine/%{winesodir}/usbd.sys.so +%{_libdir}/wine/%{winesodir}/user32.dll.so +%{_libdir}/wine/%{winesodir}/utildll.dll.so +%{_libdir}/wine/%{winesodir}/uxtheme.dll.so +%{_libdir}/wine/%{winesodir}/userenv.dll.so +%{_libdir}/wine/%{winesodir}/vbscript.dll.so +%{_libdir}/wine/%{winesodir}/vcomp.dll.so +%{_libdir}/wine/%{winesodir}/vcomp90.dll.so +%{_libdir}/wine/%{winesodir}/vcomp100.dll.so +%{_libdir}/wine/%{winesodir}/vcomp110.dll.so +%{_libdir}/wine/%{winesodir}/vcomp120.dll.so +%{_libdir}/wine/%{winesodir}/vcomp140.dll.so +%{_libdir}/wine/%{winesodir}/vcruntime140.dll.so +%{_libdir}/wine/%{winesodir}/vcruntime140_1.dll.so +%{_libdir}/wine/%{winesodir}/vdmdbg.dll.so +%{_libdir}/wine/%{winesodir}/version.dll.so +%{_libdir}/wine/%{winesodir}/vga.dll.so +%{_libdir}/wine/%{winesodir}/virtdisk.dll.so +%{_libdir}/wine/%{winesodir}/vssapi.dll.so +%{_libdir}/wine/%{winesodir}/vulkan-1.dll.so +%{_libdir}/wine/%{winesodir}/wbemdisp.dll.so +%{_libdir}/wine/%{winesodir}/wbemprox.dll.so +%{_libdir}/wine/%{winesodir}/wdscore.dll.so +%{_libdir}/wine/%{winesodir}/webservices.dll.so +%{_libdir}/wine/%{winesodir}/websocket.dll.so +%{_libdir}/wine/%{winesodir}/wer.dll.so +%{_libdir}/wine/%{winesodir}/wevtapi.dll.so +%{_libdir}/wine/%{winesodir}/wevtsvc.dll.so +%{_libdir}/wine/%{winesodir}/wiaservc.dll.so +%{_libdir}/wine/%{winesodir}/wimgapi.dll.so +%{_libdir}/wine/%{winesodir}/win32k.sys.so +%{_libdir}/wine/%{winesodir}/win32u.dll.so +%{_libdir}/wine/%{winesodir}/windows.applicationmodel.dll.so +%{_libdir}/wine/%{winesodir}/windows.devices.bluetooth.dll.so +%{_libdir}/wine/%{winesodir}/windows.devices.enumeration.dll.so +%{_libdir}/wine/%{winesodir}/windows.devices.usb.dll.so +%{_libdir}/wine/%{winesodir}/windows.gaming.ui.gamebar.dll.so +%{_libdir}/wine/%{winesodir}/windows.gaming.input.dll.so +%{_libdir}/wine/%{winesodir}/windows.globalization.dll.so +%{_libdir}/wine/%{winesodir}/windows.media.dll.so +%{_libdir}/wine/%{winesodir}/windows.media.devices.dll.so +%{_libdir}/wine/%{winesodir}/windows.media.media.mediacontrol.dll.so +%{_libdir}/wine/%{winesodir}/windows.media.speech.dll.so +%{_libdir}/wine/%{winesodir}/windows.networking.connectivity.so +%{_libdir}/wine/%{winesodir}/windows.networking.dll.so +%{_libdir}/wine/%{winesodir}/windows.networking.hostname.dll.so +%{_libdir}/wine/%{winesodir}/windows.perception.stub.dll.so +%{_libdir}/wine/%{winesodir}/windows.security.credentials.ui.userconsentverifier.dll.so +%{_libdir}/wine/%{winesodir}/windows.storage.applicationdata.dll.so +%{_libdir}/wine/%{winesodir}/windows.system.profile.systemmanufacturers.dll.so +%{_libdir}/wine/%{winesodir}/windows.ui.so +%{_libdir}/wine/%{winesodir}/windowscodecs.dll.so +%{_libdir}/wine/%{winesodir}/windowscodecsext.dll.so +%{_libdir}/wine/%{winesodir}/winebus.sys.so +%{_libdir}/wine/%{winesodir}/wined3d.dll.so +%{_libdir}/wine/%{winesodir}/winegstreamer.dll.so +%{_libdir}/wine/%{winesodir}/winehid.sys.so +%{_libdir}/wine/%{winesodir}/winemapi.dll.so +%{_libdir}/wine/%{winesodir}/wineusb.sys.so +%{_libdir}/wine/%{winesodir}/winevulkan.dll.so +%{_libdir}/wine/%{winesodir}/winexinput.sys.so +%{_libdir}/wine/%{winesodir}/wing32.dll.so +%{_libdir}/wine/%{winesodir}/winhttp.dll.so +%{_libdir}/wine/%{winesodir}/wininet.dll.so +%{_libdir}/wine/%{winesodir}/winmm.dll.so +%{_libdir}/wine/%{winesodir}/winnls32.dll.so +%{_libdir}/wine/%{winesodir}/winprint.dll.so +%{_libdir}/wine/%{winesodir}/winspool.drv.so +%{_libdir}/wine/%{winesodir}/winsta.dll.so +%{_libdir}/wine/%{winesodir}/wldp.dll.so +%{_libdir}/wine/%{winesodir}/wmasf.dll.so +%{_libdir}/wine/%{winesodir}/wmic.exe.so +%{_libdir}/wine/%{winesodir}/wmiutils.dll.so +%{_libdir}/wine/%{winesodir}/wmp.dll.so +%{_libdir}/wine/%{winesodir}/wmvcore.dll.so +%{_libdir}/wine/%{winesodir}/spoolss.dll.so +%{_libdir}/wine/%{winesodir}/wintab32.dll.so +%{_libdir}/wine/%{winesodir}/wintrust.dll.so +%{_libdir}/wine/%{winesodir}/wintypes.dll.so +%{_libdir}/wine/%{winesodir}/winusb.dll.so +%{_libdir}/wine/%{winesodir}/wlanapi.dll.so +%{_libdir}/wine/%{winesodir}/wlanui.dll.so +%{_libdir}/wine/%{winesodir}/wmphoto.dll.so +%{_libdir}/wine/%{winesodir}/wnaspi32.dll.so +%{_libdir}/wine/%{winesodir}/wofutil.dll.so +%{_libdir}/wine/%{winesodir}/wpc.dll.so +%{_libdir}/wine/%{winesodir}/wpcap.dll.so +%{_libdir}/wine/%{winesodir}/ws2_32.dll.so +%{_libdir}/wine/%{winesodir}/wsdapi.dll.so +%{_libdir}/wine/%{winesodir}/wshom.ocx.so +%{_libdir}/wine/%{winesodir}/wsnmp32.dll.so +%{_libdir}/wine/%{winesodir}/wsock32.dll.so +%{_libdir}/wine/%{winesodir}/wtsapi32.dll.so +%{_libdir}/wine/%{winesodir}/wuapi.dll.so +%{_libdir}/wine/%{winesodir}/wuaueng.dll.so +%{_libdir}/wine/%{winesodir}/wineps.drv.so +%{_libdir}/wine/%{winesodir}/d3d8.dll.so +%{_libdir}/wine/%{winesodir}/d3d8thk.dll.so +%{_libdir}/wine/%{winesodir}/d3d9.dll.so +%{_libdir}/wine/%{winesodir}/dnsapi.dll.so +%{_libdir}/wine/%{winesodir}/iexplore.exe.so +%{_libdir}/wine/%{winesodir}/xcopy.exe.so +%{_libdir}/wine/%{winesodir}/x3daudio1_0.dll.so +%{_libdir}/wine/%{winesodir}/x3daudio1_1.dll.so +%{_libdir}/wine/%{winesodir}/x3daudio1_2.dll.so +%{_libdir}/wine/%{winesodir}/x3daudio1_3.dll.so +%{_libdir}/wine/%{winesodir}/x3daudio1_4.dll.so +%{_libdir}/wine/%{winesodir}/x3daudio1_5.dll.so +%{_libdir}/wine/%{winesodir}/x3daudio1_6.dll.so +%{_libdir}/wine/%{winesodir}/x3daudio1_7.dll.so +%{_libdir}/wine/%{winesodir}/xactengine2_0.dll.so +%{_libdir}/wine/%{winesodir}/xactengine2_4.dll.so +%{_libdir}/wine/%{winesodir}/xactengine2_7.dll.so +%{_libdir}/wine/%{winesodir}/xactengine2_9.dll.so +%{_libdir}/wine/%{winesodir}/xactengine3_0.dll.so +%{_libdir}/wine/%{winesodir}/xactengine3_1.dll.so +%{_libdir}/wine/%{winesodir}/xactengine3_2.dll.so +%{_libdir}/wine/%{winesodir}/xactengine3_3.dll.so +%{_libdir}/wine/%{winesodir}/xactengine3_4.dll.so +%{_libdir}/wine/%{winesodir}/xactengine3_5.dll.so +%{_libdir}/wine/%{winesodir}/xactengine3_6.dll.so +%{_libdir}/wine/%{winesodir}/xactengine3_7.dll.so +%{_libdir}/wine/%{winesodir}/xapofx1_1.dll.so +%{_libdir}/wine/%{winesodir}/xapofx1_2.dll.so +%{_libdir}/wine/%{winesodir}/xapofx1_3.dll.so +%{_libdir}/wine/%{winesodir}/xapofx1_4.dll.so +%{_libdir}/wine/%{winesodir}/xapofx1_5.dll.so +%{_libdir}/wine/%{winesodir}/xaudio2_0.dll.so +%{_libdir}/wine/%{winesodir}/xaudio2_1.dll.so +%{_libdir}/wine/%{winesodir}/xaudio2_2.dll.so +%{_libdir}/wine/%{winesodir}/xaudio2_3.dll.so +%{_libdir}/wine/%{winesodir}/xaudio2_4.dll.so +%{_libdir}/wine/%{winesodir}/xaudio2_5.dll.so +%{_libdir}/wine/%{winesodir}/xaudio2_6.dll.so +%{_libdir}/wine/%{winesodir}/xaudio2_7.dll.so +%{_libdir}/wine/%{winesodir}/xaudio2_8.dll.so +%{_libdir}/wine/%{winesodir}/xaudio2_9.dll.so +%{_libdir}/wine/%{winesodir}/xinput1_1.dll.so +%{_libdir}/wine/%{winesodir}/xinput1_2.dll.so +%{_libdir}/wine/%{winesodir}/xinput1_3.dll.so +%{_libdir}/wine/%{winesodir}/xinput1_4.dll.so +%{_libdir}/wine/%{winesodir}/xinput9_1_0.dll.so +%{_libdir}/wine/%{winesodir}/xinputuap.dll.so +%{_libdir}/wine/%{winesodir}/xmllite.dll.so +%{_libdir}/wine/%{winesodir}/xolehlp.dll.so +%{_libdir}/wine/%{winesodir}/xpsprint.dll.so +%{_libdir}/wine/%{winesodir}/xpssvcs.dll.so +%endif + +%files filesystem +%doc COPYING.LIB +%dir %{_datadir}/wine +%dir %{_datadir}/wine/gecko +%dir %{_datadir}/wine/mono +%dir %{_datadir}/wine/fonts +%{_datadir}/wine/wine.inf +%{_datadir}/wine/nls/ + +%files common +%{_bindir}/notepad +%{_bindir}/winedbg +%{_bindir}/winefile +%{_bindir}/winemine +%{_bindir}/winemaker +%{_bindir}/winepath +%{_bindir}/msiexec +%{_bindir}/regedit +%{_bindir}/regsvr32 +%{_bindir}/wineboot +%{_bindir}/wineconsole +%{_bindir}/winecfg +%{_mandir}/man1/wine.1* +%{_mandir}/man1/wineserver.1* +%{_mandir}/man1/msiexec.1* +%{_mandir}/man1/notepad.1* +%{_mandir}/man1/regedit.1* +%{_mandir}/man1/regsvr32.1* +%{_mandir}/man1/wineboot.1* +%{_mandir}/man1/winecfg.1* +%{_mandir}/man1/wineconsole.1* +%{_mandir}/man1/winefile.1* +%{_mandir}/man1/winemine.1* +%{_mandir}/man1/winepath.1* +%lang(de) %{_mandir}/de.UTF-8/man1/wine.1* +%lang(de) %{_mandir}/de.UTF-8/man1/wineserver.1* +%lang(fr) %{_mandir}/fr.UTF-8/man1/wine.1* +%lang(fr) %{_mandir}/fr.UTF-8/man1/wineserver.1* +%lang(pl) %{_mandir}/pl.UTF-8/man1/wine.1* + +%files fonts +# meta package + +%if 0%{?wine_staging} +%files arial-fonts +%doc COPYING.LIB +%{_datadir}/wine/fonts/arial* +%endif +#0%%{?wine_staging} + +%files courier-fonts +%doc COPYING.LIB +%{_datadir}/wine/fonts/cou* + +%files fixedsys-fonts +%doc COPYING.LIB +%{_datadir}/wine/fonts/*vgafix.fon + +%files system-fonts +%doc COPYING.LIB +%{_datadir}/wine/fonts/cvgasys.fon +%{_datadir}/wine/fonts/hvgasys.fon +%{_datadir}/wine/fonts/jvgasys.fon +%{_datadir}/wine/fonts/svgasys.fon +%{_datadir}/wine/fonts/vgas1255.fon +%{_datadir}/wine/fonts/vgas1256.fon +%{_datadir}/wine/fonts/vgas1257.fon +%{_datadir}/wine/fonts/vgas874.fon +%{_datadir}/wine/fonts/vgasys.fon +%{_datadir}/wine/fonts/vgasyse.fon +%{_datadir}/wine/fonts/vgasysg.fon +%{_datadir}/wine/fonts/vgasysr.fon +%{_datadir}/wine/fonts/vgasyst.fon + +%files small-fonts +%doc COPYING.LIB +%{_datadir}/wine/fonts/sma* +%{_datadir}/wine/fonts/jsma* + +%files marlett-fonts +%doc COPYING.LIB +%{_datadir}/wine/fonts/marlett.ttf + +%files ms-sans-serif-fonts +%doc COPYING.LIB +%{_datadir}/wine/fonts/sse* +%if 0%{?wine_staging} +%{_datadir}/wine/fonts/msyh.ttf +%endif + +%files tahoma-fonts +%doc COPYING.LIB +%{_datadir}/wine/fonts/tahoma*ttf + +%files tahoma-fonts-system +%doc README-tahoma +%{_datadir}/fonts/wine-tahoma-fonts +%{_fontconfig_confdir}/20-wine-tahoma*conf +%{_fontconfig_templatedir}/20-wine-tahoma*conf + +%if 0%{?wine_staging} +%files times-new-roman-fonts +%doc COPYING.LIB +%{_datadir}/wine/fonts/times.ttf + +%files times-new-roman-fonts-system +%{_datadir}/fonts/wine-times-new-roman-fonts +%endif + +%files symbol-fonts +%doc COPYING.LIB +%{_datadir}/wine/fonts/symbol.ttf + +%files webdings-fonts +%doc COPYING.LIB +%{_datadir}/wine/fonts/webdings.ttf + +%files wingdings-fonts +%doc COPYING.LIB +%{_datadir}/wine/fonts/wingding.ttf + +%files wingdings-fonts-system +%{_datadir}/fonts/wine-wingdings-fonts + +%files desktop +%{_datadir}/applications/wine-notepad.desktop +%{_datadir}/applications/wine-winefile.desktop +%{_datadir}/applications/wine-winemine.desktop +%{_datadir}/applications/wine-mime-msi.desktop +%{_datadir}/applications/wine.desktop +%{_datadir}/applications/wine-regedit.desktop +%{_datadir}/applications/wine-uninstaller.desktop +%{_datadir}/applications/wine-winecfg.desktop +%{_datadir}/applications/wine-wineboot.desktop +%{_datadir}/applications/wine-winhelp.desktop +%{_datadir}/applications/wine-wordpad.desktop +%{_datadir}/applications/wine-oleview.desktop +%{_datadir}/desktop-directories/Wine.directory +%config %{_sysconfdir}/xdg/menus/applications-merged/wine.menu +%{_metainfodir}/%{name}.appdata.xml +%{_datadir}/icons/hicolor/scalable/apps/*svg + +%files systemd +%config %{_binfmtdir}/wine.conf + +# ldap subpackage +%files ldap +%{_libdir}/wine/%{winepedir}/wldap32.dll +%ifarch %{arm} +%{_libdir}/wine/%{winesodir}/wldap32.dll.so +%endif + +# cms subpackage +%files cms +%{_libdir}/wine/%{winepedir}/mscms.dll +%ifarch %{arm} +%{_libdir}/wine/%{winesodir}/mscms.dll.so +%endif + +# twain subpackage +%files twain +%{_libdir}/wine/%{winepedir}/twain_32.dll +%ifarch %{arm} +%{_libdir}/wine/%{winesodir}/twain_32.dll.so +%endif +%{_libdir}/wine/%{winepedir}/sane.ds +%ifarch %{arm} +%{_libdir}/wine/%{winesodir}/sane.ds.so +%endif +%{_libdir}/wine/%{winesodir}/sane.so + +%files devel +%{_bindir}/function_grep.pl +%{_bindir}/widl +%{_bindir}/winebuild +%{_bindir}/winecpp +%{_bindir}/winedump +%{_bindir}/wineg++ +%{_bindir}/winegcc +%{_bindir}/winemaker +%{_bindir}/wmc +%{_bindir}/wrc +%{_mandir}/man1/widl.1* +%{_mandir}/man1/winebuild.1* +%{_mandir}/man1/winecpp.1* +%{_mandir}/man1/winedump.1* +%{_mandir}/man1/winegcc.1* +%{_mandir}/man1/winemaker.1* +%{_mandir}/man1/wmc.1* +%{_mandir}/man1/wrc.1* +%{_mandir}/man1/winedbg.1* +%{_mandir}/man1/wineg++.1* +%lang(de) %{_mandir}/de.UTF-8/man1/winemaker.1* +%lang(fr) %{_mandir}/fr.UTF-8/man1/winemaker.1* +%attr(0755, root, root) %dir %{_includedir}/wine +%{_includedir}/wine/* +%ifarch %{ix86} x86_64 aarch64 +%{_libdir}/wine/%{winepedir}/*.a +%endif +%ifarch %{ix86} x86_64 +%{_libdir}/wine/%{winesodir}/*.a +%endif + + +%files pulseaudio +%{_libdir}/wine/%{winepedir}/winepulse.drv +%{_libdir}/wine/%{winesodir}/winepulse.so +%ifarch %{arm} +%{_libdir}/wine/%{winesodir}/winepulse.drv.so +%endif + +%files alsa +%{_libdir}/wine/%{winepedir}/winealsa.drv +%{_libdir}/wine/%{winesodir}/winealsa.so +%ifarch %{arm} +%{_libdir}/wine/%{winesodir}/winealsa.drv.so +%endif + +%if 0%{?fedora} +%files opencl +%{_libdir}/wine/%{winepedir}/opencl.dll +%ifarch %{arm} +%{_libdir}/wine/%{winesodir}/opencl.dll.so +%endif +%{_libdir}/wine/%{winesodir}/opencl.so +%endif + +%changelog +* Mon Jan 29 2024 Michael Cronenworth - 9.1-1 +- version update + +* Thu Jan 25 2024 Michael Cronenworth - 9.0-3 +- Revert smartcard subpackage (RHBZ#2259936) + +* Fri Jan 19 2024 Michael Cronenworth - 9.0-2 +- Add smartcard subpackage (RHBZ#2259198) + +* Tue Jan 16 2024 Michael Cronenworth - 9.0-1 +- version update + +* Mon Oct 30 2023 Michael Cronenworth - 8.19-1 +- version update + +* Sun Oct 15 2023 Michael Cronenworth - 8.18-1 +- version update + +* Sun Oct 01 2023 Michael Cronenworth - 8.17-1 +- version update + +* Tue Aug 22 2023 Michael Cronenworth - 8.14-1 +- version update + +* Thu Aug 17 2023 Michael Cronenworth - 8.13-1 +- version update + +* Sat Jul 22 2023 Fedora Release Engineering - 8.12-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Mon Jul 10 2023 Michael Cronenworth - 8.12-1 +- version update + +* Sun Jun 25 2023 Michael Cronenworth - 8.11-1 +- version update + +* Wed Apr 19 2023 Michael Cronenworth - 8.6-1 +- version update + +* Sat Apr 01 2023 Michael Cronenworth - 8.5-1 +- version update + +* Tue Mar 21 2023 Michael Cronenworth - 8.4-1 +- version update + +* Wed Feb 22 2023 Michael Cronenworth - 8.2-3 +- fix missing requires for win-iconv + +* Tue Feb 21 2023 Michael Cronenworth - 8.2-2 +- fix missing requires for libjpeg and libtiff + +* Mon Feb 20 2023 Michael Cronenworth - 8.2-1 +- version update + +* Mon Feb 06 2023 Michael Cronenworth - 8.1-1 +- version update + +* Tue Jan 24 2023 Michael Cronenworth - 8.0-1 +- version update + +* Sat Jan 21 2023 Fedora Release Engineering - 8.0-0.rc4.1.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Mon Jan 16 2023 Michael Cronenworth - 8.0-0.rc4.1 +- version update + +* Mon Nov 28 2022 Michael Cronenworth - 7.22-2 +- fix typo in openal obsoletes + +* Sun Nov 27 2022 Michael Cronenworth - 7.22-1 +- version update +- drop openal package + +* Mon Oct 31 2022 Michael Cronenworth - 7.20-1 +- version update + +* Mon Oct 24 2022 Michael Cronenworth - 7.19-1 +- version update + +* Thu Oct 13 2022 Michael Cronenworth - 7.18-2 +- Require MinGW FAudio + +* Tue Oct 11 2022 Michael Cronenworth - 7.18-1 +- version update +- Drop isdn4k-utils from Recommends + +* Sat Jul 23 2022 Fedora Release Engineering - 7.12-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Thu Jul 14 2022 Michael Cronenworth - 7.12-2 +- Requires on vkd3d + +* Tue Jul 05 2022 Michael Cronenworth - 7.12-1 +- versuon update +- Unbundle vkd3d + +* Wed Jun 22 2022 Michael Cronenworth - 7.11-1 +- version update + +* Mon Jun 06 2022 Michael Cronenworth - 7.10-2 +- Require new Mono + +* Mon Jun 06 2022 Michael Cronenworth - 7.10-1 +- version update + +* Mon May 23 2022 Michael Cronenworth - 7.9-1 +- version update + +* Tue Mar 29 2022 Michael Cronenworth - 7.5-1 +- version update +- drop 32-bit ARM +- require on Fedora MinGW dependencies + +* Fri Mar 25 2022 Sandro Mani - 7.3-2 +- Rebuild with mingw-gcc-12 + +* Fri Mar 11 2022 Michael Cronenworth - 7.3-1 +- version update + +* Sun Feb 13 2022 Björn Esser - 7.2-1 +- version update + +* Mon Jan 31 2022 Björn Esser - 7.1-2 +- Revert to wine-mono 7.0.0 + +* Sat Jan 29 2022 Björn Esser - 7.1-1 +- version update + +* Sat Jan 22 2022 Fedora Release Engineering - 7.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Wed Jan 19 2022 Björn Esser - 7.0-1 +- version update + +* Sat Jan 15 2022 Björn Esser - 7.0-0.6rc6 +- version update + +* Sun Jan 09 2022 Björn Esser - 7.0-0.5rc5 +- version update + +* Mon Jan 03 2022 Michael Cronenworth 7.0-0.4rc4 +- version update + +* Mon Jan 03 2022 FeRD (Frank Dana) 7.0-0.3rc3 +- Silence messages from expected failures during rpm scriptlets + +* Mon Dec 27 2021 Björn Esser - 7.0-0.2rc3 +- version update + +* Mon Dec 20 2021 Michael Cronenworth 7.0-0.1rc2 +- version update + +* Wed Nov 10 2021 Michael Cronenworth 6.21-1 +- version update + +* Mon Oct 04 2021 Michael Cronenworth 6.18-1 +- version update + +* Mon Aug 30 2021 Michael Cronenworth 6.16-1 +- version update + +* Wed Jul 07 2021 Michael Cronenworth 6.12-1 +- version update + +* Sat Jun 19 2021 Michael Cronenworth 6.11-1 +- version update + +* Mon Jun 07 2021 Michael Cronenworth 6.10-1 +- version update + +* Mon May 24 2021 Michael Cronenworth 6.9-1 +- version update + +* Sat May 08 2021 Michael Cronenworth 6.8-1 +- version update + +* Sat Apr 24 2021 Michael Cronenworth 6.7-1 +- version update + +* Sun Apr 11 2021 Michael Cronenworth 6.6-1 +- version update + +* Mon Mar 15 2021 Michael Cronenworth 6.4-1 +- version update + +* Sat Feb 27 2021 Michael Cronenworth 6.3-1 +- version update + +* Sat Feb 13 2021 Michael Cronenworth 6.2-1 +- version update + +* Mon Feb 01 2021 Michael Cronenworth 6.1-1 +- version update + +* Wed Jan 27 2021 Fedora Release Engineering - 6.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Thu Jan 14 2021 Michael Cronenworth 6.0-1 +- version update + +* Sun Jan 10 2021 Michael Cronenworth 6.0-0.6rc6 +- version update + +* Thu Jan 07 2021 Michael Cronenworth 6.0-0.5rc5 +- version update + +* Sat Dec 26 2020 Michael Cronenworth 6.0-0.4rc4 +- version update + +* Sat Dec 19 2020 Michael Cronenworth 6.0-0.3rc3 +- version update + +* Sat Dec 12 2020 Michael Cronenworth 6.0-0.2rc2 +- version update + +* Tue Dec 08 2020 Michael Cronenworth 6.0-0.1rc1 +- version update + diff --git a/wine/wine.systemd b/wine/wine.systemd new file mode 100644 index 000000000..537dd898b --- /dev/null +++ b/wine/wine.systemd @@ -0,0 +1,5 @@ +# Pre-PE Windows Executables +:windows:M::MZ::/usr/bin/wine: + +# PE Windows Executables +:windowsPE:M::PE::/usr/bin/wine: diff --git a/wine32/wine-7.22-autoconf-2.72.patch b/wine32/wine-7.22-autoconf-2.72.patch new file mode 100644 index 000000000..781bb9af8 --- /dev/null +++ b/wine32/wine-7.22-autoconf-2.72.patch @@ -0,0 +1,25 @@ +--- wine-7.20.old/aclocal.m4 2022-11-17 17:19:01.772386752 +0100 ++++ wine-7.20/aclocal.m4 2022-11-17 17:24:03.721683055 +0100 +@@ -279,15 +279,17 @@ + dnl + dnl Usage: WINE_CHECK_DEFINE(name),[action-if-yes,[action-if-no]]) + dnl + AC_DEFUN([WINE_CHECK_DEFINE], + [AS_VAR_PUSHDEF([ac_var],[ac_cv_cpp_def_$1])dnl +-AC_CACHE_CHECK([whether we need to define $1],ac_var, +- AC_EGREP_CPP(yes,[#ifndef $1 +-yes +-#endif], +- [AS_VAR_SET(ac_var,yes)],[AS_VAR_SET(ac_var,no)])) ++AC_CACHE_CHECK([whether we need to define $1], ac_var, ++ [AC_PREPROC_IFELSE([[ ++#ifndef $1 ++#error not defined ++#endif ++]], ++ [AS_VAR_SET(ac_var,no)],[AS_VAR_SET(ac_var,yes)])]) + AS_VAR_IF([ac_var],[yes], + [CFLAGS="$CFLAGS -D$1" + LINTFLAGS="$LINTFLAGS -D$1"])dnl + AS_VAR_POPDEF([ac_var])]) + diff --git a/wine32/wine-9.1.tar.xz b/wine32/wine-9.1.tar.xz new file mode 100644 index 000000000..cc697cd67 Binary files /dev/null and b/wine32/wine-9.1.tar.xz differ diff --git a/wine32/wine-9.1.tar.xz.sign b/wine32/wine-9.1.tar.xz.sign new file mode 100644 index 000000000..ecc89c2a5 --- /dev/null +++ b/wine32/wine-9.1.tar.xz.sign @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIzBAABCgAdFiEE2iNXmnTUrZr50/lFzvrI6q8XUZ0FAmW0OOkACgkQzvrI6q8X +UZ1EGQ//YIpys9BBHk1NmBzo8hdcnh493pXe1psNwAzvncs/fX61gBwT6n2H55Zd +oB0OkO9kXN7w7cYUQUABGMcUaZfoOaAL+7wB94fqxcbVcHiuW4ZeG8LTBz6z2j+a +EBj3IbzCsr5EzipfHWpqkgfyB+aWMZFrDw26AQTSFCjyEJhAv/UwF+YEUFkw4jg0 +BcImHV32mcxTdV7WblUmnNzDgfFqXvF1YZXkIDg/zxLyMoWr1kIF4OXVNedUHrSi +DqRPU7T0Wblz+8Lr0sPNnVPniOwLlnSIcbDfu9gJ4iP8Jd3Ng3Cl17oVP/vX3bsc +so7KUuSrbTwICXqK8V2wZnGUYp1Kh8nZIcj3CmUmkbi3UwKrbwA7CJa8tRVTF39R +2bvEsQpTtEDXSdF+qOjwIjHb5VyzY5l+UGSBnJT8QYpu3YO/KwX+wqb300yjxFKB +Swh2rIrWfaPzfGBcI5x/t6HmgkY4piT/Z3rt12AtvXw/n2jVF+6HANjwhiqiv+/6 +VrX/I6Fn4EuC5WNCqEGjxLJVWmPqupDH/W/zf6+YE+yvwgabbboH7BlLsHOPu+sh +EcVAJGjIcl09klQ/qHPh7AaJxgOZ/mqSbr0qSGaBpyDEUNNlkLnMqV4YyHD/Yb7X +gmSPsiLLhpG474t3iPmHtoQDw8JWqP23MAJYv2mFqxRVBmj1LEg= +=TaeR +-----END PGP SIGNATURE----- diff --git a/wine32/wine-README-Fedora b/wine32/wine-README-Fedora new file mode 100644 index 000000000..3765ea070 --- /dev/null +++ b/wine32/wine-README-Fedora @@ -0,0 +1,44 @@ +Wine directory structure used in Fedora Linux: +============================================== + +${HOME}/.wine/drive_c is the root directory (aka C: drive) wine looks for +by default. It is created with (empty) C:\windows and C:\windows\system +directories, needed to operate Wine without an existing Windows +installation, if it does not already exist. + +If you want to use Wine with an existing Windows installation that is +mounted, for example, in /mnt/windows-c, change the symlink +${HOME}/.wine/dosdevices/c: to point to /mnt/windows-c instead of the +defaults set by installation. + +If you do this, you can safely remove ${HOME}/.wine/drive_c. +(Alternatively, just mount your Windows partition to ${HOME}/.wine/drive_c.) + +Wine bugs: +========== +If you find a bug, please take the time to move your ${HOME}/.wine directory +someplace and try with a fresh version (like mv ${HOME}/.wine{,-save}). If the +bug is still there look through https://bugzilla.redhat.com and see if the bug +has already been reported. In case it was not please report it. + +CJK support: +============ +Fedora carries a modified wine.inf file with support for cjk complying to the +fedora default fonts (see +http://tagoh.fedorapeople.org/fonts/fedora-current-defaultfonts.html) + +wine does _not_ pull in the cjk font packages automatically. The following +font packages may need to be installed depending on your locale: + +zh_CN: +wqy-microhei + +jp: +vlgothic-fonts +vlgothic-p-fonts +ipa-mincho-fonts +ipa-pmincho-fonts + +ko: +nhn-nanum-gothic-fonts +nhn-nanum-myeongjo-fonts.noarch diff --git a/wine32/wine-README-tahoma b/wine32/wine-README-tahoma new file mode 100644 index 000000000..da228152c --- /dev/null +++ b/wine32/wine-README-tahoma @@ -0,0 +1,19 @@ += wine-tahoma-fonts = +Wine provides the wine tahoma font family. In fedora embedded bitmaps are +turned off per default (/etc/fonts/conf.d/20-wine-tahoma-nobitmaps.conf) as +this will provide smoother letters for most users. + +If you do not like the wine tahoma font experience but want to keep it +installed you can turn it of by adding the following to ~/.fonts.conf or by +adding a file containing the following to ~/.fonts.conf.d/: + + + + + + + +*/wine-tahoma-fonts/* + + + diff --git a/wine32/wine-cjk.patch b/wine32/wine-cjk.patch new file mode 100644 index 000000000..ed7af8fd9 --- /dev/null +++ b/wine32/wine-cjk.patch @@ -0,0 +1,22 @@ +Index: wine-1.7.22/loader/wine.inf.in +=================================================================== +--- wine-1.7.22.orig/loader/wine.inf.in ++++ wine-1.7.22/loader/wine.inf.in +@@ -568,6 +568,17 @@ HKLM,%FontSubStr%,"Times New Roman CE,23 + HKLM,%FontSubStr%,"Times New Roman CYR,204",,"Times New Roman,204" + HKLM,%FontSubStr%,"Times New Roman Greek,161",,"Times New Roman,161" + HKLM,%FontSubStr%,"Times New Roman TUR,162",,"Times New Roman,162" ++HKCU,Software\Wine\Fonts\Replacements,"SimSun",,"WenQuanYi Zen Hei Sharp" ++HKCU,Software\Wine\Fonts\Replacements,"PMingLiU",,"WenQuanYi Zen Hei Sharp" ++HKCU,Software\Wine\Fonts\Replacements,"MS Gothic",,"VL Gothic" ++HKCU,Software\Wine\Fonts\Replacements,"MS PGothic",,"VL PGothic" ++HKCU,Software\Wine\Fonts\Replacements,"MS UI Gothic",,"VL Gothic" ++HKCU,Software\Wine\Fonts\Replacements,"MS Mincho",,"IPAMincho" ++HKCU,Software\Wine\Fonts\Replacements,"MS PMincho",,"IPAPMincho" ++HKCU,Software\Wine\Fonts\Replacements,"Batang",,"NanumMyeongjo" ++HKCU,Software\Wine\Fonts\Replacements,"Dotum",,"NanumGothic" ++HKCU,Software\Wine\Fonts\Replacements,"Gulim",,"NanumGothic" ++HKCU,Software\Wine\Fonts\Replacements,"Arial Unicode MS",,"Droid Sans Fallback" + HKLM,System\CurrentControlSet\Hardware Profiles\Current\Software\Fonts,"LogPixels",0x10003,0x00000060 + + [MCI] diff --git a/wine32/wine-mime-msi.desktop b/wine32/wine-mime-msi.desktop new file mode 100644 index 000000000..bbe985389 --- /dev/null +++ b/wine32/wine-mime-msi.desktop @@ -0,0 +1,9 @@ +[Desktop Entry] +Type=Application +Name=Windows Installer File +Name[ar]=مثبت حزم واين +Exec=wine %f +MimeType=application/x-ole-storage;text/mspg-legacyinfo; +Hidden=true +StartupNotify=true +StartupWMClass=msiexec.exe diff --git a/wine32/wine-notepad.desktop b/wine32/wine-notepad.desktop new file mode 100644 index 000000000..62d11e230 --- /dev/null +++ b/wine32/wine-notepad.desktop @@ -0,0 +1,12 @@ +[Desktop Entry] +Name=Notepad +Comment=Text Editor +Name[ar]=مفكرة +Comment[ar]=محرر النّصوص مفكرة واين +Exec=notepad +Icon=notepad +Terminal=false +Type=Application +StartupNotify=true +StartupWMClass=notepad.exe +Categories=X-Wine; diff --git a/wine32/wine-oleview.desktop b/wine32/wine-oleview.desktop new file mode 100644 index 000000000..6bb3aa77d --- /dev/null +++ b/wine32/wine-oleview.desktop @@ -0,0 +1,12 @@ +[Desktop Entry] +Name=Wine OLE View +Comment=Windows OLE View +Name[ar]=عارض العناصر +Comment[ar]=لعرض العناصر البيئية في واين +Exec=wine oleview.exe +Icon=wine +Terminal=false +Type=Application +StartupNotify=true +StartupWMClass=oleview.exe +Categories=X-Wine; diff --git a/wine32/wine-regedit.desktop b/wine32/wine-regedit.desktop new file mode 100644 index 000000000..b6e4a6766 --- /dev/null +++ b/wine32/wine-regedit.desktop @@ -0,0 +1,12 @@ +[Desktop Entry] +Name=Regedit +Comment=Wine registry editor +Name[ar]=محرر السّجل +Comment[ar]=محرر لسجلات واين +Exec=regedit +Icon=regedit +Terminal=false +Type=Application +StartupNotify=true +StartupWMClass=regedit.exe +Categories=X-Wine; diff --git a/wine32/wine-staging-9.0.patch b/wine32/wine-staging-9.0.patch new file mode 100644 index 000000000..daad50e47 --- /dev/null +++ b/wine32/wine-staging-9.0.patch @@ -0,0 +1,115 @@ +--- patches/eventfd_synchronization/0003-ntdll-Create-eventfd-based-objects-for-semaphores.patch.orig 2024-01-16 15:47:35.000000000 -0600 ++++ patches/eventfd_synchronization/0003-ntdll-Create-eventfd-based-objects-for-semaphores.patch 2024-01-17 20:36:36.796186786 -0600 +@@ -197,7 +197,7 @@ + + } + + } + + +-+ if (!InterlockedCompareExchange( (int *)&esync_list[entry][idx].type, type, 0 )) +++ if (!InterlockedCompareExchange( (LONG *)&esync_list[entry][idx].type, type, 0 )) + + { + + esync_list[entry][idx].fd = fd; + + esync_list[entry][idx].shm = shm; +--- patches/eventfd_synchronization/0005-ntdll-Implement-NtClose.patch.orig 2024-01-16 15:47:35.000000000 -0600 ++++ patches/eventfd_synchronization/0005-ntdll-Implement-NtClose.patch 2024-01-17 20:22:59.170405980 -0600 +@@ -25,7 +25,7 @@ + + + + if (entry < ESYNC_LIST_ENTRIES && esync_list[entry]) + + { +-+ if (InterlockedExchange((int *)&esync_list[entry][idx].type, 0)) +++ if (InterlockedExchange((LONG *)&esync_list[entry][idx].type, 0)) + + { + + close( esync_list[entry][idx].fd ); + + return STATUS_SUCCESS; +--- patches/eventfd_synchronization/0004-ntdll-Implement-NtReleaseSemaphore.patch.orig 2024-01-16 15:47:35.000000000 -0600 ++++ patches/eventfd_synchronization/0004-ntdll-Implement-NtReleaseSemaphore.patch 2024-01-17 20:25:51.399420034 -0600 +@@ -60,7 +60,7 @@ + + + + if (count + current > semaphore->max) + + return STATUS_SEMAPHORE_LIMIT_EXCEEDED; +-+ } while (InterlockedCompareExchange( &semaphore->count, count + current, current ) != current); +++ } while (InterlockedCompareExchange( (LONG *) &semaphore->count, count + current, current ) != current); + + + + if (prev) *prev = current; + + +--- patches/eventfd_synchronization/0050-ntdll-server-Try-to-avoid-poll-for-signaled-events.patch.orig 2024-01-16 15:47:35.000000000 -0600 ++++ patches/eventfd_synchronization/0050-ntdll-server-Try-to-avoid-poll-for-signaled-events.patch 2024-01-17 20:29:39.020112232 -0600 +@@ -90,7 +90,7 @@ + + if (obj->type == ESYNC_MANUAL_EVENT) + + { + + /* Acquire the spinlock. */ +-+ while (InterlockedCompareExchange( &event->locked, 1, 0 )) +++ while (InterlockedCompareExchange( (LONG *) &event->locked, 1, 0 )) + + small_pause(); + + } + + +@@ -103,7 +103,7 @@ + + * eventfd is unsignaled (i.e. reset shm, set shm, set fd, reset fd), we + + * *must* signal the fd now, or any waiting threads will never wake up. */ + + +-+ if (!InterlockedExchange( &event->signaled, 1 ) || obj->type == ESYNC_AUTO_EVENT) +++ if (!InterlockedExchange( (LONG *) &event->signaled, 1 ) || obj->type == ESYNC_AUTO_EVENT) + + { + + if (write( obj->fd, &value, sizeof(value) ) == -1) + + ERR("write: %s\n", strerror(errno)); +@@ -137,7 +137,7 @@ + + if (obj->type == ESYNC_MANUAL_EVENT) + + { + + /* Acquire the spinlock. */ +-+ while (InterlockedCompareExchange( &event->locked, 1, 0 )) +++ while (InterlockedCompareExchange( (LONG *) &event->locked, 1, 0 )) + + small_pause(); + + } + + +@@ -147,7 +147,7 @@ + + * For auto-reset events, we have no guarantee that the previous "signaled" + + * state is actually correct. We need to leave both states unsignaled after + + * leaving this function, so we always have to read(). */ +-+ if (InterlockedExchange( &event->signaled, 0 ) || obj->type == ESYNC_AUTO_EVENT) +++ if (InterlockedExchange( (LONG *) &event->signaled, 0 ) || obj->type == ESYNC_AUTO_EVENT) + + { + + if (read( obj->fd, &value, sizeof(value) ) == -1 && errno != EWOULDBLOCK && errno != EAGAIN) + + { +--- patches/eventfd_synchronization/0006-ntdll-Implement-NtWaitForMultipleObjects.patch.orig 2024-01-16 15:47:35.000000000 -0600 ++++ patches/eventfd_synchronization/0006-ntdll-Implement-NtWaitForMultipleObjects.patch 2024-01-17 20:31:23.217332813 -0600 +@@ -82,7 +82,7 @@ + + * fact that we were able to grab it at all means the count is nonzero, + + * and if someone else grabbed it then the count must have been >= 2, + + * etc. */ +-+ InterlockedExchangeAdd( &semaphore->count, -1 ); +++ InterlockedExchangeAdd( (LONG *) &semaphore->count, -1 ); + + } + +} + + +--- patches/eventfd_synchronization/0007-ntdll-server-Implement-NtCreateEvent.patch.orig 2024-01-16 15:47:35.000000000 -0600 ++++ patches/eventfd_synchronization/0007-ntdll-server-Implement-NtCreateEvent.patch 2024-01-17 20:31:54.500700144 -0600 +@@ -49,7 +49,7 @@ + + @@ -339,6 +358,14 @@ static void update_grabbed_object( struct esync *obj ) + * etc. */ +- InterlockedExchangeAdd( &semaphore->count, -1 ); ++ InterlockedExchangeAdd( (LONG *) &semaphore->count, -1 ); + } + + else if (obj->type == ESYNC_AUTO_EVENT) + + { +--- patches/eventfd_synchronization/0049-ntdll-Try-to-avoid-poll-for-uncontended-objects.patch.orig 2024-01-16 15:47:35.000000000 -0600 ++++ patches/eventfd_synchronization/0049-ntdll-Try-to-avoid-poll-for-uncontended-objects.patch 2024-01-17 21:07:47.674962176 -0600 +@@ -68,7 +68,7 @@ + + if ((size = read( obj->fd, &value, sizeof(value) )) == sizeof(value)) + + { + + TRACE("Woken up by handle %p [%d].\n", handles[i], i); +-+ InterlockedDecrement( &semaphore->count ); +++ InterlockedDecrement( (LONG *) &semaphore->count ); + + return i; + + } + + } +--- patches/gdi32-rotation/0002-gdi32-fix-for-rotated-ellipse.patch.orig 2024-01-16 15:47:35.000000000 -0600 ++++ patches/gdi32-rotation/0002-gdi32-fix-for-rotated-ellipse.patch 2024-01-18 08:19:37.882485865 -0600 +@@ -74,7 +74,7 @@ + + } + + + + if (pdev->brush.style != BS_NULL && +-+ !(interior = ULongToHandle(NtGdiPolyPolyDraw( ULongToHandle(ALTERNATE), points, (const UINT *)&count, 1, NtGdiPolyPolygonRgn )))) +++ !(interior = ULongToHandle(NtGdiPolyPolyDraw( ULongToHandle(ALTERNATE), points, (const ULONG *)&count, 1, NtGdiPolyPolygonRgn )))) + + { + + free( points ); + + if (outline) NtGdiDeleteObjectApp( outline ); diff --git a/wine32/wine-staging-9.1.tar.gz b/wine32/wine-staging-9.1.tar.gz new file mode 100644 index 000000000..51ad73c34 Binary files /dev/null and b/wine32/wine-staging-9.1.tar.gz differ diff --git a/wine32/wine-tahoma.conf b/wine32/wine-tahoma.conf new file mode 100644 index 000000000..d8af4392b --- /dev/null +++ b/wine32/wine-tahoma.conf @@ -0,0 +1,11 @@ + + + + + + + + Tahoma + false + + diff --git a/wine32/wine-uninstaller.desktop b/wine32/wine-uninstaller.desktop new file mode 100644 index 000000000..47653edff --- /dev/null +++ b/wine32/wine-uninstaller.desktop @@ -0,0 +1,12 @@ +[Desktop Entry] +Name=Wine Software Uninstaller +Comment=Interface to uninstall software +Name[ar]=مزيل التطبيقات من واين +Comment[ar]=واجهة إزالة التّطبيقات من واين +Exec=wine uninstaller.exe +Icon=msiexec +Terminal=false +Type=Application +StartupNotify=true +StartupWMClass=uninstaller.exe +Categories=X-Wine; diff --git a/wine32/wine-wineboot.desktop b/wine32/wine-wineboot.desktop new file mode 100644 index 000000000..9796c1385 --- /dev/null +++ b/wine32/wine-wineboot.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Name=Wine Boot +Comment=Simulate restart +Name[ar]=إقلاع واين +Comment[ar]=محاكاة إعادة التشغيل لواين +Exec=wineboot +Icon=wine +Terminal=false +Type=Application +Categories=X-Wine; diff --git a/wine32/wine-winecfg.desktop b/wine32/wine-winecfg.desktop new file mode 100644 index 000000000..78546d34d --- /dev/null +++ b/wine32/wine-winecfg.desktop @@ -0,0 +1,12 @@ +[Desktop Entry] +Name=Wine Configuration +Comment=Interface to set wine parameters +Name[ar]=إعدادات واين +Comment[ar]=لوحة تحكم بمنظومة واين +Exec=winecfg +Icon=winecfg +Terminal=false +Type=Application +StartupNotify=true +StartupWMClass=winecfg.exe +Categories=X-Wine; diff --git a/wine32/wine-winefile.desktop b/wine32/wine-winefile.desktop new file mode 100644 index 000000000..d87955bcc --- /dev/null +++ b/wine32/wine-winefile.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Name=Wine File +Comment=Wine File Browser +Name[ar]=مدير ملفات واين +Comment[ar]=إدارة الملفات بطريقة واين +Exec=winefile +Icon=winefile +Terminal=false +Type=Application +Categories=X-Wine; diff --git a/wine32/wine-winemine.desktop b/wine32/wine-winemine.desktop new file mode 100644 index 000000000..1bead9b3a --- /dev/null +++ b/wine32/wine-winemine.desktop @@ -0,0 +1,12 @@ +[Desktop Entry] +Name=WineMine +Comment=Wine Minesweeper +Name[ar]=كانسة ألغام واين +Comment[ar]=لعبة كانسة ألغام واين +Exec=winemine +Icon=winemine +Terminal=false +Type=Application +StartupNotify=true +StartupWMClass=winemine.exe +Categories=Game;LogicGame; diff --git a/wine32/wine-winhelp.desktop b/wine32/wine-winhelp.desktop new file mode 100644 index 000000000..5280b2088 --- /dev/null +++ b/wine32/wine-winhelp.desktop @@ -0,0 +1,12 @@ +[Desktop Entry] +Name=Wine Help +Comment=Windows Help Browser +Name[ar]=أداة المساعدة في واين +Comment[ar]=استعراض ملفات المساعدة بتنسيقات وندوز +Exec=wine winhlp32.exe +Icon=winhelp +Terminal=false +Type=Application +StartupNotify=true +StartupWMClass=winhlp32.exe +Categories=X-Wine; diff --git a/wine32/wine-wordpad.desktop b/wine32/wine-wordpad.desktop new file mode 100644 index 000000000..044a027ef --- /dev/null +++ b/wine32/wine-wordpad.desktop @@ -0,0 +1,12 @@ +[Desktop Entry] +Name=Wine Wordpad +Comment=Text Editor +Name[ar]=دفتر واين +Comment[ar]=محرر النّصوص دفتر واين +Exec=wine wordpad.exe +Icon=wordpad +Terminal=false +Type=Application +StartupNotify=true +StartupWMClass=wordpad.exe +Categories=X-Wine; diff --git a/wine32/wine.appdata.xml b/wine32/wine.appdata.xml new file mode 100644 index 000000000..15c33b649 --- /dev/null +++ b/wine32/wine.appdata.xml @@ -0,0 +1,25 @@ + + + wine.desktop + CC0-1.0 + LGPLv2+ + Wine + A compatibility layer for Windows applications + +

+ Wine (originally an acronym for "Wine Is Not an Emulator") is a compatibility + layer capable of running Windows applications on several POSIX-compliant operating + systems, such as Linux, macOS, & BSD. Instead of simulating internal Windows + logic like a virtual machine or emulator, Wine translates Windows API calls into + POSIX calls on-the-fly, eliminating the performance and memory penalties of other + methods and allowing you to cleanly integrate Windows applications into your desktop. +

+
+ https://www.winehq.org/ + https://bugs.winehq.org/ + https://wiki.winehq.org/FAQ + https://wiki.winehq.org/ + https://www.winehq.org/donate + https://wiki.winehq.org/Translating +
+ diff --git a/wine32/wine.directory b/wine32/wine.directory new file mode 100644 index 000000000..9fdb800f9 --- /dev/null +++ b/wine32/wine.directory @@ -0,0 +1,5 @@ +[Desktop Entry] +Encoding=UTF-8 +Type=Directory +Name=Wine +Icon=wine diff --git a/wine32/wine.menu b/wine32/wine.menu new file mode 100644 index 000000000..5fdb60fc4 --- /dev/null +++ b/wine32/wine.menu @@ -0,0 +1,13 @@ + + + Applications + + wine-wine + Wine.directory + + X-Wine + + + diff --git a/wine32/wine.spec b/wine32/wine.spec new file mode 100644 index 000000000..3ce4c3288 --- /dev/null +++ b/wine32/wine.spec @@ -0,0 +1,3039 @@ +# Compiling the preloader fails with hardening enabled +%undefine _hardened_build + +%global no64bit 0 +%global winegecko 2.47.4 +%global winemono 8.1.0 +#global _default_patch_fuzz 2 +%ifarch %{ix86} +%global winepedir i386-windows +%global winesodir i386-unix +%endif +%ifarch x86_64 +%global winepedir x86_64-windows +%global winesodir x86_64-unix +%endif +%ifarch %{arm} +%global winepedir arm-windows +%global winesodir arm-unix +%endif +%ifarch aarch64 +%global winepedir aarch64-windows +%global winesodir aarch64-unix +%global __brp_llvm_compile_lto_elf %nil +%global __brp_strip_lto %nil +%global __brp_strip_static_archive %nil +%endif + +# build with wine-staging patches, see: https://github.com/wine-staging/wine-staging +%if 0%{?fedora} || 0%{?rhel} +%global wine_staging 1 +%endif +# 0%%{?fedora} + +# binfmt macros for RHEL +%if 0%{?rhel} +%global _binfmtdir /usr/lib/binfmt.d +%global binfmt_apply() \ +/usr/lib/systemd/systemd-binfmt %{?*} >/dev/null 2>&1 || : \ +%{nil} +%endif + +Name: wine32 +Version: 9.1 +Release: 1%{?dist} +Summary: A compatibility layer for windows applications + +License: LGPL-2.1-or-later +URL: https://www.winehq.org/ +Source0: https://dl.winehq.org/wine/source/9.x/wine-%{version}.tar.xz +Source10: https://dl.winehq.org/wine/source/9.x/wine-%{version}.tar.xz.sign + +Source1: wine.systemd +Source2: wine-README-Fedora + +# desktop files +Source100: wine-notepad.desktop +Source101: wine-regedit.desktop +Source102: wine-uninstaller.desktop +Source103: wine-winecfg.desktop +Source104: wine-winefile.desktop +Source105: wine-winemine.desktop +Source106: wine-winhelp.desktop +Source107: wine-wineboot.desktop +Source108: wine-wordpad.desktop +Source109: wine-oleview.desktop + +# AppData files +Source150: wine.appdata.xml + +# wine bugs + +# desktop dir +Source200: wine.menu +Source201: wine.directory + +# mime types +Source300: wine-mime-msi.desktop + + +# smooth tahoma (#693180) +# disable embedded bitmaps +Source501: wine-tahoma.conf +# and provide a readme +Source502: wine-README-tahoma + +# Autoconf 2.72 support - https://bugzilla.redhat.com/show_bug.cgi?id=2143724 +Patch100: wine-7.22-autoconf-2.72.patch + +Patch511: wine-cjk.patch + +Patch900: wine-staging-9.0.patch + +%if 0%{?wine_staging} +# wine-staging patches +# pulseaudio-patch is covered by that patch-set, too. +Source900: https://github.com/wine-staging/wine-staging/archive/v%{version}.tar.gz#/wine-staging-%{version}.tar.gz +%endif + +%if !%{?no64bit} +%if 0%{?fedora} > 36 +ExclusiveArch: %{ix86} x86_64 aarch64 +%else +# Fedora 36 Clang doesn't build PE binaries on ARM at the moment +ExclusiveArch: %{ix86} x86_64 +%endif +%else +ExclusiveArch: %{ix86} +%endif + +BuildRequires: bison +BuildRequires: flex +%ifarch %{arm} aarch64 +BuildRequires: clang +BuildRequires: lld +%else +BuildRequires: gcc +%endif +BuildRequires: autoconf +BuildRequires: make +BuildRequires: desktop-file-utils +BuildRequires: alsa-lib-devel +BuildRequires: audiofile-devel +BuildRequires: freeglut-devel +BuildRequires: libieee1284-devel + +BuildRequires: librsvg2 +BuildRequires: librsvg2-devel +BuildRequires: libstdc++-devel +BuildRequires: pkgconfig(libusb-1.0) +%if 0%{?fedora} +BuildRequires: ocl-icd-devel +BuildRequires: opencl-headers +%endif +BuildRequires: openldap-devel +BuildRequires: perl-generators +BuildRequires: unixODBC-devel +BuildRequires: sane-backends-devel +BuildRequires: systemd-devel +BuildRequires: fontforge freetype-devel +BuildRequires: libgphoto2-devel +BuildRequires: libpcap-devel +# modular x +BuildRequires: libX11-devel +BuildRequires: mesa-libGL-devel mesa-libGLU-devel mesa-libOSMesa-devel +BuildRequires: libXxf86dga-devel libXxf86vm-devel +BuildRequires: libXrandr-devel libXrender-devel +BuildRequires: libXext-devel +BuildRequires: libXinerama-devel +BuildRequires: libXcomposite-devel +BuildRequires: fontconfig-devel +BuildRequires: giflib-devel +BuildRequires: cups-devel +BuildRequires: libXmu-devel +BuildRequires: libXi-devel +BuildRequires: libXcursor-devel +BuildRequires: dbus-devel +BuildRequires: gnutls-devel +BuildRequires: pulseaudio-libs-devel +BuildRequires: gsm-devel +BuildRequires: libv4l-devel +BuildRequires: fontpackages-devel +BuildRequires: gettext-devel +BuildRequires: chrpath +BuildRequires: gstreamer1-devel +BuildRequires: gstreamer1-plugins-base-devel +%if 0%{?fedora} > 24 +BuildRequires: mpg123-devel +%endif +BuildRequires: SDL2-devel +BuildRequires: vulkan-devel +BuildRequires: libappstream-glib + +# Silverlight DRM-stuff needs XATTR enabled. +%if 0%{?wine_staging} +BuildRequires: gtk3-devel +BuildRequires: libattr-devel +BuildRequires: libva-devel +%endif +# 0%%{?wine_staging} + +BuildRequires: icoutils + +%ifarch %{ix86} x86_64 +BuildRequires: mingw32-FAudio +BuildRequires: mingw64-FAudio +BuildRequires: mingw32-gcc +BuildRequires: mingw64-gcc +BuildRequires: mingw32-lcms2 +BuildRequires: mingw64-lcms2 +BuildRequires: mingw32-libpng +BuildRequires: mingw64-libpng +BuildRequires: mingw32-libtiff +BuildRequires: mingw64-libtiff +BuildRequires: mingw32-libxml2 +BuildRequires: mingw64-libxml2 +BuildRequires: mingw32-libxslt +BuildRequires: mingw64-libxslt +BuildRequires: mingw32-vkd3d +BuildRequires: mingw64-vkd3d +BuildRequires: mingw32-vulkan-headers +BuildRequires: mingw64-vulkan-headers +BuildRequires: mingw32-zlib +BuildRequires: mingw64-zlib +%endif + +Requires: wine32-common = %{version}-%{release} +Requires: wine32-desktop = %{version}-%{release} +Requires: wine32-fonts = %{version}-%{release} + +# x86-32 parts +%ifarch %{ix86} x86_64 +%if 0%{?fedora} || 0%{?rhel} +Requires: wine32-core(x86-32) = %{version}-%{release} +Requires: wine32-cms(x86-32) = %{version}-%{release} +Requires: wine32-ldap(x86-32) = %{version}-%{release} +Requires: wine32-twain(x86-32) = %{version}-%{release} +Requires: wine32-pulseaudio(x86-32) = %{version}-%{release} +%if 0%{?fedora} +Requires: wine32-opencl(x86-32) = %{version}-%{release} +%endif +%if 0%{?fedora} +Requires: mingw32-wine-gecko = %winegecko +Requires: wine32-mono = %winemono +%endif +# wait for rhbz#968860 to require arch-specific samba-winbind-clients +Requires: /usr/bin/ntlm_auth +Requires: mesa-dri-drivers(x86-32) +%endif +%if 0%{?fedora} +Recommends: wine32-dxvk(x86-32) +Recommends: dosbox-staging +%endif +Recommends: gstreamer1-plugins-good(x86-32) +%endif + +# x86-64 parts +%ifarch x86_64 +Requires: wine32-core(x86-64) = %{version}-%{release} +Requires: wine32-cms(x86-64) = %{version}-%{release} +Requires: wine32-ldap(x86-64) = %{version}-%{release} +Requires: wine32-twain(x86-64) = %{version}-%{release} +Requires: wine32-pulseaudio(x86-64) = %{version}-%{release} +%if 0%{?fedora} +Requires: wine32-opencl(x86-64) = %{version}-%{release} +%endif +%if 0%{?fedora} +Requires: mingw64-wine-gecko = %winegecko +Requires: wine32-mono = %winemono +%endif +Requires: mesa-dri-drivers(x86-64) +%if 0%{?fedora} +Recommends: wine32-dxvk(x86-64) +Recommends: dosbox-staging +%endif +Recommends: gstreamer1-plugins-good(x86-64) +%endif + +# ARM parts +%ifarch %{arm} aarch64 +Requires: wine32-core = %{version}-%{release} +Requires: wine32-cms = %{version}-%{release} +Requires: wine32-ldap = %{version}-%{release} +Requires: wine32-twain = %{version}-%{release} +Requires: wine32-pulseaudio = %{version}-%{release} +%if 0%{?fedora} +Requires: wine32-opencl = %{version}-%{release} +%endif +Requires: mesa-dri-drivers +Requires: samba-winbind-clients +%endif + +# aarch64 parts +%ifarch aarch64 +Requires: wine32-core(aarch-64) = %{version}-%{release} +Requires: wine32-cms(aarch-64) = %{version}-%{release} +Requires: wine32-ldap(aarch-64) = %{version}-%{release} +Requires: wine32-twain(aarch-64) = %{version}-%{release} +Requires: wine32-pulseaudio(aarch-64) = %{version}-%{release} +Requires: wine32-opencl(aarch-64) = %{version}-%{release} +Requires: mingw64-wine-gecko = %winegecko +Requires: mesa-dri-drivers(aarch-64) +%endif + +%description +Wine as a compatibility layer for UNIX to run Windows applications. This +package includes a program loader, which allows unmodified Windows +3.x/9x/NT binaries to run on x86 and x86_64 Unixes. Wine can use native system +.dll files if they are available. + +In Fedora wine is a meta-package which will install everything needed for wine +to work smoothly. Smaller setups can be achieved by installing some of the +wine-* sub packages. + +%package core +Summary: Wine core package +Requires(postun): /sbin/ldconfig +Requires(posttrans): %{_sbindir}/alternatives +Requires(preun): %{_sbindir}/alternatives + +# require -filesystem +Requires: wine32-filesystem = %{version}-%{release} + +%ifarch %{ix86} +# CUPS support uses dlopen - rhbz#1367537 +Requires: cups-libs(x86-32) +Requires: freetype(x86-32) +Requires: (nss-mdns(x86-32) if nss-mdns(x86-64)) +Requires: gnutls(x86-32) +Requires: libXcomposite(x86-32) +Requires: libXcursor(x86-32) +Requires: libXinerama(x86-32) +Requires: libXrandr(x86-32) +Requires: libXrender(x86-32) +#dlopen in windowscodesc (fixes rhbz#1085075) +Requires: libpng(x86-32) +Requires: libpcap(x86-32) +Requires: mesa-libOSMesa(x86-32) +Requires: libv4l(x86-32) +Requires: unixODBC(x86-32) +Requires: SDL2(x86-32) +Requires: vulkan-loader(x86-32) +%if 0%{?wine_staging} +Requires: libva(x86-32) +%endif +Requires: mingw32-FAudio +Requires: mingw32-lcms2 +Requires: mingw32-libjpeg-turbo +Requires: mingw32-libpng +Requires: mingw32-libtiff +Requires: mingw32-libxml2 +Requires: mingw32-libxslt +Requires: mingw32-vkd3d +Requires: mingw32-win-iconv +Requires: mingw32-zlib +%endif + +%ifarch x86_64 +# CUPS support uses dlopen - rhbz#1367537 +Requires: cups-libs(x86-64) +Requires: freetype(x86-64) +Requires: (nss-mdns(x86-64) if nss-mdns(x86-32)) +Requires: gnutls(x86-64) +Requires: libXcomposite(x86-64) +Requires: libXcursor(x86-64) +Requires: libXinerama(x86-64) +Requires: libXrandr(x86-64) +Requires: libXrender(x86-64) +#dlopen in windowscodesc (fixes rhbz#1085075) +Requires: libpng(x86-64) +Requires: libpcap(x86-64) +Requires: mesa-libOSMesa(x86-64) +Requires: libv4l(x86-64) +Requires: unixODBC(x86-64) +Requires: SDL2(x86-64) +Requires: vulkan-loader(x86-64) +%if 0%{?wine_staging} +Requires: libva(x86-64) +%endif +Requires: mingw64-FAudio +Requires: mingw64-lcms2 +Requires: mingw64-libjpeg-turbo +Requires: mingw64-libpng +Requires: mingw64-libtiff +Requires: mingw64-libxml2 +Requires: mingw64-libxslt +Requires: mingw64-vkd3d +Requires: mingw64-win-iconv +Requires: mingw64-zlib +%endif + +%ifarch %{arm} aarch64 +# CUPS support uses dlopen - rhbz#1367537 +Requires: cups-libs +Requires: freetype +Requires: nss-mdns +Requires: gnutls +Requires: libXrender +Requires: libXcursor +#dlopen in windowscodesc (fixes rhbz#1085075) +Requires: libpng +Requires: libpcap +Requires: mesa-libOSMesa +Requires: libv4l +Requires: unixODBC +Requires: SDL2 +Requires: vulkan-loader +%if 0%{?wine_staging} +Requires: libva +%endif +%endif + +Provides: bundled(libjpeg) = 9e +Provides: bundled(mpg123-libs) = 1.29.3 + +# removed as of 7.21 +Obsoletes: wine32-openal < 7.21 +Provides: wine32-openal = %{version}-%{release} + +%description core +Wine core package includes the basic wine stuff needed by all other packages. + +%package systemd +Summary: Systemd config for the wine binfmt handler +Requires: systemd +BuildArch: noarch +Requires(post): systemd +Requires(postun): systemd +Obsoletes: wine32-sysvinit < %{version}-%{release} + +%description systemd +Register the wine binary handler for windows executables via systemd binfmt +handling. See man binfmt.d for further information. + +%package filesystem +Summary: Filesystem directories for wine +BuildArch: noarch + +%description filesystem +Filesystem directories and basic configuration for wine. + +%package common +Summary: Common files +Requires: wine32-core = %{version}-%{release} +BuildArch: noarch + +%description common +Common wine files and scripts. + +%package desktop +Summary: Desktop integration features for wine +Requires(post): desktop-file-utils +Requires(postun): desktop-file-utils +Requires: wine32-core = %{version}-%{release} +Requires: wine32-common = %{version}-%{release} +Requires: wine32-systemd = %{version}-%{release} +Requires: hicolor-icon-theme +BuildArch: noarch + +%description desktop +Desktop integration features for wine, including mime-types and a binary format +handler service. + +%package fonts +Summary: Wine font files +BuildArch: noarch +# arial-fonts are available with wine-staging patchset, only. +%if 0%{?wine_staging} +Requires: wine32-arial-fonts = %{version}-%{release} +%else +# 0%%{?wine_staging} +Obsoletes: wine32-arial-fonts <= %{version}-%{release} +%endif +# 0%%{?wine_staging} +Requires: wine32-courier-fonts = %{version}-%{release} +Requires: wine32-fixedsys-fonts = %{version}-%{release} +Requires: wine32-small-fonts = %{version}-%{release} +Requires: wine32-system-fonts = %{version}-%{release} +Requires: wine32-marlett-fonts = %{version}-%{release} +Requires: wine32-ms-sans-serif-fonts = %{version}-%{release} +Requires: wine32-tahoma-fonts = %{version}-%{release} +# times-new-roman-fonts are available with wine_staging-patchset, only. +%if 0%{?wine_staging} +Requires: wine32-times-new-roman-fonts = %{version}-%{release} +%else +# 0%%{?wine_staging} +Obsoletes: wine32-times-new-roman-fonts <= %{version}-%{release} +Obsoletes: wine32-times-new-roman-fonts-system <= %{version}-%{release} +%endif +# 0%%{?wine_staging} +Requires: wine32-symbol-fonts = %{version}-%{release} +Requires: wine32-webdings-fonts = %{version}-%{release} +Requires: wine32-wingdings-fonts = %{version}-%{release} +# intermediate fix for #593140 +Requires: liberation-sans-fonts liberation-serif-fonts liberation-mono-fonts +Requires: liberation-narrow-fonts + +%description fonts +%{summary} + +%if 0%{?wine_staging} +%package arial-fonts +Summary: Wine Arial font family +BuildArch: noarch +Requires: fontpackages-filesystem + +%description arial-fonts +%{summary} +%endif +# 0%%{?wine_staging} + +%package courier-fonts +Summary: Wine Courier font family +BuildArch: noarch +Requires: fontpackages-filesystem + +%description courier-fonts +%{summary} + +%package fixedsys-fonts +Summary: Wine Fixedsys font family +BuildArch: noarch +Requires: fontpackages-filesystem + +%description fixedsys-fonts +%{summary} + +%package small-fonts +Summary: Wine Small font family +BuildArch: noarch +Requires: fontpackages-filesystem + +%description small-fonts +%{summary} + +%package system-fonts +Summary: Wine System font family +BuildArch: noarch +Requires: fontpackages-filesystem + +%description system-fonts +%{summary} + + +%package marlett-fonts +Summary: Wine Marlett font family +BuildArch: noarch +Requires: fontpackages-filesystem + +%description marlett-fonts +%{summary} + + +%package ms-sans-serif-fonts +Summary: Wine MS Sans Serif font family +BuildArch: noarch +Requires: fontpackages-filesystem + +%description ms-sans-serif-fonts +%{summary} + +# rhbz#693180 +# http://lists.fedoraproject.org/pipermail/devel/2012-June/168153.html +%package tahoma-fonts +Summary: Wine Tahoma font family +BuildArch: noarch +Requires: wine32-filesystem = %{version}-%{release} + +%description tahoma-fonts +%{summary} +Please note: If you want system integration for wine tahoma fonts install the +wine-tahoma-fonts-system package. + +%package tahoma-fonts-system +Summary: Wine Tahoma font family system integration +BuildArch: noarch +Requires: fontpackages-filesystem +Requires: wine32-tahoma-fonts = %{version}-%{release} + +%description tahoma-fonts-system +%{summary} + +%if 0%{?wine_staging} +%package times-new-roman-fonts +Summary: Wine Times New Roman font family +BuildArch: noarch +Requires: wine32-filesystem = %{version}-%{release} + +%description times-new-roman-fonts +%{summary} +Please note: If you want system integration for wine times new roman fonts install the +wine-times-new-roman-fonts-system package. + +%package times-new-roman-fonts-system +Summary: Wine Times New Roman font family system integration +BuildArch: noarch +Requires: fontpackages-filesystem +Requires: wine32-times-new-roman-fonts = %{version}-%{release} + +%description times-new-roman-fonts-system +%{summary} +%endif + +%package symbol-fonts +Summary: Wine Symbol font family +BuildArch: noarch +Requires: fontpackages-filesystem + +%description symbol-fonts +%{summary} + +%package webdings-fonts +Summary: Wine Webdings font family +BuildArch: noarch +Requires: fontpackages-filesystem + +%description webdings-fonts +%{summary} + +%package wingdings-fonts +Summary: Wine Wingdings font family +BuildArch: noarch +Requires: fontpackages-filesystem + +%description wingdings-fonts +%{summary} +Please note: If you want system integration for wine wingdings fonts install the +wine-wingdings-fonts-system package. + +%package wingdings-fonts-system +Summary: Wine Wingdings font family system integration +BuildArch: noarch +Requires: fontpackages-filesystem +Requires: wine32-wingdings-fonts = %{version}-%{release} + +%description wingdings-fonts-system +%{summary} + + +%package ldap +Summary: LDAP support for wine +Requires: wine32-core = %{version}-%{release} + +%description ldap +LDAP support for wine + +%package cms +Summary: Color Management for wine +Requires: wine32-core = %{version}-%{release} + +%description cms +Color Management for wine + +%package twain +Summary: Twain support for wine +Requires: wine32-core = %{version}-%{release} +%ifarch %{ix86} +Requires: sane-backends-libs(x86-32) +%endif +%ifarch x86_64 +Requires: sane-backends-libs(x86-64) +%endif +%ifarch %{arm} aarch64 +Requires: sane-backends-libs +%endif + +%description twain +Twain support for wine + +%package devel +Summary: Wine development environment +Requires: wine32-core = %{version}-%{release} + +%description devel +Header, include files and library definition files for developing applications +with the Wine Windows(TM) emulation libraries. + +%package pulseaudio +Summary: Pulseaudio support for wine +Requires: wine32-core = %{version}-%{release} +# midi output +Requires: wine32-alsa%{?_isa} = %{version}-%{release} + +%description pulseaudio +This package adds a pulseaudio driver for wine. + +%package alsa +Summary: Alsa support for wine +Requires: wine32-core = %{version}-%{release} + +%description alsa +This package adds an alsa driver for wine. + +%if 0%{?fedora} +%package opencl +Summary: OpenCL support for wine +Requires: wine32-core = %{version}-%{release} + +%Description opencl +This package adds the opencl driver for wine. +%endif + +%prep +%setup -qn wine-%{version} +%patch -P 100 -p1 -b.autoconf +%patch -P 511 -p1 -b.cjk + +%if 0%{?wine_staging} +# setup and apply wine-staging patches +gzip -dc %{SOURCE900} | tar -xf - --strip-components=1 + +# https://bugs.winehq.org/show_bug.cgi?id=54868 +sed -i 's/DWORD pitch_in, DWORD pitch_out/unsigned int pitch_in, unsigned int pitch_out/' patches/wined3d-WINED3DFMT_B8G8R8X8_UNORM/0001-wined3d-Implement-WINED3DFMT_B8G8R8X8_UNORM-to-WINED.patch +# Fix pointer types for i686 build +%patch -P 900 -p0 -b.staging +staging/patchinstall.py DESTDIR="`pwd`" --all + +%endif +# 0%%{?wine_staging} + +%build +# This package uses top level ASM constructs which are incompatible with LTO. +# Top level ASMs are often used to implement symbol versioning. gcc-10 +# introduces a new mechanism for symbol versioning which works with LTO. +# Converting packages to use that mechanism instead of toplevel ASMs is +# recommended. +# Disable LTO +%define _lto_cflags %{nil} + +# disable fortify as it breaks wine +# http://bugs.winehq.org/show_bug.cgi?id=24606 +# http://bugs.winehq.org/show_bug.cgi?id=25073 +%undefine _fortify_level +# Disable Red Hat specs for package notes (Fedora 38+) and annobin. +# MinGW GCC does not support these options. +%if 0%{?fedora_version} == 36 +export LDFLAGS="$(echo "%{build_ldflags}" | sed -e 's/-Wl,-z,relro//' -e 's/-Wl,--build-id=sha1//' -e 's/-Wl,-dT,\/home\/abuild\/rpmbuild\/BUILD\/wine.*//' -e 's/-specs=\/usr\/lib\/rpm\/redhat\/redhat-annobin-cc1//')" +%else +export LDFLAGS="$(echo "%{build_ldflags}" | sed -e 's/-Wl,-z,relro//' -e 's/-Wl,--build-id=sha1//' -e 's/-specs=\/usr\/lib\/rpm\/redhat\/redhat-package-notes//' -e 's/-specs=\/usr\/lib\/rpm\/redhat\/redhat-annobin-cc1//')" +%endif +%ifarch x86_64 +export CFLAGS="$(echo "%{optflags}" | sed -e 's/-O2//' -e 's/-fcf-protection//' -e 's/-fstack-protector-strong//' -e 's/-fstack-clash-protection//' -e 's/-specs=\/usr\/lib\/rpm\/redhat\/redhat-annobin-cc1//') -O2" +%else +export CFLAGS="$(echo "%{optflags}" | sed -e 's/-fcf-protection//' -e 's/-fstack-protector-strong//' -e 's/-fstack-clash-protection//' -e 's/-specs=\/usr\/lib\/rpm\/redhat\/redhat-annobin-cc1//')" +%endif + +%ifarch %{arm} aarch64 +# Wine enabled -Wl,-WX that turns linker warnings into errors +# Fedora passes '--as-needed' for all binaries and this is a warning from the linker, now an error, so disable flag for now +sed -i 's/-Wl,-WX//g' configure +%if 0%{?fedora} +%global toolchain clang +%else +# ARM64 now requires clang +# https://source.winehq.org/git/wine.git/commit/8fb8cc03c3edb599dd98f369e14a08f899cbff95 +export CC="/usr/bin/clang" +# Fedora's default compiler flags now conflict with what clang supports +# https://bugzilla.redhat.com/show_bug.cgi?id=1658311 +export CFLAGS="`echo $CFLAGS | sed -e 's/-fstack-clash-protection//'`" +%endif +%endif +%ifarch armv7hl +export CFLAGS="`echo $CFLAGS | sed -e 's/-fexceptions//'`" +%endif + +# required so that both Linux and Windows development files can be found +unset PKG_CONFIG_PATH + +%configure \ + --sysconfdir=%{_sysconfdir}/wine \ + --x-includes=%{_includedir} --x-libraries=%{_libdir} \ + --with-dbus \ + --with-x \ +%ifarch %{arm} + --with-float-abi=hard \ +%endif +%ifarch x86_64 aarch64 + --enable-win64 \ +%ifarch x86_64 + --with-system-dllpath=%{mingw64_bindir} \ +%endif +%endif +%ifarch %{ix86} + --with-system-dllpath=%{mingw32_bindir} \ +%endif +%{?wine_staging: --with-xattr} \ + --disable-tests + +%make_build TARGETFLAGS="" + +%install + +%make_install \ + LDCONFIG=/bin/true \ + UPDATE_DESKTOP_DATABASE=/bin/true + +# setup for alternatives usage +%ifarch x86_64 aarch64 +%ifarch aarch64 +mv %{buildroot}%{_bindir}/wine %{buildroot}%{_bindir}/wine64 +mv %{buildroot}%{_bindir}/wine-preloader %{buildroot}%{_bindir}/wine64-preloader +%endif +mv %{buildroot}%{_bindir}/wineserver %{buildroot}%{_bindir}/wineserver64 +%endif +%ifarch %{ix86} %{arm} +mv %{buildroot}%{_bindir}/wine %{buildroot}%{_bindir}/wine32 +mv %{buildroot}%{_bindir}/wineserver %{buildroot}%{_bindir}/wineserver32 +%endif +%ifnarch aarch64 x86_64 +mv %{buildroot}%{_bindir}/wine-preloader %{buildroot}%{_bindir}/wine32-preloader +%endif +touch %{buildroot}%{_bindir}/wine +touch %{buildroot}%{_bindir}/wine-preloader +touch %{buildroot}%{_bindir}/wineserver +mv %{buildroot}%{_libdir}/wine/%{winepedir}/dxgi.dll %{buildroot}%{_libdir}/wine/%{winepedir}/wine-dxgi.dll +mv %{buildroot}%{_libdir}/wine/%{winepedir}/d3d9.dll %{buildroot}%{_libdir}/wine/%{winepedir}/wine-d3d9.dll +mv %{buildroot}%{_libdir}/wine/%{winepedir}/d3d10.dll %{buildroot}%{_libdir}/wine/%{winepedir}/wine-d3d10.dll +mv %{buildroot}%{_libdir}/wine/%{winepedir}/d3d10_1.dll %{buildroot}%{_libdir}/wine/%{winepedir}/wine-d3d10_1.dll +mv %{buildroot}%{_libdir}/wine/%{winepedir}/d3d10core.dll %{buildroot}%{_libdir}/wine/%{winepedir}/wine-d3d10core.dll +mv %{buildroot}%{_libdir}/wine/%{winepedir}/d3d11.dll %{buildroot}%{_libdir}/wine/%{winepedir}/wine-d3d11.dll +touch %{buildroot}%{_libdir}/wine/%{winepedir}/dxgi.dll +touch %{buildroot}%{_libdir}/wine/%{winepedir}/d3d9.dll +touch %{buildroot}%{_libdir}/wine/%{winepedir}/d3d10.dll +touch %{buildroot}%{_libdir}/wine/%{winepedir}/d3d10_1.dll +touch %{buildroot}%{_libdir}/wine/%{winepedir}/d3d10core.dll +touch %{buildroot}%{_libdir}/wine/%{winepedir}/d3d11.dll + +# remove rpath +chrpath --delete %{buildroot}%{_bindir}/wmc +chrpath --delete %{buildroot}%{_bindir}/wrc +%ifarch x86_64 aarch64 +chrpath --delete %{buildroot}%{_bindir}/wine64 +chrpath --delete %{buildroot}%{_bindir}/wineserver64 +%else +chrpath --delete %{buildroot}%{_bindir}/wine32 +chrpath --delete %{buildroot}%{_bindir}/wineserver32 +%endif + +mkdir -p %{buildroot}%{_sysconfdir}/wine + +# Allow users to launch Windows programs by just clicking on the .exe file... +mkdir -p %{buildroot}%{_binfmtdir} +install -p -c -m 644 %{SOURCE1} %{buildroot}%{_binfmtdir}/wine.conf + +# add wine dir to desktop +mkdir -p %{buildroot}%{_sysconfdir}/xdg/menus/applications-merged +install -p -m 644 %{SOURCE200} \ +%{buildroot}%{_sysconfdir}/xdg/menus/applications-merged/wine.menu +mkdir -p %{buildroot}%{_datadir}/desktop-directories +install -p -m 644 %{SOURCE201} \ +%{buildroot}%{_datadir}/desktop-directories/Wine.directory + +# add gecko dir +mkdir -p %{buildroot}%{_datadir}/wine/gecko + +# add mono dir +mkdir -p %{buildroot}%{_datadir}/wine/mono + +# extract and install icons +mkdir -p %{buildroot}%{_datadir}/icons/hicolor/scalable/apps + +# This replacement masks a composite program icon .SVG down +# so that only its full-size scalable icon is visible +PROGRAM_ICONFIX='s/height="272"/height="256"/;'\ +'s/width="632"/width="256"\n'\ +' x="368"\n'\ +' y="8"\n'\ +' viewBox="368, 8, 256, 256"/;' +MAIN_ICONFIX='s/height="272"/height="256"/;'\ +'s/width="632"/width="256"\n'\ +' x="8"\n'\ +' y="8"\n'\ +' viewBox="8, 8, 256, 256"/;' + +# This icon file is still in the legacy format +install -p -m 644 dlls/user32/resources/oic_winlogo.svg \ + %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/wine.svg +sed -i -e "$MAIN_ICONFIX" %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/wine.svg + +# The rest come from programs/, and contain larger scalable icons +# with a new layout that requires the PROGRAM_ICONFIX sed adjustment +install -p -m 644 programs/notepad/notepad.svg \ + %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/notepad.svg +sed -i -e "$PROGRAM_ICONFIX" %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/notepad.svg + +install -p -m 644 programs/regedit/regedit.svg \ + %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/regedit.svg +sed -i -e "$PROGRAM_ICONFIX" %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/regedit.svg + +install -p -m 644 programs/msiexec/msiexec.svg \ + %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/msiexec.svg +sed -i -e "$PROGRAM_ICONFIX" %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/msiexec.svg + +install -p -m 644 programs/winecfg/winecfg.svg \ + %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/winecfg.svg +sed -i -e "$PROGRAM_ICONFIX" %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/winecfg.svg + +install -p -m 644 programs/winefile/winefile.svg \ + %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/winefile.svg +sed -i -e "$PROGRAM_ICONFIX" %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/winefile.svg + +install -p -m 644 programs/winemine/winemine.svg \ + %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/winemine.svg +sed -i -e "$PROGRAM_ICONFIX" %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/winemine.svg + +install -p -m 644 programs/winhlp32/winhelp.svg \ + %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/winhelp.svg +sed -i -e "$PROGRAM_ICONFIX" %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/winhelp.svg + +install -p -m 644 programs/wordpad/wordpad.svg \ + %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/wordpad.svg +sed -i -e "$PROGRAM_ICONFIX" %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/wordpad.svg + +# install desktop files +desktop-file-install \ + --dir=%{buildroot}%{_datadir}/applications \ + %{SOURCE100} + +desktop-file-install \ + --dir=%{buildroot}%{_datadir}/applications \ + %{SOURCE101} + +desktop-file-install \ + --dir=%{buildroot}%{_datadir}/applications \ + %{SOURCE102} + +desktop-file-install \ + --dir=%{buildroot}%{_datadir}/applications \ + %{SOURCE103} + +desktop-file-install \ + --dir=%{buildroot}%{_datadir}/applications \ + %{SOURCE104} + +desktop-file-install \ + --dir=%{buildroot}%{_datadir}/applications \ + %{SOURCE105} + +desktop-file-install \ + --dir=%{buildroot}%{_datadir}/applications \ + %{SOURCE106} + +desktop-file-install \ + --dir=%{buildroot}%{_datadir}/applications \ + %{SOURCE107} + +desktop-file-install \ + --dir=%{buildroot}%{_datadir}/applications \ + %{SOURCE108} + +desktop-file-install \ + --dir=%{buildroot}%{_datadir}/applications \ + %{SOURCE109} + +desktop-file-install \ + --dir=%{buildroot}%{_datadir}/applications \ + --delete-original \ + %{buildroot}%{_datadir}/applications/wine.desktop + +#mime-types +desktop-file-install \ + --dir=%{buildroot}%{_datadir}/applications \ + %{SOURCE300} + +cp -p %{SOURCE2} README-FEDORA + +cp -p %{SOURCE502} README-tahoma + +mkdir -p %{buildroot}%{_sysconfdir}/ld.so.conf.d/ + + +# install Tahoma font for system package +install -p -m 0755 -d %{buildroot}/%{_datadir}/fonts/wine-tahoma-fonts +pushd %{buildroot}/%{_datadir}/fonts/wine-tahoma-fonts +ln -s ../../wine/fonts/tahoma.ttf tahoma.ttf +ln -s ../../wine/fonts/tahomabd.ttf tahomabd.ttf +popd + +# add config and readme for tahoma +install -m 0755 -d %{buildroot}%{_fontconfig_templatedir} \ + %{buildroot}%{_fontconfig_confdir} +install -p -m 0644 %{SOURCE501} %{buildroot}%{_fontconfig_templatedir}/20-wine-tahoma-nobitmaps.conf + +ln -s %{_fontconfig_templatedir}/20-wine-tahoma-nobitmaps.conf \ + %{buildroot}%{_fontconfig_confdir}/20-wine-tahoma-nobitmaps.conf + +%if 0%{?wine_staging} +# install Times New Roman font for system package +install -p -m 0755 -d %{buildroot}/%{_datadir}/fonts/wine-times-new-roman-fonts +pushd %{buildroot}/%{_datadir}/fonts/wine-times-new-roman-fonts +ln -s ../../wine/fonts/times.ttf times.ttf +popd +%endif + +# install Wingdings font for system package +install -p -m 0755 -d %{buildroot}/%{_datadir}/fonts/wine-wingdings-fonts +pushd %{buildroot}/%{_datadir}/fonts/wine-wingdings-fonts +ln -s ../../wine/fonts/wingding.ttf wingding.ttf +popd + +# clean readme files +pushd documentation +for lang in it hu sv es pt pt_br; +do iconv -f iso8859-1 -t utf-8 README.$lang > \ + README.$lang.conv && mv -f README.$lang.conv README.$lang +done; +popd + +rm -f %{buildroot}%{_initrddir}/wine + +# wine makefiles are currently broken and don't install the wine man page +install -p -m 0644 loader/wine.man %{buildroot}%{_mandir}/man1/wine.1 +install -p -m 0644 loader/wine.de.UTF-8.man %{buildroot}%{_mandir}/de.UTF-8/man1/wine.1 +install -p -m 0644 loader/wine.fr.UTF-8.man %{buildroot}%{_mandir}/fr.UTF-8/man1/wine.1 +mkdir -p %{buildroot}%{_mandir}/pl.UTF-8/man1 +install -p -m 0644 loader/wine.pl.UTF-8.man %{buildroot}%{_mandir}/pl.UTF-8/man1/wine.1 + +# install and validate AppData file +mkdir -p %{buildroot}/%{_metainfodir}/ +install -p -m 0644 %{SOURCE150} %{buildroot}/%{_metainfodir}/%{name}.appdata.xml +appstream-util validate-relax --nonet %{buildroot}/%{_metainfodir}/%{name}.appdata.xml + + +%post systemd +%binfmt_apply wine.conf + +%postun systemd +if [ $1 -eq 0 ]; then +/bin/systemctl try-restart systemd-binfmt.service +fi + +%ldconfig_post core + +%posttrans core +# handle upgrades for a few package updates +%{_sbindir}/alternatives --remove 'wine-dxgi%{?_isa}' %{_libdir}/wine/wine-dxgi.dll 2>/dev/null +%{_sbindir}/alternatives --remove 'wine-d3d9%{?_isa}' %{_libdir}/wine/wine-d3d9.dll 2>/dev/null +%{_sbindir}/alternatives --remove 'wine-d3d10%{?_isa}' %{_libdir}/wine/wine-d3d10.dll 2>/dev/null +%{_sbindir}/alternatives --remove 'wine-d3d11%{?_isa}' %{_libdir}/wine/wine-d3d11.dll 2>/dev/null +%ifarch x86_64 aarch64 +%{_sbindir}/alternatives --install %{_bindir}/wine \ + wine %{_bindir}/wine64 10 \ + --slave %{_bindir}/wine-preloader wine-preloader %{_bindir}/wine64-preloader +%{_sbindir}/alternatives --install %{_bindir}/wineserver \ + wineserver %{_bindir}/wineserver64 20 +%else +%{_sbindir}/alternatives --install %{_bindir}/wine \ + wine %{_bindir}/wine32 20 \ + --slave %{_bindir}/wine-preloader wine-preloader %{_bindir}/wine32-preloader +%{_sbindir}/alternatives --install %{_bindir}/wineserver \ + wineserver %{_bindir}/wineserver32 10 +%endif +%{_sbindir}/alternatives --install %{_libdir}/wine/%{winepedir}/dxgi.dll \ + 'wine-dxgi%{?_isa}' %{_libdir}/wine/%{winepedir}/wine-dxgi.dll 10 +%{_sbindir}/alternatives --install %{_libdir}/wine/%{winepedir}/d3d9.dll \ + 'wine-d3d9%{?_isa}' %{_libdir}/wine/%{winepedir}/wine-d3d9.dll 10 +%{_sbindir}/alternatives --install %{_libdir}/wine/%{winepedir}/d3d10.dll \ + 'wine-d3d10%{?_isa}' %{_libdir}/wine/%{winepedir}/wine-d3d10.dll 10 \ + --slave %{_libdir}/wine/%{winepedir}/d3d10_1.dll 'wine-d3d10_1%{?_isa}' %{_libdir}/wine/%{winepedir}/wine-d3d10_1.dll \ + --slave %{_libdir}/wine/%{winepedir}/d3d10core.dll 'wine-d3d10core%{?_isa}' %{_libdir}/wine/%{winepedir}/wine-d3d10core.dll +%{_sbindir}/alternatives --install %{_libdir}/wine/%{winepedir}/d3d11.dll \ + 'wine-d3d11%{?_isa}' %{_libdir}/wine/%{winepedir}/wine-d3d11.dll 10 + +%postun core +%{?ldconfig} +if [ $1 -eq 0 ] ; then +%ifarch x86_64 aarch64 + %{_sbindir}/alternatives --remove wine %{_bindir}/wine64 + %{_sbindir}/alternatives --remove wineserver %{_bindir}/wineserver64 +%else + %{_sbindir}/alternatives --remove wine %{_bindir}/wine32 + %{_sbindir}/alternatives --remove wineserver %{_bindir}/wineserver32 +%endif + %{_sbindir}/alternatives --remove 'wine-dxgi%{?_isa}' %{_libdir}/wine/%{winepedir}/wine-dxgi.dll + %{_sbindir}/alternatives --remove 'wine-d3d9%{?_isa}' %{_libdir}/wine/%{winepedir}/wine-d3d9.dll + %{_sbindir}/alternatives --remove 'wine-d3d10%{?_isa}' %{_libdir}/wine/%{winepedir}/wine-d3d10.dll + %{_sbindir}/alternatives --remove 'wine-d3d11%{?_isa}' %{_libdir}/wine/%{winepedir}/wine-d3d11.dll +fi + +%ldconfig_scriptlets ldap + +%ldconfig_scriptlets cms + +%ldconfig_scriptlets twain + +%ldconfig_scriptlets alsa + +%files +# meta package + +%files core +%doc ANNOUNCE.md +%doc COPYING.LIB +%doc LICENSE +%doc LICENSE.OLD +%doc AUTHORS +%doc README-FEDORA +%doc README.md +%doc VERSION +# do not include huge changelogs .OLD .ALPHA .BETA (#204302) +%doc documentation/README.* +%{_bindir}/msidb +%{_bindir}/winedump +%{_libdir}/wine/%{winepedir}/explorer.exe +%{_libdir}/wine/%{winepedir}/cabarc.exe +%{_libdir}/wine/%{winepedir}/control.exe +%{_libdir}/wine/%{winepedir}/cmd.exe +%{_libdir}/wine/%{winepedir}/dxdiag.exe +%{_libdir}/wine/%{winepedir}/notepad.exe +%{_libdir}/wine/%{winepedir}/plugplay.exe +%{_libdir}/wine/%{winepedir}/progman.exe +%{_libdir}/wine/%{winepedir}/taskmgr.exe +%{_libdir}/wine/%{winepedir}/winedbg.exe +%{_libdir}/wine/%{winepedir}/winefile.exe +%{_libdir}/wine/%{winepedir}/winemine.exe +%{_libdir}/wine/%{winepedir}/winemsibuilder.exe +%{_libdir}/wine/%{winepedir}/winepath.exe +%{_libdir}/wine/%{winepedir}/winmgmt.exe +%{_libdir}/wine/%{winepedir}/winver.exe +%{_libdir}/wine/%{winepedir}/wordpad.exe +%{_libdir}/wine/%{winepedir}/write.exe +%{_libdir}/wine/%{winepedir}/wusa.exe + +%ifarch %{ix86} %{arm} +%{_bindir}/wine32 +%{_bindir}/wine32-preloader +%{_bindir}/wineserver32 +%endif + +%ifarch x86_64 aarch64 +%{_bindir}/wine64 +%{_bindir}/wineserver64 +%endif +%ifarch x86_64 aarch64 +%{_bindir}/wine64-preloader +%endif + +%ghost %{_bindir}/wine +%ghost %{_bindir}/wine-preloader +%ghost %{_bindir}/wineserver + +%dir %{_libdir}/wine + +%{_libdir}/wine/%{winepedir}/attrib.exe +%{_libdir}/wine/%{winepedir}/arp.exe +%{_libdir}/wine/%{winepedir}/aspnet_regiis.exe +%{_libdir}/wine/%{winepedir}/cacls.exe +%{_libdir}/wine/%{winepedir}/certutil.exe +%{_libdir}/wine/%{winepedir}/conhost.exe +%{_libdir}/wine/%{winepedir}/cscript.exe +%{_libdir}/wine/%{winepedir}/dism.exe +%{_libdir}/wine/%{winepedir}/dllhost.exe +%{_libdir}/wine/%{winepedir}/dplaysvr.exe +%ifarch %{ix86} x86_64 +%{_libdir}/wine/%{winepedir}/dpnsvr.exe +%endif +%{_libdir}/wine/%{winepedir}/dpvsetup.exe +%{_libdir}/wine/%{winepedir}/eject.exe +%{_libdir}/wine/%{winepedir}/expand.exe +%{_libdir}/wine/%{winepedir}/extrac32.exe +%{_libdir}/wine/%{winepedir}/fc.exe +%{_libdir}/wine/%{winepedir}/find.exe +%{_libdir}/wine/%{winepedir}/findstr.exe +%{_libdir}/wine/%{winepedir}/fsutil.exe +%{_libdir}/wine/%{winepedir}/hostname.exe +%{_libdir}/wine/%{winepedir}/ipconfig.exe +%{_libdir}/wine/%{winepedir}/klist.exe +%{_libdir}/wine/%{winepedir}/mshta.exe +%{_libdir}/wine/%{winepedir}/msidb.exe +%{_libdir}/wine/%{winepedir}/msiexec.exe +%{_libdir}/wine/%{winepedir}/net.exe +%{_libdir}/wine/%{winepedir}/netstat.exe +%{_libdir}/wine/%{winepedir}/ngen.exe +%{_libdir}/wine/%{winepedir}/ntoskrnl.exe +%{_libdir}/wine/%{winepedir}/oleview.exe +%{_libdir}/wine/%{winepedir}/ping.exe +%{_libdir}/wine/%{winepedir}/pnputil.exe +%{_libdir}/wine/%{winepedir}/powershell.exe +%{_libdir}/wine/%{winepedir}/reg.exe +%{_libdir}/wine/%{winepedir}/regasm.exe +%{_libdir}/wine/%{winepedir}/regedit.exe +%{_libdir}/wine/%{winepedir}/regsvcs.exe +%{_libdir}/wine/%{winepedir}/regsvr32.exe +%{_libdir}/wine/%{winepedir}/rpcss.exe +%{_libdir}/wine/%{winepedir}/rundll32.exe +%{_libdir}/wine/%{winepedir}/schtasks.exe +%{_libdir}/wine/%{winepedir}/sdbinst.exe +%{_libdir}/wine/%{winepedir}/secedit.exe +%{_libdir}/wine/%{winepedir}/servicemodelreg.exe +%{_libdir}/wine/%{winepedir}/services.exe +%{_libdir}/wine/%{winepedir}/setx.exe +%{_libdir}/wine/%{winepedir}/start.exe +%{_libdir}/wine/%{winepedir}/tasklist.exe +%{_libdir}/wine/%{winepedir}/termsv.exe +%{_libdir}/wine/%{winepedir}/view.exe +%{_libdir}/wine/%{winepedir}/wevtutil.exe +%{_libdir}/wine/%{winepedir}/where.exe +%{_libdir}/wine/%{winepedir}/whoami.exe +%{_libdir}/wine/%{winepedir}/wineboot.exe +%{_libdir}/wine/%{winepedir}/winebrowser.exe +%{_libdir}/wine/%{winepedir}/wineconsole.exe +%{_libdir}/wine/%{winepedir}/winemenubuilder.exe +%{_libdir}/wine/%{winepedir}/winecfg.exe +%{_libdir}/wine/%{winepedir}/winedevice.exe +%{_libdir}/wine/%{winepedir}/winhlp32.exe +%{_libdir}/wine/%{winepedir}/wmplayer.exe +%{_libdir}/wine/%{winepedir}/wscript.exe +%{_libdir}/wine/%{winepedir}/uninstaller.exe + +%{_libdir}/wine/%{winepedir}/acledit.dll +%{_libdir}/wine/%{winepedir}/aclui.dll +%{_libdir}/wine/%{winepedir}/activeds.dll +%{_libdir}/wine/%{winepedir}/activeds.tlb +%{_libdir}/wine/%{winepedir}/actxprxy.dll +%{_libdir}/wine/%{winepedir}/adsldp.dll +%{_libdir}/wine/%{winepedir}/adsldpc.dll +%{_libdir}/wine/%{winepedir}/advapi32.dll +%{_libdir}/wine/%{winepedir}/advpack.dll +%{_libdir}/wine/%{winepedir}/amsi.dll +%{_libdir}/wine/%{winepedir}/amstream.dll +%{_libdir}/wine/%{winepedir}/apisetschema.dll +%{_libdir}/wine/%{winepedir}/apphelp.dll +%{_libdir}/wine/%{winepedir}/appwiz.cpl +%{_libdir}/wine/%{winepedir}/appxdeploymentclient.dll +%{_libdir}/wine/%{winepedir}/atl.dll +%{_libdir}/wine/%{winepedir}/atl80.dll +%{_libdir}/wine/%{winepedir}/atl90.dll +%{_libdir}/wine/%{winepedir}/atl100.dll +%{_libdir}/wine/%{winepedir}/atl110.dll +%{_libdir}/wine/%{winepedir}/atlthunk.dll +%{_libdir}/wine/%{winepedir}/atmlib.dll +%{_libdir}/wine/%{winepedir}/authz.dll +%{_libdir}/wine/%{winepedir}/avicap32.dll +%{_libdir}/wine/%{winesodir}/avicap32.so +%{_libdir}/wine/%{winepedir}/avifil32.dll +%{_libdir}/wine/%{winepedir}/avrt.dll +%{_libdir}/wine/%{winesodir}/bcrypt.so +%{_libdir}/wine/%{winepedir}/bcrypt.dll +%{_libdir}/wine/%{winepedir}/bcryptprimitives.dll +%{_libdir}/wine/%{winepedir}/bluetoothapis.dll +%{_libdir}/wine/%{winepedir}/browseui.dll +%{_libdir}/wine/%{winepedir}/bthprops.cpl +%{_libdir}/wine/%{winepedir}/cabinet.dll +%{_libdir}/wine/%{winepedir}/cards.dll +%{_libdir}/wine/%{winepedir}/cdosys.dll +%{_libdir}/wine/%{winepedir}/cfgmgr32.dll +%{_libdir}/wine/%{winepedir}/chcp.com +%{_libdir}/wine/%{winepedir}/clock.exe +%{_libdir}/wine/%{winepedir}/clusapi.dll +%{_libdir}/wine/%{winepedir}/cng.sys +%{_libdir}/wine/%{winepedir}/combase.dll +%{_libdir}/wine/%{winepedir}/comcat.dll +%{_libdir}/wine/%{winepedir}/comctl32.dll +%{_libdir}/wine/%{winepedir}/comdlg32.dll +%{_libdir}/wine/%{winepedir}/coml2.dll +%{_libdir}/wine/%{winepedir}/compstui.dll +%{_libdir}/wine/%{winepedir}/comsvcs.dll +%{_libdir}/wine/%{winepedir}/concrt140.dll +%{_libdir}/wine/%{winepedir}/connect.dll +%{_libdir}/wine/%{winepedir}/credui.dll +%{_libdir}/wine/%{winepedir}/crtdll.dll +%{_libdir}/wine/%{winesodir}/crypt32.so +%{_libdir}/wine/%{winepedir}/crypt32.dll +%{_libdir}/wine/%{winepedir}/cryptdlg.dll +%{_libdir}/wine/%{winepedir}/cryptdll.dll +%{_libdir}/wine/%{winepedir}/cryptext.dll +%{_libdir}/wine/%{winepedir}/cryptnet.dll +%{_libdir}/wine/%{winepedir}/cryptowinrt.dll +%{_libdir}/wine/%{winepedir}/cryptsp.dll +%{_libdir}/wine/%{winepedir}/cryptui.dll +%{_libdir}/wine/%{winepedir}/ctapi32.dll +%{_libdir}/wine/%{winesodir}/ctapi32.so +%{_libdir}/wine/%{winepedir}/ctl3d32.dll +%{_libdir}/wine/%{winepedir}/d2d1.dll +%ghost %{_libdir}/wine/%{winepedir}/d3d10.dll +%ghost %{_libdir}/wine/%{winepedir}/d3d10_1.dll +%ghost %{_libdir}/wine/%{winepedir}/d3d10core.dll +%{_libdir}/wine/%{winepedir}/wine-d3d10.dll +%{_libdir}/wine/%{winepedir}/wine-d3d10_1.dll +%{_libdir}/wine/%{winepedir}/wine-d3d10core.dll +%ghost %{_libdir}/wine/%{winepedir}/d3d11.dll +%{_libdir}/wine/%{winepedir}/wine-d3d11.dll +%{_libdir}/wine/%{winepedir}/d3d12.dll +%{_libdir}/wine/%{winepedir}/d3d12core.dll +%{_libdir}/wine/%{winepedir}/d3dcompiler_*.dll +%{_libdir}/wine/%{winepedir}/d3dim.dll +%{_libdir}/wine/%{winepedir}/d3dim700.dll +%{_libdir}/wine/%{winepedir}/d3drm.dll +%{_libdir}/wine/%{winepedir}/d3dx9_*.dll +%{_libdir}/wine/%{winepedir}/d3dx10_*.dll +%{_libdir}/wine/%{winepedir}/d3dx11_42.dll +%{_libdir}/wine/%{winepedir}/d3dx11_43.dll +%{_libdir}/wine/%{winepedir}/d3dxof.dll +%{_libdir}/wine/%{winepedir}/davclnt.dll +%{_libdir}/wine/%{winepedir}/dbgeng.dll +%{_libdir}/wine/%{winepedir}/dbghelp.dll +%{_libdir}/wine/%{winepedir}/dciman32.dll +%{_libdir}/wine/%{winepedir}/dcomp.dll +%{_libdir}/wine/%{winepedir}/ddraw.dll +%{_libdir}/wine/%{winepedir}/ddrawex.dll +%{_libdir}/wine/%{winepedir}/devenum.dll +%{_libdir}/wine/%{winepedir}/dhcpcsvc.dll +%{_libdir}/wine/%{winepedir}/dhcpcsvc6.dll +%{_libdir}/wine/%{winepedir}/dhtmled.ocx +%{_libdir}/wine/%{winepedir}/diasymreader.dll +%{_libdir}/wine/%{winepedir}/difxapi.dll +%{_libdir}/wine/%{winepedir}/dinput.dll +%{_libdir}/wine/%{winepedir}/dinput8.dll +%{_libdir}/wine/%{winepedir}/directmanipulation.dll +%{_libdir}/wine/%{winepedir}/dispex.dll +%{_libdir}/wine/%{winepedir}/dmband.dll +%{_libdir}/wine/%{winepedir}/dmcompos.dll +%{_libdir}/wine/%{winepedir}/dmime.dll +%{_libdir}/wine/%{winepedir}/dmloader.dll +%{_libdir}/wine/%{winepedir}/dmscript.dll +%{_libdir}/wine/%{winepedir}/dmstyle.dll +%{_libdir}/wine/%{winepedir}/dmsynth.dll +%{_libdir}/wine/%{winepedir}/dmusic.dll +%{_libdir}/wine/%{winepedir}/dmusic32.dll +%{_libdir}/wine/%{winepedir}/dplay.dll +%{_libdir}/wine/%{winepedir}/dplayx.dll +%{_libdir}/wine/%{winepedir}/dpnaddr.dll +%{_libdir}/wine/%{winepedir}/dpnet.dll +%{_libdir}/wine/%{winepedir}/dpnhpast.dll +%{_libdir}/wine/%{winepedir}/dpnhupnp.dll +%{_libdir}/wine/%{winepedir}/dpnlobby.dll +%{_libdir}/wine/%{winepedir}/dpvoice.dll +%{_libdir}/wine/%{winepedir}/dpwsockx.dll +%{_libdir}/wine/%{winepedir}/drmclien.dll +%{_libdir}/wine/%{winepedir}/dsound.dll +%{_libdir}/wine/%{winepedir}/dsdmo.dll +%{_libdir}/wine/%{winepedir}/dsquery.dll +%{_libdir}/wine/%{winepedir}/dssenh.dll +%{_libdir}/wine/%{winepedir}/dsuiext.dll +%{_libdir}/wine/%{winepedir}/dswave.dll +%{_libdir}/wine/%{winepedir}/dwmapi.dll +%{_libdir}/wine/%{winepedir}/dwrite.dll +%{_libdir}/wine/%{winesodir}/dwrite.so +%{_libdir}/wine/%{winepedir}/dx8vb.dll +%{_libdir}/wine/%{winepedir}/dxcore.dll +%{_libdir}/wine/%{winepedir}/dxdiagn.dll +%ghost %{_libdir}/wine/%{winepedir}/dxgi.dll +%{_libdir}/wine/%{winepedir}/wine-dxgi.dll +%if 0%{?wine_staging} +%{_libdir}/wine/%{winepedir}/dxgkrnl.sys +%{_libdir}/wine/%{winepedir}/dxgmms1.sys +%endif +%{_libdir}/wine/%{winepedir}/dxtrans.dll +%{_libdir}/wine/%{winepedir}/dxva2.dll +%{_libdir}/wine/%{winepedir}/esent.dll +%{_libdir}/wine/%{winepedir}/evr.dll +%{_libdir}/wine/%{winepedir}/explorerframe.dll +%{_libdir}/wine/%{winepedir}/faultrep.dll +%{_libdir}/wine/%{winepedir}/feclient.dll +%{_libdir}/wine/%{winepedir}/fltlib.dll +%{_libdir}/wine/%{winepedir}/fltmgr.sys +%{_libdir}/wine/%{winepedir}/fntcache.dll +%{_libdir}/wine/%{winepedir}/fontsub.dll +%{_libdir}/wine/%{winepedir}/fusion.dll +%{_libdir}/wine/%{winepedir}/fwpuclnt.dll +%{_libdir}/wine/%{winepedir}/gameux.dll +%{_libdir}/wine/%{winepedir}/gamingtcui.dll +%{_libdir}/wine/%{winepedir}/gdi32.dll +%{_libdir}/wine/%{winepedir}/gdiplus.dll +%{_libdir}/wine/%{winepedir}/geolocation.dll +%{_libdir}/wine/%{winepedir}/glu32.dll +%{_libdir}/wine/%{winepedir}/gphoto2.ds +%{_libdir}/wine/%{winesodir}/gphoto2.so +%{_libdir}/wine/%{winepedir}/gpkcsp.dll +%{_libdir}/wine/%{winepedir}/graphicscapture.dll +%{_libdir}/wine/%{winepedir}/hal.dll +%{_libdir}/wine/%{winepedir}/hh.exe +%{_libdir}/wine/%{winepedir}/hhctrl.ocx +%{_libdir}/wine/%{winepedir}/hid.dll +%{_libdir}/wine/%{winepedir}/hidclass.sys +%{_libdir}/wine/%{winepedir}/hidparse.sys +%{_libdir}/wine/%{winepedir}/hlink.dll +%{_libdir}/wine/%{winepedir}/hnetcfg.dll +%{_libdir}/wine/%{winepedir}/hrtfapo.dll +%{_libdir}/wine/%{winepedir}/http.sys +%{_libdir}/wine/%{winepedir}/httpapi.dll +%{_libdir}/wine/%{winepedir}/hvsimanagementapi.dll +%{_libdir}/wine/%{winepedir}/ia2comproxy.dll +%{_libdir}/wine/%{winepedir}/icacls.exe +%{_libdir}/wine/%{winepedir}/iccvid.dll +%{_libdir}/wine/%{winepedir}/icinfo.exe +%{_libdir}/wine/%{winepedir}/icmp.dll +%{_libdir}/wine/%{winepedir}/ieframe.dll +%{_libdir}/wine/%{winepedir}/ieproxy.dll +%{_libdir}/wine/%{winepedir}/imaadp32.acm +%{_libdir}/wine/%{winepedir}/imagehlp.dll +%{_libdir}/wine/%{winepedir}/imm32.dll +%{_libdir}/wine/%{winepedir}/inetcomm.dll +%{_libdir}/wine/%{winepedir}/inetcpl.cpl +%{_libdir}/wine/%{winepedir}/inetmib1.dll +%{_libdir}/wine/%{winepedir}/infosoft.dll +%{_libdir}/wine/%{winepedir}/initpki.dll +%{_libdir}/wine/%{winepedir}/inkobj.dll +%{_libdir}/wine/%{winepedir}/inseng.dll +%{_libdir}/wine/%{winepedir}/iphlpapi.dll +%{_libdir}/wine/%{winepedir}/iprop.dll +%{_libdir}/wine/%{winepedir}/irprops.cpl +%{_libdir}/wine/%{winepedir}/ir50_32.dll +%{_libdir}/wine/%{winepedir}/itircl.dll +%{_libdir}/wine/%{winepedir}/itss.dll +%{_libdir}/wine/%{winepedir}/joy.cpl +%{_libdir}/wine/%{winepedir}/jscript.dll +%{_libdir}/wine/%{winepedir}/jsproxy.dll +%{_libdir}/wine/%{winesodir}/kerberos.so +%{_libdir}/wine/%{winepedir}/kerberos.dll +%{_libdir}/wine/%{winepedir}/kernel32.dll +%{_libdir}/wine/%{winepedir}/kernelbase.dll +%{_libdir}/wine/%{winepedir}/ksecdd.sys +%{_libdir}/wine/%{winepedir}/ksproxy.ax +%{_libdir}/wine/%{winepedir}/ksuser.dll +%{_libdir}/wine/%{winepedir}/ktmw32.dll +%{_libdir}/wine/%{winepedir}/l3codeca.acm +%{_libdir}/wine/%{winepedir}/light.msstyles +%{_libdir}/wine/%{winepedir}/loadperf.dll +%{_libdir}/wine/%{winesodir}/localspl.so +%{_libdir}/wine/%{winepedir}/localspl.dll +%{_libdir}/wine/%{winepedir}/localui.dll +%{_libdir}/wine/%{winepedir}/lodctr.exe +%{_libdir}/wine/%{winepedir}/lz32.dll +%{_libdir}/wine/%{winepedir}/magnification.dll +%{_libdir}/wine/%{winepedir}/mapi32.dll +%{_libdir}/wine/%{winepedir}/mapistub.dll +%{_libdir}/wine/%{winepedir}/mciavi32.dll +%{_libdir}/wine/%{winepedir}/mcicda.dll +%{_libdir}/wine/%{winepedir}/mciqtz32.dll +%{_libdir}/wine/%{winepedir}/mciseq.dll +%{_libdir}/wine/%{winepedir}/mciwave.dll +%{_libdir}/wine/%{winepedir}/mf.dll +%{_libdir}/wine/%{winepedir}/mf3216.dll +%{_libdir}/wine/%{winepedir}/mferror.dll +%{_libdir}/wine/%{winepedir}/mfmediaengine.dll +%{_libdir}/wine/%{winepedir}/mfplat.dll +%{_libdir}/wine/%{winepedir}/mfplay.dll +%{_libdir}/wine/%{winepedir}/mfreadwrite.dll +%{_libdir}/wine/%{winepedir}/mfsrcsnk.dll +%{_libdir}/wine/%{winepedir}/mgmtapi.dll +%{_libdir}/wine/%{winepedir}/midimap.dll +%{_libdir}/wine/%{winepedir}/mlang.dll +%{_libdir}/wine/%{winepedir}/mmcndmgr.dll +%{_libdir}/wine/%{winepedir}/mmdevapi.dll +%{_libdir}/wine/%{winepedir}/mofcomp.exe +%{_libdir}/wine/%{winesodir}/mountmgr.so +%{_libdir}/wine/%{winepedir}/mountmgr.sys +%{_libdir}/wine/%{winepedir}/mp3dmod.dll +%{_libdir}/wine/%{winepedir}/mpr.dll +%{_libdir}/wine/%{winepedir}/mprapi.dll +%{_libdir}/wine/%{winepedir}/msacm32.dll +%{_libdir}/wine/%{winepedir}/msacm32.drv +%{_libdir}/wine/%{winepedir}/msado15.dll +%{_libdir}/wine/%{winepedir}/msadp32.acm +%{_libdir}/wine/%{winepedir}/msasn1.dll +%{_libdir}/wine/%{winepedir}/msauddecmft.dll +%{_libdir}/wine/%{winepedir}/mscat32.dll +%{_libdir}/wine/%{winepedir}/mscoree.dll +%{_libdir}/wine/%{winepedir}/mscorwks.dll +%{_libdir}/wine/%{winepedir}/msctf.dll +%{_libdir}/wine/%{winepedir}/msctfmonitor.dll +%{_libdir}/wine/%{winepedir}/msctfp.dll +%{_libdir}/wine/%{winepedir}/msdaps.dll +%{_libdir}/wine/%{winepedir}/msdasql.dll +%{_libdir}/wine/%{winepedir}/msdelta.dll +%{_libdir}/wine/%{winepedir}/msdmo.dll +%{_libdir}/wine/%{winepedir}/msdrm.dll +%{_libdir}/wine/%{winepedir}/msftedit.dll +%{_libdir}/wine/%{winepedir}/msg711.acm +%{_libdir}/wine/%{winepedir}/msgsm32.acm +%{_libdir}/wine/%{winepedir}/mshtml.dll +%{_libdir}/wine/%{winepedir}/mshtml.tlb +%{_libdir}/wine/%{winepedir}/msi.dll +%{_libdir}/wine/%{winepedir}/msident.dll +%{_libdir}/wine/%{winepedir}/msimtf.dll +%{_libdir}/wine/%{winepedir}/msimg32.dll +%{_libdir}/wine/%{winepedir}/msimsg.dll +%{_libdir}/wine/%{winepedir}/msinfo32.exe +%{_libdir}/wine/%{winepedir}/msisip.dll +%{_libdir}/wine/%{winepedir}/msisys.ocx +%{_libdir}/wine/%{winepedir}/msls31.dll +%{_libdir}/wine/%{winepedir}/msmpeg2vdec.dll +%{_libdir}/wine/%{winepedir}/msnet32.dll +%{_libdir}/wine/%{winepedir}/mspatcha.dll +%{_libdir}/wine/%{winepedir}/msports.dll +%{_libdir}/wine/%{winepedir}/msscript.ocx +%{_libdir}/wine/%{winepedir}/mssign32.dll +%{_libdir}/wine/%{winepedir}/mssip32.dll +%{_libdir}/wine/%{winepedir}/msrle32.dll +%{_libdir}/wine/%{winepedir}/mstask.dll +%{_libdir}/wine/%{winepedir}/msttsengine.dll +%{_libdir}/wine/%{winepedir}/msv1_0.dll +%{_libdir}/wine/%{winesodir}/msv1_0.so +%{_libdir}/wine/%{winepedir}/msvcirt.dll +%{_libdir}/wine/%{winepedir}/msvcm80.dll +%{_libdir}/wine/%{winepedir}/msvcm90.dll +%{_libdir}/wine/%{winepedir}/msvcp_win.dll +%{_libdir}/wine/%{winepedir}/msvcp60.dll +%{_libdir}/wine/%{winepedir}/msvcp70.dll +%{_libdir}/wine/%{winepedir}/msvcp71.dll +%{_libdir}/wine/%{winepedir}/msvcp80.dll +%{_libdir}/wine/%{winepedir}/msvcp90.dll +%{_libdir}/wine/%{winepedir}/msvcp100.dll +%{_libdir}/wine/%{winepedir}/msvcp110.dll +%{_libdir}/wine/%{winepedir}/msvcp120.dll +%{_libdir}/wine/%{winepedir}/msvcp120_app.dll +%{_libdir}/wine/%{winepedir}/msvcp140.dll +%{_libdir}/wine/%{winepedir}/msvcp140_1.dll +%{_libdir}/wine/%{winepedir}/msvcp140_2.dll +%{_libdir}/wine/%{winepedir}/msvcp140_atomic_wait.dll +%{_libdir}/wine/%{winepedir}/msvcp140_codecvt_ids.dll +%{_libdir}/wine/%{winepedir}/msvcr70.dll +%{_libdir}/wine/%{winepedir}/msvcr71.dll +%{_libdir}/wine/%{winepedir}/msvcr80.dll +%{_libdir}/wine/%{winepedir}/msvcr90.dll +%{_libdir}/wine/%{winepedir}/msvcr100.dll +%{_libdir}/wine/%{winepedir}/msvcr110.dll +%{_libdir}/wine/%{winepedir}/msvcr120.dll +%{_libdir}/wine/%{winepedir}/msvcr120_app.dll +%{_libdir}/wine/%{winepedir}/msvcrt.dll +%{_libdir}/wine/%{winepedir}/msvcrt20.dll +%{_libdir}/wine/%{winepedir}/msvcrt40.dll +%{_libdir}/wine/%{winepedir}/msvcrtd.dll +%{_libdir}/wine/%{winepedir}/msvfw32.dll +%{_libdir}/wine/%{winepedir}/msvidc32.dll +%{_libdir}/wine/%{winepedir}/mswsock.dll +%{_libdir}/wine/%{winepedir}/msxml.dll +%{_libdir}/wine/%{winepedir}/msxml2.dll +%{_libdir}/wine/%{winepedir}/msxml3.dll +%{_libdir}/wine/%{winepedir}/msxml4.dll +%{_libdir}/wine/%{winepedir}/msxml6.dll +%{_libdir}/wine/%{winepedir}/mtxdm.dll +%{_libdir}/wine/%{winepedir}/nddeapi.dll +%{_libdir}/wine/%{winepedir}/ncrypt.dll +%{_libdir}/wine/%{winepedir}/ndis.sys +%{_libdir}/wine/%{winesodir}/netapi32.so +%{_libdir}/wine/%{winepedir}/netapi32.dll +%{_libdir}/wine/%{winepedir}/netcfgx.dll +%{_libdir}/wine/%{winepedir}/netio.sys +%{_libdir}/wine/%{winepedir}/netprofm.dll +%{_libdir}/wine/%{winepedir}/netsh.exe +%{_libdir}/wine/%{winepedir}/netutils.dll +%{_libdir}/wine/%{winepedir}/newdev.dll +%{_libdir}/wine/%{winepedir}/ninput.dll +%{_libdir}/wine/%{winepedir}/normaliz.dll +%{_libdir}/wine/%{winepedir}/npmshtml.dll +%{_libdir}/wine/%{winepedir}/npptools.dll +%{_libdir}/wine/%{winepedir}/nsi.dll +%{_libdir}/wine/%{winesodir}/nsiproxy.so +%{_libdir}/wine/%{winepedir}/nsiproxy.sys +%{_libdir}/wine/%{winesodir}/ntdll.so +%{_libdir}/wine/%{winepedir}/ntdll.dll +%{_libdir}/wine/%{winepedir}/ntdsapi.dll +%{_libdir}/wine/%{winepedir}/ntprint.dll +%if 0%{?wine_staging} +#%%{_libdir}/wine/%%{winepedir}/nvcuda.dll +#%%{_libdir}/wine/%%{winesodir}/nvcuda.dll.so +#%%{_libdir}/wine/%%{winepedir}/nvcuvid.dll +#%%{_libdir}/wine/%%{winesodir}/nvcuvid.dll.so +%endif +%{_libdir}/wine/%{winepedir}/objsel.dll +%{_libdir}/wine/%{winesodir}/odbc32.so +%{_libdir}/wine/%{winepedir}/odbc32.dll +%{_libdir}/wine/%{winepedir}/odbcbcp.dll +%{_libdir}/wine/%{winepedir}/odbccp32.dll +%{_libdir}/wine/%{winepedir}/odbccu32.dll +%{_libdir}/wine/%{winepedir}/ole32.dll +%{_libdir}/wine/%{winepedir}/oleacc.dll +%{_libdir}/wine/%{winepedir}/oleaut32.dll +%{_libdir}/wine/%{winepedir}/olecli32.dll +%{_libdir}/wine/%{winepedir}/oledb32.dll +%{_libdir}/wine/%{winepedir}/oledlg.dll +%{_libdir}/wine/%{winepedir}/olepro32.dll +%{_libdir}/wine/%{winepedir}/olesvr32.dll +%{_libdir}/wine/%{winepedir}/olethk32.dll +%{_libdir}/wine/%{winepedir}/opcservices.dll +%{_libdir}/wine/%{winepedir}/packager.dll +%{_libdir}/wine/%{winepedir}/pdh.dll +%{_libdir}/wine/%{winepedir}/photometadatahandler.dll +%{_libdir}/wine/%{winepedir}/pidgen.dll +%{_libdir}/wine/%{winepedir}/powrprof.dll +%{_libdir}/wine/%{winepedir}/presentationfontcache.exe +%{_libdir}/wine/%{winepedir}/printui.dll +%{_libdir}/wine/%{winepedir}/prntvpt.dll +%{_libdir}/wine/%{winepedir}/propsys.dll +%{_libdir}/wine/%{winepedir}/psapi.dll +%{_libdir}/wine/%{winepedir}/pstorec.dll +%{_libdir}/wine/%{winepedir}/pwrshplugin.dll +%{_libdir}/wine/%{winepedir}/qasf.dll +%{_libdir}/wine/%{winepedir}/qcap.dll +%{_libdir}/wine/%{winesodir}/qcap.so +%{_libdir}/wine/%{winepedir}/qdvd.dll +%{_libdir}/wine/%{winepedir}/qedit.dll +%{_libdir}/wine/%{winepedir}/qmgr.dll +%{_libdir}/wine/%{winepedir}/qmgrprxy.dll +%{_libdir}/wine/%{winepedir}/quartz.dll +%{_libdir}/wine/%{winepedir}/query.dll +%{_libdir}/wine/%{winepedir}/qwave.dll +%{_libdir}/wine/%{winepedir}/rasapi32.dll +%{_libdir}/wine/%{winepedir}/rasdlg.dll +%{_libdir}/wine/%{winepedir}/regapi.dll +%{_libdir}/wine/%{winepedir}/regini.exe +%{_libdir}/wine/%{winepedir}/resutils.dll +%{_libdir}/wine/%{winepedir}/riched20.dll +%{_libdir}/wine/%{winepedir}/riched32.dll +%{_libdir}/wine/%{winepedir}/robocopy.exe +%{_libdir}/wine/%{winepedir}/rpcrt4.dll +%{_libdir}/wine/%{winepedir}/rsabase.dll +%{_libdir}/wine/%{winepedir}/rsaenh.dll +%{_libdir}/wine/%{winepedir}/rstrtmgr.dll +%{_libdir}/wine/%{winepedir}/rtutils.dll +%{_libdir}/wine/%{winepedir}/rtworkq.dll +%{_libdir}/wine/%{winepedir}/samlib.dll +%{_libdir}/wine/%{winepedir}/sapi.dll +%{_libdir}/wine/%{winepedir}/sas.dll +%{_libdir}/wine/%{winepedir}/sc.exe +%{_libdir}/wine/%{winepedir}/scarddlg.dll +%{_libdir}/wine/%{winepedir}/scardsvr.dll +%{_libdir}/wine/%{winepedir}/sccbase.dll +%{_libdir}/wine/%{winepedir}/schannel.dll +%{_libdir}/wine/%{winepedir}/scrobj.dll +%{_libdir}/wine/%{winepedir}/scrrun.dll +%{_libdir}/wine/%{winepedir}/scsiport.sys +%{_libdir}/wine/%{winepedir}/sechost.dll +%{_libdir}/wine/%{winepedir}/secur32.dll +%{_libdir}/wine/%{winesodir}/secur32.so +%{_libdir}/wine/%{winepedir}/sensapi.dll +%{_libdir}/wine/%{winepedir}/serialui.dll +%{_libdir}/wine/%{winepedir}/setupapi.dll +%{_libdir}/wine/%{winepedir}/sfc_os.dll +%{_libdir}/wine/%{winepedir}/shcore.dll +%{_libdir}/wine/%{winepedir}/shdoclc.dll +%{_libdir}/wine/%{winepedir}/shdocvw.dll +%{_libdir}/wine/%{winepedir}/schedsvc.dll +%{_libdir}/wine/%{winepedir}/shell32.dll +%{_libdir}/wine/%{winepedir}/shfolder.dll +%{_libdir}/wine/%{winepedir}/shlwapi.dll +%{_libdir}/wine/%{winepedir}/shutdown.exe +%{_libdir}/wine/%{winepedir}/slbcsp.dll +%{_libdir}/wine/%{winepedir}/slc.dll +%{_libdir}/wine/%{winepedir}/snmpapi.dll +%{_libdir}/wine/%{winepedir}/softpub.dll +%{_libdir}/wine/%{winepedir}/spoolsv.exe +%{_libdir}/wine/%{winepedir}/sppc.dll +%{_libdir}/wine/%{winepedir}/srclient.dll +%{_libdir}/wine/%{winepedir}/srvcli.dll +%{_libdir}/wine/%{winepedir}/srvsvc.dll +%{_libdir}/wine/%{winepedir}/sspicli.dll +%{_libdir}/wine/%{winepedir}/stdole2.tlb +%{_libdir}/wine/%{winepedir}/stdole32.tlb +%{_libdir}/wine/%{winepedir}/sti.dll +%{_libdir}/wine/%{winepedir}/strmdll.dll +%{_libdir}/wine/%{winepedir}/subst.exe +%{_libdir}/wine/%{winepedir}/svchost.exe +%{_libdir}/wine/%{winepedir}/svrapi.dll +%{_libdir}/wine/%{winepedir}/sxs.dll +%{_libdir}/wine/%{winepedir}/systeminfo.exe +%{_libdir}/wine/%{winepedir}/t2embed.dll +%{_libdir}/wine/%{winepedir}/tapi32.dll +%{_libdir}/wine/%{winepedir}/taskkill.exe +%{_libdir}/wine/%{winepedir}/taskschd.dll +%{_libdir}/wine/%{winepedir}/tbs.dll +%{_libdir}/wine/%{winepedir}/tdh.dll +%{_libdir}/wine/%{winepedir}/tdi.sys +%{_libdir}/wine/%{winepedir}/threadpoolwinrt.dll +%{_libdir}/wine/%{winepedir}/traffic.dll +%{_libdir}/wine/%{winepedir}/twinapi.appcore.dll +%{_libdir}/wine/%{winepedir}/tzres.dll +%{_libdir}/wine/%{winepedir}/ucrtbase.dll +%{_libdir}/wine/%{winepedir}/uianimation.dll +%{_libdir}/wine/%{winepedir}/uiautomationcore.dll +%{_libdir}/wine/%{winepedir}/uiribbon.dll +%{_libdir}/wine/%{winepedir}/unicows.dll +%{_libdir}/wine/%{winepedir}/unlodctr.exe +%{_libdir}/wine/%{winepedir}/updspapi.dll +%{_libdir}/wine/%{winepedir}/url.dll +%{_libdir}/wine/%{winepedir}/urlmon.dll +%{_libdir}/wine/%{winepedir}/usbd.sys +%{_libdir}/wine/%{winepedir}/user32.dll +%{_libdir}/wine/%{winepedir}/usp10.dll +%{_libdir}/wine/%{winepedir}/utildll.dll +%{_libdir}/wine/%{winepedir}/uxtheme.dll +%{_libdir}/wine/%{winepedir}/userenv.dll +%{_libdir}/wine/%{winepedir}/vbscript.dll +%{_libdir}/wine/%{winepedir}/vcomp.dll +%{_libdir}/wine/%{winepedir}/vcomp90.dll +%{_libdir}/wine/%{winepedir}/vcomp100.dll +%{_libdir}/wine/%{winepedir}/vcomp110.dll +%{_libdir}/wine/%{winepedir}/vcomp120.dll +%{_libdir}/wine/%{winepedir}/vcomp140.dll +%{_libdir}/wine/%{winepedir}/vcruntime140.dll +%ifarch x86_64 +%{_libdir}/wine/%{winepedir}/vcruntime140_1.dll +%endif +%{_libdir}/wine/%{winepedir}/vdmdbg.dll +%{_libdir}/wine/%{winepedir}/version.dll +%{_libdir}/wine/%{winepedir}/vga.dll +%{_libdir}/wine/%{winepedir}/virtdisk.dll +%{_libdir}/wine/%{winepedir}/vssapi.dll +%{_libdir}/wine/%{winepedir}/vulkan-1.dll +%{_libdir}/wine/%{winepedir}/wbemdisp.dll +%{_libdir}/wine/%{winepedir}/wbemprox.dll +%{_libdir}/wine/%{winepedir}/wdscore.dll +%{_libdir}/wine/%{winepedir}/webservices.dll +%{_libdir}/wine/%{winepedir}/websocket.dll +%{_libdir}/wine/%{winepedir}/wer.dll +%{_libdir}/wine/%{winepedir}/wevtapi.dll +%{_libdir}/wine/%{winepedir}/wevtsvc.dll +%{_libdir}/wine/%{winepedir}/wiaservc.dll +%{_libdir}/wine/%{winepedir}/wimgapi.dll +%if 0%{?wine_staging} +%{_libdir}/wine/%{winepedir}/win32k.sys +%endif +%{_libdir}/wine/%{winepedir}/win32u.dll +%{_libdir}/wine/%{winepedir}/windows.applicationmodel.dll +%{_libdir}/wine/%{winepedir}/windows.devices.bluetooth.dll +%{_libdir}/wine/%{winepedir}/windows.devices.enumeration.dll +%{_libdir}/wine/%{winepedir}/windows.devices.usb.dll +%{_libdir}/wine/%{winepedir}/windows.gaming.ui.gamebar.dll +%{_libdir}/wine/%{winepedir}/windows.gaming.input.dll +%{_libdir}/wine/%{winepedir}/windows.globalization.dll +%{_libdir}/wine/%{winepedir}/windows.media.dll +%{_libdir}/wine/%{winepedir}/windows.media.devices.dll +%{_libdir}/wine/%{winepedir}/windows.media.mediacontrol.dll +%{_libdir}/wine/%{winepedir}/windows.media.speech.dll +%if 0%{?wine_staging} +%{_libdir}/wine/%{winepedir}/windows.networking.connectivity +%endif +%{_libdir}/wine/%{winepedir}/windows.networking.dll +%{_libdir}/wine/%{winepedir}/windows.networking.hostname.dll +%{_libdir}/wine/%{winepedir}/windows.perception.stub.dll +%{_libdir}/wine/%{winepedir}/windows.security.credentials.ui.userconsentverifier.dll +%{_libdir}/wine/%{winepedir}/windows.storage.applicationdata.dll +%{_libdir}/wine/%{winepedir}/windows.system.profile.systemmanufacturers.dll +%{_libdir}/wine/%{winepedir}/windows.ui.dll +%{_libdir}/wine/%{winepedir}/windowscodecs.dll +%{_libdir}/wine/%{winepedir}/windowscodecsext.dll +%{_libdir}/wine/%{winepedir}/winebus.sys +%{_libdir}/wine/%{winesodir}/winegstreamer.so +%{_libdir}/wine/%{winepedir}/winegstreamer.dll +%{_libdir}/wine/%{winepedir}/winehid.sys +%{_libdir}/wine/%{winepedir}/winemapi.dll +%{_libdir}/wine/%{winepedir}/wineusb.sys +%{_libdir}/wine/%{winesodir}/wineusb.so +%{_libdir}/wine/%{winesodir}/winevulkan.so +%{_libdir}/wine/%{winepedir}/winevulkan.dll +%{_libdir}/wine/%{winepedir}/winewayland.drv +%{_libdir}/wine/%{winesodir}/winewayland.so +%{_libdir}/wine/%{winepedir}/winex11.drv +%{_libdir}/wine/%{winesodir}/winex11.so +%{_libdir}/wine/%{winepedir}/wing32.dll +%{_libdir}/wine/%{winepedir}/winhttp.dll +%{_libdir}/wine/%{winepedir}/wininet.dll +%{_libdir}/wine/%{winepedir}/winmm.dll +%{_libdir}/wine/%{winepedir}/winnls32.dll +%{_libdir}/wine/%{winepedir}/winprint.dll +%{_libdir}/wine/%{winepedir}/winspool.drv +%{_libdir}/wine/%{winesodir}/winspool.so +%{_libdir}/wine/%{winepedir}/winsta.dll +%{_libdir}/wine/%{winepedir}/wintypes.dll +%{_libdir}/wine/%{winepedir}/wldp.dll +%{_libdir}/wine/%{winepedir}/wmasf.dll +%{_libdir}/wine/%{winepedir}/wmi.dll +%{_libdir}/wine/%{winepedir}/wmic.exe +%{_libdir}/wine/%{winepedir}/wmiutils.dll +%{_libdir}/wine/%{winepedir}/wmp.dll +%{_libdir}/wine/%{winepedir}/wmvcore.dll +%{_libdir}/wine/%{winepedir}/spoolss.dll +%{_libdir}/wine/%{winesodir}/win32u.so +%{_libdir}/wine/%{winesodir}/winebus.so +%{_libdir}/wine/%{winepedir}/winexinput.sys +%{_libdir}/wine/%{winepedir}/wintab32.dll +%{_libdir}/wine/%{winepedir}/wintrust.dll +%{_libdir}/wine/%{winepedir}/winusb.dll +%{_libdir}/wine/%{winepedir}/wlanapi.dll +%{_libdir}/wine/%{winepedir}/wlanui.dll +%{_libdir}/wine/%{winepedir}/wmphoto.dll +%{_libdir}/wine/%{winepedir}/wnaspi32.dll +%{_libdir}/wine/%{winepedir}/wofutil.dll +%ifarch x86_64 aarch64 +%{_libdir}/wine/%{winepedir}/wow64.dll +%{_libdir}/wine/%{winepedir}/wow64win.dll +%endif +%ifarch x86_64 +%{_libdir}/wine/%{winepedir}/wow64cpu.dll +%endif +%{_libdir}/wine/%{winepedir}/wpc.dll +%{_libdir}/wine/%{winepedir}/wpcap.dll +%{_libdir}/wine/%{winesodir}/wpcap.so +%{_libdir}/wine/%{winepedir}/ws2_32.dll +%{_libdir}/wine/%{winesodir}/ws2_32.so +%{_libdir}/wine/%{winepedir}/wsdapi.dll +%{_libdir}/wine/%{winepedir}/wshom.ocx +%{_libdir}/wine/%{winepedir}/wsnmp32.dll +%{_libdir}/wine/%{winepedir}/wsock32.dll +%{_libdir}/wine/%{winepedir}/wtsapi32.dll +%{_libdir}/wine/%{winepedir}/wuapi.dll +%{_libdir}/wine/%{winepedir}/wuaueng.dll +%{_libdir}/wine/%{winepedir}/wuauserv.exe +%ifarch %{arm} +%{_libdir}/wine/%{winesodir}/wuauserv.exe.so +%endif +%{_libdir}/wine/%{winepedir}/security.dll +%{_libdir}/wine/%{winepedir}/sfc.dll +%{_libdir}/wine/%{winepedir}/wineps.drv +%{_libdir}/wine/%{winesodir}/wineps.so +%{_libdir}/wine/%{winepedir}/d3d8.dll +%{_libdir}/wine/%{winepedir}/d3d8thk.dll +%ghost %{_libdir}/wine/%{winepedir}/d3d9.dll +%{_libdir}/wine/%{winepedir}/wine-d3d9.dll +%{_libdir}/wine/%{winesodir}/opengl32.so +%{_libdir}/wine/%{winepedir}/opengl32.dll +%{_libdir}/wine/%{winepedir}/wined3d.dll +%{_libdir}/wine/%{winepedir}/dnsapi.dll +%{_libdir}/wine/%{winesodir}/dnsapi.so +%{_libdir}/wine/%{winepedir}/iexplore.exe +%{_libdir}/wine/%{winepedir}/x3daudio1_0.dll +%{_libdir}/wine/%{winepedir}/x3daudio1_1.dll +%{_libdir}/wine/%{winepedir}/x3daudio1_2.dll +%{_libdir}/wine/%{winepedir}/x3daudio1_3.dll +%{_libdir}/wine/%{winepedir}/x3daudio1_4.dll +%{_libdir}/wine/%{winepedir}/x3daudio1_5.dll +%{_libdir}/wine/%{winepedir}/x3daudio1_6.dll +%{_libdir}/wine/%{winepedir}/x3daudio1_7.dll +%{_libdir}/wine/%{winepedir}/xactengine2_0.dll +%{_libdir}/wine/%{winepedir}/xactengine2_4.dll +%{_libdir}/wine/%{winepedir}/xactengine2_7.dll +%{_libdir}/wine/%{winepedir}/xactengine2_9.dll +%{_libdir}/wine/%{winepedir}/xactengine3_0.dll +%{_libdir}/wine/%{winepedir}/xactengine3_1.dll +%{_libdir}/wine/%{winepedir}/xactengine3_2.dll +%{_libdir}/wine/%{winepedir}/xactengine3_3.dll +%{_libdir}/wine/%{winepedir}/xactengine3_4.dll +%{_libdir}/wine/%{winepedir}/xactengine3_5.dll +%{_libdir}/wine/%{winepedir}/xactengine3_6.dll +%{_libdir}/wine/%{winepedir}/xactengine3_7.dll +%{_libdir}/wine/%{winepedir}/xapofx1_1.dll +%{_libdir}/wine/%{winepedir}/xapofx1_2.dll +%{_libdir}/wine/%{winepedir}/xapofx1_3.dll +%{_libdir}/wine/%{winepedir}/xapofx1_4.dll +%{_libdir}/wine/%{winepedir}/xapofx1_5.dll +%{_libdir}/wine/%{winepedir}/xaudio2_0.dll +%{_libdir}/wine/%{winepedir}/xaudio2_1.dll +%{_libdir}/wine/%{winepedir}/xaudio2_2.dll +%{_libdir}/wine/%{winepedir}/xaudio2_3.dll +%{_libdir}/wine/%{winepedir}/xaudio2_4.dll +%{_libdir}/wine/%{winepedir}/xaudio2_5.dll +%{_libdir}/wine/%{winepedir}/xaudio2_6.dll +%{_libdir}/wine/%{winepedir}/xaudio2_7.dll +%{_libdir}/wine/%{winepedir}/xaudio2_8.dll +%{_libdir}/wine/%{winepedir}/xaudio2_9.dll +%{_libdir}/wine/%{winepedir}/xcopy.exe +%{_libdir}/wine/%{winepedir}/xinput1_1.dll +%{_libdir}/wine/%{winepedir}/xinput1_2.dll +%{_libdir}/wine/%{winepedir}/xinput1_3.dll +%{_libdir}/wine/%{winepedir}/xinput1_4.dll +%{_libdir}/wine/%{winepedir}/xinput9_1_0.dll +%{_libdir}/wine/%{winepedir}/xinputuap.dll +%{_libdir}/wine/%{winepedir}/xmllite.dll +%{_libdir}/wine/%{winepedir}/xolehlp.dll +%{_libdir}/wine/%{winepedir}/xpsprint.dll +%{_libdir}/wine/%{winepedir}/xpssvcs.dll + +%if 0%{?wine_staging} +%ifarch x86_64 aarch64 +#%%{_libdir}/wine/%%{winepedir}/nvapi64.dll +#%%{_libdir}/wine/%%{winepedir}/nvencodeapi64.dll +#%%{_libdir}/wine/%%{winesodir}/nvencodeapi64.dll.so +%else +#%%{_libdir}/wine/%%{winepedir}/nvapi.dll +%ifarch %{arm} +#%%{_libdir}/wine/%%{winesodir}/nvapi.dll.so +%endif +#%%{_libdir}/wine/%%{winepedir}/nvencodeapi.dll +#%%{_libdir}/wine/%%{winesodir}/nvencodeapi.dll.so +%endif +%endif + +# 16 bit and other non 64bit stuff +%ifnarch x86_64 %{arm} aarch64 +%{_libdir}/wine/%{winepedir}/winevdm.exe +%{_libdir}/wine/%{winepedir}/ifsmgr.vxd +%{_libdir}/wine/%{winepedir}/mmdevldr.vxd +%{_libdir}/wine/%{winepedir}/monodebg.vxd +%{_libdir}/wine/%{winepedir}/rundll.exe16 +%{_libdir}/wine/%{winepedir}/vdhcp.vxd +%{_libdir}/wine/%{winepedir}/user.exe16 +%{_libdir}/wine/%{winepedir}/vmm.vxd +%{_libdir}/wine/%{winepedir}/vnbt.vxd +%{_libdir}/wine/%{winepedir}/vnetbios.vxd +%{_libdir}/wine/%{winepedir}/vtdapi.vxd +%{_libdir}/wine/%{winepedir}/vwin32.vxd +%{_libdir}/wine/%{winepedir}/w32skrnl.dll +%{_libdir}/wine/%{winepedir}/avifile.dll16 +%{_libdir}/wine/%{winepedir}/comm.drv16 +%{_libdir}/wine/%{winepedir}/commdlg.dll16 +%{_libdir}/wine/%{winepedir}/compobj.dll16 +%{_libdir}/wine/%{winepedir}/ctl3d.dll16 +%{_libdir}/wine/%{winepedir}/ctl3dv2.dll16 +%{_libdir}/wine/%{winepedir}/ddeml.dll16 +%{_libdir}/wine/%{winepedir}/dispdib.dll16 +%{_libdir}/wine/%{winepedir}/display.drv16 +%{_libdir}/wine/%{winepedir}/gdi.exe16 +%{_libdir}/wine/%{winepedir}/imm.dll16 +%{_libdir}/wine/%{winepedir}/krnl386.exe16 +%{_libdir}/wine/%{winepedir}/keyboard.drv16 +%{_libdir}/wine/%{winepedir}/lzexpand.dll16 +%{_libdir}/wine/%{winepedir}/mmsystem.dll16 +%{_libdir}/wine/%{winepedir}/mouse.drv16 +%{_libdir}/wine/%{winepedir}/msacm.dll16 +%{_libdir}/wine/%{winepedir}/msvideo.dll16 +%{_libdir}/wine/%{winepedir}/ole2.dll16 +%{_libdir}/wine/%{winepedir}/ole2conv.dll16 +%{_libdir}/wine/%{winepedir}/ole2disp.dll16 +%{_libdir}/wine/%{winepedir}/ole2nls.dll16 +%{_libdir}/wine/%{winepedir}/ole2prox.dll16 +%{_libdir}/wine/%{winepedir}/ole2thk.dll16 +%{_libdir}/wine/%{winepedir}/olecli.dll16 +%{_libdir}/wine/%{winepedir}/olesvr.dll16 +%{_libdir}/wine/%{winepedir}/rasapi16.dll16 +%{_libdir}/wine/%{winepedir}/setupx.dll16 +%{_libdir}/wine/%{winepedir}/shell.dll16 +%{_libdir}/wine/%{winepedir}/sound.drv16 +%{_libdir}/wine/%{winepedir}/storage.dll16 +%{_libdir}/wine/%{winepedir}/stress.dll16 +%{_libdir}/wine/%{winepedir}/system.drv16 +%{_libdir}/wine/%{winepedir}/toolhelp.dll16 +%{_libdir}/wine/%{winepedir}/twain.dll16 +%{_libdir}/wine/%{winepedir}/typelib.dll16 +%{_libdir}/wine/%{winepedir}/ver.dll16 +%{_libdir}/wine/%{winepedir}/w32sys.dll16 +%{_libdir}/wine/%{winepedir}/win32s16.dll16 +%{_libdir}/wine/%{winepedir}/win87em.dll16 +%{_libdir}/wine/%{winepedir}/winaspi.dll16 +%{_libdir}/wine/%{winepedir}/windebug.dll16 +%{_libdir}/wine/%{winepedir}/wineps16.drv16 +%{_libdir}/wine/%{winepedir}/wing.dll16 +%{_libdir}/wine/%{winepedir}/winhelp.exe16 +%{_libdir}/wine/%{winepedir}/winnls.dll16 +%{_libdir}/wine/%{winepedir}/winoldap.mod16 +%{_libdir}/wine/%{winepedir}/winsock.dll16 +%{_libdir}/wine/%{winepedir}/wintab.dll16 +%{_libdir}/wine/%{winepedir}/wow32.dll +%endif + +# ARM SOs +%ifarch %{arm} +%{_libdir}/wine/%{winesodir}/explorer.exe.so +%{_libdir}/wine/%{winesodir}/cabarc.exe.so +%{_libdir}/wine/%{winesodir}/control.exe.so +%{_libdir}/wine/%{winesodir}/cmd.exe.so +%{_libdir}/wine/%{winesodir}/dxdiag.exe.so +%{_libdir}/wine/%{winesodir}/notepad.exe.so +%{_libdir}/wine/%{winesodir}/plugplay.exe.so +%{_libdir}/wine/%{winesodir}/progman.exe.so +%{_libdir}/wine/%{winesodir}/taskmgr.exe.so +%{_libdir}/wine/%{winesodir}/winebrowser.exe.so +%{_libdir}/wine/%{winesodir}/winecfg.exe.so +%{_libdir}/wine/%{winesodir}/winedbg.exe.so +%{_libdir}/wine/%{winesodir}/winefile.exe.so +%{_libdir}/wine/%{winesodir}/winemenubuilder.exe.so +%{_libdir}/wine/%{winesodir}/winemine.exe.so +%{_libdir}/wine/%{winesodir}/winemsibuilder.exe.so +%{_libdir}/wine/%{winesodir}/winepath.exe.so +%{_libdir}/wine/%{winesodir}/winmgmt.exe.so +%{_libdir}/wine/%{winesodir}/winver.exe.so +%{_libdir}/wine/%{winesodir}/wordpad.exe.so +%{_libdir}/wine/%{winesodir}/write.exe.so +%{_libdir}/wine/%{winesodir}/wusa.exe.so +%{_libdir}/wine/%{winesodir}/attrib.exe.so +%{_libdir}/wine/%{winesodir}/arp.exe.so +%{_libdir}/wine/%{winesodir}/aspnet_regiis.exe.so +%{_libdir}/wine/%{winesodir}/cacls.exe.so +%{_libdir}/wine/%{winesodir}/conhost.exe.so +%{_libdir}/wine/%{winesodir}/cscript.exe.so +%{_libdir}/wine/%{winesodir}/dism.exe.so +%{_libdir}/wine/%{winesodir}/dllhost.exe.so +%{_libdir}/wine/%{winesodir}/dplaysvr.exe.so +%{_libdir}/wine/%{winesodir}/dpnsvr.exe.so +%{_libdir}/wine/%{winesodir}/dpvsetup.exe.so +%{_libdir}/wine/%{winesodir}/eject.exe.so +%{_libdir}/wine/%{winesodir}/expand.exe.so +%{_libdir}/wine/%{winesodir}/extrac32.exe.so +%{_libdir}/wine/%{winesodir}/fc.exe.so +%{_libdir}/wine/%{winesodir}/find.exe.so +%{_libdir}/wine/%{winesodir}/findstr.exe.so +%{_libdir}/wine/%{winesodir}/fsutil.exe.so +%{_libdir}/wine/%{winesodir}/hostname.exe.so +%{_libdir}/wine/%{winesodir}/ipconfig.exe.so +%{_libdir}/wine/%{winesodir}/klist.exe.so +%{_libdir}/wine/%{winesodir}/winhlp32.exe.so +%{_libdir}/wine/%{winesodir}/mshta.exe.so +%if 0%{?wine_staging} +%{_libdir}/wine/%{winesodir}/msidb.exe.so +%endif +%{_libdir}/wine/%{winesodir}/msiexec.exe.so +%{_libdir}/wine/%{winesodir}/net.exe.so +%{_libdir}/wine/%{winesodir}/netstat.exe.so +%{_libdir}/wine/%{winesodir}/ngen.exe.so +%{_libdir}/wine/%{winesodir}/ntoskrnl.exe.so +%{_libdir}/wine/%{winesodir}/oleview.exe.so +%{_libdir}/wine/%{winesodir}/ping.exe.so +%{_libdir}/wine/%{winesodir}/pnputil.exe.so +%{_libdir}/wine/%{winesodir}/powershell.exe.so +%{_libdir}/wine/%{winesodir}/reg.exe.so +%{_libdir}/wine/%{winesodir}/regasm.exe.so +%{_libdir}/wine/%{winesodir}/regedit.exe.so +%{_libdir}/wine/%{winesodir}/regsvcs.exe.so +%{_libdir}/wine/%{winesodir}/regsvr32.exe.so +%{_libdir}/wine/%{winesodir}/rpcss.exe.so +%{_libdir}/wine/%{winesodir}/rundll32.exe.so +%{_libdir}/wine/%{winesodir}/schtasks.exe.so +%{_libdir}/wine/%{winesodir}/sdbinst.exe.so +%{_libdir}/wine/%{winesodir}/secedit.exe.so +%{_libdir}/wine/%{winesodir}/servicemodelreg.exe.so +%{_libdir}/wine/%{winesodir}/services.exe.so +%{_libdir}/wine/%{winesodir}/start.exe.so +%{_libdir}/wine/%{winesodir}/tasklist.exe.so +%{_libdir}/wine/%{winesodir}/termsv.exe.so +%{_libdir}/wine/%{winesodir}/view.exe.so +%{_libdir}/wine/%{winesodir}/wevtutil.exe.so +%{_libdir}/wine/%{winesodir}/where.exe.so +%{_libdir}/wine/%{winesodir}/whoami.exe.so +%{_libdir}/wine/%{winesodir}/wineboot.exe.so +%{_libdir}/wine/%{winesodir}/wineconsole.exe.so +%{_libdir}/wine/%{winesodir}/winedevice.exe.so +%{_libdir}/wine/%{winesodir}/wmplayer.exe.so +%{_libdir}/wine/%{winesodir}/wscript.exe.so +%{_libdir}/wine/%{winesodir}/uninstaller.exe.so +%{_libdir}/wine/%{winesodir}/acledit.dll.so +%{_libdir}/wine/%{winesodir}/aclui.dll.so +%{_libdir}/wine/%{winesodir}/activeds.dll.so +%{_libdir}/wine/%{winesodir}/actxprxy.dll.so +%{_libdir}/wine/%{winesodir}/adsldp.dll.so +%{_libdir}/wine/%{winesodir}/adsldpc.dll.so +%{_libdir}/wine/%{winesodir}/advapi32.dll.so +%{_libdir}/wine/%{winesodir}/advpack.dll.so +%{_libdir}/wine/%{winesodir}/amsi.dll.so +%{_libdir}/wine/%{winesodir}/amstream.dll.so +%{_libdir}/wine/%{winesodir}/apphelp.dll.so +%{_libdir}/wine/%{winesodir}/appwiz.cpl.so +%{_libdir}/wine/%{winesodir}/appxdeploymentclient.dll.so +%{_libdir}/wine/%{winesodir}/atl.dll.so +%{_libdir}/wine/%{winesodir}/atl80.dll.so +%{_libdir}/wine/%{winesodir}/atl90.dll.so +%{_libdir}/wine/%{winesodir}/atl100.dll.so +%{_libdir}/wine/%{winesodir}/atl110.dll.so +%{_libdir}/wine/%{winesodir}/atlthunk.dll.so +%{_libdir}/wine/%{winesodir}/atmlib.dll.so +%{_libdir}/wine/%{winesodir}/authz.dll.so +%{_libdir}/wine/%{winesodir}/avicap32.dll.so +%{_libdir}/wine/%{winesodir}/avifil32.dll.so +%{_libdir}/wine/%{winesodir}/avrt.dll.so +%{_libdir}/wine/%{winesodir}/bcrypt.dll.so +%{_libdir}/wine/%{winesodir}/bcryptprimitives.dll.so +%{_libdir}/wine/%{winesodir}/bluetoothapis.dll.so +%{_libdir}/wine/%{winesodir}/browseui.dll.so +%{_libdir}/wine/%{winesodir}/bthprops.cpl.so +%{_libdir}/wine/%{winesodir}/cabinet.dll.so +%{_libdir}/wine/%{winesodir}/cards.dll.so +%{_libdir}/wine/%{winesodir}/cdosys.dll.so +%{_libdir}/wine/%{winesodir}/cfgmgr32.dll.so +%{_libdir}/wine/%{winesodir}/chcp.com.so +%{_libdir}/wine/%{winesodir}/clock.exe.so +%{_libdir}/wine/%{winesodir}/clusapi.dll.so +%{_libdir}/wine/%{winesodir}/cng.sys.so +%{_libdir}/wine/%{winesodir}/combase.dll.so +%{_libdir}/wine/%{winesodir}/comcat.dll.so +%{_libdir}/wine/%{winesodir}/comctl32.dll.so +%{_libdir}/wine/%{winesodir}/comdlg32.dll.so +%{_libdir}/wine/%{winesodir}/coml2.dll.so +%{_libdir}/wine/%{winesodir}/compstui.dll.so +%{_libdir}/wine/%{winesodir}/comsvcs.dll.so +%{_libdir}/wine/%{winesodir}/concrt140.dll.so +%{_libdir}/wine/%{winesodir}/connect.dll.so +%{_libdir}/wine/%{winesodir}/credui.dll.so +%{_libdir}/wine/%{winesodir}/crtdll.dll.so +%{_libdir}/wine/%{winesodir}/crypt32.dll.so +%{_libdir}/wine/%{winesodir}/cryptdlg.dll.so +%{_libdir}/wine/%{winesodir}/cryptdll.dll.so +%{_libdir}/wine/%{winesodir}/cryptext.dll.so +%{_libdir}/wine/%{winesodir}/cryptnet.dll.so +%{_libdir}/wine/%{winesodir}/cryptowinrt.dll.so +%{_libdir}/wine/%{winesodir}/cryptsp.dll.so +%{_libdir}/wine/%{winesodir}/cryptui.dll.so +%{_libdir}/wine/%{winesodir}/ctapi32.dll.so +%{_libdir}/wine/%{winesodir}/ctl3d32.dll.so +%{_libdir}/wine/%{winesodir}/d2d1.dll.so +%{_libdir}/wine/%{winesodir}/d3d10.dll.so +%{_libdir}/wine/%{winesodir}/d3d10_1.dll.so +%{_libdir}/wine/%{winesodir}/d3d10core.dll.so +%{_libdir}/wine/%{winesodir}/d3d11.dll.so +%{_libdir}/wine/%{winesodir}/d3d12.dll.so +%{_libdir}/wine/%{winesodir}/d3d12core.dll.so +%{_libdir}/wine/%{winesodir}/d3dcompiler_*.dll.so +%{_libdir}/wine/%{winesodir}/d3dim.dll.so +%{_libdir}/wine/%{winesodir}/d3dim700.dll.so +%{_libdir}/wine/%{winesodir}/d3drm.dll.so +%{_libdir}/wine/%{winesodir}/d3dx9_*.dll.so +%{_libdir}/wine/%{winesodir}/d3dx10_*.dll.so +%{_libdir}/wine/%{winesodir}/d3dx11_42.dll.so +%{_libdir}/wine/%{winesodir}/d3dx11_43.dll.so +%{_libdir}/wine/%{winesodir}/d3dxof.dll.so +%{_libdir}/wine/%{winesodir}/davclnt.dll.so +%{_libdir}/wine/%{winesodir}/dbgeng.dll.so +%{_libdir}/wine/%{winesodir}/dbghelp.dll.so +%{_libdir}/wine/%{winesodir}/dciman32.dll.so +%{_libdir}/wine/%{winesodir}/dcomp.dll.so +%{_libdir}/wine/%{winesodir}/ddraw.dll.so +%{_libdir}/wine/%{winesodir}/ddrawex.dll.so +%{_libdir}/wine/%{winesodir}/devenum.dll.so +%{_libdir}/wine/%{winesodir}/dhcpcsvc.dll.so +%{_libdir}/wine/%{winesodir}/dhcpcsvc6.dll.so +%{_libdir}/wine/%{winesodir}/dhtmled.ocx.so +%{_libdir}/wine/%{winesodir}/diasymreader.dll.so +%{_libdir}/wine/%{winesodir}/difxapi.dll.so +%{_libdir}/wine/%{winesodir}/dinput.dll.so +%{_libdir}/wine/%{winesodir}/dinput8.dll.so +%{_libdir}/wine/%{winesodir}/directmanipulation.dll.so +%{_libdir}/wine/%{winesodir}/dispex.dll.so +%{_libdir}/wine/%{winesodir}/dmband.dll.so +%{_libdir}/wine/%{winesodir}/dmcompos.dll.so +%{_libdir}/wine/%{winesodir}/dmime.dll.so +%{_libdir}/wine/%{winesodir}/dmloader.dll.so +%{_libdir}/wine/%{winesodir}/dmscript.dll.so +%{_libdir}/wine/%{winesodir}/dmstyle.dll.so +%{_libdir}/wine/%{winesodir}/dmsynth.dll.so +%{_libdir}/wine/%{winesodir}/dmusic.dll.so +%{_libdir}/wine/%{winesodir}/dmusic32.dll.so +%{_libdir}/wine/%{winesodir}/dplay.dll.so +%{_libdir}/wine/%{winesodir}/dplayx.dll.so +%{_libdir}/wine/%{winesodir}/dpnaddr.dll.so +%{_libdir}/wine/%{winesodir}/dpnet.dll.so +%{_libdir}/wine/%{winesodir}/dpnhpast.dll.so +%{_libdir}/wine/%{winesodir}/dpnhupnp.dll.so +%{_libdir}/wine/%{winesodir}/dpnlobby.dll.so +%{_libdir}/wine/%{winesodir}/dpvoice.dll.so +%{_libdir}/wine/%{winesodir}/dpwsockx.dll.so +%{_libdir}/wine/%{winesodir}/drmclien.dll.so +%{_libdir}/wine/%{winesodir}/dsound.dll.so +%{_libdir}/wine/%{winesodir}/dsdmo.dll.so +%{_libdir}/wine/%{winesodir}/dsquery.dll.so +%{_libdir}/wine/%{winesodir}/dssenh.dll.so +%{_libdir}/wine/%{winesodir}/dsuiext.dll.so +%{_libdir}/wine/%{winesodir}/dswave.dll.so +%{_libdir}/wine/%{winesodir}/dwmapi.dll.so +%{_libdir}/wine/%{winesodir}/dwrite.dll.so +%{_libdir}/wine/%{winesodir}/dx8vb.dll.so +%{_libdir}/wine/%{winesodir}/dxcore.dll.so +%{_libdir}/wine/%{winesodir}/dxdiagn.dll.so +%ghost %{_libdir}/wine/%{winesodir}/dxgi.dll.so +%{_libdir}/wine/%{winesodir}/wine-dxgi.dll.so +%{_libdir}/wine/%{winesodir}/dxgkrnl.sys.so +%{_libdir}/wine/%{winesodir}/dxgmms1.sys.so +%{_libdir}/wine/%{winesodir}/dxtrans.dll.so +%{_libdir}/wine/%{winesodir}/dxva2.dll.so +%{_libdir}/wine/%{winesodir}/esent.dll.so +%{_libdir}/wine/%{winesodir}/evr.dll.so +%{_libdir}/wine/%{winesodir}/explorerframe.dll.so +%{_libdir}/wine/%{winesodir}/faultrep.dll.so +%{_libdir}/wine/%{winesodir}/feclient.dll.so +%{_libdir}/wine/%{winesodir}/fltlib.dll.so +%{_libdir}/wine/%{winesodir}/fltmgr.sys.so +%{_libdir}/wine/%{winesodir}/fntcache.dll.so +%{_libdir}/wine/%{winesodir}/fontsub.dll.so +%{_libdir}/wine/%{winesodir}/fusion.dll.so +%{_libdir}/wine/%{winesodir}/fwpuclnt.dll.so +%{_libdir}/wine/%{winesodir}/gameux.dll.so +%{_libdir}/wine/%{winesodir}/gamingtcui.dll.so +%{_libdir}/wine/%{winesodir}/gdi32.dll.so +%{_libdir}/wine/%{winesodir}/gdiplus.dll.so +%{_libdir}/wine/%{winesodir}/geolocation.dll.so +%{_libdir}/wine/%{winesodir}/glu32.dll.so +%{_libdir}/wine/%{winesodir}/gphoto2.ds.so +%{_libdir}/wine/%{winesodir}/gpkcsp.dll.so +%{_libdir}/wine/%{winesodir}/graphicscapture.dll.so +%{_libdir}/wine/%{winesodir}/hal.dll.so +%{_libdir}/wine/%{winesodir}/hh.exe.so +%{_libdir}/wine/%{winesodir}/hhctrl.ocx.so +%{_libdir}/wine/%{winesodir}/hid.dll.so +%{_libdir}/wine/%{winesodir}/hidclass.sys.so +%{_libdir}/wine/%{winesodir}/hidparse.sys.so +%{_libdir}/wine/%{winesodir}/hlink.dll.so +%{_libdir}/wine/%{winesodir}/hnetcfg.dll.so +%{_libdir}/wine/%{winesodir}/hrtfapo.dll.so +%{_libdir}/wine/%{winesodir}/http.sys.so +%{_libdir}/wine/%{winesodir}/httpapi.dll.so +%{_libdir}/wine/%{winesodir}/hvsimanagementapi.dll.so +%{_libdir}/wine/%{winesodir}/ia2comproxy.dll.so +%{_libdir}/wine/%{winesodir}/icacls.exe.so +%{_libdir}/wine/%{winesodir}/iccvid.dll.so +%{_libdir}/wine/%{winesodir}/icinfo.exe.so +%{_libdir}/wine/%{winesodir}/ieframe.dll.so +%{_libdir}/wine/%{winesodir}/ieproxy.dll.so +%{_libdir}/wine/%{winesodir}/imaadp32.acm.so +%{_libdir}/wine/%{winesodir}/imagehlp.dll.so +%{_libdir}/wine/%{winesodir}/imm32.dll.so +%{_libdir}/wine/%{winesodir}/inetcomm.dll.so +%{_libdir}/wine/%{winesodir}/inetcpl.cpl.so +%{_libdir}/wine/%{winesodir}/inetmib1.dll.so +%{_libdir}/wine/%{winesodir}/infosoft.dll.so +%{_libdir}/wine/%{winesodir}/initpki.dll.so +%{_libdir}/wine/%{winesodir}/inkobj.dll.so +%{_libdir}/wine/%{winesodir}/inseng.dll.so +%{_libdir}/wine/%{winesodir}/iphlpapi.dll.so +%{_libdir}/wine/%{winesodir}/iprop.dll.so +%{_libdir}/wine/%{winesodir}/irprops.cpl.so +%{_libdir}/wine/%{winesodir}/ir50_32.dll.so +%{_libdir}/wine/%{winesodir}/itircl.dll.so +%{_libdir}/wine/%{winesodir}/itss.dll.so +%{_libdir}/wine/%{winesodir}/joy.cpl.so +%{_libdir}/wine/%{winesodir}/jscript.dll.so +%{_libdir}/wine/%{winesodir}/jsproxy.dll.so +%{_libdir}/wine/%{winesodir}/kerberos.dll.so +%{_libdir}/wine/%{winesodir}/kernel32.dll.so +%{_libdir}/wine/%{winesodir}/kernelbase.dll.so +%{_libdir}/wine/%{winesodir}/ksecdd.sys.so +%{_libdir}/wine/%{winesodir}/ksproxy.ax.so +%{_libdir}/wine/%{winesodir}/ksuser.dll.so +%{_libdir}/wine/%{winesodir}/ktmw32.dll.so +%{_libdir}/wine/%{winesodir}/l3codeca.acm.so +%{_libdir}/wine/%{winesodir}/loadperf.dll.so +%{_libdir}/wine/%{winesodir}/localspl.dll.so +%{_libdir}/wine/%{winesodir}/localui.dll.so +%{_libdir}/wine/%{winesodir}/lodctr.exe.so +%{_libdir}/wine/%{winesodir}/magnification.dll.so +%{_libdir}/wine/%{winesodir}/mapi32.dll.so +%{_libdir}/wine/%{winesodir}/mapistub.dll.so +%{_libdir}/wine/%{winesodir}/mciavi32.dll.so +%{_libdir}/wine/%{winesodir}/mcicda.dll.so +%{_libdir}/wine/%{winesodir}/mciqtz32.dll.so +%{_libdir}/wine/%{winesodir}/mciseq.dll.so +%{_libdir}/wine/%{winesodir}/mciwave.dll.so +%{_libdir}/wine/%{winesodir}/mf.dll.so +%{_libdir}/wine/%{winesodir}/mf3216.dll.so +%{_libdir}/wine/%{winesodir}/mfmediaengine.dll.so +%{_libdir}/wine/%{winesodir}/mfplat.dll.so +%{_libdir}/wine/%{winesodir}/mfplay.dll.so +%{_libdir}/wine/%{winesodir}/mfreadwrite.dll.so +%{_libdir}/wine/%{winesodir}/mfsrcsnk.dll.so +%{_libdir}/wine/%{winesodir}/mgmtapi.dll.so +%{_libdir}/wine/%{winesodir}/midimap.dll.so +%{_libdir}/wine/%{winesodir}/mlang.dll.so +%{_libdir}/wine/%{winesodir}/mmcndmgr.dll.so +%{_libdir}/wine/%{winesodir}/mmdevapi.dll.so +%{_libdir}/wine/%{winesodir}/mofcomp.exe.so +%{_libdir}/wine/%{winesodir}/mountmgr.sys.so +%{_libdir}/wine/%{winesodir}/mp3dmod.dll.so +%{_libdir}/wine/%{winesodir}/mpr.dll.so +%{_libdir}/wine/%{winesodir}/mprapi.dll.so +%{_libdir}/wine/%{winesodir}/msacm32.dll.so +%{_libdir}/wine/%{winesodir}/msacm32.drv.so +%{_libdir}/wine/%{winesodir}/msado15.dll.so +%{_libdir}/wine/%{winesodir}/msadp32.acm.so +%{_libdir}/wine/%{winesodir}/msasn1.dll.so +%{_libdir}/wine/%{winesodir}/msauddecmft.dll.so +%{_libdir}/wine/%{winesodir}/mscat32.dll.so +%{_libdir}/wine/%{winesodir}/mscoree.dll.so +%{_libdir}/wine/%{winesodir}/mscorwks.dll.so +%{_libdir}/wine/%{winesodir}/msctf.dll.so +%{_libdir}/wine/%{winesodir}/msctfmonitor.dll.so +%{_libdir}/wine/%{winesodir}/msctfp.dll.so +%{_libdir}/wine/%{winesodir}/msdaps.dll.so +%{_libdir}/wine/%{winesodir}/msdasql.dll.so +%{_libdir}/wine/%{winesodir}/msdelta.dll.so +%{_libdir}/wine/%{winesodir}/msdmo.dll.so +%{_libdir}/wine/%{winesodir}/msdrm.dll.so +%{_libdir}/wine/%{winesodir}/msftedit.dll.so +%{_libdir}/wine/%{winesodir}/msg711.acm.so +%{_libdir}/wine/%{winesodir}/mshtml.dll.so +%{_libdir}/wine/%{winesodir}/msgsm32.acm.so +%{_libdir}/wine/%{winesodir}/msi.dll.so +%{_libdir}/wine/%{winesodir}/msident.dll.so +%{_libdir}/wine/%{winesodir}/msimtf.dll.so +%{_libdir}/wine/%{winesodir}/msimg32.dll.so +%{_libdir}/wine/%{winesodir}/msinfo32.exe.so +%{_libdir}/wine/%{winesodir}/msisip.dll.so +%{_libdir}/wine/%{winesodir}/msisys.ocx.so +%{_libdir}/wine/%{winesodir}/msls31.dll.so +%{_libdir}/wine/%{winesodir}/msmpeg2vdec.dll.so +%{_libdir}/wine/%{winesodir}/msnet32.dll.so +%{_libdir}/wine/%{winesodir}/mspatcha.dll.so +%{_libdir}/wine/%{winesodir}/msports.dll.so +%{_libdir}/wine/%{winesodir}/msscript.ocx.so +%{_libdir}/wine/%{winesodir}/mssign32.dll.so +%{_libdir}/wine/%{winesodir}/mssip32.dll.so +%{_libdir}/wine/%{winesodir}/msrle32.dll.so +%{_libdir}/wine/%{winesodir}/mstask.dll.so +%{_libdir}/wine/%{winesodir}/msttsengine.dll.so +%{_libdir}/wine/%{winesodir}/msv1_0.dll.so +%{_libdir}/wine/%{winesodir}/msvcirt.dll.so +%{_libdir}/wine/%{winesodir}/msvcm80.dll.so +%{_libdir}/wine/%{winesodir}/msvcm90.dll.so +%{_libdir}/wine/%{winesodir}/msvcp_win.dll.so +%{_libdir}/wine/%{winesodir}/msvcp60.dll.so +%{_libdir}/wine/%{winesodir}/msvcp70.dll.so +%{_libdir}/wine/%{winesodir}/msvcp71.dll.so +%{_libdir}/wine/%{winesodir}/msvcp80.dll.so +%{_libdir}/wine/%{winesodir}/msvcp90.dll.so +%{_libdir}/wine/%{winesodir}/msvcp100.dll.so +%{_libdir}/wine/%{winesodir}/msvcp110.dll.so +%{_libdir}/wine/%{winesodir}/msvcp120.dll.so +%{_libdir}/wine/%{winesodir}/msvcp120_app.dll.so +%{_libdir}/wine/%{winesodir}/msvcp140.dll.so +%{_libdir}/wine/%{winesodir}/msvcp140_1.dll.so +%{_libdir}/wine/%{winesodir}/msvcp140_2.dll.so +%{_libdir}/wine/%{winesodir}/msvcp140_atomic_wait.dll.so +%{_libdir}/wine/%{winesodir}/msvcp140_codecvt_ids.dll.so +%{_libdir}/wine/%{winesodir}/msvcr70.dll.so +%{_libdir}/wine/%{winesodir}/msvcr71.dll.so +%{_libdir}/wine/%{winesodir}/msvcr80.dll.so +%{_libdir}/wine/%{winesodir}/msvcr90.dll.so +%{_libdir}/wine/%{winesodir}/msvcr100.dll.so +%{_libdir}/wine/%{winesodir}/msvcr110.dll.so +%{_libdir}/wine/%{winesodir}/msvcr120.dll.so +%{_libdir}/wine/%{winesodir}/msvcr120_app.dll.so +%{_libdir}/wine/%{winesodir}/msvcrt.dll.so +%{_libdir}/wine/%{winesodir}/msvcrt20.dll.so +%{_libdir}/wine/%{winesodir}/msvcrt40.dll.so +%{_libdir}/wine/%{winesodir}/msvcrtd.dll.so +%{_libdir}/wine/%{winesodir}/msvfw32.dll.so +%{_libdir}/wine/%{winesodir}/msvidc32.dll.so +%{_libdir}/wine/%{winesodir}/mswsock.dll.so +%{_libdir}/wine/%{winesodir}/msxml.dll.so +%{_libdir}/wine/%{winesodir}/msxml2.dll.so +%{_libdir}/wine/%{winesodir}/msxml3.dll.so +%{_libdir}/wine/%{winesodir}/msxml4.dll.so +%{_libdir}/wine/%{winesodir}/msxml6.dll.so +%{_libdir}/wine/%{winesodir}/mtxdm.dll.so +%{_libdir}/wine/%{winesodir}/nddeapi.dll.so +%{_libdir}/wine/%{winesodir}/ncrypt.dll.so +%{_libdir}/wine/%{winesodir}/ndis.sys.so +%{_libdir}/wine/%{winesodir}/netapi32.dll.so +%{_libdir}/wine/%{winesodir}/netcfgx.dll.so +%{_libdir}/wine/%{winesodir}/netio.sys.so +%{_libdir}/wine/%{winesodir}/netprofm.dll.so +%{_libdir}/wine/%{winesodir}/netsh.exe.so +%if 0%{?wine_staging} +%{_libdir}/wine/%{winesodir}/netutils.dll.so +%endif +%{_libdir}/wine/%{winesodir}/newdev.dll.so +%{_libdir}/wine/%{winesodir}/ninput.dll.so +%{_libdir}/wine/%{winesodir}/npmshtml.dll.so +%{_libdir}/wine/%{winesodir}/npptools.dll.so +%{_libdir}/wine/%{winesodir}/nsi.dll.so +%{_libdir}/wine/%{winesodir}/nsiproxy.sys.so +%{_libdir}/wine/%{winesodir}/ntdll.dll.so +%{_libdir}/wine/%{winesodir}/ntdsapi.dll.so +%{_libdir}/wine/%{winesodir}/ntprint.dll.so +%{_libdir}/wine/%{winesodir}/objsel.dll.so +%{_libdir}/wine/%{winesodir}/odbc32.dll.so +%{_libdir}/wine/%{winesodir}/odbcbcp.dll.so +%{_libdir}/wine/%{winesodir}/odbccp32.dll.so +%{_libdir}/wine/%{winesodir}/odbccu32.dll.so +%{_libdir}/wine/%{winesodir}/ole32.dll.so +%{_libdir}/wine/%{winesodir}/oleacc.dll.so +%{_libdir}/wine/%{winesodir}/oleaut32.dll.so +%{_libdir}/wine/%{winesodir}/olecli32.dll.so +%{_libdir}/wine/%{winesodir}/oledb32.dll.so +%{_libdir}/wine/%{winesodir}/oledlg.dll.so +%{_libdir}/wine/%{winesodir}/olepro32.dll.so +%{_libdir}/wine/%{winesodir}/olesvr32.dll.so +%{_libdir}/wine/%{winesodir}/olethk32.dll.so +%{_libdir}/wine/%{winesodir}/opcservices.dll.so +%{_libdir}/wine/%{winesodir}/opengl32.dll.so +%{_libdir}/wine/%{winesodir}/packager.dll.so +%{_libdir}/wine/%{winesodir}/pdh.dll.so +%{_libdir}/wine/%{winesodir}/photometadatahandler.dll.so +%{_libdir}/wine/%{winesodir}/pidgen.dll.so +%{_libdir}/wine/%{winesodir}/powrprof.dll.so +%{_libdir}/wine/%{winesodir}/presentationfontcache.exe.so +%{_libdir}/wine/%{winesodir}/printui.dll.so +%{_libdir}/wine/%{winesodir}/prntvpt.dll.so +%{_libdir}/wine/%{winesodir}/propsys.dll.so +%{_libdir}/wine/%{winesodir}/psapi.dll.so +%{_libdir}/wine/%{winesodir}/pstorec.dll.so +%{_libdir}/wine/%{winesodir}/pwrshplugin.dll.so +%{_libdir}/wine/%{winesodir}/qasf.dll.so +%{_libdir}/wine/%{winesodir}/qcap.dll.so +%{_libdir}/wine/%{winesodir}/qdvd.dll.so +%{_libdir}/wine/%{winesodir}/qedit.dll.so +%{_libdir}/wine/%{winesodir}/qmgr.dll.so +%{_libdir}/wine/%{winesodir}/qmgrprxy.dll.so +%{_libdir}/wine/%{winesodir}/quartz.dll.so +%{_libdir}/wine/%{winesodir}/query.dll.so +%{_libdir}/wine/%{winesodir}/qwave.dll.so +%{_libdir}/wine/%{winesodir}/rasapi32.dll.so +%{_libdir}/wine/%{winesodir}/rasdlg.dll.so +%{_libdir}/wine/%{winesodir}/regapi.dll.so +%{_libdir}/wine/%{winesodir}/regini.exe.so +%{_libdir}/wine/%{winesodir}/resutils.dll.so +%{_libdir}/wine/%{winesodir}/riched20.dll.so +%{_libdir}/wine/%{winesodir}/riched32.dll.so +%{_libdir}/wine/%{winesodir}/robocopy.exe.so +%{_libdir}/wine/%{winesodir}/rpcrt4.dll.so +%{_libdir}/wine/%{winesodir}/rsabase.dll.so +%{_libdir}/wine/%{winesodir}/rsaenh.dll.so +%{_libdir}/wine/%{winesodir}/rstrtmgr.dll.so +%{_libdir}/wine/%{winesodir}/rtutils.dll.so +%{_libdir}/wine/%{winesodir}/rtworkq.dll.so +%{_libdir}/wine/%{winesodir}/samlib.dll.so +%{_libdir}/wine/%{winesodir}/sapi.dll.so +%{_libdir}/wine/%{winesodir}/sas.dll.so +%{_libdir}/wine/%{winesodir}/sc.exe.so +%{_libdir}/wine/%{winesodir}/scarddlg.dll.so +%{_libdir}/wine/%{winesodir}/scardsvr.dll.so +%{_libdir}/wine/%{winesodir}/sccbase.dll.so +%{_libdir}/wine/%{winesodir}/schannel.dll.so +%{_libdir}/wine/%{winesodir}/scrobj.dll.so +%{_libdir}/wine/%{winesodir}/scrrun.dll.so +%{_libdir}/wine/%{winesodir}/scsiport.sys.so +%{_libdir}/wine/%{winesodir}/sechost.dll.so +%{_libdir}/wine/%{winesodir}/secur32.dll.so +%{_libdir}/wine/%{winesodir}/sensapi.dll.so +%{_libdir}/wine/%{winesodir}/serialui.dll.so +%{_libdir}/wine/%{winesodir}/setupapi.dll.so +%{_libdir}/wine/%{winesodir}/sfc_os.dll.so +%{_libdir}/wine/%{winesodir}/shcore.dll.so +%{_libdir}/wine/%{winesodir}/shdocvw.dll.so +%{_libdir}/wine/%{winesodir}/schedsvc.dll.so +%{_libdir}/wine/%{winesodir}/shell32.dll.so +%{_libdir}/wine/%{winesodir}/shfolder.dll.so +%{_libdir}/wine/%{winesodir}/shlwapi.dll.so +%{_libdir}/wine/%{winesodir}/shutdown.exe.so +%{_libdir}/wine/%{winesodir}/slbcsp.dll.so +%{_libdir}/wine/%{winesodir}/slc.dll.so +%{_libdir}/wine/%{winesodir}/snmpapi.dll.so +%{_libdir}/wine/%{winesodir}/softpub.dll.so +%{_libdir}/wine/%{winesodir}/spoolsv.exe.so +%{_libdir}/wine/%{winesodir}/sppc.dll.so +%{_libdir}/wine/%{winesodir}/srclient.dll.so +%if 0%{?wine_staging} +%{_libdir}/wine/%{winesodir}/srvcli.dll.so +%endif +%{_libdir}/wine/%{winesodir}/srvsvc.dll.so +%{_libdir}/wine/%{winesodir}/sspicli.dll.so +%{_libdir}/wine/%{winesodir}/sti.dll.so +%{_libdir}/wine/%{winesodir}/strmdll.dll.so +%{_libdir}/wine/%{winesodir}/subst.exe.so +%{_libdir}/wine/%{winesodir}/svchost.exe.so +%{_libdir}/wine/%{winesodir}/svrapi.dll.so +%{_libdir}/wine/%{winesodir}/sxs.dll.so +%{_libdir}/wine/%{winesodir}/systeminfo.exe.so +%{_libdir}/wine/%{winesodir}/t2embed.dll.so +%{_libdir}/wine/%{winesodir}/tapi32.dll.so +%{_libdir}/wine/%{winesodir}/taskkill.exe.so +%{_libdir}/wine/%{winesodir}/taskschd.dll.so +%{_libdir}/wine/%{winesodir}/tbs.dll.so +%{_libdir}/wine/%{winesodir}/tdh.dll.so +%{_libdir}/wine/%{winesodir}/tdi.sys.so +%{_libdir}/wine/%{winesodir}/threadpoolwinrt.dll.so +%{_libdir}/wine/%{winesodir}/traffic.dll.so +%{_libdir}/wine/%{winesodir}/twinapi.appcore.dll.so +%{_libdir}/wine/%{winesodir}/ucrtbase.dll.so +%if 0%{?wine_staging} +%{_libdir}/wine/%{winesodir}/uianimation.dll.so +%endif +%{_libdir}/wine/%{winesodir}/uiautomationcore.dll.so +%{_libdir}/wine/%{winesodir}/uiribbon.dll.so +%{_libdir}/wine/%{winesodir}/unicows.dll.so +%{_libdir}/wine/%{winesodir}/unlodctr.exe.so +%{_libdir}/wine/%{winesodir}/updspapi.dll.so +%{_libdir}/wine/%{winesodir}/url.dll.so +%{_libdir}/wine/%{winesodir}/urlmon.dll.so +%{_libdir}/wine/%{winesodir}/usbd.sys.so +%{_libdir}/wine/%{winesodir}/user32.dll.so +%{_libdir}/wine/%{winesodir}/utildll.dll.so +%{_libdir}/wine/%{winesodir}/uxtheme.dll.so +%{_libdir}/wine/%{winesodir}/userenv.dll.so +%{_libdir}/wine/%{winesodir}/vbscript.dll.so +%{_libdir}/wine/%{winesodir}/vcomp.dll.so +%{_libdir}/wine/%{winesodir}/vcomp90.dll.so +%{_libdir}/wine/%{winesodir}/vcomp100.dll.so +%{_libdir}/wine/%{winesodir}/vcomp110.dll.so +%{_libdir}/wine/%{winesodir}/vcomp120.dll.so +%{_libdir}/wine/%{winesodir}/vcomp140.dll.so +%{_libdir}/wine/%{winesodir}/vcruntime140.dll.so +%{_libdir}/wine/%{winesodir}/vcruntime140_1.dll.so +%{_libdir}/wine/%{winesodir}/vdmdbg.dll.so +%{_libdir}/wine/%{winesodir}/version.dll.so +%{_libdir}/wine/%{winesodir}/vga.dll.so +%{_libdir}/wine/%{winesodir}/virtdisk.dll.so +%{_libdir}/wine/%{winesodir}/vssapi.dll.so +%{_libdir}/wine/%{winesodir}/vulkan-1.dll.so +%{_libdir}/wine/%{winesodir}/wbemdisp.dll.so +%{_libdir}/wine/%{winesodir}/wbemprox.dll.so +%{_libdir}/wine/%{winesodir}/wdscore.dll.so +%{_libdir}/wine/%{winesodir}/webservices.dll.so +%{_libdir}/wine/%{winesodir}/websocket.dll.so +%{_libdir}/wine/%{winesodir}/wer.dll.so +%{_libdir}/wine/%{winesodir}/wevtapi.dll.so +%{_libdir}/wine/%{winesodir}/wevtsvc.dll.so +%{_libdir}/wine/%{winesodir}/wiaservc.dll.so +%{_libdir}/wine/%{winesodir}/wimgapi.dll.so +%{_libdir}/wine/%{winesodir}/win32k.sys.so +%{_libdir}/wine/%{winesodir}/win32u.dll.so +%{_libdir}/wine/%{winesodir}/windows.applicationmodel.dll.so +%{_libdir}/wine/%{winesodir}/windows.devices.bluetooth.dll.so +%{_libdir}/wine/%{winesodir}/windows.devices.enumeration.dll.so +%{_libdir}/wine/%{winesodir}/windows.devices.usb.dll.so +%{_libdir}/wine/%{winesodir}/windows.gaming.ui.gamebar.dll.so +%{_libdir}/wine/%{winesodir}/windows.gaming.input.dll.so +%{_libdir}/wine/%{winesodir}/windows.globalization.dll.so +%{_libdir}/wine/%{winesodir}/windows.media.dll.so +%{_libdir}/wine/%{winesodir}/windows.media.devices.dll.so +%{_libdir}/wine/%{winesodir}/windows.media.media.mediacontrol.dll.so +%{_libdir}/wine/%{winesodir}/windows.media.speech.dll.so +%{_libdir}/wine/%{winesodir}/windows.networking.connectivity.so +%{_libdir}/wine/%{winesodir}/windows.networking.dll.so +%{_libdir}/wine/%{winesodir}/windows.networking.hostname.dll.so +%{_libdir}/wine/%{winesodir}/windows.perception.stub.dll.so +%{_libdir}/wine/%{winesodir}/windows.security.credentials.ui.userconsentverifier.dll.so +%{_libdir}/wine/%{winesodir}/windows.storage.applicationdata.dll.so +%{_libdir}/wine/%{winesodir}/windows.system.profile.systemmanufacturers.dll.so +%{_libdir}/wine/%{winesodir}/windows.ui.so +%{_libdir}/wine/%{winesodir}/windowscodecs.dll.so +%{_libdir}/wine/%{winesodir}/windowscodecsext.dll.so +%{_libdir}/wine/%{winesodir}/winebus.sys.so +%{_libdir}/wine/%{winesodir}/wined3d.dll.so +%{_libdir}/wine/%{winesodir}/winegstreamer.dll.so +%{_libdir}/wine/%{winesodir}/winehid.sys.so +%{_libdir}/wine/%{winesodir}/winemapi.dll.so +%{_libdir}/wine/%{winesodir}/wineusb.sys.so +%{_libdir}/wine/%{winesodir}/winevulkan.dll.so +%{_libdir}/wine/%{winesodir}/winexinput.sys.so +%{_libdir}/wine/%{winesodir}/wing32.dll.so +%{_libdir}/wine/%{winesodir}/winhttp.dll.so +%{_libdir}/wine/%{winesodir}/wininet.dll.so +%{_libdir}/wine/%{winesodir}/winmm.dll.so +%{_libdir}/wine/%{winesodir}/winnls32.dll.so +%{_libdir}/wine/%{winesodir}/winprint.dll.so +%{_libdir}/wine/%{winesodir}/winspool.drv.so +%{_libdir}/wine/%{winesodir}/winsta.dll.so +%{_libdir}/wine/%{winesodir}/wldp.dll.so +%{_libdir}/wine/%{winesodir}/wmasf.dll.so +%{_libdir}/wine/%{winesodir}/wmic.exe.so +%{_libdir}/wine/%{winesodir}/wmiutils.dll.so +%{_libdir}/wine/%{winesodir}/wmp.dll.so +%{_libdir}/wine/%{winesodir}/wmvcore.dll.so +%{_libdir}/wine/%{winesodir}/spoolss.dll.so +%{_libdir}/wine/%{winesodir}/wintab32.dll.so +%{_libdir}/wine/%{winesodir}/wintrust.dll.so +%{_libdir}/wine/%{winesodir}/wintypes.dll.so +%{_libdir}/wine/%{winesodir}/winusb.dll.so +%{_libdir}/wine/%{winesodir}/wlanapi.dll.so +%{_libdir}/wine/%{winesodir}/wlanui.dll.so +%{_libdir}/wine/%{winesodir}/wmphoto.dll.so +%{_libdir}/wine/%{winesodir}/wnaspi32.dll.so +%{_libdir}/wine/%{winesodir}/wofutil.dll.so +%{_libdir}/wine/%{winesodir}/wpc.dll.so +%{_libdir}/wine/%{winesodir}/wpcap.dll.so +%{_libdir}/wine/%{winesodir}/ws2_32.dll.so +%{_libdir}/wine/%{winesodir}/wsdapi.dll.so +%{_libdir}/wine/%{winesodir}/wshom.ocx.so +%{_libdir}/wine/%{winesodir}/wsnmp32.dll.so +%{_libdir}/wine/%{winesodir}/wsock32.dll.so +%{_libdir}/wine/%{winesodir}/wtsapi32.dll.so +%{_libdir}/wine/%{winesodir}/wuapi.dll.so +%{_libdir}/wine/%{winesodir}/wuaueng.dll.so +%{_libdir}/wine/%{winesodir}/wineps.drv.so +%{_libdir}/wine/%{winesodir}/d3d8.dll.so +%{_libdir}/wine/%{winesodir}/d3d8thk.dll.so +%{_libdir}/wine/%{winesodir}/d3d9.dll.so +%{_libdir}/wine/%{winesodir}/dnsapi.dll.so +%{_libdir}/wine/%{winesodir}/iexplore.exe.so +%{_libdir}/wine/%{winesodir}/xcopy.exe.so +%{_libdir}/wine/%{winesodir}/x3daudio1_0.dll.so +%{_libdir}/wine/%{winesodir}/x3daudio1_1.dll.so +%{_libdir}/wine/%{winesodir}/x3daudio1_2.dll.so +%{_libdir}/wine/%{winesodir}/x3daudio1_3.dll.so +%{_libdir}/wine/%{winesodir}/x3daudio1_4.dll.so +%{_libdir}/wine/%{winesodir}/x3daudio1_5.dll.so +%{_libdir}/wine/%{winesodir}/x3daudio1_6.dll.so +%{_libdir}/wine/%{winesodir}/x3daudio1_7.dll.so +%{_libdir}/wine/%{winesodir}/xactengine2_0.dll.so +%{_libdir}/wine/%{winesodir}/xactengine2_4.dll.so +%{_libdir}/wine/%{winesodir}/xactengine2_7.dll.so +%{_libdir}/wine/%{winesodir}/xactengine2_9.dll.so +%{_libdir}/wine/%{winesodir}/xactengine3_0.dll.so +%{_libdir}/wine/%{winesodir}/xactengine3_1.dll.so +%{_libdir}/wine/%{winesodir}/xactengine3_2.dll.so +%{_libdir}/wine/%{winesodir}/xactengine3_3.dll.so +%{_libdir}/wine/%{winesodir}/xactengine3_4.dll.so +%{_libdir}/wine/%{winesodir}/xactengine3_5.dll.so +%{_libdir}/wine/%{winesodir}/xactengine3_6.dll.so +%{_libdir}/wine/%{winesodir}/xactengine3_7.dll.so +%{_libdir}/wine/%{winesodir}/xapofx1_1.dll.so +%{_libdir}/wine/%{winesodir}/xapofx1_2.dll.so +%{_libdir}/wine/%{winesodir}/xapofx1_3.dll.so +%{_libdir}/wine/%{winesodir}/xapofx1_4.dll.so +%{_libdir}/wine/%{winesodir}/xapofx1_5.dll.so +%{_libdir}/wine/%{winesodir}/xaudio2_0.dll.so +%{_libdir}/wine/%{winesodir}/xaudio2_1.dll.so +%{_libdir}/wine/%{winesodir}/xaudio2_2.dll.so +%{_libdir}/wine/%{winesodir}/xaudio2_3.dll.so +%{_libdir}/wine/%{winesodir}/xaudio2_4.dll.so +%{_libdir}/wine/%{winesodir}/xaudio2_5.dll.so +%{_libdir}/wine/%{winesodir}/xaudio2_6.dll.so +%{_libdir}/wine/%{winesodir}/xaudio2_7.dll.so +%{_libdir}/wine/%{winesodir}/xaudio2_8.dll.so +%{_libdir}/wine/%{winesodir}/xaudio2_9.dll.so +%{_libdir}/wine/%{winesodir}/xinput1_1.dll.so +%{_libdir}/wine/%{winesodir}/xinput1_2.dll.so +%{_libdir}/wine/%{winesodir}/xinput1_3.dll.so +%{_libdir}/wine/%{winesodir}/xinput1_4.dll.so +%{_libdir}/wine/%{winesodir}/xinput9_1_0.dll.so +%{_libdir}/wine/%{winesodir}/xinputuap.dll.so +%{_libdir}/wine/%{winesodir}/xmllite.dll.so +%{_libdir}/wine/%{winesodir}/xolehlp.dll.so +%{_libdir}/wine/%{winesodir}/xpsprint.dll.so +%{_libdir}/wine/%{winesodir}/xpssvcs.dll.so +%endif + +%files filesystem +%doc COPYING.LIB +%dir %{_datadir}/wine +%dir %{_datadir}/wine/gecko +%dir %{_datadir}/wine/mono +%dir %{_datadir}/wine/fonts +%{_datadir}/wine/wine.inf +%{_datadir}/wine/nls/ + +%files common +%{_bindir}/notepad +%{_bindir}/winedbg +%{_bindir}/winefile +%{_bindir}/winemine +%{_bindir}/winemaker +%{_bindir}/winepath +%{_bindir}/msiexec +%{_bindir}/regedit +%{_bindir}/regsvr32 +%{_bindir}/wineboot +%{_bindir}/wineconsole +%{_bindir}/winecfg +%{_mandir}/man1/wine.1* +%{_mandir}/man1/wineserver.1* +%{_mandir}/man1/msiexec.1* +%{_mandir}/man1/notepad.1* +%{_mandir}/man1/regedit.1* +%{_mandir}/man1/regsvr32.1* +%{_mandir}/man1/wineboot.1* +%{_mandir}/man1/winecfg.1* +%{_mandir}/man1/wineconsole.1* +%{_mandir}/man1/winefile.1* +%{_mandir}/man1/winemine.1* +%{_mandir}/man1/winepath.1* +%lang(de) %{_mandir}/de.UTF-8/man1/wine.1* +%lang(de) %{_mandir}/de.UTF-8/man1/wineserver.1* +%lang(fr) %{_mandir}/fr.UTF-8/man1/wine.1* +%lang(fr) %{_mandir}/fr.UTF-8/man1/wineserver.1* +%lang(pl) %{_mandir}/pl.UTF-8/man1/wine.1* + +%files fonts +# meta package + +%if 0%{?wine_staging} +%files arial-fonts +%doc COPYING.LIB +%{_datadir}/wine/fonts/arial* +%endif +#0%%{?wine_staging} + +%files courier-fonts +%doc COPYING.LIB +%{_datadir}/wine/fonts/cou* + +%files fixedsys-fonts +%doc COPYING.LIB +%{_datadir}/wine/fonts/*vgafix.fon + +%files system-fonts +%doc COPYING.LIB +%{_datadir}/wine/fonts/cvgasys.fon +%{_datadir}/wine/fonts/hvgasys.fon +%{_datadir}/wine/fonts/jvgasys.fon +%{_datadir}/wine/fonts/svgasys.fon +%{_datadir}/wine/fonts/vgas1255.fon +%{_datadir}/wine/fonts/vgas1256.fon +%{_datadir}/wine/fonts/vgas1257.fon +%{_datadir}/wine/fonts/vgas874.fon +%{_datadir}/wine/fonts/vgasys.fon +%{_datadir}/wine/fonts/vgasyse.fon +%{_datadir}/wine/fonts/vgasysg.fon +%{_datadir}/wine/fonts/vgasysr.fon +%{_datadir}/wine/fonts/vgasyst.fon + +%files small-fonts +%doc COPYING.LIB +%{_datadir}/wine/fonts/sma* +%{_datadir}/wine/fonts/jsma* + +%files marlett-fonts +%doc COPYING.LIB +%{_datadir}/wine/fonts/marlett.ttf + +%files ms-sans-serif-fonts +%doc COPYING.LIB +%{_datadir}/wine/fonts/sse* +%if 0%{?wine_staging} +%{_datadir}/wine/fonts/msyh.ttf +%endif + +%files tahoma-fonts +%doc COPYING.LIB +%{_datadir}/wine/fonts/tahoma*ttf + +%files tahoma-fonts-system +%doc README-tahoma +%{_datadir}/fonts/wine-tahoma-fonts +%{_fontconfig_confdir}/20-wine-tahoma*conf +%{_fontconfig_templatedir}/20-wine-tahoma*conf + +%if 0%{?wine_staging} +%files times-new-roman-fonts +%doc COPYING.LIB +%{_datadir}/wine/fonts/times.ttf + +%files times-new-roman-fonts-system +%{_datadir}/fonts/wine-times-new-roman-fonts +%endif + +%files symbol-fonts +%doc COPYING.LIB +%{_datadir}/wine/fonts/symbol.ttf + +%files webdings-fonts +%doc COPYING.LIB +%{_datadir}/wine/fonts/webdings.ttf + +%files wingdings-fonts +%doc COPYING.LIB +%{_datadir}/wine/fonts/wingding.ttf + +%files wingdings-fonts-system +%{_datadir}/fonts/wine-wingdings-fonts + +%files desktop +%{_datadir}/applications/wine-notepad.desktop +%{_datadir}/applications/wine-winefile.desktop +%{_datadir}/applications/wine-winemine.desktop +%{_datadir}/applications/wine-mime-msi.desktop +%{_datadir}/applications/wine.desktop +%{_datadir}/applications/wine-regedit.desktop +%{_datadir}/applications/wine-uninstaller.desktop +%{_datadir}/applications/wine-winecfg.desktop +%{_datadir}/applications/wine-wineboot.desktop +%{_datadir}/applications/wine-winhelp.desktop +%{_datadir}/applications/wine-wordpad.desktop +%{_datadir}/applications/wine-oleview.desktop +%{_datadir}/desktop-directories/Wine.directory +%config %{_sysconfdir}/xdg/menus/applications-merged/wine.menu +%{_metainfodir}/%{name}.appdata.xml +%{_datadir}/icons/hicolor/scalable/apps/*svg + +%files systemd +%config %{_binfmtdir}/wine.conf + +# ldap subpackage +%files ldap +%{_libdir}/wine/%{winepedir}/wldap32.dll +%ifarch %{arm} +%{_libdir}/wine/%{winesodir}/wldap32.dll.so +%endif + +# cms subpackage +%files cms +%{_libdir}/wine/%{winepedir}/mscms.dll +%ifarch %{arm} +%{_libdir}/wine/%{winesodir}/mscms.dll.so +%endif + +# twain subpackage +%files twain +%{_libdir}/wine/%{winepedir}/twain_32.dll +%ifarch %{arm} +%{_libdir}/wine/%{winesodir}/twain_32.dll.so +%endif +%{_libdir}/wine/%{winepedir}/sane.ds +%ifarch %{arm} +%{_libdir}/wine/%{winesodir}/sane.ds.so +%endif +%{_libdir}/wine/%{winesodir}/sane.so + +%files devel +%{_bindir}/function_grep.pl +%{_bindir}/widl +%{_bindir}/winebuild +%{_bindir}/winecpp +%{_bindir}/winedump +%{_bindir}/wineg++ +%{_bindir}/winegcc +%{_bindir}/winemaker +%{_bindir}/wmc +%{_bindir}/wrc +%{_mandir}/man1/widl.1* +%{_mandir}/man1/winebuild.1* +%{_mandir}/man1/winecpp.1* +%{_mandir}/man1/winedump.1* +%{_mandir}/man1/winegcc.1* +%{_mandir}/man1/winemaker.1* +%{_mandir}/man1/wmc.1* +%{_mandir}/man1/wrc.1* +%{_mandir}/man1/winedbg.1* +%{_mandir}/man1/wineg++.1* +%lang(de) %{_mandir}/de.UTF-8/man1/winemaker.1* +%lang(fr) %{_mandir}/fr.UTF-8/man1/winemaker.1* +%attr(0755, root, root) %dir %{_includedir}/wine +%{_includedir}/wine/* +%ifarch %{ix86} x86_64 aarch64 +%{_libdir}/wine/%{winepedir}/*.a +%endif +%ifarch %{ix86} x86_64 +%{_libdir}/wine/%{winesodir}/*.a +%endif + + +%files pulseaudio +%{_libdir}/wine/%{winepedir}/winepulse.drv +%{_libdir}/wine/%{winesodir}/winepulse.so +%ifarch %{arm} +%{_libdir}/wine/%{winesodir}/winepulse.drv.so +%endif + +%files alsa +%{_libdir}/wine/%{winepedir}/winealsa.drv +%{_libdir}/wine/%{winesodir}/winealsa.so +%ifarch %{arm} +%{_libdir}/wine/%{winesodir}/winealsa.drv.so +%endif + +%if 0%{?fedora} +%files opencl +%{_libdir}/wine/%{winepedir}/opencl.dll +%ifarch %{arm} +%{_libdir}/wine/%{winesodir}/opencl.dll.so +%endif +%{_libdir}/wine/%{winesodir}/opencl.so +%endif + +%changelog +* Mon Jan 29 2024 Michael Cronenworth - 9.1-1 +- version update + +* Thu Jan 25 2024 Michael Cronenworth - 9.0-3 +- Revert smartcard subpackage (RHBZ#2259936) + +* Fri Jan 19 2024 Michael Cronenworth - 9.0-2 +- Add smartcard subpackage (RHBZ#2259198) + +* Tue Jan 16 2024 Michael Cronenworth - 9.0-1 +- version update + +* Mon Oct 30 2023 Michael Cronenworth - 8.19-1 +- version update + +* Sun Oct 15 2023 Michael Cronenworth - 8.18-1 +- version update + +* Sun Oct 01 2023 Michael Cronenworth - 8.17-1 +- version update + +* Tue Aug 22 2023 Michael Cronenworth - 8.14-1 +- version update + +* Thu Aug 17 2023 Michael Cronenworth - 8.13-1 +- version update + +* Sat Jul 22 2023 Fedora Release Engineering - 8.12-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Mon Jul 10 2023 Michael Cronenworth - 8.12-1 +- version update + +* Sun Jun 25 2023 Michael Cronenworth - 8.11-1 +- version update + +* Wed Apr 19 2023 Michael Cronenworth - 8.6-1 +- version update + +* Sat Apr 01 2023 Michael Cronenworth - 8.5-1 +- version update + +* Tue Mar 21 2023 Michael Cronenworth - 8.4-1 +- version update + +* Wed Feb 22 2023 Michael Cronenworth - 8.2-3 +- fix missing requires for win-iconv + +* Tue Feb 21 2023 Michael Cronenworth - 8.2-2 +- fix missing requires for libjpeg and libtiff + +* Mon Feb 20 2023 Michael Cronenworth - 8.2-1 +- version update + +* Mon Feb 06 2023 Michael Cronenworth - 8.1-1 +- version update + +* Tue Jan 24 2023 Michael Cronenworth - 8.0-1 +- version update + +* Sat Jan 21 2023 Fedora Release Engineering - 8.0-0.rc4.1.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Mon Jan 16 2023 Michael Cronenworth - 8.0-0.rc4.1 +- version update + +* Mon Nov 28 2022 Michael Cronenworth - 7.22-2 +- fix typo in openal obsoletes + +* Sun Nov 27 2022 Michael Cronenworth - 7.22-1 +- version update +- drop openal package + +* Mon Oct 31 2022 Michael Cronenworth - 7.20-1 +- version update + +* Mon Oct 24 2022 Michael Cronenworth - 7.19-1 +- version update + +* Thu Oct 13 2022 Michael Cronenworth - 7.18-2 +- Require MinGW FAudio + +* Tue Oct 11 2022 Michael Cronenworth - 7.18-1 +- version update +- Drop isdn4k-utils from Recommends + +* Sat Jul 23 2022 Fedora Release Engineering - 7.12-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Thu Jul 14 2022 Michael Cronenworth - 7.12-2 +- Requires on vkd3d + +* Tue Jul 05 2022 Michael Cronenworth - 7.12-1 +- versuon update +- Unbundle vkd3d + +* Wed Jun 22 2022 Michael Cronenworth - 7.11-1 +- version update + +* Mon Jun 06 2022 Michael Cronenworth - 7.10-2 +- Require new Mono + +* Mon Jun 06 2022 Michael Cronenworth - 7.10-1 +- version update + +* Mon May 23 2022 Michael Cronenworth - 7.9-1 +- version update + +* Tue Mar 29 2022 Michael Cronenworth - 7.5-1 +- version update +- drop 32-bit ARM +- require on Fedora MinGW dependencies + +* Fri Mar 25 2022 Sandro Mani - 7.3-2 +- Rebuild with mingw-gcc-12 + +* Fri Mar 11 2022 Michael Cronenworth - 7.3-1 +- version update + +* Sun Feb 13 2022 Björn Esser - 7.2-1 +- version update + +* Mon Jan 31 2022 Björn Esser - 7.1-2 +- Revert to wine-mono 7.0.0 + +* Sat Jan 29 2022 Björn Esser - 7.1-1 +- version update + +* Sat Jan 22 2022 Fedora Release Engineering - 7.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Wed Jan 19 2022 Björn Esser - 7.0-1 +- version update + +* Sat Jan 15 2022 Björn Esser - 7.0-0.6rc6 +- version update + +* Sun Jan 09 2022 Björn Esser - 7.0-0.5rc5 +- version update + +* Mon Jan 03 2022 Michael Cronenworth 7.0-0.4rc4 +- version update + +* Mon Jan 03 2022 FeRD (Frank Dana) 7.0-0.3rc3 +- Silence messages from expected failures during rpm scriptlets + +* Mon Dec 27 2021 Björn Esser - 7.0-0.2rc3 +- version update + +* Mon Dec 20 2021 Michael Cronenworth 7.0-0.1rc2 +- version update + +* Wed Nov 10 2021 Michael Cronenworth 6.21-1 +- version update + +* Mon Oct 04 2021 Michael Cronenworth 6.18-1 +- version update + +* Mon Aug 30 2021 Michael Cronenworth 6.16-1 +- version update + +* Wed Jul 07 2021 Michael Cronenworth 6.12-1 +- version update + +* Sat Jun 19 2021 Michael Cronenworth 6.11-1 +- version update + +* Mon Jun 07 2021 Michael Cronenworth 6.10-1 +- version update + +* Mon May 24 2021 Michael Cronenworth 6.9-1 +- version update + +* Sat May 08 2021 Michael Cronenworth 6.8-1 +- version update + +* Sat Apr 24 2021 Michael Cronenworth 6.7-1 +- version update + +* Sun Apr 11 2021 Michael Cronenworth 6.6-1 +- version update + +* Mon Mar 15 2021 Michael Cronenworth 6.4-1 +- version update + +* Sat Feb 27 2021 Michael Cronenworth 6.3-1 +- version update + +* Sat Feb 13 2021 Michael Cronenworth 6.2-1 +- version update + +* Mon Feb 01 2021 Michael Cronenworth 6.1-1 +- version update + +* Wed Jan 27 2021 Fedora Release Engineering - 6.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Thu Jan 14 2021 Michael Cronenworth 6.0-1 +- version update + +* Sun Jan 10 2021 Michael Cronenworth 6.0-0.6rc6 +- version update + +* Thu Jan 07 2021 Michael Cronenworth 6.0-0.5rc5 +- version update + +* Sat Dec 26 2020 Michael Cronenworth 6.0-0.4rc4 +- version update + +* Sat Dec 19 2020 Michael Cronenworth 6.0-0.3rc3 +- version update + +* Sat Dec 12 2020 Michael Cronenworth 6.0-0.2rc2 +- version update + +* Tue Dec 08 2020 Michael Cronenworth 6.0-0.1rc1 +- version update + diff --git a/wine32/wine.systemd b/wine32/wine.systemd new file mode 100644 index 000000000..537dd898b --- /dev/null +++ b/wine32/wine.systemd @@ -0,0 +1,5 @@ +# Pre-PE Windows Executables +:windows:M::MZ::/usr/bin/wine: + +# PE Windows Executables +:windowsPE:M::PE::/usr/bin/wine: