77 lines
1.9 KiB
Bash
Executable File
77 lines
1.9 KiB
Bash
Executable File
#!/bin/bash
|
|
#
|
|
# This script automatically bumps the version of Sabayon
|
|
# ebuilds.
|
|
|
|
. /etc/profile
|
|
|
|
if [ ${#} -lt 3 ]; then
|
|
echo "${0} <logs dir> <from date> <to date>" >&2
|
|
exit 1
|
|
fi
|
|
|
|
LOGS_DIR="${1}"
|
|
FROM_DATE="${2}"
|
|
TO_DATE="${3}"
|
|
BASE_DIR="${SABAYON_MOLECULE_HOME:-${HOME}}"
|
|
|
|
GIT_REPOSITORIES=(
|
|
"git://git.sabayon.org/projects/overlays/for-gentoo.git master upstream-overlay"
|
|
"git://git.sabayon.org/projects/overlays/sabayon.git master sabayon-overlay"
|
|
"git://github.com/Sabayon/molecules.git master sabayon-images"
|
|
"git://github.com/Sabayon/entropy.git master entropy"
|
|
"git://github.com/Sabayon/build.git master source-package-builds"
|
|
"git://github.com/Sabayon/anaconda.git master installer"
|
|
)
|
|
|
|
safe_run() {
|
|
for x in $(seq 10); do
|
|
"${@}" && return 0
|
|
sleep 30
|
|
done
|
|
return 1
|
|
}
|
|
|
|
pull_repo() {
|
|
local repo_uri="${1}"
|
|
local repo_branch="${2}"
|
|
local repo_dir="${3}"
|
|
local repo_name="${4}"
|
|
if [ ! -d "${repo_dir}" ]; then
|
|
safe_run git clone "${repo_uri}" "${repo_dir}" || return 1
|
|
else
|
|
(
|
|
cd "${repo_dir}" || exit 1
|
|
safe_run git pull --rebase || exit 1
|
|
) || return 1
|
|
fi
|
|
}
|
|
|
|
make_log() {
|
|
local repo_dir="${1}"
|
|
local repo_branch="${2}"
|
|
local repo_name="${3}"
|
|
|
|
(
|
|
cd "${repo_dir}" || exit 1
|
|
git log --since "${FROM_DATE}" --until "${TO_DATE}" \
|
|
> "${LOGS_DIR}/${repo_name}.log" || exit 1
|
|
) || return 1
|
|
}
|
|
|
|
|
|
bumped=()
|
|
for info in "${GIT_REPOSITORIES[@]}"; do
|
|
data=( ${info} )
|
|
repo_uri="${data[0]}"
|
|
repo_branch="${data[1]}"
|
|
repo_name="${data[2]}"
|
|
repos_dir="${BASE_DIR}/automatic-changelogs"
|
|
repo_dir="${repos_dir}/${repo_name}"
|
|
|
|
mkdir -p "${repos_dir}" || exit 1
|
|
pull_repo "${repo_uri}" "${repo_branch}" \
|
|
"${repo_dir}" "${repo_name}" || exit 1
|
|
make_log "${repo_dir}" "${repo_branch}" "${repo_name}" || exit 1
|
|
done
|