Add support for more Linux distributions & packaging formats #240
Replies: 14 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: [email protected]
license: ASL 2.0
url: https://github.com/foss42/apidash
maintainer:
name: Ashita Prasad
email: [email protected]
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: [email protected]
license: ASL 2.0
url: https://github.com/foss42/apidash
maintainer:
name: Ashita Prasad
email: [email protected]
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.
-
Closing this thread in favour of new issues |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
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