forked from merll/pgadmin4-nw
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
2 changed files
with
73 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,72 @@ | ||
# pgAdmin4 Desktop package for Arch Linux | ||
|
||
## What | ||
|
||
These package sources can be used to install [pgAdmin 4](https://www.pgadmin.org/) on Arch Linux. | ||
|
||
Required Python libraries are either installed from the Arch community repository, | ||
or from [Arch User Repository](https://aur.archlinux.org/) packages where the former | ||
are not available. Patches are applied if required for maintaining compatibility | ||
with the system-wide packages. No virtual Python environment is used. | ||
The main difference to pgAdmin 4 as published in the community repo is that, instead | ||
of providing a tray icon app with the server running in the background, the desktop | ||
deployment is done as | ||
[described in the pgAdmin docs](https://www.pgadmin.org/docs/pgadmin4/latest/desktop_deployment.html), | ||
using [NW.js](https://nwjs.io/). | ||
|
||
Practically this means that pgAdmin is shown in a Chromium-based dedicated browser | ||
window. The web application is served by a webserver in the background as long as | ||
the main window is open. | ||
|
||
## How | ||
|
||
1. Install package dependencies that are not in the Arch community repo: | ||
|
||
> Use any AUR helper of your choice. This example uses | ||
> [YAY](https://github.com/Jguer/yay). | ||
```sh | ||
yay -S --asdeps --aur \ | ||
python-azure-mgmt-subscription \ | ||
python-azure-identity \ | ||
python-azure-mgmt-rdbms \ | ||
python-azure-mgmt-resource \ | ||
python-dnspython \ | ||
python-greenlet \ | ||
python-sphinxcontrib-youtube \ | ||
nwjs-bin | ||
``` | ||
|
||
2. Clone this repository, build and install: | ||
|
||
```sh | ||
git clone https://github.com/merll/pgadmin4-nw.git | ||
cd pgadmin4-nw | ||
makepkg -i | ||
``` | ||
|
||
> Note that some parts of building the JavaScript sources can be quite heavy on memory | ||
> usage. Try not to have too many other applications running at build time. | ||
## Why | ||
|
||
The existing package in the community repository of Arch Linux has been outdated for a | ||
while. Python libraries that pgAdmin 4 depends on are used system-wide in Arch Linux, | ||
but it has been difficult to update pgAdmin compatibility at the same pace. Mostly | ||
package upgrades are carried out frequently on Arch Linux, while pgAdmin still depends | ||
on older versions (partially due to compatibility with more conservative Linux | ||
distributions). As a consequence, package upgrades in Arch Linux often result in | ||
pgAdmin no longer being able to start. In addition, the amount of dependencies | ||
(i.e. Python packages) has grown beyond what is maintained in the Arch | ||
community repository. | ||
|
||
Temporarily, some similar packages as this one were published in the Arch User | ||
Repository. However, all of them have been removed in the meantime due to conflicts with | ||
[AUR Submission Rules](https://wiki.archlinux.org/title/AUR_submission_guidelines). | ||
|
||
## Alternatives | ||
|
||
pgAdmin can also be installed | ||
|
||
* [using a container](https://www.pgadmin.org/docs/pgadmin4/latest/container_deployment.html) | ||
* [via a Python package](https://www.pgadmin.org/download/pgadmin-4-python/) |