mirror of
https://github.com/dashpay/dash.git
synced 2024-12-24 19:42:46 +01:00
Merge #18331: build: Use git archive as source tarball
e4d366788bc2e8dce8e6ca572fce08d913d15d6b build: Drop needless EXTRA_DIST content (Hennadii Stepanov) 6c4da59f5b5b3c40526d38965d4ffa7fd59f2ebc build: Drop SOURCEDIST reordering (Hennadii Stepanov) 5e6b8b391243016cb06e9e107c2e6a13a744b31e build: Use git archive as source tarball (Hennadii Stepanov) Pull request description: This PR: - is an alternative to #17104 - closes #16734 - closes #6753 The idea is clear described by some developers: - [MarcoFalke](https://github.com/bitcoin/bitcoin/pull/17097#issuecomment-540691850): > This whole concept of explicitly listing each and every file manually (or with a fragile wildcard) is an obvious sisyphean task. I'd say all we need to do is run git archive and be done with it forever, see #16734, #6753, #11530 ... - [laanwj](https://github.com/bitcoin/bitcoin/pull/17097#issuecomment-540706025): > I agree, I've never been a fan of it. I don't think we have any files in the git repository we don't want to ship in the source tarball. --- The suggested changes have a downside which is pointed by [**luke-jr**](https://github.com/bitcoin/bitcoin/pull/17104#issuecomment-540828045): > ... but the distfile needs to include autogen-generated files. This means that a user is not able to run `./configure && make` right away. One must run `./autogen.sh` at first. Here are opinions about mandatory use of `./autogen.sh`: - [ryanofsky](https://github.com/bitcoin/bitcoin/issues/16734#issuecomment-534139356): > It's probably ok to require autogen. I think historically configure scripts were supposed to work on obscure unix systems that would just have a generic shell + make tool + c compiler, and not necessarily need gnu packages like m4 which are needed for autogen. - [laanwj](https://github.com/bitcoin/bitcoin/issues/16734#issuecomment-540729483): > I also think it's fine to require autogen. What is one dependency more, if you're building from source. --- ~Also this PR provides Windows users with ZIP archives of the sources. Additionally the commit ID is stored in these ZIP files as a file comment:~ --- Note for reviewers: please verify is `git archive` output deterministic? ACKs for top commit: MarcoFalke: re-ACK e4d366788bc2e8dce8e6ca572fce08d913d15d6b, only change is adding two dots in a the path 🛳 laanwj: ACK e4d366788bc2e8dce8e6ca572fce08d913d15d6b Tree-SHA512: d1153d3ca4a580696019b92be3555ab004d197d9a2146aacff9d3150eb7093b7d40eebd6eea12d861d93ff62d62b68706e04e64dbe5ea796ff6757486e462193
This commit is contained in:
parent
b5f5bf7330
commit
83cbc3c811
13
Makefile.am
13
Makefile.am
@ -1,4 +1,4 @@
|
|||||||
# Copyright (c) 2013-2016 The Bitcoin Core developers
|
# Copyright (c) 2013-2020 The Bitcoin Core developers
|
||||||
# Copyright (c) 2014-2018 The Dash Core developers
|
# Copyright (c) 2014-2018 The Dash Core developers
|
||||||
# Distributed under the MIT software license, see the accompanying
|
# Distributed under the MIT software license, see the accompanying
|
||||||
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||||
@ -46,11 +46,10 @@ OSX_INSTALLER_ICONS=$(top_srcdir)/src/qt/res/icons/dash.icns
|
|||||||
OSX_PLIST=$(top_builddir)/share/qt/Info.plist #not installed
|
OSX_PLIST=$(top_builddir)/share/qt/Info.plist #not installed
|
||||||
OSX_QT_TRANSLATIONS = ar,bg,ca,cs,da,de,es,fa,fi,fr,gd,gl,he,hu,it,ja,ko,lt,lv,pl,pt,ru,sk,sl,sv,uk,zh_CN,zh_TW
|
OSX_QT_TRANSLATIONS = ar,bg,ca,cs,da,de,es,fa,fi,fr,gd,gl,he,hu,it,ja,ko,lt,lv,pl,pt,ru,sk,sl,sv,uk,zh_CN,zh_TW
|
||||||
|
|
||||||
DIST_DOCS = $(wildcard doc/*.md) $(wildcard doc/release-notes/*.md)
|
DIST_CONTRIB = \
|
||||||
DIST_CONTRIB = $(top_srcdir)/contrib/dash-cli.bash-completion \
|
$(top_srcdir)/contrib/linearize/linearize-data.py \
|
||||||
$(top_srcdir)/contrib/dash-tx.bash-completion \
|
$(top_srcdir)/contrib/linearize/linearize-hashes.py
|
||||||
$(top_srcdir)/contrib/dashd.bash-completion \
|
|
||||||
$(top_srcdir)/contrib/init
|
|
||||||
DIST_SHARE = \
|
DIST_SHARE = \
|
||||||
$(top_srcdir)/share/genbuild.sh \
|
$(top_srcdir)/share/genbuild.sh \
|
||||||
$(top_srcdir)/share/rpcauth
|
$(top_srcdir)/share/rpcauth
|
||||||
@ -235,7 +234,7 @@ endif
|
|||||||
|
|
||||||
dist_noinst_SCRIPTS = autogen.sh
|
dist_noinst_SCRIPTS = autogen.sh
|
||||||
|
|
||||||
EXTRA_DIST = $(DIST_SHARE) $(DIST_CONTRIB) $(DIST_DOCS) $(WINDOWS_PACKAGING) $(OSX_PACKAGING) $(BIN_CHECKS)
|
EXTRA_DIST = $(DIST_SHARE) $(DIST_CONTRIB) $(WINDOWS_PACKAGING) $(OSX_PACKAGING) $(BIN_CHECKS)
|
||||||
|
|
||||||
EXTRA_DIST += \
|
EXTRA_DIST += \
|
||||||
test/functional \
|
test/functional \
|
||||||
|
@ -175,13 +175,6 @@ script: |
|
|||||||
SOURCEDIST=$(echo dashcore-*.tar.gz)
|
SOURCEDIST=$(echo dashcore-*.tar.gz)
|
||||||
DISTNAME=${SOURCEDIST/%.tar.gz}
|
DISTNAME=${SOURCEDIST/%.tar.gz}
|
||||||
|
|
||||||
# Correct tar file order
|
|
||||||
mkdir -p temp
|
|
||||||
pushd temp
|
|
||||||
tar -xf ../$SOURCEDIST
|
|
||||||
find dashcore-* | sort | tar --mtime="$REFERENCE_DATETIME" --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ../$SOURCEDIST
|
|
||||||
popd
|
|
||||||
|
|
||||||
# Workaround for tarball not building with the bare tag version (prep)
|
# Workaround for tarball not building with the bare tag version (prep)
|
||||||
make -C src obj/build.h
|
make -C src obj/build.h
|
||||||
|
|
||||||
@ -218,14 +211,14 @@ 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
|
mkdir -p ${OUTDIR}/src
|
||||||
mv $SOURCEDIST $OUTDIR/src
|
git archive --output=${OUTDIR}/src/${DISTNAME}.tar.gz HEAD
|
||||||
|
|
||||||
# Compress ccache (otherwise the assert file will get too huge)
|
# Compress ccache (otherwise the assert file will get too huge)
|
||||||
if [ "$CCACHE_DIR" != "" ]; then
|
if [ "$CCACHE_DIR" != "" ]; then
|
||||||
@ -234,3 +227,4 @@ script: |
|
|||||||
rm -rf ccache
|
rm -rf ccache
|
||||||
popd
|
popd
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -129,13 +129,6 @@ script: |
|
|||||||
SOURCEDIST=$(echo dashcore-*.tar.gz)
|
SOURCEDIST=$(echo dashcore-*.tar.gz)
|
||||||
DISTNAME=${SOURCEDIST/%.tar.gz}
|
DISTNAME=${SOURCEDIST/%.tar.gz}
|
||||||
|
|
||||||
# Correct tar file order
|
|
||||||
mkdir -p temp
|
|
||||||
pushd temp
|
|
||||||
tar -xf ../$SOURCEDIST
|
|
||||||
find dashcore-* | sort | tar --mtime="$REFERENCE_DATETIME" --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ../$SOURCEDIST
|
|
||||||
popd
|
|
||||||
|
|
||||||
# Workaround for tarball not building with the bare tag version (prep)
|
# Workaround for tarball not building with the bare tag version (prep)
|
||||||
make -C src obj/build.h
|
make -C src obj/build.h
|
||||||
|
|
||||||
@ -184,8 +177,9 @@ script: |
|
|||||||
find ${DISTNAME} -path '*.dSYM*' | 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} -path '*.dSYM*' | 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 ../../
|
||||||
done
|
done
|
||||||
mkdir -p $OUTDIR/src
|
mkdir -p ${OUTDIR}/src
|
||||||
mv $SOURCEDIST $OUTDIR/src
|
git archive --output=${OUTDIR}/src/${DISTNAME}.tar.gz HEAD
|
||||||
|
|
||||||
mv ${OUTDIR}/${DISTNAME}-x86_64-apple-darwin19.tar.gz ${OUTDIR}/${DISTNAME}-osx64.tar.gz
|
mv ${OUTDIR}/${DISTNAME}-x86_64-apple-darwin19.tar.gz ${OUTDIR}/${DISTNAME}-osx64.tar.gz
|
||||||
mv ${OUTDIR}/${DISTNAME}-x86_64-apple-darwin19-debug.tar.gz ${OUTDIR}/${DISTNAME}-osx64-debug.tar.gz
|
mv ${OUTDIR}/${DISTNAME}-x86_64-apple-darwin19-debug.tar.gz ${OUTDIR}/${DISTNAME}-osx64-debug.tar.gz
|
||||||
|
|
||||||
|
@ -143,14 +143,8 @@ script: |
|
|||||||
./autogen.sh
|
./autogen.sh
|
||||||
CONFIG_SITE=${BASEPREFIX}/$(echo "${HOSTS}" | awk '{print $1;}')/share/config.site ./configure --prefix=/
|
CONFIG_SITE=${BASEPREFIX}/$(echo "${HOSTS}" | awk '{print $1;}')/share/config.site ./configure --prefix=/
|
||||||
make dist
|
make dist
|
||||||
SOURCEDIST=`echo dashcore-*.tar.gz`
|
SOURCEDIST=$(echo dashcore-*.tar.gz)
|
||||||
DISTNAME=`echo ${SOURCEDIST} | sed 's/.tar.*//'`
|
DISTNAME=${SOURCEDIST/%.tar.gz}
|
||||||
# Correct tar file order
|
|
||||||
mkdir -p temp
|
|
||||||
pushd temp
|
|
||||||
tar -xf ../$SOURCEDIST
|
|
||||||
find dashcore-* | sort | tar --mtime="$REFERENCE_DATETIME" --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ../$SOURCEDIST
|
|
||||||
popd
|
|
||||||
|
|
||||||
# Workaround for tarball not building with the bare tag version (prep)
|
# Workaround for tarball not building with the bare tag version (prep)
|
||||||
make -C src obj/build.h
|
make -C src obj/build.h
|
||||||
@ -192,8 +186,10 @@ script: |
|
|||||||
cd ../../
|
cd ../../
|
||||||
rm -rf distsrc-${i}
|
rm -rf distsrc-${i}
|
||||||
done
|
done
|
||||||
mkdir -p $OUTDIR/src
|
|
||||||
mv $SOURCEDIST $OUTDIR/src
|
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
|
||||||
|
Loading…
Reference in New Issue
Block a user