update selinux-policy package to match repos

This commit is contained in:
Brandon Lester 2024-06-03 05:57:26 -07:00
commit 88c919e5a1
215 changed files with 24719 additions and 0 deletions

117
LICENSE Normal file
View file

@ -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

3
README.md Normal file
View file

@ -0,0 +1,3 @@
# Oreon-Lime-R2
i dont like writing

Binary file not shown.

View file

@ -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"

View file

@ -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")

View file

@ -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()

View file

@ -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 */

View file

@ -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

427
anaconda/anaconda.spec Normal file
View file

@ -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 <blester@deblast.com> - 9
- Added to OLR2 Repos
* Sun May 12 2024 Brandon Lester <blester@deblast.com>
- Update package and push to OLR2 repo

BIN
arcmenu/arc-menu-27.zip Normal file

Binary file not shown.

82
arcmenu/arcmenu.spec Normal file
View file

@ -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}

View file

@ -0,0 +1,26 @@
From 822b732fd31ffcb78f6920001e9b1fbd815fa712 Mon Sep 17 00:00:00 2001
From: Wim Taymans <wtaymans@redhat.com>
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);
}

View file

@ -0,0 +1,21 @@
From 941774c8c0e79007196d7f1e7afdc97689f869b3 Mon Sep 17 00:00:00 2001
From: Wim Taymans <wtaymans@redhat.com>
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;
}

View file

@ -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));

View file

