All:

This is off topic since it isn't directly related to Portage
development, however, I have some questions related to the updated
revdep-rebuild that I am writing.[1]

In order to make revdep-rebuild easier to configure and use, I have
allowed the user to use environment variables or entries in make.conf to
supplement where and how it searches the system for broken dynamic
linking.

>From my comments in the script:
# Customizable variables:
#
# LD_LIBRARY_MASK - Mask of specially evaluated libraries
# SEARCH_DIRS - List of directories to search for executibles and libraries
# SEARCH_DIRS_MASK - List of directories to not search
#
# These variables can be prepended to either by setting the variable in
# your environment prior to execution, or by placing an entry in
# /etc/make.conf.
#
# An entry of "-*" means to clear the variable from that point forward.
# Example: env SEARCH_DIRS="/usr/bin -*" revdep-rebuild will set SEARCH_DIRS
# to contain only /usr/bin

I received a suggestion from eradicator[2] that I also look through the
cascading profiles for these variables.  Being a fan of the dictum to
"steal code whenever possible", I figured no problem, I'll just use
portageq to get the variables.  While this works, it causes a problem
with my original intent.

My intent was for the variables to be similar to USE flags in that
entries were added to the variable instead of replacing the variable.
This could be overridden by the user using a "-*" at the end of the
variable.

When using portageq, this behavior is no longer similar to the USE flags
and instead the highest level variable is used.  This means that for a
user to customize, they would need to specify the entire variable in
order to function properly.

Now to my question: Do I change the intent of these variables from being
similar to USE variables, so that they are overwritten by each higher
level in the profile->make.conf->environment chain, or do I reinvent the
wheel and follow the chain myself and create the variable additively as
I move up the chain?

If the consensus is to move up the chain, can someone who is familar
with the cascading profiles please illustrate the psuedocode for
following the cascading profiles?

Finally, in the spirit of Fred Brooks, I'm considering this version of
revdep-rebuild to by my throwaway system or prototype.  The goal of this
version is to be a stable and usable script that fixes the majority of
the bugs in bugzilla against revdep-rebuild.  However, the end goal is
to redesign and reimplement the script in Python using the appropriate
Portage and Gentoolkit API's in a way that fits in with the Portage and
Portage Tools team's goals.

Footnotes:
1. http://bugs.gentoo.org/show_bug.cgi?id=62644
2. http://bugs.gentoo.org/show_bug.cgi?id=62644#c17

-- 
My Gentoo stuff: http://varnerfamily.org/pvarner/gentoo

--
[email protected] mailing list

Reply via email to