Update the “Building Pulsar” docs…#41
Conversation
|
Looking good! You might also want to mention that running The dependency list for Debian/Ubuntu in this PR ( |
But to be clear: are you saying |
For building Pulsar or running Electron, no. As you can see from the objdumps, it is not a dependency of Electron for sure. But I don't know if there is some feature somewhere that will require it later at run time. All my testing and my PRs are based on testing in clean containers what are the actual real dependencies currently. I don't know fully why they are depencendies though. |
|
Fair enough. I might keep |
|
Adding @Daeraxa as a potential reviewer just in case this helps them get back into the swing of things :) |
Daeraxa
left a comment
There was a problem hiding this comment.
Very little to critique really, I've made a couple of comments on a few areas im not sure about, otherwise seems a really good update.
| By default, running `yarn dist` will attempt to create `AppImage` (for most Linux distributions), `deb` (for Debian or Ubuntu based distributions) and `rpm` (for Red Hat or Fedora based distributions) binaries but you can select the actual target you want to build by appending the above targets to the command. e.g.: | ||
| Running `yarn dist` will attempt to create all four variants: `tar.gz` (suitable for most Linux distributions), `AppImage` (suitable for most Linux distributions and more self-contained than the `tar.gz`), `deb` (for Debian or Ubuntu based distributions), and `rpm` (for Red Hat or Fedora based distributions) binaries. | ||
|
|
||
| <!-- TODO: This is not currently true, but it is a good idea! Uncomment when we add this in. |
There was a problem hiding this comment.
Did this change? I'm sure this used to work as I was building a lot of RPMs and Appimages trying to solve an issue and it definitely only produced the specified targets at the time.
There was a problem hiding this comment.
I don't remember if I checked it or not, but there did not seem to be any accounting for such arguments in our electron-builder.js script. I opened a PR to add it back in explicitly.
There was a problem hiding this comment.
On macOS, at least, yarn dist dmg and yarn dist zip do not work; the script tries to build both targets no matter what.
There was a problem hiding this comment.
Fair enough, I just remember using this because it massively cut down on the time to produce binaries to test (it was stuff to do with the appimage apprun and the rpm install issues)
There was a problem hiding this comment.
Yeah, I guess it must've been removed at some point.
There was a problem hiding this comment.
Sems the CLI arguments for this are a little different than our docs presumed:
[ . . . snipped . . . ]
Building:
--mac, -m, -o, --macos Build for macOS, accepts target list (see
https://www.electron.build/mac) [array]
--linux, -l Build for Linux, accepts target list (see
https://www.electron.build/linux) [array]
--win, -w, --windows Build for Windows, accepts target list (see
https://www.electron.build/win) [array]
--x64 Build for x64 [boolean]
--ia32 Build for ia32 [boolean]
--armv7l Build for armv7l [boolean]
--arm64 Build for arm64 [boolean]
--universal Build for universal (mac only) [boolean]
--dir Build unpacked dir. Useful to test. [boolean]
[ . . . snipped . . . ]
|
@Daeraxa, I addressed the two actionable items. If those look good, please leave an approval and we can get this landed. Thanks for the review! |
|
(Actually, seems like I don't need an explicit approval to merge. But I'll leave this open for a half-hour or so just in case you want to weigh in!) |
|
Note that this PR to update the docs started in January after I had in December done pulsar-edit/pulsar#1398 and pulsar-edit/pulsar#1395 where I document in detail all the dependencies and why they are needed and at what versions, along with automation that actually runs and installs those versions and "proves" that the inline documentation there is correct. I hope that when you finalize this PR you don't forget that and hopefully use some of that information to have it recored in the docs. Thanks! |
I realize the package lists don't match up exactly for various reasons, but I thought we'd ironed out the reasons why. Is there some aspect of your research that you think isn't represented in these docs? |
confused-Techie
left a comment
There was a problem hiding this comment.
Simple approval, added one change we should be making to the Visual Studio instructions. Other than that totally approve of what we've got going on here!
| Install all of the components described on the [Installing dependencies for some community packages](/getting-started/dependencies-for-some-community-packages/#installing-visual-studio-tools) page. | ||
|
|
||
| In particular, you must have either Visual Studio or Visual Studio Tools (_not_ Visual Studio Code) and the “Desktop development with C++” component must be enabled. | ||
| In particular, you must have either Visual Studio or Visual Studio Tools (Visual Studio Code isn’t the same thing!) and the “Desktop development with C++” component _must_ be enabled. |
There was a problem hiding this comment.
We should mention that we also need the Win10 SDK as well as Desktop development with C++ here.
|
OK, gonna take the liberty of landing this now that I've addressed the feedback. Thanks for the reviews! |
…to agree with the status quo.
This addresses pulsar#1394 (to some extent) and adds some commented-out paragraphs that we can uncomment if/when pulsar#1397 lands.
This was all verified on both macOS and Linux (Fedora in a VM), but I'm more than happy for someone to double-check my work for Windows.