@ -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 <stdint.h>
#include <stdio.h>
#include <stdlib.h>
+#include <limits.h>
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<misccount; i++)
@@ -159,13 +164,16 @@ static char *copyrightstring (AFfilehandle file)
If this code executes, the miscellaneous chunk is a
copyright chunk.
*/
- int datasize = afGetMiscSize(file, miscids[i]);
- char *data = (char *) malloc(datasize);
+ size_t datasize = afGetMiscSize(file, miscids[i]);
+ if(datasize >= 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;

View file

@ -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<Format>::UnsignedType UnsignedType;
static const int kScaleBits = (Format + 1) * CHAR_BIT - 1;
- static const int kMinSignedValue = -1 << kScaleBits;
+ static const int kMinSignedValue = 0-(1U<<kScaleBits);
struct signedToUnsigned : public std::unary_function<SignedType, UnsignedType>
{
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;

View file

@ -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
};

View file

@ -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<blocksRead; i++)
{
- decodeBlock(static_cast<const uint8_t *>(m_inChunk->buffer) + i * m_bytesPerPacket,
- static_cast<int16_t *>(m_outChunk->buffer) + i * m_framesPerPacket * m_track->f.channelCount);
+ if (decodeBlock(static_cast<const uint8_t *>(m_inChunk->buffer) + i * m_bytesPerPacket,
+ static_cast<int16_t *>(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<int16_t>(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;

View file

@ -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; n<m_framesPerPacket; n+=2)

View file

@ -0,0 +1,31 @@
diff -Nur audiofile-0.3.6/libaudiofile/modules/BlockCodec.cpp audiofile-0.3.6-pull44/libaudiofile/modules/BlockCodec.cpp
--- audiofile-0.3.6/libaudiofile/modules/BlockCodec.cpp 2013-03-06 06:30:03.000000000 +0100
+++ audiofile-0.3.6-pull44/libaudiofile/modules/BlockCodec.cpp 2017-03-09 10:21:18.000000000 +0100
@@ -47,7 +47,7 @@
// Read the compressed data.
ssize_t bytesRead = read(m_inChunk->buffer, 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; i<blocksRead; i++)
diff -Nur audiofile-0.3.6/libaudiofile/WAVE.cpp audiofile-0.3.6-pull44/libaudiofile/WAVE.cpp
--- audiofile-0.3.6/libaudiofile/WAVE.cpp 2013-03-06 06:30:03.000000000 +0100
+++ audiofile-0.3.6-pull44/libaudiofile/WAVE.cpp 2017-03-09 10:21:18.000000000 +0100
@@ -326,6 +326,7 @@
{
_af_error(AF_BAD_NOT_IMPLEMENTED,
"IMA ADPCM compression supports only 4 bits per sample");
+ return AF_FAIL;
}
int bytesPerBlock = (samplesPerBlock + 14) / 8 * 4 * channelCount;
@@ -333,6 +334,7 @@
{
_af_error(AF_BAD_CODEC_CONFIG,
"Invalid samples per block for IMA ADPCM compression");
+ return AF_FAIL;
}
track->f.sampleWidth = 16;

Binary file not shown.

388
audiofile/audiofile.spec Normal file
View file

@ -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 <gwync@protonmail.com> - 1:0.3.6-36
Patch for CVE-2022-24599
* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1:0.3.6-35
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Thu Mar 02 2023 Gwyn Ciesla <gwync@protonmail.com> - 1:0.3.6-34
- migrated to SPDX license
* Wed Jan 18 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1:0.3.6-33
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Tue Sep 13 2022 Michel Alexandre Salim <salimma@fedoraproject.org> - 1:0.3.6-32
- Rebuilt for flac 1.4.0
* Wed Jul 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1:0.3.6-31
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Wed Jan 19 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1:0.3.6-30
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1:0.3.6-29
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Thu May 27 2021 Gwyn Ciesla <gwync@protonmail.com> - 1:0.3.6-28
- Disable RPATH.
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1:0.3.6-27
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Mon Jan 04 2021 Timm Bäder <tbaeder@redhat.com> - 1:0.3.6-26
- Fix a integer overflow warning with gcc and error with clang
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1:0.3.6-25
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1:0.3.6-24
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1:0.3.6-23
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1:0.3.6-22
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Tue Oct 09 2018 Gwyn Ciesla <limburgher@gmail.com> - 1:0.3.6-21
- Fixes for CVE-2018-13440.
* Tue Oct 09 2018 Gwyn Ciesla <limburgher@gmail.com> - 1:0.3.6-20
- Fix for CVE-2018-17095.
* Mon Aug 13 2018 Leigh Scott <leigh123linux@googlemail.com> - 1:0.3.6-19
- Fix build
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1:0.3.6-18
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Fri Feb 09 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 1:0.3.6-17
- Escape macros in %%changelog
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1:0.3.6-16
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1:0.3.6-15
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1:0.3.6-14
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Sun Mar 12 2017 Michael Schwendt <mschwendt@fedoraproject.org> - 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 <releng@fedoraproject.org> - 1:0.3.6-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Wed Feb 3 2016 Michael Schwendt <mschwendt@fedoraproject.org> - 1:0.3.6-11
- patch to compile with GCC 6
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1:0.3.6-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Thu Oct 8 2015 Michael Schwendt <mschwendt@fedoraproject.org> - 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 <rel-eng@lists.fedoraproject.org> - 1:0.3.6-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Sat May 02 2015 Kalev Lember <kalevlember@gmail.com> - 1:0.3.6-7
- Rebuilt for GCC 5 C++11 ABI change
* Wed Feb 11 2015 Michael Schwendt <mschwendt@fedoraproject.org> - 1:0.3.6-6
- BR flac-devel for FLAC support introduced in 0.3.6.
* Tue Feb 10 2015 Michael Schwendt <mschwendt@fedoraproject.org> - 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 <rel-eng@lists.fedoraproject.org> - 1:0.3.6-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:0.3.6-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:0.3.6-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Thu Mar 07 2013 Adam Jackson <ajax@redhat.com> 0.3.6-1
- audiofile 0.3.6
* Wed Feb 06 2013 Adam Jackson <ajax@redhat.com> 0.3.5-1
- audiofile 0.3.5
* Wed Oct 10 2012 Bastien Nocera <bnocera@redhat.com> 0.3.4-1
- Update to 0.3.4
* Wed Jul 18 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:0.2.7-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
* Thu Jan 12 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:0.2.7-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
* Mon Feb 07 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:0.2.7-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
* Mon Mar 22 2010 Bastien Nocera <bnocera@redhat.com> 0.2.7-1
- Update to 0.2.7
* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:0.2.6-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
* Mon Feb 23 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:0.2.6-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
* Mon Jul 14 2008 Tom "spot" Callaway <tcallawa@redhat.com> - 1:0.2.6-9
- fix license tag
* Mon Feb 18 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 1:0.2.6-8
- Autorebuild for GCC 4.3
* Fri Aug 24 2007 Adam Jackson <ajax@redhat.com> - 1:0.2.6-7
- Rebuild for build ID
* Sat Feb 3 2007 Matthias Clasen <mclasen@redhat.com> - 1:0.2.6-6
- Corrections from package review
* Thu Jul 27 2006 Matthias Clasen <mclasen@redhat.com> - 1:0.2.6-5
- Fix multilib conflicts
- Don't ship static libraries
* Wed Jul 12 2006 Jesse Keating <jkeating@redhat.com> - 1:0.2.6-4.1
- rebuild
* Mon Apr 17 2006 John (J5) Palmieri <johnp@redhat.com> - 1:0.2.6-4
- Remove Makefile* from docs so they are not installed
* Fri Mar 24 2006 Matthias Clasen <mclasen@redhat.com> - 1:0.2.6-3
- Reduce memory consumption by making data tables const
* Fri Feb 10 2006 Jesse Keating <jkeating@redhat.com> - 1:0.2.6-2.2.1
- bump again for double-long bug on ppc(64)
* Tue Feb 07 2006 Jesse Keating <jkeating@redhat.com> - 1:0.2.6-2.2
- rebuilt for new gcc4.1 snapshot and glibc changes
* Fri Dec 09 2005 Jesse Keating <jkeating@redhat.com> - 0.2.6-2.1
- rebuilt
* Thu Mar 17 2005 John (J5) Palmieri <johnp@redhat.com> - 0.2.6-2
- rebuild for gcc 4.0
* Fri Jul 30 2004 Colin Walters <walters@redhat.com>
- Update to 0.2.6
- Rework description to not contain apostrophe that
makes emacs unhappy
* Thu Jul 15 2004 Tim Waugh <twaugh@redhat.com>
- Fixed warnings in shipped m4 file.
* Tue Jun 15 2004 Elliot Lee <sopwith@redhat.com>
- rebuilt
* Tue Mar 02 2004 Elliot Lee <sopwith@redhat.com>
- rebuilt
* Wed Feb 25 2004 Alexander Larsson <alexl@redhat.com> 1:0.2.5-1
- update to 0.2.5
* Fri Feb 13 2004 Elliot Lee <sopwith@redhat.com>
- rebuilt
* Sun Jun 8 2003 Tim Powers <timp@redhat.com> 1:0.2.3-7.1
- rebuild for RHEL
* Wed Jun 04 2003 Elliot Lee <sopwith@redhat.com>
- rebuilt
* Tue Jun 3 2003 Jeff Johnson <jbj@redhat.com>
- add explicit epoch's where needed.
* Mon Feb 10 2003 Bill Nottingham <notting@redhat.com>
- fix URL (#71010)
* Wed Jan 22 2003 Tim Powers <timp@redhat.com>
- rebuilt
* Tue Dec 03 2002 Elliot Lee <sopwith@redhat.com>
- Remove unpackaged files
* Fri Jun 21 2002 Tim Powers <timp@redhat.com>
- automated rebuild
* Thu May 23 2002 Tim Powers <timp@redhat.com>
- automated rebuild
* Tue Jan 8 2002 Owen Taylor <otaylor@redhat.com>
- Update to 0.2.3, update URLs
* Mon Jun 25 2001 Preston Brown <pbrown@redhat.com>
- explicit requirement of -devel package on main package (#45205)
* Tue Apr 17 2001 Jonathan Blandford <jrb@redhat.com>
- Bumped version to 0.2.1
* Mon Dec 11 2000 Preston Brown <pbrown@redhat.com>
- upgrade to 0.1.11.
* Mon Aug 14 2000 Than Ngo <than@redhat.com>
- add ldconfig to %%post and %%postun (Bug #15413)
* Fri Aug 11 2000 Jonathan Blandford <jrb@redhat.com>
- Up Epoch and release
* Wed Jul 12 2000 Prospector <bugzilla@redhat.com>
- automatic rebuild
* Mon Jun 12 2000 Preston Brown <pbrown@redhat.com>
- use FHS macros
* Thu Feb 03 2000 Preston Brown <pbrown@redhat.com>
- strip library, use configure macro.
* Tue Sep 14 1999 Elliot Lee <sopwith@redhat.com>
- 0.1.8pre (take whatever is in CVS).
* Fri Aug 13 1999 Michael Fulbrght <drmike@redhat.com>
- version 1.7.0
* Sun Apr 18 1999 Matt Wilson <msw@redhat.com>
- updated patch from DaveM
* Fri Apr 16 1999 Matt Wilson <msw@redhat.com>
- added patch from Dave Miller to disable byte swapping in decoding
* Fri Mar 19 1999 Michael Fulbright <drmike@redhat.com>
- strip binaries before packaging
* Thu Feb 25 1999 Michael Fulbright <drmike@redhat.com>
- Version 0.1.6
* Sun Feb 21 1999 Michael Fulbright <drmike@redhat.com>
- Removed libtoolize from %%build
* Wed Feb 3 1999 Jonathan Blandfor <jrb@redhat.com>
- Newer version with bug fix. Upped release.
* Wed Dec 16 1998 Michael Fulbright <drmike@redhat.com>
- integrating into rawhide release at GNOME freeze
* Fri Nov 20 1998 Michael Fulbright <drmike@redhat.com>
- First try at a spec file

View file

@ -0,0 +1,28 @@
From fde6d79fb8363c4a329a184ef0b107156602b225 Mon Sep 17 00:00:00 2001
From: Wim Taymans <wtaymans@redhat.com>
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);

View file

@ -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<uint32_t>(-kMinInt32), kMaxUInt32 };
for (int i=0; i<frameCount; i++)
EXPECT_EQ(readData[i], expectedData[i]);
}

View file

@ -0,0 +1,49 @@
--- autoconf-2.12/autoconf.sh.race Thu Aug 27 19:01:23 1998
+++ autoconf-2.12/autoconf.sh Thu Aug 27 19:05:04 1998
@@ -45,7 +45,7 @@
esac
: ${TMPDIR=/tmp}
-tmpout=${TMPDIR}/acout.$$
+tmpout=`/bin/mktemp ${TMPDIR}/acout.XXXXXX`
localdir=
show_version=no
@@ -97,10 +97,10 @@
trap 'rm -f $tmpin $tmpout; exit 1' 1 2 15
-tmpin=${TMPDIR}/acin.$$ # Always set this, to avoid bogus errors from some rm's.
+tmpin=`/bin/mktemp ${TMPDIR}/acin.XXXXXX`
+# Always set this, to avoid bogus errors from some rm's.
if test z$infile = z-; then
infile=$tmpin
- cat > $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 <<EOF
+ cat >> $fgrep_tmp <<EOF
$syms
EOF
fgrep -f $fgrep_tmp
--- autoconf-2.12/autoupdate.sh.race Thu Aug 27 19:09:12 1998
+++ autoconf-2.12/autoupdate.sh Thu Aug 27 19:10:05 1998
@@ -26,7 +26,7 @@
Usage: autoupdate [-h] [--help] [-m dir] [--macrodir=dir]
[--version] [template-file]"
-sedtmp=/tmp/acups.$$
+sedtmp=`/bin/mktemp /tmp/acups.XXXXXX`
# For debugging.
#sedtmp=/tmp/acups
show_version=no

View file

@ -0,0 +1,57 @@
--- autoconf-2.13/acgeneral.m4~ Tue Jun 26 17:00:28 2001
+++ autoconf-2.13/acgeneral.m4 Tue Jun 26 17:00:28 2001
@@ -1817,10 +1817,6 @@
[cat > conftest.$ac_ext <<EOF
[#]line __oline__ "configure"
#include "confdefs.h"
-ifelse(AC_LANG, CPLUSPLUS, [#ifdef __cplusplus
-extern "C" void exit(int);
-#endif
-])dnl
[$1]
EOF
if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} && (./conftest; exit) 2>/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 <stdlib.h>' \
+ '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 <stdlib.h>
+$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.

View file

@ -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 <stdio.h>
-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)

View file

@ -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 <fcntl.h>
#include <sys/mman.h>
+#if HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif
+
+#if HAVE_STDLIB_H
+# include <stdlib.h>
+#endif
+
+#if HAVE_SYS_STAT_H
+# include <sys/stat.h>
+#endif
+
+#if HAVE_UNISTD_H
+# include <unistd.h>
+#endif
+
/* This mess was copied from the GNU getpagesize.h. */
#ifndef HAVE_GETPAGESIZE
-# ifdef HAVE_UNISTD_H
-# include <unistd.h>
-# endif
/* Assume that all systems that can run configure have sys/param.h. */
# ifndef HAVE_SYS_PARAM_H

View file

@ -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.

View file

@ -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

View file

@ -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.

View file

@ -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@

View file

@ -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? */

Binary file not shown.

View file

@ -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

View file

@ -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

View file

@ -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"

View file

@ -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 <blester@oreonproject.org> - 2.13-52
- Rebuilt for Oreon

Binary file not shown.

View file

@ -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

Binary file not shown.

View file

@ -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

View file

@ -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

View file

@ -0,0 +1,127 @@
From 263682c9a29395055f3b3afe2d97be1828a6223f Mon Sep 17 00:00:00 2001
From: Jerome Jiang <jianj@google.com>
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;

View file

@ -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;

View file

@ -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)

View file

@ -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

View file

@ -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")

View file

@ -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"

Binary file not shown.

View file

@ -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

9
firefox/distribution.ini Normal file
View file

@ -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

View file

@ -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

Binary file not shown.

View file

@ -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);

View file

@ -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);
}

