diff options
Diffstat (limited to 'net-fs/openafs')
-rw-r--r-- | net-fs/openafs/Manifest | 14 | ||||
-rw-r--r-- | net-fs/openafs/metadata.xml | 12 | ||||
-rw-r--r-- | net-fs/openafs/openafs-1.6.22.2.ebuild | 222 | ||||
-rw-r--r-- | net-fs/openafs/openafs-1.8.7.ebuild (renamed from net-fs/openafs/openafs-1.8.2-r1.ebuild) | 53 | ||||
-rw-r--r-- | net-fs/openafs/openafs-1.8.8.1-r1.ebuild (renamed from net-fs/openafs/openafs-1.6.22.1.ebuild) | 203 |
5 files changed, 193 insertions, 311 deletions
diff --git a/net-fs/openafs/Manifest b/net-fs/openafs/Manifest index 4626148ccc84..a5e32ac409ab 100644 --- a/net-fs/openafs/Manifest +++ b/net-fs/openafs/Manifest @@ -1,8 +1,6 @@ -DIST openafs-1.6.22.1-doc.tar.bz2 3534064 BLAKE2B e9f67fb42b6c4e6c2092e713e801db5479beccb1e3dc6d48c16e655151dcf91693497c4ee57c47c98c52cba6eb0ad271698ed450487bdb462111a9276cb1eb74 SHA512 1c9481507824a450d6610dbbb427bdbccb3373e12bae0bf603ec121023ee7bbb05fef366f5eec793736b0643d0f6e8f611bc55473c71a831e3b31970420ec44c -DIST openafs-1.6.22.1-src.tar.bz2 14682183 BLAKE2B a01e08f30f28dda9484407bbe0568df7b517e587b6e2475d669269e09745050bee955438dfeab9d86564dbc22821bc2fb417c15f8add0aae6acdde266c080df0 SHA512 901959051f60f7ffa2db8a253a16f9460713e3637a53f0b6b05e72247e08b633951116dc28b19db9c7448d8ebc7a20a8a851d5356c52f16c28f5c89209f8190e -DIST openafs-1.6.22.2-doc.tar.bz2 3533975 BLAKE2B a44b39291ece3d4b1f9f9e722b35f48698063e4daecb94745b5a8ead00412b9e8e7baef0c1264c6289de45cab66b4b83ed3cfe83a60072480c848c14bb61016c SHA512 e8405ad2f5c3ad24d37789fdf71961ed3f1af4467b9385a87f70f8ffc39dfccf1db35a492360811cf62bb3959cdb7f6eee08991aaafa24961b24815f908172c1 -DIST openafs-1.6.22.2-src.tar.bz2 14673379 BLAKE2B 06408ad98a1812608b14ee89ffa40ccbbf6aa7d41dc0741c9c7b9e2c59a3f88c1f6676aa2f996b888cb7f50c04f0c8fe2da15c3f3647e3998f70c973c18ea7d3 SHA512 e4f2ce326a1d04ec20b1fa4115509bf35f73d937ff77e6e017e851ce871542d935e5ae8a597efd14027c385869657cf538cffa2674878bd4d4da37f20626172c -DIST openafs-1.8.2-doc.tar.bz2 3801937 BLAKE2B 321af6f0b97cfe195b18a7fb55208981158f23671dec35c0462167d3ebddd245e3aabefbc13f3caddbd6d4556c448f137acfd70be768dbeb843bedf2acfe8e2b SHA512 99bf052f7128e920766efaafc930fa33b7d3615f7c61c1182fd93159fd477d88da05f88fd9f39896c44d80a3687142367613adc2d7bd73d069dc5820b4cf8653 -DIST openafs-1.8.2-src.tar.bz2 15109003 BLAKE2B 13a786bcc2053d70a161e32911eef9c774492b28f93d33747f51fd55e4374d1dba52c83733d6cce8fdb4496a222800acaf4f95d8e7b4790259476c29486fd601 SHA512 8115098fc60e12f63e9177a7487c08bf60ac738ceaa84644e4c57345928f2764a9e06653f235456e8667a779bbce7647521574751d1bd6b64827b12f63f91b92 -DIST openafs-patches-20170822.tar.xz 11036 BLAKE2B e53d9e01c5808ca9876fd22f729e0e82cb0f6bc7c1f4875ad0607ac9d547e216c61cc2c3506eaafb7c81318958cd038c177e9e5b2c3728997d7f44e13bbbded4 SHA512 f4b574287bfe54881a70f3ccd4d4901b2f8f9ecbec7b3a4975b59050d5ef27c6de3da25f820b7b2b10f1a38034bb28e5c01ee094fb38cae80e244eeb04b29d0a -DIST openafs-patches-20190106.tar.xz 29712 BLAKE2B 6377ffc6afa147f47e57e94c7c18c17c42f70c3c8d578ca7e53a4577918be0e6e6d3fbe427c5c460df8a5abb3e4f707beb27fda5e919b95285c4ce02484cd89d SHA512 bc35e422ffb3b231a3ba80f5408ebbec7b1220b8be56bf4a84024a2554060ca1c0e2ea97af989bcafade3629d40520df3d69f58a90f526f0d60523f8d3f96d16 +DIST openafs-1.8.7-doc.tar.bz2 3808045 BLAKE2B 8ded75239dd59633297ee4208a0f3f018486b5b5b71fda91229583fd2d6a7743bbbeba280e61ff91d602617fc47944105b06a5c0610b0c89c808ecba38af7f9c SHA512 6d087320ab6681686b6afb78621b21eaec26b91dbd03a13df447ad9f0ce897332ac378b38bf1abc590575d82d8cb22757249e60a2407e4ad498d46c083632e0d +DIST openafs-1.8.7-src.tar.bz2 15059909 BLAKE2B 89aacc48100d3eabbec45acca3911fbd823c029a30e79ad16564dcc3646b9bbadb60a528f142fc907de0d4eb2831d922d8146cdba72c02f4e8db9ab806c84d86 SHA512 12d5aa9177dde10e504f71b4b1ae19be0b0c52e8031e0f5afacce4a2c3f2321970af65591edab6145f7400f6276acd7e8624aa66e816d2394324e2ef5c403c01 +DIST openafs-1.8.8.1-doc.tar.bz2 3770278 BLAKE2B 4d10c96f05190a71b8d7aa89557946d0b95774ca77f40d8e9ca81f5d5bacff1966e637f3bd066181f2dcf182dbfffdf93521981745fe4dbfea142e6b17fcf574 SHA512 c229636ca4c7245d37fa25b02805982e3f667163ae312e14678117c60320ccce50230bf09e081167e789a76bad8fa39a88638cb439ab87954c93b6108004efa8 +DIST openafs-1.8.8.1-src.tar.bz2 14866119 BLAKE2B ae58a1d30fc8d72b4487700203c03e62fc15d0034a03516d4ea5b52c33970e8d9954e6b3c812a4633910c512d283c11431abbcb3868569d8d5ced1a69585263e SHA512 fb181e0989e9bae714af26de916a96946eea20f98b47154f2de7b5e296cb4f42af5df037ef7b603073e97eafe52d7c401666f03130c1e0c9a6ae1a6c2707c384 +DIST openafs-patches-20210116.tar.xz 67300 BLAKE2B aaafa197d1be1e9d89685fe5193a4682ea9e5e5c1c3227963a97ca7a98e6ab5e855ee65d615a31162559b30ae5867fde6ceeec1055af1a375e73b9fa25654de5 SHA512 06e9e1b65fceda34a197556aba1a05eabb630723fc17c5060d5e2a054e60ab8c5195d5c80eff3d3444bcdca40b7115da9143f5b8100659061446038ad4a79007 +DIST openafs-patches-20211212.tar.xz 13892 BLAKE2B 64582135ff3b81725cf0510d1157785b112f76197b8f50a947d22a82b8b55bebd163f2288b19d68a994f22c78bd90b6bfdad5f75383df1cac06d40feb72e8de8 SHA512 40a1a0d126ae194609da8a264c26b278b6081d95020bcbdb3a809952a70535fa551d1983e811e4ab9deaec06f061075906c2bbaf91e4354bff3520584e3fd336 diff --git a/net-fs/openafs/metadata.xml b/net-fs/openafs/metadata.xml index 32ca71d15eb8..ccc902021cc8 100644 --- a/net-fs/openafs/metadata.xml +++ b/net-fs/openafs/metadata.xml @@ -1,15 +1,9 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> -<maintainer type="person"> - <email>NP-Hardass@gentoo.org</email> -</maintainer> -<maintainer type="person"> - <email>bircoph@gentoo.org</email> - <name>Andrew Savchenko</name> -</maintainer> +<!-- maintainer-needed --> <use> - <flag name="api">Build API documentation using <pkg>app-doc/doxygen</pkg>. + <flag name="apidoc">Build API documentation using <pkg>app-text/doxygen</pkg>. May take a *long* time to build.</flag> <flag name="bitmap-later">Enable fast startup of file server by not reading bitmap till needed.</flag> diff --git a/net-fs/openafs/openafs-1.6.22.2.ebuild b/net-fs/openafs/openafs-1.6.22.2.ebuild deleted file mode 100644 index d1b9080afba6..000000000000 --- a/net-fs/openafs/openafs-1.6.22.2.ebuild +++ /dev/null @@ -1,222 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="6" - -inherit autotools eutils flag-o-matic multilib pam systemd toolchain-funcs - -MY_PV=${PV/_/} -MY_P="${PN}-${MY_PV}" -PVER="20170822" - -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 - https://dev.gentoo.org/~bircoph/afs/${PN}-patches-${PVER}.tar.xz -" - -LICENSE="IBM BSD openafs-krb5-a APSL-2" -SLOT="0" -KEYWORDS="~amd64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux" - -IUSE="bitmap-later debug doc fuse kerberos +modules ncurses pam pthreaded-ubik +supergroups" - -CDEPEND=" - virtual/libintl - fuse? ( sys-fs/fuse:0= ) - kerberos? ( virtual/krb5 ) - ncurses? ( sys-libs/ncurses:0= ) - pam? ( virtual/pam )" - -DEPEND="${CDEPEND} - virtual/yacc - doc? ( - app-text/docbook-xsl-stylesheets - dev-libs/libxslt - )" - -RDEPEND="${CDEPEND} - modules? ( ~net-fs/openafs-kernel-${PV} )" - -S="${WORKDIR}/${MY_P}" - -PATCHES=( "${WORKDIR}/gentoo/patches" ) - -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' - - # packaging is f-ed up, so we can't run eautoreconf - # run autotools commands based on what is listed in regen.sh - eaclocal -I src/cf - eautoconf - eautoconf -o configure-libafs configure-libafs.ac - eautoheader - einfo "Deleting autom4te.cache directory" - rm -rf autom4te.cache -} - -src_configure() { - local myconf - use debug && use pam && myconf="--enable-debug-pam" - - AFS_SYSKVERS=26 \ - econf \ - --disable-kernel-module \ - --disable-strip-binaries \ - $(use_enable bitmap-later) \ - $(use_enable debug) \ - $(use_enable debug debug-lwp) \ - $(use_enable fuse fuse-client) \ - $(use_enable ncurses gtx) \ - $(use_enable pam) \ - $(use_enable pthreaded-ubik) \ - $(use_enable supergroups) \ - $(use_with doc html-xsl /usr/share/sgml/docbook/xsl-stylesheets/html/chunk.xsl) \ - $(use_with kerberos krb5) \ - "${myconf}" -} - -src_compile() { - emake all_nolibafs - local d - if use doc; then - for d in doc/xml/{AdminGuide,QuickStartUnix,UserGuide}; do - emake -C "${d}" html; - done - fi -} - -src_install() { - local OPENRCDIR="${WORKDIR}/gentoo/openrc" - local SYSTEMDDIR="${WORKDIR}/gentoo/systemd" - - emake DESTDIR="${ED}" install_nolibafs - - insinto /etc/openafs - doins src/afsd/CellServDB - echo "/afs:/var/cache/openafs:200000" > "${ED}"/etc/openafs/cacheinfo - echo "openafs.org" > "${ED}"/etc/openafs/ThisCell - - # pam_afs and pam_afs.krb have been installed in irregular locations, fix - if use pam ; 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* - - # avoid collision with mit_krb5's version of kpasswd - mv "${ED}"/usr/bin/kpasswd{,_afs} || die - mv "${ED}"/usr/share/man/man1/kpasswd{,_afs}.1 || die - - # 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 pam && doman src/pam/pam_afs.5 - DOCS=( "${WORKDIR}/gentoo/README.Gentoo" - src/afsd/CellServDB NEWS README ) - - # documentation package - if use doc ; then - DOCS+=( doc/{arch,examples,pdf,protocol,txt} ) - dohtml -r doc/xml/ - fi - - 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 - systemd_dotmpfilesd "${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() { - 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." -} diff --git a/net-fs/openafs/openafs-1.8.2-r1.ebuild b/net-fs/openafs/openafs-1.8.7.ebuild index 581e282d0b7e..62bb91c024f5 100644 --- a/net-fs/openafs/openafs-1.8.2-r1.ebuild +++ b/net-fs/openafs/openafs-1.8.7.ebuild @@ -1,14 +1,15 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 -inherit autotools linux-mod flag-o-matic pam systemd toolchain-funcs +MODULES_OPTIONAL_USE="modules" +inherit autotools linux-mod flag-o-matic pam systemd tmpfiles toolchain-funcs MY_PV=${PV/_/} MY_P="${PN}-${MY_PV}" -PVER=20190106 -KERNEL_LIMIT=4.21 +PVER=20210116 +KERNEL_LIMIT=5.11 DESCRIPTION="The OpenAFS distributed file system" HOMEPAGE="https://www.openafs.org/" @@ -22,17 +23,17 @@ SRC_URI=" LICENSE="IBM BSD openafs-krb5-a APSL-2" SLOT="0" -KEYWORDS="~amd64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux" +KEYWORDS="amd64 -riscv ~sparc x86 ~amd64-linux ~x86-linux" -IUSE="api bitmap-later debug doc fuse kauth kerberos +modules +namei -ncurses perl +pthreaded-ubik +supergroups tsm ubik-read-while-write" +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 - sys-devel/flex - virtual/yacc - api? ( - app-doc/doxygen + app-alternatives/lex + app-alternatives/yacc + apidoc? ( + app-text/doxygen[dot] media-gfx/graphviz ) doc? ( @@ -53,10 +54,12 @@ DEPEND=" app-text/docbook-xml-dtd:4.3 ) fuse? ( sys-fs/fuse:0= ) - kauth? ( virtual/pam ) + kauth? ( sys-libs/pam ) kerberos? ( virtual/krb5 ) ncurses? ( sys-libs/ncurses:0= )" -RDEPEND="${DEPEND}" +RDEPEND=" + ${DEPEND} + selinux? ( sec-policy/selinux-afs )" S="${WORKDIR}/${MY_P}" @@ -65,10 +68,6 @@ PATCHES=( "${WORKDIR}/gentoo/patches" ) 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" -MODULES_OPTIONAL_USE="modules" - -QA_TEXTRELS_x86_fbsd="/boot/modules/libafs.ko" -QA_TEXTRELS_amd64_fbsd="/boot/modules/libafs.ko" pkg_pretend() { if use modules && use kernel_linux && kernel_is -ge ${KERNEL_LIMIT/\./ } ; then @@ -115,6 +114,9 @@ src_prepare() { src_configure() { local -a myconf + # bug #861368 + filter-lto + if use debug; then use kauth && myconf+=( --enable-debug-pam ) use modules && myconf+=( --enable-debug-kernel ) @@ -127,8 +129,6 @@ src_configure() { fi myconf+=( --with-linux-kernel-headers="${KV_DIR}" \ --with-linux-kernel-build="${KV_OUT_DIR}" ) - elif use kernel_FreeBSD; then - myconf+=( --with-bsd-kernel-build="${BSD_BUILD_DIR}" ) fi fi @@ -153,7 +153,7 @@ src_configure() { $(use_enable pthreaded-ubik) \ $(use_enable supergroups) \ $(use_enable ubik-read-while-write) \ - $(use_with api dot) \ + $(use_with apidoc dot) \ $(use_with doc docbook-stylesheets /usr/share/sgml/docbook/xsl-stylesheets) \ $(use_with kerberos krb5) \ $(use_with kerberos gssapi) \ @@ -170,7 +170,7 @@ src_compile() { emake -C doc/xml/QuickStartUnix auqbg000.pdf emake -C doc/xml/UserGuide auusg000.pdf fi - use api && doxygen doc/doxygen/Doxyfile + use apidoc && doxygen doc/doxygen/Doxyfile } src_install() { @@ -187,9 +187,6 @@ src_install() { MODULE_NAMES="libafs(fs/openafs:${srcdir})" linux-mod_src_install - elif use kernel_FreeBSD; then - insinto /boot/modules - doins "${S}"/src/libafs/MODLOAD/libafs.ko fi fi @@ -243,7 +240,7 @@ src_install() { newdoc doc/xml/QuickStartUnix/auqbg000.pdf QuickStartUnix.pdf newdoc doc/xml/UserGuide/auusg000.pdf UserGuide.pdf fi - use api && DOCS+=( doc/doxygen/output/html ) + use apidoc && DOCS+=( doc/doxygen/output/html ) einstalldocs # Gentoo related scripts @@ -251,7 +248,7 @@ src_install() { newconfd "${OPENRCDIR}"/openafs-client.confd openafs-client newinitd "${OPENRCDIR}"/openafs-server.initd openafs-server newconfd "${OPENRCDIR}"/openafs-server.confd openafs-server - systemd_dotmpfilesd "${SYSTEMDDIR}"/tmpfiles.d/openafs-client.conf + 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 @@ -286,10 +283,11 @@ pkg_preinst() { pkg_postinst() { if use modules; then # Update linker.hints file - use kernel_FreeBSD && /usr/sbin/kldxref "${EPREFIX}/boot/modules" use kernel_linux && linux-mod_pkg_postinst fi + 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" @@ -307,7 +305,6 @@ pkg_postinst() { pkg_postrm() { if use modules; then # Update linker.hints file - use kernel_FreeBSD && /usr/sbin/kldxref "${EPREFIX}/boot/modules" use kernel_linux && linux-mod_pkg_postrm fi } diff --git a/net-fs/openafs/openafs-1.6.22.1.ebuild b/net-fs/openafs/openafs-1.8.8.1-r1.ebuild index c8d779968717..8b891ceb331f 100644 --- a/net-fs/openafs/openafs-1.6.22.1.ebuild +++ b/net-fs/openafs/openafs-1.8.8.1-r1.ebuild @@ -1,13 +1,15 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI="6" +EAPI=7 -inherit autotools eutils flag-o-matic multilib pam systemd toolchain-funcs +MODULES_OPTIONAL_USE="modules" +inherit autotools linux-mod flag-o-matic pam systemd tmpfiles toolchain-funcs MY_PV=${PV/_/} MY_P="${PN}-${MY_PV}" -PVER="20170822" +PVER=20211212 +KERNEL_LIMIT=5.17 DESCRIPTION="The OpenAFS distributed file system" HOMEPAGE="https://www.openafs.org/" @@ -21,31 +23,75 @@ SRC_URI=" LICENSE="IBM BSD openafs-krb5-a APSL-2" SLOT="0" -KEYWORDS="amd64 ~sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux" - -IUSE="bitmap-later debug doc fuse kerberos +modules ncurses pam pthreaded-ubik +supergroups" - -CDEPEND=" +KEYWORDS="~amd64 -riscv ~sparc ~x86 ~amd64-linux ~x86-linux" + +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 + app-text/dblatex + app-text/docbook-sgml-utils[jadetex] + ) + ) + perl? ( dev-lang/swig )" +DEPEND=" + !net-fs/openafs-kernel + virtual/libcrypt:= virtual/libintl - fuse? ( sys-fs/fuse:0= ) - kerberos? ( virtual/krb5 ) - ncurses? ( sys-libs/ncurses:0= ) - pam? ( virtual/pam )" - -DEPEND="${CDEPEND} - virtual/yacc + amd64? ( tsm? ( app-backup/tsm ) ) doc? ( app-text/docbook-xsl-stylesheets - dev-libs/libxslt - )" - -RDEPEND="${CDEPEND} - modules? ( ~net-fs/openafs-kernel-${PV} )" + 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 )" S="${WORKDIR}/${MY_P}" PATCHES=( "${WORKDIR}/gentoo/patches" ) +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 epatch_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_pkg_setup +} + src_prepare() { default @@ -53,45 +99,77 @@ src_prepare() { sed -i -r 's/\<CFLAGS[[:space:]]*=/CFLAGS+=/; s/\<LDFLAGS[[:space:]]*=/LDFLAGS+=/' \ src/*/Makefile.in || die '*/Makefile.in sed failed' - # packaging is f-ed up, so we can't run eautoreconf + # build system is very delicate, so we can't run eautoreconf # run autotools commands based on what is listed in regen.sh - eaclocal -I src/cf + _elibtoolize -c -f -i + eaclocal -I src/cf -I src/external/rra-c-util/m4 eautoconf eautoconf -o configure-libafs configure-libafs.ac eautoheader einfo "Deleting autom4te.cache directory" - rm -rf autom4te.cache + rm -rf autom4te.cache || die } src_configure() { - local myconf - use debug && use pam && myconf="--enable-debug-pam" + local -a myconf + + # 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 \ - --disable-kernel-module \ --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 pam) \ $(use_enable pthreaded-ubik) \ $(use_enable supergroups) \ - $(use_with doc html-xsl /usr/share/sgml/docbook/xsl-stylesheets/html/chunk.xsl) \ + $(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) \ - "${myconf}" + $(use_with kerberos gssapi) \ + $(use_with perl swig) \ + "${myconf[@]}" } src_compile() { - emake all_nolibafs + ARCH="$(tc-arch-kernel)" AR="$(tc-getAR)" emake V=1 local d if use doc; then - for d in doc/xml/{AdminGuide,QuickStartUnix,UserGuide}; do - emake -C "${d}" html; - done + 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 + use apidoc && doxygen doc/doxygen/Doxyfile } src_install() { @@ -100,23 +178,42 @@ src_install() { emake DESTDIR="${ED}" install_nolibafs + if use modules; then + if use kernel_linux; then + local srcdir=$(expr "${S}"/src/libafs/MODLOAD-*) + [[ -f ${srcdir}/libafs.${KV_OBJ} ]] || die "Couldn't find compiled kernel module" + + MODULE_NAMES="libafs(fs/openafs:${srcdir})" + + linux-mod_src_install + fi + fi + insinto /etc/openafs doins src/afsd/CellServDB echo "/afs:/var/cache/openafs:200000" > "${ED}"/etc/openafs/cacheinfo echo "openafs.org" > "${ED}"/etc/openafs/ThisCell # pam_afs and pam_afs.krb have been installed in irregular locations, fix - if use pam ; then + 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* + rm -rf "${ED}"/usr/sbin/kdump* || die # avoid collision with mit_krb5's version of kpasswd - mv "${ED}"/usr/bin/kpasswd{,_afs} || die - mv "${ED}"/usr/share/man/man1/kpasswd{,_afs}.1 || die + 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 @@ -129,16 +226,20 @@ src_install() { || die # minimal documentation - use pam && doman src/pam/pam_afs.5 + use kauth && doman src/pam/pam_afs.5 DOCS=( "${WORKDIR}/gentoo/README.Gentoo" src/afsd/CellServDB NEWS README ) # documentation package - if use doc ; then - DOCS+=( doc/{arch,examples,pdf,protocol,txt} ) - dohtml -r doc/xml/ + 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 @@ -146,7 +247,7 @@ src_install() { newconfd "${OPENRCDIR}"/openafs-client.confd openafs-client newinitd "${OPENRCDIR}"/openafs-server.initd openafs-server newconfd "${OPENRCDIR}"/openafs-server.confd openafs-server - systemd_dotmpfilesd "${SYSTEMDDIR}"/tmpfiles.d/openafs-client.conf + 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 @@ -179,6 +280,13 @@ pkg_preinst() { } pkg_postinst() { + if use modules; then + # Update linker.hints file + use kernel_linux && linux-mod_pkg_postinst + fi + + 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" @@ -193,6 +301,13 @@ pkg_postinst() { elog "first use and whenever ${EROOT}/etc/openafs/cacheinfo is edited." } +pkg_postrm() { + if use modules; then + # Update linker.hints file + use kernel_linux && linux-mod_pkg_postrm + fi +} + pkg_config() { elog "Setting cache options for systemd." |