Repository: metron
Updated Branches:
  refs/heads/master 91a017b6d -> 37e8ca7e2


METRON-1129 Management UI - Package Node Dependencies in RPM (nickwallen) 
closes apache/metron#712


Project: http://git-wip-us.apache.org/repos/asf/metron/repo
Commit: http://git-wip-us.apache.org/repos/asf/metron/commit/37e8ca7e
Tree: http://git-wip-us.apache.org/repos/asf/metron/tree/37e8ca7e
Diff: http://git-wip-us.apache.org/repos/asf/metron/diff/37e8ca7e

Branch: refs/heads/master
Commit: 37e8ca7e22f0a16c9bbccd9d9896942f230a11b8
Parents: 91a017b
Author: nickwallen <[email protected]>
Authored: Tue Sep 5 10:40:47 2017 -0400
Committer: nickallen <[email protected]>
Committed: Tue Sep 5 10:40:47 2017 -0400

----------------------------------------------------------------------
 .../CURRENT/package/scripts/management_ui_master.py  |  1 -
 .../packaging/docker/rpm-docker/Dockerfile           |  4 ++++
 .../packaging/docker/rpm-docker/SPECS/metron.spec    | 15 ++++++++++++---
 .../packaging/docker/rpm-docker/build.sh             |  2 +-
 metron-interface/metron-config/README.md             | 10 ++--------
 5 files changed, 19 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/metron/blob/37e8ca7e/metron-deployment/packaging/ambari/metron-mpack/src/main/resources/common-services/METRON/CURRENT/package/scripts/management_ui_master.py
----------------------------------------------------------------------
diff --git 
a/metron-deployment/packaging/ambari/metron-mpack/src/main/resources/common-services/METRON/CURRENT/package/scripts/management_ui_master.py
 
b/metron-deployment/packaging/ambari/metron-mpack/src/main/resources/common-services/METRON/CURRENT/package/scripts/management_ui_master.py
index e858ed3..54e91aa 100644
--- 
a/metron-deployment/packaging/ambari/metron-mpack/src/main/resources/common-services/METRON/CURRENT/package/scripts/management_ui_master.py
+++ 
b/metron-deployment/packaging/ambari/metron-mpack/src/main/resources/common-services/METRON/CURRENT/package/scripts/management_ui_master.py
@@ -38,7 +38,6 @@ class ManagementUIMaster(Script):
         from params import params
         env.set_params(params)
         self.install_packages(env)
