-
Notifications
You must be signed in to change notification settings - Fork 259
This issue was moved to a discussion.
You can continue the conversation there. Go to discussion →
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for more Linux distributions & packaging formats #213
Comments
@animator @ashitaprasad: Can you please add the Enhancement tag to this issue? |
@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. |
@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 |
I've added implementing this application as an AppImage package to the scope of this issue to make the application portable and run everywhere. |
@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. |
@lamergameryt Why are you summarising the article for |
@Tanish2002 When you are creating |
Dependencies in Apidash
Tarball Purpose:
Tarball as a Tool for Package Maintainers:
Caveats with Pre-built Binaries:
Ending Notes
|
Note: API Dash currently has |
Didn't know that. What library depends on mpv? |
|
We are converting this issue into a discussion. |
This issue was moved to a discussion.
You can continue the conversation there. Go to discussion →
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:
The text was updated successfully, but these errors were encountered: