linux: Appimage packaging

Move some files around, so that AppImages can be packaged inside a .deb for convenience.
This commit is contained in:
Tom Dewey 2024-09-09 16:33:45 +01:00 committed by Tom Dewey
parent b6cab0f7d1
commit 9264c19f76
12 changed files with 61 additions and 31 deletions

14
debian/changelog vendored
View file

@ -1,3 +1,17 @@
rpi-imager (1.9.0) unstable; urgency=medium
* ui: Upgrade to Qt6.7, bringing new controls to everything
* packaging: Migrate to AppImage-first distribution
* packaging: Sign with new Raspberry Pi Ltd key
* host deps: Ubuntu 22.04+, macOS 11+, Windows 10+
* Popups: Removed click-outside closing behaviour
* Selection Windows: Fixed layouts to fill the windows
* build: Dependencies have been vendored for consistency
* build: Require non-package-manager version of Qt
* security: Use platform crypto, SSL libraries where possible
-- Tom Dewey <tom.dewey@raspberrypi.com> Wed, 4 Sep 2024 18:57:00 +0000
rpi-imager (1.8.5) unstable; urgency=medium
* Retry downloads on HTTP2 errors.

16
debian/control vendored
View file

@ -1,18 +1,14 @@
Source: rpi-imager
Section: admin
Priority: optional
Maintainer: Floris Bos <bos@je-eigen-domein.nl>
Build-Depends: debhelper (>= 10), cmake, libarchive-dev, liblzma-dev, libcurl4-gnutls-dev | libcurl4-openssl-dev,
qtbase5-dev, qtbase5-dev-tools, qtdeclarative5-dev, libqt5svg5-dev, qttools5-dev, libgnutls28-dev,
qml-module-qtquick2, qml-module-qtquick-controls2, qml-module-qtquick-layouts, qml-module-qtquick-templates2, qml-module-qtquick-window2, qml-module-qtgraphicaleffects
Maintainer: Tom Dewey <tom.dewey@raspberrypi.com>
Build-Depends: debhelper (>= 10), cmake, libgnutls28-dev
Standards-Version: 4.1.2
Homepage: https://www.raspberrypi.org/
Homepage: https://www.raspberrypi.com/software
Package: rpi-imager
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends},
qml-module-qtquick2, qml-module-qtquick-controls2, qml-module-qtquick-layouts, qml-module-qtquick-templates2, qml-module-qtquick-window2, qml-module-qtgraphicaleffects,
dosfstools, fdisk
Depends: ${shlibs:Depends}, ${misc:Depends}, dosfstools, fdisk, fuse
Recommends: udisks2
Description: Raspberry Pi imaging utility
Graphical user-interface to write disk images and format SD cards.
Description: Raspberry Pi Imaging utility
A user-friendly tool for creating bootable media for Raspberry Pi Devices.

6
debian/install vendored Normal file
View file

@ -0,0 +1,6 @@
rpi-imager.AppImage /usr/bin/
debian/rpi-imager.png /usr/share/icons/hicolor/128x128/apps/
debian/*.desktop /usr/share/applications/
debian/*.metainfo.xml /usr/share/metainfo/

View file

@ -0,0 +1,11 @@
[Desktop Entry]
Type=Application
Version=1.9.0
Name=Raspberry Pi Imager
Name[zh_CN]=
Comment=Raspberry Pi Imager
Comment[zh_CN]=
Icon=rpi-imager
Exec=/usr/bin/rpi-imager.AppImage %F
Categories=Utility
StartupNotify=false

5
debian/postinst vendored Normal file
View file

@ -0,0 +1,5 @@
#!/bin/sh
if [ ! -x /usr/bin/rpi-imager.AppImage ]; then
chmod +x /usr/bin/rpi-imager.AppImage
fi

63
debian/rpi-imager.metainfo.xml vendored Normal file
View file

@ -0,0 +1,63 @@
<?xml version="1.0" encoding="UTF-8" ?>
<component type="desktop-application">
<id>org.raspberrypi.rpi-imager</id>
<metadata_license>CC0-1.0</metadata_license>
<project_license>Apache-2.0</project_license>
<name>Raspberry Pi Imager</name>
<summary>Raspberry Pi Imaging utility</summary>
<description>
<p>
Raspberry Pi Imager downloads a .JSON file from the Raspberry Pi
website with a list of all current download options, ensuring you are
always installing the most up-to-date version.
</p>
<p>
Once youve selected an operating system from the available options,
the utility reads the relevant file directly from the Raspberry Pi
website and writes it straight to the SD card. This speeds up the
process quite considerably compared to the standard process of reading
it from the website, writing it to a file on your hard drive, and then,
as a separate step, reading it back from the hard drive and writing it
to the SD card.
</p>
<p>
During this process, Raspberry Pi Imager also caches the downloaded
operating system image that is to say, it saves a local copy on your
computer, so you can program additional SD cards without having to
download the file again.
</p>
</description>
<launchable type="desktop-id">org.raspberrypi.rpi-imager.desktop</launchable>
<screenshots>
<screenshot type="default">
<image>http://downloads.raspberrypi.org/imager/IMAGING-UTILITY-MAIN.png</image>
<caption>Main window</caption>
</screenshot>
<screenshot>
<image>http://downloads.raspberrypi.org/imager/IMAGING-UTILITY-OS.png</image>
<caption>Choose OS</caption>
</screenshot>
<screenshot>
<image>http://downloads.raspberrypi.org/imager/IMAGING-UTILITY-SD.png</image>
<caption>Choose SD</caption>
</screenshot>
<screenshot>
<image>http://downloads.raspberrypi.org/imager/IMAGING-UTILITY-WRITE.png</image>
<caption>Write in progress</caption>
</screenshot>
<screenshot>
<image>http://downloads.raspberrypi.org/imager/IMAGING-UTILITY-DONE.png</image>
<caption>Write done</caption>
</screenshot>
</screenshots>
<url type="homepage">https://github.com/raspberrypi/rpi-imager</url>
<provides>
<binary>rpi-imager.AppImage</binary>
</provides>
<releases>
<release version="1.9.0" />
</releases>
<content_rating type="oars-1.1">
<content_attribute id="social-info">moderate</content_attribute>
</content_rating>
</component>

BIN
debian/rpi-imager.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

10
debian/rules vendored
View file

@ -1,8 +1,14 @@
#!/usr/bin/make -f
# See debhelper(7) (uncomment to enable)
# output every command that modifies files on the build system.
#export DH_VERBOSE = 1
export DH_VERBOSE = 1
%:
dh $@ --sourcedirectory=src
dh $@
.PHONY: override_dh_usrlocal
override_dh_usrlocal:
.PHONY: override_dh_strip
override_dh_strip:
dh_strip --exclude=AppImage