This is the mail archive of the sid@sources.redhat.com mailing list for the SID project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: patch for location-independence


Hi -

On Wed, Nov 21, 2001 at 01:33:47PM -0800, Geoffrey Keating wrote:
: The attached patch causes SID to look at argv[0] to determine its
: location, so that the installed sid tree can be moved anywhere and
: there is no need to set SID_EXEC_PREFIX (to run the sid executable,
: at least).
: 
: OK to commit?

Thank you for giving this a try, however, I have a few
reservations though about the propriety of this approach.

For one thing, global variables such as sidutil::argv0[] are
generally unwelcome in sid, among other reasons for interfering
with shared library mechanisms.  For another, it is necessary to
use systematic C++ namespace prefixing on ~all the identifiers;
testing with gcc 3.0+ helps uncover problems like that.  The code
also does too much (all) work anew for each file search.

It would be better to put this logic into sid/main/mainDynamic.cxx
itself; if getenv(SID_EXEC_PREFIX) is unset, it could endavour to
compute a plausible value and put it into the environment.  (It could
do the same to a hypothetical SID_PREFIX while at it.)  The sidutil
code could then go unchanged, or even simplified.

Does this make sense?

(I wonder too to what extent the code in question was begat by gcc;
sid is (C) Red Hat, not (C) FSF; is there a reason for concern?)

- FChE

Attachment: msg00040/pgp00000.pgp
Description: PGP signature


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]