Skip to content
This repository has been archived by the owner on Sep 2, 2021. It is now read-only.

Linux Sprint 29 #297

Merged
merged 18 commits into from
Aug 20, 2013
Merged

Linux Sprint 29 #297

merged 18 commits into from
Aug 20, 2013

Conversation

jasonsanjose
Copy link
Member

Replaces #288 @JeffryBooher

Replaces scripts/setup_linux_build.sh.

RUN npm install on this branch to update the new dependency on semver.

@timburgess @DaBungalow would you like to test out these updates? Someone else with committer rights will need to handle merging though.

These changes bring the Linux setup and build Grunt tasks up to par with mac and windows. This doesn't replace the one-line wget (see https://gist.github.com/jasonsanjose/5514813) required for downloading the git repositories and installing Node.js and Grunt.

Here are the highlights:

  • CEF binaries are now hosted at http://dev.brackets.io. These binaries are modified from the original zip files. To reduce the download size, I've removed the Debug folder. For folks like @timburgess that are doing work with the native shell, it won't be too hard for them to get the full binaries manually.
  • There's some extra commits from another outstanding pull fetch origin for new branches. fix jshint errors. #286. The prior pull should be merged first.
  • CEF and Node.js downloads are supported for 32 and 64 bit. I haven't tested the build process on 64-bit yet.
  • Speaking of build, you should be able to just pull this branch and run grunt to setup and build. grunt installer will produce the debian package
  • There's a new postinstall hook after npm install to install the compile-time dependencies
  • Incremental linux builds can be done via grunt build or simply make as before
  • Use a template DEBIAN\control file and populate dynamically with brackets version, arch and installed size. See Lintian error: Split linux debian installer CONTROL file for 32 and 64 bit brackets#4724.

use correct fs.symlink on mac and linux

add arch support for linux 64-bit

update grunt tasks for linux

add linux installer to grunt tasks

fix linux clean installer task

update grunt for node on linux. move linux tools to an npm postinstall script.

rename debian package to Brackets Sprint NN.deb

fix 64 bit build

update debian package version and 64-bit dep
@ghost ghost assigned jeffkenton and JeffryBooher Aug 13, 2013
@@ -114,7 +126,7 @@ module.exports = function (grunt) {
"files": [
{
"expand" : true,
"cwd" : "out/Release",
"cwd" : "out/Release/",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jasonsanjose what's the significance of this change? I noticed that we mostly put the trailing slash on directory names but there are a few instances where we don't. Just curious.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just for consistency. I thought this was the last oddball. Was there more?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

At least 4 other places have directory names that do not end in a forward slash. Probably not a big deal -- I was just curious if Linux had some special requirement.

@JeffryBooher
Copy link
Contributor

I got an error running grunt on Windows "ERROR: Cannot find module 'semver'" but grunt continues and finishes the build. Haven't tried Mac yet.

@JeffryBooher
Copy link
Contributor

Same error on Mac

@jasonsanjose
Copy link
Member Author

Updated the pull request description to run npm install to get semver. This will fix the build error on windows.

@@ -0,0 +1,39 @@
#!/bin/sh
#
# Copyright (c) 2009 The Chromium Authors. All rights reserved.
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Need to add to 3rd party code

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we need to wait for legal before merging?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll ping @julianasuh. The source is from Chromium's debian packaging scripts here http://src.chromium.org/viewvc/chrome/trunk/src/chrome/installer/linux/.

@JeffryBooher
Copy link
Contributor

Windows now builds without error

@timburgess
Copy link
Contributor

No problem with the npm install but I'm failing on the cef-download task with a connect ETIMEDOUT Looks like dev.brackets.io on github is not available(?). My ICMP roundtrips are good everywhere else. Will try again tomorrow AM.

@jasonsanjose
Copy link
Member Author

@timburgess downloads are fixed now. @adrocknaphobia thinks it could have been a bot.

Anyway, @JeffryBooher pointed out 2 issues over email that I've filed. We can fix these separately from this pull request:

@timburgess
Copy link
Contributor

Yup, I can see dev.brackets.io now. The same as master, the CEF version for cef-linux64 has bumped to 3.1547.1354 yet there is no cef_binary_3.1547.1354 on dev.brackets.io/cef so the cef task fails on 64-bit Linux.

I see also that cef-linux32 has CEF 3.1547.1357 hardwired & that is not present on dev.brackets.io/cef either.
Should they both be 3.1547.1357?

I've been working on Linux with prior CEF builds I did myself. Will see if I can get a CEF 3.1547.1357 build via chromium & if so, then can at least test the latter stages too.

@timburgess
Copy link
Contributor

Ah, missed the comment - ignore the CEF 32bit vs 64bit version question.

@jasonsanjose
Copy link
Member Author

@timburgess yep we had to hardcode the 32-bit binary since build 1354 wasn't built. This is just temporary until we make our next CEF upgrade.

The zips were just pushed to dev.brackets.io/cef. You can try that out now.

@timburgess
Copy link
Contributor

Lovely! Works for me but I had a couple of hitches:

  • I had a couple of older cef zips in downloads. This was causing cef-download to skip however cef-extract failed on extract because the required version wasn't there
  • zip file produces a __MACOSX in deps/ and there is a .DS_Store in deps/cef - the binary build still works however and seems perfectly fine with brackets/master at present

and to clarify, this is on Ubuntu 12.04 64bit

@JeffryBooher
Copy link
Contributor

Looks like everything is good to go -- just waiting to hear back from legal on the 3rd party code.

@JeffryBooher
Copy link
Contributor

Got clearance from legal...Merging

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

Successfully merging this pull request may close these issues.

4 participants