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