-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Conversation
Awesome! It works perfectly, but could you address this warning?
Moreover, the Kitematic icon is replaced by the electron icon in the desktop but I guess this is an issue with the |
Unfortunately the icon issue seems to be a problem on how electron-packager manages the icon file as @fradelg well pointed. I tried to add another image path but with same results |
Regarding the ICON, we had similar issues when packaging the Windows installer. |
Does this require a seperate install of nodejs, and does it need to be v4.2.2? |
@FrenchBen I'am not sure is the same issue as in windows I've tried diferent files and formats and allways the same result.
Also the official electron documentation says:
Based on that, I've tried to export the ico file to png and use that last one on the build process. Unfortunately with same result electron icon is always showed |
I'm sorry @nshiell I don't understand very well your question. I've used the same node installation I've always had in my laptop. In this moment v6.1.0 but I understand other versions will work as well. |
@FrenchBen Got it!! after debugging a bit. The problem was that the icon must be defined on electron-installer-debian task. Anyway, I still had to export the ico file to png because according with the electron documentation this is the linux recommended format. |
@adomenech73 Do you mind doing 2 things?
Thanks 👍 |
@FrenchBen I squashed everything in a single commit and used "git commit -s" to sign, I hope everything is fine now. |
@nshiell My test on ia32 arch I did on Debian 8 with node v4.2.2 and despite some deprecation warnings generated and installable and functional package, hope it helps!! |
@FrenchBen I think we can use electron-installer-redhat similar as what I did, this time to generate centos/redhat rpm |
@FrenchBen Squashed again to guarantee pull request is signed (sorry for that!, tried my best as newie) |
Setting up a new debian box to qa this pr and will then merge. Thanks again for the help! 🎉 |
Avec plaisir!! |
Doing some QA on this, I missed a few things and added some in-line notes. The Windows built was separated so that Kitematic could be build in Windows, without having to build the Mac release. Shows the complete build of OSX + Windows. We can be opinionated in choosing 64bit instead of 32. |
}, | ||
'electron-packager': { | ||
build: { | ||
options:{ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Missing space here
I didn't realise about that. Actually the quickest way to do what you say is to add electro-packager in macosx custom task. I'm not close to my laptop at this moment but when I arrive home I can push it for you. On the other hand I don't understand very well how you can build for windows and Linux from mac, are you using docker for that? |
The windows build only requires mono - |
This triggers Linux binary build from OSX custom task. If packaging is also needed, it would be necessary to add additional 'electron-installer-debian:linux64' or 'electron-installer-debian:linux32' task at the end. I also revised the : as you pointed on your note and the absent space from the inline note. Finally squashed and signed Hope this helps, I'm sorry I have no way to test it. I understand mono as the way to build the win version, never tried but smart way |
@FrenchBen Now I've seen your conversation with jhipster people, so I understand why multi platform packaging is needed from OSX, for release purposes I presuppose If you can confirm me, that electron-packager works fine and generates functional Linux binary launched from OSX, the only problem I see for that is the PR line 272, but if you can bypass that in any way, there wouldn't be any problem to generate deb package with electron-installer-debian:linux64 and even rpm package with electron-installer-redhat:linux64 |
Hmm got a
If I add the
This is because the |
That's because despite the name of the task About the OSX specific build platform arch problem, that's why I was talking about PR line 272 I think I can add something like
on |
This must do the job! added packaging (debian 64) and better legibility for linux distribution conditional |
Error when trying to create this:
But then Brew to the rescue!
If you don't mind checking that this package installs properly for you that would be HUGE!! So pumped about this, thank you again for all of the hard work 🎉 🎉 🎉 |
|
||
if (!IS_WINDOWS && !IS_LINUX) { | ||
grunt.registerTask('release', ['clean:release', 'babel', 'less', 'copy:dev', 'electron', 'copy:osx', 'shell:sign', 'shell:zip', 'copy:windows', 'rcedit:exes', 'compress', 'shell:linux_npm', 'electron-packager:osxlnx', 'electron-installer-debian:linux64']); | ||
}else if(IS_LINUX){ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Here and below, can you fix spacing?
} else if () {
- Used grunt-packager and grunt-electron-installer-debian - Added debian/ubuntu ai32 arch support - Added Redhat/Centos/Fedora rpm support - Added electron-packager to MacOSX custom task - Fixed OSX Linux build and better conditional legibility - Fixed ESLint indications Signed-off-by: Albert Domenech <adomenech@gmail.com>
I've installed the deb package without problem:
And Kitematic works as expected I included dpkg and fakeroot as requisites on the PR comment, even that they can be included in debian/ubuntu just out of the box, but it will be more clear I also used Sublime eslint plugin to check the code, it's a really helpful tool, thanks for the nice tip, I didn't realise while I was coding, and it will help me a lot with better syntax practices (have to work this kind of distractions) |
npm install --> OK |
Kitematic Linux installer
Description
This pull request adds native packaging for Debian/Ubuntu and CentOS/Fedora/RedHat Linux distributions for both ia32 and amd64 architectures.
The packaging is automatically triggered with the grunt release task call and makes use of additional node modules like, electron-packager to package the electron app for different archs, or electron-installer-debian and electron-installer-redhat to generate packages on this distributions.
To detect the different distributions during the release trigger, it checks for existence of /etc/lsb-release and /etc/debian_version for Debian derived distributions and /etc/redhat-release for RedHat derived distributions.
Build requirements
General requirements
Distribution especific requierements
# distribution package requirements sudo apt-get install curl git dpkg fakeroot
# distribution package requirements sudo yum install git rpm-build lsb-redhat
Package build
Debug package building
You can always debug gruntfile execution by defining a DEBUG environment variable prior to use grunt. For full debugging information you can define as follows
Package installation
Execution notes
Checking generated package
All packages where created with "grunt release" task launch on diferent systems, installed with the common distribution package management tools.