xref: /aosp_15_r20/external/ltp/tools/create-tarballs-metadata.sh (revision 49cdfc7efb34551c7342be41a7384b9c40d7cab7)
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