Skip to content

Commit 59e10a8

Browse files
committed
added debian 13 install and packaging files
1 parent 59fe24e commit 59e10a8

8 files changed

Lines changed: 84 additions & 31 deletions

File tree

CMakeLists.txt

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -96,20 +96,11 @@ qt_policy(SET QTP0004 NEW)
9696
qt_add_qml_module(appPipOS
9797
URI PipOS
9898
VERSION 1.0
99-
# OUTPUT_DIRECTORY ${PIPOS_QML_MODULES_PATH}
10099
RESOURCE_PREFIX /robco-industries.org
101100
QML_FILES ${QML}
102101
SOURCES ${SOURCES} ${HEADER}
103102
)
104103

105-
# qt_add_qml_module(appPipOS
106-
# URI JSONListModel
107-
# VERSION 1.0
108-
# QML_FILES
109-
# qml/JSONListModel/JSONListModel.qml
110-
# qml/JSONListModel/json-query.js
111-
# )
112-
113104
# Qt for iOS sets MACOSX_BUNDLE_GUI_IDENTIFIER automatically since Qt 6.1.
114105
# If you are developing for iOS or macOS you should consider setting an
115106
# explicit, fixed bundle identifier manually though.
@@ -184,11 +175,3 @@ install(TARGETS appPipOS
184175
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
185176
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
186177
)
187-
188-
# set(INSTALL_DESTDIR "/opt")
189-
190-
# install(TARGETS appPipOS
191-
# RUNTIME DESTINATION "${INSTALL_DESTDIR}"
192-
# BUNDLE DESTINATION "${INSTALL_DESTDIR}"
193-
# LIBRARY DESTINATION "${INSTALL_DESTDIR}"
194-
# )

README.md

Lines changed: 27 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4,21 +4,25 @@
44

55
## Basic Installation
66

7-
### Pre-requisites
7+
### Requirements
88

9-
```
10-
sudo apt install libegl-dev libopengl-dev libxkbcommon-dev libharfbuzz-dev libmd4c-dev libpulse0 libfuse2
11-
```
9+
Tested and developed against Raspberry Pi OS 13 (trixie). Should work on any 64 bit Raspberry Pi running trixie or later.
1210

13-
### Install
11+
### Installation
1412

13+
Download the latest release deb file from [Releases](https://github.com/RobCo-Engineering/PIP-OS/releases) and install via apt, for example:
1514
```sh
16-
wget https://gitlab.com/robco-industries/pip-os/-/package_files/166831732/download -O PIP-OS-v7.1.0.45-aarch64.AppImage
17-
chmod +x PIP-OS-v7.1.0.45-aarch64.AppImage
18-
./PIP-OS-v7.1.0.45-aarch64.AppImage
15+
sudo apt install ./pip-os_7.1.1_arm64.deb
1916
```
2017

21-
TODO: Add note about platforms, wayland etc.
18+
The app can be configured to run at startup or run as a one off:
19+
```sh
20+
# Enable at startup (optional)
21+
systemctl --user enable pip-os.service
22+
23+
# Start PIP-OS
24+
systemctl --user start pip-os.service
25+
```
2226

2327
## Configuration
2428

@@ -190,15 +194,24 @@ If you don't have a valid GPS source, you can also use static data, go to https:
190194
positionSource=file:///path/to/location_data.txt
191195
```
192196

193-
## Debugging Startup Issues
194-
195197
## Building from source
196198

197-
The most straightforward way to simply _build_ this code is using a Docker container that already has all of the Qt install inside it.
199+
To build from source on Debian 13, first install some of the pre-requisites:
200+
```sh
201+
sudo apt-get install git cmake g++ build-essential libgl1-mesa-dev qt6-base-dev qt6-base-dev-tools qt6-quick3d-dev qt6-positioning-dev qt6-location-dev qt6-multimedia-dev qt6-graphs-dev qt6-declarative-private-dev
202+
```
198203

199-
There are some helper scripts inside `hack/`, you _should_ be able to run `./hack/cross_compile.sh` to build an aarch64 AppImage.
204+
Then pull this repo and build as so:
205+
```sh
206+
git clone https://github.com/RobCo-Engineering/PIP-OS.git
207+
cd PIP-OS
208+
mkdir build
209+
cd build
210+
/usr/lib/qt6/bin/qt-cmake .. -DCMAKE_BUILD_TYPE=Release
211+
make
212+
```
200213

201-
If you're running from a non ARM linux box, you need to first make sure you're running Docker with QEMU enabled as per https://docs.docker.com/build/building/multi-platform/#qemu
214+
Built app should be in `build/usr/bin/
202215

203216
## Extracting Vault Boy Sprites
204217

debian/control

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
Source: pip-os
2+
Section: utils
3+
Priority: optional
4+
Maintainer: Darrian <darrian@robco-industries.org>
5+
Build-Depends: debhelper-compat (= 13),
6+
cmake,
7+
qt6-base-dev,
8+
dh-sequence-qmldeps,
9+
qt6-base-dev-tools,
10+
libqt6core6
11+
Standards-Version: 4.6.0
12+
13+
Package: pip-os
14+
Architecture: arm64
15+
Depends: ${shlibs:Depends}, ${misc:Depends}, ${qml6:Depends}
16+
Description: RobCo Industries PIP-OS

debian/gbp.conf

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
[DEFAULT]
2+
# Tell gbp that we use the 'main' branch for upstream
3+
upstream-branch = main
4+
debian-branch = main
5+
# Automatically tag after a successful build
6+
# tag = True
7+
8+
[dch]
9+
# Use the short git hash in the changelog
10+
id-length = 7
11+
# Ignore these strings in commit messages
12+
ignore-regex = (Signed-off-by:|Merge branch)

debian/pip-os.user.service

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
[Unit]
2+
Description=RobCo Industries PIP-OS
3+
After=network.target
4+
5+
[Service]
6+
Type=simple
7+
Environment="QT_QPA_PLATFORM=eglfs"
8+
Environment="QT_QPA_EGLFS_HIDECURSOR=1"
9+
ExecStart=/usr/bin/appPipOS
10+
Restart=on-failure
11+
RestartSec=5
12+
13+
[Install]
14+
WantedBy=default.target

debian/postinst

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
#!/bin/sh
2+
set -e
3+
4+
# Enable user service for all users
5+
deb-systemd-helper --user enable pip-os.service || true
6+
7+
exit 0

debian/qmldeps.overrides

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
PipOS

debian/rules

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
#!/usr/bin/make -f
2+
3+
%:
4+
dh $@ --buildsystem=cmake
5+
6+
override_dh_auto_configure:
7+
dh_auto_configure -- -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=/usr/lib/qt6

0 commit comments

Comments
 (0)