Skip to content

Commit 26be42e

Browse files
committed
Add Debian package (.deb) build infrastructure for ARM AppImages
Adds CI steps and packaging scripts to produce .deb packages from the ARM64/armhf AppImage builds, including debian control files, templates, configs, and a build script that repackages the AppImage into a proper Debian package. Signed-off-by: Nicu Siderias <nicu.siderias@analog.com>
1 parent 9be851f commit 26be42e

File tree

14 files changed

+8763
-2
lines changed

14 files changed

+8763
-2
lines changed

.github/workflows/appimage-arm64.yml

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,5 +60,20 @@ jobs:
6060
name: scopy-arm64-appimage-${{ env.commit_sha }}
6161
path: ${{ github.workspace }}/Scopy-arm64.AppImage
6262

63+
- name: Build Debian package
64+
shell: bash
65+
run: |
66+
sudo apt-get install -y dpkg-dev debhelper devscripts rsync crossbuild-essential-arm64
67+
./ci/packaging/scopy-deb-build.sh scopy64 $GITHUB_WORKSPACE/Scopy-arm64.AppImage
68+
69+
- uses: actions/upload-artifact@v4
70+
with:
71+
name: scopy-arm64-deb-${{ env.commit_sha }}
72+
path: |
73+
${{ github.workspace }}/scopy_*_arm64.deb
74+
${{ github.workspace }}/scopy_*.dsc
75+
${{ github.workspace }}/scopy_*.orig.tar.gz
76+
${{ github.workspace }}/scopy_*.debian.tar.xz
77+
6378
- name: check storage space
64-
run: df -h
79+
run: df -h

.github/workflows/appimage-armhf.yml

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,5 +60,20 @@ jobs:
6060
name: scopy-armhf-appimage-${{ env.commit_sha }}
6161
path: ${{ github.workspace }}/Scopy-armhf.AppImage
6262

63+
- name: Build Debian package
64+
shell: bash
65+
run: |
66+
sudo apt-get install -y dpkg-dev debhelper devscripts rsync crossbuild-essential-armhf
67+
./ci/packaging/scopy-deb-build.sh scopy32 $GITHUB_WORKSPACE/Scopy-armhf.AppImage
68+
69+
- uses: actions/upload-artifact@v4
70+
with:
71+
name: scopy-armhf-deb-${{ env.commit_sha }}
72+
path: |
73+
${{ github.workspace }}/scopy_*_armhf.deb
74+
${{ github.workspace }}/scopy_*.dsc
75+
${{ github.workspace }}/scopy_*.orig.tar.gz
76+
${{ github.workspace }}/scopy_*.debian.tar.xz
77+
6378
- name: check storage space
64-
run: df -h
79+
run: df -h

ci/packaging/configs/scopy32.conf

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# Package metadata
2+
PACKAGE=scopy
3+
ARCHITECTURE=armhf
4+
DEPENDS="libfuse2t64, libxcb-icccm4, libxcb-image0, libxcb-keysyms1, libxcb-render-util0, libxcb-xinerama0, libxkbcommon-x11-0, libxcb-xkb1"
5+
MAINTAINER="Adrian Suciu <adrian.suciu@analog.com>"
6+
HOMEPAGE="https://github.com/analogdevicesinc/scopy"
7+
DESCRIPTION="Scopy for 32-bit architecture"
8+
LONG_DESCRIPTION="This package contains the Scopy software oscilloscope and signal analysis toolset from Analog Devices for 32-bit architecture."

ci/packaging/configs/scopy64.conf

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# Package metadata
2+
PACKAGE=scopy
3+
ARCHITECTURE=arm64
4+
DEPENDS="libfuse2t64, libxcb-icccm4, libxcb-image0, libxcb-keysyms1, libxcb-render-util0, libxcb-xinerama0, libxkbcommon-x11-0, libxcb-xkb1"
5+
MAINTAINER="Adrian Suciu <adrian.suciu@analog.com>"
6+
HOMEPAGE="https://github.com/analogdevicesinc/scopy"
7+
DESCRIPTION="Scopy for 64-bit architecture"
8+
LONG_DESCRIPTION="This package contains the Scopy software oscilloscope and signal analysis toolset from Analog Devices for 64-bit architecture."
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
${PACKAGE} (${VERSION}-1) stable; urgency=medium
2+
3+
${RELEASE_NOTES}
4+
5+
-- ${MAINTAINER} ${DATE}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
Source: ${PACKAGE}
2+
Section: science
3+
Priority: optional
4+
Maintainer: ${MAINTAINER}
5+
Build-Depends: debhelper-compat (= 13), wget, unzip
6+
Standards-Version: 4.6.2
7+
Homepage: ${HOMEPAGE}
8+
9+
Package: ${PACKAGE}
10+
Architecture: any
11+
Depends: ${shlibs:Depends}, ${misc:Depends}, ${DEPENDS}
12+
Description: ${DESCRIPTION}
13+
${LONG_DESCRIPTION}

ci/packaging/debian/copyright

Lines changed: 8514 additions & 0 deletions
Large diffs are not rendered by default.

ci/packaging/debian/links

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
usr/bin/Scopy.AppImage usr/bin/scopy
2+
usr/bin/Scopy.AppImage usr/bin/Scopy

ci/packaging/debian/postinst

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
#!/bin/bash -e
2+
3+
# Update desktop database
4+
if command -v update-desktop-database >/dev/null 2>&1; then
5+
update-desktop-database /usr/share/applications/
6+
fi
7+
8+
exit 0

ci/packaging/debian/postrm

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
#!/bin/bash -e
2+
3+
case "$1" in
4+
remove|purge)
5+
# Update desktop database
6+
if command -v update-desktop-database >/dev/null 2>&1; then
7+
update-desktop-database /usr/share/applications/
8+
fi
9+
;;
10+
*)
11+
;;
12+
esac
13+
14+
exit 0

0 commit comments

Comments
 (0)