1
0
Fork 0
mirror of git://slackware.nl/current.git synced 2025-01-16 15:41:42 +01:00
slackware-current/source/n/samba/samba.SlackBuild
Patrick J Volkerding 01d68a3996 Thu Nov 17 01:49:28 UTC 2022
ap/man-db-2.11.1-x86_64-1.txz:  Upgraded.
ap/nano-7.0-x86_64-1.txz:  Upgraded.
ap/sqlite-3.40.0-x86_64-1.txz:  Upgraded.
kde/plasma-framework-5.100.0-x86_64-2.txz:  Rebuilt.
  [PATCH] svgitem: do not upscale svg when using fractional scaling.
l/netpbm-11.00.02-x86_64-1.txz:  Upgraded.
n/bind-9.18.9-x86_64-1.txz:  Upgraded.
n/krb5-1.20.1-x86_64-1.txz:  Upgraded.
  Fixed integer overflows in PAC parsing.
  Fixed null deref in KDC when decoding invalid NDR.
  Fixed memory leak in OTP kdcpreauth module.
  Fixed PKCS11 module path search.
  For more information, see:
    https://www.cve.org/CVERecord?id=CVE-2022-42898
  (* Security fix *)
n/samba-4.17.3-x86_64-1.txz:  Upgraded.
  Fixed a security issue where Samba's Kerberos libraries and AD DC failed
  to guard against integer overflows when parsing a PAC on a 32-bit system,
  which allowed an attacker with a forged PAC to corrupt the heap.
  For more information, see:
    https://www.samba.org/samba/security/CVE-2022-42898.html
    https://www.cve.org/CVERecord?id=CVE-2022-42898
  (* Security fix *)
x/libXft-2.3.7-x86_64-1.txz:  Upgraded.
x/wayland-protocols-1.29-noarch-1.txz:  Upgraded.
xap/mozilla-firefox-107.0-x86_64-1.txz:  Upgraded.
  This update contains security fixes and improvements.
  For more information, see:
    https://www.mozilla.org/en-US/firefox/107.0/releasenotes/
    https://www.mozilla.org/security/advisories/mfsa2022-47/
    https://www.cve.org/CVERecord?id=CVE-2022-45403
    https://www.cve.org/CVERecord?id=CVE-2022-45404
    https://www.cve.org/CVERecord?id=CVE-2022-45405
    https://www.cve.org/CVERecord?id=CVE-2022-45406
    https://www.cve.org/CVERecord?id=CVE-2022-45407
    https://www.cve.org/CVERecord?id=CVE-2022-45408
    https://www.cve.org/CVERecord?id=CVE-2022-45409
    https://www.cve.org/CVERecord?id=CVE-2022-45410
    https://www.cve.org/CVERecord?id=CVE-2022-45411
    https://www.cve.org/CVERecord?id=CVE-2022-45412
    https://www.cve.org/CVERecord?id=CVE-2022-45413
    https://www.cve.org/CVERecord?id=CVE-2022-40674
    https://www.cve.org/CVERecord?id=CVE-2022-45415
    https://www.cve.org/CVERecord?id=CVE-2022-45416
    https://www.cve.org/CVERecord?id=CVE-2022-45417
    https://www.cve.org/CVERecord?id=CVE-2022-45418
    https://www.cve.org/CVERecord?id=CVE-2022-45419
    https://www.cve.org/CVERecord?id=CVE-2022-45420
    https://www.cve.org/CVERecord?id=CVE-2022-45421
  (* Security fix *)
