From: Francesco R <vivo@gentoo.org>
To: gentoo-dev@lists.gentoo.org
Subject: [gentoo-dev] lights on internals
Date: Sun, 02 Oct 2005 23:07:13 +0200 [thread overview]
Message-ID: <43404C01.4070309@gentoo.org> (raw)
The ready to cut ebuild at the bottom print it's environment (variable
and functions) to a bunch of files into /var/tmp/fakebuild/.
May be useful for who want to have a look at "what" and "when" is
avaible during the various emerge phases (but not limited to).
usage:
# env -i \
PORTDIR_OVERLAY=/the/path/ \
fakebuild_progr=100 \
ebuild fakebuild-1.ebuild digest
# env -i \
fakebuild_progr=200 \
PORTDIR_OVERLAY=/the/path/ \
emerge --buildpkgonly =fakebuild-1
hint: try also the following:
- remove the egrep, sort after "typeset" to have also the sorce code of
the functions
- remove "{pkg,src}*" functions (after the previous step) to have a
look at the predefined functions.
--- app-misc/fakebuild --
# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
DESCRIPTION="fake ebuild to test environment"
HOMEPAGE="http://dev.gentoo.org/~vivo/"
SRC_URI=""
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~x86"
print_env() {
local fakebuild_output_dir="/var/tmp/fakebuild"
mkdir -p "${fakebuild_output_dir}" || die
[[ -z "${fakebuild_progr}" ]] && fakebuild_progr=100
fakebuild_progr=$(( $fakebuild_progr +1 ))
export fakebuild_progr
local fakebuild_ext="${1}.${fakebuild_progr}"
# not sorting, break multiline vars
einfo "${fakebuild_output_dir}/env_${fakebuild_ext}"
env \
&> "${fakebuild_output_dir}/env_${fakebuild_ext}"
# Remove egrep and sort to see the source of every fx
einfo "${fakebuild_output_dir}/fxlist_${fakebuild_ext}"
typeset \
| egrep '^\b.* \(\)' \
| sort \
&> "${fakebuild_output_dir}/fxlist_${fakebuild_ext}"
}
print_env "global_scope"
pkg_setup() { print_env "pkg_setup" ; }
src_unpack() { print_env "src_unpack" ; }
src_compile() { print_env "src_compile" ; }
src_test() { print_env "src_test" ; }
src_install() { print_env "src_install" ; }
pkg_preinst() { print_env "pkg_preinst" ; }
pkg_postinst() { print_env "pkg_postinst" ; }
--- app-misc/fakebuild --
--
________ ___ _ _ ____ _____ ___ ____ ____ ___
/ ___/_ \_ \/ \ / / ___/ ___/ _ / ___/ _ \ /_ \
/ __/ _/__ / \ \/ / /__/ _/_ _\ \/ /__/ / / / / _/
/_/ /_/\_\/_/_/_/ \__/\___/____//___ \___/\____/ / /\_\o
Simultaneous breaking of databases and backups since '90s.
World wide since 2005.0
--
gentoo-dev@gentoo.org mailing list
next reply other threads:[~2011-10-31 3:56 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-10-02 21:07 Francesco R [this message]
2005-10-03 6:42 ` [gentoo-dev] lights on internals Brian Harring
2005-10-03 9:40 ` Francesco R
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=43404C01.4070309@gentoo.org \
--to=vivo@gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox