Mailinglist Archive: opensuse-buildservice (233 mails)

< Previous Next >
Re: [opensuse-buildservice] %make_install in prjconfig
On 11/8/2013 10:16 AM, Tomáš Chvátal wrote:
Dne Pá 8. listopadu 2013 09:51:02, Greg Freemyer napsal(a):
On Thu, Nov 7, 2013 at 10:27 PM, Jan Engelhardt <jengelh@xxxxxxx> wrote:

I wish spec-cleaner would leave that in place. I often run
spec-cleaner and simply take the output, but then someone who cares
about SLES has to come along after me and clean that up.


We are now in process of cleaning this thing up so definitely people are
welcome on working on spec-cleaner [1].

Seriously we should do this in 2 phases. One where we create the spec file
which is as clean as possible (eg the %make_install macro is used) and then on
obs side we need to ensure these macros are provided for older versions of the
distribution or other rpm based ones. Bigger problem is solving collision with
the same name. %makeinstall doing completely different stuff between fedora and
opensuse.

Cheers

Tom

[1] https://github.com/openSUSE/spec-cleaner/commits/master


Shouldn't OBS aim to provide an environment that is as close as possible to a native system install of the target?

IE: Whatever a real fedora 4 box does for %makeinstall, that's what OBS should do in a fedora 4 prjconfig.

It might be nice if a new spec file that uses %{make_install} would work even when building for an opensuse 11.0 target, but it would not be nice when the src.rpm is not buildable on a real opensuse 11.0 system.

The whole point of src.rpm, and the whole point of being religious about putting only pristine unmodified upstream sources in them, with all patches in the form of patches, and all build steps self-documented in the .spec file, is so that no matter what, if you have an installable package, and the matching src.rpm, (and whatever dependencies that src.rpm specifies) then you can build that package, even if the rest of the world is gone and it's just you and your pc and nothing else. It's a promise the distribution makes that you are always supposed to be able to rely on.

Another approach might be, if obs starts doing that, maybe we could create a package that includes these obs-only macros, and have the src.rpm buildrequires that package if any such macro was used.

Then if you are on a 11.1 box, and you try to build the src.rpm of a package, rather than fail, it will tell you you just need to go get a package, just like any other package. Also that way the .spec is once again fully self-documenting.

The only reason I was thinking about providing the macro in my own prjconfig was because it's only my own home project, and a maintainer of tmux happened to say in another list that he was not interested in cluttering up the spec file with support for old targets, so I didn't think it was worth SR-ing a change that changed out %make_install just to support targets older than opensuse 11.2, and I weighed the two evils, magic marco that won't work on the target boxes, or modify .spec in my branch and thus break my branch from staying up to date with the devel one.

I didn't really want to do that prjconfig change at all.

--
bkw

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

< Previous Next >