xap/mozilla-thunderbird-102.5.0-x86_64-1.txz:  Upgraded.
  This release contains security fixes and improvements.
  For more information, see:
    https://www.mozilla.org/en-US/thunderbird/102.5.0/releasenotes/
    https://www.mozilla.org/en-US/security/advisories/mfsa2022-49/
    https://www.cve.org/CVERecord?id=CVE-2022-45403
    https://www.cve.org/CVERecord?id=CVE-2022-45404
    https://www.cve.org/CVERecord?id=CVE-2022-45405
    https://www.cve.org/CVERecord?id=CVE-2022-45406
    https://www.cve.org/CVERecord?id=CVE-2022-45408
    https://www.cve.org/CVERecord?id=CVE-2022-45409
    https://www.cve.org/CVERecord?id=CVE-2022-45410
    https://www.cve.org/CVERecord?id=CVE-2022-45411
    https://www.cve.org/CVERecord?id=CVE-2022-45412
    https://www.cve.org/CVERecord?id=CVE-2022-45416
    https://www.cve.org/CVERecord?id=CVE-2022-45418
    https://www.cve.org/CVERecord?id=CVE-2022-45420
    https://www.cve.org/CVERecord?id=CVE-2022-45421
  (* Security fix *)
xfce/xfce4-settings-4.16.5-x86_64-1.txz:  Upgraded.
  This update fixes regressions in the previous security fix:
  mime-settings: Properly quote command parameters.
  Revert "Escape characters which do not belong into an URI/URL (Issue #390)."
2022-11-17 07:00:14 +01:00

245 lines
7.5 KiB
Bash
Executable file

