Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 4 Mar 2003 19:43:23 -0800
From:      Will Andrews <will@csociety.org>
To:        FreeBSD Ports <ports@FreeBSD.org>
Subject:   Re: Installing unnecessary files (Re: pkg-plist question)
Message-ID:  <20030305034322.GR37397@procyon.firepipe.net>
In-Reply-To: <20030305002254.GC94004@rot13.obsecurity.org>
References:  <008601c2e26b$0c493ea0$2136fb93@kloboucek> <006b01c2e27a$261eb7b0$19fd2fd8@westbend.net> <20030304184628.GJ37397@procyon.firepipe.net> <20030304213652.GB93311@rot13.obsecurity.org> <20030304214524.GN37397@procyon.firepipe.net> <20030305002254.GC94004@rot13.obsecurity.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Mar 04, 2003 at 04:22:55PM -0800, Kris Kennaway wrote:
> On Tue, Mar 04, 2003 at 01:45:24PM -0800, Will Andrews wrote:
> 
> > Just because something is useless on FreeBSD (an unqualified
> > assertion in my view) doesn't mean it's not useful anywhere else.
> 
> If you're disputing the assertion that .so.x.y libraries are useless
> on FreeBSD, then can you please provide a counterexample or explain
> how the .so.x.y library is useful on FreeBSD?

I already did.  In the email you replied to I said that
developers install these library filenames for lib detection
purposes.  And that works pretty well (and cheaply) on all
POSIX-compliant OS's.  Not everyone uses this approach but some
people do.

Merely changing it on FreeBSD means people need a local hack to
compile something that uses this sort of check.  Yes we can patch
the ports, but you can't trivially fix non-ports builds.  And
there are lots of compelling reasons to want things to compile
out of the box without ports patches.

> > the lib).  Not installing them on FreeBSD forces 3rd party
> > developers to use special cases for FreeBSD. 
> 
> Not really..at worst it means an extra (simple) patch to the port.

Yes... which means you can't use the ports to install a library
you need and then do development work outside the ports tree on
an application that depends on this library, because FreeBSD
broke the detection mechanism for what are purely aesthetic
reasons -- don't even think of telling me *.la or *.so.x.* waste
much space in the days of 1GB+ systems (symlinks cost a few bytes
of space, and la's a few hundred bytes).  And sometimes they are
*not* a waste of space.  The point is, why assume they are when
it's easier not to?

> > This is just another example of rules we made up 3-4 years ago for a
> > reason that is now outdated.
> 
> *This* is an unqualified assertion.  Why is it outdated?  Pre-ELF
> .so.x.y libraries were used and had to be installed; post-ELF they
> were not used.

You just said why it's outdated.  We're in the post-ELF world,
remember?  The code NO_FILTER_SHLIBS wraps should have gone away
long ago, but unfortunately it hasn't.  You wouldn't even be
aware that some ports install these library filenames if it did.
Rtld etc. do *not* care.  The NO_FILTER_SHLIBS code was added in
the days when we had both a.out and ELF systems, and we modified
ports to install *.so.x for ELF and *.so.x.y for a.out systems
(or libtool did it for us automatically).  It was just intended
to handle both PORTOBJFORMAT=aout and PORTOBJFORMAT=elf.  Please
see revs 1.287 and 1.293 of bsd.port.mk for the relevant logs.

> > Whether or not rtld looks at files named *.so.x.* is irrelevant.
> > No rtld that exists looks at them (that I'm aware of) and every
> > 3rd-party lib installs *.so symlinks (or the other way around).
> > This isn't a library issue (as it used to be), it is merely
> > whether or not a file/symlink should be installed.
> 
> I don't like useless files to be installed on my system (whether they
> are unused .la files, unused .so.x.y files or symlinks, extra GNU
> COPYING instances, support files for non-freebsd platforms, .orig
> patch droppings, etc).
> 
>   Wherever possible, the port should not install unnecessary
>   (non-used) files.
> 
> If you disagree with this statement, please explain why.

I agree that duplicate documentation is a waste, but things that
are used (not always, but sometimes) for compiling should be left
alone.  Support files for non-FreeBSD (defined as things that
could never be used to support FreeBSD) should not be installed
by whatever installs it (and modifications should be integrable
in the upstream source code).

FreeBSD has no good reason for being different from everybody else.

Regards,
-- 
wca

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-ports" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030305034322.GR37397>