Guest User

Untitled

a guest
Oct 28th, 2018
166
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 3.87 KB | None | 0 0
  1. #!/bin/sh
  2. # Copyright 2016  Patrick J. Volkerding, Sebeka, MN, USA
  3. # Copyright 2016, 2017  Eric Hameleers, Eindhoven, NL
  4. # All rights reserved.
  5. #
  6. #   Permission to use, copy, modify, and distribute this software for
  7. #   any purpose with or without fee is hereby granted, provided that
  8. #   the above copyright notice and this permission notice appear in all
  9. #   copies.
  10. #
  11. #   THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
  12. #   WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
  13. #   MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
  14. #   IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
  15. #   CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  16. #   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  17. #   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
  18. #   USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
  19. #   ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  20. #   OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
  21. #   OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  22. #   SUCH DAMAGE.
  23. # -----------------------------------------------------------------------------
  24.  
  25. # Modified again by Eric Fernandes Ferreira <[email protected]> for my personal use
  26.  
  27. PRGNAM=elogind
  28. VERSION=${VERSION:-239.1}
  29. BUILD=${BUILD:-1}
  30. TAG=${TAG:-_SBo}
  31.  
  32. if [ -z "$ARCH" ]; then
  33.   case "$( uname -m )" in
  34.     i?86) ARCH=i586 ;;
  35.     arm*) ARCH=arm ;;
  36.        *) ARCH=$( uname -m ) ;;
  37.   esac
  38. fi
  39.  
  40. wget -c https://github.com/elogind/elogind/archive/v$VERSION.tar.gz
  41.  
  42. CWD=$(pwd)
  43. TMP=${TMP:-/tmp/SBo}
  44. PKG=$TMP/package-$PRGNAM
  45. OUTPUT=${OUTPUT:-/tmp}
  46.  
  47. if [ "$ARCH" = "i586" ]; then
  48.   SLKCFLAGS="-O2 -march=i586 -mtune=i686"
  49.   LIBDIRSUFFIX=""
  50. elif [ "$ARCH" = "i686" ]; then
  51.   SLKCFLAGS="-O2 -march=i686 -mtune=i686"
  52.   LIBDIRSUFFIX=""
  53. elif [ "$ARCH" = "x86_64" ]; then
  54.   SLKCFLAGS="-O2 -fPIC"
  55.   LIBDIRSUFFIX="64"
  56. else
  57.   SLKCFLAGS="-O2"
  58.   LIBDIRSUFFIX=""
  59. fi
  60.  
  61. set -e
  62.  
  63. rm -rf $PKG
  64. mkdir -p $TMP $PKG $OUTPUT
  65. cd $TMP
  66. rm -rf $PRGNAM-$VERSION
  67. tar xvf $CWD/v$VERSION.tar.gz
  68. cd $PRGNAM-$VERSION
  69. chown -R root:root .
  70. find -L . \
  71.  \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
  72.   -o -perm 511 \) -exec chmod 755 {} \; -o \
  73.  \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
  74.   -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
  75.  
  76. sed -i src/login/org.freedesktop.login1.service.in \
  77.     -e "s,/bin/false,/bin/bash -c \"[[ ! -d /run/systemd ]] \&\& mkdir /run/systemd;/usr/libexec/elogind/elogind\","
  78.  
  79. # Apply Gentoo patches:
  80. cat $CWD/elogind-238.1-docs.patch | patch -p1 --verbose
  81.  
  82. mkdir -p build
  83. cd build
  84.   meson setup \
  85.     --prefix=/usr \
  86.     -Drootprefix=/usr \
  87.     --buildtype=release \
  88.     --libdir=/usr/lib${LIBDIRSUFFIX} \
  89.     -Drootlibdir=/usr/lib${LIBDIRSUFFIX} \
  90.     -Drootlibexecdir=/usr/libexec \
  91.     -Ddbuspolicydir=/etc/dbus-1/system.d \
  92.     -Dman=false \
  93.     -Dpam=false \
  94.     -Dacl=false \
  95.     -Dhtml=false \
  96.     -Ddebug=false \
  97.     -Dsmack=false \
  98.     -Dselinux=false \
  99.     -Ddefault-kill-user-processes=true \
  100.     ..
  101.  
  102.   ninja
  103.   DESTDIR=$PKG ninja install
  104. cd ..
  105.  
  106. find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
  107.   | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
  108.  
  109. # Add a rc script; Slackware does not support this out of the box:
  110. mkdir -p $PKG/etc/rc.d
  111. install -m 0755 $CWD/rc.elogind $PKG/etc/rc.d/rc.elogind.new
  112.  
  113. mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
  114. cp -a LICENSE* NEWS README TODO $PKG/usr/doc/$PRGNAM-$VERSION
  115. cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
  116.  
  117. mkdir -p $PKG/install
  118. cat $CWD/slack-desc > $PKG/install/slack-desc
  119. cat $CWD/doinst.sh > $PKG/install/doinst.sh
  120.  
  121. cd $PKG
  122. /sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
Advertisement
Add Comment
Please, Sign In to add comment