Name: onekey-wallet-bin Version: 5.7.1 Release: 1%{?dist} Summary: Secure, open-source crypto wallet based on Electron (prebuilt AppImage) License: Apache-2.0 URL: https://onekey.so/ BuildRequires: curl BuildRequires: coreutils BuildRequires: sed BuildRequires: nodejs BuildRequires: npm BuildRequires: gnupg2 BuildRequires: sed ExclusiveArch: x86_64 aarch64 %global _name onekey-wallet %global fingerprint EB68AE544F1FDD8CD264624FB369A67A90BF387B # fix architecture %ifarch aarch64 %global target arm64 %else %global target %{_target_cpu} %endif %global appimage OneKey-Wallet-%{version}-linux-%{target}.AppImage %global appimage_url https://github.com/OneKeyHQ/app-monorepo/releases/download/v%{version}/%{appimage} %{?_olw_local_appimage: %global appimage_url "%{_olw_local_appimage}/%{appimage}"} %global sha256sums_asc %{appimage}.SHA256SUMS.asc %{?_olw_local_asc: %global appimage_url %{_olw_local_asc}} %global sha256sums_asc_url https://github.com/OneKeyHQ/app-monorepo/releases/download/v%{version}/%{sha256sums_asc} %description Secure, open source and community-driven crypto wallet. This version uses the official AppImage. %prep # download sources curl -L "%{appimage_url}" -o "%{appimage}" curl -L "%{sha256sums_asc_url}" -o "%{sha256sums_asc}" curl https://keys.openpgp.org/vks/v1/by-fingerprint/%{fingerprint} -o %{fingerprint}.asc # validate data # TODO user id not verified, can not received from keyserver gpg --import %{fingerprint}.asc gpg --decrypt "%{sha256sums_asc}" > "%{appimage}.SHA256SUMS" if [ $? -ne 0 ]; then echo "GPG validation failed!" exit 1 fi sha256sum --check "%{appimage}.SHA256SUMS" if [ $? -ne 0 ]; then echo "Checksum validation failed!" exit 1 fi # extract image chmod +x %{appimage} ./%{appimage} --appimage-extract > /dev/null mv squashfs-root appdir # prepare js source files npm install asar find "appdir/resources" -type d -exec chmod 755 {} + ./node_modules/.bin/asar e appdir/resources/app.asar app.asar.unpacked find app.asar.unpacked/dist/ -type f -exec sed -i "s|process.resourcesPath|'\/usr\/lib\/%{_name}\/resources'|g" {} + ./node_modules/.bin/asar p app.asar.unpacked appdir/resources/app.asar # prepare AppRun script sed -i 's|APPDIR="\$path"|APPDIR=/usr/lib/%{_name}|' appdir/AppRun # prepare desktop file sed -i 's|AppRun --no-sandbox|%{_name}|' appdir/%{_name}.desktop mv appdir/%{_name}.desktop %{_name}.desktop # create start sscript cat << EOF > %{_name}.sh #!/bin/sh /usr/lib/%{_name}/AppRun --no-sandbox EOF %build # Nothing to build %install install -Dm755 %{_name}.sh %{buildroot}/usr/bin/%{_name} install -Dm644 %{_name}.desktop %{buildroot}/usr/share/applications/%{_name}.desktop install -Dm644 appdir/usr/share/icons/hicolor/512x512/apps/%{_name}.png %{buildroot}/usr/share/icons/hicolor/512x512/apps/%{_name}.png mkdir -p %{buildroot}/usr/lib/%{_name} cp -r appdir/* %{buildroot}/usr/lib/%{_name}/ %post if [ -x update-desktop-database ]; then update-desktop-database /usr/share/applications >/dev/null 2>&1 || : fi %postun if [ -x update-desktop-database ]; then update-desktop-database /usr/share/applications >/dev/null 2>&1 || : fi %files /usr/bin/%{_name} /usr/lib/%{_name} /usr/share/applications/%{_name}.desktop /usr/share/icons/hicolor/512x512/apps/%{_name}.png %changelog * Sat May 03 2025 Olaf Wriggers - 5.7.1-1 - Initial package with v5.7.1