Mailinglist Archive: opensuse-buildservice (132 mails)

< Previous Next >
Re: [opensuse-buildservice] Re: [opensuse-packaging] To %make_install or to %makeinstall (spec-cleaner)
On Tuesday 15 May 2012, Pascal Bleser wrote:
On 2012-05-15 01:42:36 (+0200), Ruediger Meier <sweet_f_a@xxxxxx>
wrote: [...]

Spec cleaner was written to support only the latest
distributions.

The I can only recommend and ask that nobody uses spec cleaner.
There are packagers who care about also building for older
versions of openSUSE/Evergreen, for SLE, and even older RHEL.

It's sad to break package builds just because of spec file
syntax (if the deps are too old or not available, etc..., fine,
but not because of a spec syntax gimmick, cmon.)

Yep, I have often seen repo maintainers running spec-cleaner or
prepare_spec automatically on all packages of their repos. Mostly this
just results in some debatable white space cleanups but also often it
breaks things.

For example I hate it seeing such stupid things directly committed into
Factory (usually with non sense commit messages) and then having
conflicts and broken things within the devel repos ...

Even worse is that osc client seems to use some kind
pre-commit-cleanup-hook by default. It changes your _uncommited_ edits
after you have reviewed the diff! So you commit something which you
have never seen nor tested before. And your original edits are lost.
This kind of auto style cleanup should be done by the editor but never
by a VCS client.


[...]

I'm using

%{?make_install} %{!?make_install:make install
DESTDIR=%{buildroot}}

for all my packages. This works for all repos and spec-cleaner does
not touch it.

... and entirely defeats the point of having a macro as a
shortcut :)

Hm, I just use the shortcut only if exists. What wrong with this?


Why not just do
%__make install DESTDIR='%{buildroot}'
then?
It's shorter, and works ;)

Maybe you are right but %make_install might contain even more distro
specific things - who knows. That's why we also use %configure instead
of ./configure. And if I would see any distro where %configure is not
defined then I would use a similar ifdef solution rather than always
using the fallback.


I mean, the expansion shouldn't depend on the distro.
It depends on the Makefile: either the Makefile has DESTDIR
support, or it doesn't.

We need one macro that _always_ does DESTDIR, on every distro,
and possibly one macro that always does it "the old way" (though
it's probably better to patch DESTDIR support into the Makefile
instead).

%define __makeinstall %__make install DESTDIR='%{buildroot}'

cheers
--
To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@xxxxxxxxxxxx
To contact the owner, e-mail: opensuse-buildservice+owner@xxxxxxxxxxxx

< Previous Next >