diff options
Diffstat (limited to 'sys-libs/libhugetlbfs/libhugetlbfs-2.22.ebuild')
-rw-r--r-- | sys-libs/libhugetlbfs/libhugetlbfs-2.22.ebuild | 158 |
1 files changed, 0 insertions, 158 deletions
diff --git a/sys-libs/libhugetlbfs/libhugetlbfs-2.22.ebuild b/sys-libs/libhugetlbfs/libhugetlbfs-2.22.ebuild deleted file mode 100644 index 34b969c3fe3d..000000000000 --- a/sys-libs/libhugetlbfs/libhugetlbfs-2.22.ebuild +++ /dev/null @@ -1,158 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python3_{5,6,7} ) - -inherit multilib toolchain-funcs python-any-r1 - -DESCRIPTION="easy hugepage access" -HOMEPAGE="https://github.com/libhugetlbfs/libhugetlbfs" -SRC_URI="https://github.com/libhugetlbfs/libhugetlbfs/archive/${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~s390 ~x86" -IUSE="static-libs test" - -DEPEND="test? ( ${PYTHON_DEPS} )" - -PATCHES=( - "${FILESDIR}"/${PN}-2.6-fixup-testsuite.patch -) - -src_prepare() { - default - sed -i \ - -e '/^PREFIX/s:/local::' \ - -e '1iBUILDTYPE = NATIVEONLY' \ - -e '1iV = 1' \ - -e '/gzip.*MANDIR/d' \ - -e "/^LIB\(32\)/s:=.*:= $(get_libdir):" \ - -e '/^CC\(32\|64\)/s:=.*:= $(CC):' \ - -e 's@^\(ARCH\) ?=@\1 =@' \ - Makefile || die "sed failed" - if [ "$(get_libdir)" == "lib64" ]; then - sed -i \ - -e "/^LIB\(32\)/s:=.*:= lib32:" \ - Makefile - fi - - # Tarballs from github don't have the version set. - # https://github.com/libhugetlbfs/libhugetlbfs/issues/7 - [[ -f version ]] || echo "${PV}" > version -} - -src_compile() { - tc-export AR - emake CC="$(tc-getCC)" libs tools -} - -src_install() { - default - use static-libs || rm -f "${ED}"/usr/$(get_libdir)/*.a -} - -src_test_alloc_one() { - hugeadm="$1" - sign="$2" - pagesize="$3" - pagecount="$4" - ${hugeadm} \ - --pool-pages-max ${pagesize}:${sign}${pagecount} \ - && \ - ${hugeadm} \ - --pool-pages-min ${pagesize}:${sign}${pagecount} - return $? -} - -# die is NOT allowed in this src_test block after the marked point, so that we -# can clean up memory allocation. You'll leak at LEAST 64MiB per run otherwise. -src_test() { - [[ $UID -eq 0 ]] || die "Need FEATURES=-userpriv to run this testsuite" - einfo "Building testsuite" - emake -j1 tests || die "Failed to build tests" - - local hugeadm='obj/hugeadm' - local allocated='' - local rc=0 - # the testcases need 64MiB per pagesize. - local MIN_HUGEPAGE_RAM=$((64*1024*1024)) - - einfo "Planning allocation" - local PAGESIZES="$(${hugeadm} --page-sizes-all)" - - # Need to do this before we can create the mountpoints. - local pagesize pagecount - for pagesize in ${PAGESIZES} ; do - # The kernel depends on the location :-( - mkdir -p /var/lib/hugetlbfs/pagesize-${pagesize} - addwrite /var/lib/hugetlbfs/pagesize-${pagesize} - done - addwrite /proc/sys/vm/ - addwrite /proc/sys/kernel/shmall - addwrite /proc/sys/kernel/shmmax - addwrite /proc/sys/kernel/shmmni - - einfo "Checking HugeTLB mountpoints" - ${hugeadm} --create-mounts || die "Failed to set up hugetlb mountpoints." - - # ----------------------------------------------------- - # --------- die is unsafe after this point. ----------- - # ----------------------------------------------------- - - einfo "Starting allocation" - for pagesize in ${PAGESIZES} ; do - pagecount=$((${MIN_HUGEPAGE_RAM}/${pagesize})) - einfo " ${pagecount} @ ${pagesize}" - addwrite /var/lib/hugetlbfs/pagesize-${pagesize} - src_test_alloc_one "${hugeadm}" "+" "${pagesize}" "${pagecount}" - rc=$? - if [[ ${rc} -eq 0 ]]; then - allocated="${allocated} ${pagesize}:${pagecount}" - else - eerror "Failed to add ${pagecount} pages of size ${pagesize}" - fi - done - - einfo "Allocation status" - ${hugeadm} --pool-list - - if [[ -n "${allocated}" ]]; then - # All our allocations worked, so time to run. - einfo "Starting tests" - cd "${S}"/tests || die - local TESTOPTS="-t func" - case ${ARCH} in - amd64|ppc64) - TESTOPTS="${TESTOPTS} -b 64" - ;; - x86) - TESTOPTS="${TESTOPTS} -b 32" - ;; - esac - # This needs a bit of work to give a nice exit code still. - ./run_tests.py ${TESTOPTS} - rc=$? - else - eerror "Failed to make HugeTLB allocations." - rc=1 - fi - - einfo "Cleaning up memory" - cd "${S}" || die - # Cleanup memory allocation - for alloc in ${allocated} ; do - pagesize="${alloc/:*}" - pagecount="${alloc/*:}" - einfo " ${pagecount} @ ${pagesize}" - src_test_alloc_one "$hugeadm" "-" "${pagesize}" "${pagecount}" - done - - # --------------------------------------------------------- - # --------- die is safe again after this point. ----------- - # --------------------------------------------------------- - - return ${rc} -} |