blob: 091659c89118e40423be346a1be71cd0bf945dde (
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
|
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/sys-apps/entropy/entropy-183.ebuild,v 1.4 2013/03/20 16:25:50 lxnay Exp $
EAPI="4"
PYTHON_DEPEND="2"
PYTHON_USE_WITH="sqlite"
inherit eutils python user
DESCRIPTION="Entropy Package Manager foundation library"
HOMEPAGE="http://www.sabayon.org"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~arm ~ia64 ~ppc ~ppc64 ~x86"
IUSE=""
SRC_URI="mirror://sabayon/${CATEGORY}/${P}.tar.bz2"
RDEPEND="dev-db/sqlite[soundex(+)]
net-misc/rsync
sys-apps/diffutils
sys-apps/sandbox
>=sys-apps/portage-2.1.9
sys-devel/gettext"
DEPEND="${RDEPEND}
dev-util/intltool"
REPO_CONFPATH="${ROOT}/etc/entropy/repositories.conf"
REPO_D_CONFPATH="${ROOT}/etc/entropy/repositories.conf.d"
ENTROPY_CACHEDIR="${ROOT}/var/lib/entropy/caches"
pkg_setup() {
# Can:
# - update repos
# - update security advisories
# - handle on-disk cache (atm)
enewgroup entropy || die "failed to create entropy group"
# Create unprivileged entropy user
enewgroup entropy-nopriv || die "failed to create entropy-nopriv group"
enewuser entropy-nopriv -1 -1 -1 entropy-nopriv || die "failed to create entropy-nopriv user"
python_pkg_setup
}
src_compile() {
cd "${S}"/lib || die
emake || die "make failed"
}
src_install() {
# create directories required by equo
dodir /var/run/entropy
keepdir /var/run/entropy
cd "${S}"/lib || die
# TODO: drop VARDIR after 146
emake DESTDIR="${D}" VARDIR="/var" LIBDIR="usr/lib" install || die "make install failed"
}
pkg_postinst() {
for ex_conf in "${REPO_D_CONFPATH}"/_entropy_sabayon-limbo.example; do
real_conf="${ex_conf%.example}"
if [ -f "${real_conf}" ] || [ -f "${real_conf/_}" ]; then
# skip installation then
continue
fi
elog "Installing: ${real_conf}"
cp "${ex_conf}" "${real_conf}" -p
done
# Copy config file over
if [ -f "${REPO_CONFPATH}.example" ] && [ ! -f "${REPO_CONFPATH}" ]; then
elog "Copying ${REPO_CONFPATH}.example over to ${REPO_CONFPATH}"
cp "${REPO_CONFPATH}.example" "${REPO_CONFPATH}" -p
fi
if [ -d "${ENTROPY_CACHEDIR}" ]; then
einfo "Purging current Entropy cache"
rm -rf "${ENTROPY_CACHEDIR}"/*
fi
# Fixup Entropy Resources Lock, and /etc/entropy/packages
# files permissions. This fixes unprivileged Entropy Library usage
local res_file="${ROOT}"/var/lib/entropy/client/database/*/.using_resources
if [ -f "${res_file}" ]; then
chown root:entropy "${res_file}"
chmod g+rw "${res_file}"
chmod o+r "${res_file}"
fi
local pkg_files="package.mask package.unmask package.mask.d package.unmask.d"
local pkg_file
for pkg_file in ${pkg_files}; do
pkg_file="${ROOT}/etc/entropy/packages/${pkg_file}"
recursive=""
if [ -d "${pkg_file}" ]; then
recursive="-R"
fi
if [ -e "${pkg_file}" ]; then
chown ${recursive} root:entropy "${pkg_file}"
chmod ${recursive} go+r "${pkg_file}"
fi
done
# Setup Entropy Library directories ownership
chown -R root:entropy "${ROOT}/var/tmp/entropy"
chown root:entropy "${ROOT}/var/lib/entropy" # no recursion
chown root:entropy "${ROOT}/var/lib/entropy/client/packages" # no recursion
chown root:entropy "${ROOT}/var/log/entropy" # no recursion
python_mod_optimize "/usr/lib/entropy/lib/entropy"
echo
elog "If you want to enable Entropy packages delta download support, please"
elog "install dev-util/bsdiff."
echo
}
pkg_postrm() {
python_mod_cleanup "/usr/lib/entropy/lib/entropy"
}
|