mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-03-03 22:47:32 +01:00
build: Drop make dist in gitian builds
This commit is contained in:
parent
1b151e3ffc
commit
1362be0447
6 changed files with 48 additions and 69 deletions
|
@ -140,18 +140,12 @@ script: |
|
|||
create_per-host_faketime_wrappers "${REFERENCE_DATETIME}"
|
||||
export PATH=${WRAP_DIR}:${PATH}
|
||||
|
||||
# Create the release tarball using (arbitrarily) the first host
|
||||
./autogen.sh
|
||||
CONFIG_SITE=${BASEPREFIX}/$(echo "${HOSTS}" | awk '{print $1;}')/share/config.site ./configure --prefix=/
|
||||
make dist
|
||||
SOURCEDIST=$(echo bitcoin-*.tar.gz)
|
||||
DISTNAME=${SOURCEDIST/%.tar.gz}
|
||||
|
||||
# Workaround for tarball not building with the bare tag version (prep)
|
||||
make -C src obj/build.h
|
||||
# Create the git archive, and define DISTNAME and GIT_ARCHIVE variables.
|
||||
# shellcheck source=contrib/gitian-descriptors/make_git_archive
|
||||
source contrib/gitian-descriptors/make_git_archive
|
||||
|
||||
ORIGPATH="$PATH"
|
||||
# Extract the release tarball into a dir for each host and build
|
||||
# Extract the git archive into a dir for each host and build
|
||||
for i in ${HOSTS}; do
|
||||
export PATH=${BASEPREFIX}/${i}/native/bin:${ORIGPATH}
|
||||
if [ "${i}" = "riscv64-linux-gnu" ]; then
|
||||
|
@ -165,13 +159,9 @@ script: |
|
|||
cd distsrc-${i}
|
||||
INSTALLPATH="${PWD}/installed/${DISTNAME}"
|
||||
mkdir -p ${INSTALLPATH}
|
||||
tar --strip-components=1 -xf ../$SOURCEDIST
|
||||
|
||||
# Workaround for tarball not building with the bare tag version
|
||||
echo '#!/bin/true' >share/genbuild.sh
|
||||
mkdir src/obj
|
||||
cp ../src/obj/build.h src/obj/
|
||||
tar -xf $GIT_ARCHIVE
|
||||
|
||||
./autogen.sh
|
||||
CONFIG_SITE=${BASEPREFIX}/${i}/share/config.site ./configure --prefix=/ --disable-ccache --disable-maintainer-mode --disable-dependency-tracking ${CONFIGFLAGS} CFLAGS="${HOST_CFLAGS}" CXXFLAGS="${HOST_CXXFLAGS}" LDFLAGS="${HOST_LDFLAGS}"
|
||||
make ${MAKEOPTS}
|
||||
make ${MAKEOPTS} -C src check-security
|
||||
|
@ -183,12 +173,9 @@ script: |
|
|||
rm -rf ${DISTNAME}/lib/pkgconfig
|
||||
find ${DISTNAME}/bin -type f -executable -print0 | xargs -0 -n1 -I{} ../contrib/devtools/split-debug.sh {} {} {}.dbg
|
||||
find ${DISTNAME}/lib -type f -print0 | xargs -0 -n1 -I{} ../contrib/devtools/split-debug.sh {} {} {}.dbg
|
||||
cp ../../README.md ${DISTNAME}/
|
||||
cp ../README.md ${DISTNAME}/
|
||||
find ${DISTNAME} -not -name "*.dbg" | sort | tar --mtime="$REFERENCE_DATETIME" --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ${OUTDIR}/${DISTNAME}-${i}.tar.gz
|
||||
find ${DISTNAME} -name "*.dbg" | sort | tar --mtime="$REFERENCE_DATETIME" --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ${OUTDIR}/${DISTNAME}-${i}-debug.tar.gz
|
||||
cd ../../
|
||||
rm -rf distsrc-${i}
|
||||
done
|
||||
|
||||
mkdir -p ${OUTDIR}/src
|
||||
git archive --output=${OUTDIR}/src/${DISTNAME}.tar.gz HEAD
|
||||
|
|
|
@ -103,31 +103,21 @@ script: |
|
|||
create_per-host_faketime_wrappers "${REFERENCE_DATETIME}"
|
||||
export PATH=${WRAP_DIR}:${PATH}
|
||||
|
||||
# Create the release tarball using (arbitrarily) the first host
|
||||
./autogen.sh
|
||||
CONFIG_SITE=${BASEPREFIX}/$(echo "${HOSTS}" | awk '{print $1;}')/share/config.site ./configure --prefix=/
|
||||
make dist
|
||||
SOURCEDIST=$(echo bitcoin-*.tar.gz)
|
||||
DISTNAME=${SOURCEDIST/%.tar.gz}
|
||||
|
||||
# Workaround for tarball not building with the bare tag version (prep)
|
||||
make -C src obj/build.h
|
||||
# Create the git archive, and define DISTNAME and GIT_ARCHIVE variables.
|
||||
# shellcheck source=contrib/gitian-descriptors/make_git_archive
|
||||
source contrib/gitian-descriptors/make_git_archive
|
||||
|
||||
ORIGPATH="$PATH"
|
||||
# Extract the release tarball into a dir for each host and build
|
||||
# Extract the git archive into a dir for each host and build
|
||||
for i in ${HOSTS}; do
|
||||
export PATH=${BASEPREFIX}/${i}/native/bin:${ORIGPATH}
|
||||
mkdir -p distsrc-${i}
|
||||
cd distsrc-${i}
|
||||
INSTALLPATH="${PWD}/installed/${DISTNAME}"
|
||||
mkdir -p ${INSTALLPATH}
|
||||
tar --strip-components=1 -xf ../$SOURCEDIST
|
||||
|
||||
# Workaround for tarball not building with the bare tag version
|
||||
echo '#!/bin/true' >share/genbuild.sh
|
||||
mkdir src/obj
|
||||
cp ../src/obj/build.h src/obj/
|
||||
tar -xf $GIT_ARCHIVE
|
||||
|
||||
./autogen.sh
|
||||
CONFIG_SITE=${BASEPREFIX}/${i}/share/config.site ./configure --prefix=/ --disable-ccache --disable-maintainer-mode --disable-dependency-tracking ${CONFIGFLAGS}
|
||||
make ${MAKEOPTS}
|
||||
make ${MAKEOPTS} -C src check-security
|
||||
|
@ -160,7 +150,4 @@ script: |
|
|||
cd ../../
|
||||
done
|
||||
|
||||
mkdir -p ${OUTDIR}/src
|
||||
git archive --output=${OUTDIR}/src/${DISTNAME}.tar.gz HEAD
|
||||
|
||||
mv ${OUTDIR}/${DISTNAME}-x86_64-*.tar.gz ${OUTDIR}/${DISTNAME}-osx64.tar.gz
|
||||
|
|
|
@ -110,38 +110,28 @@ script: |
|
|||
create_per-host_compiler_wrapper "${REFERENCE_DATETIME}"
|
||||
export PATH=${WRAP_DIR}:${PATH}
|
||||
|
||||
# Create the release tarball using (arbitrarily) the first host
|
||||
./autogen.sh
|
||||
CONFIG_SITE=${BASEPREFIX}/$(echo "${HOSTS}" | awk '{print $1;}')/share/config.site ./configure --prefix=/
|
||||
make dist
|
||||
SOURCEDIST=$(echo bitcoin-*.tar.gz)
|
||||
DISTNAME=${SOURCEDIST/%.tar.gz}
|
||||
|
||||
# Workaround for tarball not building with the bare tag version (prep)
|
||||
make -C src obj/build.h
|
||||
# Create the git archive, and define DISTNAME and GIT_ARCHIVE variables.
|
||||
# shellcheck source=contrib/gitian-descriptors/make_git_archive
|
||||
source contrib/gitian-descriptors/make_git_archive
|
||||
|
||||
ORIGPATH="$PATH"
|
||||
# Extract the release tarball into a dir for each host and build
|
||||
# Extract the git archive into a dir for each host and build
|
||||
for i in ${HOSTS}; do
|
||||
export PATH=${BASEPREFIX}/${i}/native/bin:${ORIGPATH}
|
||||
mkdir -p distsrc-${i}
|
||||
cd distsrc-${i}
|
||||
INSTALLPATH="${PWD}/installed/${DISTNAME}"
|
||||
mkdir -p ${INSTALLPATH}
|
||||
tar --strip-components=1 -xf ../$SOURCEDIST
|
||||
|
||||
# Workaround for tarball not building with the bare tag version
|
||||
echo '#!/bin/true' >share/genbuild.sh
|
||||
mkdir src/obj
|
||||
cp ../src/obj/build.h src/obj/
|
||||
tar -xf $GIT_ARCHIVE
|
||||
|
||||
./autogen.sh
|
||||
CONFIG_SITE=${BASEPREFIX}/${i}/share/config.site ./configure --prefix=/ --disable-ccache --disable-maintainer-mode --disable-dependency-tracking ${CONFIGFLAGS} CFLAGS="${HOST_CFLAGS}" CXXFLAGS="${HOST_CXXFLAGS}"
|
||||
make ${MAKEOPTS}
|
||||
make ${MAKEOPTS} -C src check-security
|
||||
make ${MAKEOPTS} -C src check-symbols
|
||||
make deploy
|
||||
make install DESTDIR=${INSTALLPATH}
|
||||
cp -f --target-directory="${OUTDIR}" ./bitcoin-*-setup-unsigned.exe
|
||||
cp -f ./bitcoin-*-win64-setup-unsigned.exe ${OUTDIR}/${DISTNAME}-win64-setup-unsigned.exe
|
||||
cd installed
|
||||
mv ${DISTNAME}/bin/*.dll ${DISTNAME}/lib/
|
||||
find . -name "lib*.la" -delete
|
||||
|
@ -156,11 +146,8 @@ script: |
|
|||
rm -rf distsrc-${i}
|
||||
done
|
||||
|
||||
mkdir -p ${OUTDIR}/src
|
||||
git archive --output=${OUTDIR}/src/${DISTNAME}.tar.gz HEAD
|
||||
|
||||
cp -rf contrib/windeploy $BUILD_DIR
|
||||
cd $BUILD_DIR/windeploy
|
||||
mkdir unsigned
|
||||
cp $OUTDIR/bitcoin-*setup-unsigned.exe unsigned/
|
||||
cp ${OUTDIR}/${DISTNAME}-win64-setup-unsigned.exe unsigned/
|
||||
find . | sort | tar --mtime="$REFERENCE_DATETIME" --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ${OUTDIR}/${DISTNAME}-win-unsigned.tar.gz
|
||||
|
|
20
contrib/gitian-descriptors/make_git_archive
Executable file
20
contrib/gitian-descriptors/make_git_archive
Executable file
|
@ -0,0 +1,20 @@
|
|||
# Copyright (c) 2020 The Bitcoin Core developers
|
||||
# Distributed under the MIT software license, see the accompanying
|
||||
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||
#
|
||||
# A helper script to be sourced into the gitian descriptors
|
||||
|
||||
mkdir -p ${OUTDIR}/src
|
||||
RECENT_TAG=$(git describe --abbrev=0 HEAD)
|
||||
if [ $RECENT_TAG = $(git describe HEAD) ]; then
|
||||
if [[ $RECENT_TAG == v* ]]; then
|
||||
VERSION=${RECENT_TAG:1}
|
||||
else
|
||||
VERSION=$RECENT_TAG
|
||||
fi
|
||||
else
|
||||
VERSION=$(git rev-parse --short HEAD)
|
||||
fi
|
||||
DISTNAME=bitcoin-${VERSION}
|
||||
GIT_ARCHIVE="${OUTDIR}/src/${DISTNAME}.tar.gz"
|
||||
git archive --output=$GIT_ARCHIVE HEAD
|
|
@ -18,13 +18,9 @@ else
|
|||
exit 1
|
||||
fi
|
||||
|
||||
git_check_in_repo() {
|
||||
! { git status --porcelain -uall --ignored "$@" 2>/dev/null || echo '??'; } | grep -q '?'
|
||||
}
|
||||
|
||||
DESC=""
|
||||
SUFFIX=""
|
||||
if [ "${BITCOIN_GENBUILD_NO_GIT}" != "1" ] && [ -e "$(command -v git)" ] && [ "$(git rev-parse --is-inside-work-tree 2>/dev/null)" = "true" ] && git_check_in_repo share/genbuild.sh; then
|
||||
if [ "${BITCOIN_GENBUILD_NO_GIT}" != "1" ] && [ -e "$(command -v git)" ] && [ "$(git rev-parse --is-inside-work-tree 2>/dev/null)" = "true" ]; then
|
||||
# clean 'dirty' status of touched files that haven't been modified
|
||||
git diff >/dev/null 2>/dev/null
|
||||
|
||||
|
|
|
@ -46,15 +46,17 @@ if ! command -v yq > /dev/null; then
|
|||
fi
|
||||
|
||||
EXCLUDE_GITIAN=${EXCLUDE}",$(IFS=','; echo "${disabled_gitian[*]}")"
|
||||
SHELLCHECK_CMD="shellcheck --external-sources --check-sourced $EXCLUDE_GITIAN"
|
||||
for descriptor in $(git ls-files -- 'contrib/gitian-descriptors/*.yml')
|
||||
do
|
||||
echo
|
||||
echo "$descriptor"
|
||||
script=$(basename "$descriptor")
|
||||
# Use #!/bin/bash as gitian-builder/bin/gbuild does to complete a script.
|
||||
SCRIPT=$'#!/bin/bash\n'$(yq -r .script "$descriptor")
|
||||
if ! echo "$SCRIPT" | shellcheck "$EXCLUDE_GITIAN" -; then
|
||||
echo "#!/bin/bash" > $script
|
||||
yq -r .script "$descriptor" >> $script
|
||||
if ! $SHELLCHECK_CMD $script; then
|
||||
EXIT_CODE=1
|
||||
fi
|
||||
rm $script
|
||||
done
|
||||
|
||||
exit $EXIT_CODE
|
||||
|
|
Loading…
Add table
Reference in a new issue