Subject: Re: Package Paths Proposal v2
To: Todd Vierling <tv@pobox.com>
From: Curt Sampson <cjs@cynic.net>
List: tech-pkg
Date: 12/16/1998 13:33:04
On Wed, 16 Dec 1998, Todd Vierling wrote:
> : Right. For those that are already familiar with it. If we grow more
> : or less exponentially, which I think is a reasonable assumption at
> : this point, a change now would, a year from now, affect only a
> : small proportion of NetBSD users anyway.
>
> Before I say anything else, I'd like you to propose this as a _separate_
> proposal, so that others can see and talk about it. I have a nagging
> feeling that it'll be shot out of the sky faster than a MiG in the wrong
> airspace.
It sounds like we're agreed that we should more or less poll the
rest of the developers and users and see if we get a large response
one way or the other. Let's leave this until we've settled other
things, then.
> : 1. Makefiles and build systems need to be updated to add
> : -I/usr/pkg/include -L/usr/pkg/lib when compiling programs that use
> : include files and libraries installed as packages.
>
> Not much different form /usr/local.
Except that every Unix user knows about /usr/local; nobody but
NetBSD users know about /usr/pkg. Gnu autoconf also knows about
/usr/local, but not about /usr/pkg.
> : 2. /usr/pkg/bin must be added to the default path to have a `usable'
> : system in many people's eyes.
>
> So we should probably add it to _PATH_DEFAULT and to
> `dot.{profile,cshrc,login}' afor the root uid and the skeletons.
>
> And DOCUMENT it.
If we go this way, yes.
> This isn't, in my eyes, any compelling reason to mix third party software in
> with the stuff in /usr/bin. Yes, we want to spread NetBSD around to more
> users, but we don't want to make the system a mess...
It's your opinion that that's a mess. I don't see why it is, since
with the PLISTs that we keep we can easily identify and remove
every package file that's installed. On many systems I find it
cleaner to mix than to separate, because that makes the whole system
more homogeneous, and I have to modifiy less configuration information.
(I've spent a lot of time over the last year making things look in
/usr/pkg/....)
> [etc.]
I agree to some extent with the arguments about the convenience of
separating pkg bins. We're not talking about just that; we're
talking about which is more convenient for users new to NetBSD.
> Frankly, I don't give a damn about new users to UN*X that won't even read
> the README file that tells them how to install the stuff.
Well, what can I say? This speaks for itself. I obviously want to
appeal to a broader class of users than you do. (I'd especially
love to start converting members of my local Linux users group;
this would help in that regard.) We'll just have to present the
arguments and leave this to others to decide.
> : > Grumble. `var' should not be there - what example are you making for a
> : > volatile file? :)
> :
> : Empty scorefiles. Don't some programs need them present, and not
> : know how to create them?
>
> If they do, then it should be created by a program, not by a human, and the
> starter files should go in libdata. (Binary scorefiles in particular are
> typically host-byte-order dependent.)
Indeed, they should. But do all programs do this nicely, or not?
I'd rather leave the option open so that we can have somewhat
ill-behaved programs in our package tree. What compelling advantage
is there to not acommadating these programs?
> : Also for directory creation; if
> : /usr/pkg/share/examples/<pkgname>/var/games/somegame is a directory,
> : pkg_add should create a /var/games/somegame directory if it doesn't
> : exist. In fact, we may need to add an mtree to this to get permissions
> : right.
>
> Yecch. @exec install -d ... should be Just Fine, and this could be
> abstracted with a @-command to make it `usable across shares'.
Sure. I'd have a different command for it (@dir /var/foo/whatever)
so that the pkg_add command knows it's created as part of the `local
setup' when you do just that portion of the install.
> : > And without `var', why have `etc' in the path... just make it
> : > share/examples/pkgname/file.conf. (And see edit-v2, also: I mention not
> : > even having a pkgname subdir for uniquely named single config files.)
> :
> : Because then we'd end up with the entire set of IPF examples being
> : copied over to /etc on install, for example.
>
> Uniquely named SINGLE config files.
I thnk you missed my example here. Say we have a program that uses
two config files in /etc (conf1 and conf2), and provides three
examples of each beyond the default ones (conf1.example1,
conf1.example2, etc.). How do you set this up under share?
> That said, for this point I don't care much either way anymore.
Oh, now you tell me. :-)
cjs
--
Curt Sampson <cjs@cynic.net> 604 801 5335 De gustibus, aut bene aut nihil.
The most widely ported operating system in the world: http://www.netbsd.org