slackware-current/source/xap/xine-lib/xine-lib.SlackBuild
Patrick J Volkerding 7b9b973e94 Tue Jan 30 22:01:28 UTC 2024
a/lzip-1.24-x86_64-1.txz:  Upgraded.
a/openssl-solibs-3.2.1-x86_64-1.txz:  Upgraded.
ap/alsa-utils-1.2.11-x86_64-1.txz:  Upgraded.
ap/sqlite-3.45.1-x86_64-1.txz:  Upgraded.
d/binutils-2.42-x86_64-1.txz:  Upgraded.
  Shared library .so-version bump.
d/cmake-3.28.2-x86_64-1.txz:  Upgraded.
d/oprofile-1.4.0-x86_64-13.txz:  Rebuilt.
  Recompiled against binutils-2.42.
d/strace-6.7-x86_64-1.txz:  Upgraded.
kde/digikam-8.2.0-x86_64-5.txz:  Rebuilt.
  Recompiled against libpng-1.6.42.
l/alsa-lib-1.2.11-x86_64-1.txz:  Upgraded.
l/libpng-1.6.42-x86_64-1.txz:  Upgraded.
  Fixed the implementation of the macro function png_check_sig().
  This was an API regression, introduced in libpng-1.6.41.
  Reported by Matthieu Darbois.
l/lmdb-0.9.32-x86_64-1.txz:  Upgraded.
l/neon-0.33.0-x86_64-1.txz:  Upgraded.
l/opencv-4.9.0-x86_64-3.txz:  Rebuilt.
  Recompiled against libpng-1.6.42.
l/qt5-5.15.12_20240103_b8fd1448-x86_64-4.txz:  Rebuilt.
  Recompiled against libpng-1.6.42.
l/talloc-2.4.2-x86_64-1.txz:  Upgraded.
l/tdb-1.4.10-x86_64-1.txz:  Upgraded.
l/tevent-0.16.1-x86_64-1.txz:  Upgraded.
n/openldap-2.6.7-x86_64-1.txz:  Upgraded.
n/openssl-3.2.1-x86_64-1.txz:  Upgraded.
  This update fixes possible denial-of-service security issues:
  A file in PKCS12 format can contain certificates and keys and may come from
  an untrusted source. The PKCS12 specification allows certain fields to be
  NULL, but OpenSSL did not correctly check for this case. A fix has been
  applied to prevent a NULL pointer dereference that results in OpenSSL
  crashing. If an application processes PKCS12 files from an untrusted source
  using the OpenSSL APIs then that application will be vulnerable to this
  issue prior to this fix.
  OpenSSL APIs that were vulnerable to this are: PKCS12_parse(),
  PKCS12_unpack_p7data(), PKCS12_unpack_p7encdata(), PKCS12_unpack_authsafes()
  and PKCS12_newpass().
  When function EVP_PKEY_public_check() is called on RSA public keys,
  a computation is done to confirm that the RSA modulus, n, is composite.
  For valid RSA keys, n is a product of two or more large primes and this
  computation completes quickly. However, if n is an overly large prime,
  then this computation would take a long time.
  An application that calls EVP_PKEY_public_check() and supplies an RSA key
  obtained from an untrusted source could be vulnerable to a Denial of Service
  attack.
  The function EVP_PKEY_public_check() is not called from other OpenSSL
  functions however it is called from the OpenSSL pkey command line
  application. For that reason that application is also vulnerable if used
  with the "-pubin" and "-check" options on untrusted data.
  To resolve this issue RSA keys larger than OPENSSL_RSA_MAX_MODULUS_BITS will
  now fail the check immediately with an RSA_R_MODULUS_TOO_LARGE error reason.
  Fix excessive time spent in DH check / generation with large Q parameter
  value.
  Applications that use the functions DH_generate_key() to generate an
  X9.42 DH key may experience long delays. Likewise, applications that use
  DH_check_pub_key(), DH_check_pub_key_ex() or EVP_PKEY_public_check()
  to check an X9.42 DH key or X9.42 DH parameters may experience long delays.
  Where the key or parameters that are being checked have been obtained from
  an untrusted source this may lead to a Denial of Service.
  For more information, see:
    https://www.cve.org/CVERecord?id=CVE-2024-0727
    https://www.cve.org/CVERecord?id=CVE-2023-6237
    https://www.cve.org/CVERecord?id=CVE-2023-5678
  (* Security fix *)
