commit: 9683500ed251e52139901f99cf01bd141b3ebb7b Author: Mario Haustein <mario.haustein <AT> hrz <DOT> tu-chemnitz <DOT> de> AuthorDate: Sat Jan 17 13:04:03 2026 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Sun Jan 25 06:38:44 2026 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9683500e
net-fs/openafs: add 1.8.14 Signed-off-by: Mario Haustein <mario.haustein <AT> hrz.tu-chemnitz.de> Part-of: https://github.com/gentoo/gentoo/pull/45415 Closes: https://github.com/gentoo/gentoo/pull/45415 Signed-off-by: Sam James <sam <AT> gentoo.org> net-fs/openafs/Manifest | 2 + .../files/0009-openafs-1.8.14-docbook2pdf.patch | 109 +++++++ net-fs/openafs/openafs-1.8.14.ebuild | 345 +++++++++++++++++++++ 3 files changed, 456 insertions(+) diff --git a/net-fs/openafs/Manifest b/net-fs/openafs/Manifest index 01d8a794f45d..5df0d595056d 100644 --- a/net-fs/openafs/Manifest +++ b/net-fs/openafs/Manifest @@ -4,3 +4,5 @@ DIST openafs-1.8.13.1-doc.tar.bz2 3781663 BLAKE2B f7bc8750456cd61cf1d2b5737fa4f0 DIST openafs-1.8.13.1-src.tar.bz2 15046870 BLAKE2B aeed6e0a8caab9614e0980b362f806856bb3f3340865e9197986314f8219b14b78c38f0ff05d71169716de7614b10e318561377982969945a420bca4679ebd32 SHA512 705978208e69f43a87153c6c343722a0fc3d9aacbedfaca161f260dd0a8806b9dd23f81686dbd13b62ce9b787dbf860e60e035bed7e2d26ea21576b495764c41 DIST openafs-1.8.13.2-doc.tar.bz2 3782680 BLAKE2B 10c3cc49ba6ec3515e952c2b7b712a107f04bea20f6904a0f594542e7a59d42b154a16b66d0fd85ea16d9485d01c7a25838e1caa88b55e0ca1278edc71dc3c51 SHA512 07e167fa3d90f9a2798c295a176d74eb99d39194f1ffaa33fb0bdc829bd24a689aa89ab397cb66425b4472059ab748f42e9ea54750ad725cf291469f5c9684c6 DIST openafs-1.8.13.2-src.tar.bz2 15048865 BLAKE2B 57e077cce2abc5837f8ac4896aec3dd946669b8d9440b587cfb3bfd53e7b14b2c65502deabb5fe7149e80df495a4292c747eaa9ccecf38736a1e4e2257c673cf SHA512 c4cf202090f9222ab4b71a5d5d7875210cc25c67534dbc28c6fe8b942b28a8ef953f2090493e2fb95c551a4b4cbb6d5ede88675607161a5459d8693c8a0802ad +DIST openafs-1.8.14-doc.tar.bz2 3783151 BLAKE2B 2f73bb08328ad649e1cd45c9f5f861c8fa76576f6571f48858dfb670625c9d778af6d23dd72f0c75fb3144f2d1edfc30c40783f238efe0a8cc06d94d2c331392 SHA512 09689acdcae19a0c2588729c618a64b14ae83a70c35ffa52538ec6348e1abe021550561ed64c02e51ee4869240741bb3fbc06d3446cb548f474cad8424c1720e +DIST openafs-1.8.14-src.tar.bz2 15133794 BLAKE2B 943c3dd1116fa8270990fef7fb4f6cbb2080a120185a6d56c3b9e8d2ae93064b81ed498e0bd11fc7bcc57d2b121965532fb5a48e7a9c59d1eba347598c580c06 SHA512 86838bdfacff19017d422872ea24476dae8320c462c59a56793280b6c8c8679129a3badc6b014814057cbaa35f8f977d504e2782fb31c8f9dd5d23e9744a561c diff --git a/net-fs/openafs/files/0009-openafs-1.8.14-docbook2pdf.patch b/net-fs/openafs/files/0009-openafs-1.8.14-docbook2pdf.patch new file mode 100644 index 000000000000..9c18fc04ec81 --- /dev/null +++ b/net-fs/openafs/files/0009-openafs-1.8.14-docbook2pdf.patch @@ -0,0 +1,109 @@ +From 4501337bab87ec8724ae45fa50713584a211fb3a Mon Sep 17 00:00:00 2001 +From: Andrew Savchenko <[email protected]> +Date: Fri, 4 Jan 2019 16:37:35 +0300 +Subject: [PATCH 09/13] docbook2pdf + +Jadetex based converters require jadetex tuning: + save_size=50000 + max_strings=1000000 + pool_size=2000000 + hash_extra=150000 +Otherwise TeX will run out of its capacity during large PDFs +generation. + +docbook2pdf needs to ignore an ID reference value which no element +has as its ID: + -e no-idref +This is already done by other converters implicitly. + +(cherry picked from commit c81ef9c4109eb1bfc9cb42d952b9d5240f3d713b) +(cherry picked from commit c4515998db6078ccf82fad23b774bc243ba1f020) +(cherry picked from commit 876c27c8fb7cc3c80e31d3e642a7727313b4f0c0) +--- a/doc/xml/AdminGuide/Makefile.in ++++ b/doc/xml/AdminGuide/Makefile.in +@@ -33,6 +33,7 @@ XSLTPROC = @XSLTPROC@ + DOCBOOK2PDF = @DOCBOOK2PDF@ + KINDLEGEN = @KINDLEGEN@ + DBTOEPUB = $(DOCBOOK_STYLESHEETS)/epub/bin/dbtoepub ++TEXOPTS = save_size=50000 max_strings=1000000 pool_size=2000000 hash_extra=150000 + + XSL_FLAGS = --path '@abs_builddir@' + +@@ -48,8 +49,10 @@ $(BOOK).pdf: $(SRCS) + $(XSLTPROC) $(DOCBOOK_STYLESHEETS)/fo/docbook.xsl \ + $(srcdir)/$(BOOK).xml > $(BOOK).fo; \ + $(DOCBOOK2PDF) $(BOOK).fo $(BOOK).pdf; \ ++ elif test "x$(DOCBOOK2PDF)" = "xdocbook2pdf"; then \ ++ $(TEXOPTS) $(DOCBOOK2PDF) -e no-idref $(BOOK).xml; \ + else \ +- $(DOCBOOK2PDF) --output=$@ --xslt-opts="$(XSL_FLAGS)" \ ++ $(TEXOPTS) $(DOCBOOK2PDF) --output=$@ --xslt-opts="$(XSL_FLAGS)" \ + $(srcdir)/$(BOOK).xml; \ + fi + +--- a/doc/xml/AdminRef/Makefile.in ++++ b/doc/xml/AdminRef/Makefile.in +@@ -16,6 +16,7 @@ XSLTPROC = @XSLTPROC@ --stringparam variablelist.as.blocks 1 --param use.id.as.f + DOCBOOK2PDF = @DOCBOOK2PDF@ + DBTOEPUB = $(DOCBOOK_STYLESHEETS)/epub/bin/dbtoepub + KINDLEGEN = @KINDLEGEN@ ++TEXOPTS = save_size=50000 max_strings=1000000 pool_size=2000000 hash_extra=150000 + + XSL_FLAGS = --path '@abs_builddir@' + +@@ -28,8 +29,10 @@ $(BOOK).pdf: $(SRCS) + $(DOCBOOK_STYLESHEETS)/fo/docbook.xsl \ + $(srcdir)/$(BOOK).xml > $(BOOK).fo; \ + $(DOCBOOK2PDF) $(BOOK).fo $(BOOK).pdf; \ ++ elif test "x$(DOCBOOK2PDF)" = "xdocbook2pdf"; then \ ++ $(TEXOPTS) $(DOCBOOK2PDF) -e no-idref $(BOOK).xml; \ + else \ +- $(DOCBOOK2PDF) --output=$@ --xslt-opts="$(XSL_FLAGS)" \ ++ $(TEXOPTS) $(DOCBOOK2PDF) --output=$@ --xslt-opts="$(XSL_FLAGS)" \ + $(srcdir)/$(BOOK).xml; \ + fi + +--- a/doc/xml/QuickStartUnix/Makefile.in ++++ b/doc/xml/QuickStartUnix/Makefile.in +@@ -31,6 +31,7 @@ XSLTPROC = @XSLTPROC@ + DOCBOOK2PDF = @DOCBOOK2PDF@ + DBTOEPUB = $(DOCBOOK_STYLESHEETS)/epub/bin/dbtoepub + KINDLEGEN = @KINDLEGEN@ ++TEXOPTS = save_size=50000 max_strings=1000000 pool_size=2000000 hash_extra=150000 + + XSL_FLAGS = --path '@abs_builddir@' + +@@ -47,8 +48,10 @@ $(BOOK).pdf: $(SRCS) + $(DOCBOOK_STYLESHEETS)/fo/docbook.xsl \ + $(srcdir)/$(BOOK).xml > $(BOOK).fo; \ + $(DOCBOOK2PDF) $(BOOK).fo $(BOOK).pdf; \ ++ elif test "x$(DOCBOOK2PDF)" = "xdocbook2pdf"; then \ ++ $(TEXOPTS) $(DOCBOOK2PDF) -e no-idref $(BOOK).xml; \ + else \ +- $(DOCBOOK2PDF) --output=$@ --xslt-opts="$(XSL_FLAGS)" \ ++ $(TEXOPTS) $(DOCBOOK2PDF) --output=$@ --xslt-opts="$(XSL_FLAGS)" \ + $(srcdir)/$(BOOK).xml; \ + fi + +--- a/doc/xml/UserGuide/Makefile.in ++++ b/doc/xml/UserGuide/Makefile.in +@@ -31,6 +31,7 @@ XSLTPROC = @XSLTPROC@ + DOCBOOK2PDF = @DOCBOOK2PDF@ + DBTOEPUB = $(DOCBOOK_STYLESHEETS)/epub/bin/dbtoepub + KINDLEGEN = @KINDLEGEN@ ++TEXOPTS = save_size=50000 max_strings=1000000 pool_size=2000000 hash_extra=150000 + + XSL_FLAGS = --path '@abs_builddir@' + +@@ -47,8 +48,10 @@ $(BOOK).pdf: $(SRCS) + $(DOCBOOK_STYLESHEETS)/fo/docbook.xsl \ + $(srcdir)/$(BOOK).xml > $(BOOK).fo; \ + $(DOCBOOK2PDF) $(BOOK).fo $(BOOK).pdf; \ ++ elif test "x$(DOCBOOK2PDF)" = "xdocbook2pdf"; then \ ++ $(TEXOPTS) $(DOCBOOK2PDF) -e no-idref $(BOOK).xml; \ + else \ +- $(DOCBOOK2PDF) --output=$@ --xslt-opts="$(XSL_FLAGS)" \ ++ $(TEXOPTS) $(DOCBOOK2PDF) --output=$@ --xslt-opts="$(XSL_FLAGS)" \ + $(srcdir)/$(BOOK).xml; \ + fi + diff --git a/net-fs/openafs/openafs-1.8.14.ebuild b/net-fs/openafs/openafs-1.8.14.ebuild new file mode 100644 index 000000000000..7aa5db51f57d --- /dev/null +++ b/net-fs/openafs/openafs-1.8.14.ebuild @@ -0,0 +1,345 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MODULES_OPTIONAL_IUSE="modules" +inherit autotools linux-mod-r1 flag-o-matic pam systemd tmpfiles toolchain-funcs + +MY_PV=${PV/_/} +MY_P="${PN}-${MY_PV}" +KERNEL_LIMIT=6.16 + +DESCRIPTION="The OpenAFS distributed file system" +HOMEPAGE="https://www.openafs.org/" +# We always d/l the doc tarball as man pages are not USE=doc material +[[ ${PV} == *_pre* ]] && MY_PRE="candidate/" || MY_PRE="" +SRC_URI=" + https://openafs.org/dl/openafs/${MY_PRE}${MY_PV}/${MY_P}-src.tar.bz2 + https://openafs.org/dl/openafs/${MY_PRE}${MY_PV}/${MY_P}-doc.tar.bz2 +" + +S="${WORKDIR}/${MY_P}" + +LICENSE="IBM BSD openafs-krb5-a APSL-2" +SLOT="0" +KEYWORDS="amd64 -riscv ~sparc x86" + +IUSE="apidoc bitmap-later debug doc fuse kauth kerberos +modules +namei +ncurses perl +pthreaded-ubik selinux +supergroups tsm ubik-read-while-write" + +BDEPEND=" + dev-lang/perl + app-alternatives/lex + app-alternatives/yacc + apidoc? ( + app-text/doxygen[dot] + media-gfx/graphviz + ) + doc? ( + dev-libs/libxslt + || ( + >=dev-java/fop-2.10-r1:0 + app-text/dblatex + app-text/docbook-sgml-utils[jadetex] + ) + ) + perl? ( dev-lang/swig )" +DEPEND=" + virtual/libcrypt:= + virtual/libintl + amd64? ( tsm? ( app-backup/tsm ) ) + doc? ( + app-text/docbook-xsl-stylesheets + app-text/docbook-xml-dtd:4.3 + ) + fuse? ( sys-fs/fuse:0= ) + kauth? ( sys-libs/pam ) + kerberos? ( virtual/krb5 ) + ncurses? ( sys-libs/ncurses:0= )" +RDEPEND=" + ${DEPEND} + selinux? ( sec-policy/selinux-afs )" + +PATCHES=( + "${FILESDIR}"/0002-pam-paths.patch + "${FILESDIR}"/0003-fbsd.patch + "${FILESDIR}"/0004-sparc.patch + "${FILESDIR}"/0005-uname.patch + "${FILESDIR}"/0006-resolv.patch + "${FILESDIR}"/0007-afsauthent-symbols.patch + "${FILESDIR}"/0008-flags.patch + "${FILESDIR}"/0009-${P}-docbook2pdf.patch + "${FILESDIR}"/0010-libperl.patch + "${FILESDIR}"/0011-xbsa.patch + "${FILESDIR}"/0012-xml-dtd.patch + "${FILESDIR}"/0013-kernel-cc-ld.patch +) +# see https://bugs.gentoo.org/943641 +# Upstream performs uses customized autoconf routines to check for +# the availability of various functions and the warnings/errors in +# the config log for implicit function declarations are expected +# and therefore are false positives. +QA_CONFIG_IMPL_DECL_SKIP=("*") + +CONFIG_CHECK="~!AFS_FS KEYS" +ERROR_AFS_FS="OpenAFS conflicts with the in-kernel AFS-support. Make sure not to load both at the same time!" +ERROR_KEYS="OpenAFS needs CONFIG_KEYS option enabled" + +pkg_pretend() { + if use modules && use kernel_linux && kernel_is -ge ${KERNEL_LIMIT/\./ } ; then + ewarn "Gentoo supports kernels which are supported by OpenAFS" + ewarn "which are limited to the kernel versions: < ${KERNEL_LIMIT}" + ewarn "" + ewarn "You are free to utilize eapply_user to provide whatever" + ewarn "support you feel is appropriate, but will not receive" + ewarn "support as a result of those changes." + ewarn "" + ewarn "Please do not file a bug report about this." + ewarn "" + ewarn "Alternatively, you may:" + ewarn "1. Use OpenAFS FUSE client, build OpenAFS with USE=fuse to enable it." + ewarn "2. Use native kernel AFS client: configure your kernel with CONFIG_AFS_FS." + ewarn "net-fs/openafs is not required in this case, but client's functionality will be limited." + fi +} + +pkg_setup() { + use kernel_linux && linux-mod-r1_pkg_setup +} + +src_prepare() { + default + + # fixing 2-nd level makefiles to honor flags + sed -i -r 's/\<CFLAGS[[:space:]]*=/CFLAGS+=/; s/\<LDFLAGS[[:space:]]*=/LDFLAGS+=/' \ + src/*/Makefile.in || die '*/Makefile.in sed failed' + + # build system is very delicate, so we can't run eautoreconf + # run autotools commands based on what is listed in regen.sh + _elibtoolize -c -f -i + eaclocal -I src/cf -I src/external/rra-c-util/m4 -I src/external/autoconf-archive/m4 + eautoconf + eautoconf -o configure-libafs configure-libafs.ac + eautoheader + einfo "Deleting autom4te.cache directory" + rm -rf autom4te.cache || die +} + +src_configure() { + # requires the --enable-static to avoid build errors. This is + # currently an upstream limitation. + local myconf=( + --enable-static + --disable-strip-binaries + $(use_enable bitmap-later) + $(use_enable debug) + $(use_enable debug debug-locks) + $(use_enable debug debug-lwp) + $(use_enable fuse fuse-client) + $(use_enable kauth) + $(use_enable modules kernel-module) + $(use_enable namei namei-fileserver) + $(use_enable ncurses gtx) + $(use_enable pthreaded-ubik) + $(use_enable supergroups) + $(use_enable ubik-read-while-write) + $(use_with apidoc dot) + $(use_with doc docbook-stylesheets /usr/share/sgml/docbook/xsl-stylesheets) + $(use_with kerberos krb5) + $(use_with perl swig) + ) + + # bug #861368 + filter-lto + + if use debug; then + use kauth && myconf+=( --enable-debug-pam ) + use modules && myconf+=( --enable-debug-kernel ) + fi + + if use modules; then + if use kernel_linux; then + if kernel_is -ge 3 17 && kernel_is -le 3 17 2; then + myconf+=( --enable-linux-d_splice_alias-extra-iput ) + fi + myconf+=( --with-linux-kernel-headers="${KV_DIR}" \ + --with-linux-kernel-build="${KV_OUT_DIR}" ) + fi + fi + + use amd64 && use tsm && myconf+=( --enable-tivoli-tsm ) + + local ARCH="$(tc-arch-kernel)" + local MY_ARCH="$(tc-arch)" + local BSD_BUILD_DIR="/usr/src/sys/${MY_ARCH}/compile/GENERIC" + + AFS_SYSKVERS=26 \ + econf "${myconf[@]}" + +} + +src_compile() { + ARCH="$(tc-arch-kernel)" AR="$(tc-getAR)" emake V=1 + local d + if use doc; then + emake -C doc/xml/AdminGuide auagd000.pdf + emake -C doc/xml/AdminRef auarf000.pdf + emake -C doc/xml/QuickStartUnix auqbg000.pdf + emake -C doc/xml/UserGuide auusg000.pdf + fi + if use apidoc; then + doxygen doc/doxygen/Doxyfile || die "Failed to build doxygen files" + fi +} + +src_install() { + local OPENRCDIR="${FILESDIR}/openrc" + local SYSTEMDDIR="${FILESDIR}/systemd" + + emake DESTDIR="${ED}" install_nolibafs + + if use modules; then + if use kernel_linux; then + local srcdir=$(expr "${S}"/src/libafs/MODLOAD-*) + [[ -f ${srcdir}/libafs.ko ]] || die "Couldn't find compiled kernel module" + linux_domodule ${srcdir}/libafs.ko + modules_post_process + fi + fi + + insinto /etc/openafs + doins src/afsd/CellServDB + newins "${FILESDIR}/ThisCell.default" ThisCell + newins "${FILESDIR}/cacheinfo.default" cacheinfo + + # pam_afs and pam_afs.krb have been installed in irregular locations, fix + if use kauth; then + dopammod "${ED}"/usr/$(get_libdir)/pam_afs* + fi + rm -f "${ED}"/usr/$(get_libdir)/pam_afs* || die + + # remove kdump stuff provided by kexec-tools #222455 + rm -rf "${ED}"/usr/sbin/kdump* || die + + # avoid collision with mit_krb5's version of kpasswd + if use kauth; then + mv "${ED}"/usr/bin/kpasswd{,_afs} || die + mv "${ED}"/usr/share/man/man1/kpasswd{,_afs}.1 || die + fi + + # avoid collision with heimdal's pagsh + if has_version app-crypt/heimdal; then + mv "${ED}"/usr/bin/pagsh{,_afs} || die + mv "${ED}"/usr/share/man/man1/pagsh{,_afs}.1 || die + fi + + # move lwp stuff around #200674 #330061 + mv "${ED}"/usr/include/{lwp,lock,timer}.h "${ED}"/usr/include/afs/ || die + mv "${ED}"/usr/$(get_libdir)/liblwp* "${ED}"/usr/$(get_libdir)/afs/ || die + # update paths to the relocated lwp headers + sed -ri \ + -e '/^#include <(lwp|lock|timer).h>/s:<([^>]*)>:<afs/\1>:' \ + "${ED}"/usr/include/*.h \ + "${ED}"/usr/include/*/*.h \ + || die + + # minimal documentation + use kauth && doman src/pam/pam_afs.5 + DOCS=( "${FILESDIR}/README.Gentoo" src/afsd/CellServDB NEWS README ) + + # documentation package + rm -rf doc/txt/winnotes || die # unneeded docs + if use doc; then + DOCS+=( doc/{pdf,protocol,txt} CODING CONTRIBUTING ) + newdoc doc/xml/AdminGuide/auagd000.pdf AdminGuide.pdf + newdoc doc/xml/AdminRef/auarf000.pdf AdminRef.pdf + newdoc doc/xml/QuickStartUnix/auqbg000.pdf QuickStartUnix.pdf + newdoc doc/xml/UserGuide/auusg000.pdf UserGuide.pdf + fi + use apidoc && DOCS+=( doc/doxygen/output/html ) + einstalldocs + + # Gentoo related scripts + newinitd "${OPENRCDIR}"/openafs-client.initd openafs-client + newconfd "${OPENRCDIR}"/openafs-client.confd openafs-client + newinitd "${OPENRCDIR}"/openafs-server.initd openafs-server + newconfd "${OPENRCDIR}"/openafs-server.confd openafs-server + dotmpfiles "${SYSTEMDDIR}"/tmpfiles.d/openafs-client.conf + systemd_dounit "${SYSTEMDDIR}"/openafs-client.service + systemd_dounit "${SYSTEMDDIR}"/openafs-server.service + systemd_install_serviced "${SYSTEMDDIR}"/openafs-client.service.conf + systemd_install_serviced "${SYSTEMDDIR}"/openafs-server.service.conf + + # used directories: client + keepdir /etc/openafs + + # used directories: server + keepdir /etc/openafs/server + diropts -m0700 + keepdir /var/lib/openafs + keepdir /var/lib/openafs/db + diropts -m0755 + keepdir /var/lib/openafs/logs + + # link logfiles to /var/log + dosym ../lib/openafs/logs /var/log/openafs +} + +pkg_preinst() { + ## Somewhat intelligently install default configuration files + ## (when they are not present) + local x + for x in cacheinfo CellServDB ThisCell ; do + if [[ -e "${EROOT}"/etc/openafs/${x} ]] ; then + cp "${EROOT}"/etc/openafs/${x} "${ED}"/etc/openafs/ + fi + done +} + +pkg_postinst() { + use kernel_linux && linux-mod-r1_pkg_postinst + + tmpfiles_process openafs-client.conf + + elog "This installation should work out of the box (at least the" + elog "client part doing global afs-cell browsing, unless you had" + elog "a previous and different configuration). If you want to" + elog "set up your own cell or modify the standard config," + elog "please have a look at the Gentoo OpenAFS documentation" + elog "(warning: it is not yet up to date wrt the new file locations)" + elog + elog "The documentation can be found at:" + elog " https://wiki.gentoo.org/wiki/OpenAFS" + elog + elog "Systemd users should run emerge --config ${CATEGORY}/${PN} before" + elog "first use and whenever ${EROOT}/etc/openafs/cacheinfo is edited." +} + +pkg_config() { + elog "Setting cache options for systemd." + + SERVICED_FILE="${EROOT}"/etc/systemd/system/openafs-client.service.d/00gentoo.conf + [[ ! -e "${SERVICED_FILE}" ]] && die "Systemd service.d file ${SERVICED_FILE} not found." + + CACHESIZE=$(cut -d ':' -f 3 "${EROOT}"/etc/openafs/cacheinfo) + [[ -z ${CACHESIZE} ]] && die "Failed to parse ${EROOT}/etc/openafs/cacheinfo." + + if [[ ${CACHESIZE} -lt 131070 ]]; then + AFSD_CACHE_ARGS="-stat 300 -dcache 100 -daemons 2 -volumes 50" + elif [[ ${CACHESIZE} -lt 524288 ]]; then + AFSD_CACHE_ARGS="-stat 2000 -dcache 800 -daemons 3 -volumes 70" + elif [[ ${CACHESIZE} -lt 1048576 ]]; then + AFSD_CACHE_ARGS="-stat 2800 -dcache 2400 -daemons 5 -volumes 128" + elif [[ ${CACHESIZE} -lt 2209715 ]]; then + AFSD_CACHE_ARGS="-stat 3600 -dcache 3600 -daemons 5 -volumes 196 -files 50000" + else + AFSD_CACHE_ARGS="-stat 4000 -dcache 4000 -daemons 6 -volumes 256 -files 50000" + fi + + # Replace existing env var if exists, else append line + grep -q "^Environment=\"AFSD_CACHE_ARGS=" "${SERVICED_FILE}" && \ + sed -i "s/^Environment=\"AFSD_CACHE_ARGS=.*/Environment=\"AFSD_CACHE_ARGS=${AFSD_CACHE_ARGS}\"/" "${SERVICED_FILE}" || \ + sed -i "$ a\Environment=\"AFSD_CACHE_ARGS=${AFSD_CACHE_ARGS}\"" "${SERVICED_FILE}" || \ + die "Updating ${SERVICED_FILE} failed." +}
