radhermit    14/04/25 08:48:48

  Modified:             ChangeLog
  Added:                libhugetlbfs-2.18.ebuild
  Log:
  Version bump.
  
  (Portage version: 2.2.10/cvs/Linux x86_64, signed Manifest commit with key 
4AB3E85B4F064CA3)

Revision  Changes    Path
1.13                 sys-libs/libhugetlbfs/ChangeLog

file : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-libs/libhugetlbfs/ChangeLog?rev=1.13&view=markup
plain: 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-libs/libhugetlbfs/ChangeLog?rev=1.13&content-type=text/plain
diff : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-libs/libhugetlbfs/ChangeLog?r1=1.12&r2=1.13

Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/sys-libs/libhugetlbfs/ChangeLog,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- ChangeLog   10 Nov 2013 03:38:47 -0000      1.12
+++ ChangeLog   25 Apr 2014 08:48:48 -0000      1.13
@@ -1,6 +1,11 @@
 # ChangeLog for sys-libs/libhugetlbfs
-# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-libs/libhugetlbfs/ChangeLog,v 1.12 
2013/11/10 03:38:47 radhermit Exp $
+# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/sys-libs/libhugetlbfs/ChangeLog,v 1.13 
2014/04/25 08:48:48 radhermit Exp $
+
+*libhugetlbfs-2.18 (25 Apr 2014)
+
+  25 Apr 2014; Tim Harder <radher...@gentoo.org> +libhugetlbfs-2.18.ebuild:
+  Version bump.
 
   10 Nov 2013; Tim Harder <radher...@gentoo.org> libhugetlbfs-2.16.ebuild:
   Fix error handling for tests build failure.



1.1                  sys-libs/libhugetlbfs/libhugetlbfs-2.18.ebuild

file : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-libs/libhugetlbfs/libhugetlbfs-2.18.ebuild?rev=1.1&view=markup
plain: 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-libs/libhugetlbfs/libhugetlbfs-2.18.ebuild?rev=1.1&content-type=text/plain

Index: libhugetlbfs-2.18.ebuild
===================================================================
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: 
/var/cvsroot/gentoo-x86/sys-libs/libhugetlbfs/libhugetlbfs-2.18.ebuild,v 1.1 
2014/04/25 08:48:48 radhermit Exp $

EAPI="4"

inherit eutils multilib toolchain-funcs

DESCRIPTION="easy hugepage access"
HOMEPAGE="http://libhugetlbfs.sourceforge.net/";
SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"

LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~ppc64 ~x86"
IUSE="static-libs"

src_prepare() {
        epatch "${FILESDIR}"/${PN}-2.9-build.patch #332517
        epatch "${FILESDIR}"/${PN}-2.6-noexec-stack.patch
        epatch "${FILESDIR}"/${PN}-2.6-fixup-testsuite.patch
        sed -i \
                -e '/^PREFIX/s:/local::' \
                -e '1iBUILDTYPE = NATIVEONLY' \
                -e '1iV = 1' \
                -e "/^LIB\(32\)/s:=.*:= $(get_libdir):" \
                -e '/^CC\(32\|64\)/s:=.*:= $(CC):' \
                Makefile
        if [ "$(get_libdir)" == "lib64" ]; then
                sed -i \
                        -e "/^LIB\(32\)/s:=.*:= lib32:" \
                                Makefile
        fi
}

src_compile() {
        tc-export AR
        emake CC="$(tc-getCC)" libs tools
}

src_install() {
        default
        use static-libs || rm -f "${D}"/usr/$(get_libdir)/*.a
        rm "${D}"/usr/bin/oprofile* || die
}

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"

        hugeadm='obj/hugeadm'
        allocated=''
        rc=0
        # the testcases need 64MiB per pagesize.
        MIN_HUGEPAGE_RAM=$((64*1024*1024))

        einfo "Planning allocation"
        PAGESIZES="$(${hugeadm} --page-sizes-all)"

        # Need to do this before we can create the mountpoints.
        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
                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}"
        # 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
}




Reply via email to