From Fedora Project Wiki

Revision as of 21:34, 21 February 2009 by Laubersm (talk | contribs) (PackagingDrafts/ConditionalGCJ moved to Archive:PackagingDrafts/ConditionalGCJ: (no revisions since import from MoinMoin May 2008) Appears to already be applied to Packaging:GCJGuidelines)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Build GCJ bits conditionally

Proposal:

Provide a way for user to be able to rebuild any Java package noarch.

Change:

Change ["Packaging/GCJGuidelines"] in the following way:

1. Add sentence "Compilation into native code must be optional and enabled by default, if present." 2. Replace points 1 and 2 with the following (or equivalent):

1. Add the following definition:

%define with_gcj %{!?_without_gcj:1}%{?_without_gcj:0}

1. Conditionally dependencies and be architecture dependent

%if %{with_gcj}
BuildRequires:    java-gcj-compat-devel >= 1.0.31
Requires(post):   java-gcj-compat >= 1.0.31
Requires(postun): java-gcj-compat >= 1.0.31
%else
BuildArch:      noarch
%endif

3. Wrap code snippets in points 3., 4. and 5. as well as one following them in following:

%if %{with_gcj}
...
%endif

Comments

What is the rationale for this proposal? Originally we introduced similar conditionals in the hopes that JPackage would add GCJ support. This goal was only partially met and is arguably no longer important. My feeling is that either a Fedora package supports GCJ or it doesn't and that anyone rpmbuild'ing it should build it as it is built by the Fedora build system. Otherwise people will omit testing their changes against GCJ. (ThomasFitzsimmons)