1
0
Files
hudi/scripts/release/preparation_before_release.sh
Balaji Varadarajan 6e8a28bcae HUDI-121 : Address comments during RC2 voting
1. Remove dnl utils jar from git
2. Add LICENSE Headers in missing files
3. Fix NOTICE and LICENSE in all HUDI packages and in top-level
4. Fix License wording in certain HUDI source files
5. Include non java/scala code in RAT licensing check
6. Use whitelist to include dependencies as part of timeline-server bundling
2019-09-30 15:42:15 -07:00

105 lines
3.7 KiB
Bash
Executable File

#!/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.
#
# This script will install and configure GPG key.
set -e
LOCAL_SVN_DIR=local_svn_dir
ROOT_SVN_URL=https://dist.apache.org/repos/dist/
DEV_REPO=dev/incubator
RELEASE_REPO=release/incubator
HUDI_REPO=hudi
cd ~
echo "=================Checking GPG Key===================="
echo "You need a GPG key which reflects your Apache account."
echo "Do you want to generate a new GPG key associated with your Apache account? [y|N]"
read confirmation
if [[ $confirmation = "y" ]]; then
echo "===============Generating new GPG key================"
sudo apt-get install rng-tools
sudo rngd -r /dev/urandom
gpg --full-generate-key
fi
echo "================Listing all GPG keys================="
gpg --list-keys
echo "Please copy the public key which is associated with your Apache account:"
read pub_key
echo "===========Configuring git signing key==============="
git config --global user.signingkey $pub_key
git config --list
echo "===========Adding your key into KEYS file============"
echo "It's required to append your key into KEYS file in dist.apache.org"
echo "Have you put your key in KEYS? [y|N]"
read confirmation
if [[ $confirmation != "y" ]]; then
echo "Only PMC member can write into dist.apache.org. Are you a PMC member? [y|N]"
read pmc_permission
if [[ $pmc_permission != "y" ]]; then
echo "Please ask a PMC member to help you add your key in dev@ list."
echo "Skip adding key into dist.apache.org/KEYS file."
else
echo "Please input your name: "
read name
echo "======Starting updating KEYS file in dev repo===="
if [[ -d ${LOCAL_SVN_DIR} ]]; then
rm -rf ${LOCAL_SVN_DIR}
fi
mkdir ${LOCAL_SVN_DIR}
cd ${LOCAL_SVN_DIR}
svn co ${ROOT_SVN_URL}/${DEV_REPO}/${HUDI_REPO}
cd ${HUDI_REPO}
(gpg --list-sigs ${name} && gpg --armor --export ${name}) >> KEYS
svn status
echo "Please review all changes. Do you confirm to commit? [y|N]"
read commit_confirmation
if [[ $commit_confirmation = "y" ]]; then
svn commit --no-auth-cache KEYS
else
echo "Not commit new changes into ${ROOT_SVN_URL}/${DEV_REPO}/${HUDI_REPO}${DEV_REPO}/KEYS"
fi
cd ~/${LOCAL_SVN_DIR}
echo "===Starting updating KEYS file in release repo==="
svn co ${ROOT_SVN_URL}/${RELEASE_REPO}/${HUDI_REPO}
cd ${HUDI_REPO}
(gpg --list-sigs ${name} && gpg --armor --export ${name}) >> KEYS
svn status
echo "Please review all changes. Do you confirm to commit? [y|N]"
read commit_confirmation
if [[ $commit_confirmation = "y" ]]; then
svn commit --no-auth-cache KEYS
else
echo "Not commit new changes into ${ROOT_SVN_URL}/${DEV_REPO}/${HUDI_REPO}${RELEASE_REPO}/KEYS"
fi
cd ~
rm -rf ${LOCAL_SVN_DIR}
fi
fi
echo "================Setting up gpg agent================="
eval $(gpg-agent --daemon --no-grab --write-env-file $HOME/.gpg-agent-info)
export GPG_TTY=$(tty)
export GPG_AGENT_INFO