Skip to content

Commit

Permalink
Add cmake/ to release tarballs via concatenation
Browse files Browse the repository at this point in the history
The solution using append was reported not to work, but additionally it
would use the contents of the checked-out source tree instead of the git
tag or commit. This uses `git archive`, so it will use the right commit,
and at least for me (with GNU tar) it seems to work as intended.

Should fix llvm#53281.

Reviewed By: kwk

Differential Revision: https://reviews.llvm.org/D121972

(cherry picked from commit 3a33664)
  • Loading branch information
aaronpuchert authored and tstellar committed Apr 2, 2022
1 parent b69247d commit 23d0827
Showing 1 changed file with 12 additions and 8 deletions.
20 changes: 12 additions & 8 deletions llvm/utils/release/export.sh
Original file line number Diff line number Diff line change
Expand Up @@ -128,17 +128,21 @@ export_sources() {
-cJf test-suite-$release$rc.src.tar.xz test-suite-$release$rc.src
fi

# Package up top-level cmake directory so that we can append it to all projects.
tmp_dir=$(mktemp -d)
cmake_archive_file=$tmp_dir/cmake.tar
trap "rm -rv $tmp_dir" EXIT
pushd $llvm_src_dir
git archive -o $cmake_archive_file $tree_id cmake/
popd

for proj in $projects; do
echo "Creating tarball for $proj ..."
pushd $llvm_src_dir/$proj
target_archive_file=$target_dir/$(template_file $proj)
trap "rm -fv $target_archive_file.tmp" EXIT
git archive --prefix=$proj-$release$rc.src/ -o $target_archive_file.tmp $tree_id .
# Get relative path to top-level cmake directory to be packaged
# alongside the project. Append that path to the tarball.
cmake_rel_path=$(realpath --relative-to=. $llvm_src_dir/cmake)
tar --append -f $target_archive_file.tmp $cmake_rel_path
cat $target_archive_file.tmp | xz > $target_archive_file
tmp_archive_file=$tmp_dir/$proj.tar
git archive --prefix=$proj-$release$rc.src/ -o $tmp_archive_file $tree_id .
tar -Af $tmp_archive_file $cmake_archive_file
xz < $tmp_archive_file > $target_dir/$(template_file $proj)
popd
done
}
Expand Down

0 comments on commit 23d0827

Please sign in to comment.