WIP génération tarball sources
This commit is contained in:
70
hooks/00-git/create-changelog-prebuild
Executable file
70
hooks/00-git/create-changelog-prebuild
Executable file
@ -0,0 +1,70 @@
|
||||
#!/usr/bin/env bash
|
||||
source "${TAMARIN_UTIL}"
|
||||
|
||||
if [ -f debian/changelog ] || [ ! -d .git ]; then
|
||||
info "Not a Git repository or Debian changelog already exists !"
|
||||
exit
|
||||
fi
|
||||
|
||||
# Get commits log as changelog
|
||||
|
||||
BUILD_BRANCH=$(get_opt build_branch dist/ubuntu/precise/master)
|
||||
BUILD_TAG=$(get_opt build_tag "last")
|
||||
|
||||
echo "BUILD TAG IS ${BUILD_TAG}"
|
||||
|
||||
if [[ ${BUILD_TAG} == "last" ]]
|
||||
then
|
||||
git checkout ${BUILD_BRANCH}
|
||||
tags=$(git tag master -l "release/*"|sort -r)
|
||||
else
|
||||
info "DEBUG DEBUG DEBUG "
|
||||
tagbranch="build-tag-${BUILD_TAG}"
|
||||
git checkout -b ${tagbranch}
|
||||
set_opt "tag_branch" "${tag_branch}"
|
||||
tags="${BUILD_TAG}"
|
||||
fi
|
||||
|
||||
if [[ -z ${tags} ]]
|
||||
then
|
||||
error "No relase tag found, you repo must have a tag like 'release/X.X'"
|
||||
exit 2
|
||||
fi
|
||||
|
||||
touch debian/changelog
|
||||
|
||||
for tag in ${tags}
|
||||
do
|
||||
logs=$(git log --pretty=format:"%an - %h : %s" ${tag} | sed 's/"/\\"/g')
|
||||
|
||||
# Set the top commiter as the maintainer of the project if not defined
|
||||
top_contributor=$(git log --pretty=short | git shortlog -s -n -e | sed 's/^\s*[0-9]*\s*//g' | head -n 1)
|
||||
maintainer=$(get_opt maintainer "${top_contributor}")
|
||||
|
||||
project_name=$(get_opt project_name)
|
||||
version=${tag#*/} #$(get_opt version 0.0.0)
|
||||
version=${version/_/-} #$(get_opt version 0.0.0)
|
||||
distribution=$(get_opt distribution UNRELEASED)
|
||||
urgency=$(get_opt urgency low)
|
||||
|
||||
commit_count=$(git rev-list --count --first-parent HEAD)
|
||||
current_commit=$(git log -n 1 --pretty=format:"%h")
|
||||
version_suffix=${commit_count}~${current_commit}
|
||||
|
||||
package_version=${version}.tamarin${version_suffix}
|
||||
# Share computed package version
|
||||
set_opt package_version ${package_version}
|
||||
|
||||
echo "${project_name} (${package_version}) ${distribution}; urgency=${urgency}" >> debian/changelog
|
||||
|
||||
echo >> debian/changelog
|
||||
|
||||
while read -r entry; do
|
||||
echo " * ${entry}" >> debian/changelog
|
||||
done <<< "$(echo -e "${logs}" | sed 's/^"//')"
|
||||
|
||||
echo >> debian/changelog
|
||||
|
||||
echo " -- ${maintainer} $(date -R)" >> debian/changelog
|
||||
echo >> debian/changelog
|
||||
done
|
Reference in New Issue
Block a user