commit 88c919e5a1f3d8cc00f3125c051dc7efed9f4ba4 Author: Brandon L Date: Mon Jun 3 05:57:26 2024 -0700 update selinux-policy package to match repos diff --git a/LICENSE b/LICENSE new file mode 100644 index 000000000..17cb28643 --- /dev/null +++ b/LICENSE @@ -0,0 +1,117 @@ +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. + +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. + + one line to give the program's name and an idea of what it does. Copyright (C) yyyy name of author + + 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. + +signature of Ty Coon, 1 April 1989 Ty Coon, President of Vice diff --git a/README.md b/README.md new file mode 100644 index 000000000..34eb3fc22 --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# Oreon-Lime-R2 + +i dont like writing \ No newline at end of file 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..9134ecf26 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..1bf471051 --- /dev/null +++ b/selinux-policy/file_contexts.subs_dist @@ -0,0 +1,22 @@ +/run /var/run +/run/lock /var/lock +/run/systemd/system /usr/lib/systemd/system +/run/systemd/generator /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 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..367f29df6 --- /dev/null +++ b/selinux-policy/modules-targeted-contrib.conf @@ -0,0 +1,2714 @@ +# 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 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-bc228bd.tar.gz b/selinux-policy/selinux-policy-bc228bd.tar.gz new file mode 100644 index 000000000..8eb80ca4c Binary files /dev/null and b/selinux-policy/selinux-policy-bc228bd.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..901c9c55c --- /dev/null +++ b/selinux-policy/selinux-policy.spec @@ -0,0 +1,1585 @@ +# github repo with selinux-policy sources +%global giturl https://github.com/fedora-selinux/selinux-policy +%global commit bc228bd0c249a9e4aa3dcf238c2b1bb138943b07 +%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: 38.8 +Release: 2%{?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 + +# 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 + +%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/*/* +%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 \ +%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}/ + +# 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}-%{release}/' %{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 +%{_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 +%{_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 +%{_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 +* Fri Mar 03 2023 Zdenek Pytela - 38.8-2 +- Update make-rhat-patches.sh file to use the f38 dist-git branch in F38 + +* 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 + +* Tue Apr 26 2022 Zdenek Pytela - 36.8-1 +- Allow nm-dispatcher chronyc plugin append to init stream sockets +- Allow tmpreaper the sys_ptrace userns capability +- Label /usr/libexec/vdsm/supervdsmd and vdsmd with virtd_exec_t +- Allow nm-dispatcher tlp plugin read/write the wireless device +- Allow nm-dispatcher tlp plugin append to init socket +- Allow nm-dispatcher tlp plugin be client of a system bus +- Allow nm-dispatcher list its configuration directory +- Ecryptfs-private support +- Allow colord map /var/lib directories +- Allow ntlm_auth read the network state information +- Allow insights-client search rhnsd configuration directory + +* Thu Apr 21 2022 Zdenek Pytela - 36.7-3 +- Add support for nm-dispatcher tlp-rdw scripts +- Update github actions to satisfy git 2.36 stricter rules +- New policy for stalld +- Allow colord read generic files in /var/lib +- Allow xdm mounton user temporary socket files +- Allow systemd-gpt-auto-generator create and use netlink_kobject_uevent_socket +- Allow sssd domtrans to pkcs_slotd_t +- Allow keepalived setsched and sys_nice +- Allow xdm map generic files in /var/lib +- Allow xdm read generic symbolic links in /var/lib +- Allow pppd create a file in the locks directory +- Add file map permission to lpd_manage_spool() interface +- Allow system dbus daemon watch generic directories in /var/lib +- Allow pcscd the sys_ptrace userns capability +- Add the corecmd_watch_bin_dirs() interface + +* Thu Apr 21 2022 Zdenek Pytela - 36.7-2 +- Relabel explicitly some dirs in %posttrans scriptlets + +* Thu Apr 21 2022 Zdenek Pytela - 36.7-1 +- Add stalld module to modules-targeted-contrib.conf + +* Mon Apr 04 2022 Zdenek Pytela - 36.6-1 +- Add support for systemd-network-generator +- Add the io_uring class +- Allow nm-dispatcher dhclient plugin append to init stream sockets +- Relax the naming pattern for systemd private shared libraries +- Allow nm-dispatcher iscsid plugin append to init socket +- Add the init_append_stream_sockets() interface +- Allow nm-dispatcher dnssec-trigger script to execute pidof +- Add support for nm-dispatcher dnssec-trigger scripts +- Allow chronyd talk with unconfined user over unix domain dgram socket +- Allow fenced read kerberos key tables +- Add support for nm-dispatcher ddclient scripts +- Add systemd_getattr_generic_unit_files() interface +- Allow fprintd read and write hardware state information +- Allow exim watch generic certificate directories +- Remove duplicate fc entries for corosync and corosync-notifyd +- Label corosync-cfgtool with cluster_exec_t +- Allow qemu-kvm create and use netlink rdma sockets +- Allow logrotate a domain transition to cluster administrative domain + +* Fri Mar 18 2022 Zdenek Pytela - 36.5-1 +- Add support for nm-dispatcher console helper scripts +- Allow nm-dispatcher plugins read its directory and sysfs +- Do not let system_cronjob_t create redhat-access-insights.log with var_log_t +- devices: Add a comment about cardmgr_dev_t +- Add basic policy for BinderFS +- Label /var/run/ecblp0 pipe with cupsd_var_run_t +- Allow rpmdb create directory in /usr/lib/sysimage +- Allow rngd drop privileges via setuid/setgid/setcap +- Allow init watch and watch_reads user ttys +- Allow systemd-logind dbus chat with sosreport +- Allow chronyd send a message to sosreport over datagram socket +- Remove unnecessary /etc file transitions for insights-client +- Label all content in /var/lib/insights with insights_client_var_lib_t +- Update insights-client policy + +* Wed Feb 23 2022 Zdenek Pytela - 36.4-2 +- Add insights_client module to modules-targeted-contrib.conf + +* Wed Feb 23 2022 Zdenek Pytela - 36.4-1 +- Update NetworkManager-dispatcher cloud and chronyc policy +- Update insights-client: fc pattern, motd, writing to etc +- Allow systemd-sysctl read the security state information +- Allow init create and mounton to support PrivateDevices +- Allow sosreport dbus chat abrt systemd timedatex + +* Tue Feb 22 2022 Zdenek Pytela - 36.3-2 +- Update specfile to buildrequire policycoreutils-devel >= 3.3-4 +- Add modules_checksum to %files + +* Thu Feb 17 2022 Zdenek Pytela - 36.3-1 +- Update NetworkManager-dispatcher policy to use scripts +- Allow init mounton kernel messages device +- Revert "Make dbus-broker service working on s390x arch" +- Remove permissive domain for insights_client_t +- Allow userdomain read symlinks in /var/lib +- Allow iptables list cgroup directories +- Dontaudit mdadm list dirsrv tmpfs dirs +- Dontaudit dirsrv search filesystem sysctl directories +- Allow chage domtrans to sssd +- Allow postfix_domain read dovecot certificates +- Allow systemd-networkd create and use netlink netfilter socket +- Allow nm-dispatcher read nm-dispatcher-script symlinks +- filesystem.te: add genfscon rule for ntfs3 filesystem +- Allow rhsmcertd get attributes of cgroup filesystems +- Allow sandbox_web_client_t watch various dirs +- Exclude container.if from policy devel files +- Run restorecon on /usr/lib/sysimage/rpm instead of /var/lib/rpm + +* Fri Feb 11 2022 Zdenek Pytela - 36.2-1 +- Allow sysadm_passwd_t to relabel passwd and group files +- Allow confined sysadmin to use tool vipw +- Allow login_userdomain map /var/lib/directories +- Allow login_userdomain watch library and fonts dirs +- Allow login_userdomain watch system configuration dirs +- Allow login_userdomain read systemd runtime files +- Allow ctdb create cluster logs +- Allow alsa bind mixer controls to led triggers +- New policy for insight-client +- Add mctp_socket security class and access vectors +- Fix koji repo URL pattern +- Update chronyd_pid_filetrans() to allow create dirs +- Update NetworkManager-dispatcher policy +- Allow unconfined to run virtd bpf +- Allow nm-privhelper setsched permission and send system logs +- Add the map permission to common_anon_inode_perm permission set +- Rename userfaultfd_anon_inode_perms to common_inode_perms +- Allow confined users to use kinit,klist and etc. +- Allow rhsmcertd create rpm hawkey logs with correct label + +* Thu Feb 03 2022 Zdenek Pytela - 36.1-1 +- Label exFAT utilities at /usr/sbin +- policy/modules/contrib: Support /usr/lib/sysimage/rpm as the rpmdb path +- Enable genfs_seclabel_symlinks policy capability +- Sync policy/policy_capabilities with refpolicy +- refpolicy: drop unused socket security classes +- Label new utility of NetworkManager nm-priv-helper +- Label NetworkManager-dispatcher service with separate context +- Allow sanlock get attributes of filesystems with extended attributes +- Associate stratisd_data_t with device filesystem +- Allow init read stratis data symlinks + +* Tue Feb 01 2022 Zdenek Pytela - 35.13-1 +- Allow systemd services watch dbusd pid directory and its parents +- Allow ModemManager connect to the unconfined user domain +- Label /dev/wwan.+ with modem_manager_t +- Allow alsactl set group Process ID of a process +- Allow domtrans to sssd_t and role access to sssd +- Creating interface sssd_run_sssd() +- Label utilities for exFAT filesystems with fsadm_exec_t +- Label /dev/nvme-fabrics with fixed_disk_device_t +- Allow init delete generic tmp named pipes +- Allow timedatex dbus chat with xdm + +* Wed Jan 26 2022 Zdenek Pytela - 35.12-1 +- Fix badly indented used interfaces +- Allow domain transition to sssd_t +- Dontaudit sfcbd sys_ptrace cap_userns +- Label /var/lib/plocate with locate_var_lib_t +- Allow hostapd talk with unconfined user over unix domain dgram socket +- Allow NetworkManager talk with unconfined user over unix domain dgram socket +- Allow system_mail_t read inherited apache system content rw files +- Add apache_read_inherited_sys_content_rw_files() interface +- Allow rhsm-service execute its private memfd: objects +- Allow dirsrv read configfs files and directories +- Label /run/stratisd with stratisd_var_run_t +- Allow tumblerd write to session_dbusd tmp socket files + +* Wed Jan 19 2022 Zdenek Pytela - 35.11-1 +- Revert "Label /etc/cockpit/ws-certs.d with cert_t" +- Allow login_userdomain write to session_dbusd tmp socket files +- Label /var/run/user/%{USERID}/dbus with session_dbusd_tmp_t + +* Mon Jan 17 2022 Zdenek Pytela - 35.10-1 +- Allow login_userdomain watch systemd-machined PID directories +- Allow login_userdomain watch systemd-logind PID directories +- Allow login_userdomain watch accountsd lib directories +- Allow login_userdomain watch localization directories +- Allow login_userdomain watch various files and dirs +- Allow login_userdomain watch generic directories in /tmp +- Allow rhsm-service read/write its private memfd: objects +- Allow radiusd connect to the radacct port +- Allow systemd-io-bridge ioctl rpm_script_t +- Allow systemd-coredump userns capabilities and root mounton +- Allow systemd-coredump read and write usermodehelper state +- Allow login_userdomain create session_dbusd tmp socket files +- Allow gkeyringd_domain write to session_dbusd tmp socket files +- Allow systemd-logind delete session_dbusd tmp socket files +- Allow gdm-x-session write to session dbus tmp sock files +- Label /etc/cockpit/ws-certs.d with cert_t +- Allow kpropd get attributes of cgroup filesystems +- Allow administrative users the bpf capability +- Allow sysadm_t start and stop transient services +- Connect triggerin to pcre2 instead of pcre + +* Wed Jan 12 2022 Zdenek Pytela - 35.9-1 +- Allow sshd read filesystem sysctl files +- Revert "Allow sshd read sysctl files" +- Allow tlp read its systemd unit +- Allow gssproxy access to various system files. +- Allow gssproxy read, write, and map ica tmpfs files +- Allow gssproxy read and write z90crypt device +- Allow sssd_kcm read and write z90crypt device +- Allow smbcontrol read the network state information +- Allow virt_domain map vhost devices +- Allow fcoemon request the kernel to load a module +- Allow sshd read sysctl files +- Ensure that `/run/systemd/*` are properly labeled +- Allow admin userdomains use socketpair() +- Change /run/user/[0-9]+ to /run/user/%{USERID} for proper labeling +- Allow lldpd connect to snmpd with a unix domain stream socket +- Dontaudit pkcsslotd sys_admin capability + +* Thu Dec 23 2021 Zdenek Pytela - 35.8-1 +- Allow haproxy get attributes of filesystems with extended attributes +- Allow haproxy get attributes of cgroup filesystems +- Allow sysadm execute sysadmctl in sysadm_t domain using sudo +- Allow userdomains use pam_ssh_agent_auth for passwordless sudo +- Allow sudodomains execute passwd in the passwd domain +- Allow braille printing in selinux +- Allow sandbox_xserver_t map sandbox_file_t +- Label /dev/ngXnY and /dev/nvme-subsysX with fixed_disk_device_t +- Add hwtracing_device_t type for hardware-level tracing and debugging +- Label port 9528/tcp with openqa_liveview +- Label /var/lib/shorewall6-lite with shorewall_var_lib_t +- Document Security Flask model in the policy + +* Fri Dec 10 2021 Zdenek Pytela - 35.7-1 +- Allow systemd read unlabeled symbolic links +- Label abrt-action-generate-backtrace with abrt_handle_event_exec_t +- Allow dnsmasq watch /etc/dnsmasq.d directories +- Allow rhsmcertd get attributes of tmpfs_t filesystems +- Allow lldpd use an snmp subagent over a tcp socket +- Allow xdm watch generic directories in /var/lib +- Allow login_userdomain open/read/map system journal +- Allow sysadm_t connect to cluster domains over a unix stream socket +- Allow sysadm_t read/write pkcs shared memory segments +- Allow sysadm_t connect to sanlock over a unix stream socket +- Allow sysadm_t dbus chat with sssd +- Allow sysadm_t set attributes on character device nodes +- Allow sysadm_t read and write watchdog devices +- Allow smbcontrol use additional socket types +- Allow cloud-init dbus chat with systemd-logind +- Allow svnserve send mail from the system +- Update userdom_exec_user_tmp_files() with an entrypoint rule +- Allow sudodomain send a null signal to sshd processes + +* Fri Nov 19 2021 Zdenek Pytela - 35.6-1 +- Allow PID 1 and dbus-broker IPC with a systemd user session +- Allow rpmdb read generic SSL certificates +- Allow rpmdb read admin home config files +- Report warning on duplicate definition of interface +- Allow redis get attributes of filesystems with extended attributes +- Allow sysadm_t dbus chat with realmd_t +- Make cupsd_lpd_t a daemon +- Allow tlp dbus-chat with NetworkManager +- filesystem: add fs_use_trans for ramfs +- Allow systemd-logind destroy unconfined user's IPC objects + +* Thu Nov 04 2021 Zdenek Pytela - 35.5-1 +- Support sanlock VG automated recovery on storage access loss 2/2 +- Support sanlock VG automated recovery on storage access loss 1/2 +- Revert "Support sanlock VG automated recovery on storage access loss" +- Allow tlp get service units status +- Allow fedora-third-party manage 3rd party repos +- Allow xdm_t nnp_transition to login_userdomain +- Add the auth_read_passwd_file() interface +- Allow redis-sentinel execute a notification script +- Allow fetchmail search cgroup directories +- Allow lvm_t to read/write devicekit disk semaphores +- Allow devicekit_disk_t to use /dev/mapper/control +- Allow devicekit_disk_t to get IPC info from the kernel +- Allow devicekit_disk_t to read systemd-logind pid files +- Allow devicekit_disk_t to mount filesystems on mnt_t directories +- Allow devicekit_disk_t to manage mount_var_run_t files +- Allow rasdaemon sys_admin capability to verify the CAP_SYS_ADMIN of the soft_offline_page function implemented in the kernel +- Use $releasever in koji repo to reduce rawhide hardcoding +- authlogin: add fcontext for tcb +- Add erofs as a SELinux capable file system +- Allow systemd execute user bin files +- Support sanlock VG automated recovery on storage access loss +- Support new PING_CHECK health checker in keepalived + +* Wed Oct 20 2021 Zdenek Pytela - 35.4-1 +- Allow fedora-third-party map generic cache files +- Add gnome_map_generic_cache_files() interface +- Add files_manage_var_lib_dirs() interface +- Allow fedora-third party manage gpg keys +- Allow fedora-third-party run "flatpak remote-add --from flathub" + +* Tue Oct 19 2021 Zdenek Pytela - 35.3-1 +- Allow fedora-third-party run flatpak post-install actions +- Allow fedora-third-party set_setsched and sys_nice + +* Mon Oct 18 2021 Zdenek Pytela - 35.2-1 +- Allow fedora-third-party execute "flatpak remote-add" +- Add files_manage_var_lib_files() interface +- Add write permisson to userfaultfd_anon_inode_perms +- Allow proper function sosreport via iotop +- Allow proper function sosreport in sysadmin role +- Allow fedora-third-party to connect to the system log service +- Allow fedora-third-party dbus chat with policykit +- Allow chrony-wait service start with DynamicUser=yes +- Allow management of lnk_files if similar access to regular files +- Allow unconfined_t transition to mozilla_plugin_t with NoNewPrivileges +- Allow systemd-resolved watch /run/systemd +- Allow fedora-third-party create and use unix_dgram_socket +- Removing pkcs_tmpfs_filetrans interface and edit pkcs policy files +- Allow login_userdomain named filetrans to pkcs_slotd_tmpfs_t domain + +* Thu Oct 07 2021 Zdenek Pytela - 35.1-1 +- Add fedoratp module +- Allow xdm_t domain transition to fedoratp_t +- Allow ModemManager create and use netlink route socket +- Add default file context for /run/gssproxy.default.sock +- Allow xdm_t watch fonts directories +- Allow xdm_t watch generic directories in /lib +- Allow xdm_t watch generic pid directories 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/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: