]> git.pld-linux.org Git - packages/rpm-pld-macros.git/commitdiff
add macros for default jdk provider/version; 2.021 auto/th/rpm-pld-macros-2.021-1
authorJan Palus <atler@pld-linux.org>
Tue, 7 Feb 2023 22:17:33 +0000 (23:17 +0100)
committerJan Palus <atler@pld-linux.org>
Tue, 7 Feb 2023 22:17:33 +0000 (23:17 +0100)
benefits:
- utilizes %use_jdk hence requires only *-base-* subpackages avoiding
  conflicts in %{_bindir}
- ensures packages are built with minimal ClassDataVersion so they can
  be run on broader set of JVMs
- easy to modify without modifying spec files

usage:

  %use_default_jdk

  Summary: ...
  ...
  %buildrequires_jdk
  ...
  %build
  export JAVA_HOME="%{java_home}"

defaults to openjdk8. if package requires specific minimal version of
java pass version as argument ie %{use_default_jdk 11}

macros.java
rpm-pld-macros.spec

index 746e42638c773839024221dc4a300886aeafb1a9..28e48ba7d153c822d9a47b28cc6132988fcb4507 100644 (file)
 # insead of the system default
 #%use_jdk              icedtea6
 
+# Lower bound for JDK version.
+# In case of `%use_default_jdk %{expr:%min_jdk_version-1}` use %min_jdk_version
+%min_jdk_version               8
+
+# Default JDK provider and version
+%default_jdk_provider  openjdk
+%default_jdk_version   %min_jdk_version
+
+# Name of default JDK, takes requested minimum version as argument or if not
+# given defaults to %default_jdk_version. Result is is either:
+# - %{expand:%%default_jdk<requested version>}
+# - %{expand:%%default_jdk_provider}<requested version>
+#
+# Examples for overriding:
+# - specific JDK: --define 'default_jdk8 oracle8'
+# - JDK provider: --define 'default_jdk_provider oracle'
+# - JDK version: --define 'default_jdk_version 11'
+%default_jdk()                 %{expand:%%define __jdk_v %{?1}%{!?1:%default_jdk_version}}%{expand:%%define __jdk_vf %{expr:%__jdk_v < %min_jdk_version ? %min_jdk_version : %__jdk_v}}%{expand:%%{?default_jdk%{__jdk_vf}}}%{expand:%%{!?default_jdk%{__jdk_vf}:%default_jdk_provider%{__jdk_vf}}}%{expand:%%undefine __jdk_vf}%{expand:%%undefine __jdk_v}
+
+# Use default JDK in spec, optionally takes requested minimum version as argument
+%use_default_jdk()             %{expand:%%global use_jdk %{default_jdk %*}}
+
 # expands to the value with right jdk for BuildRequires header
 # 'jdk' if %%use_jdk is not defined,  jdk(%%use_jdk) otherwise
 # The requirement will not replace current 'default' JDK
index 7023b22984a161f2e6ffd2a81762adf24dfbb557..640aafbc60f43b4e675bf4ac244cee3db1562177 100644 (file)
@@ -1,4 +1,4 @@
-%define                rpm_macros_rev  2.020
+%define                rpm_macros_rev  2.021
 %define                find_lang_rev   1.41
 # split into individual X_prov_ver if there is a reason to desync
 %define                prov_ver        4.15
@@ -6,7 +6,7 @@ Summary:        PLD Linux RPM macros
 Summary(pl.UTF-8):     Makra RPM dla Linuksa PLD
 Name:          rpm-pld-macros
 Version:       %{rpm_macros_rev}
-Release:       2
+Release:       1
 License:       GPL v2+
 Group:         Development/Building
 Source0:       macros.pld
This page took 0.486581 seconds and 4 git commands to generate.