From 646a5c1cbfd95873950a87b5f75d52073a967023 Mon Sep 17 00:00:00 2001 From: Patrick J Volkerding Date: Mon, 28 May 2018 19:12:29 +0000 Subject: Mon May 28 19:12:29 UTC 2018 a/pkgtools-15.0-noarch-13.txz: Rebuilt. installpkg: default line length for --terselength is the number of columns. removepkg: added --terse mode. upgradepkg: default line length for --terselength is the number of columns. upgradepkg: accept -option in addition to --option. ap/vim-8.1.0026-x86_64-1.txz: Upgraded. d/bison-3.0.5-x86_64-1.txz: Upgraded. e/emacs-26.1-x86_64-1.txz: Upgraded. kde/kopete-4.14.3-x86_64-8.txz: Rebuilt. Recompiled against libidn-1.35. n/conntrack-tools-1.4.5-x86_64-1.txz: Upgraded. n/libnetfilter_conntrack-1.0.7-x86_64-1.txz: Upgraded. n/libnftnl-1.1.0-x86_64-1.txz: Upgraded. n/links-2.16-x86_64-2.txz: Rebuilt. Rebuilt to enable X driver for -g mode. n/lynx-2.8.9dev.19-x86_64-1.txz: Upgraded. n/nftables-0.8.5-x86_64-1.txz: Upgraded. n/p11-kit-0.23.11-x86_64-1.txz: Upgraded. n/ulogd-2.0.7-x86_64-1.txz: Upgraded. n/whois-5.3.1-x86_64-1.txz: Upgraded. xap/network-manager-applet-1.8.12-x86_64-1.txz: Upgraded. xap/vim-gvim-8.1.0026-x86_64-1.txz: Upgraded. --- source/d/binutils/binutils.SlackBuild | 108 +++++++++++++++++++++------------- 1 file changed, 66 insertions(+), 42 deletions(-) (limited to 'source/d/binutils/binutils.SlackBuild') diff --git a/source/d/binutils/binutils.SlackBuild b/source/d/binutils/binutils.SlackBuild index 41fa980b2..717c0b6a7 100755 --- a/source/d/binutils/binutils.SlackBuild +++ b/source/d/binutils/binutils.SlackBuild @@ -1,6 +1,6 @@ -#!/bin/sh +#!/bin/bash -# Copyright 2005-2016 Patrick J. Volkerding, Sebeka, Minnesota, USA +# Copyright 2005-2018 Patrick J. Volkerding, Sebeka, Minnesota, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -22,9 +22,10 @@ # Modified 2011 by Eric Hameleers for ARM port. +cd $(dirname $0) ; CWD=$(pwd) PKGNAM=binutils -VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} BUILD=${BUILD:-3} # Automatically determine the architecture we're building on: @@ -39,6 +40,14 @@ if [ -z "$ARCH" ]; then 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 + NUMJOBS=${NUMJOBS:-" -j7 "} # Uncomment this to include the experimental gold linker: @@ -87,7 +96,6 @@ case "$ARCH" in *) TARGET=$ARCH-slackware-linux ;; esac -CWD=$(pwd) TMP=${TMP:-/tmp} PKG=$TMP/package-binutils @@ -96,33 +104,26 @@ mkdir -p $TMP $PKG cd $TMP rm -rf binutils-$VERSION -tar xvf $CWD/binutils-$VERSION.tar.xz || \ - tar xvf $CWD/binutils-$VERSION.tar.bz2 || exit 1 -cd binutils-$VERSION +tar xvf $CWD/binutils-$VERSION.tar.?z || exit 1 +cd binutils-$VERSION || exit 1 # Various upstream patches: -zcat $CWD/patches/binutils-2.20.51.0.2-libtool-lib64.patch | patch -p1 --verbose || exit 1 -zcat $CWD/patches/binutils-2.20.51.0.10-ppc64-pie.patch | patch -p1 --verbose || exit 1 -zcat $CWD/patches/binutils-2.25-version.patch | patch -p1 --verbose || exit 1 -zcat $CWD/patches/binutils-2.25-set-long-long.patch | patch -p1 --verbose || exit 1 -zcat $CWD/patches/binutils-2.20.51.0.10-copy-osabi.patch | patch -p1 --verbose || exit 1 -zcat $CWD/patches/binutils-2.20.51.0.10-sec-merge-emit.patch | patch -p1 --verbose || exit 1 -zcat $CWD/patches/binutils-2.22.52.0.1-relro-on-by-default.patch | patch -p1 --verbose || exit 1 -zcat $CWD/patches/binutils-2.23.52.0.1-addr2line-dynsymtab.patch | patch -p1 --verbose || exit 1 -zcat $CWD/patches/binutils-2.24-ldforcele.patch | patch -p1 --verbose || exit 1 -zcat $CWD/patches/binutils-2.25.1-cleansweep.patch | patch -p2 --verbose || exit 1 -zcat $CWD/patches/binutils-2.26-formatting.patch | patch -p2 --verbose || exit 1 -zcat $CWD/patches/binutils-2.26-fix-compile-warnings.patch | patch -p1 --verbose || exit 1 -zcat $CWD/patches/binutils-2.26-Bsymbolic_PIE.patch | patch -p1 --verbose || exit 1 -zcat $CWD/patches/binutils-2.26-lto.patch | patch -p1 --verbose || exit 1 -zcat $CWD/patches/binutils-rh1312151.patch | patch -p1 --verbose || exit 1 -zcat $CWD/patches/binutils-2.26-fix-GOT-offset-calculation.patch | patch -p1 --verbose || exit 1 +zcat $CWD/patches/binutils-2.20.51.0.2-libtool-lib64.patch.gz | patch -p1 --verbose || exit 1 +zcat $CWD/patches/binutils-2.25-version.patch.gz | patch -p1 --verbose || exit 1 +zcat $CWD/patches/binutils-2.25-set-long-long.patch.gz | patch -p1 --verbose || exit 1 +zcat $CWD/patches/binutils-2.20.51.0.10-copy-osabi.patch.gz | patch -p1 --verbose || exit 1 +zcat $CWD/patches/binutils-2.20.51.0.10-sec-merge-emit.patch.gz | patch -p1 --verbose || exit 1 +zcat $CWD/patches/binutils-2.24-ldforcele.patch.gz | patch -p1 --verbose || exit 1 +zcat $CWD/patches/binutils-2.25.1-cleansweep.patch.gz | patch -p2 --verbose || exit 1 # Export the demangle.h header file: zcat $CWD/patches/binutils.export.demangle.h.diff.gz | patch -p1 --verbose || exit 1 # Don't check to see if "config.h" was included in the installed headers: zcat $CWD/patches/binutils.no-config-h-check.diff.gz | patch -p1 --verbose || exit 1 +# Set %version to something halfway meaningful: +sed -i -e 's/%''{release}/slack15/g' bfd/Makefile{.am,.in} + chown -R root:root . find . \ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ @@ -143,6 +144,7 @@ CFLAGS="$SLKCFLAGS" \ --mandir=/usr/man \ --infodir=/usr/info \ --with-docdir=/usr/doc/binutils-$VERSION \ + --disable-compressed-debug-sections \ --enable-shared \ --enable-multilib \ --enable-64-bit-bfd \ @@ -156,32 +158,54 @@ CFLAGS="$SLKCFLAGS" \ --build=$TARGET \ || exit 1 +# Use "tooldir=/usr" to avoid internal references to the /usr/${TARGET}/ +# directory. While binutils won't actually use that directory after this, +# we'll still create it since some people have made local use of it. +# Note that this will place ldscripts in /usr/lib, even on $ARCH that +# use LIBDIRSUFFIX=64. According to Ian Lance Taylor, the ldscripts have +# been built into the linker for quite some time and the ones in the +# filesystem aren't actually loaded. For the most part they are now +# documentation and it doesn't matter where they reside. make clean || exit 1 -make $NUMJOBS || make || exit 1 -make install DESTDIR=$PKG || exit 1 - -# Differentiate between BSD strings and GNU strings -( cd $PKG/usr/bin ; mv strings strings-GNU ) -( cd $PKG/usr/man/man1 ; mv strings.1 strings-GNU.1 ) - -# Move ldscripts to /usr/lib${LIBDIRSUFFIX}, and then put symlinks in place -mv $PKG/usr/${TARGET}/lib/ldscripts $PKG/usr/lib${LIBDIRSUFFIX} -( cd $PKG/usr/${TARGET} - ln -s /usr/lib${LIBDIRSUFFIX}/ldscripts lib/ldscripts - for FILE in ar as ld ld.bfd ld.gold nm objcopy objdump ranlib strip ; do - if [ -r "/usr/bin/$FILE" ]; then - rm -f bin/$FILE - ln -s /usr/bin/$FILE bin/$FILE - fi - done -) +make tooldir=/usr $NUMJOBS || make tooldir=/usr || exit 1 +make tooldir=/usr install DESTDIR=$PKG || exit 1 + +# Using tooldir=/usr also makes the /usr/${TARGET}/lib${LIBDIRSUFFIX} +# directory obsolete, and the build will no longer install it. But since +# some people might be making local use of that directory, we'll install +# it anyway: +mkdir -p $PKG/usr/${TARGET}/lib${LIBDIRSUFFIX} +# Same with /usr/${TARGET}/bin: +mkdir -p $PKG/usr/${TARGET}/bin + +# Don't ship .la files: +rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la + +# Add a symlink since binutils's version of strings used to be called +# "strings-GNU" on Slackware, and it's possible that people have scripts +# that use that name: +( cd $PKG/usr/bin ; ln -sf strings strings-GNU ) + +## OBSOLETE, since we're using tooldir=/usr. But we'll keep this cruft as a +## reference until we get the all clear on the tooldir= changes. :-) +## Move ldscripts to /usr/lib${LIBDIRSUFFIX}, and then put symlinks in place +#mv $PKG/usr/${TARGET}/lib/ldscripts $PKG/usr/lib${LIBDIRSUFFIX} +#( cd $PKG/usr/${TARGET} +# ln -s /usr/lib${LIBDIRSUFFIX}/ldscripts lib/ldscripts +# for FILE in ar as ld ld.bfd ld.gold nm objcopy objdump ranlib strip ; do +# if [ -r "/usr/bin/$FILE" ]; then +# rm -f bin/$FILE +# ln -s /usr/bin/$FILE bin/$FILE +# fi +# done +#) # If the requested default linker is present, make it the default: # Set the link differently on the system to change the default at runtime. if [ -r $PKG/usr/bin/$DEFAULT_LD ]; then ( cd $PKG/usr/bin ; rm -f ld ; ln -sf $DEFAULT_LD ld ) fi - + find $PKG | xargs file | grep -e "executable" -e "shared object" \ | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null -- cgit v1.2.3-79-gdb01