[nar-maven-plugin] Add support for handling the variable, RHBZ#1056049

Marek Goldmann goldmann at fedoraproject.org
Wed Jan 22 13:29:41 UTC 2014


commit e6b910fc5b9b78462fe5b0276280970c0af312fc
Author: Marek Goldmann <marek.goldmann at gmail.com>
Date:   Wed Jan 22 14:29:47 2014 +0100

    Add support for handling the  variable, RHBZ#1056049

 ...-for-handling-the-RPM_OPT_FLAGS-variable-.patch |  102 ++++++++++++++++++++
 ...M-support.patch => 0002-Added-ARM-support.patch |    2 +-
 nar-maven-plugin.spec                              |    9 ++-
 3 files changed, 110 insertions(+), 3 deletions(-)
---
diff --git a/0001-Add-support-for-handling-the-RPM_OPT_FLAGS-variable-.patch b/0001-Add-support-for-handling-the-RPM_OPT_FLAGS-variable-.patch
new file mode 100644
index 0000000..f4b4f8a
--- /dev/null
+++ b/0001-Add-support-for-handling-the-RPM_OPT_FLAGS-variable-.patch
@@ -0,0 +1,102 @@
+From 6310ebd727ab899fcc7a7e0cbb92ef1a40ab2962 Mon Sep 17 00:00:00 2001
+From: Marek Goldmann <marek.goldmann at gmail.com>
+Date: Tue, 21 Jan 2014 14:35:40 +0100
+Subject: [PATCH] Add support for handling the $RPM_OPT_FLAGS variable to set
+ up the compilation arguments
+
+---
+ src/main/java/com/github/maven_nar/Compiler.java   | 32 ++++++++++++++++++----
+ .../cpptasks/compiler/CommandLineCompiler.java     | 10 +++++++
+ .../cpptasks/compiler/CommandLineLinker.java       | 10 +++++++
+ 3 files changed, 46 insertions(+), 6 deletions(-)
+
+diff --git a/src/main/java/com/github/maven_nar/Compiler.java b/src/main/java/com/github/maven_nar/Compiler.java
+index 41aad46..bb03228 100644
+--- a/src/main/java/com/github/maven_nar/Compiler.java
++++ b/src/main/java/com/github/maven_nar/Compiler.java
+@@ -461,14 +461,34 @@ public abstract class Compiler
+         optimization.setValue( optimize );
+         compiler.setOptimize( optimization );
+ 
+-        // add options
+-        if ( options != null )
++        String rpmOptions = System.getenv( "RPM_OPT_FLAGS" );
++
++        if ( rpmOptions != null )
+         {
+-            for ( Iterator i = options.iterator(); i.hasNext(); )
++                // Make sure we won't add the default options later
++                // We want to use the options provided by RPM_OPT_FLAGS env variable
++                // *only*!
++                clearDefaultOptions = true;
++
++                String[] option = rpmOptions.replaceAll( "\\s+", " " ).split( " " );
++                for ( int i = 0; i < option.length; i++ )
++                {
++                    CompilerArgument arg = new CompilerArgument();
++                    arg.setValue( option[i] );
++                    compiler.addConfiguredCompilerArg( arg );
++                }
++        }
++        else
++        {
++            // add options
++            if ( options != null )
+             {
+-                CompilerArgument arg = new CompilerArgument();
+-                arg.setValue( (String) i.next() );
+-                compiler.addConfiguredCompilerArg( arg );
++                for ( Iterator i = options.iterator(); i.hasNext(); )
++                {
++                    CompilerArgument arg = new CompilerArgument();
++                    arg.setValue( (String) i.next() );
++                    compiler.addConfiguredCompilerArg( arg );
++                }
+             }
+         }
+ 
+diff --git a/src/main/java/com/github/maven_nar/cpptasks/compiler/CommandLineCompiler.java b/src/main/java/com/github/maven_nar/cpptasks/compiler/CommandLineCompiler.java
+index 9b273d5..5bf1679 100644
+--- a/src/main/java/com/github/maven_nar/cpptasks/compiler/CommandLineCompiler.java
++++ b/src/main/java/com/github/maven_nar/cpptasks/compiler/CommandLineCompiler.java
+@@ -392,6 +392,16 @@ public abstract class CommandLineCompiler extends AbstractCompiler {
+         }
+         else
+         {
++            // Try to find the executable in the $PATH
++            String paths = System.getenv("PATH");
++
++            for ( String path : paths.split(":") ) {
++                File command = new File( path, this.getCommand() );
++
++                if ( command.exists() ) {
++                    return command.getAbsolutePath();
++                }
++            }
+             return this.getCommand();
+         }
+     }
+diff --git a/src/main/java/com/github/maven_nar/cpptasks/compiler/CommandLineLinker.java b/src/main/java/com/github/maven_nar/cpptasks/compiler/CommandLineLinker.java
+index 16aadf5..ffd1201 100644
+--- a/src/main/java/com/github/maven_nar/cpptasks/compiler/CommandLineLinker.java
++++ b/src/main/java/com/github/maven_nar/cpptasks/compiler/CommandLineLinker.java
+@@ -229,6 +229,16 @@ public abstract class CommandLineLinker extends AbstractLinker
+         }
+         else
+         {
++            // Try to find the executable in the $PATH
++            String paths = System.getenv("PATH");
++
++            for ( String path : paths.split(":") ) {
++                File command = new File( path, this.getCommand() );
++
++                if ( command.exists() ) {
++                    return command.getAbsolutePath();
++                }
++            }
+             return this.getCommand();
+         }
+     }
+-- 
+1.8.4.2
+
diff --git a/0001-Added-ARM-support.patch b/0002-Added-ARM-support.patch
similarity index 96%
rename from 0001-Added-ARM-support.patch
rename to 0002-Added-ARM-support.patch
index 26187af..7f4429a 100644
--- a/0001-Added-ARM-support.patch
+++ b/0002-Added-ARM-support.patch
@@ -1,4 +1,4 @@
-From be3902aed96412c987f12378eeac215305574170 Mon Sep 17 00:00:00 2001
+From 5d8bbcac10b7ab8c8baf9059b564528d29d003a2 Mon Sep 17 00:00:00 2001
 From: Marek Goldmann <marek.goldmann at gmail.com>
 Date: Fri, 10 Jan 2014 10:10:38 +0100
 Subject: [PATCH] Added ARM support
