diff options
author | Silvino <silvino@bk.ru> | 2019-06-11 00:27:06 +0100 |
---|---|---|
committer | Silvino <silvino@bk.ru> | 2019-06-11 00:27:06 +0100 |
commit | 5adacc390c152b1540372d653712cb41fcb76b7b (patch) | |
tree | 6c7fa82642984b059889796b66dc204dadc1b933 | |
parent | a55b4d39a97361fd4f04c6547835204b9e5371ac (diff) | |
download | doc-5adacc390c152b1540372d653712cb41fcb76b7b.tar.gz |
ports distcc and ccache revision
-rw-r--r-- | core/conf/pkgmk.conf | 26 | ||||
-rwxr-xr-x | core/conf/rc.d/distccd | 33 | ||||
-rw-r--r-- | core/ports.html | 55 |
3 files changed, 103 insertions, 11 deletions
diff --git a/core/conf/pkgmk.conf b/core/conf/pkgmk.conf index 18d8730..c94fea7 100644 --- a/core/conf/pkgmk.conf +++ b/core/conf/pkgmk.conf @@ -2,12 +2,20 @@ # /etc/pkgmk.conf: pkgmk(8) configuration # -export CFLAGS="-O2 -march=x86-64" +export CFLAGS="-O2 -g -march=x86-64" export CXXFLAGS="${CFLAGS}" +# local compile only export JOBS=$(nproc) export MAKEFLAGS="-j $JOBS" +## compile using distcc +## set static cpu cores available +###export MAKEFLAGS="-j 8" +## get dynamically cpu cores available +#export MAKEFLAGS="/usr/bin/distcc -j 2> /dev/null" +#export SCONSFLAGS="$MAKEFLAGS" + case ${PKGMK_ARCH} in "64"|"") ;; @@ -23,16 +31,14 @@ case ${PKGMK_ARCH} in ;; esac -PKGMK_SOURCE_MIRRORS=(https://hive.gnu.systems/mirror/distfiles/) +PKGMK_SOURCE_MIRRORS=(http://c1.ank/distfiles/ http://c1.ank/archive/distfiles/) # PKGMK_SOURCE_DIR="$PWD" PKGMK_SOURCE_DIR="/usr/ports/distfiles" # PKGMK_PACKAGE_DIR="$PWD" PKGMK_PACKAGE_DIR="/usr/ports/packages" # PKGMK_WORK_DIR="$PWD/work" -PKGMK_WORK_DIR="/usr/ports/work/${name}" +PKGMK_WORK_DIR="/usr/ports/work/$name" # PKGMK_DOWNLOAD="no" -# PKGMK_IGNORE_SIGNATURE="no" -# PKGMK_IGNORE_MD5SUM="no" # PKGMK_IGNORE_FOOTPRINT="no" # PKGMK_IGNORE_NEW="no" # PKGMK_NO_STRIP="no" @@ -40,5 +46,15 @@ PKGMK_WORK_DIR="/usr/ports/work/${name}" # PKGMK_WGET_OPTS="" # PKGMK_CURL_OPTS="" # PKGMK_COMPRESSION_MODE="gz" +# PKGMK_UP_TO_DATE=yes + +## ccache settings +#export PATH="/usr/lib/ccache/:$PATH" +#export CCACHE_DIR="/usr/ports/cache/ccache" +#export CCACHE_PREFIX="distcc" +#export CCACHE_COMPILERCHECK="%compiler% -dumpversion; crux" +# +#export DISTCC_HOSTS="localhost/4 worker/4" +#export DISTCC_DIR="/urs/ports/distcc" # End of file diff --git a/core/conf/rc.d/distccd b/core/conf/rc.d/distccd new file mode 100755 index 0000000..65a166d --- /dev/null +++ b/core/conf/rc.d/distccd @@ -0,0 +1,33 @@ +#!/usr/bin/env bash +# +# /etc/rc.d/distccd: start/stop distcc daemon +# + +. /etc/distcc.conf +if [ -z "$DISTCC_ALLOW" ]; then + echo "Please define a range of IPs allowed to connect to this distccd" + echo "host in DISTCC_ALLOW in /etc/rc.conf. More detailed information" + echo "can be found in the distcc's README package." + exit 1 +fi + +DISTCC_USER="${DISTCC_USER:=nobody}" +DISTCC_LOG_LEVEL="${DISTCC_LOG_LEVEL:=notice}" + +case $1 in +start) + /usr/sbin/distccd --daemon --user "$DISTCC_USER" --allow "$DISTCC_ALLOW" --log-level "$DISTCC_LOG_LEVEL" + ;; +stop) + killall -q /usr/sbin/distccd + ;; +restart) + $0 stop + $0 start + ;; +*) + echo "usage: $0 [start|stop|restart]" + ;; +esac + +# End of file diff --git a/core/ports.html b/core/ports.html index 07d52d2..a61643d 100644 --- a/core/ports.html +++ b/core/ports.html @@ -148,15 +148,15 @@ prtdir /usr/ports/contrib prtdir /usr/ports/ports prtdir /usr/ports/mate - prtdir /usr/ports/kde + prtdir /usr/ports/kde5 ### use mypackage form local directory # prtdir /home/packages/build:mypackage ### log options: - # writelog enabled # (enabled|disabled) - # logmode overwrite # (append|overwrite) - # rmlog_on_success yes # (no|yes) + writelog enabled # (enabled|disabled) + logmode overwrite # (append|overwrite) + rmlog_on_success yes # (no|yes) logfile /var/log/pkgbuild/%n.log # path, %p=path to port dir, %n=port name # %v=version, %r=release @@ -198,14 +198,57 @@ $ prt-get depinst ccache distcc </pre> - <p>Add to /etc/profile;</p> + <p>Configure pkgmk and define number of cores available, + in this example get dynamically Edit /etc/pkgmk.conf;</p> <pre> + ## local compile only + #export JOBS=$(nproc) + #export MAKEFLAGS="-j $JOBS" + + # compile using distcc + # set static cpu cores available + ##export MAKEFLAGS="-j 8" + # get dynamically cpu cores available + export MAKEFLAGS="/usr/bin/distcc -j 2> /dev/null" + export SCONSFLAGS="$MAKEFLAGS" + </pre> + + <p>Set ccaching directory and instructs to use distcc backend;</p> + + <pre> + # ccache settings export PATH="/usr/lib/ccache/:$PATH" - export CCACHE_DIR="/var/cache/ccache" + export CCACHE_DIR="/usr/ports/cache/ccache" + export CCACHE_PREFIX="distcc" export CCACHE_COMPILERCHECK="%compiler% -dumpversion; crux" </pre> + <p>Set distcc hosts and respective number of cpu cores to send work;</p> + <pre> + export DISTCC_HOSTS="localhost/4 worker/4" + export DISTCC_DIR="/urs/ports/distcc" + </pre> + + <p>Configure distcc daemon, edit /etc/rc.d/distccd;</p> + + <pre> + #!/usr/bin/env bash + # + # /etc/rc.d/distccd: start/stop distcc daemon + # + + . /etc/distcc.conf + if [ -z "$DISTCC_ALLOW" ]; then + </pre> + + <p>Create /etc/distcc.conf;</p> + + <pre> + + </pre> + + <a href="index.html">Core OS Index</a> <p> This is part of the Hive System Documentation. |