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
|
# Copyright 1999-2003 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/games-server/halflife-server/halflife-server-3.1.1.0.ebuild,v 1.2 2003/10/20 19:12:16 vapier Exp $
inherit games
MY_PN=hlds_l_3110_full
DESCRIPTION="Halflife Linux Server"
SRC_URI="gentoo://mirror/${MY_PN}.bin"
HOMEPAGE="http://www.valve.com/"
LICENSE="ValveServer"
SLOT="0"
KEYWORDS="x86"
RESTRICT="nostrip" # fetch
DEPEND="sys-apps/util-linux"
RDEPEND="dedicated? ( app-misc/screen )"
S=${WORKDIR}/hlds_l
#pkg_nofetch() {
# einfo "Please goto fileplanet and d/l ${MY_BIN}"
# einfo "http://www.fileplanet.com/files/50000/58368.shtml"
#}
src_unpack() {
local metastart=`tail -c 8 ${DISTDIR}/${MY_PN}.bin | head -c 4 | hexdump -e \"%i\"`
local newsize=$(expr $(ls -al ${DISTDIR}/${MY_PN}.bin | awk '{print $5}') - $metastart)
tail -c ${newsize} ${DISTDIR}/${MY_PN}.bin > ${MY_PN}.bin
echo ">>> Unpacking ${MY_PN}.bin to ${S}"
tar -zxf ${MY_PN}.bin
rm ${MY_PN}.bin
}
src_install() {
local dir=${GAMES_PREFIX_OPT}/halflife
dodir ${dir}
mv ${S}/* ${D}/${dir}/ || die
dodir ${dir}/valve/logs
dogamesbin ${FILESDIR}/hlds
dosed "s:GENTOO_DIR:${dir}:" ${GAMES_BINDIR}/hlds
exeinto /etc/init.d ; newexe ${FILESDIR}/hlds.rc hlds
dosed "s:GENTOO_DIR:${GAMES_BINDIR}:" /etc/init.d/hlds
dosed "s:GENTOO_GAMES_USER:${GAMES_USER_DED}:" /etc/init.d/hlds
insinto /etc/conf.d ; newins ${FILESDIR}/hlds.conf.d hlds
dosed "s:GENTOO_DIR:${dir}:" /etc/conf.d/hlds
local cdir=${GAMES_SYSCONFDIR}/halflife
dodir ${cdir}
# this allows users to upgrade w/out losing their previous settings
[ -e ${dir}/hltv.cfg ] && mv ${D}/${dir}/hltv.cfg{,.sample}
dosym {${dir},${cdir}}/hltv.cfg
for mod in tfc valve dmc ricochet ; do
dodir ${cdir}/${mod}
for cfg in server.cfg liblist.gam mapcycle.txt motd.txt ; do
[ -e ${dir}/${mod}/${cfg} ] && [ -e ${D}/${dir}/${mod}/${cfg} ] && \
mv ${D}/${dir}/${mod}/${cfg}{,.sample}
dosym {${dir},${cdir}}/${mod}/${cfg}
done
done
prepgamesdirs
}
pkg_postinst() {
local dir=${GAMES_PREFIX_OPT}/halflife
touch ${dir}/hltv.cfg
touch ${dir}/{dmc,ricochet,tfc,valve}/{server.cfg,liblist.gam,mapcycle.txt,motd.txt}
games_pkg_postinst
einfo "To start the dedicated server, just run"
einfo "/etc/init.d/hlds start"
echo
einfo "The server utilizes screen so you can get to"
einfo "the console by typing:"
einfo " screen -r hlds"
echo
einfo "To configure your server, just edit the file:"
einfo "${GAMES_PREFIX_OPT}/halflife/valve/server.cfg"
}
|