On Tuesday 15 May 2012, Pascal Bleser wrote:
On 2012-05-15 01:42:36 (+0200), Ruediger Meier
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@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org