On Wed, Sep 19, 2001 at 07:33:21AM +0200, Ralf Corsepius wrote:
> On Mit, 2001-09-19 at 05:23, Zvezdan Petkovic wrote:
> > 
> > IMHO, you are exaggerating. 
> Well, of cause, I have to disagree :)
> 
> Primarily, it's just convenience for users/installers not wanting to use
> the defaults.
> 

The point is that this is a developer's RPM, not user's/installer's.
What I'm afraid of is that we would need to supply many RPMs for various
distros + *BSD packages in that case. :-)

> If using %{_bindir} and %{_datadir} in %files sections and not passing
> %{_bindir} and %{_datadir} to configure, users will have to edit
> lyx.spec to a larger extent than otherwise if not wanting to use the
> defaults provided by rpm.

Excuse me? To what extent they would have to edit it if instead of
%{_bindir} we had /usr/bin or /usr/local/bin there?

> 
> I.e. if configure --bindir=%{_bindir} --datadir=%{_datadir} .. was used,
> users/packagers could simply 
> %define _bindir whatever1
> %define _datadir whatever2
> at the top of lyx.spec and the rest of lyx.spec would still remain
> valid, if not wanting to use rpm-defaults
> 

Besides the install section must be changed too: 

make ... bindir=${RPM_BUILD_ROOT}%{_bindir} ... install

And that is all they need to change. It would work just fine for them. 

I must admit it is easy to put two more flags on the configure and
install line. What other people think about this?

The question is only do we want to have unnecessary flags in the default
RPM simply because of a few people who do not want to use the defaults,
and who would need to edit source spec file anyway to redefine the
paths? 

I suppose this is something to think about and have a majority vote.
It's certainly not too much of a burden in the spec file.

> > Please, give me an example of a single version of UNIX that doesn't put
> > its executables in $prefix/bin and its shared data in $prefix/share!
> > I know of none.
> 
> I know several, SuSE's lyx.spec is one of these.
> 
> > And that is true for $prefix = /usr or $prefix = /usr/local
> > 
> > We want to install LyX files to the usual place where that distro puts
> > executables. And that is either /usr/bin or /usr/local/bin.
> SuSE uses --prefix=/usr --bindir=/usr/X11R6/bin for lyx.
> 

Well, even prefix=/usr/X11R6 could have worked with bin and share
subdirectories, but some people simply have to do it differently. :-)
I would simply make a separate RPM for SuSE users. As we conversed
above, they have to edit source spec anyway to add defines at the top.
Some people do not know how to do that. It's just simpler for us to have
somebody of developers to apply the above mentioned changes and roll an
RPM for SuSE only.

> > More precisely, we want to use the same prefix as other programs, and
> > that is again /usr or /usr/local
> Well, but users might have diffent needs, eg. if installing multiple
> versions of lyx in parallel.
> 

Yes, and some users may not have root privileges. My point is, again, do
we need to provide for the whole world? Such users should compile from
source in my opinion. Non-root users would have great difficulties to
apply RPM anyway. It's possible -- I'm testing RPMs I build as a
non-root user first -- but guys who know how to setup that, know how to
change a few lines in the spec file too.

> > On a properly installed system rpm will use one of the above as a
> > %{_prefix}. Take a look at the defaults from /usr/lib/rpm/macros:
> I know them ;)
> [..]
> > Only if there's a _radical_ change from the default autoconf or rpm
> > installation these things would be different. And a final question:
> > Who in the right mind would change $prefix/bin and $prefix/share to
> > something else for any $prefix?
> Cf. above. SuSE prefers installing X11-based programs to /usr/X11R6/bin
> but installs there support files to /usr/*. You might consider this to
> be dumb, but I am not the one to blame for (I am not affiliated to SuSE
> at all).
> 

I don't think it's dumb. I think it's arrogant to change the traditional
things even when not necessary. Traditionally, only the programs
necessary for X and showing the capabilities of X (e.g. xedit) go into
/usr/X11R6. But there are many non-traditional things in Linux distros
for better or for worse.

> Another scenario, where this occasionally happens, is if actually
> sharing architecture-independent files (mandir, infodir, datadir,
> docdir) across architectures in heterogenious networks. However this
> topic is beyond the scope of this thread, IMHO.
> 

That was my point all the time. Should we provide for all possible
scenarios in the developer's RPM. In such cases, this is not left to a
regular user but to a good sysadmin, and (s)he would know how to fix
that spec file. Besides, on most non-i386 architectures the compilation
from source is the only way.

I don't know. Adding these two flags on the two lines in spec file is
not a big deal. But it seems we have many scenarios uncovered and an
average SuSE user probably has no clue how to put these defines at the
top of spec file, and rebuild his rpm.

So, perhaps it's better to have separate RPMs for those special
distributions like SuSE.

Best regards,
-- 
Zvezdan Petkovic <[EMAIL PROTECTED]>
http://www.cs.wm.edu/~zvezdan/

Reply via email to