diff options
author | Deposite Pirate | 2018-09-16 18:48:36 +0200 |
---|---|---|
committer | Deposite Pirate | 2018-09-16 18:48:36 +0200 |
commit | d150a5f3e462fa7fe194a805a4aa0076f4d03ab9 (patch) | |
tree | ce5e44d69c5f3175bfdbd1e3717b52c5dcca5638 /base/cgroup/cgroup.build | |
parent | f29d3519ce073ec30f99754d93304324f7f26d65 (diff) |
Add ports.
Diffstat (limited to 'base/cgroup/cgroup.build')
-rwxr-xr-x | base/cgroup/cgroup.build | 125 |
1 files changed, 125 insertions, 0 deletions
diff --git a/base/cgroup/cgroup.build b/base/cgroup/cgroup.build new file mode 100755 index 0000000..d45be0b --- /dev/null +++ b/base/cgroup/cgroup.build @@ -0,0 +1,125 @@ +#!/bin/bash +# +# Maintainer: Deposite Pirate <ofni.sknuplatem@etaripd> + +source /usr/src/ports/Build/build.sh + +NAME=cgroup +VERSION=0.38 +BUILD=3 + +# Description + +cat > ${PKG}/install/slack-desc <<EOF +# 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 ':'. + +$(padd)|-----handy-ruler------------------------------------------------------| +${NAME}: libcgroup (library and utilities for kernel control groups) +${NAME}: +${NAME}: Control Groups provide a mechanism for aggregating/partitioning sets +${NAME}: of tasks, and all their future children, into hierarchical groups +${NAME}: with specialized behaviour. It makes use of a filesystem interface. +${NAME}: This package contains a library for developing applications that use +${NAME}: control groups, as well as some basic userspace tools for controlling +${NAME}: and monitoring control groups. +${NAME}: +${NAME}: Homepage: http://libcg.sourceforge.net +${NAME}: +EOF + +cat >> ${PKG}/install/doinst.sh <<EOF +#!/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... +} + +# Leave any new rc files with the same permissions as the old ones: +if [ -e etc/rc.d/rc.cgconfig ]; then + if [ -x etc/rc.d/rc.cgconfig ]; then + chmod 755 etc/rc.d/rc.cgconfig.new + else + chmod 644 etc/rc.d/rc.cgconfig.new + fi +fi +if [ -e etc/rc.d/rc.cgred ]; then + if [ -x etc/rc.d/rc.cgred ]; then + chmod 755 etc/rc.d/rc.cgred.new + else + chmod 644 etc/rc.d/rc.cgred.new + fi +fi + +# Then config() them: +config etc/rc.d/rc.cgconfig.new +config etc/rc.d/rc.cgred.new + +# config() the other configuration files: +config etc/cgroup/cgconfig.conf.new +config etc/cgroup/cgred.conf.new +config etc/cgroup/cgrules.conf.new +config etc/cgroup/cgsnapshot_blacklist.conf.new + +# If there are already installed config files, get rid of the .new ones. +# There will still be fresh samples in the docs. +rm -f etc/cgroup/cgconfig.conf.new etc/cgroup/cgred.conf.new etc/cgroup/cgrules.conf.new etc/cgroup/cgsnapshot_blacklist.conf.new +EOF + +# Sources + +SRCNAME[0]=libcgroup +SRCVERS[0]=${VERSION} +SRCPACK[0]=${URL[sf]}/libcg/${SRCNAME[0]}/v${SRCVERS[0]}/${SRCNAME[0]}-${SRCVERS[0]}.tar.bz2 +SRCCOPY[0]="LGPL21" + +build0() +{ +sed -i 's|$(libdir)/pkgconfig|$(datarootdir)/pkgconfig|g' Makefile.in +CFLAGS="${FLAGS}" CXXFLAGS="${FLAGS}" \ +./configure \ + --build="${ARCH}-slackware-linux" \ + --disable-dependency-tracking \ + --disable-silent-rules \ + --enable-static=no \ + --enable-shared=yes \ + --prefix="${SYS_DIR[usr]}" \ + --mandir="${SYS_DIR[man]}" \ + --sysconfdir="${SYS_DIR[etc]}" \ + --libdir="${SYS_DIR[lib]}" \ + --localstatedir="${SYS_DIR[var]}" \ + --enable-cgred-socket="${SYS_DIR[run]}/cgred/cgred.socket" \ + --enable-pam-module-dir="${SYS_DIR[lib]}/plugins/security" \ + --enable-pam=yes +#FIXME: systemd --enable-opaque-hierarchy="name:systemd" +make ${JOBS} +make install DESTDIR="${PKG}" +doc README{,_{daemon,systemd}} +install.dir ${PKG}${SYS_DIR[etc]}/{rc.d,cgroup,tmpfiles.d} +install.dat cgroup.conf.tmpfiles ${PKG}${SYS_DIR[etc]}/tmpfiles.d/cgroup.conf +install.dat scripts/init.d/cgconfig ${PKG}${SYS_DIR[etc]}/rc.d/rc.cgconfig.new +install.dat scripts/init.d/cgred ${PKG}${SYS_DIR[etc]}/rc.d/rc.cgred.new +install.dat samples/cgred.conf ${PKG}${SYS_DIR[etc]}/cgroup/cgred.conf.new +install.dat samples/cgconfig.conf ${PKG}${SYS_DIR[etc]}/cgroup/cgconfig.conf.new +install.dat samples/cgrules.conf ${PKG}${SYS_DIR[etc]}/cgroup/cgrules.conf.new +install.dat samples/cgsnapshot_blacklist.conf ${PKG}${SYS_DIR[etc]}/cgroup/cgsnapshot_blacklist.conf.new +install.dir ${PKG}${SYS_DIR[systemdsystemunitdir]} +install.dat dist/cgconfig.service ${PKG}${SYS_DIR[systemdsystemunitdir]} +( + cd ${PKG}${SYS_DIR[lib]}/plugins/security + rm -f pam_cgroup.so pam_cgroup.so.0 + mv pam_cgroup.so.0.0.0 pam_cgroup.so +) +} |