Skip to content

Commit

Permalink
Merge pull request dogecoin#3222 from patricklodder/1.14.7-focal
Browse files Browse the repository at this point in the history
build: use Ubuntu Focal for depends, ci and gitian releases
  • Loading branch information
chromatic committed Jun 28, 2023
2 parents f449518 + e1c688d commit 502a8a9
Show file tree
Hide file tree
Showing 10 changed files with 193 additions and 73 deletions.
45 changes: 25 additions & 20 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ jobs:
include:
- name: i686-linux
host: i686-pc-linux-gnu
os: ubuntu-18.04
os: ubuntu-20.04
packages: g++-multilib bc python3-zmq
run-bench: true
test-script: |
Expand All @@ -59,7 +59,7 @@ jobs:
goal: install
- name: armhf-linux
host: arm-linux-gnueabihf
os: ubuntu-18.04
os: ubuntu-20.04
packages: g++-arm-linux-gnueabihf qemu-user-static qemu-user
run-bench: false
test-script: |
Expand All @@ -71,7 +71,7 @@ jobs:
goal: install
- name: aarch64-linux-experimental
host: aarch64-linux-gnu
os: ubuntu-18.04
os: ubuntu-20.04
packages: g++-aarch64-linux-gnu qemu-user-static qemu-user
run-bench: false
test-script: |
Expand All @@ -95,7 +95,7 @@ jobs:
goal: install
- name: aarch64-linux
host: aarch64-linux-gnu
os: ubuntu-18.04
os: ubuntu-20.04
packages: g++-aarch64-linux-gnu qemu-user-static qemu-user
run-bench: false
test-script: |
Expand All @@ -107,7 +107,7 @@ jobs:
goal: install
- name: x86_64-linux-nowallet
host: x86_64-unknown-linux-gnu
os: ubuntu-18.04
os: ubuntu-20.04
packages: python3
run-bench: true
test-script: |
Expand All @@ -119,7 +119,7 @@ jobs:
goal: install
- name: x86_64-linux-dbg
host: x86_64-unknown-linux-gnu
os: ubuntu-18.04
os: ubuntu-20.04
packages: bc python3-zmq
run-bench: true
test-script: |
Expand All @@ -133,11 +133,19 @@ jobs:
goal: install
- name: i686-win
host: i686-w64-mingw32
arch: "i386"
os: ubuntu-18.04
packages: python3 nsis g++-mingw-w64-i686 wine-stable bc wine-binfmt
os: ubuntu-20.04
packages: python3 nsis g++-mingw-w64-i686 wine-stable winehq-stable bc wine-binfmt binfmt-support
preinstall: |
sudo dpkg --add-architecture i386
OS_FLAVOR=$(cat /etc/*ease | grep UBUNTU_CODENAME | cut -d "=" -f 2)
if [ ! -d "/etc/apt/keyrings" ]; then sudo mkdir -pm755 /etc/apt/keyrings; fi
sudo wget -O /etc/apt/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key
sudo wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/ubuntu/dists/$OS_FLAVOR/winehq-$OS_FLAVOR.sources
sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
sudo apt-get update
sudo apt-get install -y --allow-downgrades libgd3/$OS_FLAVOR libpcre2-8-0/$OS_FLAVOR libpcre2-16-0/$OS_FLAVOR libpcre2-32-0/$OS_FLAVOR libpcre2-posix2/$OS_FLAVOR
sudo apt-get purge -yq libmono* moby* mono* php* libgdiplus libpcre2-posix3 libzip4
postinstall: |
sudo dpkg -s mono-runtime && sudo apt-get remove mono-runtime || echo "Very nothing to uninstall."
sudo update-alternatives --set i686-w64-mingw32-gcc /usr/bin/i686-w64-mingw32-gcc-posix
sudo update-alternatives --set i686-w64-mingw32-g++ /usr/bin/i686-w64-mingw32-g++-posix
sudo update-binfmts --import /usr/share/binfmts/wine
Expand All @@ -151,8 +159,7 @@ jobs:
goal: install
- name: x86_64-win
host: x86_64-w64-mingw32
arch: "i386"
os: ubuntu-18.04
os: ubuntu-20.04
packages: python3 nsis g++-mingw-w64-x86-64 wine64 bc wine-binfmt
postinstall: |
sudo dpkg -s mono-runtime && sudo apt-get remove mono-runtime || echo "Very nothing to uninstall."
Expand All @@ -169,8 +176,7 @@ jobs:
goal: install
- name: x86_64-win-experimental
host: x86_64-w64-mingw32
arch: "i386"
os: ubuntu-18.04
os: ubuntu-20.04
packages: python3 nsis g++-mingw-w64-x86-64 wine64 bc wine-binfmt
postinstall: |
sudo dpkg -s mono-runtime && sudo apt-get remove mono-runtime || echo "Very nothing to uninstall."
Expand All @@ -187,7 +193,7 @@ jobs:
goal: install
- name: x86_64-macos
host: x86_64-apple-darwin11
os: ubuntu-18.04
os: ubuntu-20.04
packages: cmake imagemagick libcap-dev librsvg2-bin libz-dev libtiff-tools libtinfo5 xorriso
run-bench: false
check-security: true
Expand All @@ -199,7 +205,7 @@ jobs:
sdk-shasum: "bec9d089ebf2e2dd59b1a811a38ec78ebd5da18cbbcd6ab39d1e59f64ac5033f"
- name: x86_64-linux-experimental
host: x86_64-linux-gnu
os: ubuntu-18.04
os: ubuntu-20.04
packages: bc python3-zmq
run-bench: true
test-script: |
Expand All @@ -213,10 +219,9 @@ jobs:
runs-on: ${{ matrix.os }}

steps:
- name: Add architecture
if: ${{ matrix.arch }}
run: |
sudo dpkg --add-architecture "${{ matrix.arch }}"
- name: Pre install
if: ${{ matrix.preinstall }}
run: ${{ matrix.preinstall }}

- name: Install packages
run: |
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ on:
jobs:
analyze:
name: Analyze
runs-on: ubuntu-18.04
runs-on: ubuntu-20.04
permissions:
actions: read
contents: read
Expand Down
18 changes: 16 additions & 2 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -487,8 +487,10 @@ AX_GCC_FUNC_ATTRIBUTE([dllimport])
if test x$use_glibc_compat != xno; then

#glibc absorbed clock_gettime in 2.17. librt (its previous location) is safe to link
#in anyway for back-compat.
AC_CHECK_LIB([rt],[clock_gettime],, AC_MSG_ERROR(lib missing))
#in anyway for back-compat. Since gcc-9, we need to explicitly add lrt outside the
#scope of "as-needed" packages, so we disable it, add librt, and re-enable.
AX_CHECK_LINK_FLAG([[-Wl,-no-as-needed -Wl,-lrt -Wl,-as-needed]],
[COMPAT_LDFLAGS="$COMPAT_LDFLAGS -Wl,-no-as-needed -Wl,-lrt -Wl,-as-needed"])

#__fdelt_chk's params and return type have changed from long unsigned int to long int.
# See which one is present here.
Expand All @@ -503,8 +505,20 @@ if test x$use_glibc_compat != xno; then
[ fdelt_type="long int"])
AC_MSG_RESULT($fdelt_type)
AC_DEFINE_UNQUOTED(FDELT_TYPE, $fdelt_type,[parameter and return value type for __fdelt_chk])
AX_CHECK_LINK_FLAG([[-Wl,--wrap=clock_gettime]], [COMPAT_LDFLAGS="$COMPAT_LDFLAGS -Wl,--wrap=clock_gettime"])
AX_CHECK_LINK_FLAG([[-Wl,--wrap=__divmoddi4]], [COMPAT_LDFLAGS="$COMPAT_LDFLAGS -Wl,--wrap=__divmoddi4"])
AX_CHECK_LINK_FLAG([[-Wl,--wrap=exp]], [COMPAT_LDFLAGS="$COMPAT_LDFLAGS -Wl,--wrap=exp"])
AX_CHECK_LINK_FLAG([[-Wl,--wrap=log]], [COMPAT_LDFLAGS="$COMPAT_LDFLAGS -Wl,--wrap=log"])
AX_CHECK_LINK_FLAG([[-Wl,--wrap=log2f]], [COMPAT_LDFLAGS="$COMPAT_LDFLAGS -Wl,--wrap=log2f"])
AX_CHECK_LINK_FLAG([[-Wl,--wrap=pow]], [COMPAT_LDFLAGS="$COMPAT_LDFLAGS -Wl,--wrap=pow"])

dnl only wrap fcntl and fctnl64 for 32-bit linux
case $host in
i?86*linux* | arm*linux*)
AX_CHECK_LINK_FLAG([[-Wl,--wrap=fcntl]], [COMPAT_LDFLAGS="$COMPAT_LDFLAGS -Wl,--wrap=fcntl"])
AX_CHECK_LINK_FLAG([[-Wl,--wrap=fcntl64]], [COMPAT_LDFLAGS="$COMPAT_LDFLAGS -Wl,--wrap=fcntl64"])
;;
esac
else
AC_SEARCH_LIBS([clock_gettime],[rt])
fi
Expand Down
13 changes: 6 additions & 7 deletions contrib/gitian-build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,8 @@ ossTarHash="f9a8cdb38b9c309326764ebc937cba1523a3a751a7ab05df3ecc99d18ae466c9"
macosSdkUrl="https://depends.dogecoincore.org/MacOSX10.11.sdk.tar.gz"
macosSdkHash="bec9d089ebf2e2dd59b1a811a38ec78ebd5da18cbbcd6ab39d1e59f64ac5033f"

# lief custom wheel is only needed for bionic-based gitian
lief="https://depends.dogecoincore.org/lief-0.12.3-cp36-cp36m-linux_x86_64.whl"
liefHash="c84cbdb32c8a830fbb82c907b733050c7fc5c9bf4f51a46541f1b8c2e48def9f"
liefUrl="https://depends.dogecoincore.org/lief-0.12.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl"
liefHash="c848aadac0816268aeb9dde7cefdb54bf24f78e664a19e97e74c92d3be1bb147"

# What to do
verify=false
Expand Down Expand Up @@ -271,19 +270,19 @@ if [[ $setup == true ]]; then
download_file $ossPatchUrl $ossPatchHash
download_file $ossTarUrl $ossTarHash
download_file $macosSdkUrl $macosSdkHash
download_file $lief $liefHash
download_file $liefUrl $liefHash

popd

#Prepare containers depending of virtualization solution: lxc, docker, kvm
if [ "$USE_LXC" -eq 1 ]
then
sudo apt-get install -y lxc
bin/make-base-vm --suite bionic --arch amd64 --lxc
bin/make-base-vm --suite focal --arch amd64 --lxc
elif [ "$USE_DOCKER" -eq 1 ]; then
bin/make-base-vm --suite bionic --arch amd64 --docker
bin/make-base-vm --suite focal --arch amd64 --docker
else
bin/make-base-vm --suite bionic --arch amd64
bin/make-base-vm --suite focal --arch amd64
fi
popd
fi
Expand Down
23 changes: 12 additions & 11 deletions contrib/gitian-descriptors/gitian-linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,27 +2,28 @@
name: "dogecoin-linux-1.14"
enable_cache: true
suites:
- "bionic"
- "focal"
architectures:
- "amd64"
packages:
- "curl"
- "g++-aarch64-linux-gnu"
- "g++-7-aarch64-linux-gnu"
- "gcc-7-aarch64-linux-gnu"
- "g++-9-aarch64-linux-gnu"
- "gcc-9-aarch64-linux-gnu"
- "binutils-aarch64-linux-gnu"
- "g++-arm-linux-gnueabihf"
- "g++-7-arm-linux-gnueabihf"
- "gcc-7-arm-linux-gnueabihf"
- "g++-9-arm-linux-gnueabihf"
- "gcc-9-arm-linux-gnueabihf"
- "binutils-arm-linux-gnueabihf"
- "g++-7-multilib"
- "gcc-7-multilib"
- "binutils-gold"
- "git-core"
- "g++-9-multilib"
- "gcc-9-multilib"
- "binutils"
- "git"
- "pkg-config"
- "autoconf"
- "libtool"
- "automake"
- "make"
- "faketime"
- "bison"
- "bsdmainutils"
Expand All @@ -34,7 +35,7 @@ remotes:
- "url": "https://github.com/dogecoin/dogecoin.git"
"dir": "dogecoin"
files:
- "lief-0.12.3-cp36-cp36m-linux_x86_64.whl"
- "lief-0.12.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl"
script: |
WRAP_DIR=$HOME/wrapped
Expand Down Expand Up @@ -118,7 +119,7 @@ script: |
done
# install python-lief
python3 -m pip install ${BUILD_DIR}/lief-0.12.3-cp36-cp36m-linux_x86_64.whl
python3 -m pip install ${BUILD_DIR}/lief-0.12.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
cd dogecoin
BASEPREFIX=`pwd`/depends
Expand Down
8 changes: 5 additions & 3 deletions contrib/gitian-descriptors/gitian-osx.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
name: "dogecoin-osx-1.14"
enable_cache: true
suites:
- "bionic"
- "focal"
architectures:
- "amd64"
packages:
Expand All @@ -28,12 +28,14 @@ packages:
- "python3-setuptools"
- "python3-pip"
- "fonts-tuffy"
- "libtinfo5"
- "xorriso"
remotes:
- "url": "https://github.com/dogecoin/dogecoin.git"
"dir": "dogecoin"
files:
- "MacOSX10.11.sdk.tar.gz"
- "lief-0.12.3-cp36-cp36m-linux_x86_64.whl"
- "lief-0.12.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl"
script: |
WRAP_DIR=$HOME/wrapped
HOSTS="x86_64-apple-darwin11"
Expand Down Expand Up @@ -92,7 +94,7 @@ script: |
tar -C ${BASEPREFIX}/SDKs -xf ${BUILD_DIR}/MacOSX10.11.sdk.tar.gz
# install python-lief
python3 -m pip install ${BUILD_DIR}/lief-0.12.3-cp36-cp36m-linux_x86_64.whl
python3 -m pip install ${BUILD_DIR}/lief-0.12.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
# Build dependencies for each host
for i in $HOSTS; do
Expand Down
8 changes: 4 additions & 4 deletions contrib/gitian-descriptors/gitian-win.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
name: "dogecoin-win-1.14"
enable_cache: true
suites:
- "bionic"
- "focal"
architectures:
- "amd64"
packages:
Expand All @@ -13,6 +13,7 @@ packages:
- "autoconf"
- "libtool"
- "automake"
- "make"
- "faketime"
- "bsdmainutils"
- "mingw-w64"
Expand All @@ -21,14 +22,13 @@ packages:
- "zip"
- "ca-certificates"
- "python3"
- "python3-setuptools"
- "python3-pip"
- "rename"
remotes:
- "url": "https://github.com/dogecoin/dogecoin.git"
"dir": "dogecoin"
files:
- "lief-0.12.3-cp36-cp36m-linux_x86_64.whl"
- "lief-0.12.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl"
script: |
WRAP_DIR=$HOME/wrapped
HOSTS="i686-w64-mingw32 x86_64-w64-mingw32"
Expand Down Expand Up @@ -98,7 +98,7 @@ script: |
export PATH=${WRAP_DIR}:${PATH}
# install python-lief
python3 -m pip install ${BUILD_DIR}/lief-0.12.3-cp36-cp36m-linux_x86_64.whl
python3 -m pip install ${BUILD_DIR}/lief-0.12.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
cd dogecoin
BASEPREFIX=`pwd`/depends
Expand Down
16 changes: 8 additions & 8 deletions depends/README.md
Original file line number Diff line number Diff line change
@@ -1,35 +1,35 @@
### Prerequisites

The depends system is maintained and tested using Ubuntu Bionic. Both generic
The depends system is maintained and tested using Ubuntu Focal. Both generic
apt packages, and packages specific to the target architecture are required to
successfully compile all dependencies. Listed packages are tested and known to
work.

#### Generic packages

```
sudo apt-get install autoconf automake binutils-gold ca-certificates curl \
sudo apt-get install autoconf automake make binutils ca-certificates curl \
faketime git-core libtool pkg-config python bison
```

#### Generic linux: i686-pc-linux-gnu and x86_64-linux-gnu

```
sudo apt-get install g++-7-multilib gcc-7-multilib
sudo apt-get install g++-9-multilib gcc-9-multilib
```

#### ARM7 32bit: arm-linux-gnueabihf

```
sudo apt-get install g++-arm-linux-gnueabihf g++-7-arm-linux-gnueabihf \
gcc-7-arm-linux-gnueabihf binutils-arm-linux-gnueabihf
sudo apt-get install g++-arm-linux-gnueabihf g++-9-arm-linux-gnueabihf \
gcc-9-arm-linux-gnueabihf binutils-arm-linux-gnueabihf
```

#### ARM 64bit: aarch64-linux-gnu

```
sudo apt-get install g++-aarch64-linux-gnu g++-7-aarch64-linux-gnu \
gcc-7-aarch64-linux-gnu binutils-aarch64-linux-gnu
sudo apt-get install g++-aarch64-linux-gnu g++-9-aarch64-linux-gnu \
gcc-9-aarch64-linux-gnu binutils-aarch64-linux-gnu
```

#### Windows: i686-w64-mingw32 and x86_64-w64-mingw32
Expand All @@ -43,7 +43,7 @@ sudo apt-get install g++ g++-mingw-w64 mingw-w64 nsis zip
```
sudo apt-get install g++ cmake imagemagick fonts-tuffy libz-dev libbz2-dev \
libcap-dev librsvg2-bin libtiff-tools python python-dev \
python-setuptools
python-setuptools libtinfo5 xorriso
```

### Usage
Expand Down
Loading

0 comments on commit 502a8a9

Please sign in to comment.