aria2/makerelease
Tatsuhiro Tsujikawa 85142435c6 Make releases with docker
This is slightly different from the current procedure because now
android and mingw binaries are built from source code fetched from the
remote repository.
2023-09-17 19:59:50 +09:00

57 lines
1.1 KiB
Bash
Executable File

#!/bin/sh -e
VERSION=$1
PREV_VERSION=$2
git checkout refs/tags/release-$VERSION
git log --pretty=fuller --date=short refs/tags/release-$PREV_VERSION..HEAD > ChangeLog
autoreconf -i
./configure && \
make dist-bzip2 && make dist-gzip && make dist-xz || echo "error"
make distclean
release_mingw()
{
export HOST=$1
export LABEL=$2
mkdir -p mingw-out
docker build \
--build-arg HOST=$HOST \
--build-arg ARIA2_VERSION=$VERSION \
--build-arg ARIA2_REF=refs/tags/release-$VERSION \
-t aria2-mingw-$HOST - < Dockerfile.mingw
docker run --rm -it -v $PWD/mingw-out:/out aria2-mingw-$HOST \
cp /aria2/src/aria2c.exe /out
./mingw-release
rm -rf mingw-out
}
# mingw 32bit
release_mingw i686-w64-mingw32 win-32bit
# mingw 64bit
release_mingw x86_64-w64-mingw32 win-64bit
# android
mkdir -p android-out
docker build \
--build-arg ARIA2_VERSION=$VERSION \
-t aria2-android - < Dockerfile.android
docker run --rm -it -v $PWD/android-out:/out aria2-android \
cp /root/build/aria2/src/aria2c /out
./android-release
rm -rf android-out
# OSX builds are created separately using makerelease-osx.mk