hama: minho kim <minho@apache.org>, edward j. yoon
hbase: andrew purtell, rvs
hive: mark grover, youngwoo kim
-hue: oflebbe
itest: cos, rvs
mvn publishing/packaging: rvs
oozie evans ye, rvs
For other options that may be set here, look for class parameters in the modules'
manifests/init.pp files. Any class parameter can be used as a hiera key if prefixed with the
-module and class namespace. Module hue's server class will look for its parameter rm_host as
-`hue::server::rm_host` in hiera.
+module and class namespace. Module kafka's server class will look for its parameter `port` as
+`kafka::server::port` in hiera.
Note that if `hadoop::hadoop_storage_dirs` is left unset, puppet will attempt to guess which
directories to use.
# be installed as usual. Otherwise only a specified list will be set
# Possible elements:
# hadoop,yarn,hbase,alluxio,flink,flume,solrcloud,spark,oozie,hcat,sqoop,sqoop2,httpfs,
-# hue,mahout,giraph,crunch,pig,hive,zookeeper,ycsb,qfs
+# mahout,giraph,crunch,pig,hive,zookeeper,ycsb,qfs
# Example (to deploy only HDFS and YARN server and gateway parts)
# This can be a comma-separated list or an array.
#hadoop_cluster_node::cluster_components:
hadoop::common_yarn::hadoop_ps_host: "%{hiera('bigtop::hadoop_head_node')}"
hadoop::common_yarn::hadoop_rm_host: "%{hiera('bigtop::hadoop_head_node')}"
-# actually default but needed for hue::server::rm_port here
hadoop::common_yarn::hadoop_rm_port: "8032"
hadoop::common_mapred_app::jobtracker_host: "%{hiera('bigtop::hadoop_head_node')}"
bigtop::hadoop_history_server_url: "http://%{hiera('hadoop::common_mapred_app::mapreduce_jobhistory_host')}:%{hiera('bigtop::hadoop_history_server_port')}"
hadoop::common_yarn::yarn_log_server_url: "%{hiera('bigtop::hadoop_history_server_url')}/jobhistory/logs"
-# actually default but needed for hue::server::webhdfs_url here
hadoop::httpfs::hadoop_httpfs_port: "14000"
bigtop::hadoop_zookeeper_port: "2181"
bigtop::hbase_thrift_port: "9090"
bigtop::hadoop_oozie_port: "11000"
-hue::server::rm_host: "%{hiera('hadoop::common_yarn::hadoop_rm_host')}"
-hue::server::rm_port: "%{hiera('hadoop::common_yarn::hadoop_rm_port')}"
-hue::server::rm_url: "http://%{hiera('bigtop::hadoop_head_node')}:%{hiera('bigtop::hadoop_rm_http_port')}"
-hue::server::rm_proxy_url: "http://%{hiera('hadoop::common_yarn::hadoop_ps_host')}:%{hiera('hadoop::common_yarn::hadoop_ps_port')}"
-hue::server::history_server_url: "%{hiera('bigtop::hadoop_history_server_url')}"
-# those use fqdn instead of hadoop_head_node because it's only ever activated
-# on the gatewaynode
-hue::server::webhdfs_url: "http://%{fqdn}:%{hiera('hadoop::httpfs::hadoop_httpfs_port')}/webhdfs/v1"
-hue::server::sqoop2_url: "http://%{fqdn}:%{hiera('bigtop::sqoop2_server_port')}/sqoop"
-hue::server::solr_url: "http://%{fqdn}:%{hiera('solr::server::port')}/solr/"
-hue::server::hbase_thrift_url: "%{fqdn}:%{hiera('bigtop::hbase_thrift_port')}"
-hue::server::oozie_url: "http://%{hiera('bigtop::hadoop_head_node')}:%{hiera('bigtop::hadoop_oozie_port')}/oozie"
-hue::server::default_fs: "%{hiera('bigtop::hadoop_namenode_uri')}"
-hue::server::kerberos_realm: "%{hiera('kerberos::site::realm')}"
-
giraph::client::zookeeper_quorum: "%{hiera('bigtop::hadoop_head_node')}"
hadoop_hive::common_config::hbase_zookeeper_quorum: "%{hiera('hadoop_hbase::common_config::zookeeper_quorum')}"
# - hcat
# - hive
# - httpfs
-# - hue
# - mahout
# - mapred-app
# - oozie
httpfs => {
gateway_server => ["httpfs-server"],
},
- hue => {
- gateway_server => ["hue-server"],
- },
mahout => {
client => ["mahout-client"],
},
"sqoop2",
"hadoop_zookeeper",
"hcatalog",
- "hue",
"mahout",
"solr",
"spark",
# Set from facter if available
$hadoop_storage_dirs = split($::hadoop_storage_dirs, ";"),
$proxyusers = {
- oozie => { groups => 'hudson,testuser,root,hadoop,jenkins,oozie,hive,httpfs,hue,users', hosts => "*" },
- hive => { groups => 'hudson,testuser,root,hadoop,jenkins,oozie,hive,httpfs,hue,users', hosts => "*" },
- hue => { groups => 'hudson,testuser,root,hadoop,jenkins,oozie,hive,httpfs,hue,users', hosts => "*" },
- httpfs => { groups => 'hudson,testuser,root,hadoop,jenkins,oozie,hive,httpfs,hue,users', hosts => "*" } },
+ oozie => { groups => 'hudson,testuser,root,hadoop,jenkins,oozie,hive,httpfs,users', hosts => "*" },
+ hive => { groups => 'hudson,testuser,root,hadoop,jenkins,oozie,hive,httpfs,users', hosts => "*" },
+ httpfs => { groups => 'hudson,testuser,root,hadoop,jenkins,oozie,hive,httpfs,users', hosts => "*" } },
$generate_secrets = false,
) {
<description>The name of the group of super-users.</description>
</property>
- <!-- Enable Hue plugins -->
-<% if @hadoop_dfs_namenode_plugins -%>
- <property>
- <name>dfs.namenode.plugins</name>
- <value><%= @hadoop_dfs_namenode_plugins %></value>
- <description>Comma-separated list of namenode plug-ins to be activated.
- </description>
- </property>
-
-<% end -%>
-<% if @hadoop_dfs_datanode_plugins -%>
- <property>
- <name>dfs.datanode.plugins</name>
- <value><%= @hadoop_dfs_datanode_plugins %></value>
- <description>Comma-separated list of datanode plug-ins to be activated.
- </description>
- </property>
-
-<% end -%>
<!-- increase the number of datanode transceivers way above the default of 256
- this is for hbase -->
<property>
KerberosName for more details.
</description>
</property>
-
- <!-- Proxyuser Configuration -->
-
- <property>
- <name>oozie.service.ProxyUserService.proxyuser.hue.hosts</name>
- <value>*</value>
- <description>
- List of hosts the '#USER#' user is allowed to perform 'doAs'
- operations.
-
- The '#USER#' must be replaced with the username o the user who is
- allowed to perform 'doAs' operations.
-
- The value can be the '*' wildcard or a list of hostnames.
-
- For multiple users copy this property and replace the user name
- in the property name.
- </description>
- </property>
-
- <property>
- <name>oozie.service.ProxyUserService.proxyuser.hue.groups</name>
- <value>*</value>
- <description>
- List of groups the '#USER#' user is allowed to impersonate users
- from to perform 'doAs' operations.
-
- The '#USER#' must be replaced with the username o the user who is
- allowed to perform 'doAs' operations.
-
- The value can be the '*' wildcard or a list of groups.
-
- For multiple users copy this property and replace the user name
- in the property name.
- </description>
- </property>
</configuration>
+++ /dev/null
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-class hue {
- class deploy ($roles) {
- if ("hue-server" in $roles) {
- include hue::server
- if ("httpfs-server" in $roles) {
- Class['Hadoop::Httpfs'] -> Class['Hue::Server']
- }
- if ("hbase-client" in $roles) {
- Class['Hadoop_hbase::Client'] -> Class['Hue::Server']
- }
- }
- }
-
- class server($sqoop2_url = "http://localhost:12000/sqoop", $solr_url = "http://localhost:8983/solr/", $hbase_thrift_url = "",
- $webhdfs_url, $rm_host, $rm_port, $oozie_url, $rm_proxy_url, $history_server_url,
- $hive_host = "", $hive_port = "10000",
- $zookeeper_host_port = "localhost:2181",
- $force_username_lowercase = "false",
- $group_filter_value = "objectclass=groupOfEntries",
- $nt_domain = undef,
- $use_ldap_username_pattern = false,
- $ldap_username_pattern = undef,
- $remote_deployement_dir = "/user/hue/oozie/deployments",
- $rm_logical_name = undef, $rm_api_port = "8088", $app_blacklist = "impala, security",
- $hue_host = "0.0.0.0", $hue_port = "8888", $hue_timezone = "America/Los_Angeles",
- $default_fs = "hdfs://localhost:8020",
- $kerberos_realm = "", $kerberos_principal = "", $huecert = undef, $huekey = undef,
- $auth_backend = "desktop.auth.backend.AllowFirstUserDjangoBackend",
- $ldap_url = undef, $ldap_cert = undef, $use_start_tls = "true",
- $base_dn = undef , $bind_dn = undef, $bind_password = undef,
- $user_name_attr = undef, $user_filter = undef,
- $group_member_attr = undef, $group_filter = undef,
- $hue_apps = "all", $default_hdfs_superuser = "hdfs" ) {
-
- $hue_packages = $hue_apps ? {
- "all" => [ "hue", "hue-server" ], # The hue metapackage requires all apps
- "none" => [ "hue-server" ],
- default => concat(prefix($hue_apps, "hue-"), [ "hue-server" ])
- }
-
- if ($kerberos_realm and $kerberos_realm != "") {
- require kerberos::client
- kerberos::host_keytab { "hue":
- spnego => false,
- require => Package["hue-server"],
- }
- }
-
- package { $hue_packages:
- ensure => latest,
- }
-
- file { "/etc/hue/conf/hue.ini":
- content => template("hue/hue.ini"),
- require => Package[$hue_packages],
- }
-
- service { "hue":
- ensure => running,
- require => [ Package[$hue_packages], File["/etc/hue/conf/hue.ini"]],
- subscribe => [ Package[$hue_packages], File["/etc/hue/conf/hue.ini"]],
- hasrestart => true,
- hasstatus => true,
- }
- Kerberos::Host_keytab <| title == "hue" |> -> Service["hue"]
- }
-}
+++ /dev/null
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Hue configuration file
-# ===================================
-#
-# For complete documentation about the contents of this file, run
-# $ <hue_root>/build/env/bin/hue config_help
-#
-# All .ini files under the current directory are treated equally. Their
-# contents are merged to form the Hue configuration, which can
-# can be viewed on the Hue at
-# http://<hue_host>:<port>/dump_config
-
-
-###########################################################################
-# General configuration for core Desktop features (authentication, etc)
-###########################################################################
-
-[desktop]
-
-# send_dbug_messages=1#
-#
-# # To show database transactions, set database_logging to 1
-# database_logging=0
-
- # Set this to a random string, the longer the better.
- # This is used for secure hashing in the session store.
- secret_key=Geheim!
-
- # Webserver listens on this address and port
- http_host=<%= @hue_host %>
- http_port=<%= @hue_port %>
-
- # Time zone name
- time_zone=<%= @hue_timezone %>
-
- # Enable or disable Django debug mode.
- django_debug_mode=false
-
- # Enable or disable backtrace for server error
- http_500_debug_mode=false
-
- # Enable or disable memory profiling.
- ## memory_profiler=false
-
- # Server email for internal error messages
- ## django_server_email='hue@localhost.localdomain'
-
- # Email backend
- ## django_email_backend=django.core.mail.backends.smtp.EmailBackend
-
- # Webserver runs as this user
- ## server_user=hue
- ## server_group=hue
-
- # This should be the Hue admin and proxy user
- ## default_user=hue
-
- # This should be the hadoop cluster admin
- default_hdfs_superuser=<%= @default_hdfs_superuser %>
-
- # If set to false, runcpserver will not actually start the web server.
- # Used if Apache is being used as a WSGI container.
- ## enable_server=yes
-
- # Number of threads used by the CherryPy web server
- ## cherrypy_server_threads=10
-
- # Filename of SSL Certificate
- <%if @huecert %>
- ssl_certificate=<%= @huecert %>
- <% end -%>
-
- # Filename of SSL RSA Private Key
- <%if @huekey %>
- ssl_private_key=<%= @huekey %>
- <% end -%>
-
- # List of allowed and disallowed ciphers in cipher list format.
- # See http://www.openssl.org/docs/apps/ciphers.html for more information on cipher list format.
- ## ssl_cipher_list=DEFAULT:!aNULL:!eNULL:!LOW:!EXPORT:!SSLv2
-
- # LDAP username and password of the hue user used for LDAP authentications.
- # Set it to use LDAP Authentication with HiveServer2 and Impala.
- ## ldap_username=hue
- ## ldap_password=
-
- # Default encoding for site data
- ## default_site_encoding=utf-8
-
- # Help improve Hue with anonymous usage analytics.
- # Use Google Analytics to see how many times an application or specific section of an application is used, nothing more.
- collect_usage=false
-
- # Support for HTTPS termination at the load-balancer level with SECURE_PROXY_SSL_HEADER.
- ## secure_proxy_ssl_header=false
-
- # Comma-separated list of Django middleware classes to use.
- # See https://docs.djangoproject.com/en/1.4/ref/middleware/ for more details on middlewares in Django.
- ## middleware=desktop.auth.backend.LdapSynchronizationBackend
-
- # Comma-separated list of regular expressions, which match the redirect URL.
- # For example, to restrict to your local domain and FQDN, the following value can be used:
- # ^\/.*$,^http:\/\/www.mydomain.com\/.*$
- ## redirect_whitelist=
-
- # Comma separated list of apps to not load at server startup.
- # e.g.: pig,zookeeper
- app_blacklist=<%= @app_blacklist %>
-
- # The directory where to store the auditing logs. Auditing is disable if the value is empty.
- # e.g. /var/log/hue/audit.log
- ## audit_event_log_dir=
-
- # Size in KB/MB/GB for audit log to rollover.
- ## audit_log_max_file_size=100MB
-
- # Administrators
- # ----------------
- [[django_admins]]
- ## [[[admin1]]]
- ## name=john
- ## email=john@doe.com
-
- # UI customizations
- # -------------------
- [[custom]]
-
- # Top banner HTML code
- # e.g. <H2>Test Lab A2 Hue Services</H2>
- ## banner_top_html=
-
- # Configuration options for user authentication into the web application
- # ------------------------------------------------------------------------
- [[auth]]
-
- # Authentication backend. Common settings are:
- # - django.contrib.auth.backends.ModelBackend (entirely Django backend)
- # - desktop.auth.backend.AllowAllBackend (allows everyone)
- # - desktop.auth.backend.AllowFirstUserDjangoBackend
- # (Default. Relies on Django and user manager, after the first login)
- # - desktop.auth.backend.LdapBackend
- # - desktop.auth.backend.PamBackend
- # - desktop.auth.backend.SpnegoDjangoBackend
- # - desktop.auth.backend.RemoteUserDjangoBackend
- # - libsaml.backend.SAML2Backend
- # - libopenid.backend.OpenIDBackend
- # - liboauth.backend.OAuthBackend
- # (Support Twitter, Facebook, Google+ and Linkedin
- backend=<%= @auth_backend %>
-
- # The service to use when querying PAM.
- #pam_service=login
-
- # When using the desktop.auth.backend.RemoteUserDjangoBackend, this sets
- # the normalized name of the header that contains the remote user.
- # The HTTP header in the request is converted to a key by converting
- # all characters to uppercase, replacing any hyphens with underscores
- # and adding an HTTP_ prefix to the name. So, for example, if the header
- # is called Remote-User that would be configured as HTTP_REMOTE_USER
- #
- # Defaults to HTTP_REMOTE_USER
- ## remote_user_header=HTTP_REMOTE_USER
-
- # Ignore the case of usernames when searching for existing users.
- # Only supported in remoteUserDjangoBackend.
- ## ignore_username_case=false
-
- # Ignore the case of usernames when searching for existing users to authenticate with.
- # Only supported in remoteUserDjangoBackend.
- ## force_username_lowercase=false
-
- # Users will expire after they have not logged in for 'n' amount of seconds.
- # A negative number means that users will never expire.
- ## expires_after=-1
-
- # Apply 'expires_after' to superusers.
- ## expire_superusers=true
-
- # Configuration options for connecting to LDAP and Active Directory
- # -------------------------------------------------------------------
- [[ldap]]
-
-<% if @ldap_url %>
- # The search base for finding users and groups
- base_dn="<%= @base_dn %>"
-
-<% if @nt_domain -%>
- # The NT domain to connect to (only for use with Active Directory)
- nt_domain=<%= @nt_domain %>
-<% end -%>
-
- # URL of the LDAP server
- ldap_url=<%= @ldap_url %>
-
- # A PEM-format file containing certificates for the CA's that
- # Hue will trust for authentication over TLS.
- # The certificate for the CA that signed the
- # LDAP server certificate must be included among these certificates.
- # See more here http://www.openldap.org/doc/admin24/tls.html.
-<% if @ldap_cert -%>
- ldap_cert=<%= @ldap_cert %>
-<% end -%>
- use_start_tls=<%= @use_start_tls %>
-
- # Distinguished name of the user to bind as -- not necessary if the LDAP server
- # supports anonymous searches
-<% if @bind_dn -%>
- # Distinguished name of the user to bind as -- not necessary if the LDAP server
- # supports anonymous searches
- bind_dn="<%= @bind_dn %>"
-
- # Password of the bind user -- not necessary if the LDAP server supports
- # anonymous searches
- bind_password=<%= @bind_password %>
-<% end -%>
-
-<% if @user_filter -%>
- # Use search bind authentication.
- search_bind_authentication=true
-<% else -%>
- # Pattern for searching for usernames -- Use <username> for the parameter
- # For use when using LdapBackend for Hue authentication
-
-<% if @use_ldap_username_pattern -%>
- # for example, ldap_username_pattern=uid=<username>,ou=People,dc=mycompany,dc=com
- ldap_username_pattern="<%= @ldap_username_pattern %>"
-<% end -%>
-
- search_bind_authentication=false
-<% end -%>
- # Execute this script to produce the bind user password. This will be used
- # when `bind_password` is not set.
- ## bind_password_script=
-
- # Create users in Hue when they try to login with their LDAP credentials
- # For use when using LdapBackend for Hue authentication
- create_users_on_login = true
-
- # Synchronize a users groups when they login
- ## sync_groups_on_login=false
-
- # Ignore the case of usernames when searching for existing users in Hue.
- ignore_username_case=true
-
- # Force usernames to lowercase when creating new users from LDAP.
- force_username_lowercase=<%= @force_username_lowercase %>
-
- # Choose which kind of subgrouping to use: nested or suboordinate (deprecated).
- ## subgroups=suboordinate
-
- # Define the number of levels to search for nested members.
- ## nested_members_search_depth=10
-
- # Whether or not to follow referrals
- ## follow_referrals=false
-
- # Enable python-ldap debugging.
- ## debug=false
-
- # Sets the debug level within the underlying LDAP C lib.
- ## debug_level=255
-
- # Possible values for trace_level are 0 for no logging, 1 for only logging the method calls with arguments,
- # 2 for logging the method calls with arguments and the complete results and 9 for also logging the traceback of method calls.
- ## trace_level=0
-
- [[[users]]]
-<% if @user_filter -%>
- # Base filter for searching for users
- user_filter="<%= @user_filter %>"
-<% end -%>
-<% if @user_name_attr -%>
- # The username attribute in the LDAP schema
- user_name_attr=<%= @user_name_attr %>
-<% end -%>
- [[[groups]]]
-
- # Base filter for searching for groups
-<% if @group_filter -%>
- group_filter="<%= @group_filter_value %>"
-<% end -%>
-
- # The group name attribute in the LDAP schema
- ## group_name_attr=cn
-
- # The attribute of the group object which identifies the members of the group
-<% if @group_member_attr -%>
- group_member_attr=<%= @group_member_attr %>
-<% end -%>
-<% end -%>
-
- # Configuration options for specifying the Desktop Database. For more info,
- # see http://docs.djangoproject.com/en/1.4/ref/settings/#database-engine
- # ------------------------------------------------------------------------
- [[database]]
- engine=sqlite3
- name=/var/lib/hue/desktop.db
- # Database engine is typically one of:
- # postgresql_psycopg2, mysql, sqlite3 or oracle.
- #
- # Note that for sqlite3, 'name', below is a path to the filename. For other backends, it is the database name.
- # Note for Oracle, options={'threaded':true} must be set in order to avoid crashes.
- # Note for Oracle, you can use the Oracle Service Name by setting "port=0" and then "name=<host>:<port>/<service_name>".
- ## engine=sqlite3
- ## host=
- ## port=
- ## user=
- ## password=
- ## name=desktop/desktop.db
- ## options={}
-
- # Configuration options for specifying the Desktop session.
- # For more info, see https://docs.djangoproject.com/en/1.4/topics/http/sessions/
- # ------------------------------------------------------------------------
- [[session]]
- # The cookie containing the users' session ID will expire after this amount of time in seconds.
- # Default is 2 weeks.
- ## ttl=1209600
-
- # The cookie containing the users' session ID will be secure.
- # Should only be enabled with HTTPS.
- ## secure=false
-
- # The cookie containing the users' session ID will use the HTTP only flag.
- ## http_only=false
-
- # Use session-length cookies. Logs out the user when she closes the browser window.
- ## expire_at_browser_close=false
-
-
- # Configuration options for connecting to an external SMTP server
- # ------------------------------------------------------------------------
- [[smtp]]
-
- # The SMTP server information for email notification delivery
- host=localhost
- port=25
- user=
- password=
-
- # Whether to use a TLS (secure) connection when talking to the SMTP server
- tls=no
-
- # Default email address to use for various automated notification from Hue
- ## default_from_email=hue@localhost
-
-<% if @kerberos_realm != "" -%>
- # Configuration options for Kerberos integration for secured Hadoop clusters
- # ------------------------------------------------------------------------
- [[kerberos]]
-
- # Path to Hue's Kerberos keytab file
- hue_keytab=/etc/hue.keytab
- # Kerberos principal name for Hue
- hue_principal=hue/<%= @fqdn %>@<%= @kerberos_realm %>
- # Path to kinit
- kinit_path=<%= (@operatingsystem == 'ubuntu' || @operatingsystem == 'Debian' || @operatingsystem == 'CentOS' ) ? '/usr/bin' : '/usr/kerberos/bin' %>/kinit
-
-<% end -%>
- # Configuration options for using OAuthBackend (core) login
- # ------------------------------------------------------------------------
- [[oauth]]
- # The Consumer key of the application
- ## consumer_key=XXXXXXXXXXXXXXXXXXXXX
-
- # The Consumer secret of the application
- ## consumer_secret=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-
- # The Request token URL
- ## request_token_url=https://api.twitter.com/oauth/request_token
-
- # The Access token URL
- ## access_token_url=https://api.twitter.com/oauth/access_token
-
- # The Authorize URL
- ## authenticate_url=https://api.twitter.com/oauth/authorize
-
-
-###########################################################################
-# Settings to configure SAML
-###########################################################################
-
-[libsaml]
- # Xmlsec1 binary path. This program should be executable by the user running Hue.
- ## xmlsec_binary=/usr/local/bin/xmlsec1
-
- # Entity ID for Hue acting as service provider.
- # Can also accept a pattern where '<base_url>' will be replaced with server URL base.
- ## entity_id="<base_url>/saml2/metadata/"
-
- # Create users from SSO on login.
- ## create_users_on_login=true
-
- # Required attributes to ask for from IdP.
- # This requires a comma separated list.
- ## required_attributes=uid
-
- # Optional attributes to ask for from IdP.
- # This requires a comma separated list.
- ## optional_attributes=
-
- # IdP metadata in the form of a file. This is generally an XML file containing metadata that the Identity Provider generates.
- ## metadata_file=
-
- # Private key to encrypt metadata with.
- ## key_file=
-
- # Signed certificate to send along with encrypted metadata.
- ## cert_file=
-
- # A mapping from attributes in the response from the IdP to django user attributes.
- ## user_attribute_mapping={'uid':'username'}
-
- # Have Hue initiated authn requests be signed and provide a certificate.
- ## authn_requests_signed=false
-
- # Have Hue initiated logout requests be signed and provide a certificate.
- ## logout_requests_signed=false
-
- ## Username can be sourced from 'attributes' or 'nameid'.
- ## username_source=attributes
-
- # Performs the logout or not.
- ## logout_enabled=true
-
-
-###########################################################################
-# Settings to configure OPENID
-###########################################################################
-
-[libopenid]
- # (Required) OpenId SSO endpoint url.
- ## server_endpoint_url=https://www.google.com/accounts/o8/id
-
- # OpenId 1.1 identity url prefix to be used instead of SSO endpoint url
- # This is only supported if you are using an OpenId 1.1 endpoint
- ## identity_url_prefix=https://app.onelogin.com/openid/your_company.com/
-
- # Create users from OPENID on login.
- ## create_users_on_login=true
-
- # Use email for username
- ## use_email_for_username=true
-
-
-###########################################################################
-# Settings to configure OAuth
-###########################################################################
-
-[liboauth]
- # NOTE:
- # To work, each of the active (i.e. uncommented) service must have
- # applications created on the social network.
- # Then the "consumer key" and "consumer secret" must be provided here.
- #
- # The addresses where to do so are:
- # Twitter: https://dev.twitter.com/apps
- # Google+ : https://cloud.google.com/
- # Facebook: https://developers.facebook.com/apps
- # Linkedin: https://www.linkedin.com/secure/developer
- #
- # Additionnaly, the following must be set in the application settings:
- # Twitter: Callback URL (aka Redirect URL) must be set to http://YOUR_HUE_IP_OR_DOMAIN_NAME/oauth/social_login/oauth_authenticated
- # Google+ : CONSENT SCREEN must have email address
- # Facebook: Sandbox Mode must be DISABLED
- # Linkedin: "In OAuth User Agreement", r_emailaddress is REQUIRED
-
- # The Consumer key of the application
- ## consumer_key_twitter=
- ## consumer_key_google=
- ## consumer_key_facebook=
- ## consumer_key_linkedin=
-
- # The Consumer secret of the application
- ## consumer_secret_twitter=
- ## consumer_secret_google=
- ## consumer_secret_facebook=
- ## consumer_secret_linkedin=
-
- # The Request token URL
- ## request_token_url_twitter=https://api.twitter.com/oauth/request_token
- ## request_token_url_google=https://accounts.google.com/o/oauth2/auth
- ## request_token_url_linkedin=https://www.linkedin.com/uas/oauth2/authorization
- ## request_token_url_facebook=https://graph.facebook.com/oauth/authorize
-
- # The Access token URL
- ## access_token_url_twitter=https://api.twitter.com/oauth/access_token
- ## access_token_url_google=https://accounts.google.com/o/oauth2/token
- ## access_token_url_facebook=https://graph.facebook.com/oauth/access_token
- ## access_token_url_linkedin=https://api.linkedin.com/uas/oauth2/accessToken
-
- # The Authenticate URL
- ## authenticate_url_twitter=https://api.twitter.com/oauth/authorize
- ## authenticate_url_google=https://www.googleapis.com/oauth2/v1/userinfo?access_token=
- ## authenticate_url_facebook=https://graph.facebook.com/me?access_token=
- ## authenticate_url_linkedin=https://api.linkedin.com/v1/people/~:(email-address)?format=json&oauth2_access_token=
-
- # Username Map. Json Hash format.
- # Replaces username parts in order to simplify usernames obtained
- # Example: {"@sub1.domain.com":"_S1", "@sub2.domain.com":"_S2"}
- # converts 'email@sub1.domain.com' to 'email_S1'
- ## username_map={}
-
- # Whitelisted domains (only applies to Google OAuth). CSV format.
- ## whitelisted_domains_google=
-
-###########################################################################
-# Settings for the RDBMS application
-###########################################################################
-
-[librdbms]
- # The RDBMS app can have any number of databases configured in the databases
- # section. A database is known by its section name
- # (IE sqlite, mysql, psql, and oracle in the list below).
-
- [[databases]]
- # sqlite configuration.
- ## [[[sqlite]]]
- # Name to show in the UI.
- ## nice_name=SQLite
-
- # For SQLite, name defines the path to the database.
- ## name=/tmp/sqlite.db
-
- # Database backend to use.
- ## engine=sqlite
-
- # Database options to send to the server when connecting.
- # https://docs.djangoproject.com/en/1.4/ref/databases/
- ## options={}
-
- # mysql, oracle, or postgresql configuration.
- ## [[[mysql]]]
- # Name to show in the UI.
- ## nice_name="My SQL DB"
-
- # For MySQL and PostgreSQL, name is the name of the database.
- # For Oracle, Name is instance of the Oracle server. For express edition
- # this is 'xe' by default.
- ## name=mysqldb
-
- # Database backend to use. This can be:
- # 1. mysql
- # 2. postgresql
- # 3. oracle
- ## engine=mysql
-
- # IP or hostname of the database to connect to.
- ## host=localhost
-
- # Port the database server is listening to. Defaults are:
- # 1. MySQL: 3306
- # 2. PostgreSQL: 5432
- # 3. Oracle Express Edition: 1521
- ## port=3306
-
- # Username to authenticate with when connecting to the database.
- ## user=example
-
- # Password matching the username to authenticate with when
- # connecting to the database.
- ## password=example
-
- # Database options to send to the server when connecting.
- # https://docs.djangoproject.com/en/1.4/ref/databases/
- ## options={}
-
-###########################################################################
-# Settings to configure your Hadoop cluster.
-###########################################################################
-
-[hadoop]
-
- # Configuration for HDFS NameNode
- # ------------------------------------------------------------------------
- [[hdfs_clusters]]
- # HA support by using HttpFs
-
- [[[default]]]
- # Enter the filesystem uri
- fs_defaultfs=<%= @default_fs %>
-
- # NameNode logical name.
- ## logical_name=
-
- # Use WebHdfs/HttpFs as the communication mechanism.
- # Domain should be the NameNode or HttpFs host.
- # Default port is 14000 for HttpFs.
- webhdfs_url=<%= @webhdfs_url %>
-
- # Change this if your HDFS cluster is Kerberos-secured
- security_enabled=<%= if (@kerberos_realm != "") ; "true" else "false" end %>
-
- # Default umask for file and directory creation, specified in an octal value.
- ## umask=022
-
- # Configuration for YARN (MR2)
- # ------------------------------------------------------------------------
- [[yarn_clusters]]
-<% resourcemanager_hosts = Array(@rm_host) -%>
-<% resourcemanager_hosts.each do |host| -%>
- [[[<%= host %>]]]
- # Enter the host on which you are running the ResourceManager
- resourcemanager_host=<%= host %>
-
- # The port where the ResourceManager IPC listens on
- # resourcemanager_port=<% rm_port %>
-
- # Whether to submit jobs to this cluster
- submit_to=True
-<% if @rm_logical_name -%>
- # Resource Manager logical name (required for HA)
- logical_name=<%= @rm_logical_name %>
-<% else -%>
- # Resource Manager logical name (required for HA)
- # logical_name=
-<% end -%>
-
- # Change this if your YARN cluster is Kerberos-secured
- security_enabled=<%= if (@kerberos_realm != "") ; "true" else "false" end %>
-
- # URL of the ResourceManager API
- resourcemanager_api_url=http://<%= host %>:<%= @rm_api_port %>
-
- # URL of the ProxyServer API
- proxy_api_url=<%= @rm_proxy_url %>
-
- # URL of the HistoryServer API
- history_server_api_url=<%= @history_server_url %>
-
- # URL of the NodeManager API
- node_manager_api_url=http://localhost:8042
-<% end -%>
-
- # Configuration for MapReduce (MR1)
- # ------------------------------------------------------------------------
-
-###########################################################################
-# Settings to configure the Filebrowser app
-###########################################################################
-
-[filebrowser]
- # Location on local filesystem where the uploaded archives are temporary stored.
- ## archive_upload_tempdir=/tmp
-
-###########################################################################
-# Settings to configure liboozie
-###########################################################################
-
-[liboozie]
- # The URL where the Oozie service runs on. This is required in order for
- # users to submit jobs.
- oozie_url=<%= @oozie_url %>
-
- security_enabled=<%= if (@kerberos_realm != "") ; "true" else "false" end %>
-
- # Location on HDFS where the workflows/coordinator are deployed when submitted.
- remote_deployement_dir=<%= @remote_deployement_dir %>
-
-
-###########################################################################
-# Settings to configure the Oozie app
-###########################################################################
-
-[oozie]
- # Location on local FS where the examples are stored.
- ## local_data_dir=..../examples
-
- # Location on local FS where the data for the examples is stored.
- ## sample_data_dir=...thirdparty/sample_data
-
- # Location on HDFS where the oozie examples and workflows are stored.
- ## remote_data_dir=/user/hue/oozie/workspaces
-
- # Maximum of Oozie workflows or coodinators to retrieve in one API call.
- ## oozie_jobs_count=100
-
- # Use Cron format for defining the frequency of a Coordinator instead of the old frequency number/unit.
- ## enable_cron_scheduling=true
-
-
-###########################################################################
-# Settings to configure Beeswax with Hive
-###########################################################################
-
-[beeswax]
-
-<% if @hive_host -%>
- # Host where HiveServer2 is running.
- # If Kerberos security is enabled, use fully-qualified domain name (FQDN).
- hive_server_host=<%= @hive_host %>
-
- # Port where HiveServer2 Thrift server runs on.
- hive_server_port=<%= @hive_port %>
-
- # Hive configuration directory, where hive-site.xml is located
- hive_conf_dir=/etc/hive/conf
-
- # Timeout in seconds for thrift calls to Hive service
- ## server_conn_timeout=120
-
- # Choose whether Hue uses the GetLog() thrift call to retrieve Hive logs.
- # If false, Hue will use the FetchResults() thrift call instead.
- use_get_log_api=false
-
- # Set a LIMIT clause when browsing a partitioned table.
- # A positive value will be set as the LIMIT. If 0 or negative, do not set any limit.
- ## browse_partitioned_table_limit=250
-
- # A limit to the number of rows that can be downloaded from a query.
- # A value of -1 means there will be no limit.
- # A maximum of 65,000 is applied to XLS downloads.
- ## download_row_limit=1000000
-
- # Hue will try to close the Hive query when the user leaves the editor page.
- # This will free all the query resources in HiveServer2, but also make its results inaccessible.
- ## close_queries=false
-
- # Thrift version to use when communicating with HiveServer2
- ## thrift_version=5
-
- [[ssl]]
- # SSL communication enabled for this server.
- ## enabled=false
-
- # Path to Certificate Authority certificates.
- ## cacerts=/etc/hue/cacerts.pem
-
- # Path to the private key file.
- ## key=/etc/hue/key.pem
-
- # Path to the public certificate file.
- ## cert=/etc/hue/cert.pem
-
- # Choose whether Hue should validate certificates received from the server.
- ## validate=true
-<% end -%>
-
-###########################################################################
-# Settings to configure Pig
-###########################################################################
-
-[pig]
- # Location of piggybank.jar on local filesystem.
- ## local_sample_dir=/usr/share/hue/apps/pig/examples
-
- # Location piggybank.jar will be copied to in HDFS.
- ## remote_data_dir=/user/hue/pig/examples
-
-
-###########################################################################
-# Settings to configure Sqoop
-###########################################################################
-
-[sqoop]
- # For autocompletion, fill out the librdbms section.
-
- # Sqoop server URL
-<% if @sqoop2_url != "" -%>
- server_url=<%= @sqoop2_url %>
-<% end -%>
-
-###########################################################################
-# Settings to configure Proxy
-###########################################################################
-
-[proxy]
- # Comma-separated list of regular expressions,
- # which match 'host:port' of requested proxy target.
- ## whitelist=(localhost|127\.0\.0\.1):(50030|50070|50060|50075)
-
- # Comma-separated list of regular expressions,
- # which match any prefix of 'host:port/path' of requested proxy target.
- # This does not support matching GET parameters.
- ## blacklist=
-
-
-###########################################################################
-# Settings to configure Impala
-###########################################################################
-
-[impala]
- # Host of the Impala Server (one of the Impalad)
- ## server_host=localhost
-
- # Port of the Impala Server
- ## server_port=21050
-
- # Kerberos principal
- ## impala_principal=impala/hostname.foo.com
-
- # Turn on/off impersonation mechanism when talking to Impala
- ## impersonation_enabled=False
-
- # Number of initial rows of a result set to ask Impala to cache in order
- # to support re-fetching them for downloading them.
- # Set to 0 for disabling the option and backward compatibility.
- ## querycache_rows=50000
-
- # Timeout in seconds for thrift calls
- ## server_conn_timeout=120
-
- # Hue will try to close the Impala query when the user leaves the editor page.
- # This will free all the query resources in Impala, but also make its results inaccessible.
- ## close_queries=true
-
- # If QUERY_TIMEOUT_S > 0, the query will be timed out (i.e. cancelled) if Impala does not do any work
- # (compute or send back results) for that query within QUERY_TIMEOUT_S seconds.
- ## query_timeout_s=600
-
-
-###########################################################################
-# Settings to configure HBase Browser
-###########################################################################
-
-[hbase]
- # Comma-separated list of HBase Thrift servers for clusters in the format of '(name|host:port)'.
- # Use full hostname with security.
-<% if @hbase_thrift_url != "" -%>
- hbase_clusters=(Bigtop|<%= @hbase_thrift_url %>)
-<% else -%>
- ## hbase_clusters=(Cluster|localhost:9090)
-<% end -%>
- # HBase configuration directory, where hbase-site.xml is located.
- ## hbase_conf_dir=/etc/hbase/conf
-
- # Hard limit of rows or columns per row fetched before truncating.
- ## truncate_limit = 500
-
- # 'buffered' is the default of the HBase Thrift Server and supports security.
- # 'framed' can be used to chunk up responses,
- # which is useful when used in conjunction with the nonblocking server in Thrift.
- ## thrift_transport=buffered
-
-
-###########################################################################
-# Settings to configure Solr Search
-###########################################################################
-
-[search]
-
- # URL of the Solr Server
-<% if @solr_url != "" -%>
- solr_url=<%= @solr_url %>
-<% end -%>
- # Requires FQDN in solr_url if enabled
- ## security_enabled=false
-
- ## Query sent when no term is entered
- ## empty_query=*:*
-
-
-###########################################################################
-# Settings to configure Solr Indexer
-###########################################################################
-
-[indexer]
-
- # Location of the solrctl binary.
- ## solrctl_path=/usr/bin/solrctl
-
- # Location of the solr home.
- ## solr_home=/usr/lib/solr
-
- # Zookeeper ensemble.
- ## solr_zk_ensemble=localhost:2181/solr
-
- # The contents of this directory will be copied over to the solrctl host to its temporary directory.
- ## config_template_path=/../hue/desktop/libs/indexer/src/data/solr_configs
-
-
-###########################################################################
-# Settings to configure Job Designer
-###########################################################################
-
-[jobsub]
-
- # Location on local FS where examples and template are stored.
- ## local_data_dir=..../data
-
- # Location on local FS where sample data is stored
- ## sample_data_dir=...thirdparty/sample_data
-
-
-###########################################################################
-# Settings to configure Job Browser.
-###########################################################################
-
-[jobbrowser]
- # Share submitted jobs information with all users. If set to false,
- # submitted jobs are visible only to the owner and administrators.
- ## share_jobs=true
-
-
-###########################################################################
-# Settings to configure the Zookeeper application.
-###########################################################################
-
-[zookeeper]
-
- [[clusters]]
-
- [[[default]]]
- # Zookeeper ensemble. Comma separated list of Host/Port.
- # e.g. localhost:2181,localhost:2182,localhost:2183
- host_ports=<%= @zookeeper_host_port %>
-
- # The URL of the REST contrib service (required for znode browsing)
- rest_url=http://localhost:9998
-
-
-###########################################################################
-# Settings to configure the Spark application.
-###########################################################################
-
-[spark]
- # URL of the REST Spark Job Server.
- ## server_url=http://localhost:8090/
-
-
-###########################################################################
-# Settings for the User Admin application
-###########################################################################
-
-[useradmin]
- # The name of the default user group that users will be a member of
- ## default_user_group=default
-
-
-###########################################################################
-# Settings for the Sentry lib
-###########################################################################
-
-[libsentry]
- # Hostname or IP of server.
- ## hostname=localhost
-
- # Port the sentry service is running on.
- ## port=8038
-
- # Sentry configuration directory, where sentry-site.xml is located.
- ## sentry_conf_dir=/etc/sentry/conf
+++ /dev/null
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-hue::server { "test-hue-server":
- sqoop2_url => "http://localhost:12000/sqoop",
- solr_url => "http://localhost:8983/solr/",
- hbase_thrift_url => "localhost:9090",
- webhdfs_url => "http://localhost:14000/webhdfs/v1",
- rm_host => "localhost",
- rm_port => "8032",
- oozie_url => "http://localhost:11000/oozie",
-}
mv $HADOOP_ETC_DIR/conf.empty/httpfs* $HTTPFS_ETC_DIR/conf.empty
sed -i -e '/<\/configuration>/i\
- <!-- HUE proxy user setting -->\
- <property>\
- <name>httpfs.proxyuser.hue.hosts</name>\
- <value>*</value>\
- </property>\
- <property>\
- <name>httpfs.proxyuser.hue.groups</name>\
- <value>*</value>\
- </property>\
-\
<property>\
<name>httpfs.hadoop.config.dir</name>\
<value>/etc/hadoop/conf</value>\
+++ /dev/null
-#!/bin/bash
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-set -ex
-. `dirname $0`/bigtop.bom
-
-
-rm -rf desktop/core/ext-py/pyopenssl desktop/core/ext-py/cryptography-1.3.1
-wget https://github.com/pyca/cryptography/archive/1.8.2.tar.gz
-tar -xz -C desktop/core/ext-py/ -f 1.8.2.tar.gz
-rm -f 1.8.2.tar.gz
-wget https://pypi.python.org/packages/3b/15/a5d90ab1a41075e8f0fae334f13452549528f82142b3b9d0c9d86ab7178c/pyOpenSSL-17.5.0.tar.gz
-tar -xz -C desktop/core/ext-py/ -f pyOpenSSL-17.5.0.tar.gz
-rm -f pyOpenSSL-17.5.0.tar.gz
-wget https://pypi.python.org/packages/c6/70/bb32913de251017e266c5114d0a645f262fb10ebc9bf6de894966d124e35/packaging-16.8.tar.gz
-tar -xz -C desktop/core/ext-py/ -f packaging-16.8.tar.gz
-rm -f packaging-16.8.tar.gz
-
-#FIXME: this needs to be fixed upstream
-sed -i -e "s#${FULL_VERSION}-SNAPSHOT#${FULL_VERSION}#g" `grep -lR ${FULL_VERSION}-SNAPSHOT .`
-export PATH=$PATH:/usr/lib/mit/bin
-
-make MAVEN_VERSION=${HUE_VERSION} apps docs locales
-
-# Make the entire tree relocatable
-bash tools/relocatable.sh
+++ /dev/null
-#!/bin/bash
-
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-set -e
-
-usage() {
- echo "
-usage: $0 <options>
- Required not-so-options:
- --build-dir=DIR path to Hue dist.dir
- --prefix=PREFIX path to install into
-
- Optional options:
- --doc-dir=DIR path to install docs into [/usr/share/doc/hue]
- --lib-dir=DIR path to install Hue home [/usr/lib/hue]
- --installed-lib-dir=DIR path where lib-dir will end up on target system
- --bin-dir=DIR path to install bins [/usr/bin]
- ... [ see source for more similar options ]
- "
- exit 1
-}
-
-OPTS=$(getopt \
- -n $0 \
- -o '' \
- -l 'prefix:' \
- -l 'doc-dir:' \
- -l 'lib-dir:' \
- -l 'installed-lib-dir:' \
- -l 'bin-dir:' \
- -l 'build-dir:' -- "$@")
-
-if [ $? != 0 ] ; then
- usage
-fi
-
-eval set -- "$OPTS"
-while true ; do
- case "$1" in
- --prefix)
- PREFIX=$2 ; shift 2
- ;;
- --build-dir)
- BUILD_DIR=$2 ; shift 2
- ;;
- --doc-dir)
- DOC_DIR=$2 ; shift 2
- ;;
- --lib-dir)
- LIB_DIR=$2 ; shift 2
- ;;
- --installed-lib-dir)
- INSTALLED_LIB_DIR=$2 ; shift 2
- ;;
- --bin-dir)
- BIN_DIR=$2 ; shift 2
- ;;
- --)
- shift ; break
- ;;
- *)
- echo "Unknown option: $1"
- usage
- exit 1
- ;;
- esac
-done
-
-for var in PREFIX BUILD_DIR ; do
- if [ -z "$(eval "echo \$$var")" ]; then
- echo Missing param: $var
- usage
- fi
-done
-
-PREFIX=`echo $PREFIX | sed -e 's#/*$##'`
-BUILD_DIR=`echo $BUILD_DIR | sed -e 's#/*$##'`
-
-DOC_DIR=${DOC_DIR:-/usr/share/doc/hue}
-CONF_DIR=${CONF_DIR:-/etc/hue}
-LIB_DIR=${LIB_DIR:-/usr/lib/hue}
-VAR_DIR=${VAR_DIR:-/var/lib/hue}
-LOG_DIR=${LOG_DIR:-/var/log/hue}
-HADOOP_DIR=${HADOOP_DIR:-/usr/lib/hadoop/lib}
-
-BUNDLED_BUILD_DIR=$PREFIX/$LIB_DIR/build
-
-# Install all the files
-(cd $BUILD_DIR ; PREFIX=`dirname $PREFIX/$LIB_DIR` MAVEN_OPTIONS="-Dmaven.repo.local=${PWD}/.m2/repository" make install MAVEN_VERSION='$(DESKTOP_VERSION)')
-
-# Install plugins
-install -d -m 0755 $PREFIX/$HADOOP_DIR
-ln -fs $LIB_DIR/desktop/libs/hadoop/java-lib/*plugin*jar $PREFIX/$HADOOP_DIR
-
-# Making the resulting tree relocatable
-# WARNING: We HAVE to run this twice, before and after the apps get registered.
-# we have to run it one time before so that the path to the interpreter
-# inside of $PREFIX/$LIB_DIR/build/env/bin/hue gets relativized. If we
-# don't relativize it we run into a risk of breaking the build when the
-# length of the path to the interpreter ends up being longer than 80
-# character (which is the limit for #!)
-(cd $PREFIX/$LIB_DIR ; bash tools/relocatable.sh)
-
-# remove RECORD files since it contains "real" paths confusing rpmbuild
-(cd $PREFIX/$LIB_DIR ; rm -f build/env/lib/python*/site-packages/*.dist-info/RECORD)
-(cd $PREFIX/$LIB_DIR ; rm -f build/env/lib/python*/dist-packages/*.dist-info/RECORD)
-
-# Remove Hue database and then recreate it, but with just the "right" apps
-rm -f $PREFIX/$LIB_DIR/desktop/desktop.db $PREFIX/$LIB_DIR/app.reg
-APPS="about filebrowser help proxy useradmin jobbrowser jobsub oozie metastore"
-export DESKTOP_LOG_DIR=$BUILD_DIR
-export DESKTOP_LOGLEVEL=WARN
-export ROOT=$PREFIX/$LIB_DIR
-for app in $APPS ; do
- (cd $PREFIX/$LIB_DIR ; ./build/env/bin/python tools/app_reg/app_reg.py --install apps/$app)
-done
-find $PREFIX/$LIB_DIR -iname \*.py[co] -exec rm -f {} \;
-
-# Making the resulting tree relocatable for the second time
-(cd $PREFIX/$LIB_DIR ; bash tools/relocatable.sh)
-
-# Install conf files
-install -d -m 0755 $PREFIX/$CONF_DIR
-cp -r ${BUILD_DIR}/desktop/conf.dist $PREFIX/${CONF_DIR}/conf.empty
-rm -rf $PREFIX/$LIB_DIR/desktop/conf
-ln -fs $CONF_DIR/conf $PREFIX/$LIB_DIR/desktop/conf
-sed -i -e '/\[\[database\]\]/a\
- engine=sqlite3\
- name=/var/lib/hue/desktop.db' $PREFIX/${CONF_DIR}/conf.empty/hue.ini
-sed -i -e '/\[\[yarn_clusters\]\]/,+20s@## submit_to=False@submit_to=True@' \
- $PREFIX/${CONF_DIR}/conf.empty/hue.ini
-
-# Relink logs subdirectory just in case
-install -d -m 0755 $PREFIX/$LOG_DIR
-rm -rf $PREFIX/$LIB_DIR/desktop/logs
-ln -s $LOG_DIR $PREFIX/$LIB_DIR/desktop/logs
-# remove the logs in build progress
-rm -rf $PREFIX/$LIB_DIR/apps/logs/*
-
-# Make binary scripts executables
-chmod 755 $BUNDLED_BUILD_DIR/env/bin/*
-
-# Preparing filtering command
-SED_FILT="-e s|$PREFIX|| -e s|$BUILD_DIR|$LIB_DIR|"
-
-# Fix broken symlinks
-for sm in $BUNDLED_BUILD_DIR/env/lib*; do
- if [ -h ${sm} ] ; then
- SM_ORIG_DEST_FILE=`ls -l "${sm}" | sed -e 's/.*-> //' `
- SM_DEST_FILE=`echo $SM_ORIG_DEST_FILE | sed $SED_FILT`
-
- rm ${sm}
- ln -s ${SM_DEST_FILE} ${sm}
- fi
-done
-
-# Fix broken python scripts
-ALL_PTH_BORKED=`find $PREFIX -iname "*.pth"`
-ALL_REG_BORKED=`find $PREFIX -iname "app.reg"`
-ALL_PYTHON_BORKED=`find $PREFIX -iname "*.egg-link"`
-HUE_BIN_SCRIPTS=$BUNDLED_BUILD_DIR/env/bin/*
-HUE_EGG_SCRIPTS=$BUNDLED_BUILD_DIR/env/lib*/python*/site-packages/*/EGG-INFO/scripts/*
-for file in $HUE_BIN_SCRIPTS $HUE_EGG_SCRIPTS $ALL_PTH_BORKED $ALL_REG_BORKED $ALL_PYTHON_BORKED ;
-do
- if [ -f ${file} ]
- then
- sed -i $SED_FILT ${file}
- fi
-done
-
-# Remove bogus files
-rm -fv `find $PREFIX -iname "build_log.txt"`
-
-install -d ${PREFIX}/${DOC_DIR}
-cp -r ${BUILD_DIR}/build/docs/* ${PREFIX}/${DOC_DIR}/
-
-# FXIME: for Hue 3.0 the following section would need to go away (hence it is kept at the bottom)
-
-# Move desktop.db to a var location
-install -d -m 0755 $PREFIX/$VAR_DIR
-mv $PREFIX/$LIB_DIR/desktop/desktop.db $PREFIX/$VAR_DIR
-
-# Move hue.pth to a var location
-mv $PREFIX/$LIB_DIR/build/env/lib/python*/site-packages/hue.pth $PREFIX/$VAR_DIR
-ln -s $VAR_DIR/hue.pth `ls -d $PREFIX/$LIB_DIR/build/env/lib/python*/site-packages/`/hue.pth
-
-# Move app.reg to a var location
-mv $PREFIX/$LIB_DIR/app.reg $PREFIX/$VAR_DIR
-ln -s $VAR_DIR/app.reg $PREFIX/$LIB_DIR/app.reg
-sed -i -e '/HUE_APP_REG_DIR/s#INSTALL_ROOT#"/var/lib/hue/"#' $PREFIX/$LIB_DIR/tools/app_reg/common.py
+++ /dev/null
---- This is auto-generated
+++ /dev/null
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-Source: hue
-Section: misc
-Priority: extra
-Maintainer: Apache Bigtopr <dev@bigtop.apache.org>
-Build-Depends: debhelper (>= 7.0.50~), python2.6-dev | python2.7-dev, libxml2-dev, libxslt1-dev, zlib1g-dev, libsqlite3-dev, libldap2-dev, libsasl2-dev, libmysqlclient-dev | libmariadbclient-dev, make, python-setuptools, libkrb5-dev, libgmp3-dev, libffi-dev
-Standards-Version: 3.9.4
-Homepage: http://github.com/cloudera/hue
-
-Package: hue-common
-Architecture: any
-Depends: ${shlibs:Depends}, ${misc:Depends}, ${build:SYS-PYTHON}, libsasl2-modules-gssapi-mit, libxslt1.1, make, python (>= 2.6), libgmp10, libffi6
-Description: A browser-based desktop interface for Hadoop
- Hue is a browser-based desktop interface for interacting with Hadoop.
- It supports a file browser, job tracker interface, cluster health monitor, and more.
-
-Package: hue
-Architecture: all
-Depends: hue-common (= ${source:Version}), hue-server (= ${source:Version}), hue-beeswax (= ${source:Version}), hue-impala (= ${source:Version}), hue-pig (= ${source:Version}), hue-hbase (= ${source:Version}), hue-search (= ${source:Version}), hue-sqoop (= ${source:Version}), hue-rdbms (= ${source:Version}), hue-security (= ${source:Version}), hue-spark (= ${source:Version}), hue-zookeeper (= ${source:Version})
-Description: The hue metapackage
- Hue is a browser-based desktop interface for interacting with Hadoop.
- It supports a file browser, job tracker interface, cluster health monitor, and more.
-
-Package: hue-server
-Architecture: all
-Depends: ${misc:Depends}, hue-common (= ${source:Version})
-Description: Service Scripts for Hue
- This package provides the service scripts for Hue server.
-
-Package: hue-doc
-Architecture: all
-Description: Documentation for Hue
- This package provides the installation manual, user guide, SDK documentation, and release notes.
-
-Package: hue-beeswax
-Architecture: all
-Depends: ${misc:Depends}, python (>= 2.6), python (<< 3), make (>= 3.8), hue-common (= ${source:Version})
-Description: A UI for Hive on Hue
- Beeswax is a web interface for Hive.
- .
- It allows users to construct and run queries on Hive, manage tables,
- and import and export data.
-
-Package: hue-impala
-Architecture: all
-Depends: ${misc:Depends}, python (>= 2.6), python (<< 3), make (>= 3.8), hue-common (= ${source:Version})
-Description: A UI for Impala
- A web interface for Impala.
- .
- It allows users to construct and run Imapala jobs.
-
-
-Package: hue-pig
-Architecture: all
-Depends: ${misc:Depends}, python (>= 2.6), python (<< 3), make (>= 3.8), hue-common (= ${source:Version})
-Description: A UI for Pig on Hue
- A web interface for Pig.
- .
- It allows users to construct and run Pig jobs.
-
-Package: hue-hbase
-Architecture: all
-Depends: ${misc:Depends}, python (>= 2.6), python (<< 3), make (>= 3.8), hue-common (= ${source:Version})
-Description: A UI for HBase on Hue
- A web interface for HBase.
- .
- It allows users to run HBase queries
-
-Package: hue-sqoop
-Architecture: all
-Depends: ${misc:Depends}, python (>= 2.6), python (<< 3), make (>= 3.8), hue-common (= ${source:Version})
-Description: A UI for Sqoop on Hue
- A web interface to Sqoop.
-
-Package: hue-search
-Architecture: all
-Depends: ${misc:Depends}, python (>= 2.6), python (<< 3), make (>= 3.8), hue-common (= ${source:Version})
-Description: A UI for Search on Hue
- A web interface to Search.
- .
- It allows users to interact with Solr
-
-Package: hue-rdbms
-Architecture: all
-Depends: ${misc:Depends}, python (>= 2.6), python (<< 3), make (>= 3.8), hue-common (= ${source:Version})
-Description: A UI for RDBMS on Hue
- A web interface to RDBMS.
- .
- It allows users to interact with RDBMS
-
-Package: hue-security
-Architecture: all
-Depends: ${misc:Depends}, python (>= 2.6), python (<< 3), make (>= 3.8), hue-common (= ${source:Version})
-Description: A UI for Spark on Hue
- A web interface to roles and security.
- .
- It allows users to interact with Hive roles
-
-Package: hue-spark
-Architecture: all
-Depends: ${misc:Depends}, python (>= 2.6), python (<< 3), make (>= 3.8), hue-common (= ${source:Version})
-Description: A UI for Spark on Hue
- A web interface to Spark.
- .
- It allows users to interact with Spark
-
-Package: hue-useradmin
-Architecture: all
-Depends: ${misc:Depends}, python (>= 2.6), python (<< 3), make (>= 3.8), hue-common (= ${source:Version})
-Description: A UI for user administration
- A web interface for user administration
- .
- It allows users to administration of users
-
-Package: hue-zookeeper
-Architecture: all
-Depends: ${misc:Depends}, python (>= 2.6), python (<< 3), make (>= 3.8), hue-common (= ${source:Version})
-Description: A UI for Zookeeper on Hue
- A web interface to Zookeeper.
- .
- It allows users to interact with Zookeeper
-
+++ /dev/null
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
+++ /dev/null
-#!/bin/bash
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-set -e
-
-# summary of how this script can be called:
-# * <postinst> `configure' <most-recently-configured-version>
-# * <old-postinst> `abort-upgrade' <new version>
-# * <conflictor's-postinst> `abort-remove' `in-favour' <package>
-# <new-version>
-# * <postinst> `abort-remove'
-# * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
-# <failed-install-package> <version> `removing'
-# <conflicting-package> <version>
-# for details, see http://www.debian.org/doc/debian-policy/ or
-# the debian-policy package
-
-APP=@APP@
-export ROOT=/usr/lib/hue
-APP_DIR=$ROOT/apps/$APP
-export DESKTOP_LOGLEVEL=WARN
-export DESKTOP_LOG_DIR=/var/log/hue
-
-case "$1" in
- configure)
- (cd $ROOT; $ROOT/build/env/bin/python $ROOT/tools/app_reg/app_reg.py --remove $APP) ||:
- (cd $ROOT; $ROOT/build/env/bin/python $ROOT/tools/app_reg/app_reg.py --install $APP_DIR)
- chown -R hue:hue /var/log/hue /var/lib/hue
- ;;
-
- abort-upgrade|abort-remove|abort-deconfigure)
- ;;
-
- *)
- echo "postinst called with unknown argument \`$1'" >&2
- exit 1
- ;;
-esac
-
-# dh_installdeb will replace this with shell code automatically
-# generated by other debhelper scripts.
-
-#DEBHELPER#
-
-exit 0
+++ /dev/null
-#!/bin/bash
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-set -e
-
-# summary of how this script can be called:
-# * <prerm> `remove'
-# * <old-prerm> `upgrade' <new-version>
-# * <new-prerm> `failed-upgrade' <old-version>
-# * <conflictor's-prerm> `remove' `in-favour' <package> <new-version>
-# * <deconfigured's-prerm> `deconfigure' `in-favour'
-# <package-being-installed> <version> `removing'
-# <conflicting-package> <version>
-# for details, see http://www.debian.org/doc/debian-policy/ or
-# the debian-policy package
-
-APP=@APP@
-export ROOT=/usr/lib/hue
-APP_DIR=$ROOT/apps/$APP
-export DESKTOP_LOGLEVEL=WARN
-export DESKTOP_LOG_DIR=/var/log/hue
-env_python="$ROOT/build/env/bin/python"
-app_reg="$ROOT/tools/app_reg/app_reg.py"
-
-case "$1" in
- remove|upgrade|deconfigure)
- if test -e $app_reg -a -e $env_python ; then
- $env_python $app_reg --remove $APP ||:
- fi
- find $APP_DIR -name \*.py[co] -exec rm -f {} \; ||:
- find $APP_DIR -name \*.egg-info -prune -exec rm -Rf {} \; ||:
- chown -R hue:hue /var/log/hue /var/lib/hue || :
- ;;
-
- failed-upgrade)
- ;;
-
- *)
- echo "prerm called with unknown argument \`$1'" >&2
- exit 1
- ;;
-esac
-
-# dh_installdeb will replace this with shell code automatically
-# generated by other debhelper scripts.
-
-#DEBHELPER#
-
-exit 0
+++ /dev/null
-/usr/lib/hue/apps/beeswax
+++ /dev/null
-/etc/hue/conf.empty
-/usr/lib/hue/app.reg
-/usr/lib/hue/desktop
-/usr/lib/hue/ext
-/usr/lib/hue/LICENSE.txt
-/usr/lib/hue/Makefile
-/usr/lib/hue/Makefile.buildvars
-/usr/lib/hue/Makefile.sdk
-/usr/lib/hue/Makefile.vars
-/usr/lib/hue/Makefile.vars.priv
-/usr/lib/hue/README.md
-/usr/lib/hue/tools
-/usr/lib/hue/VERSION
-/usr/lib/hue/build/env/bin/*
-/usr/lib/hue/build/env/include/
-/usr/lib/hue/build/env/lib*/
-/usr/lib/hue/build/env/stamp
-/usr/lib/hue/apps/Makefile
-/usr/lib/hue/apps/about
-/usr/lib/hue/apps/filebrowser
-/usr/lib/hue/apps/help
-/usr/lib/hue/apps/jobbrowser
-/usr/lib/hue/apps/jobsub
-/usr/lib/hue/apps/proxy
-/usr/lib/hue/apps/useradmin
-/usr/lib/hue/apps/oozie
-/usr/lib/hue/apps/metastore
-/var/log/hue
-/var/lib/hue
+++ /dev/null
-#!/bin/bash
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# postinst script for Hue
-#
-# see: dh_installdeb(1)
-
-set -e
-
-# summary of how this script can be called:
-# * <postinst> `configure' <most-recently-configured-version>
-# * <old-postinst> `abort-upgrade' <new version>
-# * <conflictor's-postinst> `abort-remove' `in-favour' <package>
-# <new-version>
-# * <postinst> `abort-remove'
-# * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
-# <failed-install-package> <version> `removing'
-# <conflicting-package> <version>
-# for details, see http://www.debian.org/doc/debian-policy/ or
-# the debian-policy package
-
-case "$1" in
- configure)
- # tweak permissions
- chown -R hue:hue /var/log/hue /var/lib/hue
-
- # Install config alternatives
- update-alternatives --install /etc/hue/conf hue-conf /etc/hue/conf.empty 30
-
- # If we're upgrading, copy their backed up db from the old version
- # and syncdb.
- if [ ! -z "$2" ]; then
- OLD_DB=/usr/share/hue/desktop/desktop.db.bak.$2
- if [ -e $OLD_DB ]; then
- echo Upgrading old database...
- cp $OLD_DB /usr/share/hue/desktop/desktop.db
- fi
- fi
- ;;
-
- abort-upgrade|abort-remove|abort-deconfigure)
- ;;
-
- *)
- echo "postinst called with unknown argument \`$1'" >&2
- exit 1
- ;;
-esac
-
-# dh_installdeb will replace this with shell code automatically
-# generated by other debhelper scripts.
-
-#DEBHELPER#
-
-exit 0
+++ /dev/null
-#!/bin/bash
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# postrm script for Hue
-#
-# see: dh_installdeb(1)
-
-set -e
-
-# summary of how this script can be called:
-# * <postrm> `remove'
-# * <postrm> `purge'
-# * <old-postrm> `upgrade' <new-version>
-# * <new-postrm> `failed-upgrade' <old-version>
-# * <new-postrm> `abort-install'
-# * <new-postrm> `abort-install' <old-version>
-# * <new-postrm> `abort-upgrade' <old-version>
-# * <disappearer's-postrm> `disappear' <overwriter>
-# <overwriter-version>
-# for details, see http://www.debian.org/doc/debian-policy/ or
-# the debian-policy package
-
-
-case "$1" in
- remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear|purge)
- if [ -d /usr/lib/hue ] ; then
- find /usr/lib/hue -name \*.py[co] -exec rm -f {} \;
- fi
- ;;
-
- *)
- echo "postrm called with unknown argument \`$1'" >&2
- exit 1
- ;;
-esac
-
-# dh_installdeb will replace this with shell code automatically
-# generated by other debhelper scripts.
-
-#DEBHELPER#
-
-exit 0
+++ /dev/null
-#!/bin/bash
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# preinst script for hue
-#
-# see: dh_installdeb(1)
-
-set -e
-
-# summary of how this script can be called:
-# * <new-preinst> `install'
-# * <new-preinst> `install' <old-version>
-# * <new-preinst> `upgrade' <old-version>
-# * <old-preinst> `abort-upgrade' <new-version>
-# for details, see http://www.debian.org/doc/debian-policy/ or
-# the debian-policy package
-
-USER=hue
-case "$1" in
- install|upgrade)
- getent group $USER >/dev/null || groupadd -r $USER
- if ! getent passwd $USER >/dev/null; then
- adduser \
- --system \
- --disabled-login \
- --ingroup $USER \
- --home /usr/lib/hue \
- --gecos "Hue daemon" \
- $USER >/dev/null
- fi
-
- # In upgrade, make a copy of the database, if it's there.
- if [ "$1" == "upgrade" ] ; then
- echo "... stopping any running Hue"
- service hue stop || :
- OLD_DESKTOP_DB=/usr/share/hue/desktop/desktop.db
- if [ -e $OLD_DESKTOP_DB ]; then
- echo ... backing up $OLD_DESKTOP_DB as ${OLD_DESKTOP_DB}.bak.$2
- cp -a $OLD_DESKTOP_DB ${OLD_DESKTOP_DB}.bak.$2
- fi
- fi
-
- ;;
-
- abort-upgrade)
- ;;
-
- *)
- echo "preinst called with unknown argument \`$1'" >&2
- exit 1
- ;;
-esac
-
-# dh_installdeb will replace this with shell code automatically
-# generated by other debhelper scripts.
-
-#DEBHELPER#
-
-exit 0
+++ /dev/null
-#!/bin/bash
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# prerm script for Hue
-#
-# see: dh_installdeb(1)
-
-set -e
-
-# summary of how this script can be called:
-# * <prerm> `remove'
-# * <old-prerm> `upgrade' <new-version>
-# * <new-prerm> `failed-upgrade' <old-version>
-# * <conflictor's-prerm> `remove' `in-favour' <package> <new-version>
-# * <deconfigured's-prerm> `deconfigure' `in-favour'
-# <package-being-installed> <version> `removing'
-# <conflicting-package> <version>
-# for details, see http://www.debian.org/doc/debian-policy/ or
-# the debian-policy package
-
-
-case "$1" in
- remove|upgrade|deconfigure)
- update-alternatives --remove hue-conf /etc/hue/conf.empty || :
- if [ -d /usr/lib/hue ]; then
- cd /usr/lib/hue
- find . -name \*.py[co] -exec rm -f {} \;
- fi
- ;;
-
- failed-upgrade)
- ;;
-
- *)
- echo "prerm called with unknown argument \`$1'" >&2
- exit 1
- ;;
-esac
-
-
-
-# dh_installdeb will replace this with shell code automatically
-# generated by other debhelper scripts.
-
-#DEBHELPER#
-
-exit 0
+++ /dev/null
-/usr/share/doc/hue
+++ /dev/null
-/usr/lib/hue/apps/hbase
+++ /dev/null
-/usr/lib/hue/apps/impala
+++ /dev/null
-/usr/lib/hue/apps/pig
+++ /dev/null
-/usr/lib/hue/apps/rdbms
+++ /dev/null
-/usr/lib/hue/apps/search
+++ /dev/null
-/usr/lib/hue/apps/security
+++ /dev/null
-#!/bin/bash
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-
-### BEGIN INIT INFO
-# Provides: hue
-# Required-Start: $network $local_fs
-# Required-Stop:
-# Should-Start: $named
-# Should-Stop:
-# Default-Start: 2 3 4 5
-# Default-Stop: 0 1 6
-# Short-Description: Hue
-# Description: Hue Web Interface
-### END INIT INFO
-
-PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
-
-DAEMON=/usr/lib/hue/build/env/bin/supervisor # Introduce the server's location here
-NAME=hue # Introduce the short server's name here
-DESC="Hue for Hadoop" # Introduce a short description here
-LOGDIR=/var/log/hue # Log directory to use
-
-PIDFILE=/var/run/hue/supervisor.pid
-
-test -x $DAEMON || exit 0
-
-. /lib/lsb/init-functions
-
-# Default options, these can be overriden by the information
-# at /etc/default/$NAME
-DAEMON_OPTS="-p $PIDFILE -d -l $LOGDIR" # Additional options given to the server
-
-DIETIME=10 # Time to wait for the server to die, in seconds
- # If this value is set too low you might not
- # let some servers to die gracefully and
- # 'restart' will not work
-
-STARTTIME=5 # Time to wait for the server to start, in seconds
- # If this value is set each time the server is
- # started (on start or restart) the script will
- # stall to try to determine if it is running
- # If it is not set and the server takes time
- # to setup a pid file the log message might
- # be a false positive (says it did not start
- # when it actually did)
-
-DAEMONUSER=hue # Users to run the daemons as. If this value
- # is set start-stop-daemon will chuid the server
-
-# Include defaults if available
-BIGTOP_DEFAULTS_DIR=${BIGTOP_DEFAULTS_DIR-/etc/default}
-[ -n "${BIGTOP_DEFAULTS_DIR}" -a -r ${BIGTOP_DEFAULTS_DIR}/$NAME ] && . ${BIGTOP_DEFAULTS_DIR}/$NAME
-
-# Use this if you want the user to explicitly set 'RUN' in
-# /etc/default/
-#if [ "x$RUN" != "xyes" ] ; then
-# log_failure_msg "$NAME disabled, please adjust the configuration to your needs "
-# log_failure_msg "and then set RUN to 'yes' in /etc/default/$NAME to enable it."
-# exit 1
-#fi
-
-# Check that the user exists (if we set a user)
-# Does the user exist?
-if [ -n "$DAEMONUSER" ] ; then
- if getent passwd | grep -q "^$DAEMONUSER:"; then
- # Obtain the uid and gid
- DAEMONUID=`getent passwd |grep "^$DAEMONUSER:" | awk -F : '{print $3}'`
- DAEMONGID=`getent passwd |grep "^$DAEMONUSER:" | awk -F : '{print $4}'`
- else
- log_failure_msg "The user $DAEMONUSER, required to run $NAME does not exist."
- exit 1
- fi
-fi
-
-
-set -e
-
-running_pid() {
-# Check if a given process pid's cmdline matches a given name
- pid=$1
- [ -z "$pid" ] && return 1
- [ ! -d /proc/$pid ] && return 1
- cmd=`cat /proc/$pid/cmdline | tr "\000" "\n"|head -n 1 |cut -d : -f 1`
- echo $cmd | grep -q python || return 1
- return 0
-}
-
-running() {
-# Check if the process is running looking at /proc
-# (works for all users)
-
- # No pidfile, probably no daemon present
- [ ! -f "$PIDFILE" ] && return 1
- pid=`cat $PIDFILE`
- running_pid $pid || return 1
- return 0
-}
-
-start_server() {
-# Start the process using the wrapper
- export PYTHON_EGG_CACHE='/tmp/.hue-python-eggs'
- mkdir -p /usr/lib/hue/pids/
- mkdir -p ${PYTHON_EGG_CACHE}
- mkdir -p $(dirname $PIDFILE) $LOGDIR
- chown -R $DAEMONUSER $(dirname $PIDFILE) $LOGDIR ${PYTHON_EGG_CACHE}
- # dont setuid, since supervisor will drop privileges on its
- # own
- PATH=/usr/lib/hue/build/env/bin:$PATH start-stop-daemon --start --quiet --pidfile $PIDFILE \
- --exec $DAEMON -- $DAEMON_OPTS
- errcode=$?
- return $errcode
-}
-
-stop_server() {
-# Stop the process using the wrapper
- killproc -p $PIDFILE $DAEMON
- errcode=$?
- return $errcode
-}
-
-reload_server() {
- [ ! -f "$PIDFILE" ] && return 1
- pid=pidofproc $PIDFILE # This is the daemon's pid
- # Send a SIGHUP
- kill -1 $pid
- return $?
-}
-
-force_stop() {
-# Force the process to die killing it manually
- [ ! -e "$PIDFILE" ] && return
- if running ; then
- kill -15 $pid
- # Is it really dead?
- sleep "$DIETIME"s
- if running ; then
- kill -9 $pid
- sleep "$DIETIME"s
- if running ; then
- echo "Cannot kill $NAME (pid=$pid)!"
- exit 1
- fi
- fi
- fi
- rm -f $PIDFILE
-}
-
-
-case "$1" in
- start)
- log_daemon_msg "Starting $DESC " "$NAME"
- # Check if it's running first
- if running ; then
- log_progress_msg "apparently already running"
- log_end_msg 0
- exit 0
- fi
- if start_server ; then
- # NOTE: Some servers might die some time after they start,
- # this code will detect this issue if STARTTIME is set
- # to a reasonable value
- [ -n "$STARTTIME" ] && sleep $STARTTIME # Wait some time
- if running ; then
- # It's ok, the server started and is running
- log_end_msg 0
- else
- # It is not running after we did start
- log_end_msg 1
- fi
- else
- # Either we could not start it
- log_end_msg 1
- fi
- ;;
- stop)
- log_daemon_msg "Stopping $DESC" "$NAME"
- if running ; then
- # Only stop the server if we see it running
- errcode=0
- stop_server || errcode=$?
- log_end_msg $errcode
- else
- # If it's not running don't do anything
- log_progress_msg "apparently not running"
- log_end_msg 0
- exit 0
- fi
- ;;
- force-stop)
- # First try to stop gracefully the program
- $0 stop
- errcode=0
- if running; then
- # If it's still running try to kill it more forcefully
- log_daemon_msg "Stopping (force) $DESC" "$NAME"
- force_stop || errcode=$?
- fi
- # if there are still processes running as hue, just kill them.
- # we only do this if the user is hue, in case it's been changed
- # to nobody - we don't want to go and kill a webserver
- if [ "$DAEMONUSER" -eq hue ] && ps -u hue | grep -q build/env/bin ; then
- killall -9 -u hue
- errcode=$?
- fi
- log_end_msg $errcode
- ;;
- restart|force-reload)
- log_daemon_msg "Restarting $DESC" "$NAME"
- errcode=0
- stop_server || errcode=$?
- # Wait some sensible amount, some server need this
- [ -n "$DIETIME" ] && sleep $DIETIME
- start_server || errcode=$?
- [ -n "$STARTTIME" ] && sleep $STARTTIME
- running || errcode=$?
- log_end_msg $errcode
- ;;
- status)
-
- log_daemon_msg "Checking status of $DESC" "$NAME"
- if running ; then
- log_progress_msg "running"
- log_end_msg 0
- else
- log_progress_msg "apparently not running"
- log_end_msg 1
- exit 1
- fi
- ;;
- # Use this if the daemon cannot reload
- reload)
- log_warning_msg "Reloading $NAME daemon: not implemented, as the daemon"
- log_warning_msg "cannot re-read the config file (use restart)."
- ;;
-
- *)
- N=/etc/init.d/$NAME
- echo "Usage: $N {start|stop|force-stop|restart|force-reload|status}" >&2
- exit 1
- ;;
-esac
-
-exit 0
+++ /dev/null
-#!/bin/bash
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# prerm script for Hue
-#
-# see: dh_installdeb(1)
-
-set -e
-
-# summary of how this script can be called:
-# * <prerm> `remove'
-# * <old-prerm> `upgrade' <new-version>
-# * <new-prerm> `failed-upgrade' <old-version>
-# * <conflictor's-prerm> `remove' `in-favour' <package> <new-version>
-# * <deconfigured's-prerm> `deconfigure' `in-favour'
-# <package-being-installed> <version> `removing'
-# <conflicting-package> <version>
-# for details, see http://www.debian.org/doc/debian-policy/ or
-# the debian-policy package
-
-if [ -x "/etc/init.d/hue" ]; then
- if [ -x "`which invoke-rc.d 2>/dev/null`" ]; then
- invoke-rc.d hue stop || exit $?
- else
- /etc/init.d/hue stop || exit $?
- fi
-fi
-
-
-# dh_installdeb will replace this with shell code automatically
-# generated by other debhelper scripts.
-
-#DEBHELPER#
-
-exit 0
+++ /dev/null
-/usr/lib/hue/apps/spark
+++ /dev/null
-/usr/lib/hue/apps/sqoop
+++ /dev/null
-/usr/lib/hue/apps/zookeeper
+++ /dev/null
-#!/usr/bin/make -f
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-# -*- makefile -*-
-
-# Uncomment this to turn on verbose mode.
-#export DH_VERBOSE=1
-
-# Implicit targets
-SHELL := /bin/bash
-
-APPS=beeswax impala pig hbase sqoop search security rdbms spark useradmin zookeeper
-
-$(APPS:%=debian/hue-%.postinst): debian/hue-app.postinst.tpl
- sed -e 's#@APP@#$(patsubst debian/hue-%.postinst,%,$@)#' < $< > $@
-
-$(APPS:%=debian/hue-%.prerm): debian/hue-app.prerm.tpl
- sed -e 's#@APP@#$(patsubst debian/hue-%.prerm,%,$@)#' < $< > $@
-
-%:
- dh $@
-
-override_dh_auto_build:
- env FULL_VERSION=${HUE_BASE_VERSION} bash -x debian/do-component-build -Dmaven.repo.local=${HOME}/.m2/repository
-
-override_dh_auto_install: build $(APPS:%=debian/hue-%.postinst) $(APPS:%=debian/hue-%.prerm)
- bash -x debian/install_hue.sh --build-dir=${PWD} --prefix=${PWD}/debian/tmp
- sed -e 's,^,build:,;' debian/tmp/usr/lib/hue/Makefile.buildvars \
- | tr _ - >> debian/hue-common.substvars
-
-override_dh_installinit:
- dh_installinit --name=hue
-
-override_dh_auto_test:
- @echo Tests are disabled
-
-override_dh_auto_clean:
- @echo Clean disabled
+++ /dev/null
-3.0 (quilt)
+++ /dev/null
-debian/hue-virtualenv.tgz
+++ /dev/null
-#!/bin/bash
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-# /etc/rc.d/init.d/hue
-#
-# Hue web server
-#
-# chkconfig: 2345 90 10
-# description: Hue web server
-# pidfile: /usr/lib/hue/pids/supervisor.pid
-
-. /etc/init.d/functions
-
-LOCKFILE=/var/lock/subsys/hue
-DAEMON=/usr/lib/hue/build/env/bin/supervisor # Introduce the server's location here
-LOGDIR=/var/log/hue # Log directory to use
-PIDFILE=/var/run/hue/supervisor.pid
-USER=hue
-EXEC=/usr/lib/hue/build/env/bin/python
-DAEMON_OPTS="-p $PIDFILE -l $LOGDIR -d"
-HUE_SHUTDOWN_TIMEOUT=15
-
-hue_start() {
- export PYTHON_EGG_CACHE='/tmp/.hue-python-eggs'
- RE_REGISTER=/usr/lib/hue/.re_register
- if [ -e $RE_REGISTER ]; then
- # Do app_reg on upgraded apps. This is a workaround for DISTRO-11.
- # We can probably take it out after another release.
- DO="/sbin/runuser -s /bin/bash $USER -c"
- APP_REG="/usr/lib/hue/tools/app_reg/app_reg.py"
- # Upgraded apps write their paths in the re_rgister file.
- RE_REG_LOG=/var/log/hue/hue_re_register.log
-
- # Make cwd somewhere that $USER can chdir into
- pushd / > /dev/null
- $DO "DESKTOP_LOG_DIR=$LOGDIR $EXEC $APP_REG --install $(cat $RE_REGISTER | xargs echo -n) >> $RE_REG_LOG 2>&1"
- ok=$?
- popd > /dev/null
- if [ $ok -eq 0 ] ; then
- rm -f $RE_REGISTER
- else
- echo "Failed to register some apps: Details in $RE_REG_LOG"
- fi
- fi
-
- echo -n "Starting hue: "
- for dir in $(dirname $PIDFILE) $LOGDIR ${PYTHON_EGG_CACHE}
- do
- mkdir -p $dir
- chown -R $USER $dir
- done
-
- # Check if already running
- if [ -e $PIDFILE ] && checkpid $(cat $PIDFILE) ; then
- echo "already running"
- return 0
- fi
- # the supervisor itself will setuid down to $USER
- env - PATH=/usr/lib/hue/build/env/bin:$PATH $DAEMON $DAEMON_OPTS
- ret=$?
- base=$(basename $0)
- if [ $ret -eq 0 ]; then
- sleep 5
- test -e $PIDFILE && checkpid $(cat $PIDFILE)
- ret=$?
- fi
- if [ $ret -eq 0 ]; then
- touch $LOCKFILE
- success $"$base startup"
- else
- failure $"$base startup"
- fi
- echo
- return $ret
-}
-
-hue_stop() {
- if [ ! -e $PIDFILE ]; then
- success "Hue is not running"
- return 0
- fi
-
- echo -n "Shutting down hue: "
-
- HUE_PID=`cat $PIDFILE 2>/dev/null`
- if [ -n "$HUE_PID" ]; then
- kill -TERM ${HUE_PID} &>/dev/null
- for i in `seq 1 ${HUE_SHUTDOWN_TIMEOUT}` ; do
- kill -0 ${HUE_PID} &>/dev/null || break
- sleep 1
- done
- kill -KILL ${HUE_PID} &>/dev/null
- fi
- echo
- rm -f $LOCKFILE $PIDFILE
- return 0
-}
-
-hue_restart() {
- hue_stop
- hue_start
-}
-
-case "$1" in
- start)
- hue_start
- ;;
- stop)
- hue_stop
- ;;
- status)
- status -p $PIDFILE supervisor
- ;;
- restart|reload)
- hue_restart
- ;;
- condrestart)
- [ -f $LOCKFILE ] && restart || :
- ;;
- *)
- echo "Usage: hue {start|stop|status|reload|restart|condrestart"
- exit 1
- ;;
-esac
-exit $?
+++ /dev/null
-#!/bin/bash
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-# Hue web server
-#
-# chkconfig: 345 90 10
-# description: Hue web server
-# pidfile: /var/run/hue/supervisor.pid
-#
-### BEGIN INIT INFO
-# Provides: hue_webserver
-# Required-Start: $syslog $remote_fs
-# Should-Start:
-# Required-Stop: $syslog $remote_fs
-# Should-Stop:
-# Default-Start: 3 4 5
-# Default-Stop: 0 1 2 6
-# Short-Description: Hue web server
-### END INIT INFO
-
-source /lib/lsb/init-functions
-
-
-STATUS_RUNNING=0
-STATUS_DEAD=1
-STATUS_DEAD_AND_LOCK=2
-STATUS_NOT_RUNNING=3
-
-
-ERROR_PROGRAM_NOT_INSTALLED=5
-ERROR_PROGRAM_NOT_CONFIGURED=6
-
-
-RETVAL=0
-LOCKFILE=/var/lock/subsys/hue_webserver
-LOGDIR=/var/log/hue # Log directory to use
-PIDFILE=/var/run/hue/supervisor.pid
-DAEMON=/usr/lib/hue/build/env/bin/supervisor # Introduce the server's location here
-DAEMON_OPTS="-p $PIDFILE -l $LOGDIR -d"
-DESC="Hue web server"
-USER=hue
-HUE_SHUTDOWN_TIMEOUT=15
-
-export PYTHON_EGG_CACHE=/tmp/.hue-python-eggs
-
-hue_start() {
- [ -x $DAEMON ] || exit $ERROR_PROGRAM_NOT_INSTALLED
- log_success_msg "Starting $DESC: "
-
- for dir in $(dirname $PIDFILE) $LOGDIR ${PYTHON_EGG_CACHE}
- do
- mkdir -p $dir
- chown -R $USER $dir
- done
-
- PATH=/usr/lib/hue/build/env/bin:$PATH start_daemon -u $USER $DAEMON $DAEMON_OPTS
- RETVAL=$?
- echo
- [ $RETVAL -eq 0 ] && touch $LOCKFILE
- return $RETVAL
-}
-
-hue_stop() {
- if [ ! -e $PIDFILE ]; then
- log_success_msg "Hue is not running"
- return 0
- fi
-
- log_success_msg "Stopping $DESC: "
-
- HUE_PID=`cat $PIDFILE 2>/dev/null`
- if [ -n "$HUE_PID" ]; then
- kill -TERM ${HUE_PID} &>/dev/null
- for i in `seq 1 ${HUE_SHUTDOWN_TIMEOUT}` ; do
- kill -0 ${HUE_PID} &>/dev/null || break
- sleep 1
- done
- kill -KILL ${HUE_PID} &>/dev/null
- fi
- echo
- rm -f $LOCKFILE $PIDFILE
- RETVAL=0
- return $RETVAL
-}
-
-hue_restart() {
- hue_stop
- hue_start
-}
-
-
-checkstatus(){
- pid=`cat "$PIDFILE" 2>/dev/null`
- if [ "$pid" = '' ]; then
- # The pidfile probably does not exist or is empty.
- if [ -e $LOCKFILE ]; then
- log_failure_msg "$DESC is dead and lock file exists"
- RETVAL=$STATUS_DEAD_AND_LOCK
- else
- log_failure_msg "$DESC is not running"
- RETVAL=$STATUS_NOT_RUNNING
- fi
- return $RETVAL
- fi
-
- set -- $pid
- pid="$1"
- ps -fp $pid | grep $pid | grep -i hue > /dev/null 2>&1
- status=$?
-
- if [ "$status" = 0 ]; then
- log_success_msg "$DESC is running"
- RETVAL=$STATUS_RUNNING
- elif [ -e $LOCKFILE ]; then
- log_failure_msg "$DESC is dead and lock file exists"
- RETVAL=$STATUS_DEAD_AND_LOCK
- else
- # pidfile exists, that's how we ended up here (by checking the
- # the pid's status through ps
- log_failure_msg "$DESC is dead and pid file exists"
- RETVAL=$STATUS_DEAD
- fi
-return $RETVAL
-}
-
-hue_condrestart(){
- [ -e $LOCKFILE ] && restart || :
-}
-
-check_for_root() {
- if [ $(id -ur) -ne 0 ]; then
- echo 'Error: root user required'
- echo
- exit 1
- fi
-}
-
-service() {
- case "$1" in
- start)
- check_for_root
- hue_start
- ;;
- stop)
- check_for_root
- hue_stop
- ;;
- status)
- checkstatus
- ;;
- restart)
- check_for_root
- hue_restart
- ;;
- condrestart|try-restart)
- check_for_root
- hue_condrestart
- ;;
- *)
- echo $"Usage: $0 {start|stop|status|restart|try-restart|condrestart}"
- exit 1
- esac
-}
-
-service "$1"
-
-exit $RETVAL
+++ /dev/null
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-##### HUE METAPACKAGE ######
-Name: hue
-Version: %{hue_version}
-Release: %{hue_release}
-Group: Applications/Engineering
-Summary: The hue metapackage
-License: ASL 2.0
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id} -u -n)
-Source0: %{name}-%{hue_base_version}.tar.gz
-Source1: %{name}.init
-Source2: %{name}.init.suse
-Source3: do-component-build
-Source4: install_hue.sh
-Source5: bigtop.bom
-#BIGTOP_PATCH_FILES
-URL: http://github.com/cloudera/hue
-Requires: %{name}-common = %{version}-%{release}
-Requires: %{name}-server = %{version}-%{release}
-Requires: %{name}-impala = %{version}-%{release}
-Requires: %{name}-beeswax = %{version}-%{release}
-Requires: %{name}-pig = %{version}-%{release}
-Requires: %{name}-hbase = %{version}-%{release}
-Requires: %{name}-sqoop = %{version}-%{release}
-Requires: %{name}-search = %{version}-%{release}
-Requires: %{name}-rdbms = %{version}-%{release}
-Requires: %{name}-security = %{version}-%{release}
-Requires: %{name}-spark = %{version}-%{release}
-Requires: %{name}-zookeeper = %{version}-%{release}
-Requires: %{name}-useradmin = %{version}-%{release}
-
-
-################ RPM CUSTOMIZATION ##############################
-# Disable automatic Provides generation - otherwise we will claim to provide all of the
-# .so modules that we install inside our private lib directory, which will falsely
-# satisfy dependencies for other RPMs on the target system.
-AutoProv: no
-AutoReqProv: no
-%define _use_internal_dependency_generator 0
-
-# Disable post hooks (brp-repack-jars, etc) that just take forever and sometimes cause issues
-%define __os_install_post \
- %{!?__debug_package:/usr/lib/rpm/brp-strip %{__strip}} \
-%{nil}
-%define __jar_repack %{nil}
-%define __prelink_undo_cmd %{nil}
-
-# Disable debuginfo package, since we never need to gdb
-# our own .sos anyway
-%define debug_package %{nil}
-
-# there are some file by-products we don't want to actually package
-%define _unpackaged_files_terminate_build 0
-
-# Init.d directory has different locations dependeing on the OS
-%if %{!?suse_version:1}0
-%define alternatives_cmd alternatives
-%global initd_dir %{_sysconfdir}/rc.d/init.d
-%else
-%define alternatives_cmd update-alternatives
-%global initd_dir %{_sysconfdir}/rc.d
-%endif
-
-
-############### DESKTOP SPECIFIC CONFIGURATION ##################
-
-# customization of install spots
-%define hue_dir /usr/lib/hue
-%define hadoop_home /usr/lib/hadoop
-%define hadoop_lib %{hadoop_home}/lib
-%define username hue
-
-%define apps_dir %{hue_dir}/apps
-%define about_app_dir %{hue_dir}/apps/about
-%define impala_app_dir %{hue_dir}/apps/impala
-%define security_app_dir %{hue_dir}/apps/security
-%define beeswax_app_dir %{hue_dir}/apps/beeswax
-%define oozie_app_dir %{hue_dir}/apps/oozie
-%define pig_app_dir %{hue_dir}/apps/pig
-%define metastore_app_dir %{hue_dir}/apps/metastore
-%define filebrowser_app_dir %{hue_dir}/apps/filebrowser
-%define help_app_dir %{hue_dir}/apps/help
-%define jobbrowser_app_dir %{hue_dir}/apps/jobbrowser
-%define jobsub_app_dir %{hue_dir}/apps/jobsub
-%define proxy_app_dir %{hue_dir}/apps/proxy
-%define useradmin_app_dir %{hue_dir}/apps/useradmin
-%define etc_hue /etc/hue/conf
-%define hbase_app_dir %{hue_dir}/apps/hbase
-%define sqoop_app_dir %{hue_dir}/apps/sqoop
-%define search_app_dir %{hue_dir}/apps/search
-%define rdbms_app_dir %{hue_dir}/apps/rdbms
-%define useradmin_app_dir %{hue_dir}/apps/useradmin
-%define spark_app_dir %{hue_dir}/apps/spark
-%define zookeeper_app_dir %{hue_dir}/apps/zookeeper
-
-
-# Path to the HADOOP_HOME to build against - these
-# are not substituted into the build products anywhere!
-%if ! %{?build_hadoop_home:1} %{!?build_hadoop_home:0}
- %define build_hadoop_home %{hadoop_home}
-%endif
-
-# Post macro for apps
-%define app_post_macro() \
-%post -n %{name}-%1 \
-export ROOT=%{hue_dir} \
-export DESKTOP_LOGLEVEL=WARN \
-export DESKTOP_LOG_DIR=/var/log/hue \
-if [ "$1" != 1 ] ; then \
- echo %{hue_dir}/apps/%1 >> %{hue_dir}/.re_register \
-fi \
-%{hue_dir}/build/env/bin/python %{hue_dir}/tools/app_reg/app_reg.py --install %{apps_dir}/%1 \
-chown -R hue:hue /var/log/hue /var/lib/hue
-
-# Preun macro for apps
-%define app_preun_macro() \
-%preun -n %{name}-%1 \
-if [ "$1" = 0 ] ; then \
- export ROOT=%{hue_dir} \
- export DESKTOP_LOGLEVEL=WARN \
- export DESKTOP_LOG_DIR=/var/log/hue \
- if [ -e $ENV_PYTHON ] ; then \
- %{hue_dir}/build/env/bin/python %{hue_dir}/tools/app_reg/app_reg.py --remove %1 ||: \
- fi \
- find %{apps_dir}/%1 -name \*.egg-info -type f -print0 | xargs -0 /bin/rm -fR \
-fi \
-find %{apps_dir}/%1 -iname \*.py[co] -type f -print0 | xargs -0 /bin/rm -f \
-chown -R hue:hue /var/log/hue /var/lib/hue || :
-
-%description
-Hue is a browser-based desktop interface for interacting with Hadoop.
-It supports a file browser, job tracker interface, cluster health monitor, and more.
-
-%files -n hue
-
-%clean
-%__rm -rf $RPM_BUILD_ROOT
-
-%prep
-%setup -n %{name}-release-%{hue_base_version}
-
-#BIGTOP_PATCH_COMMANDS
-
-########################################
-# Build
-########################################
-%build
-env FULL_VERSION=%{hue_base_version} bash -x %{SOURCE3}
-
-########################################
-# Install
-########################################
-%install
-bash -x %{SOURCE4} --prefix=$RPM_BUILD_ROOT --build-dir=${PWD}
-
-%if %{?suse_version:1}0
-orig_init_file=$RPM_SOURCE_DIR/%{name}.init.suse
-%else
-orig_init_file=$RPM_SOURCE_DIR/%{name}.init
-%endif
-
-# TODO maybe dont need this line anymore:
-%__install -d -m 0755 $RPM_BUILD_ROOT/%{initd_dir}
-cp $orig_init_file $RPM_BUILD_ROOT/%{initd_dir}/hue
-
-#### PLUGINS ######
-
-%package -n %{name}-common
-Summary: A browser-based desktop interface for Hadoop
-BuildRequires: gcc, gcc-c++
-BuildRequires: libxml2-devel, libxslt-devel, zlib-devel, libyaml-devel
-BuildRequires: cyrus-sasl-devel
-BuildRequires: openssl-devel
-BuildRequires: krb5-devel
-BuildRequires: asciidoc
-BuildRequires: gmp-devel
-BuildRequires: libffi-devel
-Group: Applications/Engineering
-Requires: cyrus-sasl-gssapi, libxml2, libxslt, zlib, sqlite, libyaml, gmp, python, libffi
-# The only reason we need the following is because we also have AutoProv: no
-Provides: config(%{name}-common) = %{version}
-
-%if %{?suse_version:1}0
-BuildRequires: sqlite3-devel, openldap2-devel, libmysqlclient-devel, libopenssl-devel
-# Required for init scripts
-Requires: insserv, python-xml
-%else
-BuildRequires: /sbin/runuser, sqlite-devel, openldap-devel, mysql-devel, openssl-devel
-# Required for init scripts
-Requires: /lib/lsb/init-functions
-BuildRequires: python-devel, python-setuptools
-%endif
-
-# Disable automatic Provides generation - otherwise we will claim to provide all of the
-# .so modules that we install inside our private lib directory, which will falsely
-# satisfy dependencies for other RPMs on the target system.
-AutoReqProv: no
-
-%description -n %{name}-common
-Hue is a browser-based desktop interface for interacting with Hadoop.
-It supports a file browser, job tracker interface, cluster health monitor, and more.
-
-########################################
-# Preinstall
-########################################
-%pre -n %{name}-common -p /bin/bash
-getent group %{username} 2>/dev/null >/dev/null || /usr/sbin/groupadd -r %{username}
-getent passwd %{username} 2>&1 > /dev/null || /usr/sbin/useradd -c "Hue" -s /sbin/nologin -g %{username} -r -d %{hue_dir} %{username} 2> /dev/null || :
-
-########################################
-# Postinstall
-########################################
-%post -n %{name}-common -p /bin/bash
-
-%{alternatives_cmd} --install %{etc_hue} hue-conf %{etc_hue}.empty 30
-
-# If there is an old DB in place, make a backup.
-if [ -e %{hue_dir}/desktop/desktop.db ]; then
- echo "Backing up previous version of Hue database..."
- cp -a %{hue_dir}/desktop/desktop.db %{hue_dir}/desktop/desktop.db.rpmsave.$(date +'%Y%m%d.%H%M%S')
-fi
-
-%preun -n %{name}-common -p /bin/bash
-if [ "$1" = 0 ]; then
- %{alternatives_cmd} --remove hue-conf %{etc_hue}.empty || :
-fi
-
-
-########################################
-# Post-uninstall
-########################################
-%postun -n %{name}-common -p /bin/bash
-
-if [ -d %{hue_dir} ]; then
- find %{hue_dir} -name \*.py[co] -exec rm -f {} \;
-fi
-
-if [ $1 -eq 0 ]; then
- # TODO this seems awfully aggressive
- # NOTE Despite dependency, hue-common could get removed before the apps are.
- # We should remove app.reg because apps won't have a chance to
- # unregister themselves.
- rm -Rf %{hue_dir}/desktop %{hue_dir}/build %{hue_dir}/pids %{hue_dir}/app.reg
-fi
-
-
-%files -n %{name}-common
-%defattr(-,root,root)
-%attr(0755,root,root) %config(noreplace) %{etc_hue}.empty
-%dir %{hue_dir}
-%{hue_dir}/desktop
-%{hue_dir}/ext
-%{hue_dir}/LICENSE.txt
-%{hue_dir}/Makefile
-%{hue_dir}/Makefile.buildvars
-%{hue_dir}/Makefile.sdk
-%{hue_dir}/Makefile.vars
-%{hue_dir}/Makefile.vars.priv
-%{hue_dir}/README.md
-%{hue_dir}/tools
-%{hue_dir}/VERSION
-%{hue_dir}/build/env/bin/*
-%{hue_dir}/build/env/include/
-%{hue_dir}/build/env/lib/
-%{hue_dir}/build/env/lib64
-%{hue_dir}/build/env/stamp
-%{hue_dir}/app.reg
-%{hue_dir}/apps/Makefile
-%dir %{hue_dir}/apps
-# Hue core apps
-%{about_app_dir}
-%{filebrowser_app_dir}
-%{help_app_dir}
-%{jobbrowser_app_dir}
-%{jobsub_app_dir}
-%{proxy_app_dir}
-%{useradmin_app_dir}
-%{metastore_app_dir}
-%{oozie_app_dir}
-%attr(0755,%{username},%{username}) /var/log/hue
-%attr(0755,%{username},%{username}) /var/lib/hue
-
-# these apps are packaged as a plugin app
-%exclude %{beeswax_app_dir}
-%exclude %{impala_app_dir}
-%exclude %{security_app_dir}
-%exclude %{pig_app_dir}
-%exclude %{hbase_app_dir}
-%exclude %{sqoop_app_dir}
-%exclude %{search_app_dir}
-%exclude %{rdbms_app_dir}
-%exclude %{spark_app_dir}
-%exclude %{zookeeper_app_dir}
-%exclude %{useradmin_app_dir}
-
-
-############################################################
-# No-arch packages - plugins and conf
-############################################################
-
-#### Service Scripts ######
-%package -n %{name}-server
-Summary: Service Scripts for Hue
-Requires: %{name}-common = %{version}-%{release}
-Requires: /sbin/chkconfig
-Group: Applications/Engineering
-
-%description -n %{name}-server
-
-This package provides the service scripts for Hue server.
-
-%files -n %{name}-server
-%attr(0755,root,root) %{initd_dir}/hue
-
-# Install and start init scripts
-
-%post -n %{name}-server
-/sbin/chkconfig --add hue
-
-# Documentation
-%package -n %{name}-doc
-Summary: Documentation for Hue
-Group: Documentation
-
-%description -n %{name}-doc
-This package provides the installation manual, user guide, SDK documentation, and release notes.
-
-%files -n %{name}-doc
-%attr(0755,root,root) /usr/share/doc/hue
-
-########################################
-# Pre-uninstall
-########################################
-
-%preun -n %{name}-server
-if [ $1 = 0 ] ; then
- service %{name} stop > /dev/null 2>&1
- chkconfig --del %{name}
-fi
-%postun -n %{name}-server
-if [ $1 -ge 1 ]; then
- service %{name} condrestart >/dev/null 2>&1
-fi
-#### HUE-IMPALA PLUGIN ######
-%package -n %{name}-impala
-Summary: A UI for Impala on Hue
-Group: Applications/Engineering
-Requires: %{name}-common = %{version}-%{release}, make
-
-%description -n %{name}-impala
-Beeswax is a web interface for Impala.
-
-It allows users to construct and run queries on Imapala, manage tables,
-and import and export data.
-
-%app_post_macro impala
-%app_preun_macro impala
-
-%files -n %{name}-impala
-%defattr(-, %{username}, %{username})
-%{impala_app_dir}
-
-
-#### HUE-BEESWAX PLUGIN ######
-%package -n %{name}-beeswax
-Summary: A UI for Hive on Hue
-Group: Applications/Engineering
-Requires: %{name}-common = %{version}-%{release}, make
-
-%description -n %{name}-beeswax
-Beeswax is a web interface for Hive.
-
-It allows users to construct and run queries on Hive, manage tables,
-and import and export data.
-
-%app_post_macro beeswax
-%app_preun_macro beeswax
-
-%files -n %{name}-beeswax
-%defattr(-, %{username}, %{username})
-%{beeswax_app_dir}
-
-#### HUE-PIG PLUGIN ######
-%package -n %{name}-pig
-Summary: A UI for Pig on Hue
-Group: Applications/Engineering
-Requires: make
-Requires: %{name}-common = %{version}-%{release}
-
-%description -n %{name}-pig
-A web interface for Pig.
-
-It allows users to construct and run Pig jobs.
-
-%app_post_macro pig
-%app_preun_macro pig
-
-%files -n %{name}-pig
-%{pig_app_dir}
-
-#### HUE-HBASE PLUGIN ######
-%package -n %{name}-hbase
-Summary: A UI for HBase on Hue
-Group: Applications/Engineering
-Requires: %{name}-common = %{version}-%{release}
-
-%description -n %{name}-hbase
-A web interface for HBase.
-
-It allows users to construct and run HBase queries.
-
-%app_post_macro hbase
-%app_preun_macro hbase
-
-%files -n %{name}-hbase
-%defattr(-, %{username}, %{username})
-%{hbase_app_dir}
-
-#### HUE-SQOOP PLUGIN ######
-%package -n %{name}-sqoop
-Summary: A UI for Sqoop on Hue
-Group: Applications/Engineering
-Requires: %{name}-common = %{version}-%{release}
-
-%description -n %{name}-sqoop
-A web interface for Sqoop.
-
-%app_post_macro sqoop
-%app_preun_macro sqoop
-
-%files -n %{name}-sqoop
-%defattr(-, %{username}, %{username})
-%{sqoop_app_dir}
-
-#### HUE-SEARCH PLUGIN ######
-%package -n %{name}-search
-Summary: A UI for Search on Hue
-Group: Applications/Engineering
-Requires: %{name}-common = %{version}-%{release}
-
-%description -n %{name}-search
-A web interface for Search.
-
-It allows users to interact with Solr
-
-%app_post_macro search
-%app_preun_macro search
-
-%files -n %{name}-search
-%defattr(-, %{username}, %{username})
-%{search_app_dir}
-
-#### HUE-RDBMS PLUGIN ######
-%package -n %{name}-rdbms
-Summary: A UI for RDBMS on Hue
-Group: Applications/Engineering
-Requires: %{name}-common = %{version}-%{release}
-
-%description -n %{name}-rdbms
-A web interface for RDBMS.
-
-It allows users to interact with RDBMS
-
-%app_post_macro rdbms
-%app_preun_macro rdbms
-
-%files -n %{name}-rdbms
-%defattr(-, %{username}, %{username})
-%{rdbms_app_dir}
-
-#### HUE-SECURITY PLUGIN ######
-%package -n %{name}-security
-Summary: A UI for Security and Roles on Hue
-Group: Applications/Engineering
-Requires: %{name}-common = %{version}-%{release}
-
-%description -n %{name}-security
-A web interface for Roles and Security.
-
-It allows users to interact with Roles and Security
-
-%app_post_macro security
-%app_preun_macro security
-
-%files -n %{name}-security
-%defattr(-, %{username}, %{username})
-%{security_app_dir}
-
-#### HUE-USERADMIN PLUGIN ######
-%package -n %{name}-useradmin
-Summary: A UI for Hue user administration
-Group: Applications/Engineering
-Requires: %{name}-common = %{version}-%{release}
-
-%description -n %{name}-useradmin
-A web interface for Hue user administration
-
-It allows for Hue user administration
-
-%app_post_macro useradmin
-%app_preun_macro useradmin
-
-%files -n %{name}-useradmin
-%defattr(-, %{username}, %{username})
-%{useradmin_app_dir}
-
-#### HUE-SPARK PLUGIN ######
-%package -n %{name}-spark
-Summary: A UI for Spark on Hue
-Group: Applications/Engineering
-Requires: %{name}-common = %{version}-%{release}
-
-%description -n %{name}-spark
-A web interface for Spark.
-
-It allows users to interact with Spark
-
-%app_post_macro spark
-%app_preun_macro spark
-
-%files -n %{name}-spark
-%defattr(-, %{username}, %{username})
-%{spark_app_dir}
-
-#### HUE-ZOOKEEPER PLUGIN ######
-%package -n %{name}-zookeeper
-Summary: A UI for Zookeeper on Hue
-Group: Applications/Engineering
-Requires: %{name}-common = %{version}-%{release}
-
-%description -n %{name}-zookeeper
-A web interface for Zookeeper.
-
-It allows users to interact with Zookeeper
-
-%app_post_macro zookeeper
-%app_preun_macro zookeeper
-
-%files -n %{name}-zookeeper
-%defattr(-, %{username}, %{username})
-%{zookeeper_app_dir}