mirror of
git://slackware.nl/current.git
synced 2024-12-28 09:59:53 +01:00
334fa970fe
l/libqalculate-4.9.0-x86_64-1.txz: Upgraded. l/mozilla-nss-3.95-x86_64-1.txz: Upgraded. l/v4l-utils-1.26.0-x86_64-2.txz: Rebuilt. Do not overwrite gconv-modules from glibc - instead, install it to gconv-modules.d/v4l-utils.conf. If your /usr/lib{,64}/gconv/gconv-modules was overwritten causing character conversion errors, reinstall the glibc package to fix this. Thanks to glennmcc. n/php-8.3.0-x86_64-1.txz: Upgraded. n/samba-4.19.3-x86_64-1.txz: Upgraded. This is a security release in order to address the following defect: An information leak vulnerability was discovered in Samba's LDAP server. Due to missing access control checks, an authenticated but unprivileged attacker could discover the names and preserved attributes of deleted objects in the LDAP store. Upgrading to this package will not prevent this information leak - if you are using Samba as an Active Directory Domain Controller, you will need to follow the instructions in the samba.org link given below. For more information, see: https://www.samba.org/samba/security/CVE-2018-14628.html https://www.cve.org/CVERecord?id=CVE-2018-14628 (* Security fix *) x/libwacom-2.9.0-x86_64-1.txz: Upgraded.
185 lines
5.9 KiB
Bash
Executable file
185 lines
5.9 KiB
Bash
Executable file
#!/bin/bash
|
|
# Copyright 2005, 2006, 2008, 2009, 2010, 2012 Eric Hameleers, Eindhoven, NL
|
|
# Copyright 2013, 2014, 2015, 2017, 2018, 2019, 2020, 2023 Patrick J. Volkerding, Sebeka, MN, USA
|
|
# All rights reserved.
|
|
#
|
|
# Permission to use, copy, modify, and distribute this software for
|
|
# any purpose with or without fee is hereby granted, provided that
|
|
# the above copyright notice and this permission notice appear in all
|
|
# copies.
|
|
#
|
|
# THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 AUTHORS AND COPYRIGHT HOLDERS AND THEIR
|
|
# CONTRIBUTORS 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=mozilla-nss
|
|
SRCNAM=nss
|
|
VERSION=${VERSION:-3.95}
|
|
NSPR=${NSPR:-4.35}
|
|
BUILD=${BUILD:-1}
|
|
|
|
# Automatically determine the architecture we're building on:
|
|
MARCH=$( uname -m )
|
|
if [ -z "$ARCH" ]; then
|
|
case "$MARCH" in
|
|
i?86) export ARCH=i586 ;;
|
|
armv7hl) export ARCH=$MARCH ;;
|
|
arm*) export ARCH=arm ;;
|
|
# Unless $ARCH is already set, use uname -m for all other archs:
|
|
*) export ARCH=$MARCH ;;
|
|
esac
|
|
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
|
|
|
|
if [ "$ARCH" = "i586" ]; then
|
|
SLKCFLAGS="-O2 -march=i586 -mtune=i686"
|
|
LIBDIRSUFFIX=""
|
|
elif [ "$ARCH" = "x86_64" ]; then
|
|
SLKCFLAGS="-O2 -fPIC"
|
|
LIBDIRSUFFIX="64"
|
|
export USE_64=1
|
|
elif [ "$ARCH" = "armv7hl" ]; then
|
|
SLKCFLAGS="-O2 -march=armv7-a -mfpu=vfpv3-d16"
|
|
LIBDIRSUFFIX=""
|
|
else
|
|
SLKCFLAGS="-O2"
|
|
LIBDIRSUFFIX=""
|
|
fi
|
|
|
|
TMP=${TMP:-/tmp}
|
|
PKG=$TMP/package-$PKGNAM
|
|
|
|
NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
|
|
|
|
rm -rf $PKG
|
|
mkdir -p $TMP $PKG
|
|
|
|
cd $TMP
|
|
rm -rf nss-${VERSION}
|
|
rm -rf nspr-${NSPR}
|
|
tar xvf $CWD/nss-$VERSION.tar.?z || exit 1
|
|
cd nss-$VERSION
|
|
tar xvf $CWD/nspr-$NSPR.tar.?z || exit 1
|
|
mv nspr*/nspr .
|
|
|
|
## -Werror is problematic with gcc7:
|
|
#sed -i "s|\ -Werror| |" nss/coreconf/Werror.mk || exit 1
|
|
|
|
# Make sure ownerships and permissions are sane:
|
|
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 {} \+
|
|
|
|
cd nss
|
|
./build.sh -v $NUMJOBS --opt --system-sqlite --enable-libpkix --disable-tests
|
|
cd -
|
|
|
|
# Install all the needed stuff to the package dir:
|
|
mkdir -p $PKG/usr/{bin,lib${LIBDIRSUFFIX},include/{nss,nspr}}
|
|
cd dist/Release
|
|
cp -pL bin/{certutil,cmsutil,crlutil,modutil,pk12util,shlibsign,signtool,signver,ssltap} $PKG/usr/bin/
|
|
cp -pL lib/* $PKG/usr/lib${LIBDIRSUFFIX}/
|
|
chmod 755 $PKG/usr/lib${LIBDIRSUFFIX}/*.so*
|
|
cp -rL include/* $PKG/usr/include/
|
|
cp -rpL ../public/nss/*.h $PKG/usr/include/nss/
|
|
# Remove some things we do not need:
|
|
rm -f $PKG/usr/bin/*.so
|
|
rm -f $PKG/usr/lib${LIBDIRSUFFIX}/*.{TOC,a}
|
|
rm -rf $PKG/usr/include/nspr/md
|
|
# We require a few static libraries. Why? I don't remember.
|
|
cp -L ../../nss/out/Release/lib{crmf,nssb,nssckfw}.a $PKG/usr/lib${LIBDIRSUFFIX}/ || exit 1
|
|
cd -
|
|
|
|
cd nss/cmd/smimetools
|
|
cp -a smime $PKG/usr/bin/
|
|
chmod 0755 $PKG/usr/bin/smime
|
|
sed -i -e 's#/usr/local/bin#/usr/bin#g' $PKG/usr/bin/smime
|
|
cd -
|
|
|
|
# Install nspr-config:
|
|
cat nspr/Release/config/nspr-config | sed -e "s,^prefix=.*$,prefix=/usr,g" | sed -e "s,libdir=\${exec_prefix}/lib,libdir=\${exec_prefix}/lib${LIBDIRSUFFIX},g" > $PKG/usr/bin/nspr-config
|
|
chmod 755 $PKG/usr/bin/nspr-config
|
|
|
|
# Install nss-config:
|
|
sed -e "s,@prefix@,/usr,g" \
|
|
-e "s,@MOD_MAJOR_VERSION@,$(printf $VERSION | cut -d. -f1),g" \
|
|
-e "s,@MOD_MINOR_VERSION@,$(printf $VERSION | cut -d. -f2),g" \
|
|
-e "s,@MOD_PATCH_VERSION@,$(printf $VERSION | cut -d. -f3),g" \
|
|
$CWD/nss-config.in > $PKG/usr/bin/nss-config
|
|
chmod 755 $PKG/usr/bin/nss-config
|
|
|
|
# Provide pkg-config files:
|
|
mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig
|
|
cat <<EOT > $PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig/mozilla-nss.pc
|
|
prefix=/usr
|
|
exec_prefix=\${prefix}
|
|
libdir=/usr/lib${LIBDIRSUFFIX}
|
|
includedir=\${prefix}/include/nss
|
|
|
|
Name: NSS
|
|
Description: Network Security Services
|
|
Version: $VERSION
|
|
Requires: nspr >= $NSPR sqlite3
|
|
Libs: -L\${libdir} -lnss3 -lsmime3 -lssl3 -lsoftokn3 -lnssutil3
|
|
Cflags: -I\${includedir}
|
|
EOT
|
|
cat <<EOT > $PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig/mozilla-nspr.pc
|
|
prefix=/usr
|
|
exec_prefix=\${prefix}
|
|
libdir=/usr/lib${LIBDIRSUFFIX}
|
|
includedir=\${prefix}/include/nspr
|
|
|
|
Name: NSPR
|
|
Description: The Netscape Portable Runtime
|
|
Version: $NSPR
|
|
Libs: -L\${libdir} -lplds4 -lplc4 -lnspr4
|
|
Cflags: -I\${includedir}
|
|
EOT
|
|
|
|
( cd $PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig
|
|
ln -s mozilla-nspr.pc nspr.pc
|
|
ln -s mozilla-nss.pc nss.pc
|
|
)
|
|
|
|
# Add documentation:
|
|
mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
|
|
cp -a \
|
|
$CWD/MPL-1.1.txt $CWD/gpl-2.0.txt $CWD/lgpl-2.1.txt \
|
|
$CWD/faq.html \
|
|
$PKG/usr/doc/$PKGNAM-$VERSION
|
|
chown -R root:root $PKG/usr/doc/$PKGNAM-$VERSION
|
|
|
|
# Strip binaries:
|
|
find $PKG | xargs file | grep -e "executable" -e "shared object" \
|
|
| grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
|
|
|
|
# Add a package description:
|
|
mkdir -p $PKG/install
|
|
cat $CWD/slack-desc > $PKG/install/slack-desc
|
|
|
|
# Build the package:
|
|
cd $PKG
|
|
/sbin/makepkg -l y -c n $TMP/${PKGNAM}-${VERSION}-${ARCH}-${BUILD}.txz
|
|
|