blob: 7a73f0ab989c40792e6a7eea8ab807feadf72968 (
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
|
# Copyright 2003 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License v2
# Author: Jason Shoemaker <kutsuya@gentoo.org>
# $Header: /var/cvsroot/gentoo-x86/eclass/zproduct.eclass,v 1.2 2003/02/18 09:00:45 carpaski Exp $
# This eclass is designed to streamline the construction of
# ebuilds for new zope products
ECLASS=zproduct
INHERITED="${INHERITED} ${ECLASS}"
EXPORT_FUNCTIONS src_install pkg_prerm pkg_postinst
[ -z "$DESCRIPTION" ] && DESCRIPTION="Define me."
HOMEPAGE=""
SRC_URI=""
DEPEND=""
RDEPEND=">=net-www/zope-2.6.0-r2"
IUSE=""
SLOT="0"
KEYWORDS="x86"
S=${WORKDIR}
ZI_DIR="/var/lib/zope/"
ZP_DIR="/usr/share/zproduct"
DOT_ZFOLDER_FPATH="${ZP_DIR}/${PF}/.zfolder.lst"
zproduct_src_install()
{
local N=
## Assume that folders or files that shouldn't be installed
# have been already been removed.
## Assume $S set to the parent directory of the zproduct(s).
debug-print-function ${FUNCNAME} ${*}
[ -n "${ZPROD_LIST}" ] || die "ZPROD_LIST isn't defined."
[ -z "${1}" ] && zproduct_src_install all
# set defaults
into ${ZP_DIR}
dodir ${ZP_DIR}/${PF}
while [ -n "$1" ] ; do
case ${1} in
do_zpfolders)
## Create .zfolders.lst from $ZPROD_LIST.
debug-print-section do_zpfolders
for N in ${ZPROD_LIST} ; do
echo ${N} >> ${D}/${DOT_ZFOLDER_FPATH}
done ;;
do_docs)
#*Moves txt docs
debug-print-section do_docs
docinto /
dodoc *.txt
rm -f *.txt
for N in ${ZPROD_LIST} ; do
docinto ${N}
dodoc ${N}/*.txt
rm -f ${N}/*.txt
if [ -d "${N}/docs" ] ; then
docinto ${N}/docs
dodoc ${N}/docs/*
rm -Rf ${N}/docs
fi
done ;;
do_install)
debug-print-section do_install
# Copy everything that's left to ${D}${ZP_DIR}
cp -a ${S}/* ${D}/${ZP_DIR}/${PF} ;;
all)
debug-print-section all
zproduct_src_install do_zpfolders do_docs do_install ;;
esac
shift
done
debug-print "${FUNCNAME}: result is ${RESULT}"
}
zproduct_pkg_postinst()
{
#*check for multiple zinstances, if several display install help msg.
#*Use zprod-update to install this zproduct to the default zinstance.
debug-print-function ${FUNCNAME} ${*}
chown -R zope:root ${ZP_DIR}/${PF}
einfo ">>> Installing zproduct into the .default zinstance..."
/usr/sbin/zprod-update add ${ZP_DIR}/${PF}
}
zproduct_pkg_prerm()
{
# remove this zproduct from all zinstances.
# process zinstance.lst and proceed with zprod-update del
debug-print-function ${FUNCNAME} ${*}
ewarn "Uninstalling from all zinstances..."
ZINST_LST=$(ls /var/lib/zope/)
if [ "${ZINST_LST}" ] ; then
for N in ${ZINST_LST} ; do
/usr/sbin/zprod-update del ${ZP_DIR}/${PF} ${ZI_DIR}${N}
done
fi
}
# Add this zproduct to the top zinstance.
zproduct_pkg_config()
{
einfo "To add zproducts to other zinstances execute:"
einfo "\tzprod-update add"
}
|