mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-03-04 07:07:45 +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}"
|
create_per-host_faketime_wrappers "${REFERENCE_DATETIME}"
|
||||||
export PATH=${WRAP_DIR}:${PATH}
|
export PATH=${WRAP_DIR}:${PATH}
|
||||||
|
|
||||||
# Create the release tarball using (arbitrarily) the first host
|
# Create the git archive, and define DISTNAME and GIT_ARCHIVE variables.
|
||||||
./autogen.sh
|
# shellcheck source=contrib/gitian-descriptors/make_git_archive
|
||||||
CONFIG_SITE=${BASEPREFIX}/$(echo "${HOSTS}" | awk '{print $1;}')/share/config.site ./configure --prefix=/
|
source contrib/gitian-descriptors/make_git_archive
|
||||||
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
|
|
||||||
|
|
||||||
ORIGPATH="$PATH"
|
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
|
for i in ${HOSTS}; do
|
||||||
export PATH=${BASEPREFIX}/${i}/native/bin:${ORIGPATH}
|
export PATH=${BASEPREFIX}/${i}/native/bin:${ORIGPATH}
|
||||||
if [ "${i}" = "riscv64-linux-gnu" ]; then
|
if [ "${i}" = "riscv64-linux-gnu" ]; then
|
||||||
|
@ -165,13 +159,9 @@ script: |
|
||||||
cd distsrc-${i}
|
cd distsrc-${i}
|
||||||
INSTALLPATH="${PWD}/installed/${DISTNAME}"
|
INSTALLPATH="${PWD}/installed/${DISTNAME}"
|
||||||
mkdir -p ${INSTALLPATH}
|
mkdir -p ${INSTALLPATH}
|
||||||
tar --strip-components=1 -xf ../$SOURCEDIST
|
tar -xf $GIT_ARCHIVE
|
||||||
|
|
||||||
# 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/
|
|
||||||
|
|
||||||
|
./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}"
|
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}
|
||||||
make ${MAKEOPTS} -C src check-security
|
make ${MAKEOPTS} -C src check-security
|
||||||
|
@ -183,12 +173,9 @@ script: |
|
||||||
rm -rf ${DISTNAME}/lib/pkgconfig
|
rm -rf ${DISTNAME}/lib/pkgconfig
|
||||||
find ${DISTNAME}/bin -type f -executable -print0 | xargs -0 -n1 -I{} ../contrib/devtools/split-debug.sh {} {} {}.dbg
|
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
|
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} -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
|
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 ../../
|
cd ../../
|
||||||
rm -rf distsrc-${i}
|
rm -rf distsrc-${i}
|
||||||
done
|
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}"
|
create_per-host_faketime_wrappers "${REFERENCE_DATETIME}"
|
||||||
export PATH=${WRAP_DIR}:${PATH}
|
export PATH=${WRAP_DIR}:${PATH}
|
||||||
|
|
||||||
# Create the release tarball using (arbitrarily) the first host
|
# Create the git archive, and define DISTNAME and GIT_ARCHIVE variables.
|
||||||
./autogen.sh
|
# shellcheck source=contrib/gitian-descriptors/make_git_archive
|
||||||
CONFIG_SITE=${BASEPREFIX}/$(echo "${HOSTS}" | awk '{print $1;}')/share/config.site ./configure --prefix=/
|
source contrib/gitian-descriptors/make_git_archive
|
||||||
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
|
|
||||||
|
|
||||||
ORIGPATH="$PATH"
|
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
|
for i in ${HOSTS}; do
|
||||||
export PATH=${BASEPREFIX}/${i}/native/bin:${ORIGPATH}
|
export PATH=${BASEPREFIX}/${i}/native/bin:${ORIGPATH}
|
||||||
mkdir -p distsrc-${i}
|
mkdir -p distsrc-${i}
|
||||||
cd distsrc-${i}
|
cd distsrc-${i}
|
||||||
INSTALLPATH="${PWD}/installed/${DISTNAME}"
|
INSTALLPATH="${PWD}/installed/${DISTNAME}"
|
||||||
mkdir -p ${INSTALLPATH}
|
mkdir -p ${INSTALLPATH}
|
||||||
tar --strip-components=1 -xf ../$SOURCEDIST
|
tar -xf $GIT_ARCHIVE
|
||||||
|
|
||||||
# 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/
|
|
||||||
|
|
||||||
|
./autogen.sh
|
||||||
CONFIG_SITE=${BASEPREFIX}/${i}/share/config.site ./configure --prefix=/ --disable-ccache --disable-maintainer-mode --disable-dependency-tracking ${CONFIGFLAGS}
|
CONFIG_SITE=${BASEPREFIX}/${i}/share/config.site ./configure --prefix=/ --disable-ccache --disable-maintainer-mode --disable-dependency-tracking ${CONFIGFLAGS}
|
||||||
make ${MAKEOPTS}
|
make ${MAKEOPTS}
|
||||||
make ${MAKEOPTS} -C src check-security
|
make ${MAKEOPTS} -C src check-security
|
||||||
|
@ -160,7 +150,4 @@ script: |
|
||||||
cd ../../
|
cd ../../
|
||||||
done
|
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
|
mv ${OUTDIR}/${DISTNAME}-x86_64-*.tar.gz ${OUTDIR}/${DISTNAME}-osx64.tar.gz
|
||||||
|
|
|
@ -110,38 +110,28 @@ script: |
|
||||||
create_per-host_compiler_wrapper "${REFERENCE_DATETIME}"
|
create_per-host_compiler_wrapper "${REFERENCE_DATETIME}"
|
||||||
export PATH=${WRAP_DIR}:${PATH}
|
export PATH=${WRAP_DIR}:${PATH}
|
||||||
|
|
||||||
# Create the release tarball using (arbitrarily) the first host
|
# Create the git archive, and define DISTNAME and GIT_ARCHIVE variables.
|
||||||
./autogen.sh
|
# shellcheck source=contrib/gitian-descriptors/make_git_archive
|
||||||
CONFIG_SITE=${BASEPREFIX}/$(echo "${HOSTS}" | awk '{print $1;}')/share/config.site ./configure --prefix=/
|
source contrib/gitian-descriptors/make_git_archive
|
||||||
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
|
|
||||||
|
|
||||||
ORIGPATH="$PATH"
|
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
|
for i in ${HOSTS}; do
|
||||||
export PATH=${BASEPREFIX}/${i}/native/bin:${ORIGPATH}
|
export PATH=${BASEPREFIX}/${i}/native/bin:${ORIGPATH}
|
||||||
mkdir -p distsrc-${i}
|
mkdir -p distsrc-${i}
|
||||||
cd distsrc-${i}
|
cd distsrc-${i}
|
||||||
INSTALLPATH="${PWD}/installed/${DISTNAME}"
|
INSTALLPATH="${PWD}/installed/${DISTNAME}"
|
||||||
mkdir -p ${INSTALLPATH}
|
mkdir -p ${INSTALLPATH}
|
||||||
tar --strip-components=1 -xf ../$SOURCEDIST
|
tar -xf $GIT_ARCHIVE
|
||||||
|
|
||||||
# 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/
|
|
||||||
|
|
||||||
|
./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}"
|
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}
|
||||||
make ${MAKEOPTS} -C src check-security
|
make ${MAKEOPTS} -C src check-security
|
||||||
make ${MAKEOPTS} -C src check-symbols
|
make ${MAKEOPTS} -C src check-symbols
|
||||||
make deploy
|
make deploy
|
||||||
make install DESTDIR=${INSTALLPATH}
|
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
|
cd installed
|
||||||
mv ${DISTNAME}/bin/*.dll ${DISTNAME}/lib/
|
mv ${DISTNAME}/bin/*.dll ${DISTNAME}/lib/
|
||||||
find . -name "lib*.la" -delete
|
find . -name "lib*.la" -delete
|
||||||
|
@ -156,11 +146,8 @@ script: |
|
||||||
rm -rf distsrc-${i}
|
rm -rf distsrc-${i}
|
||||||
done
|
done
|
||||||
|
|
||||||
mkdir -p ${OUTDIR}/src
|
|
||||||
git archive --output=${OUTDIR}/src/${DISTNAME}.tar.gz HEAD
|
|
||||||
|
|
||||||
cp -rf contrib/windeploy $BUILD_DIR
|
cp -rf contrib/windeploy $BUILD_DIR
|
||||||
cd $BUILD_DIR/windeploy
|
cd $BUILD_DIR/windeploy
|
||||||
mkdir unsigned
|
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
|
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
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
git_check_in_repo() {
|
|
||||||
! { git status --porcelain -uall --ignored "$@" 2>/dev/null || echo '??'; } | grep -q '?'
|
|
||||||
}
|
|
||||||
|
|
||||||
DESC=""
|
DESC=""
|
||||||
SUFFIX=""
|
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
|
# clean 'dirty' status of touched files that haven't been modified
|
||||||
git diff >/dev/null 2>/dev/null
|
git diff >/dev/null 2>/dev/null
|
||||||
|
|
||||||
|
|
|
@ -46,15 +46,17 @@ if ! command -v yq > /dev/null; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
EXCLUDE_GITIAN=${EXCLUDE}",$(IFS=','; echo "${disabled_gitian[*]}")"
|
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')
|
for descriptor in $(git ls-files -- 'contrib/gitian-descriptors/*.yml')
|
||||||
do
|
do
|
||||||
echo
|
script=$(basename "$descriptor")
|
||||||
echo "$descriptor"
|
|
||||||
# Use #!/bin/bash as gitian-builder/bin/gbuild does to complete a script.
|
# Use #!/bin/bash as gitian-builder/bin/gbuild does to complete a script.
|
||||||
SCRIPT=$'#!/bin/bash\n'$(yq -r .script "$descriptor")
|
echo "#!/bin/bash" > $script
|
||||||
if ! echo "$SCRIPT" | shellcheck "$EXCLUDE_GITIAN" -; then
|
yq -r .script "$descriptor" >> $script
|
||||||
|
if ! $SHELLCHECK_CMD $script; then
|
||||||
EXIT_CODE=1
|
EXIT_CODE=1
|
||||||
fi
|
fi
|
||||||
|
rm $script
|
||||||
done
|
done
|
||||||
|
|
||||||
exit $EXIT_CODE
|
exit $EXIT_CODE
|
||||||
|
|
Loading…
Add table
Reference in a new issue