Binary file not shown.

29
firefox/firefox-mozconfig Normal file
View file

@ -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

View file

@ -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) {

View file

@ -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);

View file

@ -0,0 +1,5 @@
[Shell Search Provider]
DesktopId=firefox.desktop
BusName=org.mozilla.Firefox.SearchProvider
ObjectPath=/org/mozilla/Firefox/SearchProvider
Version=2

View file

@ -0,0 +1,3 @@
<svg id="Assets" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
<path d="M190.368 150.591c0.157 0.009 0.079 0.003 0 0zm-57.874-28.933c0.158 0.008 0.079 0.003 0 0zm346.228 44.674c-10.445-25.123-31.6-52.248-48.211-60.82 13.52 26.5 21.345 53.093 24.335 72.935 0 0.04 0.015 0.136 0.047 0.4-27.175-67.732-73.254-95.047-110.886-154.512-1.9-3.008-3.805-6.022-5.661-9.2a73.237 73.237 0 0 1-2.646-4.972 43.757 43.757 0 0 1-3.585-9.5 0.625 0.625 0 0 0-0.546-0.644 0.8 0.8 0 0 0-0.451 0c-0.033 0.011-0.084 0.051-0.119 0.065-0.053 0.02-0.12 0.069-0.176 0.095 0.026-0.036 0.083-0.117 0.1-0.135-53.437 31.3-75.587 86.093-81.282 120.97a128.057 128.057 0 0 0-47.624 12.153 6.144 6.144 0 0 0-3.041 7.63 6.034 6.034 0 0 0 8.192 3.525 116.175 116.175 0 0 1 41.481-10.826c0.468-0.033 0.937-0.062 1.405-0.1a117.624 117.624 0 0 1 5.932-0.211 120.831 120.831 0 0 1 34.491 4.777c0.654 0.192 1.295 0.414 1.946 0.616a120.15 120.15 0 0 1 5.539 1.842 121.852 121.852 0 0 1 3.992 1.564c1.074 0.434 2.148 0.868 3.206 1.331a118.453 118.453 0 0 1 4.9 2.307c0.743 0.368 1.485 0.735 2.217 1.117a120.535 120.535 0 0 1 4.675 2.587 107.785 107.785 0 0 1 2.952 1.776 123.018 123.018 0 0 1 42.028 43.477c-12.833-9.015-35.81-17.918-57.947-14.068 86.441 43.214 63.234 192.027-56.545 186.408a106.7 106.7 0 0 1-31.271-6.031 132.461 132.461 0 0 1-7.059-2.886c-1.356-0.618-2.711-1.243-4.051-1.935-29.349-15.168-53.583-43.833-56.611-78.643 0 0 11.093-41.335 79.433-41.335 7.388 0 28.508-20.614 28.9-26.593-0.09-1.953-41.917-18.59-58.223-34.656-8.714-8.585-12.851-12.723-16.514-15.829a71.7 71.7 0 0 0-6.225-4.7 111.335 111.335 0 0 1-0.675-58.733c-24.687 11.242-43.89 29.011-57.849 44.7h-0.111c-9.528-12.067-8.855-51.873-8.312-60.184-0.114-0.516-7.107 3.63-8.024 4.254a175.21 175.21 0 0 0-23.486 20.12 210.5 210.5 0 0 0-22.443 26.913c0 0.012-0.007 0.025-0.011 0.037 0-0.012 0.007-0.025 0.011-0.038a202.837 202.837 0 0 0-32.244 72.81c-0.058 0.265-2.29 10.054-3.92 22.147a265.794 265.794 0 0 0-0.769 5.651c-0.558 3.636-0.992 7.6-1.42 13.767-0.019 0.239-0.031 0.474-0.048 0.712a591.152 591.152 0 0 0-0.481 7.995c0 0.411-0.025 0.816-0.025 1.227 0 132.709 107.6 240.29 240.324 240.29 118.865 0 217.559-86.288 236.882-199.63 0.407-3.075 0.732-6.168 1.092-9.27 4.777-41.21-0.53-84.525-15.588-120.747zm-164.068 72.1z" fill="#fff"/>
</svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

