Mailinglist Archive: opensuse-buildservice (157 mails)

< Previous Next >
Re: [opensuse-buildservice] optional / recommends buildrequires
  • From: Greg Freemyer <greg.freemyer@xxxxxxxxx>
  • Date: Mon, 9 Apr 2012 16:29:24 -0400
  • Message-id: <CAGpXXZJcahExS5fLSRtijoz1RV=9kuhY6_gA5R+yFRrdacsbyQ@mail.gmail.com>
On Mon, Apr 9, 2012 at 4:16 PM, Brian K. White <brian@xxxxxxxxx> wrote:
On 4/9/2012 2:38 PM, Claudio Freire wrote:

On Fri, Apr 6, 2012 at 5:50 AM, Brian K. White<brian@xxxxxxxxx>  wrote:

Is there a way to tell the build service to include package libfoo-devel
in
the build environment for a given package without making it a
buildrequires
in the spec?

Or is there a BuildRecommends or
use-if-available-but-no-error-if-not-available?


I think you're thinking about conditional[0] requirements, but the
wiki[1] says (for good reasons) that they're not recommended in OBS.

[0] http://www.rpm.org/wiki/PackagerDocs/ConditionalBuilds
[1] http://en.opensuse.org/openSUSE:Specfile_guidelines#Conditionals


Yeah.

I think I'm ok a different way. I think I just need to make use of the
branch/submit/delete process more.

I want to keep a branck of several packages in my home project that have
.spec options that would not be appropriate for SR back to their repective
devel projects, yet I do want to SR _most_ changes back to devel. So what I
should probably do is figure things out in my own branch, branch from devel
into tem subproject, apply changes, SR, and use the "delete if accepted"
option to delete that branch if the SR is accepted.

It means having two copies of the same package branched in my home, but one
copy is only temporary.

The example and actual packages of the moment are, I want to SR a change to
graphics:tiff that buildrequires libjbigkit but only if suse_version is
greater than 12.2 (not until until after jbigkit gets accepted into Factory
of course)

But in my own home project I don't want that suse_version limit. Both
jbigkit and tiff (with some other spec changes that _would_ be safe to SR
back up to graphics) build on all my targets which is suse 10.0 to current.
So in my home project I want a tiff that buildrequires libjbigkit
unconditionally, because _I_ have jbigkit/libjbigkit for every oS from 10.0
to current, and tiff/libtiff builds correctly with jbig for all those same
versions, and _I_ want to install libjbig and jbig-enabled libtiff on all my
production boxes, which range from 10.0 to current.

I  just didn't like the waste of obs resources of having two full copies of
all such packages* just for that tiny difference in .spec

*(there are more packages than that, next comes various packages like
hylafax+ , ghostpdl, ghostscript, ImageMagick, etc, that can use jbig or
tiff-with-jbig)

But the temp branch/sr/delete is probably a workable workflow and I guess
must be what you are officially supposed to do in such situations anyway so
probably isn't considered abuive of obs resources.


Brian,

In that case I would try to branch the graphics:tiff project to my
local home project (or sub-project).

Then do a osc linkpak of that branched package to "tiff-local" in your
home project / sub-project.

Then copy the official tiff.spec to tiff-local.spec Then edit the
local spec file.

That way, the first branched copy will use tiff.spec to build.

The linked package will use tiff-local.spec to build. (The specfile
name comes from the package name with .spec appended.)

Anything you checkin to the branched package will go directly into
both linked packages.

What I don't know is what happens if you SR the branched package back
to the devel package.

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

< Previous Next >