diff options
author | Robin H. Johnson <robbat2@gentoo.org> | 2012-11-19 10:02:22 +0000 |
---|---|---|
committer | Robin H. Johnson <robbat2@gentoo.org> | 2012-11-19 10:02:22 +0000 |
commit | 6d0988ba192ed9d5114a698802975f8a43c0a04c (patch) | |
tree | 899b33ccf08fbf4ff52d19f34552974484c549c7 /sys-apps/linux-misc-apps | |
parent | net-libs/libssh2: Keyworded for ~*-linux, tested by me (diff) | |
download | gentoo-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/ChangeLog | 13 | ||||
-rw-r--r-- | sys-apps/linux-misc-apps/files/hpfall.confd | 6 | ||||
-rw-r--r-- | sys-apps/linux-misc-apps/files/hpfall.initd | 45 | ||||
-rw-r--r-- | sys-apps/linux-misc-apps/linux-misc-apps-3.6.ebuild | 199 |
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 +} |