diff options
author | Patrick J Volkerding <volkerdi@slackware.com> | 2018-05-25 23:29:36 +0000 |
---|---|---|
committer | Eric Hameleers <alien@slackware.com> | 2018-06-01 00:36:01 +0200 |
commit | 39366733c3fe943363566756e2e152c45a1b3cb2 (patch) | |
tree | 228b0735896af90ca78151c9a69aa3efd12c8cae /patches/source/screen/screen.SlackBuild | |
parent | d31c50870d0bee042ce660e445c9294a59a3a65b (diff) | |
download | current-39366733c3fe943363566756e2e152c45a1b3cb2.tar.gz |
Fri May 25 23:29:36 UTC 201814.2
patches/packages/glibc-zoneinfo-2018e-noarch-2_slack14.2.txz: Rebuilt.
Handle removal of US/Pacific-New timezone. If we see that the machine is
using this, it will be automatically switched to US/Pacific.
Diffstat (limited to 'patches/source/screen/screen.SlackBuild')
-rwxr-xr-x | patches/source/screen/screen.SlackBuild | 158 |
1 files changed, 158 insertions, 0 deletions
diff --git a/patches/source/screen/screen.SlackBuild b/patches/source/screen/screen.SlackBuild new file mode 100755 index 00000000..2472c7c4 --- /dev/null +++ b/patches/source/screen/screen.SlackBuild @@ -0,0 +1,158 @@ +#!/bin/sh + +# Copyright 2008, 2009, 2010, 2011, 2013, 2014, 2015, 2016 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. + +PKGNAM=screen +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-2_slack14.2} + +# 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 + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" +else + SLKCFLAGS="-O2" +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-screen + +NUMJOBS=${NUMJOBS:-" -j7 "} + +rm -rf $PKG +mkdir -p $TMP $PKG +cd $TMP +rm -rf screen-$VERSION +tar xvf $CWD/screen-$VERSION.tar.?z* || exit 1 + +cd screen-$VERSION || 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 {} \; + +# Apply patches taken from Debian: +for pf in \ + 26source_encoding.patch.gz \ + 45suppress_remap.patch.gz \ + 52fix_screen_utf8_nfd.patch.gz \ + 58-show-encoding-hardstatus.patch.gz \ + ; do zcat $CWD/$pf | patch --verbose -p1 || exit 1 +done + +# Revert a change to /etc/screenrc introduced in screen-4.3.x that prevents +# the console from being properly cleared when detaching from a screen session: +zcat $CWD/60-revert-screenrc-change.diff.gz | patch -p1 --verbose || exit 1 + +# Do not link against libelf: +zcat $CWD/screen.no_libelf.diff.gz | patch -p1 --verbose || exit 1 + +# Reconf after patching configure.ac: +autoreconf -vif + +# Configure: +CFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --mandir=/usr/man \ + --infodir=/usr/info \ + --with-sys-screenrc=/etc/screenrc \ + --with-pty-mode=0620 \ + --with-pty-group=5 \ + --disable-pam \ + --enable-telnet \ + --disable-socket-dir \ + --enable-use-locale \ + --enable-colors256 \ + --enable-rxvt_osc \ + --build=$ARCH-slackware-linux || exit 1 + +# Substitutions: +perl -pi -e 's|.*#undef HAVE_BRAILLE.*|#define HAVE_BRAILLE 1|' config.h +perl -pi -e 's|/usr/local/etc/screenrc|/etc/screenrc|' etc/etcscreenrc doc/* +perl -pi -e 's|/local/etc/screenrc|/etc/screenrc|' doc/* + +# Build screen: +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG || exit 1 + +# Prepare package: +( 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 +) + +# Sorry, pal. Not around here. +chmod 755 $PKG/usr/bin/screen-$VERSION +mkdir -p $PKG/etc/skel +cat etc/etcscreenrc > $PKG/etc/screenrc.new +cat etc/screenrc > $PKG/etc/skel/.screenrc.new +rm -f $PKG/usr/info/dir +gzip -9 $PKG/usr/info/* +gzip -9 $PKG/usr/man/man1/* +mkdir -p $PKG/usr/doc/screen-$VERSION +chmod 644 doc/FAQ +cp -a COPYING ChangeLog HACKING INSTALL NEWS README TODO \ + doc/FAQ doc/README.DOTSCREEN \ + $PKG/usr/doc/screen-$VERSION +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc +cat << EOF > $PKG/install/doinst.sh +#!/bin/sh +config() { + NEW="\$1" + OLD="\$(dirname \$NEW)/\$(basename \$NEW .new)" + # If there's no config file by that name, mv it over: + if [ ! -r \$OLD ]; then + mv \$NEW \$OLD + elif [ "\$(cat \$OLD | md5sum)" = "\$(cat \$NEW | md5sum)" ]; then # toss the redundant copy + rm \$NEW + fi + # Otherwise, we leave the .new copy for the admin to consider... +} +config etc/screenrc.new +config etc/skel/.screenrc.new +# This is probably safer than leaving the hidden .new file... maybe? +rm -f etc/skel/.screenrc.new +EOF + +# Build package: +cd $PKG +makepkg -l y -c n $TMP/screen-$VERSION-$ARCH-$BUILD.txz + |