Skip to content

Commit

Permalink
Added readme
Browse files Browse the repository at this point in the history
  • Loading branch information
merll committed Mar 10, 2023
1 parent cb41554 commit a09727a
Show file tree
Hide file tree
Showing 2 changed files with 73 additions and 1 deletion.
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT License

Copyright (c) 2021-2022 Matthias Erll
Copyright (c) 2021-2023 Matthias Erll

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
72 changes: 72 additions & 0 deletions README.md
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/)

0 comments on commit a09727a

Please sign in to comment.