diff options
Diffstat (limited to 'source')
-rwxr-xr-x | source/a/etc/etc.SlackBuild | 2 | ||||
-rw-r--r-- | source/a/etc/group.new | 1 | ||||
-rw-r--r-- | source/a/etc/passwd.new | 1 | ||||
-rw-r--r-- | source/a/etc/shadow.new | 1 | ||||
-rw-r--r-- | source/a/sysvinit-scripts/scripts/rc.M | 12 | ||||
-rwxr-xr-x | source/a/sysvinit-scripts/sysvinit-scripts.SlackBuild | 2 | ||||
-rw-r--r-- | source/d/icecream/doinst.sh | 33 | ||||
-rwxr-xr-x | source/d/icecream/icecream.SlackBuild | 137 | ||||
-rw-r--r-- | source/d/icecream/icecream.csh | 19 | ||||
-rw-r--r-- | source/d/icecream/icecream.sh | 10 | ||||
-rw-r--r-- | source/d/icecream/rc.icecc-scheduler | 43 | ||||
-rw-r--r-- | source/d/icecream/rc.iceccd | 43 | ||||
-rw-r--r-- | source/d/icecream/rc.icecream.conf | 15 | ||||
-rw-r--r-- | source/d/icecream/slack-desc | 19 | ||||
-rwxr-xr-x | source/n/libmbim/libmbim.SlackBuild | 2 | ||||
-rwxr-xr-x | source/n/libqmi/libqmi.SlackBuild | 2 | ||||
-rw-r--r-- | source/x/xterm/xterm.url | 1 |
17 files changed, 339 insertions, 4 deletions
diff --git a/source/a/etc/etc.SlackBuild b/source/a/etc/etc.SlackBuild index 35616fb6..1dccffdf 100755 --- a/source/a/etc/etc.SlackBuild +++ b/source/a/etc/etc.SlackBuild @@ -24,7 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd) PKGNAM=etc VERSION=15.0 -BUILD=${BUILD:-7} +BUILD=${BUILD:-8} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then diff --git a/source/a/etc/group.new b/source/a/etc/group.new index 1fb3242c..281b58c1 100644 --- a/source/a/etc/group.new +++ b/source/a/etc/group.new @@ -30,6 +30,7 @@ cgred:x:41: gdm:x:42: shadow:x:43: ntp:x:44: +icecc:x:49: ftp:x:50: oprofile:x:51: sddm:x:64: diff --git a/source/a/etc/passwd.new b/source/a/etc/passwd.new index e2522017..8f1513a7 100644 --- a/source/a/etc/passwd.new +++ b/source/a/etc/passwd.new @@ -18,6 +18,7 @@ rpc:x:32:32:RPC portmap user:/:/bin/false sshd:x:33:33:sshd:/:/bin/false gdm:x:42:42:GDM:/var/lib/gdm:/sbin/nologin ntp:x:44:44:User for NTP:/:/bin/false +icecc:x:49:49:User for Icecream distributed compiler:/var/cache/icecream:/bin/false oprofile:x:51:51:oprofile:/:/bin/false usbmux:x:52:83:User for usbmux daemon:/var/empty:/bin/false sddm:x:64:64:User for SDDM:/var/lib/sddm:/bin/false diff --git a/source/a/etc/shadow.new b/source/a/etc/shadow.new index fd3a87cc..7a6f542d 100644 --- a/source/a/etc/shadow.new +++ b/source/a/etc/shadow.new @@ -18,6 +18,7 @@ rpc:*:9797:0::::: sshd:*:9797:0::::: gdm:*:9797:0::::: ntp:*:9797:0::::: +icecc:*:9797:0::::: oprofile:*:9797:0::::: usbmux:*:9797:0::::: sddm:*:9797:0::::: diff --git a/source/a/sysvinit-scripts/scripts/rc.M b/source/a/sysvinit-scripts/scripts/rc.M index 66a01ccf..5eb1055e 100644 --- a/source/a/sysvinit-scripts/scripts/rc.M +++ b/source/a/sysvinit-scripts/scripts/rc.M @@ -380,6 +380,18 @@ if [ -x /etc/rc.d/rc.gpm ]; then /etc/rc.d/rc.gpm start fi +# Start the Icecream scheduler. This needs to run on only one machine that is +# part of the compile cluster: +if [ -x /etc/rc.d/rc.icecc-scheduler ]; then + /etc/rc.d/rc.icecc-scheduler start +fi + +# Start the Icecream daemon. This needs to run on every machine that will be +# part of the compile cluster (including the machine running the scheduler): +if [ -x /etc/rc.d/rc.iceccd ]; then + /etc/rc.d/rc.iceccd start +fi + # If there are SystemV init scripts for this runlevel, run them. if [ -x /etc/rc.d/rc.sysvinit ]; then /etc/rc.d/rc.sysvinit diff --git a/source/a/sysvinit-scripts/sysvinit-scripts.SlackBuild b/source/a/sysvinit-scripts/sysvinit-scripts.SlackBuild index 25f26692..1a38236a 100755 --- a/source/a/sysvinit-scripts/sysvinit-scripts.SlackBuild +++ b/source/a/sysvinit-scripts/sysvinit-scripts.SlackBuild @@ -25,7 +25,7 @@ cd $(dirname $0) ; CWD=$(pwd) PKGNAM=sysvinit-scripts VERSION=${VERSION:-2.1} ARCH=noarch -BUILD=${BUILD:-16} +BUILD=${BUILD:-17} # 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 diff --git a/source/d/icecream/doinst.sh b/source/d/icecream/doinst.sh new file mode 100644 index 00000000..073dffa1 --- /dev/null +++ b/source/d/icecream/doinst.sh @@ -0,0 +1,33 @@ +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... +} + +preserve_perms() { + NEW="$1" + OLD="$(dirname ${NEW})/$(basename ${NEW} .new)" + if [ -e ${OLD} ]; then + cp -a ${OLD} ${NEW}.incoming + cat ${NEW} > ${NEW}.incoming + mv ${NEW}.incoming ${NEW} + fi + config ${NEW} +} + +preserve_perms etc/rc.d/rc.iceccd.new +preserve_perms etc/rc.d/rc.icecc-scheduler.new +config etc/rc.d/rc.icecream.conf.new + +if ! grep -q "^icecc:" etc/passwd ; then + echo "icecc:x:49:49:User for Icecream distributed compiler:/var/cache/icecream:/bin/false" >> etc/passwd +fi +if ! grep -q "^icecc:" etc/group ; then + echo "icecc:x:49:" >> etc/group +fi diff --git a/source/d/icecream/icecream.SlackBuild b/source/d/icecream/icecream.SlackBuild new file mode 100755 index 00000000..f3c25d73 --- /dev/null +++ b/source/d/icecream/icecream.SlackBuild @@ -0,0 +1,137 @@ +#!/bin/sh + +# Copyright 2009-2018 Heinz Wiesinger, Amsterdam, The Netherlands +# Copyright 2018 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. + +cd $(dirname $0) ; CWD=$(pwd) + +PKGNAM=icecream +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-1} + +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) ARCH=i586 ;; + arm*) ARCH=arm ;; + *) ARCH=$( uname -m ) ;; + esac +fi + +TMP=${TMP:-/tmp} +PKG=$TMP/package-$PKGNAM +OUTPUT=${OUTPUT:-/tmp} + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +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 "} + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $PKGNAM-$VERSION +tar xvf $CWD/$PKGNAM-$VERSION.tar.lz || exit 1 +cd $PKGNAM-$VERSION || exit 1 + +chown -R root:root . +find -L . \ + \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ + -o -perm 511 \) -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ + -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; + +./autogen.sh || exit 1 + +CFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib$LIBDIRSUFFIX \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --mandir=/usr/man \ + --enable-clang-rewrite-includes \ + --enable-clang-wrappers \ + --enable-shared \ + --disable-static \ + --build=$ARCH-slackware-linux || exit 1 + +make $NUMJOBS || make || exit 1 +make install-strip DESTDIR=$PKG || exit 1 + +# Don't ship .la files: +rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la + +mkdir -p $PKG/etc/profile.d/ +cp -a $CWD/icecream.{csh,sh} $PKG/etc/profile.d/ +chown root:root $PKG/etc/profile.d/* +chmod 755 $PKG/etc/profile.d/* + +# Install init scripts and config file: +mkdir -p $PKG/etc/rc.d +cp -a $CWD/rc.iceccd $PKG/etc/rc.d/rc.iceccd.new +cp -a $CWD/rc.icecc-scheduler $PKG/etc/rc.d/rc.icecc-scheduler.new +cp -a $CWD/rc.icecream.conf $PKG/etc/rc.d/rc.icecream.conf.new +chown root:root $PKG/etc/rc.d/* +chmod 644 $PKG/etc/rc.d/* + +# Add Slackware compiler symlinks: +for i in $ARCH-slackware-linux-c++ $ARCH-slackware-linux-g++ \ + $ARCH-slackware-linux-gcc $ARCH-slackware-linux-clang \ + $ARCH-slackware-linux-clang++; do + ln -s /usr/bin/icecc $PKG/usr/libexec/icecc/bin/$i +done + +mkdir -p $PKG/var/{cache,log}/icecream +chown icecc:icecc $PKG/var/{cache,log}/icecream + +find $PKG/usr/man -type f -exec gzip -9 {} \; + +mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION +cp -a \ + BENCH* COPYING* NEWS* README* TODO* \ + $PKG/usr/doc/$PKGNAM-$VERSION + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc +zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh + +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PKGNAM-$VERSION-$ARCH-$BUILD.txz diff --git a/source/d/icecream/icecream.csh b/source/d/icecream/icecream.csh new file mode 100644 index 00000000..6c558d61 --- /dev/null +++ b/source/d/icecream/icecream.csh @@ -0,0 +1,19 @@ +#!/bin/csh +# Only add the icecream directory to the PATH if we see that icecc-scheduler +# and/or iceccd are running on this machine: + +setenv ICECC_PRESENT false +/usr/bin/pgrep --ns $$ -f "^/usr/sbin/icecc-scheduler" > /dev/null +if ( $? == 0 ) then + setenv ICECC_PRESENT true +endif + +/usr/bin/pgrep --ns $$ -f "^/usr/sbin/iceccd" > /dev/null +if ( $? == 0 ) then + setenv ICECC_PRESENT true +endif + +if ( $ICECC_PRESENT == true ) then + setenv PATH /usr/libexec/icecc/bin:${PATH} +endif + diff --git a/source/d/icecream/icecream.sh b/source/d/icecream/icecream.sh new file mode 100644 index 00000000..5e0afd57 --- /dev/null +++ b/source/d/icecream/icecream.sh @@ -0,0 +1,10 @@ +#!/bin/sh +# Only add the icecream directory to the PATH if we see that icecc-scheduler +# and/or iceccd are running on this machine: + +if /usr/bin/pgrep --ns $$ -f "^/usr/sbin/icecc-scheduler" > /dev/null ; then + export PATH=/usr/libexec/icecc/bin:$PATH +elif /usr/bin/pgrep --ns $$ -f "^/usr/sbin/iceccd" > /dev/null ; then + export PATH=/usr/libexec/icecc/bin:$PATH +fi + diff --git a/source/d/icecream/rc.icecc-scheduler b/source/d/icecream/rc.icecc-scheduler new file mode 100644 index 00000000..b407f26e --- /dev/null +++ b/source/d/icecream/rc.icecc-scheduler @@ -0,0 +1,43 @@ +#!/bin/sh +# Start/stop/restart scheduler. +# $Id: rc.scheduler,v 1.0 2009/04/18 +# Author: Heinz Wiesinger <pprkut@liwjatan.at> +# --------------------------------------------------------------------------- + +# Get the configuration information from /etc/rc.d/rc.icecream.conf: +. /etc/rc.d/rc.icecream.conf + +# Start scheduler: +scheduler_start() { + if [ -x /usr/sbin/icecc-scheduler ]; then + echo "Starting distributed compiler scheduler: /usr/sbin/icecc-scheduler $ICECC_SCHEDULER_OPTIONS" + /usr/sbin/icecc-scheduler $ICECC_SCHEDULER_OPTIONS + fi +} + +# Stop scheduler: +scheduler_stop() { + echo "Stopping icecc-scheduler." + killall icecc-scheduler +} + +# Restart scheduler: +scheduler_restart() { + scheduler_stop + sleep 1 + scheduler_start +} + +case "$1" in +'start') + scheduler_start + ;; +'stop') + scheduler_stop + ;; +'restart') + scheduler_restart + ;; +*) + echo "usage $0 start|stop|restart" +esac diff --git a/source/d/icecream/rc.iceccd b/source/d/icecream/rc.iceccd new file mode 100644 index 00000000..93b4d170 --- /dev/null +++ b/source/d/icecream/rc.iceccd @@ -0,0 +1,43 @@ +#!/bin/sh +# Start/stop/restart iceccd. +# $Id: rc.iceccd,v 1.0 2009/04/18 +# Author: Heinz Wiesinger <pprkut@liwjatan.at> +# --------------------------------------------------------------------------- + +# Get the configuration information from /etc/rc.d/rc.icecream.conf: +. /etc/rc.d/rc.icecream.conf + +# Start iceccd: +iceccd_start() { + if [ -x /usr/sbin/iceccd ]; then + echo "Starting distributed compiler daemon: /usr/sbin/iceccd $ICECCD_OPTIONS" + /usr/sbin/iceccd $ICECCD_OPTIONS + fi +} + +# Stop iceccd: +iceccd_stop() { + echo "Stopping iceccd." + killall iceccd +} + +# Restart iceccd: +iceccd_restart() { + iceccd_stop + sleep 1 + iceccd_start +} + +case "$1" in +'start') + iceccd_start + ;; +'stop') + iceccd_stop + ;; +'restart') + iceccd_restart + ;; +*) + echo "usage $0 start|stop|restart" +esac diff --git a/source/d/icecream/rc.icecream.conf b/source/d/icecream/rc.icecream.conf new file mode 100644 index 00000000..ce91ce65 --- /dev/null +++ b/source/d/icecream/rc.icecream.conf @@ -0,0 +1,15 @@ +# /etc/rc.d/rc.icecream.conf +# +# This file contains the configuration settings for both iceccd and scheduler + +# Defines the network name used to determine which nodes can be used for +# the compile processes. That way you can have several icecream clusters +# in the same network. +ICECC_NETWORK=$(hostname -d) + +# Defines the options passed to icecc-scheduler: +ICECC_SCHEDULER_OPTIONS="-n $ICECC_NETWORK -d -l /var/log/icecream/icecc-scheduler.log" + +# Defines the options passed to iceccd: +ICECCD_OPTIONS="-n $ICECC_NETWORK -d -b /var/cache/icecream -l /var/log/icecream/iceccd.log" + diff --git a/source/d/icecream/slack-desc b/source/d/icecream/slack-desc new file mode 100644 index 00000000..379654cd --- /dev/null +++ b/source/d/icecream/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. +# Line up the first '|' above the ':' following the base package name, and +# the '|' on the right side marks the last column you can put a character in. +# You must make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':' except on otherwise blank lines. + + |-----handy-ruler------------------------------------------------------| +icecream: icecream (distributed C/C++ compiler daemon/scheduler) +icecream: +icecream: Icecream is a distributed compile system. Icecream was created by SUSE +icecream: based on distcc. Like distcc, Icecream takes compile jobs from a build +icecream: and distributes it among remote machines allowing a parallel build. +icecream: But unlike distcc, Icecream uses a central server that dynamically +icecream: schedules the compile jobs to the fastest free server. +icecream: +icecream: Homepage: https://github.com/icecc/icecream +icecream: +icecream: diff --git a/source/n/libmbim/libmbim.SlackBuild b/source/n/libmbim/libmbim.SlackBuild index 334fbad6..f669c963 100755 --- a/source/n/libmbim/libmbim.SlackBuild +++ b/source/n/libmbim/libmbim.SlackBuild @@ -26,7 +26,7 @@ cd $(dirname $0) ; CWD=$(pwd) PKGNAM=libmbim VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} -BUILD=${BUILD:-2} +BUILD=${BUILD:-1} NUMJOBS=${NUMJOBS:-" -j7 "} diff --git a/source/n/libqmi/libqmi.SlackBuild b/source/n/libqmi/libqmi.SlackBuild index 3c35af38..aace4c5d 100755 --- a/source/n/libqmi/libqmi.SlackBuild +++ b/source/n/libqmi/libqmi.SlackBuild @@ -26,7 +26,7 @@ cd $(dirname $0) ; CWD=$(pwd) PKGNAM=libqmi VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} -BUILD=${BUILD:-2} +BUILD=${BUILD:-1} NUMJOBS=${NUMJOBS:-" -j7 "} diff --git a/source/x/xterm/xterm.url b/source/x/xterm/xterm.url new file mode 100644 index 00000000..117aa333 --- /dev/null +++ b/source/x/xterm/xterm.url @@ -0,0 +1 @@ +ftp://ftp.invisible-island.net:/xterm |