Compare commits

..

No commits in common. "rawhide" and "f31" have entirely different histories.

6 changed files with 117 additions and 86 deletions

7
.gitignore vendored
View file

@ -1,3 +1,4 @@
/adplug-*.tar.gz
/adplug-*.tar.bz2
/adplugdb-*.tar.gz
adplug-2.1.tar.bz2
adplugdb-2006-07-07.tar.gz
/adplug-2.2.1.tar.gz
/adplug-2.2.1.tar.bz2

17
adplug-2.2.1-inline.patch Normal file
View file

@ -0,0 +1,17 @@
Patch by Robert Scheck <robert@fedoraproject.org> for adplug >= 2.2.1, which
works around undefined reference linking error when using GCC >= 9.1 (while
it works with GCC 9.0.x and older):
/usr/bin/ld: ../src/.libs/libadplug.so: undefined reference to `OPL_CALC_RH'
--- adplug-2.2.1/src/fmopl.c 2003-11-03 16:41:33.000000000 +0100
+++ adplug-2.2.1/src/fmopl.c.inline 2019-07-31 19:57:40.925132660 +0200
@@ -31,7 +31,7 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#define INLINE __inline
+#define INLINE
#define HAS_YM3812 1
#include <stdio.h>

View file

@ -0,0 +1,24 @@
diff -ur adplug-2.2.1-orig/src/s3m.cpp adplug-2.2.1/src/s3m.cpp
--- adplug-2.2.1-orig/src/s3m.cpp 2016-06-12 17:19:33.369934280 +0200
+++ adplug-2.2.1/src/s3m.cpp 2016-06-12 17:32:36.190932642 +0200
@@ -25,7 +25,7 @@
#include <cstring>
#include "s3m.h"
-const char Cs3mPlayer::chnresolv[] = // S3M -> adlib channel conversion
+const signed char Cs3mPlayer::chnresolv[] = // S3M -> adlib channel conversion
{-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,2,3,4,5,6,7,8,-1,-1,-1,-1,-1,-1,-1};
const unsigned short Cs3mPlayer::notetable[12] = // S3M adlib note table
diff -ur adplug-2.2.1-orig/src/s3m.h adplug-2.2.1/src/s3m.h
--- adplug-2.2.1-orig/src/s3m.h 2016-06-12 17:19:33.367934293 +0200
+++ adplug-2.2.1/src/s3m.h 2016-06-12 17:37:14.538154102 +0200
@@ -90,7 +90,7 @@
unsigned char crow,ord,speed,tempo,del,songend,loopstart,loopcnt;
private:
- static const char chnresolv[];
+ static const signed char chnresolv[];
static const unsigned short notetable[12];
static const unsigned char vibratotab[32];

View file

@ -0,0 +1,25 @@
From 19ebb61bf92262dc1868de10ba5a211db249ce76 Mon Sep 17 00:00:00 2001
From: Stas'M <x86corez@gmail.com>
Date: Thu, 4 Oct 2018 00:18:32 +0300
Subject: [PATCH] FMOPL: Avoid double-free by checking OPL pointer (fix #67)
Fixes CVE-2018-17825.
---
src/fmopl.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/src/fmopl.c b/src/fmopl.c
index 0cd1d69..1c4485e 100644
--- a/src/fmopl.c
+++ b/src/fmopl.c
@@ -1269,6 +1269,10 @@ FM_OPL *OPLCreate(int type, int clock, int rate)
/* ---------- Destroy one of vietual YM3812 ---------- */
void OPLDestroy(FM_OPL *OPL)
{
+ if(!OPL)
+ {
+ return;
+ }
#ifdef OPL_OUTPUT_LOG
if(opl_dbg_fp)
{

View file

@ -2,19 +2,24 @@
# RPM repository.
%define adplugdbver 2006-07-07
Name: adplug
Version: 2.3.3
Release: 14%{?dist}
Summary: Software library for AdLib (OPL2/3) emulation
URL: https://adplug.github.io/
Source0: https://github.com/adplug/adplug/releases/download/%{name}-%{version}/%{name}-%{version}.tar.bz2
Source1: https://download.sourceforge.net/%{name}/adplugdb-%{adplugdbver}.tar.gz
License: LGPL-2.1-or-later AND GFDL-1.1-or-later
Name: adplug
Version: 2.2.1
Release: 10%{?dist}
Summary: A software library for AdLib (OPL2) emulation
URL: http://adplug.github.io/
Source0: http://download.sourceforge.net/%{name}/%{name}-%{version}.tar.bz2
Source1: http://download.sourceforge.net/%{name}/adplugdb-%{adplugdbver}.tar.gz
Patch0: adplug-2.2.1-signed-char.patch
Patch1: adplug-2.3.1-cve-2018-17825.patch
Patch2: adplug-2.2.1-inline.patch
License: LGPLv2+
BuildRequires: gcc-c++
BuildRequires: make
BuildRequires: libbinio-devel >= 1.4
BuildRequires: pkgconfig
BuildRequires: texinfo
BuildRequires: libbinio-devel >= 1.4
BuildRequires: pkgconfig
BuildRequires: texinfo
BuildRequires: libtool
BuildRequires: autoconf
BuildRequires: automake
# This is to resolve the endless disputes of the shared data for this
# package. Whenever _sharedstatedir contains something acceptable to
# Fedora that can be used instead.
@ -22,38 +27,51 @@ BuildRequires: texinfo
%description
AdPlug is a free software, cross-platform, hardware independent AdLib
sound player library, mainly written in C++. AdPlug plays sound data,
originally created for the AdLib (OPL2/3) audio board, directly from
its original format on top of an OPL2/3 emulator or by using the real
hardware. No OPL2/3 chips are required for playback.
sound player library, mainly written in C++ and released under the
LGPL. AdPlug plays sound data, originally created for the AdLib (OPL2)
audio board, directly from its original format on top of an OPL2
emulator or by using the real hardware. No OPL chip is required for
playback. It supports various audio formats from MS-DOS AdLib trackers.
%package devel
Summary: Development files for AdPlug
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: libbinio-devel
Requires: libbinio-devel
%description devel
This package contains development files for the AdPlug AdLib (OPL2/3)
emulator.
This package contains development files for the AdPlug AdLib
(OPL2) emulator.
%prep
%setup -q
%patch0 -p1
%patch1 -p1
%patch2 -p1
tar xvfz %{SOURCE1}
# Include these by different name
mv %{adplugdbver}/README README.adplugdb
mv %{adplugdbver}/NEWS NEWS.adplugdb
%build
%configure --disable-static --sharedstatedir=%{shareddata}
sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
%make_build
rm -f ltmain.sh config.guess config.sub
libtoolize --copy --force || fail
rm -f aclocal.m4
aclocal $ACLOCAL_FLAGS || fail
rm -f depcomp install-sh missing
touch config.rpath
automake --add-missing --gnu || fail
rm -f configure
autoconf
%configure --disable-static --sharedstatedir=%{shareddata} --disable-rpath
make %{?_smp_mflags}
%install
%make_install
rm -rf $RPM_BUILD_ROOT
make DESTDIR=$RPM_BUILD_ROOT install
rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
rm -f $RPM_BUILD_ROOT%{_infodir}/dir
install -D -p -m 644 %{adplugdbver}/adplug.db $RPM_BUILD_ROOT%{shareddata}/%{name}/adplug.db
mkdir -p $RPM_BUILD_ROOT%{shareddata}/%{name}
install -p -m 644 %{adplugdbver}/adplug.db $RPM_BUILD_ROOT%{shareddata}/%{name}
%ldconfig_scriptlets
@ -63,8 +81,7 @@ install -D -p -m 644 %{adplugdbver}/adplug.db $RPM_BUILD_ROOT%{shareddata}/%{nam
%config(noreplace) %{shareddata}/%{name}/adplug.db
%{_bindir}/adplugdb
%{_mandir}/man1/adplugdb.1*
%license COPYING
%doc AUTHORS BUGS ChangeLog NEWS README
%doc AUTHORS BUGS ChangeLog COPYING INSTALL NEWS README TODO
%doc NEWS.adplugdb README.adplugdb
%files devel
@ -72,62 +89,9 @@ install -D -p -m 644 %{adplugdbver}/adplug.db $RPM_BUILD_ROOT%{shareddata}/%{nam
%{_libdir}/pkgconfig/*.pc
%dir %{_includedir}/%{name}
%{_includedir}/%{name}/*.h
%{_infodir}/libadplug.info*
%{_infodir}/*.gz
%changelog
* Fri Jan 16 2026 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.3-14
- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild
* Wed Jul 23 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.3-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.3-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Wed Aug 28 2024 Miroslav Suchý <msuchy@redhat.com> - 2.3.3-11
- convert license to SPDX
* Wed Jul 17 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.3-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Mon Jan 22 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.3-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Fri Jan 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.3-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.3-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Wed Jan 18 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.3-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Wed Jul 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.3-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Wed Jan 19 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.3-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.3-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Mon Jan 25 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Tue Jan 05 2021 Robert Scheck <robert@fedoraproject.org> - 2.3.3-1
- Upgrade to 2.3.3 (#1743108, #1770224, #1770243, #1770257,
#1778710, #1778716, #1778720)
* Fri Jul 31 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.1-13
- Second attempt - Rebuilt for
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.1-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.1-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.1-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild

View file

@ -1,2 +1,2 @@
SHA512 (adplug-2.3.3.tar.bz2) = 08647c746df69aa0a3941ee64d3adecd11a46febf51fe1bb9fe16ff01a6fef56321b18618f5ecb66309b8cdac8493a067707759fbdf0e91d556677c6b4c57a44
SHA512 (adplugdb-2006-07-07.tar.gz) = c3391ac83b8433a94f036affd8618f1202499890056b9799854f66806b76a4ededc61b41ea7548bbe50e545fc5c7e33754c4e15bb940d34b7135cc9b5f129501
8f815fd5d254de0fe5df818df9d1d8af adplug-2.2.1.tar.bz2
40a1cc1222c7318172ee3740c4269df3 adplugdb-2006-07-07.tar.gz