blob: d45be0b4308ed525a6d58ec98f2b15e15320b030 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
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
)
}
|