View file

@ -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):

235
firefox/firefox-x11.desktop Normal file
View file

@ -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]=Ca s mi
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]=نْو پرایوٹ وینڈو&amp;
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]=Ca s riêng tư mi
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

View file

@ -0,0 +1,7 @@
#!/usr/bin/bash
#
# Run Firefox on X11 backend
#
export MOZ_DISABLE_WAYLAND=1
exec /__PREFIX__/bin/firefox "$@"

141
firefox/firefox.1 Normal file
View file

@ -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/

View file

@ -0,0 +1,59 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright 2019 Firefox contributors -->
<component type="desktop">
<id>firefox.desktop</id>
<metadata_license>CC0-1.0</metadata_license>
<name>Firefox</name>
<summary>Web Browser</summary>
<summary xml:lang="ca">Navegador web</summary>
<summary xml:lang="cs">Webový prohlížeč</summary>
<summary xml:lang="es">Navegador web</summary>
<summary xml:lang="fa">مرورگر اینترنتی</summary>
<summary xml:lang="fi">WWW-selain</summary>
<summary xml:lang="fr">Navigateur Web</summary>
<summary xml:lang="hu">Webböngésző</summary>
<summary xml:lang="it">Browser Web</summary>
<summary xml:lang="ja">ウェブ・ブラウザ</summary>
<summary xml:lang="ko">웹 브라우저</summary>
<summary xml:lang="nb">Nettleser</summary>
<summary xml:lang="nl">Webbrowser</summary>
<summary xml:lang="nn">Nettlesar</summary>
<summary xml:lang="no">Nettleser</summary>
<summary xml:lang="pl">Przeglądarka WWW</summary>
<summary xml:lang="pt">Navegador Web</summary>
<summary xml:lang="pt_BR">Navegador Web</summary>
<summary xml:lang="sk">Internetový prehliadač</summary>
<summary xml:lang="sv">Webbläsare</summary>
<description>
<p>
Bringing together all kinds of awesomeness to make browsing better for you.
Get to your favorite sites quickly even if you dont 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.
</p>
</description>
<url type="homepage">https://www.mozilla.org</url>
<update_contact>stransky@redhat.com</update_contact>
<kudos>
<kudo>ModernToolkit</kudo>
<kudo>SearchProvider</kudo>
</kudos>
<project_group>Mozilla</project_group>
<project_license>GPL-3.0+</project_license>
<developer_name>Mozilla Corporation</developer_name>
<url type="bugtracker">https://bugzilla.mozilla.org/</url>
<url type="help">https://support.mozilla.org/</url>
<translation type="gettext">firefox</translation>
<provides>
<id>firefox.desktop</id>
</provides>
<screenshots>
<screenshot type="default">https://raw.githubusercontent.com/hughsie/fedora-appstream/master/screenshots-extra/firefox/a.png</screenshot>
<screenshot>https://raw.githubusercontent.com/hughsie/fedora-appstream/master/screenshots-extra/firefox/b.png</screenshot>
<screenshot>https://raw.githubusercontent.com/hughsie/fedora-appstream/master/screenshots-extra/firefox/c.png</screenshot>
</screenshots>
<releases>
<release version="__VERSION__" date="__DATE__"/>
</releases>
</component>

