1#!/bin/sh 2# Copyright (c) 2023 Petr Vorel <pvorel@suse.cz> 3# Create tarballs and metadata for uploading after tagging release. 4# https://github.com/linux-test-project/ltp/wiki/LTP-Release-Procedure 5set -e 6 7tag="$(date +%Y%m%d)" 8tarball_dir="ltp-full-$tag" 9extensions="bz2 xz" 10checksums="md5 sha1 sha256" 11git_dir=$(cd $(dirname "$0")/..; pwd) 12dir="$(cd $git_dir/../; pwd)/ltp-release-$tag" 13 14. $(dirname "$0")/lib.sh 15 16if [ -d $dir ]; then 17 ask "Directory '$dir' exists, will be deleted" 18 rm -rf $dir 19fi 20rod mkdir $dir 21cd $dir 22dir=$PWD 23 24# git clone (local) 25title "git clone" 26rod git clone $git_dir $tarball_dir 27rod cd $tarball_dir 28 29title "Update submodules" 30rod git submodule update --init 31 32title "Generate configure script" 33rod make autotools 34 35# tarballs, checksums 36title "Generate tarballs" 37cd .. 38rod tar --exclude .git -cjf $tarball_dir.tar.bz2 $tarball_dir 39rod tar --exclude .git -cJf $tarball_dir.tar.xz $tarball_dir 40 41title "Generate checksums" 42for alg in $checksums; do 43 for ext in $extensions; do 44 file="$tarball_dir.tar.$ext" 45 ${alg}sum $file > "$file.$alg" 46 done 47done 48 49# metadata documentation 50title "Generate metadata documentation" 51cd $tarball_dir 52rod ./configure --with-metadata-generator=asciidoctor 53rod make -C metadata 54cp -v docparse/metadata.html $dir/metadata.$tag.html 55 56echo "Generated files are in '$dir', upload them to github" 57