User:Gavlee

=Ebuild maintenance=

Some misc notes for working on ebuilds

Patch workflow
Steps to patch a package and incorporate it in the ebuild

cd to ebuild directory and try to build pushd ${overlay_dir}/media-sound/foo

ebuild foo-0.1.ebuild digest clean install (build fails)

unpack the pristine package manually mkdir -p ~/debug pushd ~/debug tar zxvf /usr/portage/distfiles/foo-0.1.tar.gz

Copy the files for patch editing and make a patch in the portage overlay files dir.

For creating a diff of a single file: cp foo-0.1/somefile.c foo-0.1/somefile.c.old

$EDITOR foo-0.1/somefile.c

mkdir -p ${overlay_dir}/media-sound/foo/files

diff -u foo-0.1/somefile.c.old \ foo-0.1/somefile.c \ >> ${overlay_dir}/media-sound/foo/files/foo-0.1-myfix.patch

popd

For creating a recursive diff of a tree: cp -a foo-0.1 foo-0.1.old

$EDITOR foo-0.1/somefile.c $EDITOR foo-0.1/someotherfile.c

mkdir -p ${overlay_dir}/media-sound/foo/files

diff -ru foo-0.1.old foo-0.1 \ >> ${overlay_dir}/media-sound/foo/files/foo-0.1-myfix.patch

popd

try the process again until it builds

Gentoo
ebuild howto

--as-needed introduction and fixing guide

Gentoo Python Developers Guide

Gentoo Java Packaging Guide

Initscripts

Misc
Autotut (autotools tutorial)

Autotools Mythbuster

The Waf Book

scons-blows.txt (for getting scons to obey CC/CXX/CFLAGS etc)