summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2012-11-19 10:02:22 +0000
committerRobin H. Johnson <robbat2@gentoo.org>2012-11-19 10:02:22 +0000
commit6d0988ba192ed9d5114a698802975f8a43c0a04c (patch)
tree899b33ccf08fbf4ff52d19f34552974484c549c7 /sys-apps/linux-misc-apps
parentnet-libs/libssh2: Keyworded for ~*-linux, tested by me (diff)
downloadgentoo-2-6d0988ba192ed9d5114a698802975f8a43c0a04c.tar.gz
gentoo-2-6d0988ba192ed9d5114a698802975f8a43c0a04c.tar.bz2
gentoo-2-6d0988ba192ed9d5114a698802975f8a43c0a04c.zip
Bug #430342: Fix nosy-dump ignoring CFLAGS, file collisions. Bug #389341: file collisions. Bug #410941: hpfall init.d script. Bug #402083: version bump, usbip support.
(Portage version: 2.2.0_alpha142/cvs/Linux x86_64, unsigned Manifest commit)
Diffstat (limited to 'sys-apps/linux-misc-apps')
-rw-r--r--sys-apps/linux-misc-apps/ChangeLog13
-rw-r--r--sys-apps/linux-misc-apps/files/hpfall.confd6
-rw-r--r--sys-apps/linux-misc-apps/files/hpfall.initd45
-rw-r--r--sys-apps/linux-misc-apps/linux-misc-apps-3.6.ebuild199
4 files changed, 260 insertions, 3 deletions
diff --git a/sys-apps/linux-misc-apps/ChangeLog b/sys-apps/linux-misc-apps/ChangeLog
index a3e7ed930b30..0f72d29c7aab 100644
--- a/sys-apps/linux-misc-apps/ChangeLog
+++ b/sys-apps/linux-misc-apps/ChangeLog
@@ -1,10 +1,17 @@
# ChangeLog for sys-apps/linux-misc-apps
-# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/linux-misc-apps/ChangeLog,v 1.1 2011/11/01 09:06:05 robbat2 Exp $
+# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/linux-misc-apps/ChangeLog,v 1.2 2012/11/19 10:02:22 robbat2 Exp $
+
+*linux-misc-apps-3.6 (19 Nov 2012)
+
+ 19 Nov 2012; Robin H. Johnson <robbat2@gentoo.org> +files/hpfall.confd,
+ +files/hpfall.initd, +linux-misc-apps-3.6.ebuild:
+ Bug #430342: Fix nosy-dump ignoring CFLAGS, file collisions. Bug #389341: file
+ collisions. Bug #410941: hpfall init.d script. Bug #402083: version bump,
+ usbip support.
*linux-misc-apps-3.1 (01 Nov 2011)
01 Nov 2011; Robin H. Johnson <robbat2@gentoo.org>
+linux-misc-apps-3.1.ebuild, +metadata.xml:
Initial commit.
-
diff --git a/sys-apps/linux-misc-apps/files/hpfall.confd b/sys-apps/linux-misc-apps/files/hpfall.confd
new file mode 100644
index 000000000000..4f3451b0bff6
--- /dev/null
+++ b/sys-apps/linux-misc-apps/files/hpfall.confd
@@ -0,0 +1,6 @@
+# /etc/conf.d/hpfall
+
+# The name of the disk device that hpfall should protect.
+# Usually this is 'sda' or 'hda' the primary master.
+
+DISK="sda" \ No newline at end of file
diff --git a/sys-apps/linux-misc-apps/files/hpfall.initd b/sys-apps/linux-misc-apps/files/hpfall.initd
new file mode 100644
index 000000000000..e8a4fbd8ace4
--- /dev/null
+++ b/sys-apps/linux-misc-apps/files/hpfall.initd
@@ -0,0 +1,45 @@
+#!/sbin/runscript
+# Copyright 2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/linux-misc-apps/files/hpfall.initd,v 1.1 2012/11/19 10:02:22 robbat2 Exp $
+
+checkconfig() {
+ if [ -z "$DISK" ] ; then
+ eerror "You need to setup DISK in /etc/conf.d/hpfall first"
+ return 1
+ fi
+
+ if [ ! -b /dev/${DISK} ]; then
+ eerror "Could not find disk /dev/${DISK}!"
+ eerror "Adjust the DISK setting in /etc/conf.d/hpfall"
+ return 1
+ fi
+
+ if [ ! -e /sys/block/${DISK}/device/unload_heads ] ; then
+ eerror "No protect entry for ${DISK}!"
+ eerror "Kernel 2.6.28 and above is required"
+ return 1
+ fi
+
+ if [ ! -c /dev/freefall ]; then
+ ebegin "Loading hp_accel module"
+ modprobe hp_accel
+ eend $? || return 1
+ fi
+}
+
+start () {
+ checkconfig || return 1
+
+ ebegin "Starting active hard-drive protection daemon"
+ start-stop-daemon --start --quiet \
+ --exec /usr/sbin/hpfall /dev/${DISK}
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping active hard-drive protection daemon"
+ start-stop-daemon --stop --quiet \
+ --exec /usr/sbin/hpfall
+ eend $?
+}
diff --git a/sys-apps/linux-misc-apps/linux-misc-apps-3.6.ebuild b/sys-apps/linux-misc-apps/linux-misc-apps-3.6.ebuild
new file mode 100644
index 000000000000..3624d0a28474
--- /dev/null
+++ b/sys-apps/linux-misc-apps/linux-misc-apps-3.6.ebuild
@@ -0,0 +1,199 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/linux-misc-apps/linux-misc-apps-3.6.ebuild,v 1.1 2012/11/19 10:02:22 robbat2 Exp $
+
+EAPI=4
+
+inherit versionator eutils toolchain-funcs linux-info autotools flag-o-matic
+
+DESCRIPTION="Misc tools bundled with kernel sources"
+HOMEPAGE="http://kernel.org/"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~ppc"
+IUSE=""
+
+MY_PV="${PV/_/-}"
+MY_PV="${MY_PV/-pre/-git}"
+
+LINUX_V=$(get_version_component_range 1-2)
+
+if [ ${PV/_rc} != ${PV} ]; then
+ LINUX_VER=$(get_version_component_range 1-2).$(($(get_version_component_range 3)-1))
+ PATCH_VERSION=$(get_version_component_range 1-3)
+ LINUX_PATCH=patch-${PV//_/-}.bz2
+ SRC_URI="mirror://kernel/linux/kernel/v${LINUX_V}/testing/${LINUX_PATCH}
+ mirror://kernel/linux/kernel/v${LINUX_V}/testing/v${PATCH_VERSION}/${LINUX_PATCH}"
+elif [ $(get_version_component_count) == 4 ]; then
+ # stable-release series
+ LINUX_VER=$(get_version_component_range 1-3)
+ LINUX_PATCH=patch-${PV}.bz2
+ SRC_URI="mirror://kernel/linux/kernel/v${LINUX_V}/${LINUX_PATCH}"
+else
+ LINUX_VER=${PV}
+fi
+
+LINUX_SOURCES=linux-${LINUX_VER}.tar.bz2
+SRC_URI="${SRC_URI} mirror://kernel/linux/kernel/v${LINUX_V}/${LINUX_SOURCES}"
+
+# pciutils for cpupower
+# pmtools also provides turbostat
+# sysfsutils and glib for usbip
+RDEPEND="sys-apps/pciutils
+ sys-fs/sysfsutils
+ dev-libs/glib
+ !sys-power/pmtools
+ !net-misc/usbip"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/linux-${LINUX_VER}"
+
+# All of these are integrated with the kernel build system,
+# No make install, and ideally build with with the root Makefile
+TARGETS_SIMPLE=(
+ Documentation/accounting/getdelays.c
+ Documentation/cgroups/cgroup_event_listener.c
+ Documentation/laptops/dslm.c
+ Documentation/laptops/hpfall.c
+ Documentation/networking/timestamping/timestamping.c
+ Documentation/watchdog/src/watchdog-simple.c
+ tools/lguest/lguest.c
+ tools/vm/page-types.c
+ tools/vm/slabinfo.c
+ usr/gen_init_cpio.c
+)
+# tools/hv/hv_kvp_daemon.c - broken in 3.7 by missing linux/hyperv.h userspace
+# Documentation/networking/ifenslave.c - obsolete
+# Documentation/ptp/testptp.c - pending linux-headers-3.0
+
+# These have a broken make install, no DESTDIR
+TARGET_MAKE_SIMPLE=(
+ tools/firewire:nosy-dump
+ tools/power/x86/turbostat:turbostat
+ tools/power/x86/x86_energy_perf_policy:x86_energy_perf_policy
+ Documentation/misc-devices/mei:mei-amt-version
+ tools/power/cpupower:cpupower
+)
+# tools/perf - covered by dev-utils/perf
+# tools/usb - testcases only
+# tools/virtio - testcaes only
+
+ #for _pattern in {Documentation,scripts,tools,usr,include,lib,"arch/*/include",Makefile,Kbuild,Kconfig}; do
+src_unpack() {
+ unpack ${LINUX_SOURCES}
+
+ MY_A=
+ for _AFILE in ${A}; do
+ [[ ${_AFILE} == ${LINUX_SOURCES} ]] && continue
+ [[ ${_AFILE} == ${LINUX_PATCH} ]] && continue
+ MY_A="${MY_A} ${_AFILE}"
+ done
+ [[ -n ${MY_A} ]] && unpack ${MY_A}
+}
+
+src_prepare() {
+ if [[ -n ${LINUX_PATCH} ]]; then
+ epatch "${DISTDIR}"/${LINUX_PATCH}
+ fi
+
+ pushd drivers/staging/usbip/userspace >/dev/null &&
+ eautoreconf -i -f -v &&
+ popd >/dev/null || die "usbip"
+
+ libs="-lcpupower -lrt -lpci"
+ sed -i \
+ -e "/$libs/{ s,${libs},,g; s,\$, ${libs},g;}" \
+ "${S}"/tools/power/cpupower/Makefile
+
+ sed -i \
+ -e '/^nosy-dump.*LDFLAGS/d' \
+ -e '/^nosy-dump.*CFLAGS/d' \
+ -e '/^nosy-dump.*CPPFLAGS/s,CPPFLAGS =,CPPFLAGS +=,g' \
+ "${S}"/tools/firewire/Makefile
+}
+
+cpupower_make() {
+ emake ${makeargs} \
+ CC="$(tc-getCC)" AR="$(tc-getAR)" \
+ docdir="/usr/share/doc/${PF}/cpupower" \
+ mandir="/usr/share/man" \
+ libdir="/usr/$(get_libdir)" \
+ OPTIMIZATION="${CFLAGS}" \
+ LDFLAGS="${LDFLAGS}" \
+ CPUFREQ_BENCH=/bin/false \
+ DEBUG=/bin/false \
+ STRIP=/bin/true \
+ "$@" || die
+}
+
+kernel_asm_arch() {
+ a="${1:${ARCH}}"
+ case ${a} in
+ # Merged arches
+ x86|amd64) echo x86 ;;
+ ppc*) echo powerpc ;;
+ # Non-merged
+ alpha|arm|ia64|m68k|mips|sh|sparc*) echo ${1} ;;
+ *) die "TODO: Update the code for your asm-ARCH symlink" ;;
+ esac
+}
+
+src_configure() {
+ cd drivers/staging/usbip/userspace && econf
+}
+
+src_compile() {
+ local karch=$(kernel_asm_arch "${ARCH}")
+ # This is the minimal amount needed to start building host binaries.
+ #emake allmodconfig ARCH=${karch} || die
+ #emake prepare modules_prepare ARCH=${karch} || die
+ #touch Module.symvers
+
+ # Now we can start building
+ for s in ${TARGETS_SIMPLE[@]} ; do
+ dir=$(dirname $s) src=$(basename $s) bin=${src%.c}
+ einfo "Building $s => $bin"
+ emake -f /dev/null M=${dir} ARCH=${karch} ${s%.c} || die
+ done
+
+ for t in ${TARGET_MAKE_SIMPLE[@]} ; do
+ dir=${t/:*} target=${t/*:}
+ einfo "Building $dir => $target"
+ emake -C $dir ARCH=${karch} $target || die
+ done
+
+ emake -C drivers/staging/usbip/userspace
+
+ # cpupower is special
+ einfo "Buildling cpupower"
+ cd "${S}"/tools/power/cpupower
+ cpupower_make ARCH=${karch} all || die
+}
+
+src_install() {
+ into /usr
+ for s in ${TARGETS_SIMPLE[@]} ; do
+ dir=$(dirname $s) src=$(basename $s) bin=${src%.c}
+ einfo "Installing $s => $bin"
+ dosbin ${dir}/${bin} || die "Failed to install ${bin}"
+ done
+
+ for t in ${TARGET_MAKE_SIMPLE[@]} ; do
+ dir=${t/:*} target=${t/*:}
+ einfo "Installing $dir => $target"
+ dosbin ${dir}/${target} || die
+ done
+
+ emake -C drivers/staging/usbip/userspace DESTDIR="${D}" install
+
+ local karch=$(kernel_asm_arch "${ARCH}")
+ cd "${S}"/tools/power/cpupower
+ cpupower_make ARCH=${karch} DESTDIR="${D}" install || die
+
+ # Avoid conflict
+ rm -f "${D}"/usr/include/cpufreq.h
+
+ newconfd "${FILESDIR}"/hpfall.confd hpfall
+ newinitd "${FILESDIR}"/hpfall.initd hpfall
+}