diff --git a/app-portage/showbuild/files/showbuild-0.9.1 b/app-portage/showbuild/files/showbuild-0.9.1 new file mode 100644 index 0000000000..2026dfc06c --- /dev/null +++ b/app-portage/showbuild/files/showbuild-0.9.1 @@ -0,0 +1,41 @@ +#!/bin/bash + +log="$(portageq envvar PORTAGE_TMPDIR)/portage/*/*/temp/build.log" +cmd="${SB:-tail -f}" +c=0 + +die() { echo -e "$*" >&2; exit 1; } + +if [[ $1 = -h || $1 = --help ]]; then + echo "Script to follow log of running portage builds" + echo + echo "Usage: ${0##*/} # see running builds" + echo " ${0##*/} N # follow build #N" + echo " ${0##*/} --fetch # follow emerge-fetch.log" + echo " ${0##*/} --help # show this help" + echo + echo "Use environment variable SB to override the default cmd ($cmd)" +elif [[ $1 = -f || $1 = --fetch ]]; then + log="$(portageq envvar EMERGE_LOG_DIR)" + log="${log:=$(portageq envvar EPREFIX)/var/log}/emerge-fetch.log" + [[ -f $log ]] || die "Could open '$log'" + exec $cmd $log +elif [[ $(echo $log) = "$log" ]]; then + echo "No running build found (try '${0##*/} --help')" +elif [[ ! $1 ]]; then + echo "Running builds - use '${0##*/} NUMBER' to select" + for i in $log; do + [[ $i =~ ^${log%%\**}([^/]*)/([^/]*)${log##*\*}$ ]] || continue + echo -e "$((++c))\t${BASH_REMATCH[2]}\t(${BASH_REMATCH[1]})" + done +else + [[ -z ${1//[0-9]} && $1 -gt 0 ]] || die "Argument should be a number greater 0" + for i in $log; do + [[ $i =~ ^${log%%\**}([^/]*)/([^/]*)${log##*\*}$ ]] || continue + [[ $((++c)) -eq $((10#$1)) ]] || continue + [[ -f ${i} ]] || die "Build number $1 was gone in the meanwhile" + echo -ne "\033]0;Viewing: ${BASH_REMATCH[2]}\t(${BASH_REMATCH[1]})\007" + exec $cmd $i + done + die "Build number $1 not found (there are only $((c--)) build(s) running)" +fi diff --git a/app-portage/showbuild/metadata.xml b/app-portage/showbuild/metadata.xml new file mode 100644 index 0000000000..d9c0c63654 --- /dev/null +++ b/app-portage/showbuild/metadata.xml @@ -0,0 +1,15 @@ + + + + + lssndrbarbieri@gmail.com + Alessandro Barbieri + + + + ottxor@gentoo.org + Christoph Junghans + + junghans/cj-overlay + + diff --git a/app-portage/showbuild/showbuild-0.9.1-r1.ebuild b/app-portage/showbuild/showbuild-0.9.1-r1.ebuild new file mode 100644 index 0000000000..d3e8c454b5 --- /dev/null +++ b/app-portage/showbuild/showbuild-0.9.1-r1.ebuild @@ -0,0 +1,27 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" + +DESCRIPTION="Script to follow log of running portage builds" +HOMEPAGE="https://github.com/junghans/cj-overlay" +SRC_URI="" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm ~x86 ~x86-linux ~x64-macos ~x86-macos" + +IUSE="" + +DEPEND="" +RDEPEND=" + sys-apps/coreutils + sys-apps/portage + app-shells/bash +" + +S="${FILESDIR}" + +src_install () { + newbin "${P}" "${PN}" +}