contrib/redhat/openssh.spec question

Gregory Leblanc gleblanc at cu-portland.edu
Fri Jan 12 04:14:41 EST 2001


On 11 Jan 2001 09:43:13 +0200, Pekka Savola wrote:
> On Wed, 10 Jan 2001, Rachit Siamwalla wrote:
> > 2. I don't understand the following line in the spec file during the
> > install step (it makes it not build for me):
> >
> > %{makeinstall} \
> >     sysconfdir=$RPM_BUILD_ROOT%{_sysconfdir}/ssh \
> >     libexecdir=$RPM_BUILD_ROOT%{_libexecdir}/openssh \
> >     DESTDIR=/  # Hack to disable key generation
> >
> > The problem here is that make install will then put everything in the
> > root directory (/usr/bin, etc.) instead of
> > /usr/src/redhat/INSTALL/usr/bin, etc. (depends on RPM_ROOT) and thus in
> > later stages of the RPM build, it won't find those files. Shouldn't DEST
> > be $RPM_BUILD_ROOT and the others blank?
> >
> > One thing that might have affected stuff was i changed in the spec from
> > %{makeinstall} to "make install". With rpm 3.0.3, i guess doesn't have
> > that defined by default (i doubt this affects anything though).
> 
> Upgrade to RPM 3.0.5.  Do you still see the problem?

Yeah, this is a worth-while upgrade.  I don't think there are any
distributions who don't have rpm 3.0.5 or later as their recomended
version of RPM 3.  It's a large step forward for RPM.  BTW, if the spec
file really does say %{makeinstall}, it's not right, it should be
%makeinstall instead, as the {} make some of the escape sequences not
work right.  I think there are details in the macros file
(/usr/lib/rpm/macros on RH) that ships with RPM.

> 
> %{makeinstall} is crucial.  It's entirely different from make install;
> several install directory options are passed, for example.
> 
> If you replace it with something like:
> 
> %makeinstall \
>    make \\\
>         prefix=%{?buildroot:%{buildroot}}%{_prefix} \\\
>         exec_prefix=%{?buildroot:%{buildroot}}%{_exec_prefix} \\\
>         bindir=%{?buildroot:%{buildroot}}%{_bindir} \\\
>         sbindir=%{?buildroot:%{buildroot}}%{_sbindir} \\\
>         sysconfdir=%{?buildroot:%{buildroot}}%{_sysconfdir} \\\
>       datadir=%{?buildroot:%{buildroot}}%{_datadir} \\\
>       includedir=%{?buildroot:%{buildroot}}%{_includedir} \\\
>       libdir=%{?buildroot:%{buildroot}}%{_libdir} \\\
>         libexecdir=%{?buildroot:%{buildroot}}%{_libexecdir} \\\
>         localstatedir=%{?buildroot:%{buildroot}}%{_localstatedir} \\\
>       sharedstatedir=%{?buildroot:%{buildroot}}%{_sharedstatedir} \\\
>         mandir=%{?buildroot:%{buildroot}}%{_mandir} \\\
>         infodir=%{?buildroot:%{buildroot}}%{_infodir} \\\
>    install
> 
> you get ~similar behaviour.

But %makeinstall is a lot less typing.  :)  Does the OpenSSH rpm also
use %configure?  I'll have try to grab the source and take a look this
weekend.

    Greg






More information about the openssh-unix-dev mailing list