275
firefox/firefox.desktop Normal file
View file

@ -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]=Ca s mi
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]=نْو پرایوٹ وینڈو&amp;
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]=Ca s riêng tư mi
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

292
firefox/firefox.sh.in Normal file
View file

@ -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 "$@"

1733
firefox/firefox.spec Normal file

File diff suppressed because it is too large Load diff

1
firefox/google-api-key Normal file
View file

@ -0,0 +1 @@
AIzaSyBPGXa4AYD4FC3HJK7LnIKxm4fDusVuuco

View file

@ -0,0 +1 @@
AIzaSyB2h2OuRcUgy5N-5hsZqiPW6sH3n_rptiQ

Binary file not shown.

1
firefox/mozilla-api-key Normal file
View file

@ -0,0 +1 @@
9008bb7e-1e22-4038-94fe-047dd48ccc0b

View file

@ -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/<application>/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<nsZipFind> 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 <ctype.h>
+# 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<nsIXULAppInfo> 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/<application>/pref/ directory if it exists
+ nsCOMPtr<nsIFile> 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"

View file

@ -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<SurfaceFormat>.
-// 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 <avx512fintrin.h>
#include <avx512dqintrin.h>
#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
}

View file

@ -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());
};

View file

@ -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<nsIBrowserHandler> 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;

