Todd Goodman <tsg <at> bonedaddy.net> writes:
> * Michael Orlitzky <mjo <at> gentoo.org> [150328 12:11]:
> > On 03/28/2015 10:36 AM, James wrote:
> > > James <wireless <at> tampabay.rr.com> writes:
> > >> Often, I need to inspect and ponder these files: configure.ac
> > >> and Makefile
> > >> .am for a given ebuild. Is there an easy way to look at them without
> > >> compiling the ebuild ?
> > Those files are part of the upstream tarball. The easiest way to fetch
> > the sources without compiling them is with `emerge -f`. Then you can
> > copy the tarball out of $DISTDIR and unpack it somewhere.
> > Some ebuilds may patch configure.ac or Makefile.am -- in that case it's
> > a little harder. I'm sure there's an elegant way to do it, but what I
> > usually do is begin to emerge the package and Ctrl-C it when it starts
> > compiling. Then you can find the sources under /var/tmp/portage.
> Wouldn't 'ebuild <ebuild_file_name> prepare' do what you want without
> trying to time a Ctrl-C?
The man page says: Prepares the extracted sources by running the
src_prepare() function specified in the ebuild file. When src_prepare()
starts, the current working directory will be set to ${S}.
I work with /usr/local/portage/* on a variety of new ebuilds and other
hacks. Sometime these files under /var/tmp/portage are persistent and
sometimes they are not. I'm not sure where you set the rules (configs?)
to keep various files around a while after cleaning up. Surely I've
experimented with the ebuilds of new codes I'm putting together, so
I look for guidance and a semantic that other, more experienced folks use
with ebuilds. I just compiled seamonkey last night (Installed versions:
2.33.1(12:56:48 AM 03/28/2015) and it is not there, but I also installed
firefox and it is there in (var/tmp/portage/www-client/firefox-24.5.0/)
so # find . -print | grep -i '.*[.]ac'
./work/mozilla-esr24/toolkit/crashreporter/google-breakpad/configure.ac
./work/mozilla-esr24/toolkit/crashreporter/google-breakpad/src/
third_party/glog/configure.ac
./work/mozilla-esr24/js/src/ctypes/libffi/configure.ac
./work/mozilla-esr24/memory/jemalloc/src/configure.ac
./work/mozilla-esr24/gfx/harfbuzz/configure.ac
./work/mozilla-esr24/modules/freetype2/builds/unix/configure.ac
./work/mozilla-esr24/media/webrtc/trunk/testing/gtest/configure.ac
and # find . -print | grep -i 'Makefile.am'
./net-analyzer/iftop-1.0_pre4/work/iftop-1.0pre4/Makefile.am
./net-analyzer/iftop-1.0_pre4/work/iftop-1.0pre4/config/Makefile.am
./x11-misc/pcmanfm-0.9.10/work/pcmanfm-0.9.10/Makefile.am
./x11-misc/pcmanfm-0.9.10/work/pcmanfm-0.9.10/data/Makefile.am
<snip>
likewise I've been hacking at ebuilds for apache (spark and mesos)
The spark file are still under /var/tmp/portage/sys-cluster but the mesos
files, compiled just yesterday are not under /var/tmp/portage. The
same is true for ebuild in the portage tree. Some are there, some remain
and others.... who knows.
So with this in mind, how do I "tag" certain ebuilds to at least save the
configure.ac and Makefile.am files only for selected ebuild; either of which
may be in /usr/portage or /usr/local/portage? (sorry for not being more
clear). Is this just some inconsistency in how various ebuilds are constructed?
Ideas and comments are most welcome.
James