Add support for more Linux distributions & packaging formats #240
Replies: 13 comments 6 replies
-
@animator @ashitaprasad: Can you please add the Enhancement tag to this issue? |
Beta Was this translation helpful? Give feedback.
-
@lamergameryt Instead of setting up a CI/CD pipeline right away, we want to first have clarity regarding the build process as you have read in the medium articles. So a good start will be to document the step by step build process for each distribution in this thread. |
Beta Was this translation helpful? Give feedback.
-
@animator Sounds good; I'll document the build process for each of the above distributions as a separate comment in this issue. Starting with the step-by-step build process of a deb & rpm file, I'm using Building a DEB Package
mkdir -p ./linux/packaging/deb
mkdir -p ./linux/assets
# Enter the download link for the actual png file here.
wget -O ./linux/assets/apidash.png https://example.org/image.png
cat > ./linux/packaging/deb/make_config.yaml << EOF
display_name: API Dash
icon: linux/assets/apidash.png
package_name: apidash
summary: A beautiful, lightweight, open-source cross-platform API Client
group: Applications/Development Tools
vendor: Ashita Prasad
packager: Ashita Prasad
packagerEmail: ashita@xyz.com
license: ASL 2.0
url: https://github.com/foss42/apidash
maintainer:
name: Ashita Prasad
email: ashita@xyz.com
priority: optional
section: x11
dependencies:
- mpv
essential: false
postuninstall_scripts:
- echo "Sorry to see you go."
keywords:
- API
- API Client
generic_name: API Client
categories:
- Development
- Utility
startup_notify: true
EOF
Building a RPM PackageSimilarly, for building a RPM distributable file:
mkdir -p ./linux/packaging/rpm
mkdir -p ./linux/assets
# Enter the download link for the actual png file here.
wget -O ./linux/assets/apidash.png https://example.org/image.png
cat > ./linux/packaging/rpm/make_config.yaml << EOF
display_name: API Dash
icon: linux/assets/apidash.png
summary: A beautiful, lightweight, open-source cross-platform API Client
group: Applications/Development Tools
vendor: Ashita Prasad
packager: Ashita Prasad
packagerEmail: ashita@xyz.com
license: ASL 2.0
url: https://github.com/foss42/apidash
maintainer:
name: Ashita Prasad
email: ashita@xyz.com
priority: optional
section: x11
dependencies:
- mpv
essential: false
postuninstall_scripts:
- echo "Sorry to see you go."
keywords:
- API
- API Client
generic_name: API Client
categories:
- Development
- Utility
startup_notify: true
EOF
The above configuration works perfectly for creating DEB files. However, I'm encountering issues creating RPM files on my host machine. warning: absolute symlink: /usr/bin/apidash -> /usr/share/apidash/apidash
I/O error : Permission denied
I/O error : Permission denied
Failed to write XML file; For permission problems, try rerunning as root Despite this, the RPM file is successfully built and verified as OK with |
Beta Was this translation helpful? Give feedback.
-
I've added implementing this application as an AppImage package to the scope of this issue to make the application portable and run everywhere. |
Beta Was this translation helpful? Give feedback.
-
@animator @ashitaprasad One easy way to distribute for linux is to just provide a tarball of the bundle generated by You can create this tarball using:
This tarball will contain the binary, the assests, and the linked libs. Which a packager can easily use to package the app. Extra Notes:
I can provide some examples of repos distributing their project through tarballs. |
Beta Was this translation helpful? Give feedback.
-
@lamergameryt Why are you summarising the article for |
Beta Was this translation helpful? Give feedback.
-
@Tanish2002 When you are creating |
Beta Was this translation helpful? Give feedback.
-
Dependencies in Apidash
Tarball Purpose:
Tarball as a Tool for Package Maintainers:
Caveats with Pre-built Binaries:
Ending Notes
|
Beta Was this translation helpful? Give feedback.
-
Note: API Dash currently has |
Beta Was this translation helpful? Give feedback.
-
Didn't know that. What library depends on mpv? |
Beta Was this translation helpful? Give feedback.
-
|
Beta Was this translation helpful? Give feedback.
-
We are converting this issue into a discussion. |
Beta Was this translation helpful? Give feedback.
-
I saw that the issue regarding packaging apidash as a flatpak was closed #93 . Are we still working on that? |
Beta Was this translation helpful? Give feedback.
-
In the present state, the project is available as a package catering mainly to Arch Linux (pkgbuild), Debian (deb), and Red Hat (rpm) distributions. Furthermore, as evident from the blog post by @ashitaprasad at Medium, the packaging and distribution process is manual and cumbersome.
To solve this issue, there are a few steps we can take:
Beta Was this translation helpful? Give feedback.
All reactions