... | ... | @@ -2,36 +2,75 @@ Developers primarily use the [PinePhone](https://www.pine64.org/pinephone/) and |
|
|
|
|
|
The process of testing the shell on device heavily depends on the distribution you use. Below are some recommended setups to do so.
|
|
|
|
|
|
### Manjaro
|
|
|
## Manjaro
|
|
|
|
|
|
Manjaro provides frequent developer builds for the PinePhone, where all Plasma packages are built from Git master on a daily basis.
|
|
|
|
|
|
Images can be [found here](https://github.com/manjaro-pinephone/plasma-mobile-dev/releases).
|
|
|
|
|
|
In order to test new changes, we can use Arch's PKGBUILD system in order to build the `plasma-mobile` package directly on the device.
|
|
|
In order to test new changes, we have two options:
|
|
|
- Use Arch's PKGBUILD system in order to build the `plasma-mobile` package directly on the device;
|
|
|
- Use `buildarmpkg` command from `manjaro-arm-tools` package in order to build the package using our main machine. This package will then be updated on the device via ssh.
|
|
|
|
|
|
SSH into your testing device, and create a folder for building, and then create a PKGBUILD file. This file contains the build configuration to build our `plasma-mobile` package.
|
|
|
### Common steps
|
|
|
Create a folder for building, and then create a PKGBUILD file. This file contains the build configuration to build our `plasma-mobile` package.
|
|
|
|
|
|
In this example, we can obtain the PKGBUILD file used in Manjaro: https://gitlab.manjaro.org/packages/kde-unstable/plasma/plasma-mobile/-/tree/master
|
|
|
|
|
|
```bash
|
|
|
# Clone the repository with the PKGBUILD
|
|
|
git clone https://gitlab.manjaro.org/packages/kde-unstable/plasma/plasma-mobile.git
|
|
|
cd plasma-mobile
|
|
|
```
|
|
|
|
|
|
This builds the package from master branch at [https://invent.kde.org/plasma/plasma-mobile](https://invent.kde.org/plasma/plasma-mobile).
|
|
|
|
|
|
Read more about Arch Linux's packaging system in their [documentation](https://wiki.archlinux.org/title/PKGBUILD), on how to edit the PKGBUILD to fetch source code from your own repository and branch.
|
|
|
|
|
|
### Using PKGBUILD directly on the device
|
|
|
```bash
|
|
|
# This will place the folder under /home/user
|
|
|
scp -r plasma-mobile user@remote_host:~/
|
|
|
|
|
|
ssh user@remote_host
|
|
|
|
|
|
cd plasma-mobile
|
|
|
# Build the package and install it
|
|
|
makepkg -si
|
|
|
```
|
|
|
|
|
|
Then, reboot your device to see your changes.
|
|
|
### Using buildarmpkg (usually faster)
|
|
|
Check [this page](https://gitlab.manjaro.org/manjaro-arm/applications/manjaro-arm-tools/-/blob/master/README.md) for installation instructions and more arguments.
|
|
|
|
|
|
```bash
|
|
|
# Builds the package configured in the folder plasma-mobile
|
|
|
sudo buildarmpkg -p plasma-mobile -a aarch64
|
|
|
```
|
|
|
Adding `-k` argument forces the above written command to not rebuild a new rootfs, using the previous one instead.
|
|
|
|
|
|
This command generates a package in `/var/cache/manjaro-arm-tools/pkg/aarch64`: something like `plasma-mobile-5.24.4.r1790.gaf4f95d26-1-aarch64.pkg.tar.zst`.
|
|
|
|
|
|
Now we are ready to upload the package to our device.
|
|
|
|
|
|
```bash
|
|
|
# This will place the package under /home/user
|
|
|
scp /var/cache/manjaro-arm-tools/pkg/aarch64/plasma-mobile-5.24.4.r1790.gaf4f95d26-1-aarch64.pkg.tar.zst user@remote_host:~/
|
|
|
|
|
|
# Install the package
|
|
|
sudo pacman -U ~/plasma-mobile-5.24.4.r1790.gaf4f95d26-1-aarch64.pkg.tar.zst
|
|
|
```
|
|
|
|
|
|
### Final steps
|
|
|
To see your changes, either reboot your device or restart plasmashell with:
|
|
|
|
|
|
```bash
|
|
|
plasmashell -p org.kde.plasma.phoneshell --replace
|
|
|
```
|
|
|
|
|
|
This builds the package from master branch at [https://invent.kde.org/plasma/plasma-mobile](https://invent.kde.org/plasma/plasma-mobile).
|
|
|
|
|
|
Read more about Arch Linux's packaging system in their [documentation](https://wiki.archlinux.org/title/PKGBUILD), on how to edit the PKGBUILD to fetch source code from your own repository and branch.
|
|
|
|
|
|
### postmarketOS
|
|
|
## postmarketOS
|
|
|
|
|
|
postmarketOS has robust cross-compiling tools that can allow contributors to build the the shell package on their computer, and then transfer and install it on devices running the OS.
|
|
|
postmarketOS has robust cross-compiling tools that can allow contributors to build the the shell package on their computer, and then transfer and install it on devices running the OS.
|
|
|
|
|
|
TODO
|
|
|
|
... | ... | |