View file

@ -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<MediaRawData> 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 <functional>
+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<FFmpegRuntimeLinker>()) {
+ !(mFFmpegUsed = CreateAndStartupPDM<FFmpegRuntimeLinker>())) {
mFailureFlags += GetFailureFlagBasedOnFFmpegStatus(
FFmpegRuntimeLinker::LinkStatusCode());
}
@@ -738,9 +740,10 @@ void PDMFactory::CreateDefaultPDMs() {
CreateAndStartupPDM<AgnosticDecoderModule>();
- 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<PlatformDecoderModule> mNullPDM;
DecoderDoctorDiagnostics::FlagsSet mFailureFlags;
+ bool mFFmpegUsed = false;
friend class RemoteVideoDecoderParent;
static void EnsureInit();

View file

@ -0,0 +1,29 @@
# HG changeset patch
# User M. Sirringhaus <msirringhaus@suse.de>
# 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.

View file

@ -0,0 +1,34 @@
# HG changeset patch
# User M. Sirringhaus <msirringhaus@suse.de>
# 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();

View file

@ -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',

View file

@ -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;
}

View file

@ -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:

View file

@ -0,0 +1,2 @@
#!/bin/sh
exec node "$@" 2>&1 | cat -

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -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"

View file

@ -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

View file

@ -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",

View file

@ -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), \

View file

@ -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, &param, 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

260
firefox/testing.sh Executable file
View file

@ -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 "><BR><BR>' $OUTPUT_FILE
sed -i '/REFTEST TEST/a <BR>' $OUTPUT_FILE
sed -i -e 's/^REFTEST IMAGE 1 (TEST): /<img border=2 src="/' $OUTPUT_FILE
sed -i -e 's/^REFTEST IMAGE 2 (REFERENCE): /<img border=2 src="/' $OUTPUT_FILE
}
function print_errors() {
#!/usr/bin/bash
# Print failed tests
TEST_DIR=$1
TEST_FLAVOUR=$2
grep "TEST-UNEXPECTED-FAIL" $TEST_DIR/mochitest$TEST_FLAVOUR 2>&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 $*

33
limefalls/limefalls.spec Normal file
View file

@ -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

BIN
limefalls/limefalls.zip Normal file

Binary file not shown.

Binary file not shown.

View file

@ -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 <iosfwd>
+#include <limits>
#include <math.h>
#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

View file

@ -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 <uiautomationcore.h>
+#include <uiautomationclient.h>
+
+// 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";

Some files were not shown because too many files have changed in this diff Show more