Skip to content
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

Enhancement: Packages for other Linux Distros #39

Open
galbacarys opened this issue Apr 9, 2016 · 6 comments
Open

Enhancement: Packages for other Linux Distros #39

galbacarys opened this issue Apr 9, 2016 · 6 comments

Comments

@galbacarys
Copy link

Hey guys,

I don't know if this has been proposed before, but I think it would be hugely beneficial to the community if the PropellerIDE and build tools were available for other packaging systems besides Debian derivatives.

I'm specifically on Arch Linux, and building this repo has been a giant pain since the Qt5 libraries are pretty much entirely modularly packaged in Arch. If the build is still busted in a couple of days I'll post another issue to see if I can get that diagnosed.

But in terms of Linux packaging, I think a lot of people would appreciate a .rpm (especially for school environments-my college uses Scientific Linux, which is a Red Hat derivative) and Arch packages. If no one else knows much about this, I do have a little experience with building .rpm's and may be able to help there.

Another option for Arch specifically would be creating an official AUR build script, which Arch users could pull from the AUR repository and install from source, obviating the need for a full-on extra distribution channel and instead leaning on cloning from git and building locally, but doing so automatically and with dependencies accounted for.

If these resources already exist, I would really appreciate being pointed in the right direction.

Thanks!

~Gabe

@bweir
Copy link
Collaborator

bweir commented Apr 10, 2016

Hi there, Gabe,

Haha, it's absolutely been mentioned before, and it's been on my to-do for some time. It's just that its not as simple as that.

Writing packaging scripts is a lot of work, and they usually end up very custom and easy to break. That drives me crazy, so I took all the packaging scripts I was writing for PropellerIDE and began building a tool called Packthing that automates this process.

Packthing takes a config file that describes your project and generates a package compatible with a target platform. This makes it very easy to release new software, and I now use it all over the place.

So, PropellerIDE doesn't have its own packaging scripts. If you were interested in adding an RPM or AUR target to PropellerIDE, you would actually be adding it to Packthing. There is a learning curve, but you could use all the other targets and particularly the debian packager as a reference.

As you can see by the picture in the README, my dream is to support as many targets as humanly possible, so any support you could provide in making that happen would be awesome. Otherwise, I want to add these someday, but I can't guarantee when it'll happen.

You let me know and I'd be happy to help you get started. =P

@galbacarys
Copy link
Author

I have a little experience with RPMs (mostly accidentally breaking our buildbot at work), so I'd be happy to give it a whirl!

As for an AUR script, I think so long as I can get the source building properly on my machine that should be pretty trivial. AUR scripts can be as simple as "download this git repo, run these build commands, and install it like an Arch package". So, once my new thinkpad comes in (fingers crossed, Wednesday!) I can look at getting that spun up. If I still have problems building come the end of this week, I'll let you know and see if we can get that reconciled.

~Gabe

@bweir
Copy link
Collaborator

bweir commented Apr 17, 2016

Cool, I'll be waiting to hear from you!

On Sun, Apr 10, 2016 at 7:35 PM, Gabe Albacarys [email protected]
wrote:

I have a little experience with RPMs (mostly accidentally breaking our
buildbot at work), so I'd be happy to give it a whirl!

As for an AUR script, I think so long as I can get the source building
properly on my machine that should be pretty trivial. AUR scripts can be as
simple as "download this git repo, run these build commands, and install it
like an Arch package". So, once my new thinkpad comes in (fingers crossed,
Wednesday!) I can look at getting that spun up. If I still have problems
building come the end of this week, I'll let you know and see if we can get
that reconciled.

~Gabe


You are receiving this because you commented.
Reply to this email directly or view it on GitHub
#39 (comment)

Brett Weir, Founder

Engineering Made Awesome
310.245.1775 • [email protected] • lamestation.com

@Kristian-Charboneau
Copy link

Perhaps providing a distro agnostic format like Snap, Flatpak, or AppImage would be a good idea. I haven't packaged anything with those, but I've read that they are supposed to be simpler to package than deb or rpm. I'm not sure if the sandboxing feature would mess things up though, especially with the serial port.

@bweir
Copy link
Collaborator

bweir commented Jul 25, 2016

I've been looking at Snappy. It looks promising! However, I am dubious that any packaging system is easier than any other packaging system. My experience dictates packaging is a land of wizardry and arcane knowledge. =|

I'm doing some rework of packthing, which PropellerIDE uses. It hasn't scaled well as the number of packagers has increased, so I'm trying to clean up the implementation. I won't be adding new packagers until this effort is farther along, as its going to make life a lot easier in the long run.

@probonopd
Copy link

I would argue that AppImage is the easiest - it is "just" a self-mounting ISO file that gets loop-mounted when executed, and the payload app is then run.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants