1 |
robbat2 10/10/05 21:09:41 |
2 |
|
3 |
Modified: ChangeLog |
4 |
Added: amanda-3.1.3.ebuild |
5 |
Log: |
6 |
Version bump for remote exec security vuln in 3.1.2. Older than 3.1.2 are not vulnerable. |
7 |
|
8 |
(Portage version: 2.2_rc88/cvs/Linux x86_64) |
9 |
|
10 |
Revision Changes Path |
11 |
1.69 app-backup/amanda/ChangeLog |
12 |
|
13 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-backup/amanda/ChangeLog?rev=1.69&view=markup |
14 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-backup/amanda/ChangeLog?rev=1.69&content-type=text/plain |
15 |
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-backup/amanda/ChangeLog?r1=1.68&r2=1.69 |
16 |
|
17 |
Index: ChangeLog |
18 |
=================================================================== |
19 |
RCS file: /var/cvsroot/gentoo-x86/app-backup/amanda/ChangeLog,v |
20 |
retrieving revision 1.68 |
21 |
retrieving revision 1.69 |
22 |
diff -p -w -b -B -u -u -r1.68 -r1.69 |
23 |
--- ChangeLog 30 Sep 2010 04:51:01 -0000 1.68 |
24 |
+++ ChangeLog 5 Oct 2010 21:09:41 -0000 1.69 |
25 |
@@ -1,6 +1,12 @@ |
26 |
# ChangeLog for app-backup/amanda |
27 |
# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 |
28 |
-# $Header: /var/cvsroot/gentoo-x86/app-backup/amanda/ChangeLog,v 1.68 2010/09/30 04:51:01 robbat2 Exp $ |
29 |
+# $Header: /var/cvsroot/gentoo-x86/app-backup/amanda/ChangeLog,v 1.69 2010/10/05 21:09:41 robbat2 Exp $ |
30 |
+ |
31 |
+*amanda-3.1.3 (05 Oct 2010) |
32 |
+ |
33 |
+ 05 Oct 2010; Robin H. Johnson <robbat2@g.o> +amanda-3.1.3.ebuild: |
34 |
+ Version bump for remote exec security vuln in 3.1.2. Older than 3.1.2 are |
35 |
+ not vulnerable. |
36 |
|
37 |
*amanda-3.2.0_beta1 (30 Sep 2010) |
38 |
|
39 |
|
40 |
|
41 |
|
42 |
1.1 app-backup/amanda/amanda-3.1.3.ebuild |
43 |
|
44 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-backup/amanda/amanda-3.1.3.ebuild?rev=1.1&view=markup |
45 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-backup/amanda/amanda-3.1.3.ebuild?rev=1.1&content-type=text/plain |
46 |
|
47 |
Index: amanda-3.1.3.ebuild |
48 |
=================================================================== |
49 |
# Copyright 1999-2010 Gentoo Foundation |
50 |
# Distributed under the terms of the GNU General Public License v2 |
51 |
# $Header: /var/cvsroot/gentoo-x86/app-backup/amanda/amanda-3.1.3.ebuild,v 1.1 2010/10/05 21:09:41 robbat2 Exp $ |
52 |
|
53 |
EAPI=3 |
54 |
inherit autotools eutils perl-module |
55 |
|
56 |
MY_P="${P/_}" |
57 |
DESCRIPTION="The Advanced Maryland Automatic Network Disk Archiver" |
58 |
HOMEPAGE="http://www.amanda.org/" |
59 |
SRC_URI="mirror://sourceforge/amanda/${MY_P}.tar.gz" |
60 |
LICENSE="as-is" |
61 |
SLOT="0" |
62 |
KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86" |
63 |
RDEPEND="sys-libs/readline |
64 |
virtual/inetd |
65 |
sys-apps/gawk |
66 |
app-arch/tar |
67 |
>=dev-lang/perl-5.6 |
68 |
app-arch/dump |
69 |
net-misc/openssh |
70 |
>=dev-libs/glib-2.24.0 |
71 |
nls? ( virtual/libintl ) |
72 |
s3? ( >=net-misc/curl-7.10.0 ) |
73 |
samba? ( net-fs/samba ) |
74 |
kerberos? ( app-crypt/mit-krb5 ) |
75 |
xfs? ( sys-fs/xfsdump ) |
76 |
!minimal? ( |
77 |
virtual/mailx |
78 |
app-arch/mt-st |
79 |
sys-block/mtx |
80 |
gnuplot? ( sci-visualization/gnuplot ) |
81 |
app-crypt/aespipe |
82 |
app-crypt/gnupg |
83 |
)" |
84 |
|
85 |
DEPEND="${RDEPEND} |
86 |
dev-util/pkgconfig |
87 |
nls? ( sys-devel/gettext )" |
88 |
|
89 |
IUSE="gnuplot ipv6 kerberos minimal nls s3 samba xfs" |
90 |
|
91 |
S="${WORKDIR}/${MY_P}" |
92 |
|
93 |
MYFILESDIR="${T}/files" |
94 |
ENVDIR="/etc/env.d" |
95 |
ENVDFILE="97amanda" |
96 |
TMPENVFILE="${T}/${ENVDFILE}" |
97 |
|
98 |
# This is a complete list of Amanda settings that the ebuild takes from the |
99 |
# build environment. This allows users to alter the behavior of the package as |
100 |
# upstream intended, but keeping with Gentoo style. We store a copy of them in |
101 |
# /etc/env.d/97amanda during the install, so that they are preserved for future |
102 |
# installed. This variable name must not start with AMANDA_, as we do not want |
103 |
# it captured into the env file. |
104 |
ENV_SETTINGS_AMANDA=" |
105 |
AMANDA_GROUP_GID AMANDA_GROUP_NAME |
106 |
AMANDA_USER_NAME AMANDA_USER_UID AMANDA_USER_SH AMANDA_USER_HOMEDIR AMANDA_USER_GROUPS |
107 |
AMANDA_SERVER AMANDA_SERVER_TAPE AMANDA_SERVER_INDEX |
108 |
AMANDA_TAR_LISTDIR AMANDA_TAR |
109 |
AMANDA_PORTS_UDP AMANDA_PORTS_TCP AMANDA_PORTS_BOTH AMANDA_PORTS |
110 |
AMANDA_CONFIG_NAME AMANDA_TMPDIR" |
111 |
|
112 |
amanda_variable_setup() { |
113 |
|
114 |
# Setting vars |
115 |
local currentamanda |
116 |
|
117 |
# Grab the current settings |
118 |
currentamanda="$(set | egrep "^AMANDA_" | grep -v '^AMANDA_ENV_SETTINGS' | xargs)" |
119 |
|
120 |
# First we set the defaults |
121 |
[ -z "${AMANDA_GROUP_GID}" ] && AMANDA_GROUP_GID=87 |
122 |
[ -z "${AMANDA_GROUP_NAME}" ] && AMANDA_GROUP_NAME=amanda |
123 |
[ -z "${AMANDA_USER_NAME}" ] && AMANDA_USER_NAME=amanda |
124 |
[ -z "${AMANDA_USER_UID}" ] && AMANDA_USER_UID=87 |
125 |
[ -z "${AMANDA_USER_SH}" ] && AMANDA_USER_SH=/bin/bash |
126 |
[ -z "${AMANDA_USER_HOMEDIR}" ] && AMANDA_USER_HOMEDIR=/var/spool/amanda |
127 |
[ -z "${AMANDA_USER_GROUPS}" ] && AMANDA_USER_GROUPS="${AMANDA_GROUP_NAME}" |
128 |
|
129 |
# This installs Amanda, with the server. However, it could be a client, |
130 |
# just specify an alternate server name in AMANDA_SERVER. |
131 |
[ -z "${AMANDA_SERVER}" ] && AMANDA_SERVER="${HOSTNAME}" |
132 |
[ -z "${AMANDA_SERVER_TAPE}" ] && AMANDA_SERVER_TAPE="${AMANDA_SERVER}" |
133 |
[ -z "${AMANDA_SERVER_INDEX}" ] && AMANDA_SERVER_INDEX="${AMANDA_SERVER}" |
134 |
[ -z "${AMANDA_TAR_LISTDIR}" ] && AMANDA_TAR_LISTDIR=${AMANDA_USER_HOMEDIR}/tar-lists |
135 |
[ -z "${AMANDA_CONFIG_NAME}" ] && AMANDA_CONFIG_NAME=DailySet1 |
136 |
[ -z "${AMANDA_TMPDIR}" ] && AMANDA_TMPDIR=/var/tmp/amanda |
137 |
[ -z "${AMANDA_DBGDIR}" ] && AMANDA_DBGDIR="$AMANDA_TMPDIR" |
138 |
# These are left empty by default |
139 |
[ -z "${AMANDA_PORTS_UDP}" ] && AMANDA_PORTS_UDP= |
140 |
[ -z "${AMANDA_PORTS_TCP}" ] && AMANDA_PORTS_TCP= |
141 |
[ -z "${AMANDA_PORTS_BOTH}" ] && AMANDA_PORTS_BOTH= |
142 |
[ -z "${AMANDA_PORTS}" ] && AMANDA_PORTS= |
143 |
|
144 |
# What tar to use |
145 |
[ -z "${AMANDA_TAR}" ] && AMANDA_TAR=/bin/tar |
146 |
|
147 |
# Now pull in the old stuff |
148 |
if [ -f "${ROOT}${ENVDIR}/${ENVDFILE}" ]; then |
149 |
# We don't just source it as we don't want everything in there. |
150 |
eval $(egrep "^AMANDA_" "${ROOT}${ENVDIR}/${ENVDFILE}" | grep -v '^AMANDA_ENV_SETTINGS') |
151 |
fi |
152 |
|
153 |
# Re-apply the new settings if any |
154 |
[ -n "${currentamanda}" ] && eval `echo "${currentamanda}"` |
155 |
|
156 |
} |
157 |
|
158 |
pkg_setup() { |
159 |
amanda_variable_setup |
160 |
enewgroup "${AMANDA_GROUP_NAME}" "${AMANDA_GROUP_GID}" |
161 |
enewuser "${AMANDA_USER_NAME}" "${AMANDA_USER_UID}" "${AMANDA_USER_SH}" "${AMANDA_USER_HOMEDIR}" "${AMANDA_USER_GROUPS}" |
162 |
} |
163 |
|
164 |
src_unpack() { |
165 |
# we do not want the perl src_unpack |
166 |
base_src_unpack |
167 |
} |
168 |
|
169 |
src_prepare() { |
170 |
# Fix a fun race condition if you use encryption. |
171 |
# This is one of the reasons you should test your recovery procedures often. |
172 |
#epatch "${FILESDIR}"/${PN}-2.6.0p2-amcrypt-ossl-asym-race-fix.patch |
173 |
|
174 |
# gentoo bug 248838, check /sbin stuff before /bin |
175 |
#epatch "${FILESDIR}"/${PN}-2.6.0_p2-syslocpath.patch |
176 |
|
177 |
# gentoo bug #331111 |
178 |
sed -i '/^check-local: check-perl$/d' "${S}"/config/automake/scripts.am |
179 |
sed -i '/^check-local:/s,syntax-check,,g' "${S}"/perl/Makefile.am |
180 |
|
181 |
eautoreconf |
182 |
|
183 |
# places for us to work in |
184 |
mkdir -p "${MYFILESDIR}" |
185 |
# Now we store the settings we just created |
186 |
set | egrep "^AMANDA_" | grep -v '^AMANDA_ENV_SETTINGS' > "${TMPENVFILE}" |
187 |
|
188 |
# Prepare our custom files |
189 |
einfo "Building custom configuration files" |
190 |
local i # our iterator |
191 |
local sedexpr # var for sed expr |
192 |
sedexpr='' |
193 |
for i in ${ENV_SETTINGS_AMANDA} ; do |
194 |
local val |
195 |
eval "val=\"\${${i}}\"" |
196 |
sedexpr="${sedexpr}s|__${i}__|${val}|g;" |
197 |
done |
198 |
|
199 |
# now apply the sed expr |
200 |
for i in "${FILESDIR}"/amanda-* ; do |
201 |
sed -re "${sedexpr}" <"${i}" >"${MYFILESDIR}/`basename ${i}`" |
202 |
done |
203 |
|
204 |
( |
205 |
cat "${MYFILESDIR}"/amanda-amandahosts-client-2.5.1_p3-r1 |
206 |
use minimal || cat "${MYFILESDIR}"/amanda-amandahosts-server-2.5.1_p3-r1 |
207 |
) > "${T}"/amandahosts |
208 |
} |
209 |
|
210 |
src_configure() { |
211 |
# fix bug #36316 |
212 |
addpredict /var/cache/samba/gencache.tdb |
213 |
|
214 |
[ ! -f "${TMPENVFILE}" ] && die "Variable setting file (${TMPENVFILE}) should exist!" |
215 |
source "${TMPENVFILE}" |
216 |
local myconf |
217 |
|
218 |
einfo "Using ${AMANDA_SERVER_TAPE} for tape server." |
219 |
myconf="${myconf} --with-tape-server=${AMANDA_SERVER_TAPE}" |
220 |
einfo "Using ${AMANDA_SERVER_INDEX} for index server." |
221 |
myconf="${myconf} --with-index-server=${AMANDA_SERVER_INDEX}" |
222 |
einfo "Using ${AMANDA_USER_NAME} for amanda user." |
223 |
myconf="${myconf} --with-user=${AMANDA_USER_NAME}" |
224 |
einfo "Using ${AMANDA_GROUP_NAME} for amanda group." |
225 |
myconf="${myconf} --with-group=${AMANDA_GROUP_NAME}" |
226 |
einfo "Using ${AMANDA_TAR} as Tar implementation." |
227 |
myconf="${myconf} --with-gnutar=${AMANDA_TAR}" |
228 |
einfo "Using ${AMANDA_TAR_LISTDIR} as tar listdir." |
229 |
myconf="${myconf} --with-gnutar-listdir=${AMANDA_TAR_LISTDIR}" |
230 |
einfo "Using ${AMANDA_CONFIG_NAME} as default config name." |
231 |
myconf="${myconf} --with-config=${AMANDA_CONFIG_NAME}" |
232 |
einfo "Using ${AMANDA_TMPDIR} as Amanda temporary directory." |
233 |
myconf="${myconf} --with-tmpdir=${AMANDA_TMPDIR}" |
234 |
|
235 |
if [ -n "${AMANDA_PORTS_UDP}" ] && [ -n "${AMANDA_PORTS_TCP}" ] && [ -z "${AMANDA_PORTS_BOTH}" ] ; then |
236 |
eerror "If you want _both_ UDP and TCP ports, please use only the" |
237 |
eerror "AMANDA_PORTS environment variable for identical ports, or set" |
238 |
eerror "AMANDA_PORTS_BOTH." |
239 |
die "Bad port setup!" |
240 |
fi |
241 |
if [ -n "${AMANDA_PORTS_UDP}" ]; then |
242 |
einfo "Using UDP ports ${AMANDA_PORTS_UDP/,/-}" |
243 |
myconf="${myconf} --with-udpportrange=${AMANDA_PORTS_UDP}" |
244 |
fi |
245 |
if [ -n "${AMANDA_PORTS_TCP}" ]; then |
246 |
einfo "Using TCP ports ${AMANDA_PORTS_TCP/,/-}" |
247 |
myconf="${myconf} --with-tcpportrange=${AMANDA_PORTS_TCP}" |
248 |
fi |
249 |
if [ -n "${AMANDA_PORTS}" ]; then |
250 |
einfo "Using ports ${AMANDA_PORTS/,/-}" |
251 |
myconf="${myconf} --with-portrange=${AMANDA_PORTS}" |
252 |
fi |
253 |
|
254 |
# Extras |
255 |
# Speed option |
256 |
myconf="${myconf} --with-buffered-dump" |
257 |
# "debugging" in the configuration is NOT debug in the conventional sense. |
258 |
# It is actually just useful output in the application, and should remain |
259 |
# enabled. There are some cases of breakage with MTX tape changers as of |
260 |
# 2.5.1p2 that it exposes when turned off as well. |
261 |
myconf="${myconf} --with-debugging" |
262 |
# Where to put our files |
263 |
myconf="${myconf} --localstatedir=${AMANDA_USER_HOMEDIR}" |
264 |
|
265 |
# Samba support |
266 |
myconf="${myconf} `use_with samba smbclient /usr/bin/smbclient`" |
267 |
|
268 |
# Support for BSD, SSH, BSDUDP, BSDTCP security methods all compiled in by |
269 |
# default |
270 |
myconf="${myconf} --with-bsd-security" |
271 |
myconf="${myconf} --with-ssh-security" |
272 |
myconf="${myconf} --with-bsdudp-security" |
273 |
myconf="${myconf} --with-bsdtcp-security" |
274 |
|
275 |
# kerberos-security mechanism version 4 |
276 |
# always disable, per bug #173354 |
277 |
myconf="${myconf} --without-krb4-security" |
278 |
|
279 |
# kerberos-security mechanism version 5 |
280 |
myconf="${myconf} `use_with kerberos krb5-security`" |
281 |
|
282 |
# Amazon S3 support |
283 |
myconf="${myconf} `use_enable s3 s3-device`" |
284 |
|
285 |
# Client only, as requested in bug #127725 |
286 |
if use minimal ; then |
287 |
myconf="${myconf} --without-server" |
288 |
else |
289 |
# amplot |
290 |
myconf="${myconf} $(use_with gnuplot)" |
291 |
fi |
292 |
|
293 |
# IPv6 fun. |
294 |
myconf="${myconf} `use_with ipv6`" |
295 |
|
296 |
# I18N |
297 |
myconf="${myconf} `use_enable nls`" |
298 |
|
299 |
# Bug #296634: Perl location |
300 |
perlinfo |
301 |
myconf="${myconf} --with-amperldir=${VENDOR_LIB}" |
302 |
|
303 |
# Bug 296633: --disable-syntax-checks |
304 |
# Some tests are not safe for production systems |
305 |
myconf="${myconf} --disable-syntax-checks" |
306 |
|
307 |
econf ${myconf} || die "econf failed!" |
308 |
} |
309 |
|
310 |
src_compile() { |
311 |
# Again, do not want the perl-module src_compile |
312 |
base_src_compile |
313 |
} |
314 |
|
315 |
src_install() { |
316 |
[ ! -f "${TMPENVFILE}" ] && die "Variable setting file (${TMPENVFILE}) should exist!" |
317 |
source ${TMPENVFILE} |
318 |
|
319 |
einfo "Doing stock install" |
320 |
# parallel make install b0rked |
321 |
emake -j1 DESTDIR="${D}" install || die |
322 |
|
323 |
# Build the envdir file |
324 |
# Don't forget this.. |
325 |
einfo "Building environment file" |
326 |
( |
327 |
echo "# These settings are what was present in the environment when this" |
328 |
echo "# Amanda was compiled. Changing anything below this comment will" |
329 |
echo "# have no effect on your application, but it merely exists to" |
330 |
echo "# preserve them for your next emerge of Amanda" |
331 |
cat "${TMPENVFILE}" | sed "s,=\$,='',g" |
332 |
) >> "${MYFILESDIR}/${ENVDFILE}" |
333 |
|
334 |
# Env.d |
335 |
einfo "Installing environment config file" |
336 |
doenvd "${MYFILESDIR}/${ENVDFILE}" |
337 |
|
338 |
# Lock down next section (up until docs). |
339 |
insopts -m0640 |
340 |
# Installing Amanda Xinetd Services Definition |
341 |
einfo "Installing xinetd service file" |
342 |
insinto /etc/xinetd.d |
343 |
if use minimal ; then |
344 |
newins "${MYFILESDIR}"/amanda-xinetd-2.6.1_p1-client amanda |
345 |
else |
346 |
newins "${MYFILESDIR}"/amanda-xinetd-2.6.1_p1-server amanda |
347 |
fi |
348 |
|
349 |
einfo "Installing Sample Daily Cron Job for Amanda" |
350 |
insinto /etc/cron.daily |
351 |
newins "${MYFILESDIR}/amanda-cron" amanda |
352 |
|
353 |
insinto /etc/amanda |
354 |
einfo "Installing .amandahosts File for ${AMANDA_USER_NAME} user" |
355 |
doins "${T}/amandahosts" |
356 |
fperms 600 /etc/amanda/amandahosts |
357 |
|
358 |
dosym /etc/amanda/amandahosts "${AMANDA_USER_HOMEDIR}/.amandahosts" |
359 |
insinto "${AMANDA_USER_HOMEDIR}" |
360 |
einfo "Installing .profile for ${AMANDA_USER_NAME} user" |
361 |
newins "${MYFILESDIR}/amanda-profile" .profile |
362 |
|
363 |
insinto /etc/amanda |
364 |
doins "${S}/example/amanda-client.conf" |
365 |
if ! use minimal ; then |
366 |
insinto "/etc/amanda/${AMANDA_CONFIG_NAME}" |
367 |
doins "${S}/example/amanda.conf" |
368 |
doins "${S}/example/disklist" |
369 |
keepdir "${AMANDA_USER_HOMEDIR}/${AMANDA_CONFIG_NAME}/index" |
370 |
fi |
371 |
|
372 |
keepdir "${AMANDA_TAR_LISTDIR}" |
373 |
keepdir "${AMANDA_USER_HOMEDIR}/amanda" |
374 |
keepdir "${AMANDA_TMPDIR}/dumps" |
375 |
# Just make sure it exists for XFS to work... |
376 |
use xfs && keepdir /var/xfsdump/inventory |
377 |
|
378 |
local i |
379 |
for i in "${AMANDA_USER_HOMEDIR}" "${AMANDA_TAR_LISTDIR}" \ |
380 |
"${AMANDA_TMPDIR}" /etc/amanda; do |
381 |
einfo "Securing directory (${i})" |
382 |
fowners -R ${AMANDA_USER_NAME}:${AMANDA_GROUP_NAME} ${i} |
383 |
done |
384 |
# Do NOT use -R |
385 |
fperms 0700 \ |
386 |
"${AMANDA_USER_HOMEDIR}" "${AMANDA_TAR_LISTDIR}" \ |
387 |
"${AMANDA_TMPDIR}" "${AMANDA_TMPDIR}/dumps" \ |
388 |
"${AMANDA_USER_HOMEDIR}/amanda" \ |
389 |
"${AMANDA_USER_HOMEDIR}/${AMANDA_CONFIG_NAME}" \ |
390 |
/etc/amanda /etc/amanda/${AMANDA_CONFIG_NAME} |
391 |
|
392 |
einfo "Setting setuid permissions" |
393 |
amanda_permissions_fix "${D}" |
394 |
|
395 |
# Relax permissions again |
396 |
insopts -m0644 |
397 |
|
398 |
# docs |
399 |
einfo "Installing documentation" |
400 |
dodoc AUTHORS ChangeLog DEVELOPING NEWS README ReleaseNotes UPGRADING |
401 |
# our inetd sample |
402 |
einfo "Installing standard inetd sample" |
403 |
newdoc "${MYFILESDIR}/amanda-inetd.amanda.sample-2.6.0_p2-r2" amanda-inetd.amanda.sample |
404 |
# Amanda example configs |
405 |
einfo "Installing example configurations" |
406 |
rm "${D}"/usr/share/amanda/{COPYRIGHT,ChangeLog,NEWS,ReleaseNotes} |
407 |
mv "${D}/usr/share/amanda/example" "${D}/usr/share/doc/${PF}/" |
408 |
docinto example1 |
409 |
newdoc "${FILESDIR}/example_amanda.conf" amanda.conf |
410 |
newdoc "${FILESDIR}/example_disklist-2.5.1_p3-r1" disklist |
411 |
newdoc "${FILESDIR}/example_global.conf" global.conf |
412 |
|
413 |
einfo "Cleaning up dud .la files" |
414 |
perlinfo |
415 |
find "${D}"/"${VENDOR_LIB}" -name '*.la' -print0 |xargs -0 rm -f |
416 |
} |
417 |
|
418 |
pkg_postinst() { |
419 |
[ ! -f "${TMPENVFILE}" -a "$EMERGE_FROM" == "binary" ] && \ |
420 |
TMPENVFILE="${ROOT}${ENVDIR}/${ENVDFILE}" |
421 |
[ ! -f "${TMPENVFILE}" ] && die "Variable setting file (${TMPENVFILE}) should exist!" |
422 |
source "${TMPENVFILE}" |
423 |
|
424 |
# Migration of amandates from /etc to $localstatedir/amanda |
425 |
if [ -f "${ROOT}/etc/amandates" -a \ |
426 |
! -f "${ROOT}/${AMANDA_USER_HOMEDIR}/amanda/amandates" ]; then |
427 |
einfo "Migrating amandates from /etc/ to ${AMANDA_USER_HOMEDIR}/amanda" |
428 |
einfo "A backup is also placed at /etc/amandates.orig" |
429 |
cp -dp "${ROOT}/etc/amandates" "${ROOT}/etc/amandates.orig" |
430 |
mkdir -p "${ROOT}/${AMANDA_USER_HOMEDIR}/amanda/" |
431 |
cp -dp "${ROOT}/etc/amandates" "${ROOT}/${AMANDA_USER_HOMEDIR}/amanda/amandates" |
432 |
fi |
433 |
if [ -f "${ROOT}/etc/amandates" ]; then |
434 |
einfo "If you have migrated safely, please delete /etc/amandates" |
435 |
fi |
436 |
|
437 |
# If USE=minimal, give out a warning, if AMANDA_SERVER is not set to |
438 |
# another host than HOSTNAME. |
439 |
if use minimal && [ "${AMANDA_SERVER}" = "${HOSTNAME}" ] ; then |
440 |
elog "You are installing a client-only version of Amanda." |
441 |
elog "You should set the variable \$AMANDA_SERVER to point at your" |
442 |
elog "Amanda-tape-server, otherwise you will have to specify its name" |
443 |
elog "when using amrecover on the client." |
444 |
elog "For example: Use something like" |
445 |
elog "AMANDA_SERVER=\"myserver\" emerge amanda" |
446 |
elog |
447 |
fi |
448 |
|
449 |
einfo "Checking setuid permissions" |
450 |
amanda_permissions_fix "${ROOT}" |
451 |
|
452 |
elog "You should configure Amanda in /etc/amanda now." |
453 |
elog |
454 |
elog "If you use xinetd, Don't forget to check /etc/xinetd.d/amanda" |
455 |
elog "and restart xinetd afterwards!" |
456 |
elog |
457 |
elog "Otherwise, please look at /usr/share/doc/${PF}/inetd.amanda.sample" |
458 |
elog "as an example of how to configure your inetd." |
459 |
elog |
460 |
elog "NOTICE: If you need raw access to partitions you need to add the" |
461 |
elog "amanda user to the 'disk' group." |
462 |
elog |
463 |
elog "NOTICE: If you have a tape changer, you need to add the amanda user" |
464 |
elog "to the 'tape' group." |
465 |
elog |
466 |
elog "If you use localhost in your disklist your restores may break." |
467 |
elog "You should replace it with the actual hostname!" |
468 |
elog "Please also see the syntax changes to amandahosts." |
469 |
} |
470 |
|
471 |
# We have had reports of amanda file permissions getting screwed up. |
472 |
# Losing setuid, becoming too lax etc. |
473 |
# ONLY root and users in the amanda group should be able to run these binaries! |
474 |
amanda_permissions_fix() { |
475 |
local root="$1" |
476 |
[ -z "${root}" ] && die "Failed to pass root argument to amanda_permissions_fix!" |
477 |
local le="/usr/libexec/amanda" |
478 |
for i in /usr/sbin/amcheck "${le}"/calcsize "${le}"/killpgrp \ |
479 |
"${le}"/rundump "${le}"/runtar "${le}"/dumper \ |
480 |
"${le}"/planner ; do |
481 |
chown root:${AMANDA_GROUP_NAME} "${root}"/${i} |
482 |
chmod u=srwx,g=rx,o= "${root}"/${i} |
483 |
done |
484 |
} |