From raeburn@cygnus.com Wed Nov 13 19:33:36 1996 Received: from MIT.EDU (SOUTH-STATION-ANNEX.MIT.EDU [18.72.1.2]) by rt-11.MIT.EDU (8.7.5/8.7.3) with SMTP id TAA05645 for ; Wed, 13 Nov 1996 19:33:35 -0500 Received: from cygnus.com by MIT.EDU with SMTP id AA21428; Wed, 13 Nov 96 19:33:25 EST Received: from tweedledumb.cygnus.com (tweedledumb.cygnus.com [192.80.44.1]) by cygnus.com (8.6.12/8.6.9) with SMTP id QAA08741; Wed, 13 Nov 1996 16:33:19 -0800 Received: from cujo.cygnus.com by tweedledumb.cygnus.com (4.1/4.7) id AA17669; Wed, 13 Nov 96 19:33:17 EST Received: by cujo.cygnus.com; (5.65v3.2/1.1.8.2/20Sep95-0235PM) id AA28100; Wed, 13 Nov 1996 19:33:16 -0500 Message-Id: Date: 13 Nov 1996 19:33:14 -0500 From: Ken Raeburn Sender: raeburn@cygnus.com To: bjaspan@MIT.EDU Cc: krb5-bugs@MIT.EDU, krbdev@MIT.EDU In-Reply-To: bjaspan@MIT.EDU's message of Wed, 13 Nov 1996 20:45:22 GMT Subject: Re: krb5.conf, kdc.conf, and --prefix References: <199611132045.UAA28434@beeblebrox.MIT.EDU> >Number: 187 >Category: krb5-misc >Synopsis: Re: krb5.conf, kdc.conf, and --prefix >Confidential: yes >Severity: serious >Priority: medium >Responsible: krb5-unassigned >State: closed >Class: sw-bug >Submitter-Id: unknown >Arrival-Date: Wed Nov 13 19:34:00 EST 1996 >Last-Modified: Fri Nov 15 17:17:58 EST 1996 >Originator: >Organization: >Release: >Environment: >Description: >How-To-Repeat: >Fix: >Audit-Trail: Responsible-Changed-From-To: gnats-admin->krb5-unassigned Responsible-Changed-By: tlyu Responsible-Changed-When: Wed Nov 13 19:46:35 1996 Responsible-Changed-Why: refiling; note that this should be part of krb5-misc/185. State-Changed-From-To: open-closed State-Changed-By: bjaspan State-Changed-When: Fri Nov 15 17:17:46 1996 State-Changed-Why: Appended Ken's notes to krb5-misc/185. >Unformatted: Some notes on your proposal: Shared libraries would have to be found either by absolute pathname or by system-wide or per-user configuration changes. System-wide changes require root access to switch versions (e.g., for debugging or comparison purposes). Per-user changes won't work for ksu, and are probably Right Out for large sites anyways. Environment variable changes (to find an alternate krb5.conf and things pointed to by it) will be needed to change versions also. You propose a number of new configure script options. Have you looked at how to add them? Do you plan on maintaining a Kerberos-specific version of autoconf forever? If the pathname info (install-prefix, location of krb5.conf, whatever) is coded into a library object file, changing it requires rebuilding only those libraries, and anything they're linked into; random other object files, even those using krb5.h, would not be affected. If you do eliminate all dependencies on $(prefix) in the libraries and application programs, you can use --prefix for the purposes you intend --installprefix for, can't you? Even if not, what's wrong with running "make install prefix=..." if you really want the install done someplace else? I suspect that the most commonly desired cases would be: * installing into the final location * building a package that can be installed later And in the latter case, there's probably more work to be done, since "directory tree" probably isn't usually the most convenient package format. So a script or makefile target is probably the best solution, in which case adding extra arguments to "make install" is no big deal. > o make install by default installs into $(buildtop)/install/{bin,...}. I think "make install" should *install* the software (using $(prefix)), not build a package that can be installed later, which is what you're describing. A separate Makefile target name for such packages would be fine. At the same time, we can set up targets for packages in Debian, RedHat, BSD, setld, svr4 and other formats. In fact, at Cygnus, we never use "make install" directly, we use a gzipped-tar-file target (which uses "make install prefix=..."). We've also worked with some of the other package formats before, so making them work for v5 shouldn't be hard. > since install-prefix is specified in krb5.conf, there is no > requirement for these paths to be the same on every machine in the > realm, which is good: clients should look in /usr/local, but the KDC > should probably look in /var/krb5 or somesuch. Um. Actually, I think I'd want rlogind (say) always looking in /usr/local (or whereever), regardless of whether I had set up a KDC on that particular machine. The KDC, however, would look in /var/krb5, or /s1/cygnus/kerbnet, or /usr/local/krb5. It may even vary between machines, so a single krb5.conf wouldn't be correct site-wide. Which complicates installation and maintenance.