On 2012-05-15 01:42:36 (+0200), Ruediger Meier
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.) [...]
Might it be option to translate into %makeinstall instead of %make_install?
Using %makeinstall in a spec file is a bad idea. While it makes it work on SLE, it breaks it on Fedora where %makeinstall is still the old broken variant. Defining %make_install on SLE might be the better option.
I currently just replace %make_install directly with its first-level expansion, that seems to be only thing working across all OBS-supported Distros (but obviously might cause problems in the future).
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 :) Why not just do %__make install DESTDIR='%{buildroot}' then? It's shorter, and works ;) 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 -- -o) Pascal Bleser /\\ http://opensuse.org -- we haz green _\_v http://fosdem.org -- we haz conf