Mailinglist Archive: opensuse-packaging (106 mails)

< Previous Next >
Re: [opensuse-packaging] Leap, %bcond_with and python?
  • From: Dave Plater <dplater.list@xxxxxxxxx>
  • Date: Sat, 5 Dec 2015 16:15:27 +0200
  • Message-id: <5662F17F.10407@gmail.com>


On 02/12/2015 22:04, Greg Freemyer wrote:
On Wed, Dec 2, 2015 at 12:21 PM, Dominique Leuenberger / DimStar
<dimstar@xxxxxxxxxxxx> wrote:
Note that with:

%bcond_with protobuf_python

no python binding subpackage is built.

bcond_with => conditionally build WITH support - condition being:
specified using --with on the command line (or prj conf overrides)

While with:

%bcond_without protobuf_python
bcond_without ==> conditionally build WITHOUT support - condition, as
above.

As they are nicely if'ed, only one should be ever used to declare the
default behaviou

Is this a specific double negative logic implementation in
protobuf.spec, or is bcond always used with a double negative type
logic.
bcond_* is generally misunderstood. *_with does not mean DEFAULT WITH,
but on CONDITIONALLY_WITH (as said: conditions can come from CLI, see
osc build --with/--without) or could be overruled by prjconf in OBS
directly)

I think I got it:

bcond_with rob_bank

means there is no way I'm going to rob a bank unless someone is
pointing a gun at my head.

I definitely agree with messy. I'd go as far as saying it is one of
the most obtuse syntax'es I have seen. I guess it makes sense to
someone.

Greg
bconds should be defined in a project config, I've had irritating problems with undefined bcond's in spec files but while investigating prjconf's I picked up one time bomb from osc meta prjconf devel:languages:python :

#NOTE(toddrme2178): Tumbleweed currently has two versions of npm. Remove this if one versions is removed.
%if 0%{?suse_version} > 1315
Prefer: nodejs-npm
%endif

This one excludes Leap42.1 as well as Sles12. You should have a look at various prjconf files they're very interesting.
Regards
Dave
--
To unsubscribe, e-mail: opensuse-packaging+unsubscribe@xxxxxxxxxxxx
To contact the owner, e-mail: opensuse-packaging+owner@xxxxxxxxxxxx

< Previous Next >