-        Execute('npm --prefix ' + params.metron_home + '/web/expressjs/ 
install')
 
     def configure(self, env, upgrade_type=None, config_dir=None):
         print 'configure managment_ui'

http://git-wip-us.apache.org/repos/asf/metron/blob/37e8ca7e/metron-deployment/packaging/docker/rpm-docker/Dockerfile
----------------------------------------------------------------------
diff --git a/metron-deployment/packaging/docker/rpm-docker/Dockerfile 
b/metron-deployment/packaging/docker/rpm-docker/Dockerfile
index 2fd2565..a2dae8e 100644
--- a/metron-deployment/packaging/docker/rpm-docker/Dockerfile
+++ b/metron-deployment/packaging/docker/rpm-docker/Dockerfile
@@ -27,3 +27,7 @@ RUN mv apache-maven-3.2.5 /opt/maven
 RUN ln -s /opt/maven/bin/mvn /usr/bin/mvn
 RUN yum -y install asciidoc rpm-build rpm2cpio tar unzip xmlto zip rpmlint && 
yum clean all
 WORKDIR /root
+
+# install node so that the node dependencies can be packaged into the RPMs
+RUN curl --silent --location https://rpm.nodesource.com/setup_6.x | bash -
+RUN yum -y install gcc-c++ make nodejs

http://git-wip-us.apache.org/repos/asf/metron/blob/37e8ca7e/metron-deployment/packaging/docker/rpm-docker/SPECS/metron.spec
----------------------------------------------------------------------
diff --git a/metron-deployment/packaging/docker/rpm-docker/SPECS/metron.spec 
b/metron-deployment/packaging/docker/rpm-docker/SPECS/metron.spec
index 5a88877..6065d57 100644
--- a/metron-deployment/packaging/docker/rpm-docker/SPECS/metron.spec
+++ b/metron-deployment/packaging/docker/rpm-docker/SPECS/metron.spec
@@ -17,7 +17,7 @@
 %define timestamp           %(date +%Y%m%d%H%M)
 %define version             %{?_version}%{!?_version:UNKNOWN}
 %define full_version        %{version}%{?_prerelease}
-%define prerelease_fmt      %{?_prerelease:.%{_prerelease}}          
+%define prerelease_fmt      %{?_prerelease:.%{_prerelease}}
 %define vendor_version      %{?_vendor_version}%{!?_vendor_version: UNKNOWN}
 %define url                 http://metron.apache.org/
 %define base_name           metron
@@ -30,6 +30,8 @@
 %define metron_root         %{_prefix}/%{base_name}
 %define metron_home         %{metron_root}/%{full_version}
 
+%define _binaries_in_noarch_packages_terminate_build   0
+
 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 Name:           %{base_name}
@@ -93,6 +95,9 @@ tar -xzf %{SOURCE12} -C %{buildroot}%{metron_home}
 install %{buildroot}%{metron_home}/bin/metron-rest %{buildroot}/etc/init.d/
 install %{buildroot}%{metron_home}/bin/metron-management-ui 
%{buildroot}/etc/init.d/
 
+# allows node dependencies to be packaged in the RPMs
+npm install --prefix="%{buildroot}%{metron_home}/web/expressjs" 
--only=production
+
 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 %package        common
@@ -391,6 +396,8 @@ This package installs the Metron Management UI 
%{metron_home}
 %dir %{metron_home}/bin
 %dir %{metron_home}/web
 %dir %{metron_home}/web/expressjs
+%dir %{metron_home}/web/expressjs/node_modules
+%dir %{metron_home}/web/expressjs/node_modules/.bin
 %dir %{metron_home}/web/management-ui
 %dir %{metron_home}/web/management-ui/assets
 %dir %{metron_home}/web/management-ui/assets/ace
@@ -401,6 +408,8 @@ This package installs the Metron Management UI 
%{metron_home}
 %dir %{metron_home}/web/management-ui/license
 %{metron_home}/bin/metron-management-ui
 /etc/init.d/metron-management-ui
+%attr(0755,root,root) %{metron_home}/web/expressjs/node_modules/*
+%attr(0755,root,root) %{metron_home}/web/expressjs/node_modules/.bin/*
 %attr(0755,root,root) %{metron_home}/web/expressjs/server.js
 %attr(0644,root,root) %{metron_home}/web/expressjs/package.json
 %attr(0644,root,root) %{metron_home}/web/management-ui/favicon.ico
@@ -451,7 +460,7 @@ This package install the Metron MaaS Service files 
%{metron_home}
 * Tue Aug 29 2017 Apache Metron <[email protected]> - 0.4.1
 - Add Metron MaaS service
 * Thu Jun 29 2017 Apache Metron <[email protected]> - 0.4.1
-- Add Metron Management jar 
+- Add Metron Management jar
 * Thu May 15 2017 Apache Metron <[email protected]> - 0.4.0
 - Added Management UI
 * Tue May 9 2017 Apache Metron <[email protected]> - 0.4.0
@@ -465,7 +474,7 @@ This package install the Metron MaaS Service files 
%{metron_home}
 * Thu Jan 19 2017 Justin Leet <[email protected]> - 0.3.1
 - Replace GeoIP files with new implementation
 * Thu Nov 03 2016 David Lyle <[email protected]> - 0.2.1
-- Add ASA parser/enrichment configuration files 
+- Add ASA parser/enrichment configuration files
 * Thu Jul 21 2016 Michael Miklavcic <[email protected]> - 0.2.1
 - Remove parser flux files
 - Add new enrichment files

http://git-wip-us.apache.org/repos/asf/metron/blob/37e8ca7e/metron-deployment/packaging/docker/rpm-docker/build.sh
----------------------------------------------------------------------
diff --git a/metron-deployment/packaging/docker/rpm-docker/build.sh 
b/metron-deployment/packaging/docker/rpm-docker/build.sh
index 23ed90d..dd5149d 100755
--- a/metron-deployment/packaging/docker/rpm-docker/build.sh
+++ b/metron-deployment/packaging/docker/rpm-docker/build.sh
@@ -36,7 +36,7 @@ if [ $? -ne 0 ] && [ $OWNER_UID -ne 0 ]; then
 fi
 
 rm -rf SRPMS/ RPMS/ && \
-rpmbuild -v -ba --define "_topdir $(pwd)" --define "_version ${VERSION}" 
--define "_prerelease ${PRERELEASE}" SPECS/metron.spec && \
+QA_SKIP_BUILD_ROOT=1 rpmbuild -v -ba --define "_topdir $(pwd)" --define 
"_version ${VERSION}" --define "_prerelease ${PRERELEASE}" SPECS/metron.spec && 
\
 rpmlint -i SPECS/metron.spec RPMS/*/metron* SRPMS/metron
 
 # Ensure original user permissions are maintained after build

http://git-wip-us.apache.org/repos/asf/metron/blob/37e8ca7e/metron-interface/metron-config/README.md
----------------------------------------------------------------------
diff --git a/metron-interface/metron-config/README.md 
b/metron-interface/metron-config/README.md
index 257faba..f0a69e3 100644
--- a/metron-interface/metron-config/README.md
+++ b/metron-interface/metron-config/README.md
@@ -49,12 +49,6 @@ This module provides a user interface for management 
functions in Metron.
     rpm -ih metron-config-$METRON_VERSION-*.noarch.rpm
     ```
 
-1. Install the [Express](https://expressjs.com/) web framework from the 
`package.json` file in `$METRON_HOME/web/expressjs`:
-
-    ```
-    npm --prefix $METRON_HOME/web/expressjs/ install
-    ```
-
 ## Configuration
 
 The Managment UI is configured in the `$METRON_HOME/config/management_ui.yml` 
file.  Create this file and set the values to match your environment:
@@ -87,7 +81,7 @@ The Management UI can also be started in development mode.  
This allows changes
     cd metron-interface/metron-config
     npm install
     ```
-  
+
 1. Start the application:
 
     ```
@@ -113,4 +107,4 @@ The application will be available at 
http://localhost:4200/.  The REST applicati
 
 ## License
 
-This projects bundles Font Awesome which is available under the SIL Open Font 
License.  See http://fontawesome.io/license/ for more details.
\ No newline at end of file
+This projects bundles Font Awesome which is available under the SIL Open Font 
License.  See http://fontawesome.io/license/ for more details.

Reply via email to