Skip to content

Commit 7fa685b

Browse files
author
Escanor Liones
committed
[Build] update.
1 parent 94246c3 commit 7fa685b

5 files changed

Lines changed: 44 additions & 15 deletions

File tree

contrib/build-linux/appimage/Dockerfile

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,25 @@ FROM debian:buster@sha256:233c3bbc892229c82da7231980d50adceba4db56a08c0b7053a485
77
ENV LC_ALL=C.UTF-8 LANG=C.UTF-8
88
ENV DEBIAN_FRONTEND=noninteractive
99

10-
# need ca-certificates before using snapshot packages
11-
RUN apt update -qq > /dev/null && apt install -qq --yes --no-install-recommends \
12-
ca-certificates
10+
# bootstrap CA certificates using the default Debian mirrors (HTTP) before
11+
# switching over to the pinned snapshot archives
12+
RUN apt-get update -q && \
13+
apt-get install -qy --no-install-recommends \
14+
ca-certificates && \
15+
rm -rf /var/lib/apt/lists/*
16+
17+
COPY apt.conf.d/99snapshot /etc/apt/apt.conf.d/99snapshot
1318

1419
# pin the distro packages
20+
# Use the Debian snapshot archives and disable Release file expiration checks
1521
COPY apt.sources.list /etc/apt/sources.list
1622
COPY apt.preferences /etc/apt/preferences.d/snapshot
23+
COPY apt.conf.d/99snapshot /etc/apt/apt.conf.d/99snapshot
1724

1825
RUN apt-get update -q && \
1926
apt-get install -qy --allow-downgrades \
27+
ca-certificates \
28+
build-essential \
2029
sudo \
2130
git \
2231
wget \
@@ -27,16 +36,24 @@ RUN apt-get update -q && \
2736
autopoint \
2837
pkg-config \
2938
xz-utils \
39+
patch \
3040
libssl-dev \
3141
libssl1.1 \
3242
openssl \
3343
zlib1g-dev \
3444
libffi-dev \
45+
libbz2-dev \
46+
libreadline-dev \
3547
libncurses5-dev \
3648
libncurses5 \
3749
libtinfo-dev \
3850
libtinfo5 \
3951
libsqlite3-dev \
52+
libgdbm-dev \
53+
libgdbm-compat-dev \
54+
libnss3-dev \
55+
liblzma-dev \
56+
libexpat1-dev \
4057
libusb-1.0-0-dev \
4158
libudev-dev \
4259
libudev1 \
@@ -81,6 +98,6 @@ RUN usermod -append --groups sudo ${USER}
8198
RUN echo "%sudo ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
8299
WORKDIR ${WORK_DIR}
83100
RUN chown --recursive ${USER} ${WORK_DIR}
84-
RUN apt update && apt install -y python3-pip
101+
RUN apt-get update -q && apt-get install -qy python3-pip
85102
RUN pip3 install sympy mpmath
86103
USER ${USER}

contrib/build-linux/appimage/README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
AppImage binary for Electrum
2-
============================
1+
AppImage binary for FactWallet
2+
=============================
33

44
_This binary should be reproducible, meaning you should be able to generate
55
binaries that match the official releases._
@@ -34,14 +34,14 @@ see [issue #5159](https://github.com/spesmilo/electrum/issues/5159).
3434
## FAQ
3535
3636
### How can I see what is included in the AppImage?
37-
Execute the binary as follows: `./electrum*.AppImage --appimage-extract`
37+
Execute the binary as follows: `./factwallet*.AppImage --appimage-extract`
3838
3939
### How to investigate diff between binaries if reproducibility fails?
4040
```
4141
cd dist/
42-
./electrum-*-x86_64.AppImage1 --appimage-extract
42+
./factwallet-*-x86_64.AppImage1 --appimage-extract
4343
mv squashfs-root/ squashfs-root1/
44-
./electrum-*-x86_64.AppImage2 --appimage-extract
44+
./factwallet-*-x86_64.AppImage2 --appimage-extract
4545
mv squashfs-root/ squashfs-root2/
4646
$(cd squashfs-root1; find -type f -exec sha256sum '{}' \; > ./../sha256sum1)
4747
$(cd squashfs-root2; find -type f -exec sha256sum '{}' \; > ./../sha256sum2)
Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,12 @@
1+
# Debian buster snapshot pinned for deterministic builds
2+
# Main repository
13
deb https://snapshot.debian.org/archive/debian/20230317T205011Z/ buster main
2-
deb-src https://snapshot.debian.org/archive/debian/20230317T205011Z/ buster main
4+
deb-src https://snapshot.debian.org/archive/debian/20230317T205011Z/ buster main
5+
6+
# Security updates
7+
deb https://snapshot.debian.org/archive/debian-security/20230317T205011Z/ buster/updates main
8+
deb-src https://snapshot.debian.org/archive/debian-security/20230317T205011Z/ buster/updates main
9+
10+
# Point releases / updates
11+
deb https://snapshot.debian.org/archive/debian/20230317T205011Z/ buster-updates main
12+
deb-src https://snapshot.debian.org/archive/debian/20230317T205011Z/ buster-updates main

contrib/build-linux/appimage/make_appimage.sh

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ CONTRIB="$PROJECT_ROOT/contrib"
77
CONTRIB_APPIMAGE="$CONTRIB/build-linux/appimage"
88
DISTDIR="$PROJECT_ROOT/dist"
99
BUILDDIR="$CONTRIB_APPIMAGE/build/appimage"
10-
APPDIR="$BUILDDIR/electrum.AppDir"
10+
APPDIR="$BUILDDIR/factwallet.AppDir"
1111
CACHEDIR="$CONTRIB_APPIMAGE/.cache/appimage"
1212
export DLL_TARGET_DIR="$CACHEDIR/dlls"
1313
PIP_CACHE_DIR="$CONTRIB_APPIMAGE/.cache/pip_cache"
@@ -24,7 +24,7 @@ PY_VER_MAJOR="3.10" # as it appears in fs paths
2424
PKG2APPIMAGE_COMMIT="a9c85b7e61a3a883f4a35c41c5decb5af88b6b5d"
2525

2626
VERSION=$(git describe --tags --dirty --always)
27-
APPIMAGE="$DISTDIR/electrum-$VERSION-x86_64.AppImage"
27+
APPIMAGE="$DISTDIR/factwallet-$VERSION-x86_64.AppImage"
2828

2929
rm -rf "$BUILDDIR"
3030
mkdir -p "$APPDIR" "$CACHEDIR" "$PIP_CACHE_DIR" "$DISTDIR" "$DLL_TARGET_DIR"
@@ -37,8 +37,8 @@ info "downloading some dependencies."
3737
download_if_not_exist "$CACHEDIR/functions.sh" "https://raw.githubusercontent.com/AppImage/pkg2appimage/$PKG2APPIMAGE_COMMIT/functions.sh"
3838
verify_hash "$CACHEDIR/functions.sh" "8f67711a28635b07ce539a9b083b8c12d5488c00003d6d726c7b134e553220ed"
3939

40-
download_if_not_exist "$CACHEDIR/appimagetool" "https://github.com/AppImage/AppImageKit/releases/download/13/appimagetool-x86_64.AppImage"
41-
verify_hash "$CACHEDIR/appimagetool" "df3baf5ca5facbecfc2f3fa6713c29ab9cefa8fd8c1eac5d283b79cab33e4acb"
40+
download_if_not_exist "$CACHEDIR/appimagetool" "https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage"
41+
verify_hash "$CACHEDIR/appimagetool" "b90f4a8b18967545fda78a445b27680a1642f1ef9488ced28b65398f2be7ad2d"
4242

4343
download_if_not_exist "$CACHEDIR/Python-$PYTHON_VERSION.tar.xz" "https://www.python.org/ftp/python/$PYTHON_VERSION/Python-$PYTHON_VERSION.tar.xz"
4444
verify_hash "$CACHEDIR/Python-$PYTHON_VERSION.tar.xz" "3c3bc3048303721c904a03eb8326b631e921f11cc3be2988456a42f115daf04c"

contrib/build-wine/build-electrum-git.sh

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,9 @@ rm -rf dist/
5757

5858
# build standalone and portable versions
5959
info "Running pyinstaller..."
60-
ELECTRUM_CMDLINE_NAME="$NAME_ROOT-$VERSION" wine "$WINE_PYHOME/scripts/pyinstaller.exe" --noconfirm --ascii --clean deterministic.spec
60+
# Use the Unicode-capable bootloader (no --ascii flag) so Electrum starts correctly even when
61+
# installed under paths containing non-ASCII characters (avoids "Error loading Python DLL").
62+
ELECTRUM_CMDLINE_NAME="$NAME_ROOT-$VERSION" wine "$WINE_PYHOME/scripts/pyinstaller.exe" --noconfirm --clean deterministic.spec
6163

6264
# set timestamps in dist, in order to make the installer reproducible
6365
pushd dist

0 commit comments

Comments
 (0)