xap/MPlayer-20240130-x86_64-1.txz:  Upgraded.
  Fixed build script to exit on errors.
  Patched to build against gettext-0.22.4.
  Thanks to Matteo Bernardini.
xap/xine-lib-1.2.13-x86_64-7.txz:  Rebuilt.
  Recompiled against libpng-1.6.42.
2024-01-30 23:34:34 +01:00

137 lines
4.2 KiB
Bash
Executable file

#!/bin/bash
# Copyright 2008, 2009, 2012, 2017, 2018, 2019, 2022, 2023, 2024 Patrick J. Volkerding, Sebeka, MN, USA
# Copyright 2011, 2012 Eric Hameleers, Eindhoven, NL
# Copyright 2017 Heinz Wiesinger, Amsterdam, NL
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
#
# 1. Redistributions of this script must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=xine-lib
# Version on the tarball
VERSION=1.2.13
# Version used in the source directory to cd into
DIRVER=1.2.13
# Version used for the Slackware package
PKGVER=1.2.13
BUILD=${BUILD:-7}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) export ARCH=i586 ;;
arm*) export ARCH=arm ;;
# Unless $ARCH is already set, use uname -m for all other archs:
*) export ARCH=$( uname -m ) ;;
esac
fi
TARGET=${TARGET:-$ARCH-pc-linux-gnu}
NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
if [ "$ARCH" = "x86_64" ]; then
LIBDIRSUFFIX="64"
FFARCHOPTS="--arch=x86_64 --enable-pic"
elif [ "$ARCH" = "i586" ]; then
LIBDIRSUFFIX=""
# 32bit x86 fails without this... let me know if you have a fix
FFARCHOPTS="--disable-asm"
else
LIBDIRSUFFIX=""
FFARCHOPTS=""
fi
# If this package is being built for ALSA (no PulseAudio), use the _alsa $TAG:
if [ ! -r /usr/lib${LIBDIRSUFFIX}/pkgconfig/libpulse.pc ]; then
TAG="_alsa"
fi
# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
# the name of the created package would be, and then exit. This information
# could be useful to other scripts.
if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
echo "$PKGNAM-$PKGVER-$ARCH-$BUILD$TAG.txz"
exit 0
fi
TMP=${TMP:-/tmp}
PKG=$TMP/package-xine-lib
rm -rf $PKG
mkdir -p $TMP $PKG/usr
cd $TMP
rm -rf xine-lib-$DIRVER ; rm -rf xine-lib.$DIRVER
tar xvf $CWD/xine-lib-$VERSION.tar.xz || exit 1
cd xine-lib-$DIRVER || cd xine-lib.$DIRVER || exit 1
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
-exec chmod 755 {} \+ -o \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \+
# Fix build with binutils 2.39:
sed '/xine_set_flags/s/XINE_PROTECTED//' -i include/xine.h
XINE_BUILD=$TARGET \
./configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--docdir=/usr/doc/xine-lib-$VERSION \
--mandir=/usr/man \
--with-w32-path=/usr/lib${LIBDIRSUFFIX}/codecs \
--with-wavpack \
--disable-nosefart \
--disable-vcd \
--without-speex \
--without-xcb \
--with-external-dvdnav || exit 1
make $NUMJOBS || make || exit 1
make install DESTDIR=$PKG || exit 1
# Remove .la files:
rm -f $PKG//usr/lib${LIBDIRSUFFIX}/*.la
mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/codecs
find $PKG | xargs file | grep -e "executable" -e "shared object" \
| grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
( cd $PKG/usr/man
find . -type f -exec gzip -9 {} \+
for i in $(find . -type l) ; do ln -s $(readlink $i).gz $i.gz ; rm $i ; done
)
# Copy a few missed docs, and remove the redundant html FAQ (we have a txt)
cp -a \
ABOUT-NLS AUTHORS NEWS \
$PKG/usr/doc/xine-lib-$VERSION
rm -f $PKG/usr/doc/xine-lib-$VERSION/faq.html
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
/sbin/makepkg -l y -c n $TMP/xine-lib-$PKGVER-$ARCH-$BUILD$TAG.txz