-
Notifications
You must be signed in to change notification settings - Fork 30
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
A task to package mruby-cli as deb or rpm #10
Conversation
I think this should be a separate gem, but we can agree on the design/implementation here. Since there are some dependencies ( |
I'm not sure a separate gem is worth the effort tbh. There aren't great ways in the MRI |
Let's see if it's possible to build the packaging service we need before worry about doing any hacks. This seems like we can do rpm and deb, what about the other packages: dmg and windows? I think it should be all or nothing. |
Sorry for the delay (holidays :p)
done there toch/mruby-cli-docker@8d2d65d but as you refer into the Dockerfile to a public image (hone/mruby-cli),
I've just pushed my solution: What do you think?
fpm can also generate osx package, I'll git it a try. |
Sounds good to me, let's try to get osx and msi working before we ship this. |
A quick update about my investigation.
For osx, I have two options, build a simple dmg package, or a brew package. It seems that dmg is more ubiquitous, but brew easier. what is your preference? |
Perhaps Myself, I'd prefer to build a package for OSX as that is more easily distributable (I don't also need homebrew installed). Although, I don't see why we can't offer both as ultimately all of this should be configurable [which] packages we actually output. Where are you stuck on msitools? I found a package for Wily Werewolf (whatever that is), so maybe we can just backport that? https://launchpad.net/ubuntu/+source/msitools |
I do not know, I have to check.
👍 let's start first with dmg which is the most ubiquitous.
With the upstream, configure failed even if all the dependencies were provided.
I'll try first with the one you provided me before digging more the Vala error. Thanks a lot for your pointers. |
I guess it doesn't really matter which tools we use, so long as it works.
It looks like that msitools is just a meta package, maybe try finding the equivalent in the 14.04 repos, otherwise installing the newer packages manually until we find which one breaks. |
quick update. I've managed to install msitools into our docker and started to build msi package. |
@zzak I still need to try it on a real windows machine. Then, I'll work on dmg package. |
I just tried the x86_64 msi package on a windows 8. It works! (I can install and uninstall it, and I can run mruby-cli) I cannot easily access a win 32 install. Would you have one? |
Woot!
I don't but would compatibility mode work? |
I've tried to install the 32 msi package on the windows 8 machine and got a cryptic message informing me I can only this for package already installed ?! |
@toch Can you try installing the 32bit version of Windows 10? This link is also valid for 24 hours. |
Just downloaded it, I'll try it now. I've just pushed the dmg packaging. My OSX VM crashes I do not know why. Could you try the dmg packages? |
Sure! I will try out the OSX packages <3 On Monday, August 24, 2015, Christophe Philemotte notifications@github.com
|
It would be great if we can automatically test the packages on respective platforms. Even after some google-fu, I do not find any hosted CI service for win32, win64 (maybe AppVeyor), OSx32, or OSx64. Do you know one or another doing that? |
Found the problem for the i686 msi package, fixed. it works now. |
If the container will run on Windows we can use that to test the compiled For OS X we should be able to use Travis still, I think. On Monday, August 24, 2015, Christophe Philemotte notifications@github.com
|
I've fixed my VirtualBox setup, OSX VM works again. I've tried the dmg packages. It nearly works:
For both dmg and msi packages, the binary is not available in the PATH. Should it be? |
It would be nice to get CI hooked up for this, but I realize that's probably a little out of scope for this feature.
Perhaps this is a bug with the packager? How did you transfer the binary? (I know google drive will remove the executable bit)
For most installers, don't you have to put the thing someplace that already exists in your path? |
@zzak here an update:
The last changes are available in https://github.com/toch/mruby-cli-distpackage/blob/master/tasks/package.rake |
@toch Does dmg work then? I can help test osx and 64bit windows, but I'd have to reinstall for 32bit (I think). |
@zzak yes, dmg works. msi works also. I'm just looking for a way to set the environment path. It's a nice to have to help the user to set it. A simpler way to do that is to provide the instruction to set the env path. |
4cc2880
to
10a14f8
Compare
Also found this blog post, that might be interesting: |
So here's the output I see:
@toch It'd be nice to fix these warnings. Also, I think we should use the same output format as
We'd have:
It also seems like the ARCH is missing from the output, so I'd like to fix that as well. |
I'll read the blog post.
do you mean to no show them? for genisoimage, this is just information.
I'll fix that. |
@zzak update: better output is available toch/mruby-cli-distpackage@b99cd46 |
a134078
to
b9898f6
Compare
@zzak I've rebased onto subdirs and I've fixed the warning cf toch/mruby-cli-distpackage@b0801be Do you see anything else to do? |
b9898f6
to
cc1d33a
Compare
I've rebased onto the PR #13 and squashed the commits. Before merging it, that PR hone/mruby-cli-docker#1 should be merged first into hone/mruby-cli-docker Two questions: 1/ should I put the code of toch/mruby-cli-distpackage here? 2/ According to |
Right, we can keep this task private as well, until we're happy with it. |
We can make packaging available to users of mruby-cli vs devs a separate PR for sure. |
following a call I had with @zzak, here a summary of the things to decide and some other informations current situation:
dmgI do not know how to include a install action into the bundle such as linking the binary into /usr/local/bin what we would like to do. some apps do that when you run it the first time (e.g. atom), we should find someone who knows it msiwith the current msitools, the directive I've contacted the maintainer to understand how to support it end goal:the user shouldn't do something more than just install the package Tasks to do
To decidewe should decide if:
|
talked with @toch. I'm fine merging as is for mruby-cli itself. Let's make sure to make issues for fixing the MSI/DMG path stuff so it's tracked. We should probably wait on making all of this generally available (at least MSI/DMG) downstream of mruby-cli. |
Ok, let's clean this up and get it merged/shipped so we can start working on the next steps. |
a45019a
to
71430f3
Compare
done |
* release task depends on compile task * check the presence of toolchain before running the compile task * remove superfluoous load of mrbtest.rake
* abort the task if not run in-docker * env var MRUBY_CLI_LOCAL allows to run the rake task locally * local task can be added * refactoring of the check is-in-a-docker-container?
it seems that the options weren't correctly passed to the command.
* documentation about package task * it adds a packaging task * it builds package for deb, rpm, msi, and dmg
71430f3
to
1c365be
Compare
rebased onto master to resolve conflict |
merged here c2ef3f2 |
Following discussion with @hone, here a first version allowing to package mruby-cli as a deb or rpm.
Some comments:
fpm
Gem. As there is no Gemfile, I check if it is installed in the rake task.Is there anything I do not do right?