mirror of
https://github.com/curl/curl.git
synced 2024-12-21 06:50:10 +08:00
fd6c16c345
When maketgz invokes this script to generate the docs/RELEASE-TOOLS.md file that gets bundled in the release, it now also passes on the exact timestamp and version number so that those details also get mentioned in the document. They will help users reproduce an identical tarball. Closes #13319
76 lines
1.9 KiB
Bash
Executable File
76 lines
1.9 KiB
Bash
Executable File
#!/bin/sh
|
|
#***************************************************************************
|
|
# _ _ ____ _
|
|
# Project ___| | | | _ \| |
|
|
# / __| | | | |_) | |
|
|
# | (__| |_| | _ <| |___
|
|
# \___|\___/|_| \_\_____|
|
|
#
|
|
# Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al.
|
|
#
|
|
# This software is licensed as described in the file COPYING, which
|
|
# you should have received as part of this distribution. The terms
|
|
# are also available at https://curl.se/docs/copyright.html.
|
|
#
|
|
# You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
|
# copies of the Software, and permit persons to whom the Software is
|
|
# furnished to do so, under the terms of the COPYING file.
|
|
#
|
|
# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
|
# KIND, either express or implied.
|
|
#
|
|
# SPDX-License-Identifier: curl
|
|
#
|
|
###########################################################################
|
|
|
|
set -eu
|
|
|
|
# this should ideally be passed in
|
|
timestamp=${1:-unknown}
|
|
version=${2:-unknown}
|
|
tag=$(echo "curl-$version" | tr '.' '_')
|
|
|
|
cat <<MOO
|
|
# Release tools used for curl $version
|
|
|
|
The following tools and their Debian package version numbers were used to
|
|
produce this release tarball.
|
|
|
|
MOO
|
|
|
|
exists=$(command -v dpkg 2>/dev/null)
|
|
if test ! -e "$exists"; then
|
|
echo "(unknown, could not find dpkg)"
|
|
exit
|
|
fi
|
|
|
|
debian() {
|
|
echo "- $1: $(dpkg -l "$1" | grep ^ii | awk '{print $3}')"
|
|
}
|
|
debian autoconf
|
|
debian automake
|
|
debian libtool
|
|
debian make
|
|
debian perl
|
|
debian git
|
|
|
|
cat <<MOO
|
|
|
|
# Reproduce the tarball
|
|
|
|
- Clone the repo and checkout the tag: $tag
|
|
- Install the same set of tools + versions as listed above
|
|
|
|
## Do a standard build
|
|
|
|
- autoreconf -fi
|
|
- ./configure [...]
|
|
- make
|
|
|
|
## Generate the tarball with the same timestamp
|
|
|
|
- export SOURCE_DATE_EPOCH=$timestamp
|
|
- ./maketgz [version]
|
|
|
|
MOO
|