You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/app-benchmarks/bootchart/bootchart-0.9-r4.ebuild

135 lines
3.7 KiB

# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-benchmarks/bootchart/bootchart-0.9-r4.ebuild,v 1.4 2012/04/03 21:35:09 jer Exp $
EAPI="2"
JAVA_PKG_IUSE="source"
inherit multilib eutils java-pkg-opt-2 java-ant-2
DESCRIPTION="Performance analysis and visualization of the system boot process"
HOMEPAGE="http://www.bootchart.org/"
SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 hppa ~x86"
IUSE="acct debug doc java"
DEPEND="
java? (
>=virtual/jdk-1.4
dev-java/commons-cli
)
"
RDEPEND="
java? (
>=virtual/jre-1.4
dev-java/commons-cli
)
acct? ( sys-process/acct )
"
src_prepare() {
epatch "${FILESDIR}/${P}"-gentoo.patch
epatch "${FILESDIR}/${P}"-sh.patch
epatch "${FILESDIR}/${P}"-dev-null.patch
# bug #317451
epatch "${FILESDIR}/accton.patch"
# delete the included commons-cli and use gentoo's instead
# The rest of lib is also bundled but a bit problematic to
# package https://bugs.gentoo.org/show_bug.cgi?id=162788
rm -rf lib/org/apache/commons/cli lib/org/apache/commons/lang
if use java ; then
java-ant_rewrite-classpath
sed -i -e 's,AUTO_RENDER="no",AUTO_RENDER="yes",g' \
script/bootchartd.conf || die
fi
if use acct ; then
sed -i -e 's,PROCESS_ACCOUNTING="no",PROCESS_ACCOUNTING="yes",g' \
script/bootchartd.conf || die
fi
java-pkg-opt-2_src_prepare
}
src_compile() {
if use java ; then
local antflags="jar -Dcompiler.nowarn=true $(use_doc)"
use debug || antflags="${antflags} -Dbuild.debug=false"
eant ${antflags} \
-Dgentoo.classpath="$(java-pkg_getjars commons-cli-1):./build"
fi
}
src_install() {
dodoc README README.logger ChangeLog TODO || die
# No need for this with baselayout-2
if has_version "<sys-apps/baselayout-2"; then
insinto /$(get_libdir)/rcscripts/addons
doins "${FILESDIR}"/profiling-functions.sh || die
fi
into /
newsbin script/bootchartd bootchartd || die
into /usr
# This dir is normally empty, but is used to bind to the
# temporary dir bootchart normally makes. We do this so
# that our profiling script can write to a fixed location.
keepdir /lib/bootchart
insinto /etc
doins script/bootchartd.conf || die
if use java ; then
java-pkg_dojar "${PN}.jar"
use doc && java-pkg_dojavadoc javadoc/api
use source && java-pkg_dosrc src/org
java-pkg_dolauncher ${PN} \
--main org.bootchart.Main \
--java_args "-Djava.awt.headless=true"
fi
}
pkg_postinst() {
if has_version "<sys-apps/baselayout-2"; then
elog "To generate the chart, set RC_USE_BOOTCHART=\"yes\""
elog "in /etc/conf.d/rc and reboot"
else
elog "To generate the chart, append this to your kernel commandline"
elog " init=/sbin/bootchartd"
elog "and reboot"
elog "Note: genkernel users should replace init= with real_init= in the above"
elog "see https://bugs.gentoo.org/show_bug.cgi?id=275251 for more info"
fi
elog
if use java; then
elog "The chart will be saved as /var/log/bootchart.png"
else
elog "If you want to auto render chart of boot process, you"
elog "have to enable 'java' USE flag on bootchart. For details"
elog "see bootchart configuration file."
fi
elog
elog "For best results: "
if ! use acct ; then
elog " Enable 'acct' USE flag on bootchart to enable "
elog " process accounting support in bootchart"
fi
elog " Enable BSD process accounting v3 in the kernel"
elog " This will produce more accurate process trees"
elog " Set AUTO_RENDER_FORMAT to svg in /etc/bootchartd.conf"
elog " and view /var/log/bootchart.svgz with batik or"
elog " Adobe SVG viewer. This will give you additional"
elog " information about the processes in tooltips"
}