diff --git a/nar-maven-plugin.spec b/nar-maven-plugin.spec
index 577f75d..25ba524 100644
--- a/nar-maven-plugin.spec
+++ b/nar-maven-plugin.spec
@@ -1,13 +1,14 @@
 Name:             nar-maven-plugin
 Version:          3.0.0
-Release:          2%{dist}
+Release:          3%{dist}
 Summary:          Native ARchive plugin for Maven
 License:          ASL 2.0 and LGPLv2
 URL:              https://github.com/maven-nar/nar-maven-plugin/
 Source0:          https://github.com/maven-nar/nar-maven-plugin/archive/nar-maven-plugin-%{version}.tar.gz
 Source1:          http://www.apache.org/licenses/LICENSE-2.0.txt
 
-Patch0:           0001-Added-ARM-support.patch
+Patch0:           0001-Add-support-for-handling-the-RPM_OPT_FLAGS-variable-.patch
+Patch1:           0002-Added-ARM-support.patch
 
 BuildRequires:    maven-plugins-pom
 BuildRequires:    maven-local
@@ -38,6 +39,7 @@ This package contains the API documentation for %{name}.
 %setup -q -n nar-maven-plugin-nar-maven-plugin-%{version}
 
 %patch0 -p1
+%patch1 -p1
 
 # Remove bundled stuff
 rm -rf src/it/it0006-jni-3rdparty/src/nar/resources/aol
@@ -65,6 +67,9 @@ rm src/main/java/com/github/maven_nar/NarIntegrationTestMojo.java
 %doc README.md LICENSE-2.0.txt
 
 %changelog
+* Tue Jan 21 2014 Marek Goldmann <mgoldman at redhat.com> - 3.0.0-3
+- Add support for handling the $RPM_OPT_FLAGS variable, RHBZ#1056049
+
 * Fri Jan 10 2014 Marek Goldmann <mgoldman at redhat.com> - 3.0.0-2
 - Added support for ARM
 - Fixed license field


More information about the scm-commits mailing list