#!/bin/bash
# Copyright 2008, 2009, 2010, 2012, 2013, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022 Patrick J. Volkerding, Sebeka, Minnesota, USA
# 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.
# Modified 2012 by Eric Hameleers <alien at slackware.com> for ARM port.
cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=samba
VERSION=${VERSION:-$(echo samba-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
BUILD=${BUILD:-1}
if [ -e $CWD/machine.conf ]; then
. $CWD/machine.conf ]
elif [ -e /etc/slackbuild/machine.conf ]; then
. /etc/slackbuild/machine.conf ]
else
# 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
# Set CFLAGS/CXXFLAGS and LIBDIRSUFFIX:
if [ "$ARCH" = "i586" ]; then
SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "s390" ]; then
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
fi
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-$VERSION-$ARCH-$BUILD.txz"
exit 0
fi
case "$ARCH" in
arm*) TARGET=$ARCH-slackware-linux-gnueabi ;;
*) TARGET=$ARCH-slackware-linux ;;
esac
NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
TMP=${TMP:-/tmp}
PKG=$TMP/package-samba
rm -rf $PKG
mkdir -p $TMP $PKG
cd $TMP
rm -rf samba-$VERSION
tar xvf $CWD/samba-$VERSION.tar.?z || exit 1
cd samba-$VERSION || exit 1
# Add time.h to libsmbclient.h for ffmpeg compatibility:
zcat $CWD/samba.libsmbclient.h.ffmpeg.compat.diff.gz | patch -p1 --verbose || exit 1
if [ ! -d source3/lib/cmdline ]; then
( cd source3/lib
mkdir cmdline
cd cmdline
ln -sf ../../../source3/include/popt_common.h . )
fi
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 {} \+
# Choose correct options depending on whether PAM is installed:
if [ -L /lib${LIBDIRSUFFIX}/libpam.so.? ]; then
PAM_OPTIONS="--with-pam --with-pammodulesdir=/lib${LIBDIRSUFFIX}/security --with-system-mitkrb5 --with-experimental-mit-ad-dc"
unset SHADOW_OPTIONS
else
unset PAM_OPTIONS
SHADOW_OPTIONS="--without-pam"
fi
# Some of these options could be auto-detected, but declaring them
# here doesn't hurt and helps document what features we're trying to
# build in.
#
# LDFLAGS are needed to avoid problems with missing symbols.
LDFLAGS="-Wl,--no-as-needed" \
CFLAGS="$SLKCFLAGS" \
./configure \
--enable-fhs \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--includedir=/usr/include \
--bindir=/usr/bin \
--sbindir=/usr/sbin \
--mandir=/usr/man \
--sysconfdir=/etc \
--with-configdir=/etc/samba \
--with-piddir=/var/run \
--with-privatedir=/var/lib/samba/private \
--with-privatelibdir=/usr/lib${LIBDIRSUFFIX} \
--with-modulesdir=/usr/lib${LIBDIRSUFFIX} \
--with-lockdir=/var/cache/samba \
--with-logfilebase=/var/log/samba \
--localstatedir=/var \
--enable-cups \
--with-acl-support \
--with-automount \
--with-quotas \
--with-syslog \
--with-utmp \
--with-winbind \
--with-ldap \
--with-ads \
--without-fam \
$PAM_OPTIONS \
$SHADOW_OPTIONS \
--build=$TARGET || exit 1
# Gives errors:
#--builtin-libraries=replace,ccan \
#--bundled-libraries=heimdal \
# Build with waf directly so that multiple jobs work.
# Script lifted from "./configure".
PREVPATH=$(dirname $0)
WAF=./buildtools/bin/waf
# using JOBS=1 gives maximum compatibility with
# systems like AIX which have broken threading in python
JOBS=$(echo $NUMJOBS | tr -dc '0-9')
export JOBS
# Make sure we don't have any library preloaded.
unset LD_PRELOAD
# Make sure we get stable hashes
PYTHONHASHSEED=1
export PYTHONHASHSEED
cd . || exit 1
${PYTHON:=python3} $WAF build "$@" || exit 1
cd $PREVPATH
mkdir -p \
$PKG/usr/doc/samba-$VERSION \
$PKG/var/spool/samba \
$PKG/var/log/samba \
$PKG/var/lib/samba/private \
$PKG/var/cache/samba
chmod 700 $PKG/var/lib/samba/private
chmod 1777 $PKG/var/spool/samba
# Again, use waf directly to allow multithreading:
#make install DESTDIR=$PKG || exit 1
DESTDIR=$PKG
export DESTDIR
${PYTHON:=python3} $WAF install "$@" || exit 1
# Install the smbprint script:
install -m0744 packaging/printing/smbprint $PKG/usr/bin/smbprint
# Add a sample config file:
cat $CWD/smb.conf.default > $PKG/etc/samba/smb.conf-sample
# Setup a default lmhosts file:
echo "127.0.0.1 localhost" > $PKG/etc/samba/lmhosts.new
if [ ! -r $PKG/usr/bin/smbget ]; then
rm -f $PKG/usr/share/man/man1/smbget.1
fi
# We'll add rc.samba to the init directory, but chmod 644 so that it doesn't
# start by default:
mkdir -p $PKG/etc/rc.d
cat $CWD/rc.samba > $PKG/etc/rc.d/rc.samba.new
chmod 644 $PKG/etc/rc.d/rc.samba.new
mv $PKG/usr/share/man $PKG/usr
gzip -9 $PKG/usr/man/man?/*.?
find $PKG | xargs file | grep -e "executable" -e "shared object" \
| grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
# PAM related stuff we don't use:
rm -r $PKG/usr/share/locale
rm -f $PKG/usr/man/man8/pam*
cp -a \
COPYING* MAINTAINERS Manifest PFIF.txt README* \
Read-Manifest-Now Roadmap WHATSNEW.txt docs examples \
$PKG/usr/doc/samba-$VERSION
# These are installed elsewhere:
rm -rf $PKG/usr/doc/samba-$VERSION/docs/htmldocs \
$PKG/usr/doc/samba-$VERSION/docs/manpages
# Empty now?
rmdir $PKG/usr/doc/samba-$VERSION/docs 2> /dev/null
# I'm sorry, but when all this info is included in HTML, adding 7MB worth of
# PDF files just to have extra artwork is more fluff than I'll agree to.
rm -f $PKG/usr/doc/samba-$VERSION/docs/*.pdf
# Also redundant also:
rm -rf $PKG/usr/doc/samba-$VERSION/docs/docbook
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
cat << EOF
*** Be sure the package contains:
drwxr-xr-x 2 root root 4096 May 3 15:46 /var/cache/samba/
drwx------ 2 root root 1024 Mar 12 13:21 /var/lib/samba/private
drwxr-xr-x 2 root root 48 Aug 29 13:06 /var/log/samba/
drwxrwxrwt 2 root root 1024 Mar 12 13:21 /var/spool/samba/
EOF
cd $PKG
/sbin/makepkg -l y -c n $TMP/samba-$VERSION-$ARCH-$BUILD.txz