mirror of
git://slackware.nl/current.git
synced 2024-12-30 10:24:23 +01:00
2ae63821dd
a/gptfdisk-1.0.5-x86_64-1.txz: Upgraded. a/kernel-firmware-20200219_2277987-noarch-1.txz: Upgraded. a/kernel-generic-5.4.21-x86_64-1.txz: Upgraded. a/kernel-huge-5.4.21-x86_64-1.txz: Upgraded. a/kernel-modules-5.4.21-x86_64-1.txz: Upgraded. a/shadow-4.8.1-x86_64-5.txz: Rebuilt. a/util-linux-2.35.1-x86_64-4.txz: Rebuilt. ap/cdparanoia-III_10.2-x86_64-3.txz: Rebuilt. Moved man page from /usr/man/jp/man1/ to /usr/man/ja/man1/. Thanks to Xsane. Don't ship the static libraries. d/kernel-headers-5.4.21-x86-1.txz: Upgraded. k/kernel-source-5.4.21-noarch-1.txz: Upgraded. SND_SOC n -> m SPI n -> y VFIO_PCI_VGA n -> y +ADE7854_SPI m +ADT7316_SPI m +BMC150_ACCEL_SPI m +BMG160_SPI m +BMP280_SPI m +FXAS21002C_SPI m +HTS221_SPI m +IIO_ST_ACCEL_SPI_3AXIS m +IIO_ST_GYRO_SPI_3AXIS m +IIO_ST_MAGN_SPI_3AXIS m +IIO_ST_PRESS_SPI m +IIO_ST_SENSORS_SPI m +INPUT_AD714X_SPI m +INPUT_ADXL34X_SPI m +KXSD9_SPI m +REGMAP_SPI m +SND_COMPRESS_OFFLOAD m +SND_DESIGNWARE_I2S m +SND_DESIGNWARE_PCM y +SND_DMAENGINE_PCM m +SND_HDA_EXT_CORE m +SND_I2S_HI6210_I2S m +SND_PCM_ELD y +SND_PCM_IEC958 y +SND_SIMPLE_CARD m +SND_SIMPLE_CARD_UTILS m +SND_SOC_AC97_BUS y +SND_SOC_AC97_CODEC m +SND_SOC_ACPI m +SND_SOC_ACPI_INTEL_MATCH m +SND_SOC_ADAU1761 m +SND_SOC_ADAU1761_I2C m +SND_SOC_ADAU1761_SPI m +SND_SOC_ADAU17X1 m +SND_SOC_ADAU7002 m +SND_SOC_ADAU_UTILS m +SND_SOC_AMD_ACP m +SND_SOC_AMD_ACP3x m +SND_SOC_AMD_CZ_DA7219MX98357_MACH m +SND_SOC_AMD_CZ_RT5645_MACH m +SND_SOC_BD28623 m +SND_SOC_COMPRESS y +SND_SOC_CROS_EC_CODEC m +SND_SOC_CS35L34 m +SND_SOC_CS35L35 m +SND_SOC_CS35L36 m +SND_SOC_CS42L42 m +SND_SOC_CS43130 m +SND_SOC_CX2072X m +SND_SOC_DA7213 m +SND_SOC_DA7219 m +SND_SOC_DMIC m +SND_SOC_ES7134 m +SND_SOC_ES7241 m +SND_SOC_ES8316 m +SND_SOC_ES8328 m +SND_SOC_ES8328_I2C m +SND_SOC_ES8328_SPI m +SND_SOC_GENERIC_DMAENGINE_PCM y +SND_SOC_HDAC_HDA m +SND_SOC_HDAC_HDMI m +SND_SOC_HDMI_CODEC m +SND_SOC_I2C_AND_SPI m +SND_SOC_INTEL_APL m +SND_SOC_INTEL_BDW_RT5677_MACH m +SND_SOC_INTEL_BROADWELL_MACH m +SND_SOC_INTEL_BXT_DA7219_MAX98357A_MACH m +SND_SOC_INTEL_BXT_RT298_MACH m +SND_SOC_INTEL_BYTCR_RT5640_MACH m +SND_SOC_INTEL_BYTCR_RT5651_MACH m +SND_SOC_INTEL_BYT_CHT_CX2072X_MACH m +SND_SOC_INTEL_BYT_CHT_DA7213_MACH m +SND_SOC_INTEL_BYT_CHT_ES8316_MACH m +SND_SOC_INTEL_BYT_CHT_NOCODEC_MACH m +SND_SOC_INTEL_CFL m +SND_SOC_INTEL_CHT_BSW_MAX98090_TI_MACH m +SND_SOC_INTEL_CHT_BSW_NAU8824_MACH m +SND_SOC_INTEL_CHT_BSW_RT5645_MACH m +SND_SOC_INTEL_CHT_BSW_RT5672_MACH m +SND_SOC_INTEL_CML_H m +SND_SOC_INTEL_CML_LP m +SND_SOC_INTEL_CNL m +SND_SOC_INTEL_DA7219_MAX98357A_GENERIC m +SND_SOC_INTEL_GLK m +SND_SOC_INTEL_GLK_RT5682_MAX98357A_MACH m +SND_SOC_INTEL_HASWELL m +SND_SOC_INTEL_HASWELL_MACH m +SND_SOC_INTEL_KBL m +SND_SOC_INTEL_KBL_DA7219_MAX98357A_MACH m +SND_SOC_INTEL_KBL_DA7219_MAX98927_MACH m +SND_SOC_INTEL_KBL_RT5660_MACH m +SND_SOC_INTEL_KBL_RT5663_MAX98927_MACH m +SND_SOC_INTEL_MACH y +SND_SOC_INTEL_SKL m +SND_SOC_INTEL_SKL_NAU88L25_MAX98357A_MACH m +SND_SOC_INTEL_SKL_NAU88L25_SSM4567_MACH m +SND_SOC_INTEL_SKL_RT286_MACH m +SND_SOC_INTEL_SKYLAKE m +SND_SOC_INTEL_SKYLAKE_COMMON m +SND_SOC_INTEL_SKYLAKE_FAMILY m +SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC y +SND_SOC_INTEL_SKYLAKE_SSP_CLK m +SND_SOC_INTEL_SST m +SND_SOC_INTEL_SST_ACPI m +SND_SOC_INTEL_SST_FIRMWARE m +SND_SOC_INTEL_SST_TOPLEVEL y +SND_SOC_MAX9759 m +SND_SOC_MAX98088 m +SND_SOC_MAX98090 m +SND_SOC_MAX98357A m +SND_SOC_MAX98373 m +SND_SOC_MAX9867 m +SND_SOC_MAX98927 m +SND_SOC_NAU8540 m +SND_SOC_NAU8824 m +SND_SOC_NAU8825 m +SND_SOC_PCM1789 m +SND_SOC_PCM1789_I2C m +SND_SOC_PCM186X m +SND_SOC_PCM186X_I2C m +SND_SOC_PCM186X_SPI m +SND_SOC_PCM3060 m +SND_SOC_PCM3060_I2C m +SND_SOC_PCM3060_SPI m +SND_SOC_RL6231 m +SND_SOC_RL6347A m +SND_SOC_RT286 m +SND_SOC_RT298 m +SND_SOC_RT5640 m +SND_SOC_RT5645 m +SND_SOC_RT5651 m +SND_SOC_RT5660 m +SND_SOC_RT5663 m +SND_SOC_RT5670 m +SND_SOC_RT5677 m +SND_SOC_RT5677_SPI m +SND_SOC_RT5682 m +SND_SOC_SIGMADSP m +SND_SOC_SIGMADSP_REGMAP m +SND_SOC_SIMPLE_AMPLIFIER m +SND_SOC_SOF m +SND_SOC_SOF_ACPI m +SND_SOC_SOF_APOLLOLAKE m +SND_SOC_SOF_APOLLOLAKE_SUPPORT y +SND_SOC_SOF_BAYTRAIL m +SND_SOC_SOF_BAYTRAIL_SUPPORT y +SND_SOC_SOF_CANNONLAKE m +SND_SOC_SOF_CANNONLAKE_SUPPORT y +SND_SOC_SOF_COFFEELAKE m +SND_SOC_SOF_COFFEELAKE_SUPPORT y +SND_SOC_SOF_COMETLAKE_H m +SND_SOC_SOF_COMETLAKE_H_SUPPORT y +SND_SOC_SOF_COMETLAKE_LP m +SND_SOC_SOF_COMETLAKE_LP_SUPPORT y +SND_SOC_SOF_ELKHARTLAKE m +SND_SOC_SOF_ELKHARTLAKE_SUPPORT y +SND_SOC_SOF_GEMINILAKE m +SND_SOC_SOF_GEMINILAKE_SUPPORT y +SND_SOC_SOF_HDA m +SND_SOC_SOF_HDA_AUDIO_CODEC y +SND_SOC_SOF_HDA_COMMON m +SND_SOC_SOF_HDA_LINK y +SND_SOC_SOF_HDA_LINK_BASELINE m +SND_SOC_SOF_ICELAKE m +SND_SOC_SOF_ICELAKE_SUPPORT y +SND_SOC_SOF_INTEL_ACPI m +SND_SOC_SOF_INTEL_ATOM_HIFI_EP m +SND_SOC_SOF_INTEL_COMMON m +SND_SOC_SOF_INTEL_HIFI_EP_IPC m +SND_SOC_SOF_INTEL_PCI m +SND_SOC_SOF_INTEL_TOPLEVEL y +SND_SOC_SOF_MERRIFIELD m +SND_SOC_SOF_MERRIFIELD_SUPPORT y +SND_SOC_SOF_OPTIONS m +SND_SOC_SOF_PCI m +SND_SOC_SOF_PROBE_WORK_QUEUE y +SND_SOC_SOF_TIGERLAKE m +SND_SOC_SOF_TIGERLAKE_SUPPORT y +SND_SOC_SOF_TOPLEVEL y +SND_SOC_SOF_XTENSA m +SND_SOC_SPDIF m +SND_SOC_SSM4567 m +SND_SOC_TAS6424 m +SND_SOC_TDA7419 m +SND_SOC_TLV320AIC32X4 m +SND_SOC_TLV320AIC32X4_I2C m +SND_SOC_TLV320AIC32X4_SPI m +SND_SOC_TOPOLOGY y +SND_SOC_TS3A227E m +SND_SOC_TSCS42XX m +SND_SOC_WM8524 m +SND_SPI y +SND_SST_ATOM_HIFI2_PLATFORM m +SND_SST_ATOM_HIFI2_PLATFORM_ACPI m +SND_SST_ATOM_HIFI2_PLATFORM_PCI m +SND_SST_IPC m +SND_SST_IPC_ACPI m +SND_SST_IPC_PCI m +SPI_MASTER y +ST_UVIS25_SPI m l/gegl-0.4.22-x86_64-1.txz: Upgraded. l/glib2-2.62.5-x86_64-1.txz: Upgraded. l/python-requests-2.23.0-x86_64-1.txz: Upgraded. n/NetworkManager-1.22.8-x86_64-1.txz: Upgraded. n/openssh-8.2p1-x86_64-2.txz: Rebuilt. n/php-7.4.3-x86_64-1.txz: Upgraded. This update fixes bugs and security issues: Phar: Files added to tar with Phar::buildFromIterator have all-access permissions. Phar: heap-buffer-overflow in phar_extract_file. Session: Null Pointer Dereference in PHP Session Upload Progress. For more information, see: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-7063 https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-7061 https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-7062 (* Security fix *) x/mesa-20.0.0-x86_64-1.txz: Upgraded. Added Wayland platform support. x/wayland-1.18.0-x86_64-1.txz: Added. x/wayland-protocols-1.18-noarch-1.txz: Added. x/xorg-server-1.20.7-x86_64-2.txz: Rebuilt. x/xorg-server-xephyr-1.20.7-x86_64-2.txz: Rebuilt. x/xorg-server-xnest-1.20.7-x86_64-2.txz: Rebuilt. x/xorg-server-xvfb-1.20.7-x86_64-2.txz: Rebuilt. x/xorg-server-xwayland-1.20.7-x86_64-2.txz: Added. xap/gimp-2.10.16-x86_64-1.txz: Upgraded. isolinux/initrd.img: Rebuilt. kernels/*: Upgraded. testing/packages/PAM/openssh-8.2p1-x86_64-2_pam.txz: Rebuilt. /etc/pam.d/sshd: add commented out pam_tally2 example. testing/packages/PAM/shadow-4.8.1-x86_64-5_pam.txz: Rebuilt. /etc/pam.d/system-auth: add support for pam_group, remove pam_tally2. Thanks to ivandi. /etc/pam.d/*: Don't use tabs. testing/packages/PAM/util-linux-2.35.1-x86_64-4_pam.txz: Rebuilt. /etc/pam.d/login: add commented out pam_tally2 example. /etc/pam.d/*: Don't use tabs. usb-and-pxe-installers/usbboot.img: Rebuilt.
421 lines
15 KiB
Bash
Executable file
421 lines
15 KiB
Bash
Executable file
#!/bin/bash
|
|
# Copyright 2007-2018 Patrick J. Volkerding, Sebeka, MN, 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.
|
|
|
|
# To build only a single package group, specify it as $1, like:
|
|
# ./x11.SlackBuild lib
|
|
# To build only a single package, specify both the source directory
|
|
# and the name of the package, like:
|
|
# ./x11.SlackBuild lib libX11
|
|
|
|
# Upgrade packages as they are built.
|
|
# Default is to always upgrade newly-built packages (UPGRADE_PACKAGES=always).
|
|
# To install newly built packages only if a package with the exact name is not
|
|
# already installed, use UPGRADE_PACKAGES=yes
|
|
# To not upgrade as packages are built, pass UPGRADE_PACKAGES=no
|
|
UPGRADE_PACKAGES=${UPGRADE_PACKAGES:-always}
|
|
|
|
pkgbase() {
|
|
PKGEXT=$(echo $1 | rev | cut -f 1 -d . | rev)
|
|
case $PKGEXT in
|
|
'gz' )
|
|
PKGRETURN=$(basename $1 .tar.gz)
|
|
;;
|
|
'bz2' )
|
|
PKGRETURN=$(basename $1 .tar.bz2)
|
|
;;
|
|
'lzma' )
|
|
PKGRETURN=$(basename $1 .tar.lzma)
|
|
;;
|
|
'xz' )
|
|
PKGRETURN=$(basename $1 .tar.xz)
|
|
;;
|
|
*)
|
|
PKGRETURN=$(basename $1)
|
|
;;
|
|
esac
|
|
echo $PKGRETURN
|
|
}
|
|
|
|
# Set initial variables:
|
|
cd $(dirname $0) ; CWD=$(pwd)
|
|
if [ -z "$TMP" ]; then
|
|
TMP=/tmp
|
|
# Old default output directory. If $TMP wasn't predefined, we'll default to
|
|
# using it unless a different value is provided:
|
|
SLACK_X_BUILD_DIR=${SLACK_X_BUILD_DIR:-/tmp/x11-build}
|
|
else
|
|
# $TMP already set. We'll also use it for the output directory unless
|
|
# a different value is provided:
|
|
SLACK_X_BUILD_DIR=${SLACK_X_BUILD_DIR:-$TMP}
|
|
fi
|
|
mkdir -p $TMP $SLACK_X_BUILD_DIR
|
|
|
|
# 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
|
|
|
|
# A lot of this stuff just controls the package names this time:
|
|
VERSION=${VERSION:-7.5}
|
|
BUILD=${BUILD:-1}
|
|
PKGARCH=$ARCH
|
|
NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
|
|
|
|
if [ "$ARCH" = "x86_64" ]; then
|
|
LIBDIRSUFFIX="64"
|
|
else
|
|
LIBDIRSUFFIX=""
|
|
fi
|
|
|
|
# Set up a few useful functions:
|
|
|
|
fix_perms() {
|
|
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 {} \+
|
|
}
|
|
|
|
process_man_pages() {
|
|
# Compress and if needed symlink the man pages:
|
|
if [ -d usr/man ]; then
|
|
( cd usr/man
|
|
for manpagedir in $(find . -type d -name "man*") ; do
|
|
( cd $manpagedir
|
|
for eachpage in $( find . -type l -maxdepth 1) ; do
|
|
ln -s $( readlink $eachpage ).gz $eachpage.gz
|
|
rm $eachpage
|
|
done
|
|
gzip -9 *.*
|
|
)
|
|
done
|
|
)
|
|
fi
|
|
}
|
|
|
|
process_info_pages() {
|
|
# Compress info pages and purge "dir" file from the package:
|
|
if [ -d usr/info ]; then
|
|
( cd usr/info
|
|
rm -f dir
|
|
gzip -9 *
|
|
)
|
|
fi
|
|
}
|
|
|
|
no_usr_share_doc() {
|
|
# If there are docs, move them:
|
|
if [ -d usr/share/doc ]; then
|
|
mkdir -p usr/doc
|
|
mv usr/share/doc/* usr/doc
|
|
rmdir usr/share/doc
|
|
fi
|
|
}
|
|
|
|
# Set the compile options for the $ARCH being used:
|
|
. $CWD/arch.use.flags
|
|
|
|
# Better have some binaries installed first, as this may not be
|
|
# in the "magic order". I built mine by hand through trial-and-error
|
|
# before getting this script to work. It wasn't that hard... I think. ;-)
|
|
( cd src
|
|
for x_source_dir in proto data util xcb lib app doc xserver driver font ; do
|
|
# See if $1 is a source directory like "lib":
|
|
if [ ! -z "$1" ]; then
|
|
if [ ! "$1" = "${x_source_dir}" ]; then
|
|
continue
|
|
fi
|
|
fi
|
|
PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir}
|
|
rm -rf $PKG
|
|
mkdir -p $PKG
|
|
( cd $x_source_dir
|
|
for x_pkg in *.tar.?z* ; do
|
|
# Reset $PKGARCH to its initial value:
|
|
PKGARCH=$ARCH
|
|
PKGNAME=$(echo $x_pkg | rev | cut -f 2- -d - | rev)
|
|
# Perhaps $PKGARCH should be something different:
|
|
if grep -wq "^$PKGNAME" ${CWD}/noarch ; then
|
|
PKGARCH=noarch
|
|
fi
|
|
if grep -wq "^$PKGNAME" ${CWD}/package-blacklist ; then
|
|
continue
|
|
fi
|
|
cd $SLACK_X_BUILD_DIR
|
|
# If $2 is set, we only want to build one package:
|
|
if [ ! -z "$2" ]; then
|
|
if [ "$2" = "$PKGNAME" ]; then
|
|
# Set $PKG to a private dir for the modular package build:
|
|
PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME
|
|
rm -rf $PKG
|
|
mkdir -p $PKG
|
|
else
|
|
continue
|
|
fi
|
|
else
|
|
if [ -z "$PRINT_PACKAGE_NAME" ]; then
|
|
echo
|
|
echo "Building from source ${x_pkg}"
|
|
echo
|
|
fi
|
|
fi
|
|
if grep -wq "^$PKGNAME" ${CWD}/modularize ; then
|
|
# Set $PKG to a private dir for the modular package build:
|
|
PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME
|
|
rm -rf $PKG
|
|
mkdir -p $PKG
|
|
fi
|
|
|
|
# Let's figure out the version number on the modular package:
|
|
MODULAR_PACKAGE_VERSION=$(echo $x_pkg | rev | cut -f 3- -d . | cut -f 1 -d - | rev)
|
|
|
|
# If this variable is passed to the script, nothing will be built.
|
|
# Instead, a list of packages to be built will be output.
|
|
if [ ! -z "$PRINT_PACKAGE_NAME" ]; then
|
|
if [ -r $CWD/build/${PKGNAME} ]; then
|
|
MODBUILD=$(cat $CWD/build/${PKGNAME})
|
|
else
|
|
MODBUILD=$BUILD
|
|
fi
|
|
if [ ! "${PKGNAME}" = "xorg-server" ]; then
|
|
echo "${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz"
|
|
else
|
|
echo "xorg-server-xnest-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz"
|
|
echo "xorg-server-xvfb-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz"
|
|
echo "xorg-server-xephyr-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz"
|
|
echo "xorg-server-xwayland-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz"
|
|
echo "xorg-server-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz"
|
|
fi
|
|
continue
|
|
fi
|
|
|
|
rm -rf $(pkgbase $x_pkg)
|
|
tar xf $CWD/src/${x_source_dir}/${x_pkg} || exit 1
|
|
cd $(pkgbase $x_pkg) || exit 1
|
|
|
|
fix_perms
|
|
|
|
# If any patches are needed, call this script to apply them:
|
|
if [ -r $CWD/patch/${PKGNAME}.patch ]; then
|
|
. $CWD/patch/${PKGNAME}.patch
|
|
fi
|
|
|
|
# I heard somewhere that -O2 breaks some chipset or another. If you encounter
|
|
# problems, please contact volkerdi@slackware.com. Thanks! :-)
|
|
|
|
# ./configure, using custom configure script if needed:
|
|
if [ -r $CWD/configure/${PKGNAME} ]; then
|
|
. $CWD/configure/${PKGNAME}
|
|
else
|
|
# This is the default configure script:
|
|
. $CWD/configure/configure
|
|
fi
|
|
|
|
# Run make, using custom make script if needed:
|
|
if [ -r $CWD/make/${PKGNAME} ]; then
|
|
. $CWD/make/${PKGNAME}
|
|
else
|
|
# This is the default make && make install routine:
|
|
if ! make $NUMJOBS ; then
|
|
touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed
|
|
continue
|
|
fi
|
|
|
|
make install DESTDIR=$PKG
|
|
fi
|
|
|
|
mkdir -p $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION}
|
|
cp -a \
|
|
AUTHORS* COPYING* INSTALL* README* NEWS* TODO* \
|
|
$PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION}
|
|
|
|
# If there's a ChangeLog, installing at least part of the recent history
|
|
# is useful, but don't let it get totally out of control:
|
|
if [ -r ChangeLog ]; then
|
|
DOCSDIR=$(echo $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION)
|
|
cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
|
|
touch -r ChangeLog $DOCSDIR/ChangeLog
|
|
fi
|
|
|
|
# Get rid of zero-length junk files:
|
|
find $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION -type f -size 0 -exec rm --verbose "{}" \+
|
|
rmdir --verbose $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION 2> /dev/null
|
|
|
|
# Strip binaries:
|
|
( cd $PKG
|
|
find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
|
|
find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
|
|
find . | xargs file | grep "current ar archive" | grep ELF | cut -f 1 -d : | xargs strip -g 2> /dev/null
|
|
)
|
|
|
|
# Don't ship .la files:
|
|
rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la
|
|
|
|
# If there's any special post-install things to do, do them:
|
|
if [ -r $CWD/post-install/${PKGNAME}.post-install ]; then
|
|
RUNSCRIPT=$(mktemp -p $TMP) || exit 1
|
|
cat $CWD/post-install/${PKGNAME}.post-install \
|
|
| sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT
|
|
. $RUNSCRIPT
|
|
rm -f $RUNSCRIPT
|
|
fi
|
|
|
|
# If this package requires some doinst.sh material, add it here:
|
|
if [ -r $CWD/doinst.sh/${PKGNAME} ]; then
|
|
mkdir -p $PKG/install
|
|
cat $CWD/doinst.sh/${PKGNAME} \
|
|
| sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
|
|
>> $PKG/install/doinst.sh
|
|
fi
|
|
|
|
# If this is a modular package, build it here:
|
|
if [ -d $SLACK_X_BUILD_DIR/package-$PKGNAME ]; then
|
|
cd $PKG
|
|
process_man_pages
|
|
process_info_pages
|
|
no_usr_share_doc
|
|
mkdir -p $PKG/install
|
|
if [ -r $CWD/slack-desc/${PKGNAME} ]; then
|
|
cat $CWD/slack-desc/${PKGNAME} > $PKG/install/slack-desc
|
|
else
|
|
touch $PKG/install/slack-desc-missing
|
|
fi
|
|
if [ -r $CWD/build/${PKGNAME} ]; then
|
|
MODBUILD=$(cat $CWD/build/${PKGNAME})
|
|
else
|
|
MODBUILD=$BUILD
|
|
fi
|
|
if [ -r $CWD/makepkg/${PKGNAME} ]; then
|
|
BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
|
|
else
|
|
/sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
|
|
if [ "$UPGRADE_PACKAGES" = "yes" ]; then
|
|
/sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
|
|
elif [ "$UPGRADE_PACKAGES" = "always" ]; then
|
|
/sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
# Reset $PKG to assume we're building the whole source dir:
|
|
PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir}
|
|
|
|
done
|
|
|
|
# If we have anything here in /etc or /usr, then the build was not fully
|
|
# modular and we should package up whatever's there as an x11-<sourcedir>
|
|
# package:
|
|
if [ -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/etc -o \
|
|
-d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/usr ]; then
|
|
|
|
# Build an "x11-<sourcedir>" package for anything that wasn't built modular:
|
|
# It's safer to consider these to have binaries in them. ;-)
|
|
PKGARCH=$ARCH
|
|
cd $PKG
|
|
process_man_pages
|
|
process_info_pages
|
|
no_usr_share_doc
|
|
# If there are post-install things to do for the combined package,
|
|
# we do them here. This could be used for things like making a
|
|
# VERSION number for a combined package. :-)
|
|
if [ -r $CWD/post-install/x11-${x_source_dir}.post-install ]; then
|
|
RUNSCRIPT=$(mktemp -p $TMP) || exit 1
|
|
cat $CWD/post-install/x11-${x_source_dir}.post-install \
|
|
| sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT
|
|
. $RUNSCRIPT
|
|
rm -f $RUNSCRIPT
|
|
fi
|
|
mkdir -p $PKG/install
|
|
if [ -r $CWD/slack-desc/x11-${x_source_dir} ]; then
|
|
cat $CWD/slack-desc/x11-${x_source_dir} > $PKG/install/slack-desc
|
|
else
|
|
touch $PKG/install/slack-desc-missing
|
|
fi
|
|
if [ -r $CWD/doinst.sh/x11-${x_source_dir} ]; then
|
|
cat $CWD/doinst.sh/x11-${x_source_dir} \
|
|
| sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
|
|
>> $PKG/install/doinst.sh
|
|
fi
|
|
if [ -r $CWD/build/x11-${PKGNAME} ]; then
|
|
SRCDIRBUILD=$(cat $CWD/build/x11-${PKGNAME})
|
|
else
|
|
SRCDIRBUILD=$BUILD
|
|
fi
|
|
if [ -r $CWD/makepkg/${PKGNAME} ]; then
|
|
BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
|
|
else
|
|
/sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
|
|
if [ "$UPGRADE_PACKAGES" = "yes" ]; then
|
|
/sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
|
|
elif [ "$UPGRADE_PACKAGES" = "always" ]; then
|
|
/sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
|
|
fi
|
|
fi
|
|
|
|
fi # build x11-<sourcedir> package
|
|
)
|
|
done
|
|
)
|
|
|
|
exit 0
|
|
|
|
# I don't think I'll be using the following stuff, since I went for the latest in
|
|
# "individual", rather than a release. That was mostly because version 7.1 depends
|
|
# on a version of Mesa that won't build against kernel headers this new (&etc.).
|
|
|
|
# If environment variable "REFRESH" is exported, start by refreshing the source tree:
|
|
# export REFRESH yes
|
|
if [ ! -z "$REFRESH" ]; then
|
|
# Only works once, unless you uncomment above.
|
|
unset REFRESH
|
|
( cd patches
|
|
lftp -c \
|
|
"lftp ftp://ftp.x.org:/pub/X11R7.1/patches
|
|
mirror --delete --dereference .
|
|
exit"
|
|
chmod 644 *
|
|
)
|
|
( cd src
|
|
mkdir -p update everything
|
|
for dir in app data deprecated doc driver extras font lib proto util xserver ; do
|
|
# We won't really download "update", as problems ensue. Plus, --dereference is
|
|
# bringing us updated files when needed, so it's redundant (like "everything").
|
|
if [ ! -d $dir ]; then
|
|
mkdir $dir
|
|
fi
|
|
( cd $dir
|
|
lftp -c \
|
|
"lftp ftp://ftp.x.org:/pub/X11R7.1/src/$dir
|
|
mirror -c --delete --dereference --include-glob "*.tar.bz2" .
|
|
exit"
|
|
chmod 644 *
|
|
)
|
|
done
|
|
)
|
|
fi
|
|
|